На ваш суд представляю хак для блокировки кнопок браузера "Вперед/Назад", когда на экране открыто модальное окно.
Ext.define("Override.window.Window", {
override: "Ext.window.Window",
onShow: function() {
var me = this;
me.callParent(arguments);
if (me.modal) Ext.util.History.disable();
},
onHide: function() {
var me = this;
me.callParent(arguments);
if (me.modal) Ext.util.History.enable();
}
});
Ext.define("Override.util.History", {
override: "Ext.util.History",
enabled: true,
enable: function() {
var me = this;
if (!me.enabled) {
me.enabled = true;
me.un("change", "fixhash", me);
}
},
disable: function() {
var me = this;
if (me.enabled) {
me.enabled = false;
me.fixedhash = window.location.hash;
me.on("change", "fixhash", me);
}
},
fixhash: function(token) {
window.location.hash = this.fixedhash;
}
});