For up to date documentation and features, visit http://docs.sencha.com/ext-js/4-0

## Sencha Documentation

# Ext.dd.DragZone

####

    HierarchyExt.dd.DragDropExt.dd.DDExt.dd.DDProxyExt.dd.DragSourceExt.dd.DragZone

This class provides a container DD instance that allows dragging of multiple child source nodes.

This class does not move the drag target nodes, but a proxy element which may contain any DOM structure you wish. The DOM element to show in the proxy is provided by either a provided implementation of getDragData, or by registered draggables registered with Ext.dd.Registry

If you wish to provide draggability for an arbitrary number of DOM nodes, each of which represent some application object (For example nodes in a DataView) then use of this class is the most efficient way to "activate" those nodes.

By default, this class requires that draggable child nodes are registered with Ext.dd.Registry. However a simpler way to allow a DragZone to manage any number of draggable elements is to configure the DragZone with an implementation of the getDragData method which interrogates the passed mouse event to see if it has taken place within an element, or class of elements. This is easily done by using the event's getTarget method to identify a node based on a Ext.DomQuery selector. For example, to make the nodes of a DataView draggable, use the following technique. Knowledge of the use of the DataView is required:

    myDataView.on('render', function(v) {
        myDataView.dragZone = new Ext.dd.DragZone(v.getEl(), {

    //      On receipt of a mousedown event, see if it is within a DataView node.
    //      Return a drag data object if so.
            getDragData: function(e) {

    //          Use the DataView's own itemSelector (a mandatory property) to
    //          test if the mousedown is within one of the DataView's nodes.
                var sourceEl = e.getTarget(v.itemSelector, 10);

    //          If the mousedown is within a DataView node, clone the node to produce
    //          a ddel element for use by the drag proxy. Also add application data
    //          to the returned data object.
                if (sourceEl) {
                    d = sourceEl.cloneNode(true);
                    d.id = Ext.id();
                    return {
                        ddel: d,
                        sourceEl: sourceEl,
                        repairXY: Ext.fly(sourceEl).getXY(),
                        sourceStore: v.store,
                        draggedRecord: v.getRecord(sourceEl)
                    }
                }
            },

    //      Provide coordinates for the proxy to slide back to on failed drag.
    //      This is the original XY coordinates of the draggable element captured
    //      in the getDragData method.
            getRepairXY: function() {
                return this.dragData.repairXY;
            }
        });
    });

See the DropZone documentation for details about building a DropZone which cooperates with this DragZone.

Defined By

### Config Options

#### Other Configs

Ext.dd.DragSource
view source
animRepair : Boolean
Defaults to true. If true, animates the proxy element back to the position of the handle element used to trigger the ...

Defaults to true. If true, animates the proxy element back to the position of the handle element used to trigger the drag.

Ext.dd.DragZone
view source
containerScroll : Boolean

True to register this container with the Scrollmanager for auto scrolling during drag operations.

True to register this container with the Scrollmanager for auto scrolling during drag operations.

Ext.dd.DragSource
view source
ddGroup : String
A named drag drop group to which this object belongs. If a group is specified, then this object will only interact w...

A named drag drop group to which this object belongs. If a group is specified, then this object will only interact with other drag drop objects in the same group (defaults to undefined).

Ext.dd.DragSource
view source
dropAllowed : String

The CSS class returned to the drag source when drop is allowed (defaults to "x-dd-drop-ok").

The CSS class returned to the drag source when drop is allowed (defaults to "x-dd-drop-ok").

Ext.dd.DragSource
view source
dropNotAllowed : String

The CSS class returned to the drag source when drop is not allowed (defaults to "x-dd-drop-nodrop").

The CSS class returned to the drag source when drop is not allowed (defaults to "x-dd-drop-nodrop").

