/*!
- * Ext JS Library 3.0.0
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.1.1
+ * Copyright(c) 2006-2010 Ext JS, LLC
* licensing@extjs.com
* http://www.extjs.com/license
*/
* @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{
var xy = ce.getXY();
- c = {x : xy[0]+s.left, y: xy[1]+s.top, width: cd.clientWidth, height: cd.clientHeight};
+ c = {x : xy[0], y: xy[1], width: cd.clientWidth, height: cd.clientHeight};
}
- 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
/**
* 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
/**
* Inner class for cached elements
- * @class DragDropMgr.ElementWrapper
+ * @class Ext.dd.DragDropMgr.ElementWrapper
* @for DragDropMgr
* @private
* @deprecated
// 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
* 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
* 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
}\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
// 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
* 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
\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
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