]>
Commit | Line | Data |
---|---|---|
6527f429 DM |
1 | /**\r |
2 | * @private\r | |
3 | *\r | |
4 | * Translates the element by setting the scroll position of its parent node.\r | |
5 | */\r | |
6 | Ext.define('Ext.util.translatable.ScrollParent', {\r | |
7 | extend: 'Ext.util.translatable.Dom',\r | |
8 | \r | |
9 | isScrollParent: true,\r | |
10 | \r | |
11 | applyElement: function(element) {\r | |
12 | var el = Ext.get(element);\r | |
13 | \r | |
14 | if (el) {\r | |
15 | this.parent = el.parent();\r | |
16 | }\r | |
17 | \r | |
18 | return el;\r | |
19 | },\r | |
20 | \r | |
21 | doTranslate: function(x, y) {\r | |
22 | var parent = this.parent;\r | |
23 | \r | |
24 | parent.setScrollLeft(Math.round(-x));\r | |
25 | parent.setScrollTop(Math.round(-y));\r | |
26 | },\r | |
27 | \r | |
28 | getPosition: function() {\r | |
29 | var me = this,\r | |
30 | position = me.position,\r | |
31 | parent = me.parent;\r | |
32 | \r | |
33 | position.x = parent.getScrollLeft();\r | |
34 | position.y = parent.getScrollTop();\r | |
35 | \r | |
36 | return position;\r | |
37 | }\r | |
38 | });\r |