Ext.dd.DragSource
view source
repairHighlightColor : String
The color to use when visually highlighting the drag source in the afterRepair method after a failed drop (defaults t...

The color to use when visually highlighting the drag source in the afterRepair method after a failed drop (defaults to 'c3daf9' - light blue). The color must be a 6 digit hex value, without a preceding '#'.

Defined By

### Properties

Ext.dd.DDProxy
view source
Ext : String

The default drag frame div id .dd.DDProxy.dragElId

The default drag frame div id .dd.DDProxy.dragElId

Ext.dd.DragDrop
view source
available : boolean

The available property is false until the linked dom element is accessible.

The available property is false until the linked dom element is accessible.

Ext.dd.DDProxy
view source
centerFrame : boolean
By default the frame is positioned exactly where the drag element is, so we use the cursor offset provided by Ext.dd....

By default the frame is positioned exactly where the drag element is, so we use the cursor offset provided by Ext.dd.DD. Another option that works only if you do not have constraints on the obj is to have the drag frame centered around the cursor. Set centerFrame to true for this effect.

Ext.dd.DragDrop
view source
config : object

Configuration attributes passed into the constructor

Configuration attributes passed into the constructor

Ext.dd.DragDrop
view source
defaultPadding : Object

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}).

Ext.dd.DragZone
view source
dragData : Object
This property contains the data representing the dragged object. This data is set up by the implementation of the get...

This property contains the data representing the dragged object. This data is set up by the implementation of the getDragData method. It must contain a `ddel` property, but can contain any other data according to the application's needs.

Ext.dd.DragDrop
view source
groups : object
The group defines a logical collection of DragDrop objects that are related. Instances only get events when interact...

The group defines a logical collection of DragDrop objects that are related. Instances only get events when interacting with other DragDrop object in the same group. This lets us define multiple groups using a single DragDrop subclass if we want. An object in the format {'group1':true, 'group2':true}

Ext.dd.DragDrop
view source
hasOuterHandles : boolean
By default, drags can only be initiated if the mousedown occurs in the region the linked element is. This is done in...

By default, drags can only be initiated if the mousedown occurs in the 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. @default false

Ext.dd.DragDrop
view source
id : String
The id of the element associated with this object. This is what we refer to as the "linked element" because the size...

The id of the element associated with this object. This is what we refer to as the "linked element" because the size and position of this element is used to determine when the drag and drop objects have interacted.

Ext.dd.DragDrop
view source
ignoreSelf : Boolean
Set to false to enable a DragDrop object to fire drag events while dragging over its own Element. Defaults to true - ...

Set to false to enable a DragDrop object to fire drag events while dragging over its own Element. Defaults to true - DragDrop objects do not by default fire drag events to themselves.

Ext.dd.DragDrop
view source
invalidHandleClasses : Array

An Array of CSS class names for elements to be considered in valid as drag handles.

An Array of CSS class names for elements to be considered in valid as drag handles.

Ext.dd.DragDrop
view source
invalidHandleIds : Object
An object who's property names identify the IDs of elements to be considered invalid as drag handles. A non-null prop...

An object who's property names identify the IDs of elements to be considered invalid as drag handles. A non-null property value identifies the ID as invalid. For example, to prevent dragging from being initiated on element ID "foo", use:

    {
        foo: true
    }

Ext.dd.DragDrop
view source
invalidHandleTypes : Object
An object who's property names identify HTML tags to be considered invalid as drag handles. A non-null property value...

An object who's property names identify HTML tags to be considered invalid as drag handles. A non-null property value identifies the tag as invalid. Defaults to the following value which prevents drag operations from being initiated by <a> elements:

    {
        A: "A"
    }

Ext.dd.DragDrop
view source
isTarget : boolean

By default, all instances can be a drop target. This can be disabled by setting isTarget to false.

By default, all instances can be a drop target. This can be disabled by setting isTarget to false.

Ext.dd.DragDrop
view source
maintainOffset : boolean
Maintain offsets when we resetconstraints. Set to true when you want the position of the element relative to its par...

Maintain offsets when we resetconstraints. Set to true when you want the position of the element relative to its parent to stay the same when the page changes

Ext.dd.DragDrop
view source
moveOnly : boolean
When set to true, other DD objects in cooperating DDGroups do not receive notification events when this DD object is ...

