需要使通过对话框调用的掩码忽略转义 (ExtJS 5.1.2)
Need to make a mask invoked over a dialog box ignore escape (ExtJS 5.1.2)
原因:在等待外部 device/system 的回复时,我们需要停止允许关闭 U/I 元素。我尝试了多种不同的方法(键盘映射、onEsc)。当外部系统 returns 有数据时,已经有一个工作侦听器可以解除掩码。这是我目前拥有的代码...
onSaveRecord: function () {
var me = this;
.
.
.
if (me.onRecordSaving(recordDetail, isNew)) {
var myMask = new Ext.LoadMask({
msg: 'Processing',
target: me.getView(),
closable: true,
onEsc: function () { my.myOnEsc(); }
});
myMask.show();
//me.getView().mask('Processing');
//
.
.
.
},
myOnEsc: function () {
debugger; // <--- never hits this
Ext.emptyFn();
},
在 actualDialogBox.js...
中结束了这个
onSaveRecordClick: function () {
var me = this;
me.callSuper();
var win1 = me.getView();
.
.
. generic conditional code added
. (not pertinent to the escape key disabling).
.
if (condition) {
var win = Ext.WindowManager.getActive();
win.setDisableEscapeKey(true);
}
},
并且在上述对话框的超级中...
disableEscapeKey: false,
setDisableEscapeKey: function (value) {
this.disableEscapeKey = value;
},
onEsc: function () {
var me = this;
if (me.disableEscapeKey) {
Ext.emptyFn();
} else {
me.callParent(arguments);
}
},
非常适合我的应用程序。
原因:在等待外部 device/system 的回复时,我们需要停止允许关闭 U/I 元素。我尝试了多种不同的方法(键盘映射、onEsc)。当外部系统 returns 有数据时,已经有一个工作侦听器可以解除掩码。这是我目前拥有的代码...
onSaveRecord: function () {
var me = this;
.
.
.
if (me.onRecordSaving(recordDetail, isNew)) {
var myMask = new Ext.LoadMask({
msg: 'Processing',
target: me.getView(),
closable: true,
onEsc: function () { my.myOnEsc(); }
});
myMask.show();
//me.getView().mask('Processing');
//
.
.
.
},
myOnEsc: function () {
debugger; // <--- never hits this
Ext.emptyFn();
},
在 actualDialogBox.js...
中结束了这个onSaveRecordClick: function () {
var me = this;
me.callSuper();
var win1 = me.getView();
.
.
. generic conditional code added
. (not pertinent to the escape key disabling).
.
if (condition) {
var win = Ext.WindowManager.getActive();
win.setDisableEscapeKey(true);
}
},
并且在上述对话框的超级中...
disableEscapeKey: false,
setDisableEscapeKey: function (value) {
this.disableEscapeKey = value;
},
onEsc: function () {
var me = this;
if (me.disableEscapeKey) {
Ext.emptyFn();
} else {
me.callParent(arguments);
}
},
非常适合我的应用程序。