グリッドのコンテナとして機能するビューがあります。このビューは、tbar とヘッダーを所有しています。
モーダル ウィンドウを追加すると、ヘッダーと tbar がマスクされません。
メインビュー:
Ext.define('myApp.view.customer.MyMain', {
extend: 'Ext.panel.Panel',
xtype: 'hlx-customermain',
controller: 'maintoolbar',
plugins: 'viewport',
header: {
xtype: 'myheader'
},
tbar: {
xtype: 'mytoolbar'
},
items: [
{
xtype: 'mygrid'
}
]
});
グリッド (コントローラーを使用してウィンドウを追加します)
Ext.define('myApp.view.customer.MyGrid', {
extend: 'Ext.grid.Panel',
xtype: 'mygrid',
tbar: {
xtype: 'mygridtoolbar'
},
controller: 'mygrid',
store: 'MyGridStore',
columns: [
...
]
});
ViewController からの関数
onCustomerAddClick: function () {
var me = this,
addCustomerWindow = me.lookupReference('addCustomerWindow');
if (!addCustomerWindow) {
addCustomerWindow = new myApp.view.customer.AddCustomer();
me.getView().ownerCt.add(addCustomerWindow);
}
addCustomerWindow.show();
}
それを ownerContainer (MyMain クラス) に追加しても、tbar とヘッダーはマスクされません。このフィドルを参照して、自分でエラーを体験してください: https://fiddle.sencha.com/#fiddle/uih