Class type Ext_dd_DragDrop.t


class type t = object .. end
Inherits
method available : bool Js.t Js.prop

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

Defaults to: false

method config : 'a. 'a Js.t Js.prop

Configuration attributes passed into the constructor


method defaultPadding : 'b. 'b Js.t Js.prop

Provides default constraint padding to "constrainTo" elements.

Defaults to: {left: 0, right: 0, top: 0, bottom: 0}

method groups : 'c. 'c Js.t Js.prop

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}


method hasOuterHandles : bool Js.t Js.prop

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. Defaults to false.

Defaults to: false

method id : Js.js_string Js.t Js.prop

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.


method ignoreSelf : bool Js.t Js.prop

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.


method invalidHandleClasses : Js.js_string Js.t Js.js_array Js.t Js.prop

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


method invalidHandleIds : 'd. 'd Js.t Js.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
}

method invalidHandleTypes : 'e. 'e Js.t Js.prop

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

method isTarget : bool Js.t Js.prop

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

Defaults to: true

method maintainOffset : bool Js.t Js.prop

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

Defaults to: false

method moveOnly : bool Js.t Js.prop

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

method padding : Js.number Js.t Js.js_array Js.t Js.prop

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]


method primaryButtonOnly : bool Js.t Js.prop

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

Defaults to: true

method xTicks : Js.number Js.t Js.js_array Js.t Js.prop

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.


method yTicks : Js.number Js.t Js.js_array Js.t Js.prop

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.


method addInvalidHandleClass : Js.js_string Js.t -> unit Js.meth

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

Parameters:


method addInvalidHandleId : Js.js_string Js.t -> unit Js.meth

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

Parameters:


method addInvalidHandleType : Js.js_string Js.t -> unit Js.meth

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:


method addToGroup : Js.js_string Js.t -> unit Js.meth

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.

Parameters:


method applyConfig : unit Js.meth

Applies the configuration parameters that were passed into the constructor. This is supposed to happen at each level through the inheritance chain. So 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 clearConstraints : unit Js.meth

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


method clearTicks : unit Js.meth

Clears any tick interval defined for this instance


method constrainTo : 'f 'g. 'f Js.t -> 'g Js.t Js.optdef -> bool Js.t Js.optdef -> unit Js.meth

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

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

Parameters:


method destroy : unit Js.meth

Destroy this DragDrop instance


method endDrag : Dom_html.event Js.t -> unit Js.meth

Called when we are done dragging the object

Parameters:


method getDragEl : Dom_html.element Js.t Js.meth

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:


method getEl : Dom_html.element Js.t Js.meth

Returns a reference to the linked element

Returns:


method init : 'h. Js.js_string Js.t -> Js.js_string Js.t -> 'h Js.t -> unit Js.meth

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

Parameters:


method initTarget : 'i. Js.js_string Js.t -> Js.js_string Js.t -> 'i Js.t -> unit Js.meth

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

Parameters:


method isLocked : bool Js.t Js.meth

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:


method isValidHandleChild : Dom_html.element Js.t -> bool Js.t Js.meth

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

Parameters:

Returns:


method lock : unit Js.meth

Locks this instance


method onAvailable : unit Js.meth

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


method onDrag : Dom_html.event Js.t -> unit Js.meth

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

Parameters:


method onDragDrop : 'j. Dom_html.event Js.t -> 'j Js.t -> unit Js.meth

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

Parameters:


method onDragEnter : 'k. Dom_html.event Js.t -> 'k Js.t -> unit Js.meth

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

Parameters:


method onDragOut : 'l. Dom_html.event Js.t -> 'l Js.t -> unit Js.meth

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

Parameters:


method onDragOver : 'm. Dom_html.event Js.t -> 'm Js.t -> unit Js.meth

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

Parameters:


method onInvalidDrop : Dom_html.event Js.t -> unit Js.meth

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

Parameters:


method onMouseDown : Dom_html.event Js.t -> unit Js.meth

Called when a drag/drop obj gets a mousedown

Parameters:


method onMouseUp : Dom_html.event Js.t -> unit Js.meth

Called when a drag/drop obj gets a mouseup

Parameters:


method removeFromGroup : Js.js_string Js.t -> unit Js.meth

Removes this instance from the supplied interaction group

Parameters:


method removeInvalidHandleClass : Js.js_string Js.t -> unit Js.meth

Unsets an invalid css class

Parameters:


method removeInvalidHandleId : Js.js_string Js.t -> unit Js.meth

Unsets an invalid handle id

Parameters:


method removeInvalidHandleType : Js.js_string Js.t -> unit Js.meth

Unsets an excluded tag name set by addInvalidHandleType

Parameters:


method resetConstraints : bool Js.t -> unit Js.meth

Must be called if you manually reposition a dd element.

Parameters:


method setDragElId : Js.js_string Js.t -> unit Js.meth

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

Parameters:


method setHandleElId : Js.js_string Js.t -> unit Js.meth

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:


method setInitPosition : Js.number Js.t -> Js.number Js.t -> unit Js.meth

Stores the initial placement of the linked element.

Parameters:


method setOuterHandleElId : Js.js_string Js.t -> unit Js.meth

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

Parameters:


method setPadding : Js.number Js.t ->
Js.number Js.t -> Js.number Js.t -> Js.number Js.t -> unit Js.meth

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:


method setXConstraint : Js.number Js.t -> Js.number Js.t -> Js.number Js.t Js.optdef -> unit Js.meth

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:


method setYConstraint : Js.number Js.t -> Js.number Js.t -> Js.number Js.t Js.optdef -> unit Js.meth

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:


method startDrag : Js.number Js.t -> Js.number Js.t -> unit Js.meth

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

Parameters:


method toString : Js.js_string Js.t Js.meth

toString method

Returns:


method unlock : unit Js.meth

Unlocks this instace


method unreg : unit Js.meth

Removes all drag and drop hooks for this element