]> git.proxmox.com Git - extjs.git/blame - extjs/modern/modern/src/util/TranslatableGroup.js
add extjs 6.0.1 sources
[extjs.git] / extjs / modern / modern / src / util / TranslatableGroup.js
CommitLineData
6527f429
DM
1/**\r
2 * @private\r
3 */\r
4Ext.define('Ext.util.TranslatableGroup', {\r
5 extend: 'Ext.util.translatable.Abstract',\r
6\r
7 config: {\r
8 items: [],\r
9\r
10 activeIndex: 0,\r
11\r
12 itemLength: {\r
13 x: 0,\r
14 y: 0\r
15 }\r
16 },\r
17\r
18 applyItems: function(items) {\r
19 return Ext.Array.from(items);\r
20 },\r
21\r
22 doTranslate: function(x, y) {\r
23 var items = this.getItems(),\r
24 activeIndex = this.getActiveIndex(),\r
25 itemLength = this.getItemLength(),\r
26 itemLengthX = itemLength.x,\r
27 itemLengthY = itemLength.y,\r
28 useX = Ext.isNumber(x),\r
29 useY = Ext.isNumber(y),\r
30 offset, i, ln, item, translateX, translateY;\r
31\r
32 for (i = 0, ln = items.length; i < ln; i++) {\r
33 item = items[i];\r
34\r
35 if (item) {\r
36 offset = (i - activeIndex);\r
37\r
38 if (useX) {\r
39 translateX = x + offset * itemLengthX;\r
40 }\r
41\r
42 if (useY) {\r
43 translateY = y + offset * itemLengthY;\r
44 }\r
45\r
46 item.translate(translateX, translateY);\r
47 }\r
48 }\r
49 }\r
50});