Кнопка
Кнопки предназначены для осуществления определенных действий пользователем системы, будь то печать, выход на вложенность, отправка данных или запуск скрипта.
Базовая структура кнопки представляет из себя следующий объект:
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, содержащим ссылку для перехода.
script - кнопка для выполнения скрипта (отправки определенного запроса на сервер). Свойство settings расширено свойствами object, command и data, которые выступают основой для формирования запроса. Так же присутствует вариативное свойство href, использующееся при необходимости перехода по ссылке после выполнения скрипта.
submit - кнопка для запуска процесса отправки формы. Свойство settings расширено вариативным свойством href. Данное свойство используется при необходимости перехода по ссылке после отправки формы.
download - кнопка осуществляет скачивание файла по ссылке, передаваемой в свойстве href, которое является расширением объекта settings.
modal - кнопка для вызова вложенности в виде модального окна. Объект settings расширен следующими свойствами:
page - обязательное свойство, представляющее из себя путь. Участвует в запросе на получение страницы модального окна.
context - вариативное свойство, представляющее из себя объект, участвующий, как дополнительные данные при отправке запроса на получение страницы модального окна.
insert_to_field - вариативное свойство, содержащее артикул поля внешней формы, в который будет подставлено значение, полученное в результате отправки формы модального окна.
refresh_after_submit - свойство, предоставляющее возможность обновить внешний модуль после отправки формы.
close_after_submit - даёт возможность настроить автоматическое закрытие модального окна после отправки формы.
close_previous_modal - свойство для настройки закрытия внешнего модального окна после отправки данных из формы вложенного модального окна.
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.