Здравствуйте,
опять затык
Решил по образу и подобию добавить ещё один пунктик меню, но на этот раз это должна быть панель, с двумя связанными гридами.
Методом проб и ошибок решил что ContentPanel стоит сделать Container'ом, а не Panel-ю
Ext.define('CM.view.ContentPanel', {
extend: 'Ext.container.Container',
//alias: 'widget.contentPanel',
xtype: 'contentPanel',
itemId: 'content',
layout: 'fit',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'partnerlist',
hidden: true,
itemId: 'partners'
},
{
xtype: 'userlist',
hidden: true,
itemId: 'users'
},
{
xtype: 'partnercontactslist',
hidden: true,
itemId: 'partnercontactslist'
}
]
});
me.callParent(arguments);
}
});
и панель с гридами у меня вот такая:
Ext.define('CM.view.partnercontact.List', {
extend: 'Ext.panel.Panel',
xtype: 'partnercontactlist',
forceFit: true,
title: '',
layout: {
align: 'stretch',
type: 'vbox'
},
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'partnerspanel'
},
{
xtype: 'partnercontacts'
}
]
});
me.callParent(arguments);
}
});
Ну и соответственно гриды. Главный:
Ext.define('CM.view.partnercontact.Partners', {
extend: 'Ext.grid.Panel',
xtype: 'partnerspanel',
title: 'Partners',
store: 'Partners',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
columns: [
{
xtype: 'gridcolumn',
header: 'Name',
dataIndex: 'name',
flex: 1
},
{
xtype: 'gridcolumn',
header: 'Phone',
dataIndex: 'phone',
flex: 1
},
{
xtype: 'gridcolumn',
header: 'Fax',
dataIndex: 'fax',
flex: 1
},
{
xtype: 'gridcolumn',
header: 'Address',
dataIndex: 'address',
flex: 1
}
]
});
me.callParent(arguments);
}
});
и связанный
Ext.define('CM.view.partnercontact.Contacts', {
extend: 'Ext.grid.Panel',
xtype: 'partnercontacts',
title: 'Related contacts',
store: 'Contacts',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
columns: [
{
xtype: 'gridcolumn',
header: 'Name',
dataIndex: 'name',
flex: 1
},
{
xtype: 'gridcolumn',
header: 'Phone',
dataIndex: 'phone',
flex: 1
},
{
xtype: 'gridcolumn',
header: 'Email',
dataIndex: 'email',
flex: 1
},
{
xtype: 'numbercolumn',
header: 'Partner ID',
dataIndex: 'partner_id',
flex: 0
}
]
});
me.callParent(arguments);
}
});
в MenuTreeStore вот такое добавил:
{
text: 'Partners/Contacts',
leaf: true,
icon: 'images/group_link.png',
id: 'partnercontactslist'
}
Но почему-то вообще всё ломается. Загружается только дерево навигации, ну и вообщем всё летит в тар тарары.
Комментирую в ContentPanel новую форму, всё возвращается на места и работает.
// {
// xtype: 'partnercontactslist',
// hidden: true,
// itemId: 'partnercontactslist'
// }
Отдельный котнроллер я под эту форму не создавал, потому как вообщем-то и так должно работать, вроде
Пните пожалуйста в нужном направлении.
Заранее спасибо за помощь.
С уважением,
Сергей