Публикация

Как скрыть кнопку "Запустить процесс"

Для того чтобы убрать кнопку "Запустить процесс", необходимо перегрузить класс Terrasoft.LeftPanelTopMenuModuleViewModel, в котором описан метод getTopMenuConfig. В нем создается и возвращается массив, хранящий объекты, содержащие информацию об элементах в верхнем меню панели: Меню, Запустить процесс, Добавить и Свернуть панель разделов.

В перегруженном методе нового класса необходимо вызвать базовый метод модуля (callParent), возвращающий массив объектов. В этом массиве требуется удалить объект с идентификатором "menu-startprocess-button", а затем вернуть измененный массив.

Далее необходимо заместить схему, в которой будет указана зависимость от перегруженного класса. Схема должна отрабатывать до создания панели, чтобы отработал метод getTopMenuConfig. Для этого подходит схема BootstrapModulesV2. Замещаем эту схему в Custom по аналогии с BaseSectionV2 в примере, а в зависимости указываем имя переопределенного класса.

После сохранения и входа на сайт изменения будут видны.

 

Пример перегрузки:

 

Override Ext.js class

Example override class SummaryModule

SummaryModuleV2.js 

define("UsrSummaryModuleV2", ["SummaryModuleV2"],

    function() {

        Ext.define("Terrasoft.SummaryModuleOverrided", {

            override: "Terrasoft.SummaryModule",

 

           /*

            * @override

            */

            getESQ: function() {

                var esq = this.callParent(arguments);

                esq.queryKind = Terrasoft.QueryKind.LIMITED;

                return esq;

            }

        });

    }

);

On the page, which use base class you need to add dependency to overridden class:

BaseSectionV2 

define("BaseSectionV2", ["UsrSummaryModuleV2"], function() {

    return {

        methods: {},

        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

        diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/

    };

});

Нравится

Поделиться

2 комментария

Добрый день , применим ли данный способ замещения для миксина(CheckModuleDestroyMixin)? Сделал все как написано у вас но к сожалению не работает.

Так где же мы "В этом массиве требуется удалить объект с идентификатором "menu-startprocess-button", а затем вернуть измененный массив."?

Показать все комментарии