В этом разделе приводится описание принципов обработки действий пользователя, совершаемых им на клиенте.
Бэкенду необходимо обрабатывать разные типы пользовательских действий с элементами экрана, проверять выполнения условий, определять следующий экран для передачи на клиент.
Ранее создавались переходы только на определенные пресеты следующей ноды, при этом эти переходы создавались для ноды в целом.
Необходимо уложить весь процесс на канвас, проставить для нод все их возможные связи с другими нодами. Можно заранее собрать условия, если их будет неудобно собирать на уровне бд.
Нужно сохраниить этот процесс, чтобы он смог распарситься для БД.
Создание локальных изменений actions
Действия на уровне БД: Добавляются новые actions (табл. action_process) для новых переходов внутри нужной ноды и из неё (переход добавляется с event = click и action = goto, переход типа экран-экран, где id_node - id элемента, вызывающего переход).
Важно, что данный переход должен иметь id_action ≠ 1, иначе он удалится при обновлении процесса.
Для определения id нужных кнопок быстрее всего воспользоваться JSON, приходящим в админку.
Важно: нельзя создавать переход на какой-то экран другой ноды, если на него не установлена связь на канвасе. Это может позволить не пересобирать процесс, когда появится его полноценное редактирование.
Создание глобальных изменений actions