Я использую Sencha Architect 2. Я пытаюсь создать общий элемент пользовательского интерфейса с текстовым поиском и таблицей, отображающей результаты. Общий означает, что я хочу использовать его для нескольких разных типов поиска, например. для пользователей, или ролей или еще чего-то.
Что мне определенно нравится в этом контексте в Sencha Architect 2, так это то, что он всегда генерирует классы. Вот мой сгенерированный класс:
Ext.define('ktecapp.view.ObjSearchPanel', {
extend: 'Ext.container.Container',
alias: 'widget.objsearchpanel',
height: 250,
id: 'UserSearchPanel',
itemId: 'UserSearchPanel',
width: 438,
layout: {
columns: 3,
type: 'table'
},
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'textfield',
itemId: 'txtSearchText',
fieldLabel: 'Search Text',
colspan: 2
},
{
xtype: 'button',
id: 'searchObj',
itemId: 'searchObj',
text: 'Search',
colspan: 1
},
{
xtype: 'gridpanel',
height: 209,
itemId: 'resultGrid',
width: 430,
store: 'UserDisplayStore',
colspan: 3,
columns: [
{
xtype: 'gridcolumn',
width: 60,
dataIndex: 'ID',
text: 'ID'
},
{
xtype: 'gridcolumn',
width: 186,
dataIndex: 'DISPLAYNAME',
text: 'Displayname'
},
{
xtype: 'gridcolumn',
width: 123,
dataIndex: 'JOBTITLE',
text: 'Job Title'
},
{
xtype: 'actioncolumn',
width: 35,
icon: 'icons/zoom.png',
items: [
{
icon: 'icons/zoom.png',
tooltip: 'Tooltip'
}
]
}
],
viewConfig: {
},
selModel: Ext.create('Ext.selection.CheckboxModel', {
})
}
]
});
me.callParent(arguments);
}
});
Проблема, с которой я сталкиваюсь, заключается в том, что все должно быть довольно настраиваемым, индексы данных столбцов, хранилище,... Итак, как я могу получить функцию, подобную конструктору, для класса ObjSearchPanel, куда я передаю всю эту информацию? В приведенном выше коде все это выглядит жестко запрограммированным...
Заранее спасибо Kai