Как сделать override JS компонента

Для того что бы забацать override JS компонента надо сделать несколько простых шагов

В кастоме сделать такую структуру папок

libs/B4

в папке B4 создайте две папки autostart и overrides
в overrides добавляем файл с именем [*имя перегружаемого компонента*]Override.js
например MyGridOverride.js

Внутри самого файла пишем такой код:

Ext.define('B4.overrides.MyGridOverride', {
    override: 'B4.view.MyGrid',  

    initComponent: function () {  
        this.callParent(arguments);
    }
});

В папке autostart добавляем файл Overrides.js, и внутри пишем:

Ext.define('B4.autostart.Overrides', {
    requires: [
        'B4.overrides.MyGridOverride'
    ]
});

Далее в файле ResourceManifest.Manual.cs
в методе AdditionalInit добавляем следующие строки:

AddResource(container, "libs/B4/overrides/QueryStatsRendererOverride.js");
RegisterResource(container, "libs/B4/autostart/Overrides.js");

Запускаем проект.
Мы великолепны.

6 Лайков

Огонь!
Но для чистоты рекомендую располагать оверрайды в каталоге overrides с учетом полного имени компонента, в данном случае это libs/B4/overrides/view/MyGrid.js.
Таким образом все оверрайды будут в одном каталоге и их проще будет искать.

Также для простоты можно положить в свой проект ResourceManifest.tt чтобы сгенерировать манифест ресурсов автоматически.

2 Лайков