/** * @override Ext.rtl.dom.Layer * This override adds RTL positioning methods to Ext.dom.Layer. */ Ext.define('Ext.rtl.dom.Layer', { override: 'Ext.dom.Layer', rtlLocalXYNames: { get: 'rtlGetLocalXY', set: 'rtlSetLocalXY' }, rtlSetLocalX: function() { this.callParent(arguments); return this.sync(); }, rtlSetLocalXY: function() { this.callParent(arguments); return this.sync(); }, rtlSetLocalY: function() { this.callParent(arguments); return this.sync(); }, rtlSetXY: function(xy, animate, duration, callback, easing) { var me = this; // Callback will restore shadow state and call the passed callback callback = me.createCB(callback); me.fixDisplay(); me.beforeAction(); me.callParent([xy, animate, duration, callback, easing]); if (!animate) { callback(); } return me; }, setRtl: function(rtl) { var me = this, shadow = me.shadow; me.localXYNames = rtl ? me.rtlLocalXYNames : Ext.dom.Layer.prototype.localXYNames; if (shadow) { shadow.localXYNames = me.localXYNames; } } });