Публикация

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

Для того чтобы убрать кнопку "Запустить процесс", необходимо перегрузить класс 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)? Сделал все как написано у вас но к сожалению не работает.

Заместить LeftPanelTopMenuModuleViewModel нельзя

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