Добавление кнопки
Glossary Item Box
Общие сведения
Для того, чтобы добавить на страницу редактирования пользовательскую кнопку в модель представления, необходимо изменить два свойства:
- массив конфигурационных объектов diff. В него необходимо добавить конфигурационный объект для настройки визуального расположения элемента управления на странице редактирования.
- коллекцию methods. В нее необходимо добавить реализацию метода-обработчика, который будет вызываться при нажатии на кнопку, а также другие вспомогательные методы, необходимые для функционирования элемента управления. Это могут быть методы, которые будут регулировать видимость или доступность элемента управления в зависимости от условий.
ВАЖНО Для отображения кнопки на странице в совмещенном режиме редактирования записи (с открытым вертикальным реестром) необходимо внести изменения как в схему модели представления раздела, так и в схему модели представления страницы редактирования. Чтобы кнопка отображалась на странице в обычном режиме редактирования записи (режиме добавления данных), изменения вносятся только в схему модели представления страницы. |
К СВЕДЕНИЮ В обычный режим отображения страницы редактирования можно перейти не только при создании записи, но и если обновить страницу, находящуюся в совмещенном режиме отображения (с вертикальным реестром). |
DOM-модель стандартных кнопок страницы
Для расположения стандартных функциональных кнопок страниц редактирования bpm'online используется иерархическая структура html-контейнеров.
CombinedModeActionButtonsCardContainer — контейнер верхнего уровня в совмещенном режиме редактирования записи. Внутри него располагаются еще два контейнера:
- CombinedModeActionButtonsCardLeftContainer, в котором размещены стандартные кнопки [Закрыть], [Сохранить], [Отмена], [Действия] и [Теги];
- CombinedModeActionButtonsCardRightContainer, в котором расположены кнопки [Печать] и [Вид].
Аналогично, для страницы редактирования записи в обычном режиме контейнер верхнего уровня — ActionButtonsContainer. Внутри него располагаются еще два контейнера:
- Leftcontainer, в котором размещены стандартные кнопки [Закрыть], [Сохранить], [Отмена], [Действия] и [Теги];
- RightContainer, в котором расположены кнопки [Печать] и [Вид].
В зависимости от того, где именно нужно расположить кнопку, при настройке визуализации кнопки в массиве модификаций diff указывается соответствующий контейнер.
К СВЕДЕНИЮ Здесь используются мета-имена html-контейнеров. Эти имена указываются при настройке визуализации элемента управления в конфигурационном объекте массива diff. Фактические идентификаторы соответствующих html-элементов страницы формируются системой автоматически на основании таких мета-имен. |
Настройка свойств визуализации кнопки
Для того, чтобы настроить визуальное расположение пользовательской кнопки на странице редактирования, в массив diff модели представления необходимо добавить конфигурационный объект с такими свойствами:
Свойство | Описание |
---|---|
operation | Тип операции с элементом управления (insert, move, remove, merge, set). Задается строкой с названием соответствующей операции. Для добавления нового элемента управления указывается значение insert. |
parentName |
Мета-имя родительского элемента управления, в который помещается пользовательский элемент. Если это функциональная кнопка, то в качестве родительских контейнеров могут выступать LeftContainer и RightContainer. |
propertyName | Для пользовательского элемента управления указывается значение items. |
name | Мета-имя добавляемого элемента управления. |
values | Конфигурационный объект с настройками дополнительных свойств элемента управления. |
Настройка свойств объекта values:
Свойство | Описание |
---|---|
itemType |
Тип элемента. Задается значением перечисления Terrasoft.ViewItemType. Для кнопки используется значение BUTTON. |
caption |
Заголовок кнопки. Рекомендуется задавать значения заголовков через привязку к локализируемой строке схемы. |
click | Привязка метода-обработчика кнопки. |
layout | Объект настроек расположения элемента управления в сетке. |
enabled | Регулирует доступность (активность) кнопки. |
visible | Регулирует видимость кнопки. |
style | Стиль компонента. Свойство должно содержать значение перечисления Terrasoft.controls.ButtonEnums.style. |
Перечисление Terrasoft.controls.ButtonEnums.style содержит следующие значения:
Значение | Описание |
---|---|
Terrasoft.controls.ButtonEnums.style.DEFAULT | Стиль по умолчанию. |
Terrasoft.controls.ButtonEnums.style.GREEN | Цвет кнопки — зеленый. |
Terrasoft.controls.ButtonEnums.style.RED | Цвет кнопки — красный. |
Terrasoft.controls.ButtonEnums.style.BLUE | Цвет кнопки — синий. |
Terrasoft.controls.ButtonEnums.style.GREY | Кнопка прозрачная. Значение оставлено из предыдущих версий bpm'online. |
Terrasoft.controls.ButtonEnums.style.TRANSPARENT | Кнопка прозрачная. |
Подробнее о массиве diff можно узнать из статьи "Массив diff".
Примеры реализации добавления кнопки
- Как добавить кнопку на страницу редактирования в совмещенном режиме
- Как добавить кнопку в режиме добавления новой записи
- Добавление кнопки в раздел