EventDefinition
Определение события (EventDefinition) определяет логику обработки событий в потоке и используется для реакции на конкретные триггеры событий. События — важный механизм в движке потоков для запуска выполнения потока.
Определение типа
EventDefinition фактически является алиасом для ActionDefinition, поэтому имеет те же свойства и методы.
Способ регистрации
Описание свойств
name
Тип: string
Обязательно: Да
Описание: Уникальный идентификатор события.
Используется для ссылки на событие в flow через свойство on.
Пример:
title
Тип: string
Обязательно: Нет
Описание: Отображаемый заголовок события.
Используется для отображения в UI и отладки.
Пример:
handler
Тип: (ctx: TCtx, params: any) => Promise<any> | any
Обязательно: Да
Описание: Функция-обработчик события.
Базовая логика события, которая принимает контекст и параметры и возвращает результат обработки.
Пример:
defaultParams
Тип: Record<string, any> | ((ctx: TCtx) => Record<string, any> | Promise<Record<string, any>>)
Обязательно: Нет
Описание: Параметры события по умолчанию.
Заполняет параметры значениями по умолчанию при срабатывании события.
Пример:
uiSchema
Тип: Record<string, ISchema> | ((ctx: TCtx) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
Обязательно: Нет
Описание: Схема UI-конфигурации события.
Определяет способ отображения события в UI и конфигурацию его формы.
Пример:
beforeParamsSave
Тип: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
Обязательно: Нет
Описание: Хук-функция, выполняемая перед сохранением параметров.
Выполняется перед сохранением параметров события; может использоваться для валидации или преобразования параметров.
Пример:
afterParamsSave
Тип: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
Обязательно: Нет
Описание: Хук-функция, выполняемая после сохранения параметров.
Выполняется после сохранения параметров события; может использоваться для запуска других действий.
Пример:
uiMode
Тип: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
Обязательно: Нет
Описание: Режим отображения UI для события.
Управляет тем, как событие отображается в UI.
Поддерживаемые режимы:
'dialog'- режим диалога'drawer'- режим выдвижной панели'embed'- режим встраивания- либо пользовательский объект конфигурации
Пример:
Встроенные типы событий
В движке потоков встроены следующие распространённые типы событий:
'click'- событие клика'submit'- событие отправки'reset'- событи е сброса'remove'- событие удаления'openView'- событие открытия представления'dropdownOpen'- событие открытия выпадающего списка'popupScroll'- событие прокрутки popup'search'- событие поиска'customRequest'- событие пользовательского запроса'collapseToggle'- событие переключения collapse

