Sencha Ext JS Architect - как добавить плагин

У меня есть базовая сетка с панелью инструментов, но я хочу использовать плагин для панели инструментов. Я могу заставить код работать нормально, когда пишу его вручную, но я хочу иметь возможность использовать Architect 2. Вот фрагмент...

{
    xtype: 'gridpanel',
    title: 'My Grid Panel',
    columns: [
        {
            xtype: 'gridcolumn',
            dataIndex: 'string',
            text: 'String'
        },
        {
            xtype: 'numbercolumn',
            dataIndex: 'number',
            text: 'Number'
        }
    ],
    dockedItems: [
        {
            xtype: 'pagingtoolbar',
            dock: 'bottom',
            width: 360,
            displayInfo: true,
            plugins: new Ext.ux.ProgressBarPager()
        }
    ]
}

plugins: new Ext.ux.ProgressBarPager() это строка, которую я не могу добавить с помощью Architect 2. Я не могу найти свойство плагинов нигде на панели конфигурации. Любая идея о том, как добавить плагин?

2 ответа

Я думаю, что вы можете сделать это переопределить pagingtoolbar и сделать что-то вроде этого:

Ext.define('MyApp.view.override.ProgressBarPager.PagingToolbar', {
requires: 'MyApp.view.ProgressBarPager.PagingToolbar'
}, function() {
    Ext.override(MyApp.view.ProgressBarPager.PagingToolbar, {
        initComponent: function () {
            this.plugins = [new Ext.ux.ProgressBarPager()];
            this.callParent(arguments);
        }
    }); 
}); 

Я знаю, что вопрос был для более ранней версии SA. В SA 4.2.3 вы можете добавить свойство компонента, которое не отображается в списке конфигов, введя имя свойства в редакторе над конфигом и нажав клавишу ввода. Затем вы можете изменить тип значения свойства в соответствии с вашими потребностями. Используя этот метод, вы можете добавить свойство плагинов, затем вы можете сделать его типа Array, затем вы редактируете значение и можете ввести что-то вроде [{ptype: 'datatip'}] или в вашем случае [new Ext.ux.ProgressBarPager()]

Другие вопросы по тегам