BX.UI.StepProcessing Types
BX.UI.StepProcessing.ProcessOptions
Поля структуры для инициализации процесса Process.
id: string – Уникальный идентификатор процесса в контексте страницы.
controller: string – Дефолтый контроллер процесса.
component: string – Контроллер компонента.
componentMode?: 'class'|'ajax' – Тип обработчика запросов в контроллере компонента.
method?: 'GET' | 'POST' – HTTP-метод AJAX-запросов.
params?: {} – Параметры, добавляемые в запрос на всех хитах к контроллеру.
optionsFields?: Array – Поля, выводимые на стартовом диалоге. OptionsField.
queue?: Array – Очередь заданий. QueueAction.
handlers?: {} – js-функции коллбек - StateChanged. При смене состояния процесса на стороне клиента:
- -
RequestStart– Коллбек вызывается непоследственно перед ajax-вызовом. - -
RequestStop– Коллбек вызывается при остановке процесса пользователем. При его установке отменяется вызов действия контроллераcancel. - -
RequestFinalize– Коллбек вызывается при выполнении задания с параметром finalize. При его установке отменяется вызов действия контроллераfinalize.
messages: {} – Фразы, выводимые на диалоге и кнопках:
- -
DialogTitle– Заголовок диалога. - -
DialogSummary– Аннотация на стартовом диалоге. - -
DialogStartButton– Кнопка старт. - -
DialogStopButton– Кнопка стоп. - -
DialogCloseButton– Кнопка закрыть. - -
RequestCanceling– Аннотация, выводимая при прерывании процесса. По умолчанию: «Прерываю...». - -
RequestCanceled– Аннотация, выводимая если процесс прерван. - -
RequestCompleted– Текст на финальном диалоге успешного завершения. - -
DialogExportDownloadButton– Кнопка для скачивания файла. - -
DialogExportClearButton– Кнопка удаления файла и сохраненных параметров. - -
AuthError– Сообщение об ошибке в запросе, при потере авторизации на ajax-хите. - -
RequestError– Сообщение о сетевой ошибке на ajax-хите. - -
WaitingResponse– Дефолтное сообщение ожидания ответа на первом шаге, выводимое при отсутствии аннотации первого задания.
Для всех сообщений уже имеются фразы по умолчанию и переводы. Переопределение фразы необходимо для кастомизации под конкретную задачу.
showButtons?: {} – Какие кнопки вывести на диалог:
start?: boolean– Стартует процесс.stop?: boolean– Прерывает текущий запрос и вызывает коллбекRequestStopили действие контроллераcancel, контролер должен его поддерживать.close?: boolean– Закрывает диалог процесса.
dialogMinWidth?: number – Минимальная ширина диалога.
dialogMaxWidth?: number – Максимальная ширина диалога.
BX.UI.StepProcessing.OptionsField
Поля структуры для инициализации полей ввода на диалоге.
name: string – Уникальное имя поля в рамках диалога.
type: 'checkbox' | 'select' | 'radio' | 'text' | 'file' – Тип поля.
title: string – Наименование поля.
value?: any – Значение по умолчанию.
obligatory?: boolean – Обязателен для заполнения.
multiple?: boolean – Селектор множественного выбора. Только для полей 'checkbox' | 'select'.
emptyMessage?: string – Текст ошибки, выводимой если не заполнено.
textSize?: number – Размеры текстовой области.
textLine?: number – Размеры текстовой области.
list?: {[val: string]: string} – Список значений для полей типа 'checkbox' | 'select'.
size?: number – Число видимых элементов для поля типа 'select'.
BX.UI.StepProcessing.QueueAction
Поля структуры для инициализации заданий процесса.
action: string – Действие контроллера.
title: string – Аннотация диалога на шаге.
progressBarTitle: string – Краткая аннотация для прогресс-бара.
method?: 'GET' | 'POST' – HTTP-метод AJAX-запроса задания.
controller?: string – Свой отдельный контроллер на шаге задания.
params?: {[name: string]: any} – Дополнительные параметры, добавляемые в запрос.
finalize?: boolean – Финальный шаг не отображается пользователю. Контроллер должен реализовать действие с именем finalize, предназначенное для освобождения ресурсов и очистки временных данных. Либо должен быть установлен коллбек RequestFinalize.
BX.UI.StepProcessing.ProcessResult
Поля структуры ответа контроллера. Ответ ajax-контроллера должен содержать обязательные поля:
STATUS?: string – Статус выполнения текущего задания. Принимаются только два значения:
PROGRESS– задание еще не окончено, необходимо повторить запрос с теми же параметрами,COMPLETED– задание выполнено, можно переходить к следующему.
SUMMARY?: string – Текстовая аннотация к результату выполненного действия.
PROCESSED_ITEMS?: number – Число уже обработанных элементов.
TOTAL_ITEMS?: number – Общий объём элементов в обработке. Целое число.
Необязательные поля:
WARNING?: string – Текст предупреждения об нефатальных для процесса проблемах, который будет выведен на диалог.
FINALIZE?: boolean – Досрочно завершить текущий процесс.
NEXT_CONTROLLER?: string – В следующем запросе принудительно переключиться на этот контроллер.
NEXT_ACTION?: string – В следующем запросе выполнить это действие.
DOWNLOAD_LINK?: string – Ссылка на скачивание сформированного файла.
FILE_NAME?: string – Наименование файла для атрибута ссылки вида <a href="${downloadLink}" download="${fileName}">.
DOWNLOAD_LINK_NAME?: string – Текст, выводимый на кнопку для скачивания файла.
CLEAR_LINK_NAME?: string – Текст, выводимый на кнопку для удаления файла.
А также любые дополнительные поля для обработки в обработчиках событий и функции коллбек StateChanged.
BX.UI.StepProcessing.ProcessState
Состояние процесса принимает следующие значения:
intermediate: 'INTERMEDIATE' – Ожидание действия пользователя.
running: 'RUNNING' – Процесс в работе.
completed: 'COMPLETED' – Выполнено.
stopped: 'STOPPED' – Процесс прерван.
error: 'ERROR' – Процесс остановлен из-за ошибки.
canceling: 'CANCELING – Процесс прерывается.
BX.UI.StepProcessing.ProcessCallback
В ходе цикла обработки очереди заданий вызываются следующие функции коллбеки непосредственно в контексте экземпляра процесса::
StateChanged?: function(ProcessState, ProcessResult) – При смене состояния процесса на стороне клиента.
StepCompleted?: function(ProcessState, ProcessResult) – Коллбек вызывается, если шаг очереди закончен.
RequestStart?: function(FormData) – Коллбек вызывается непоследственно перед AJAX-вызовом.
RequestStop?: function(params) – Коллбек вызывается при остановке процесса пользователем. При его установке будет отменен вызов действия контроллера cancel. Иначе контроллер должен реализовать действие с именем cancel.
RequestFinalize?: function(params) – Коллбек вызывается при выполнении задания с параметром finalize. При его установке будет отменен вызов действия контроллера finalize, предназначенного для освобождения ресурсов и очистки временных данныхю. Контроллер должен реализовать такое действие.