Документация для разработчиков
Темная тема

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


© «Битрикс», 2001-2024, «1С-Битрикс», 2024