Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Добавление действия в раздел

Glossary Item Box

Общие сведения

В Creatio реализована возможность настройки списка действий из стандартного меню [Действия] для выбранных записей реестра раздела.

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

Общий алгоритм добавления пользовательского действия в раздел

  1. Создать замещающую схему существующего раздела или схему нового раздела.
  2. Переопределить метод getSectionActions().
  3. Добавить действие в коллекцию действий методом addItem().
  4. В callback-метод getButtonMenuItem() передать конфигурационный объект с настройками добавляемого действия.

При замещении базовых разделов в методе getSectionActions() замещающего модуля, сначала нужно вызвать родительскую реализацию этого метода для инициализации действий родительского раздела. Для этого необходимо выполнить метод this.callParent(arguments), который возвратит коллекцию действий базового раздела.

Смотрите также:

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?