Как перезаписать или расширить конфиг грида ExtJS

Всем привет! Вопрос к знатокам ExtJS.

Как расширить или перезаписать конфиг, а в идеале только один параметр?

Нужно в гриде с заказами выделять строку цветом. Для этого нужно добавить условие в getRowClass:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/misc/default.grid.js#L25-L40

Который наследуется в miniShop2.grid.Orders:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/orders/orders.grid.js
Делаю примерно так в плагине на msOnManagerCustomCssJs:

$modx->controller->addHtml("
            <link rel='stylesheet' type='text/css' href='/assets/components/minishop2/css/mgr/custom.css'>
            <script type='text/javascript'>
                Ext.override(miniShop2.grid.Orders, {
                    ...
                });
            </script>");
Игорь Терентьев
29 марта 2019, 19:25
modx.pro
1 051
+1

Комментарии: 2

Павел Гвоздь
31 марта 2019, 09:31
0
Я в msPromoCode делаю так:
msPromoCode.grid.ms2Orders = function (config) {
    Ext.applyIf(config, {
        url: msPromoCode.config['connector_url'],
        baseParams: {
            action: 'mgr/orders/getlist',
            sort: 'id',
            dir: 'desc',
        },
    });
    msPromoCode.grid.ms2Orders.superclass.constructor.call(this, config);
};
Ext.extend(msPromoCode.grid.ms2Orders, Ext.ComponentMgr.types['minishop2-grid-orders'], {});
Ext.reg('minishop2-grid-orders', msPromoCode.grid.ms2Orders);

Естественно вместо msPromoCode.grid.ms2Orders пропиши что-то своё, чтоб не конфликтовало. А вместо Ext.applyIf(...) можно попробовать что-то вроде:
config['viewConfig']['getRowClass'] = ...
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2