пишу вот так:
menuPanel = function () {
menuPanel.superclass.constructor.call(this, {
animate:true,
enableDD:false,
loader: new Ext.tree.TreeLoader(), // Note: no dataurl, register a TreeLoader to make use of createNode()
lines: true,
title: 'Меню',
id:'treepanel',
region:'west'
,layout:'fit'
,frame:true
,border:false
,width:200
,split:true
,collapsible:true
,collapseMode:'mini',
root: new Ext.tree.AsyncTreeNode({
text: 'Autos',
draggable:false,
children: json
}),
rootVisible:true,
});
}
Ext.extend(menuPanel,Ext.tree.TreePanel,{});
Ext.reg('menutree', menuPanel);
потом:
var main_viewport = new Ext.Viewport({
layout:'border',
title:'Основное окно',
items:[
{ id:'treepanel',
xtype: 'menutree',
pnl
]
});
Все работает, но мне не нравится что настройки позиционирования в компоненте. Если я делаю, вот так:
menuPanel = function () {
menuPanel.superclass.constructor.call(this, {
animate:true,
enableDD:false,
loader: new Ext.tree.TreeLoader(), // Note: no dataurl, register a TreeLoader to make use of createNode()
lines: true,
title: 'Меню',
id:'treepanel',
root: new Ext.tree.AsyncTreeNode({
text: 'Autos',
draggable:false,
children: json
}),
rootVisible:true,
});
}
Ext.extend(menuPanel,Ext.tree.TreePanel,{});
Ext.reg('menutree', menuPanel);
//А потом:
var main_viewport = new Ext.Viewport({
layout:'border',
title:'Основное окно',
items:[
{ id:'treepanel',
xtype: 'menutree',
region:'west'
,layout:'fit'
,frame:true
,border:false
,width:200
,split:true
,collapsible:true
,collapseMode:'mini'
},
pnl
]
});
То панель не появляется. Как мне сделать основные части системы компонентами без настроек отображения, а потом создавать их экземпляры донастраивая. Мне нравится идея с xtype, но я что-то видимо не понял.