Ext.define('Ext.rtl.scroll.Scroller', {
override: 'Ext.scroll.Scroller',
config: {
/**
* @cfg {Boolean} [rtl=false]
* `true` to enable scrolling of "right-to-left" content. This is typically
* configured automatically by an {@link Ext.Component} based on its inherited
* {@link Ext.Component#rtl rtl} state
* @member Ext.scroll.Scroller
*/
rtl: null
},
// Empty updater - workaround for https://sencha.jira.com/browse/EXTJS-14574
updateRtl: Ext.emptyFn,
privates: {
convertX: function(x) {
var element;
if (this.getRtl()) {
element = this.getElement();
if (element) {
x = element.rtlNormalizeScrollLeft(x);
}
}
return x;
},
getElementScroll: function(element) {
return this.getRtl() ? element.rtlGetScroll() : element.getScroll();
},
// rtl hook
translateSpacer: function(x, y) {
if (this.getRtl()) {
this.getSpacer().dom.style.right = (x - 1) + 'px';
this.callParent([null, y]);
}
else {
this.callParent([x, y]);
}
}
}
});