Добавление действия в раздел
Glossary Item Box
Общие сведения
В bpm’online реализована возможность настройки списка действий из стандартного меню [Действия] для выбранных записей реестра раздела.
Список действий раздела представляет собой экземпляр класса Terrasoft.BaseViewModelCollection. Каждый элемент списка действий – это модель представления.
Настройка действия выполняется в конфигурационном объекте, в котором можно как явно задавать свойства модели представления действий, так и использовать базовый механизм привязки.
Базовое наполнение меню [Действия] страницы раздела реализовано в базовом классе раздела BaseSectionV2. Список действий раздела возвращает защищенный виртуальный метод getSectionActions() из схемы BaseSectionV2.
Добавление отдельного действия в коллекцию выполняется вызовом метода addItem(). В качестве параметра ему передается callback-метод getButtonMenuItem(). Метод создает экземпляр модели представления действия по конфигурационному объекту, который передан ему в качестве параметра.
Базовая реализация добавления действия:
/** * Возвращает коллекцию действий раздела в режиме отображения реестра. * @protected * @virtual * @return {Terrasoft.BaseViewModelCollection} Коллекция действий раздела. */ getSectionActions: function() { // Коллекция действий. Экземпляр Terrasoft.BaseViewModelCollection. var actionMenuItems = this.Ext.create("Terrasoft.BaseViewModelCollection"); // Добавления действия в коллекцию. В качестве callback- метода передается метод, // инстанцирующий экземпляр модели действия пр переданному конфигурационному // объекту. actionMenuItems.addItem( this.getButtonMenuItem({ // Конфигурационный объект настройки действия. ... }) ); return actionMenuItems; }
Свойства конфигурационного объекта действия раздела, который передается параметром в метод getButtonMenuItem() представлены в таблице.
Табл. 1. — Свойства конфигурационного объекта
Свойство | Описание |
---|---|
Type |
Тип элемента меню [Действия]. С помощью этого свойства можно добавить в меню действия горизонтальную линию для отделения блоков меню. Для этого в качестве значения свойства нужно указать строку Terrasoft.MenuSeparator. Если значение свойства не указано, то по умолчанию будет добавлен пункт меню. |
Caption | Заголовок пункта меню [Действия]. Для задания заголовков рекомендуется использовать локализуемые строки схемы. |
Click | В этом свойстве выполняется привязка метода-обработчика действия по имени метода. |
Enabled | Логическое свойство, регулирующее доступность пункта меню. |
Visible | Логическое свойство, которое регулирует видимость пункта меню. |
Общий алгоритм добавления пользовательского действия в раздел
- Создать замещающую схему существующего раздела или схему нового раздела.
- Переопределить метод getSectionActions().
- Добавить действие в коллекцию действий методом addItem().
- В callback-метод getButtonMenuItem() передать конфигурационный объект с настройками добавляемого действия.
ВАЖНО
При замещении базовых разделов в методе getSectionActions() замещающего модуля, сначала нужно вызвать родительскую реализацию этого метода для инициализации действий родительского раздела. Для этого необходимо выполнить метод this.callParent(arguments), который возвратит коллекцию действий базового раздела.
Примеры реализации добавления действия
- Как добавить действие раздела: обработка выбора единичной записи
- Как добавить действие раздела: обработка выбора нескольких записей
- Обработка выбора нескольких записей. Примеры
Смотрите также: