大規模なハッキングの準備はできていますか?
function realMaximize(){
if(this.maxInternal){
return;
}
if(this.maximized){
this.oldMaxHeight = this.maxHeight;
this.maxHeight = undefined;
this.maxInternal = true;
this.restore();
this.maximize();
this.maxInternal = false;
}else{
this.maxHeight = this.oldMaxHeight;
}
}
Ext.onReady(function() {
var w = Ext.create('Ext.window.Window',{
title: 'Hello',
maximizable: true,
width: 400,
height: 300,
maxHeight: 350
});
w.addListener('maximize',realMaximize);
w.show();
});
うーん!最悪。それは何をするためのものか?最大化を検出すると、現在の最大の高さを保存して削除します。次に、UI がこの新しい最大値を尊重するように更新されるように、最大化を切り替えます (もっと良い方法があるのではないでしょうか?)。最後に、フラグを設定してチェックする必要があります。そうしないと、無限ループに入ります (maximize
関数を再度呼び出します)。
ウィンドウ化に戻るのはそれほど難しくありません。記憶されたサイズは問題ないはずなので、関数を再帰的に呼び出す必要はありません。