]> git.proxmox.com Git - extjs.git/blame - extjs/modern/modern/src/behavior/Draggable.js
add extjs 6.0.1 sources
[extjs.git] / extjs / modern / modern / src / behavior / Draggable.js
CommitLineData
6527f429
DM
1/**\r
2 * @private\r
3 */\r
4Ext.define('Ext.behavior.Draggable', {\r
5\r
6 extend: 'Ext.behavior.Behavior',\r
7\r
8 requires: [\r
9 'Ext.util.Draggable'\r
10 ],\r
11\r
12 setConfig: function(config) {\r
13 var draggable = this.draggable,\r
14 component = this.component,\r
15 listeners = this.listeners;\r
16\r
17 if (config) {\r
18 if (!draggable) {\r
19 component.setTranslatable(config.translatable);\r
20 this.draggable = draggable = new Ext.util.Draggable(config);\r
21 draggable.setTranslatable(component.getTranslatable());\r
22 draggable.setElement(component.renderElement);\r
23 draggable.on('destroy', 'onDraggableDestroy', this);\r
24\r
25 if (listeners) {\r
26 component.on(listeners);\r
27 }\r
28 }\r
29 else if (Ext.isObject(config)) {\r
30 draggable.setConfig(config);\r
31 }\r
32 }\r
33 else if (draggable) {\r
34 draggable.destroy();\r
35 }\r
36\r
37 return this;\r
38 },\r
39\r
40 getDraggable: function() {\r
41 return this.draggable;\r
42 },\r
43\r
44 onDraggableDestroy: function() {\r
45 delete this.draggable;\r
46 },\r
47\r
48 onComponentDestroy: function() {\r
49 var draggable = this.draggable;\r
50\r
51 if (draggable) {\r
52 draggable.destroy();\r
53 }\r
54 }\r
55});\r