Показать сообщение отдельно
  #1 (permalink)  
Старый 06.06.2015, 20:49
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Блокировка кнопок браузера "Вперед/Назад" (хак для Ext JS)
На ваш суд представляю хак для блокировки кнопок браузера "Вперед/Назад", когда на экране открыто модальное окно.


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;
	}
	
});
Ответить с цитированием