需要使通过对话框调用的掩码忽略转义 (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);
    }
},

非常适合我的应用程序。