Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / pkgs / ext-dd-debug.js
index c79059f..2a08cf1 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * Ext JS Library 3.0.3
+ * Ext JS Library 3.1.0
  * Copyright(c) 2006-2009 Ext JS, LLC
  * licensing@extjs.com
  * http://www.extjs.com/license
@@ -519,14 +519,15 @@ Ext.dd.DragDrop.prototype = {
      * @param {Boolean} inContent (optional) Constrain the draggable in the content box of the element (inside padding and borders)
      */
     constrainTo : function(constrainTo, pad, inContent){
-        if(typeof pad == "number"){
+        if(Ext.isNumber(pad)){
             pad = {left: pad, right:pad, top:pad, bottom:pad};
         }
         pad = pad || this.defaultPadding;
-        var b = Ext.get(this.getEl()).getBox();
-        var ce = Ext.get(constrainTo);
-        var s = ce.getScroll();
-        var c, cd = ce.dom;
+        var b = Ext.get(this.getEl()).getBox(),
+            ce = Ext.get(constrainTo),
+            s = ce.getScroll(),
+            c, 
+            cd = ce.dom;
         if(cd == document.body){
             c = { x: s.left, y: s.top, width: Ext.lib.Dom.getViewWidth(), height: Ext.lib.Dom.getViewHeight()};
         }else{
@@ -535,8 +536,8 @@ Ext.dd.DragDrop.prototype = {
         }
 
 
-        var topSpace = b.y - c.y;
-        var leftSpace = b.x - c.x;
+        var topSpace = b.y - c.y,
+            leftSpace = b.x - c.x;
 
         this.resetConstraints();
         this.setXConstraint(leftSpace - (pad.left||0), // left
@@ -1436,7 +1437,7 @@ Ext.dd.DragDropMgr = function() {
 
         /**
          * The number of milliseconds after the mousedown event to initiate the
-         * drag if we don't get a mouseup event. Default=1000
+         * drag if we don't get a mouseup event. Default=350
          * @property clickTimeThresh
          * @type int
          * @static
@@ -2986,63 +2987,177 @@ Ext.dd.DDTarget = function(id, sGroup, config) {
 
 // Ext.dd.DDTarget.prototype = new Ext.dd.DragDrop();
 Ext.extend(Ext.dd.DDTarget, Ext.dd.DragDrop, {
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    getDragEl: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    isValidHandleChild: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    startDrag: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    endDrag: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onDrag: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onDragDrop: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onDragEnter: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onDragOut: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onDragOver: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onInvalidDrop: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onMouseDown: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    onMouseUp: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setXConstraint: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setYConstraint: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    resetConstraints: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    clearConstraints: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    clearTicks: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setInitPosition: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setDragElId: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setHandleElId: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    setOuterHandleElId: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    addInvalidHandleClass: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    addInvalidHandleId: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    addInvalidHandleType: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    removeInvalidHandleClass: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    removeInvalidHandleId: Ext.emptyFn,
+    /**
+     * @hide
+     * Overridden and disabled. A DDTarget does not support being dragged.
+     * @method
+     */
+    removeInvalidHandleType: Ext.emptyFn,
+
     toString: function() {
         return ("DDTarget " + this.id);
     }
-});
-/**\r
+});/**\r
  * @class Ext.dd.DragTracker\r
  * @extends Ext.util.Observable\r
  */\r
-Ext.dd.DragTracker = function(config){\r
-    Ext.apply(this, config);\r
-    this.addEvents(\r
-        /**\r
-         * @event mousedown\r
-         * @param {Object} this\r
-         * @param {Object} e event object\r
-         */\r
-        'mousedown',\r
-        /**\r
-         * @event mouseup\r
-         * @param {Object} this\r
-         * @param {Object} e event object\r
-         */\r
-        'mouseup',\r
-        /**\r
-         * @event mousemove\r
-         * @param {Object} this\r
-         * @param {Object} e event object\r
-         */\r
-        'mousemove',\r
-        /**\r
-         * @event dragstart\r
-         * @param {Object} this\r
-         * @param {Object} startXY the page coordinates of the event\r
-         */\r
-        'dragstart',\r
-        /**\r
-         * @event dragend\r
-         * @param {Object} this\r
-         * @param {Object} e event object\r
-         */\r
-        'dragend',\r
-        /**\r
-         * @event drag\r
-         * @param {Object} this\r
-         * @param {Object} e event object\r
-         */\r
-        'drag'\r
-    );\r
-\r
-    this.dragRegion = new Ext.lib.Region(0,0,0,0);\r
-\r
-    if(this.el){\r
-        this.initEl(this.el);\r
-    }\r
-}\r
-\r
-Ext.extend(Ext.dd.DragTracker, Ext.util.Observable,  {\r
+Ext.dd.DragTracker = Ext.extend(Ext.util.Observable,  {\r
     /**\r
      * @cfg {Boolean} active\r
         * Defaults to <tt>false</tt>.\r
@@ -3059,6 +3174,55 @@ Ext.extend(Ext.dd.DragTracker, Ext.util.Observable,  {
         * Specify a Number for the number of milliseconds to defer trigger start.\r
         */     \r
     autoStart: false,\r
+    \r
+    constructor : function(config){\r
+        Ext.apply(this, config);\r
+           this.addEvents(\r
+               /**\r
+                * @event mousedown\r
+                * @param {Object} this\r
+                * @param {Object} e event object\r
+                */\r
+               'mousedown',\r
+               /**\r
+                * @event mouseup\r
+                * @param {Object} this\r
+                * @param {Object} e event object\r
+                */\r
+               'mouseup',\r
+               /**\r
+                * @event mousemove\r
+                * @param {Object} this\r
+                * @param {Object} e event object\r
+                */\r
+               'mousemove',\r
+               /**\r
+                * @event dragstart\r
+                * @param {Object} this\r
+                * @param {Object} startXY the page coordinates of the event\r
+                */\r
+               'dragstart',\r
+               /**\r
+                * @event dragend\r
+                * @param {Object} this\r
+                * @param {Object} e event object\r
+                */\r
+               'dragend',\r
+               /**\r
+                * @event drag\r
+                * @param {Object} this\r
+                * @param {Object} e event object\r
+                */\r
+               'drag'\r
+           );\r
+       \r
+           this.dragRegion = new Ext.lib.Region(0,0,0,0);\r
+       \r
+           if(this.el){\r
+               this.initEl(this.el);\r
+           }\r
+        Ext.dd.DragTracker.superclass.constructor.call(this, config);\r
+    },\r
 \r
     initEl: function(el){\r
         this.el = Ext.get(el);\r
@@ -3647,8 +3811,8 @@ Ext.dd.StatusProxy.prototype = {
      * Causes the proxy to return to its position of origin via an animation.  Should be called after an\r
      * invalid drop operation by the item being dragged.\r
      * @param {Array} xy The XY position of the element ([x, y])\r
-     * @param {Function} callback The function to call after the repair is complete\r
-     * @param {Object} scope The scope in which to execute the callback\r
+     * @param {Function} callback The function to call after the repair is complete.\r
+     * @param {Object} scope The scope (<code>this</code> reference) in which the callback function is executed. Defaults to the browser window.\r
      */\r
     repair : function(xy, callback, scope){\r
         this.callback = callback;\r
@@ -3677,6 +3841,10 @@ Ext.dd.StatusProxy.prototype = {
         }\r
         this.callback = null;\r
         this.scope = null;\r
+    },\r
+    \r
+    destroy: function(){\r
+        Ext.destroy(this.ghost, this.el);    \r
     }\r
 };/**\r
  * @class Ext.dd.DragSource\r
@@ -4035,7 +4203,12 @@ Ext.extend(Ext.dd.DragSource, Ext.dd.DDProxy, {
     // private - pin to cursor\r
     autoOffset : function(x, y) {\r
         this.setDelta(-12, -20);\r
-    }    \r
+    },\r
+    \r
+    destroy: function(){\r
+        Ext.dd.DragSource.superclass.destroy.call(this);\r
+        Ext.destroy(this.proxy);\r
+    }\r
 });/**\r
  * @class Ext.dd.DropTarget\r
  * @extends Ext.dd.DDTarget\r
@@ -4161,8 +4334,8 @@ Ext.extend(Ext.dd.DropTarget, Ext.dd.DDTarget, {
  * by using the event's {@link Ext.EventObject#getTarget getTarget} method to identify a node based on a\r
  * {@link Ext.DomQuery} selector. For example, to make the nodes of a DataView draggable, use the following\r
  * technique. Knowledge of the use of the DataView is required:</p><pre><code>\r
-myDataView.on('render', function() {\r
-    myDataView.dragZone = new Ext.dd.DragZone(myDataView.getEl(), {\r
+myDataView.on('render', function(v) {\r
+    myDataView.dragZone = new Ext.dd.DragZone(v.getEl(), {\r
 \r
 //      On receipt of a mousedown event, see if it is within a DataView node.\r
 //      Return a drag data object if so.\r
@@ -4170,7 +4343,7 @@ myDataView.on('render', function() {
 \r
 //          Use the DataView's own itemSelector (a mandatory property) to\r
 //          test if the mousedown is within one of the DataView's nodes.\r
-            var sourceEl = e.getTarget(myDataView.itemSelector, 10);\r
+            var sourceEl = e.getTarget(v.itemSelector, 10);\r
 \r
 //          If the mousedown is within a DataView node, clone the node to produce\r
 //          a ddel element for use by the drag proxy. Also add application data\r
@@ -4182,8 +4355,8 @@ myDataView.on('render', function() {
                     ddel: d,\r
                     sourceEl: sourceEl,\r
                     repairXY: Ext.fly(sourceEl).getXY(),\r
-                    sourceStore: myDataView.store,\r
-                    draggedRecord: v.getRecord(sourceEl)\r
+                    sourceStore: v.store,\r
+                    draggedRecord: v.{@link Ext.DataView#getRecord getRecord}(sourceEl)\r
                 }\r
             }\r
         },\r