У меня есть код ext.window в моем коде, который имеет кнопку сохранения и закрытия по умолчанию. При закрытой кнопке нажмите я скрываю окно:Ext.window override уничтожить в дочернем классе по закрывающей кнопке окна в родительском классе
Ext.define('MyPack.template.TemplateWindow', {
extend : 'Ext.Window',
id: 'templateEditorWindow',
closeAction: 'hide',
autoScroll: false,
createTemplateEditor : function() {
// some code
},
initComponent : function() {
this.createTemplateEditor();
Ext.applyIf(this, {
layout : 'border',
modal : true
});
this.items = [ this.templateEditor ];
this.buttons = [
{ text : '#{msgs.button_save}',
window : this,
handler : function() {
if(this.window.templateEditor.save()) {
this.window.hide();
}
}
},
{ text : '#{msgs.button_close}',
cls : 'secondaryBtn',
window : this,
handler : function(){
this.window.hide();
}
}
];
this.callParent(arguments);
},
});
У меня есть еще одно окно, которое простирается над окном.
Ext.define('MyPack.template.RestfulTemplateWindow', {
extend : 'MyPack.template.TemplateWindow',
createTemplateEditor : function() {
// some code
}
});
Я создаю этот класс детей. Окно создается правильно. Но я хочу переопределить функцию обработчика кнопки закрытия. На закрытии он должен уничтожить.
Как я могу переопределить его?
Я определил closeAction на дочернем окне. Но все же он не разрушен. Родительский класс скрывается от closeAction. Как я могу переопределить это? Я не могу изменить код родительского класса. –
@ CODEFISH, какую версию ExtJS вы используете? – sra
@CODEFISH Вы вызываете 'hide()' в свой демо-код! Не забудьте изменить это на 'close()'! – sra