OXBOX Help

Кнопка

Кнопки предназначены для осуществления определенных действий пользователем системы, будь то печать, выход на вложенность, отправка данных или запуск скрипта.

Базовая структура кнопки представляет из себя следующий объект:

{ type: string, settings: { title: string, background: "dark" | "primary" | "primary-light" | ... icon: string, attention_modal?: boolean }, disabled?: boolean }
  • type - типы кнопок. Подробнее об этом ниже.

    • settings - расширяемый объект с базовыми свойствами, где:

    • title - заголовок кнопки.

    • background - цвет заливки кнопки. Допустимые значения: dark, primary, primary-light, secondary, success, danger, warning, info, light, gray.

    • icon - название кнопки из хранилища кнопок. Хранилище располагается по пути /media/crm/icons. Передавать название необходимо без учёта расширения файла.

    • attention_modal - вариативное свойство для всех типов кнопок, за исключением modal, drawer, print. При нажатии на кнопку вызывается модальное окно подтверждения действия.

  • disabled - вариативное свойство для отключения возможности взаимодействия с кнопкой.

В системе используются кнопки следующих типов:

  • href - кнопка для перехода по ссылке. Базовое свойство settings расширено дополнительным свойством page, содержащим ссылку для перехода.

{ settings: { page: string, ... }, ... }
  • script - кнопка для выполнения скрипта (отправки определенного запроса на сервер). Свойство settings расширено свойствами object, command и data, которые выступают основой для формирования запроса. Так же присутствует вариативное свойство href, использующееся при необходимости перехода по ссылке после выполнения скрипта.

{ settings: { object: string, command: string, data: {...}, href?: string }, ... }
  • submit - кнопка для запуска процесса отправки формы. Свойство settings расширено вариативным свойством href. Данное свойство используется при необходимости перехода по ссылке после отправки формы.

{ settings: { href?: string }, ... }
  • download - кнопка осуществляет скачивание файла по ссылке, передаваемой в свойстве href, которое является расширением объекта settings.

{ settings: { href: string }, ... }
  • modal - кнопка для вызова вложенности в виде модального окна. Объект settings расширен следующими свойствами:

    • page - обязательное свойство, представляющее из себя путь. Участвует в запросе на получение страницы модального окна.

    • context - вариативное свойство, представляющее из себя объект, участвующий, как дополнительные данные при отправке запроса на получение страницы модального окна.

    • insert_to_field - вариативное свойство, содержащее артикул поля внешней формы, в который будет подставлено значение, полученное в результате отправки формы модального окна.

    • refresh_after_submit - свойство, предоставляющее возможность обновить внешний модуль после отправки формы.

    • close_after_submit - даёт возможность настроить автоматическое закрытие модального окна после отправки формы.

    • close_previous_modal - свойство для настройки закрытия внешнего модального окна после отправки данных из формы вложенного модального окна.

    • modal_size - размер модального окна. Допустимые значения: sm, lg, xl.

{ settings: { page: string, context?: {...}, insert_to_field?: string, refresh_after_submit?: boolean, close_after_submit?: boolean close_previous_modal?: boolean, modal_size?: "sm" | "lg" | "xl" }, ... }
  • print - кнопка для вызова печати документа. Предоставляется возможность привязки документа, либо вызова модального окна, позволяющего выбрать документ из списка. Объект settings расширен следующими свойствами:

    • data:

      • document_article - вариативное свойство, определяющее артикул привязанного документа.

      • scheme_name - свойство используется при запросе, выполняющемся в момент автозаполнения переменных документа.

      • row_id - аналогично scheme_name, свойство является частью запроса на получение значений переменных документа в контексте печати.

      • is_edit - предоставлять ли возможность редактировать привязанный документ перед печатью.

      • script - вариативное свойство для предоставления данных, используемых, как основу отправки запроса после печати. Свойство представлено в виде объекта с свойствами object, command, properties. Используется, как правило, для сохранения напечатанного документа.

    • context - вариативное свойство, представляющее из себя объект, участвующий, как дополнительные данные при отправке запроса на получение списка документов.

    • after_submit - вариативное свойство для имитации нажатия после отправки данных из внешней формы.

    • visible - предоставляет возможность скрыть кнопку. Использовалось в комбинации с after_submit.

{ settings: { data: { document_article?: string, scheme_name: string, row_id: string | number, is_edit: boolean, script?: { object: string, command: string, properties: {...} } } context?: {...}, afterSubmit?: boolean, visible?: boolean }, ... }
15 мая 2025