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
, предназначенного для освобождения ресурсов и очистки временных данныхю. Контроллер должен реализовать такое действие.