В этом разделе приводится описание принципов обработки действий пользователя, совершаемых им на клиенте.

Бэкенду необходимо обрабатывать разные типы пользовательских действий с элементами экрана, проверять выполнения условий, определять следующий экран для передачи на клиент.

Привязка событий [бэкенд]

Привязка событий [клиент]

Привязка событий [админка]

Общее описание

Как работало ранее

Ранее создавались переходы только на определенные пресеты следующей ноды, при этом эти переходы создавались для ноды в целом.

Как будет работать далее

До готовности бэка и админки для редактирования

Необходимо уложить весь процесс на канвас, проставить для нод все их возможные связи с другими нодами. Можно заранее собрать условия, если их будет неудобно собирать на уровне бд.

Нужно сохраниить этот процесс, чтобы он смог распарситься для БД.

Создание локальных изменений actions

Действия на уровне БД: Добавляются новые actions (табл. action_process) для новых переходов внутри нужной ноды и из неё (переход добавляется с event = click и action = goto, переход типа экран-экран, где id_node - id элемента, вызывающего переход).

Важно, что данный переход должен иметь id_action ≠ 1, иначе он удалится при обновлении процесса.

Для определения id нужных кнопок быстрее всего воспользоваться JSON, приходящим в админку.

Важно: нельзя создавать переход на какой-то экран другой ноды, если на него не установлена связь на канвасе. Это может позволить не пересобирать процесс, когда появится его полноценное редактирование.

Создание глобальных изменений actions