When set to true, other DD objects in cooperating DDGroups do not receive notification events when this DD object is dragged over them. Defaults to false.

Ext.dd.DragSource
view source
onStartDrag : Object
An empty function by default, but provided so that you can perform a custom action once the initial drag event has be...

An empty function by default, but provided so that you can perform a custom action once the initial drag event has begun. The drag cannot be canceled from this function.

Ext.dd.DragDrop
view source
padding : int[]
The padding configured for this drag and drop object for calculating the drop zone intersection with this object. An ...

The padding configured for this drag and drop object for calculating the drop zone intersection with this object. An array containing the 4 padding values: [top, right, bottom, left]

Ext.dd.DragDrop
view source
primaryButtonOnly : boolean
By default the drag and drop instance will only respond to the primary button click (left button for a right-handed m...

By default the drag and drop instance will only respond to the primary button click (left button for a right-handed mouse). Set to true to allow drag and drop to start with any mouse click that is propogated by the browser

Ext.dd.DDProxy
view source
resizeFrame : boolean
By default we resize the drag frame to be the same size as the element we want to drag (this is to get the frame effe...

By default we resize the drag frame to be the same size as the element we want to drag (this is to get the frame effect). We can turn it off if we want a different behavior.

Ext.dd.DD
view source
scroll : boolean
When set to true, the utility automatically tries to scroll the browser window when a drag and drop element is dragge...

When set to true, the utility automatically tries to scroll the browser window when a drag and drop element is dragged near the viewport boundary. Defaults to true.

Ext.dd.DragDrop
view source
xTicks : int[]
Array of pixel locations the element will snap to if we specified a horizontal graduation/interval. This array is ge...

Array of pixel locations the element will snap to if we specified a horizontal graduation/interval. This array is generated automatically when you define a tick interval.

Ext.dd.DragDrop
view source
yTicks : int[]
Array of pixel locations the element will snap to if we specified a vertical graduation/interval. This array is gene...

Array of pixel locations the element will snap to if we specified a vertical graduation/interval. This array is generated automatically when you define a tick interval.

Defined By

### Methods

Ext.dd.DragZone
view source
DragZone( Mixed el, Object config) : void

### Parameters

- el : Mixed

  The container element

- config : Object

### Returns

- void

Ext.dd.DragDrop
view source
addInvalidHandleClass( string cssClass) : void

Lets you specify a css class of elements that will not initiate a drag

Lets you specify a css class of elements that will not initiate a drag

### Parameters

- cssClass : string

  the class of the elements you wish to ignore

### Returns

- void

Ext.dd.DragDrop
view source
addInvalidHandleId( string id) : void

Lets you to specify an element id for a child of a drag handle that should not initiate a drag

Lets you to specify an element id for a child of a drag handle that should not initiate a drag

### Parameters

- id : string

  the element id of the element you wish to ignore

### Returns

- void

Ext.dd.DragDrop
view source
addInvalidHandleType( string tagName) : void
Allows you to specify a tag name that should not start a drag operation when clicked. This is designed to facilitate...

Allows you to specify a tag name that should not start a drag operation when clicked. This is designed to facilitate embedding links within a drag handle that do something other than start the drag.

### Parameters

- tagName : string

  the type of element to exclude

### Returns

- void

Ext.dd.DragDrop
view source
addToGroup( Object sGroup) : void
Add this instance to a group of related drag/drop objects. All instances belong to at least one group, and can belon...

Add 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.

### Parameters

- sGroup : Object

  {string} the name of the group

### Returns

- void

Ext.dd.DragSource
view source
afterDragDrop( Ext.dd.DragDrop target, Event e, String id) : void
An empty function by default, but provided so that you can perform a custom action after a valid drag drop has occurr...

An empty function by default, but provided so that you can perform a custom action after a valid drag drop has occurred by providing an implementation.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dropped element

### Returns

- void

Ext.dd.DragSource
view source
afterDragEnter( Ext.dd.DragDrop target, Event e, String id) : void
An empty function by default, but provided so that you can perform a custom action when the dragged item enters the d...

An empty function by default, but provided so that you can perform a custom action when the dragged item enters the drop target by providing an implementation.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- void

Ext.dd.DragSource
view source
afterDragOut( Ext.dd.DragDrop target, Event e, String id) : void
An empty function by default, but provided so that you can perform a custom action after the dragged item is dragged ...

An empty function by default, but provided so that you can perform a custom action after the dragged item is dragged out of the target without dropping.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- void

Ext.dd.DragSource
view source
afterDragOver( Ext.dd.DragDrop target, Event e, String id) : void
An empty function by default, but provided so that you can perform a custom action while the dragged item is over the...

An empty function by default, but provided so that you can perform a custom action while the dragged item is over the drop target by providing an implementation.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- void

Ext.dd.DragSource
view source
afterInvalidDrop( Event e, String id) : void
An empty function by default, but provided so that you can perform a custom action after an invalid drop has occurred...

An empty function by default, but provided so that you can perform a custom action after an invalid drop has occurred by providing an implementation.

### Parameters

- e : Event

  The event object

- id : String

  The id of the dropped element

### Returns

- void

Ext.dd.DragZone
view source
afterRepair : void

Called after a repair of an invalid drop. By default, highlights this.dragData.ddel

Called after a repair of an invalid drop. By default, highlights this.dragData.ddel

### Returns

- void

Ext.dd.DD
view source
alignElWithMouse( HTMLElement el, int iPageX, int iPageY) : void
Sets the element to the location of the mousedown or click event, maintaining the cursor location relative to the loc...

Sets the element to the location of the mousedown or click event, maintaining the cursor location relative to the location on the element that was clicked. Override this if you want to place the element in a location other than where the cursor is.

### Parameters

- el : HTMLElement

  the element to move

- iPageX : int

  the X coordinate of the mousedown or drag event

- iPageY : int

  the Y coordinate of the mousedown or drag event

### Returns

- void

Ext.dd.DD
view source
applyConfig : void
Sets up config options specific to this class. Overrides Ext.dd.DragDrop, but all versions of this method through the...

Sets up config options specific to this class. Overrides Ext.dd.DragDrop, but all versions of this method through the inheritance chain are called

### Returns

- void

Ext.dd.DD
view source
autoOffset( int iPageX, int iPageY) : void
Sets the pointer offset to the distance between the linked element's top left corner and the location the element was...

Sets the pointer offset to the distance between the linked element's top left corner and the location the element was clicked

### Parameters

- iPageX : int

  the X coordinate of the click

- iPageY : int

  the Y coordinate of the click

### Returns

- void

Ext.dd.DD
view source
b4Drag( Object e) : void

Event that fires prior to the onDrag event. Overrides Ext.dd.DragDrop.

Event that fires prior to the onDrag event. Overrides Ext.dd.DragDrop.

### Parameters

- e : Object

### Returns

- void

Ext.dd.DD
view source
b4MouseDown( Object e) : void

Event that fires prior to the onMouseDown event. Overrides Ext.dd.DragDrop.

Event that fires prior to the onMouseDown event. Overrides Ext.dd.DragDrop.

### Parameters

- e : Object

### Returns

- void

Ext.dd.DragSource
view source
beforeDragDrop( Ext.dd.DragDrop target, Event e, String id) : Boolean
An empty function by default, but provided so that you can perform a custom action before the dragged item is dropped...

An empty function by default, but provided so that you can perform a custom action before the dragged item is dropped onto the target and optionally cancel the onDragDrop.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- Boolean

  isValid True if the drag drop event is valid, else false to cancel

Ext.dd.DragSource
view source
beforeDragEnter( Ext.dd.DragDrop target, Event e, String id) : Boolean
An empty function by default, but provided so that you can perform a custom action before the dragged item enters the...

An empty function by default, but provided so that you can perform a custom action before the dragged item enters the drop target and optionally cancel the onDragEnter.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- Boolean

  isValid True if the drag event is valid, else false to cancel

Ext.dd.DragSource
view source
beforeDragOut( Ext.dd.DragDrop target, Event e, String id) : Boolean
An empty function by default, but provided so that you can perform a custom action before the dragged item is dragged...

An empty function by default, but provided so that you can perform a custom action before the dragged item is dragged out of the target without dropping, and optionally cancel the onDragOut.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- Boolean

  isValid True if the drag event is valid, else false to cancel

Ext.dd.DragSource
view source
beforeDragOver( Ext.dd.DragDrop target, Event e, String id) : Boolean
An empty function by default, but provided so that you can perform a custom action while the dragged item is over the...

An empty function by default, but provided so that you can perform a custom action while the dragged item is over the drop target and optionally cancel the onDragOver.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- Boolean

  isValid True if the drag event is valid, else false to cancel

Ext.dd.DragSource
view source
beforeInvalidDrop( Ext.dd.DragDrop target, Event e, String id) : Boolean

An empty function by default, but provided so that you can perform a custom action after an invalid drop has occurred.

An empty function by default, but provided so that you can perform a custom action after an invalid drop has occurred.

### Parameters

- target : Ext.dd.DragDrop

  The drop target

- e : Event

  The event object

- id : String

  The id of the dragged element

### Returns

- Boolean

  isValid True if the invalid drop should proceed, else false to cancel

Ext.dd.DD
view source
cachePosition( Object iPageX, Object iPageY) : void
Saves the most recent position so that we can reset the constraints and tick marks on-demand. We need to know this s...

Saves the most recent position so that we can reset the constraints and tick marks on-demand. We need to know this so that we can calculate the number of pixels the element is offset from its original position.

### Parameters

- iPageX : Object

  the current x position (optional, this just makes it so we don't have to look it up again)

- iPageY : Object

  the current y position (optional, this just makes it so we don't have to look it up again)

### Returns

- void

Ext.dd.DragDrop
view source
clearConstraints : void
Clears any constraints applied to this instance. Also clears ticks since they can't exist independent of a constrain...

Clears any constraints applied to this instance. Also clears ticks since they can't exist independent of a constraint at this time.

### Returns

- void

Ext.dd.DragDrop
view source
clearTicks : void

Clears any tick interval defined for this instance

Clears any tick interval defined for this instance

### Returns

- void

Ext.dd.DragDrop
view source
constrainTo( Mixed constrainTo, [Object/Number pad], [Boolean inContent]) : void
Initializes the drag drop object's constraints to restrict movement to a certain element. Usage: var dd = new Ext....

Initializes the drag drop object's constraints to restrict movement to a certain element.

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 Ext.core.Element object:

     Ext.get("dragDiv1").initDDProxy("proxytest", {dragElId: "existingProxyDiv"}, {
         startDrag : function(){
             this.constrainTo("parent-id");
         }
     });

### Parameters

- constrainTo : Mixed

  The element to constrain to.

- pad : Object/Number

  (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}

- inContent : Boolean

  (optional) Constrain the draggable in the content box of the element (inside padding and borders)

### Returns

- void

Ext.dd.DDProxy
view source
createFrame : void

Creates the proxy element if it does not yet exist

Creates the proxy element if it does not yet exist

### Returns

- void

Ext.dd.DragDrop
view source
endDrag( Event e) : void

Fired when we are done dragging the object

Fired when we are done dragging the object

### Parameters

- e : Event

  the mouseup event

### Returns

- void

Ext.dd.DragZone
view source
getDragData( EventObject e) : Object
Called when a mousedown occurs in this container. Looks in Ext.dd.Registry for a valid target to drag based on the mo...

Called when a mousedown occurs in this container. Looks in Ext.dd.Registry for a valid target to drag based on the mouse down. Override this method to provide your own lookup logic (e.g. finding a child by class name). Make sure your returned object has a "ddel" attribute (with an HTML Element) for other functions to work.

### Parameters

- e : EventObject

  The mouse down event

### Returns

- Object

  The dragData

Ext.dd.DragDrop
view source
getDragEl : HTMLElement
Returns a reference to the actual element to drag. By default this is the same as the html element, but it can be as...

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

### Returns

- HTMLElement

  the html element

Ext.dd.DragDrop
view source
getEl : HTMLElement

Returns a reference to the linked element

Returns a reference to the linked element

### Returns

- HTMLElement

  the html element

Ext.dd.DragSource
view source
getProxy : Ext.dd.StatusProxy

Returns the drag source's underlying Ext.dd.StatusProxy

Returns the drag source's underlying Ext.dd.StatusProxy

### Returns

- Ext.dd.StatusProxy

  proxy The StatusProxy

Ext.dd.DragZone
view source
getRepairXY( EventObject e) : Array

Called before a repair of an invalid drop to get the XY to animate to. By default returns the XY of this.dragData.ddel

Called before a repair of an invalid drop to get the XY to animate to. By default returns the XY of this.dragData.ddel

### Parameters

- e : EventObject

  The mouse up event

### Returns

- Array

  The xy location (e.g. [100, 200])

Ext.dd.DragSource
view source
hideProxy : void

Hides the drag source's Ext.dd.StatusProxy

Hides the drag source's Ext.dd.StatusProxy

### Returns

- void

Ext.dd.DragDrop
view source
init( Object id, String sGroup, object config) : void

Sets up the DragDrop object. Must be called in the constructor of any Ext.dd.DragDrop subclass

Sets up the DragDrop object. Must be called in the constructor of any Ext.dd.DragDrop subclass

### Parameters

- id : Object

  the id of the linked element

- sGroup : String

  the group of related items

- config : object

  configuration attributes

### Returns

- void

Ext.dd.DDProxy
view source
initFrame : void

Initialization for the drag frame element. Must be called in the constructor of all subclasses

Initialization for the drag frame element. Must be called in the constructor of all subclasses

### Returns

- void

Ext.dd.DragDrop
view source
initTarget( Object id, String sGroup, object config) : void

Initializes Targeting functionality only... the object does not get a mousedown handler.

Initializes Targeting functionality only... the object does not get a mousedown handler.

### Parameters

- id : Object

  the id of the linked element

- sGroup : String

  the group of related items

- config : object

  configuration attributes

### Returns

- void

Ext.dd.DragDrop
view source
isLocked : boolean
Returns true if this instance is locked, or the drag drop mgr is locked (meaning that all drag/drop is disabled on th...

Returns true if this instance is locked, or the drag drop mgr is locked (meaning that all drag/drop is disabled on the page.)

### Returns

- boolean

  true if this obj or all drag/drop is locked, else false

Ext.dd.DragDrop
view source
isValidHandleChild( HTMLElement node) : boolean

Checks the tag exclusion list to see if this click should be ignored

Checks the tag exclusion list to see if this click should be ignored

### Parameters

- node : HTMLElement

  the HTMLElement to evaluate

### Returns

- boolean

  true if this is a valid tag type, false if not

Ext.dd.DragDrop
view source
lock : void

Lock this instance

Lock this instance

### Returns

- void

Ext.dd.DragDrop
view source
onAvailable : void

Override the onAvailable method to do what is needed after the initial position was determined.

Override the onAvailable method to do what is needed after the initial position was determined.

### Returns

- void

Ext.dd.DragSource
view source
onBeforeDrag( Object data, Event e) : Boolean
An empty function by default, but provided so that you can perform a custom action before the initial drag event begi...

An empty function by default, but provided so that you can perform a custom action before the initial drag event begins and optionally cancel it.

### Parameters

- data : Object

  An object containing arbitrary data to be shared with drop targets

- e : Event

  The event object

### Returns

- Boolean

  isValid True if the drag event is valid, else false to cancel

Ext.dd.DragDrop
view source
onDrag( Event e) : void

Abstract method called during the onMouseMove event while dragging an object.

Abstract method called during the onMouseMove event while dragging an object.

### Parameters

- e : Event

  the mousemove event

### Returns

- void

Ext.dd.DragDrop
view source
onDragDrop( Event e, String|DragDrop[] id) : void

Abstract method called when this item is dropped on another DragDrop obj

Abstract method called when this item is dropped on another DragDrop obj

### Parameters

- e : Event

  the mouseup event

- id : String|DragDrop[]

  In POINT mode, the element id this was dropped on. In INTERSECT mode, an array of dd items this was dropped on.

### Returns

- void

Ext.dd.DragDrop
view source
onDragEnter( Event e, String|DragDrop[] id) : void

Abstract method called when this element fist begins hovering over another DragDrop obj

Abstract method called when this element fist begins hovering over another DragDrop obj

### Parameters

- e : Event

  the mousemove event

- id : String|DragDrop[]

  In POINT mode, the element id this is hovering over. In INTERSECT mode, an array of one or more dragdrop items being hovered over.

### Returns

- void

Ext.dd.DragDrop
view source
onDragOut( Event e, String|DragDrop[] id) : void

Abstract method called when we are no longer hovering over an element

Abstract method called when we are no longer hovering over an element

### Parameters

- e : Event

  the mousemove event

- id : String|DragDrop[]

  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.

### Returns

- void

Ext.dd.DragDrop
view source
onDragOver( Event e, String|DragDrop[] id) : void

Abstract method called when this element is hovering over another DragDrop obj

Abstract method called when this element is hovering over another DragDrop obj

### Parameters

- e : Event

  the mousemove event

- id : String|DragDrop[]

  In POINT mode, the element id this is hovering over. In INTERSECT mode, an array of dd items being hovered over.

### Returns

- void

Ext.dd.DragZone
view source
onInitDrag( Number x, Number y) : Boolean
Called once drag threshold has been reached to initialize the proxy element. By default, it clones the this.dragData....

Called once drag threshold has been reached to initialize the proxy element. By default, it clones the this.dragData.ddel

### Parameters

- x : Number

  The x position of the click on the dragged object

- y : Number

  The y position of the click on the dragged object

### Returns

- Boolean

  true to continue the drag, false to cancel

Ext.dd.DragDrop
view source
onInvalidDrop( Event e) : void

Abstract method called when this item is dropped on an area with no drop target

Abstract method called when this item is dropped on an area with no drop target

### Parameters

- e : Event

  the mouseup event

### Returns

- void

Ext.dd.DragDrop
view source
onMouseDown( Event e) : void

Event handler that fires when a drag/drop obj gets a mousedown

Event handler that fires when a drag/drop obj gets a mousedown

### Parameters

- e : Event

  the mousedown event

### Returns

- void

Ext.dd.DragDrop
view source
onMouseUp( Event e) : void

Event handler that fires when a drag/drop obj gets a mouseup

Event handler that fires when a drag/drop obj gets a mouseup

### Parameters

- e : Event

  the mouseup event

### Returns

- void

Ext.dd.DragDrop
view source
removeFromGroup( string sGroup) : void

Remove's this instance from the supplied interaction group

Remove's this instance from the supplied interaction group

### Parameters

- sGroup : string

  The group to drop

### Returns

- void

Ext.dd.DragDrop
view source
removeInvalidHandleClass( string cssClass) : void

Unsets an invalid css class

Unsets an invalid css class

### Parameters

- cssClass : string

  the class of the element(s) you wish to re-enable

### Returns

- void

Ext.dd.DragDrop
view source
removeInvalidHandleId( string id) : void

Unsets an invalid handle id

Unsets an invalid handle id

### Parameters

- id : string

  the id of the element to re-enable

### Returns

- void

Ext.dd.DragDrop
view source
removeInvalidHandleType( string tagName) : void

Unsets an excluded tag name set by addInvalidHandleType

Unsets an excluded tag name set by addInvalidHandleType

### Parameters

- tagName : string

  the type of element to unexclude

### Returns

- void

Ext.dd.DragDrop
view source
resetConstraints( boolean maintainOffset) : void

resetConstraints must be called if you manually reposition a dd element.

resetConstraints must be called if you manually reposition a dd element.

### Parameters

- maintainOffset : boolean

### Returns

- void

Ext.dd.DD
view source
setDelta( int iDeltaX, int iDeltaY) : void
Sets the pointer offset. You can call this directly to force the offset to be in a particular location (e.g., pass i...

Sets the pointer offset. You can call this directly to force the offset to be in a particular location (e.g., pass in 0,0 to set it to the center of the object)

### Parameters

- iDeltaX : int

  the distance from the left

- iDeltaY : int

  the distance from the top

### Returns

- void

Ext.dd.DragDrop
view source
setDragElId( Object id) : void

Allows you to specify that an element other than the linked element will be moved with the cursor during a drag

Allows you to specify that an element other than the linked element will be moved with the cursor during a drag

### Parameters

- id : Object

  {string} the id of the element that will be used to initiate the drag

### Returns

- void

Ext.dd.DD
view source
setDragElPos( int iPageX, int iPageY) : void
Sets the drag element to the location of the mousedown or click event, maintaining the cursor location relative to th...

Sets the drag element to the location of the mousedown or click event, maintaining the cursor location relative to the location on the element that was clicked. Override this if you want to place the element in a location other than where the cursor is.

### Parameters

- iPageX : int

  the X coordinate of the mousedown or drag event

- iPageY : int

  the Y coordinate of the mousedown or drag event

### Returns

- void

Ext.dd.DragDrop
view source
setHandleElId( Object id) : void
Allows you to specify a child of the linked element that should be used to initiate the drag operation. An example o...

Allows you to specify a child of the linked element that should be used to initiate the drag operation. An example of this would be if you have a content div with text and links. Clicking anywhere in the 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.

### Parameters

- id : Object

  {string} the id of the element that will be used to initiate the drag.

### Returns

- void

Ext.dd.DragDrop
view source
setInitPosition( int diffX, int diffY) : void

Stores the initial placement of the linked element.

Stores the initial placement of the linked element.

### Parameters

- diffX : int

  the X offset, default 0

- diffY : int

  the Y offset, default 0

### Returns

- void

Ext.dd.DragDrop
view source
setOuterHandleElId( Object id) : void

Allows you to set an element outside of the linked element as a drag handle

Allows you to set an element outside of the linked element as a drag handle

### Parameters

- id : Object

  the id of the element that will be used to initiate the drag

### Returns

- void

Ext.dd.DragDrop
view source
setPadding( int iTop, int iRight, int iBot, int iLeft) : void
Configures the padding for the target zone in px. Effectively expands (or reduces) the virtual object size for targe...

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.

### Parameters

- iTop : int

  Top pad

- iRight : int

  Right pad

- iBot : int

  Bot pad

- iLeft : int

  Left pad

### Returns

- void

Ext.dd.DragDrop
view source
setXConstraint( int iLeft, int iRight, int iTickSize) : void
By default, the element can be dragged any place on the screen. Use this method to limit the horizontal travel of th...

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.

### Parameters

- iLeft : int

  the number of pixels the element can move to the left

- iRight : int

  the number of pixels the element can move to the right

- iTickSize : int

  optional parameter for specifying that the element should move iTickSize pixels at a time.

### Returns

- void

Ext.dd.DragDrop
view source
setYConstraint( int iUp, int iDown, int iTickSize) : void
By default, the element can be dragged any place on the screen. Set this to limit the vertical travel of the element...

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.

### Parameters

- iUp : int

  the number of pixels the element can move up

- iDown : int

  the number of pixels the element can move down

- iTickSize : int

  optional parameter for specifying that the element should move iTickSize pixels at a time.

### Returns

- void

Ext.dd.DragDrop
view source
startDrag( int X, int Y) : void

Abstract method called after a drag/drop object is clicked and the drag or mousedown time thresholds have beeen met.

Abstract method called after a drag/drop object is clicked and the drag or mousedown time thresholds have beeen met.

### Parameters

- X : int

  click location

- Y : int

  click location

### Returns

- void

Ext.dd.DragDrop
view source
toString : string

toString method

toString method

### Returns

- string

  string representation of the dd obj

Ext.dd.DragDrop
view source
unlock : void

Unlock this instace

Unlock this instace

### Returns

- void

Ext.dd.DragDrop
view source
unreg : void

Remove all drag and drop hooks for this element

Remove all drag and drop hooks for this element

### Returns

- void