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

Миксин PortalMessagePublisherExtensions. Портальные сообщения в SectionActionDashboard

Glossary Item Box

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

Миксин — это класс-примесь, предназначенный для расширения функциональности других классов. Это отдельно созданные классы с дополнительной функциональностью. Более детально с миксинами можно ознакомиться в статье "Миксины. Свойство mixins"

Миксин PortalMessagePublisherExtensions предназначен для расширения схемы SectionActionDashboard и ее наследников. Он позволяет расширить конфигурацию вкладок SectionActionDashboard вкладкой портальных сообщений PortalMessageTab и добавить соответствующий канал сообщений Portal. Миксин реализован в пакете PortalMessagePublisher и доступен в продукте ServiceEnterprise, а также в бандлах, в которые входит этот продукт.

Методы

Название Описание
extendTabsConfig(config) : Object

Расширяет конфигурацию вкладок SectionActionDashboard вкладкой портальных сообщений PortalMessageTab.

Возвращает дополненный объект (Object) конфигурации вкладок SectionActionDashboard.

Параметр config (Object) — объект конфигурации вкладок SectionActionDashboard.

extendSectionPublishers(publishers) : Array

Добавляет портальный канал (Portal) в коллекцию издателей сообщений.

Возвращает дополненную коллекцию издателей сообщений (Array).

Параметр publishers (Array) — коллекция издателей сообщений.

Пример использования

define("CaseSectionActionsDashboard", ["PortalMessagePublisherExtensions"], function() {
    return {
        mixins: {
            /**
             * @class PortalMessagePublisherExtensions extends tabs and publishers configs.
             */
            PortalMessagePublisherExtensions: "Terrasoft.PortalMessagePublisherExtensions"
        },
        methods: {
            /**
             * @inheritdoc Terrasoft.SectionActionsDashboard#getExtendedConfig
             * @overridden
             */
            getExtendedConfig: function() {
                // Получение объекта конфигурации вкладок из родительского метода.
                var config = this.callParent(arguments);
                // Вызов метода миксина, добавление конфигурации портальной вкладки.
                this.mixins.PortalMessagePublisherExtensions.extendTabsConfig.call(this, config)
                // Возвращение расширенного объекта конфигурации.
                return config;
            },

            /**
             * @inheritdoc Terrasoft.SectionActionsDashboard#getSectionPublishers
             * @overridden
             */
            getSectionPublishers: function() {
                // Получение коллекции издателей сообщений из родительского метода.
                var publishers = this.callParent(arguments);
                // Вызов метода миксина, добавление портального канала.
                this.mixins.PortalMessagePublisherExtensions.extendSectionPublishers.call(this, publishers);
                // Возвращение расширенной коллекции издателей сообщений.
                return publishers;
            }
    },
        diff: /**SCHEMA_DIFF*/[
            {
                "operation": "insert",
                "name": "PortalMessageTab",
                "parentName": "Tabs",
                "propertyName": "tabs",
                "values": {
                    "items": []
                }
            },
            {
                "operation": "insert",
                "name": "PortalMessageTabContainer",
                "parentName": "PortalMessageTab",
                "propertyName": "items",
                "values": {
                    "itemType": this.Terrasoft.ViewItemType.CONTAINER,
                    "classes": {
                        "wrapClassName": ["portal-message-content"]
                    },
                    "items": []
                }
            },
            {
                "operation": "insert",
                "name": "PortalMessageModule",
                "parentName": "PortalMessageTab",
                "propertyName": "items",
                "values": {
                    "classes": {
                        "wrapClassName": ["portal-message-module", "message-module"]
                    },
                    "itemType": this.Terrasoft.ViewItemType.MODULE,
                    "moduleName": "PortalMessagePublisherModule",
                    "afterrender": {
                        "bindTo": "onMessageModuleRendered"
                    },
                    "afterrerender": {
                        "bindTo": "onMessageModuleRendered"
                    }
                }
            }
        ]/**SCHEMA_DIFF*/
    };
});

© Terrasoft 2002-2019.

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

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