omo criar uma janela modal completa no ext
Como uma janela no microsoft OS (xp, vista, 7 etc) ...
Se uma janela principal criar uma janela modal, o usuário não poderá acessar a janela principal,
(incluindo fechar e acessar a barra de ferramentas etc
Quero fazer um semelhante com extjs. Este é o meu exemplo modal:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
tbar: [{
text: 'aa',
handler: function() {
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
closable: false,
height: 100,
html: 'b',
ownerCt: this,
modal: true
}).show();
}
}]
}).show();
O problema é que, apenas desabilita o corpo da janela principal, o usuário ainda pode acessar a barra de ferramentas principal, também para fechá-l
Minha pergunta é como fazer modal completo? ou, se não puder ser feito, como desativar a janela principal, se a janela modal for exibida, usei o listener show na vitória modal, mas o problema é que não consigo acessar a janela principal desse ouvint
Edit:
Este é o meu código até agora:
Ext.create("Ext.Window", {
title: 'aa',
width: 200,
height: 150,
html: 'a',
maskOnDisable: false,
tbar: [{
text: 'aa',
handler: function(a) {
var parent = a.up("window");
parent.disable();
Ext.create("Ext.Window", {
title: 'aa',
width: 150,
height: 100,
html: 'b',
listeners: {
scope: this,
"close": function() {
parent.enable();
},
/*
"blur" : function(){
this.focus()
}
*/
}
}).show();
}
}]
}).show();
Embora esse não seja um conceito modal, mas pareça o que eu quero agora, tenho um novo problema,maskOnDisable
não funciona e preciso de um evento comoblur
, portanto, se o usuário clicar na janela pai, ele voltará à janela pop-up. (devo postá-lo como nova pergunta?)