/**
* @private
*
* Translates the element by setting the scroll position of its parent node.
*/
Ext.define('Ext.util.translatable.ScrollParent', {
extend: 'Ext.util.translatable.Dom',
alias: 'translatable.scrollparent', // also configures Factoryable
isScrollParent: true,
applyElement: function(element) {
var el = Ext.get(element);
if (el) {
this.parent = el.parent();
}
return el;
},
doTranslate: function(x, y) {
var parent = this.parent;
parent.setScrollLeft(Math.round(-x));
parent.setScrollTop(Math.round(-y));
},
getPosition: function() {
var me = this,
position = me.position,
parent = me.parent;
position.x = parent.getScrollLeft();
position.y = parent.getScrollTop();
return position;
}
});