В extjs4 как я могу установить меню в вызове позже (из), а не в функции initComponent?
Другими словами: как я могу перенастроить существующий объект меню (пункты меню)?
Ext.define('My.view.dashboard.CategoryMenu', {
extend: 'Ext.menu.Menu',
alias: 'widget.categorymenu',
id: 'kategoriaMenu',
initComponent: function() {
this.callParent(arguments);
},
fetchMenu: function(categoryId) {
var me=this;
Ext.Ajax.request(
{
url: '/resources/categoryMenu.json',
method: 'POST',
params:
{
id: categoryId
},
success: function(result, request)
{
var jsonData = Ext.decode(result.responseText);
categoryItems=jsonData.items;
Ext.apply(me.items, categoryItems);
}
});
}
});
Это оригинальный код, который является рабочим кодом с инициализацией initComponent:
initComponent: function() {
Ext.apply(this, {
items:
[
{
text: 'Recently Added (last 7 Days)',
itemId: 'recentlyAdded'
},
{
text: 'Open Worklist',
iconCls: 'worklist-icon',
itemId: 'openWorklist'
},{
text: 'Open Create Screen',
iconCls: 'open-create-screen-icon',
itemId: 'openCreateScreen'
}
]
});
this.callParent(arguments);
},
Вот как я его называю:
...
var ctxMenu = this.getCategoryMenu();
ctxMenu.fetchMenu(record.data.id); // get current menu content
ctxMenu.setPosition(event.getXY());
ctxMenu.show();
...