FormPanel を拡張しています。
Ext.ns('myapp');
myapp.StandartForm = Ext.extend(Ext.FormPanel, {
id: 'myForm'
,xtype: 'test'
,frame:true
,initComponent: function(){
var self = this;
this.editWindow = new Ext.Window({
id: 'editWSWin',
layout: 'fit',
title:this.editPanelTitle,
autoScroll:false,
width:300,
html:'hi'
});
var config = {
items: [{
layout:'column',
items:[this.grid],
buttons: [{
text: 'Edit',
id: "editBtn",
handler: this.editFormCreate,
scope: this,
hidden: this.editbuttonHidden,
disabled:true
}]
}]};
// apply config
Ext.apply(this, config);
Ext.apply(this.initialConfig, config);
myapp.StandartForm.superclass.initComponent.call(this);
}
, editFormCreate : function (){
this.editWindow.show();
}
});
Ext.reg(myapp.StandartForm.prototype.xtype, myapp.StandartForm);
このパネルでは、ボタンを押しEdit
てウィンドウを表示します。ウィンドウを閉じてEdit
ボタンをもう一度押した後、エラーが発生しました:
TypeError: b.dom is undefined
私のウィンドウが未定義であることを意味していると思います。
ウィンドウを正しく使用できるように FormPanel を拡張するにはどうすればよいですか?
アップデート
ウィンドウを作成する関数:
function test(){
var editWindow = new Ext.Window({
id: 'editWSWin',
layout: 'fit',
title:this.editPanelTitle,
autoScroll:false,
width:300,
html:'hi'
});
return editWindow
}
そしてそれを呼び出します:
, editFormCreate : function (){
test.show();
}
しかし、それは未定義です。