X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/3789b528d8dd8aad4558e38e22d775bcab1cbd36..6746dc89c47ed01b165cc1152533605f97eb8e8d:/docs/source/DragDrop.html diff --git a/docs/source/DragDrop.html b/docs/source/DragDrop.html index e702fb88..b8ed587e 100644 --- a/docs/source/DragDrop.html +++ b/docs/source/DragDrop.html @@ -24,53 +24,59 @@ */ -/** - * @class Ext.dd.DragDrop - * Defines the interface and base operation of items that that can be +/** + * Defines the interface and base operation of items that that can be * dragged or can be drop targets. It was designed to be extended, overriding * the event handlers for startDrag, onDrag, onDragOver and onDragOut. * Up to three html elements can be associated with a DragDrop instance: - * <ul> - * <li>linked element: the element that is passed into the constructor. - * This is the element which defines the boundaries for interaction with - * other DragDrop objects.</li> - * <li>handle element(s): The drag operation only occurs if the element that - * was clicked matches a handle element. By default this is the linked - * element, but there are times that you will want only a portion of the - * linked element to initiate the drag operation, and the setHandleElId() - * method provides a way to define this.</li> - * <li>drag element: this represents the element that would be moved along - * with the cursor during a drag operation. By default, this is the linked - * element itself as in {@link Ext.dd.DD}. setDragElId() lets you define - * a separate element that would be moved, as in {@link Ext.dd.DDProxy}. - * </li> - * </ul> + * + * - linked element: the element that is passed into the constructor. + * This is the element which defines the boundaries for interaction with + * other DragDrop objects. + * + * - handle element(s): The drag operation only occurs if the element that + * was clicked matches a handle element. By default this is the linked + * element, but there are times that you will want only a portion of the + * linked element to initiate the drag operation, and the setHandleElId() + * method provides a way to define this. + * + * - drag element: this represents the element that would be moved along + * with the cursor during a drag operation. By default, this is the linked + * element itself as in {@link Ext.dd.DD}. setDragElId() lets you define + * a separate element that would be moved, as in {@link Ext.dd.DDProxy}. + * * This class should not be instantiated until the onload event to ensure that * the associated elements are available. * The following would define a DragDrop obj that would interact with any * other DragDrop obj in the "group1" group: - * <pre> - * dd = new Ext.dd.DragDrop("div1", "group1"); - * </pre> + * + * dd = new Ext.dd.DragDrop("div1", "group1"); + * * Since none of the event handlers have been implemented, nothing would * actually happen if you were to run the code above. Normally you would * override this class or one of the default implementations, but you can * also override the methods you want on an instance of the class... - * <pre> - * dd.onDragDrop = function(e, id) { - * &nbsp;&nbsp;alert("dd was dropped on " + id); - * } - * </pre> - * @constructor - * @param {String} id of the element that is linked to this instance - * @param {String} sGroup the group of related DragDrop objects - * @param {object} config an object containing configurable attributes - * Valid properties for DragDrop: - * padding, isTarget, maintainOffset, primaryButtonOnly + * + * dd.onDragDrop = function(e, id) { + * alert("dd was dropped on " + id); + * } + * */ - Ext.define('Ext.dd.DragDrop', { requires: ['Ext.dd.DragDropManager'], + + /** + * Creates new DragDrop. + * @param {String} id of the element that is linked to this instance + * @param {String} sGroup the group of related DragDrop objects + * @param {object} config an object containing configurable attributes. + * Valid properties for DragDrop: + * + * - padding + * - isTarget + * - maintainOffset + * - primaryButtonOnly + */ constructor: function(id, sGroup, config) { if(id) { this.init(id, sGroup, config); @@ -192,8 +198,7 @@ Ext.define('Ext.dd.DragDrop', { locked: false, /** - * Lock this instance - * @method lock + * Locks this instance */ lock: function() { this.locked = true; @@ -208,8 +213,7 @@ Ext.define('Ext.dd.DragDrop', { moveOnly: false, /** - * Unlock this instace - * @method unlock + * Unlocks this instace */ unlock: function() { this.locked = false; @@ -341,17 +345,15 @@ Ext.define('Ext.dd.DragDrop', { * region the linked element is. This is done in part to work around a * bug in some browsers that mis-report the mousedown if the previous * mouseup happened outside of the window. This property is set to true - * if outer handles are defined. + * if outer handles are defined. Defaults to false. * * @property hasOuterHandles * @type boolean - * @default false */ hasOuterHandles: false, /** * Code that executes immediately before the startDrag event - * @method b4StartDrag * @private */ b4StartDrag: function(x, y) { }, @@ -359,7 +361,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called after a drag/drop object is clicked * and the drag or mousedown time thresholds have beeen met. - * @method startDrag * @param {int} X click location * @param {int} Y click location */ @@ -367,7 +368,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Code that executes immediately before the onDrag event - * @method b4Drag * @private */ b4Drag: function(e) { }, @@ -375,7 +375,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called during the onMouseMove event while dragging an * object. - * @method onDrag * @param {Event} e the mousemove event */ onDrag: function(e) { /* override this */ }, @@ -383,9 +382,8 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called when this element fist begins hovering over * another DragDrop obj - * @method onDragEnter * @param {Event} e the mousemove event - * @param {String|DragDrop[]} id In POINT mode, the element + * @param {String/[DragDrop]} id In POINT mode, the element * id this is hovering over. In INTERSECT mode, an array of one or more * dragdrop items being hovered over. */ @@ -393,7 +391,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Code that executes immediately before the onDragOver event - * @method b4DragOver * @private */ b4DragOver: function(e) { }, @@ -401,7 +398,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called when this element is hovering over another * DragDrop obj - * @method onDragOver * @param {Event} e the mousemove event * @param {String|DragDrop[]} id In POINT mode, the element * id this is hovering over. In INTERSECT mode, an array of dd items @@ -411,16 +407,14 @@ Ext.define('Ext.dd.DragDrop', { /** * Code that executes immediately before the onDragOut event - * @method b4DragOut * @private */ b4DragOut: function(e) { }, /** * Abstract method called when we are no longer hovering over an element - * @method onDragOut * @param {Event} e the mousemove event - * @param {String|DragDrop[]} id In POINT mode, the element + * @param {String/[DragDrop]} id In POINT mode, the element * id this was hovering over. In INTERSECT mode, an array of dd items * that the mouse is no longer over. */ @@ -428,7 +422,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Code that executes immediately before the onDragDrop event - * @method b4DragDrop * @private */ b4DragDrop: function(e) { }, @@ -436,9 +429,8 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called when this item is dropped on another DragDrop * obj - * @method onDragDrop * @param {Event} e the mouseup event - * @param {String|DragDrop[]} id In POINT mode, the element + * @param {String/[DragDrop]} id In POINT mode, the element * id this was dropped on. In INTERSECT mode, an array of dd items this * was dropped on. */ @@ -447,43 +439,37 @@ Ext.define('Ext.dd.DragDrop', { /** * Abstract method called when this item is dropped on an area with no * drop target - * @method onInvalidDrop * @param {Event} e the mouseup event */ onInvalidDrop: function(e) { /* override this */ }, /** * Code that executes immediately before the endDrag event - * @method b4EndDrag * @private */ b4EndDrag: function(e) { }, /** - * Fired when we are done dragging the object - * @method endDrag + * Called when we are done dragging the object * @param {Event} e the mouseup event */ endDrag: function(e) { /* override this */ }, /** * Code executed immediately before the onMouseDown event - * @method b4MouseDown * @param {Event} e the mousedown event * @private */ b4MouseDown: function(e) { }, /** - * Event handler that fires when a drag/drop obj gets a mousedown - * @method onMouseDown + * Called when a drag/drop obj gets a mousedown * @param {Event} e the mousedown event */ onMouseDown: function(e) { /* override this */ }, /** - * Event handler that fires when a drag/drop obj gets a mouseup - * @method onMouseUp + * Called when a drag/drop obj gets a mouseup * @param {Event} e the mouseup event */ onMouseUp: function(e) { /* override this */ }, @@ -491,13 +477,12 @@ Ext.define('Ext.dd.DragDrop', { /** * Override the onAvailable method to do what is needed after the initial * position was determined. - * @method onAvailable */ onAvailable: function () { }, /** - * Provides default constraint padding to "constrainTo" elements (defaults to {left: 0, right:0, top:0, bottom:0}). + * Provides default constraint padding to "constrainTo" elements (defaults to `{left:0, right:0, top:0, bottom:0}`). * @type Object */ defaultPadding: { @@ -509,27 +494,27 @@ Ext.define('Ext.dd.DragDrop', { /** * Initializes the drag drop object's constraints to restrict movement to a certain element. - * - * Usage: - <pre><code> - var dd = new Ext.dd.DDProxy("dragDiv1", "proxytest", - { dragElId: "existingProxyDiv" }); - dd.startDrag = function(){ - this.constrainTo("parent-id"); - }; - </code></pre> - * Or you can initalize it using the {@link Ext.core.Element} object: - <pre><code> - Ext.get("dragDiv1").initDDProxy("proxytest", {dragElId: "existingProxyDiv"}, { - startDrag : function(){ - this.constrainTo("parent-id"); - } - }); - </code></pre> + * + * Usage: + * + * var dd = new Ext.dd.DDProxy("dragDiv1", "proxytest", + * { dragElId: "existingProxyDiv" }); + * dd.startDrag = function(){ + * this.constrainTo("parent-id"); + * }; + * + * Or you can initalize it using the {@link Ext.core.Element} object: + * + * Ext.get("dragDiv1").initDDProxy("proxytest", {dragElId: "existingProxyDiv"}, { + * startDrag : function(){ + * this.constrainTo("parent-id"); + * } + * }); + * * @param {Mixed} constrainTo The element to constrain to. * @param {Object/Number} pad (optional) Pad provides a way to specify "padding" of the constraints, - * and can be either a number for symmetrical padding (4 would be equal to {left:4, right:4, top:4, bottom:4}) or - * an object containing the sides to pad. For example: {right:10, bottom:10} + * and can be either a number for symmetrical padding (4 would be equal to `{left:4, right:4, top:4, bottom:4}`) or + * an object containing the sides to pad. For example: `{right:10, bottom:10}` * @param {Boolean} inContent (optional) Constrain the draggable in the content box of the element (inside padding and borders) */ constrainTo : function(constrainTo, pad, inContent){ @@ -566,7 +551,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Returns a reference to the linked element - * @method getEl * @return {HTMLElement} the html element */ getEl: function() { @@ -581,7 +565,6 @@ Ext.define('Ext.dd.DragDrop', { * Returns a reference to the actual element to drag. By default this is * the same as the html element, but it can be assigned to another * element. An example of this can be found in Ext.dd.DDProxy - * @method getDragEl * @return {HTMLElement} the html element */ getDragEl: function() { @@ -591,10 +574,9 @@ Ext.define('Ext.dd.DragDrop', { /** * Sets up the DragDrop object. Must be called in the constructor of any * Ext.dd.DragDrop subclass - * @method init - * @param id the id of the linked element + * @param {String} id the id of the linked element * @param {String} sGroup the group of related items - * @param {object} config configuration attributes + * @param {Object} config configuration attributes */ init: function(id, sGroup, config) { this.initTarget(id, sGroup, config); @@ -605,13 +587,11 @@ Ext.define('Ext.dd.DragDrop', { /** * Initializes Targeting functionality only... the object does not * get a mousedown handler. - * @method initTarget - * @param id the id of the linked element + * @param {String} id the id of the linked element * @param {String} sGroup the group of related items - * @param {object} config configuration attributes + * @param {Object} config configuration attributes */ initTarget: function(id, sGroup, config) { - // configuration attributes this.config = config || {}; @@ -655,7 +635,6 @@ Ext.define('Ext.dd.DragDrop', { * a DDProxy implentation will execute apply config on DDProxy, DD, and * DragDrop in order to get all of the parameters that are available in * each object. - * @method applyConfig */ applyConfig: function() { @@ -670,7 +649,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Executed when the linked element is available - * @method handleOnAvailable * @private */ handleOnAvailable: function() { @@ -679,13 +657,12 @@ Ext.define('Ext.dd.DragDrop', { this.onAvailable(); }, - /** + /** * Configures the padding for the target zone in px. Effectively expands * (or reduces) the virtual object size for targeting calculations. * Supports css-style shorthand; if only one parameter is passed, all sides * will have that padding, and if only two are passed, the top and bottom * will have the first param, the left and right the second. - * @method setPadding * @param {int} iTop Top pad * @param {int} iRight Right pad * @param {int} iBot Bot pad @@ -704,7 +681,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Stores the initial placement of the linked element. - * @method setInitPosition * @param {int} diffX the X offset, default 0 * @param {int} diffY the Y offset, default 0 */ @@ -732,7 +708,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Sets the start position of the element. This is set when the obj * is initialized, the reset when a drag is started. - * @method setStartPosition * @param pos current position (from previous lookup) * @private */ @@ -745,11 +720,10 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Add this instance to a group of related drag/drop objects. All + * Adds this instance to a group of related drag/drop objects. All * instances belong to at least one group, and can belong to as many * groups as needed. - * @method addToGroup - * @param sGroup {string} the name of the group + * @param {String} sGroup the name of the group */ addToGroup: function(sGroup) { this.groups[sGroup] = true; @@ -757,9 +731,8 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Remove's this instance from the supplied interaction group - * @method removeFromGroup - * @param {string} sGroup The group to drop + * Removes this instance from the supplied interaction group + * @param {String} sGroup The group to drop */ removeFromGroup: function(sGroup) { if (this.groups[sGroup]) { @@ -772,8 +745,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Allows you to specify that an element other than the linked element * will be moved with the cursor during a drag - * @method setDragElId - * @param id {string} the id of the element that will be used to initiate the drag + * @param {String} id the id of the element that will be used to initiate the drag */ setDragElId: function(id) { this.dragElId = id; @@ -786,8 +758,7 @@ Ext.define('Ext.dd.DragDrop', { * content area would normally start the drag operation. Use this method * to specify that an element inside of the content div is the element * that starts the drag operation. - * @method setHandleElId - * @param id {string} the id of the element that will be used to + * @param {String} id the id of the element that will be used to * initiate the drag. */ setHandleElId: function(id) { @@ -801,8 +772,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Allows you to set an element outside of the linked element as a drag * handle - * @method setOuterHandleElId - * @param id the id of the element that will be used to initiate the drag + * @param {String} id the id of the element that will be used to initiate the drag */ setOuterHandleElId: function(id) { if (typeof id !== "string") { @@ -815,8 +785,7 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Remove all drag and drop hooks for this element - * @method unreg + * Removes all drag and drop hooks for this element */ unreg: function() { Ext.EventManager.un(this.id, "mousedown", this.handleMouseDown, this); @@ -831,8 +800,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Returns true if this instance is locked, or the drag drop mgr is locked * (meaning that all drag/drop is disabled on the page.) - * @method isLocked - * @return {boolean} true if this obj or all drag/drop is locked, else + * @return {Boolean} true if this obj or all drag/drop is locked, else * false */ isLocked: function() { @@ -840,8 +808,7 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Fired when this object is clicked - * @method handleMouseDown + * Called when this object is clicked * @param {Event} e * @param {Ext.dd.DragDrop} oDD the clicked dd object (this dd obj) * @private @@ -888,7 +855,7 @@ Ext.define('Ext.dd.DragDrop', { * when clicked. This is designed to facilitate embedding links within a * drag handle that do something other than start the drag. * @method addInvalidHandleType - * @param {string} tagName the type of element to exclude + * @param {String} tagName the type of element to exclude */ addInvalidHandleType: function(tagName) { var type = tagName.toUpperCase(); @@ -899,7 +866,7 @@ Ext.define('Ext.dd.DragDrop', { * Lets you to specify an element id for a child of a drag handle * that should not initiate a drag * @method addInvalidHandleId - * @param {string} id the element id of the element you wish to ignore + * @param {String} id the element id of the element you wish to ignore */ addInvalidHandleId: function(id) { if (typeof id !== "string") { @@ -910,8 +877,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Lets you specify a css class of elements that will not initiate a drag - * @method addInvalidHandleClass - * @param {string} cssClass the class of the elements you wish to ignore + * @param {String} cssClass the class of the elements you wish to ignore */ addInvalidHandleClass: function(cssClass) { this.invalidHandleClasses.push(cssClass); @@ -919,8 +885,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Unsets an excluded tag name set by addInvalidHandleType - * @method removeInvalidHandleType - * @param {string} tagName the type of element to unexclude + * @param {String} tagName the type of element to unexclude */ removeInvalidHandleType: function(tagName) { var type = tagName.toUpperCase(); @@ -930,8 +895,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Unsets an invalid handle id - * @method removeInvalidHandleId - * @param {string} id the id of the element to re-enable + * @param {String} id the id of the element to re-enable */ removeInvalidHandleId: function(id) { if (typeof id !== "string") { @@ -942,8 +906,7 @@ Ext.define('Ext.dd.DragDrop', { /** * Unsets an invalid css class - * @method removeInvalidHandleClass - * @param {string} cssClass the class of the element(s) you wish to + * @param {String} cssClass the class of the element(s) you wish to * re-enable */ removeInvalidHandleClass: function(cssClass) { @@ -956,9 +919,8 @@ Ext.define('Ext.dd.DragDrop', { /** * Checks the tag exclusion list to see if this click should be ignored - * @method isValidHandleChild * @param {HTMLElement} node the HTMLElement to evaluate - * @return {boolean} true if this is a valid tag type, false if not + * @return {Boolean} true if this is a valid tag type, false if not */ isValidHandleChild: function(node) { @@ -983,9 +945,8 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Create the array of horizontal tick marks if an interval was specified + * Creates the array of horizontal tick marks if an interval was specified * in setXConstraint(). - * @method setXTicks * @private */ setXTicks: function(iStartX, iTickSize) { @@ -1012,9 +973,8 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * Create the array of vertical tick marks if an interval was specified in + * Creates the array of vertical tick marks if an interval was specified in * setYConstraint(). - * @method setYTicks * @private */ setYTicks: function(iStartY, iTickSize) { @@ -1044,13 +1004,11 @@ Ext.define('Ext.dd.DragDrop', { * By default, the element can be dragged any place on the screen. Use * this method to limit the horizontal travel of the element. Pass in * 0,0 for the parameters if you want to lock the drag to the y axis. - * @method setXConstraint * @param {int} iLeft the number of pixels the element can move to the left * @param {int} iRight the number of pixels the element can move to the * right * @param {int} iTickSize optional parameter for specifying that the - * element - * should move iTickSize pixels at a time. + * element should move iTickSize pixels at a time. */ setXConstraint: function(iLeft, iRight, iTickSize) { this.leftConstraint = iLeft; @@ -1066,7 +1024,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Clears any constraints applied to this instance. Also clears ticks * since they can't exist independent of a constraint at this time. - * @method clearConstraints */ clearConstraints: function() { this.constrainX = false; @@ -1076,7 +1033,6 @@ Ext.define('Ext.dd.DragDrop', { /** * Clears any tick interval defined for this instance - * @method clearTicks */ clearTicks: function() { this.xTicks = null; @@ -1089,7 +1045,6 @@ Ext.define('Ext.dd.DragDrop', { * By default, the element can be dragged any place on the screen. Set * this to limit the vertical travel of the element. Pass in 0,0 for the * parameters if you want to lock the drag to the x axis. - * @method setYConstraint * @param {int} iUp the number of pixels the element can move up * @param {int} iDown the number of pixels the element can move down * @param {int} iTickSize optional parameter for specifying that the @@ -1108,8 +1063,7 @@ Ext.define('Ext.dd.DragDrop', { }, /** - * resetConstraints must be called if you manually reposition a dd element. - * @method resetConstraints + * Must be called if you manually reposition a dd element. * @param {boolean} maintainOffset */ resetConstraints: function() { @@ -1143,7 +1097,6 @@ Ext.define('Ext.dd.DragDrop', { * Normally the drag element is moved pixel by pixel, but we can specify * that it move a number of pixels at a time. This method resolves the * location when we have it set up like this. - * @method getTick * @param {int} val where we want to place the object * @param {int[]} tickArray sorted array of valid points * @return {int} the closest tick @@ -1176,13 +1129,13 @@ Ext.define('Ext.dd.DragDrop', { /** * toString method - * @method toString * @return {string} string representation of the dd obj */ toString: function() { return ("DragDrop " + this.id); } -}); +}); +