Миксин PortalMessagePublisherExtensions. Портальные сообщения в SectionActionsDashboard
Glossary Item Box
Общие сведения
Миксин — это класс-примесь, предназначенный для расширения функциональности других классов. Это отдельно созданные классы с дополнительной функциональностью. Более детально с миксинами можно ознакомиться в статье "Миксины. Свойство mixins"
Миксин PortalMessagePublisherExtensions предназначен для расширения схемы SectionActionsDashboard и ее наследников. Он позволяет расширить конфигурацию вкладок SectionActionsDashboard вкладкой портальных сообщений PortalMessageTab и добавить соответствующий канал сообщений Portal. Миксин реализован в пакете PortalMessagePublisher и доступен в продукте ServiceEnterprise, а также в бандлах, в которые входит этот продукт.
Методы
Название | Описание |
---|---|
extendTabsConfig(config) : Object |
Расширяет конфигурацию вкладок SectionActionsDashboard вкладкой портальных сообщений PortalMessageTab. Возвращает дополненный объект (Object) конфигурации вкладок SectionActionsDashboard. Параметр config (Object) — объект конфигурации вкладок SectionActionsDashboard. |
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*/ }; });