Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / TreeDragZone.html
diff --git a/docs/source/TreeDragZone.html b/docs/source/TreeDragZone.html
new file mode 100644 (file)
index 0000000..f224a5d
--- /dev/null
@@ -0,0 +1,85 @@
+<html>\r
+<head>\r
+  <title>The source code</title>\r
+    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body  onload="prettyPrint();">\r
+    <pre class="prettyprint lang-js"><div id="cls-Ext.tree.TreeDragZone"></div>/**\r
+ * @class Ext.tree.TreeDragZone\r
+ * @extends Ext.dd.DragZone\r
+ * @constructor\r
+ * @param {String/HTMLElement/Element} tree The {@link Ext.tree.TreePanel} for which to enable dragging\r
+ * @param {Object} config\r
+ */\r
+if(Ext.dd.DragZone){\r
+Ext.tree.TreeDragZone = function(tree, config){\r
+    Ext.tree.TreeDragZone.superclass.constructor.call(this, tree.innerCt, config);\r
+    <div id="prop-Ext.tree.TreeDragZone-tree"></div>/**\r
+    * The TreePanel for this drag zone\r
+    * @type Ext.tree.TreePanel\r
+    * @property\r
+    */\r
+    this.tree = tree;\r
+};\r
+\r
+Ext.extend(Ext.tree.TreeDragZone, Ext.dd.DragZone, {\r
+    <div id="cfg-Ext.tree.TreeDragZone-ddGroup"></div>/**\r
+     * @cfg {String} ddGroup\r
+     * A named drag drop group to which this object belongs.  If a group is specified, then this object will only\r
+     * interact with other drag drop objects in the same group (defaults to 'TreeDD').\r
+     */\r
+    ddGroup : "TreeDD",\r
+\r
+    // private\r
+    onBeforeDrag : function(data, e){\r
+        var n = data.node;\r
+        return n && n.draggable && !n.disabled;\r
+    },\r
+\r
+    // private\r
+    onInitDrag : function(e){\r
+        var data = this.dragData;\r
+        this.tree.getSelectionModel().select(data.node);\r
+        this.tree.eventModel.disable();\r
+        this.proxy.update("");\r
+        data.node.ui.appendDDGhost(this.proxy.ghost.dom);\r
+        this.tree.fireEvent("startdrag", this.tree, data.node, e);\r
+    },\r
+\r
+    // private\r
+    getRepairXY : function(e, data){\r
+        return data.node.ui.getDDRepairXY();\r
+    },\r
+\r
+    // private\r
+    onEndDrag : function(data, e){\r
+        this.tree.eventModel.enable.defer(100, this.tree.eventModel);\r
+        this.tree.fireEvent("enddrag", this.tree, data.node, e);\r
+    },\r
+\r
+    // private\r
+    onValidDrop : function(dd, e, id){\r
+        this.tree.fireEvent("dragdrop", this.tree, this.dragData.node, dd, e);\r
+        this.hideProxy();\r
+    },\r
+\r
+    // private\r
+    beforeInvalidDrop : function(e, id){\r
+        // this scrolls the original position back into view\r
+        var sm = this.tree.getSelectionModel();\r
+        sm.clearSelections();\r
+        sm.select(this.dragData.node);\r
+    },\r
+    \r
+    // private\r
+    afterRepair : function(){\r
+        if (Ext.enableFx && this.tree.hlDrop) {\r
+            Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor || "c3daf9");\r
+        }\r
+        this.dragging = false;\r
+    }\r
+});\r
+}</pre>    \r
+</body>\r
+</html>
\ No newline at end of file