a:54:{s:9:"#provides";s:21:"dijit._tree.dndSource";s:9:"#resource";s:18:"_tree/dndSource.js";s:9:"#requires";a:2:{i:0;a:2:{i:0;s:6:"common";i:1;s:23:"dijit._tree.dndSelector";}i:1;a:3:{i:0;s:6:"common";i:1;s:16:"dojo.dnd.Manager";i:2;s:4:"dojo";}}s:21:"dijit._tree.dndSource";a:8:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:23:"dijit._tree.dndSelector";}s:4:"call";a:1:{i:0;s:23:"dijit._tree.dndSelector";}}s:7:"summary";s:36:"a constructor of the Tree DnD Source";s:10:"parameters";a:2:{s:4:"tree";a:1:{s:4:"type";s:10:"dijit.Tree";}s:6:"params";a:1:{s:4:"type";s:24:"dijit._tree.__SourceArgs";}}s:6:"source";s:1333:" if(!params){ params = {}; } dojo.mixin(this, params); this.isSource = typeof params.isSource == "undefined" ? true : params.isSource; var type = params.accept instanceof Array ? params.accept : ["text"]; this.accept = null; if(type.length){ this.accept = {}; for(var i = 0; i < type.length; ++i){ this.accept[type[i]] = 1; } } // class-specific variables this.isDragging = false; this.mouseDown = false; this.targetAnchor = null; // DOMNode corresponding to the currently moused over TreeNode this.targetBox = null; // coordinates of this.targetAnchor this.dropPosition = ""; // whether mouse is over/after/before this.targetAnchor this._lastX = 0; this._lastY = 0; // states this.sourceState = ""; if(this.isSource){ dojo.addClass(this.node, "dojoDndSource"); } this.targetState = ""; if(this.accept){ dojo.addClass(this.node, "dojoDndTarget"); } // set up events this.topics = [ dojo.subscribe("/dnd/source/over", this, "onDndSourceOver"), dojo.subscribe("/dnd/start", this, "onDndStart"), dojo.subscribe("/dnd/drop", this, "onDndDrop"), dojo.subscribe("/dnd/cancel", this, "onDndCancel") ]; this.events.push( // monitor mouse movements to tell when drag starts etc. dojo.connect(this.node, "onmousemove", this, "onMouseMove") );";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;s:9:"classlike";b:1;}s:30:"dijit._tree.dndSource.isSource";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"tags";a:1:{i:0;s:7:"private";}s:4:"type";s:7:"Boolean";s:7:"summary";s:28:"Can be used as a DnD source.";s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;}s:28:"dijit._tree.dndSource.accept";a:5:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:7:"String[";s:7:"summary";s:82:"List of accepted types (text strings) for the Tree; defaults to ["text"]";s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;}s:30:"dijit._tree.dndSource.copyOnly";a:5:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"tags";a:1:{i:0;s:7:"private";}s:4:"type";s:7:"Boolean";s:7:"summary";s:54:"Copy items, if true, use a state of Ctrl key otherwise";s:14:"private_parent";b:1;}s:35:"dijit._tree.dndSource.dragThreshold";a:4:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:6:"Number";s:7:"summary";s:62:"The move delay in pixels before detecting a drag; 0 by default";s:14:"private_parent";b:1;}s:38:"dijit._tree.dndSource.betweenThreshold";a:4:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:7:"Integer";s:7:"summary";s:69:"Distance from upper/lower edge of node to allow drop to reorder nodes";s:14:"private_parent";b:1;}s:30:"dijit._tree.dndSource.skipForm";a:5:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"tags";a:1:{i:0;s:7:"private";}s:4:"type";s:7:"Boolean";s:7:"summary";s:42:"TODO: apparently unused, should be removed";s:14:"private_parent";b:1;}s:29:"dijit._tree.dndSource.startup";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:77:" // summary: // Apparently unused. TODO: remove // tags: // private";s:7:"summary";s:32:"Apparently unused. TODO: remove";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:37:"dijit._tree.dndSource.checkAcceptance";a:8:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"source";a:2:{s:4:"type";s:21:"dijit.tree._dndSource";s:7:"summary";s:31:"The source which provides items";}s:5:"nodes";a:2:{s:4:"type";s:8:"DOMNode[";s:7:"summary";s:102:"Array of DOM nodes corresponding to nodes being dropped, dijitTreeRow nodes if source is a dijit.Tree.";}}s:6:"source";s:25:" return true; // Boolean";s:7:"summary";s:54:"Checks if the target can accept nodes from this source";s:4:"tags";s:9:"extension";s:7:"returns";s:7:"Boolean";s:14:"private_parent";b:1;}s:31:"dijit._tree.dndSource.copyState";a:8:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:10:"keyPressed";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:44:"The "copy" control key was pressed";}}s:6:"source";s:48:" return this.copyOnly || keyPressed; // Boolean";s:7:"summary";s:112:"Returns true, if we need to copy items, false to move. It is separated to be overwritten dynamically, if needed.";s:4:"tags";s:9:"protected";s:7:"returns";s:7:"Boolean";s:14:"private_parent";b:1;}s:29:"dijit._tree.dndSource.destroy";a:5:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:113:" this.inherited("destroy",arguments); dojo.forEach(this.topics, dojo.unsubscribe); this.targetAnchor = null;";s:7:"summary";s:44:"Prepares the object to be garbage-collected.";s:14:"private_parent";b:1;}s:34:"dijit._tree.dndSource._onDragMouse";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:2073:" var m = dojo.dnd.manager(), oldTarget = this.targetAnchor, // the DOMNode corresponding to TreeNode mouse was previously over newTarget = this.current, // DOMNode corresponding to TreeNode mouse is currently over newTargetWidget = this.currentWidget, // the TreeNode itself oldDropPosition = this.dropPosition; // the previous drop position (over/before/after) // calculate if user is indicating to drop the dragged node before, after, or over // (i.e., to become a child of) the target node var newDropPosition = "Over"; if(newTarget && this.betweenThreshold > 0){ // If mouse is over a new TreeNode, then get new TreeNode's position and size if(!this.targetBox || oldTarget != newTarget){ this.targetBox = { xy: dojo.coords(newTarget, true), w: newTarget.offsetWidth, h: newTarget.offsetHeight }; } if((e.pageY - this.targetBox.xy.y) <= this.betweenThreshold){ newDropPosition = "Before"; }else if((e.pageY - this.targetBox.xy.y) >= (this.targetBox.h - this.betweenThreshold)){ newDropPosition = "After"; } } if(newTarget != oldTarget || newDropPosition != oldDropPosition){ if(oldTarget){ this._removeItemClass(oldTarget, oldDropPosition); } if(newTarget){ this._addItemClass(newTarget, newDropPosition); } // Check if it's ok to drop the dragged node on/before/after the target node. if(!newTarget){ m.canDrop(false); }else if(newTargetWidget == this.tree.rootNode && newDropPosition != "Over"){ // Can't drop before or after tree's root node; the dropped node would just disappear (at least visually) m.canDrop(false); }else if(m.source == this && (newTarget.id in this.selection)){ // Guard against dropping onto yourself (TODO: guard against dropping onto your descendant, #7140) m.canDrop(false); }else if(this.checkItemAcceptance(newTarget, m.source, newDropPosition.toLowerCase())){ m.canDrop(true); }else{ m.canDrop(false); } this.targetAnchor = newTarget; this.dropPosition = newDropPosition; }";s:7:"summary";s:122:"Helper method for processing onmousemove/onmouseover events while drag is in progress. Keeps track of current drop target.";s:7:"private";b:1;s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.onMouseMove";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:2:{s:4:"type";s:5:"Event";s:7:"summary";s:18:"onmousemouse event";}}s:6:"source";s:566:" if(this.isDragging && this.targetState == "Disabled"){ return; } var m = dojo.dnd.manager(); if(this.isDragging){ if(this.betweenThreshold > 0){ this._onDragMouse(e); } }else{ if(this.mouseDown && this.isSource && (Math.abs(e.pageX-this._lastX)>=this.dragThreshold || Math.abs(e.pageY-this._lastY)>=this.dragThreshold)){ var n = this.getSelectedNodes(); var nodes=[]; for (var i in n){ nodes.push(n[i]); } if(nodes.length){ m.startDrag(this, nodes, this.copyState(dojo.dnd.getCopyKeyState(e))); } } }";s:7:"summary";s:47:"Called for any onmousemove events over the Tree";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.onMouseDown";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:2:{s:4:"type";s:5:"Event";s:7:"summary";s:17:"onmousedown event";}}s:6:"source";s:148:" this.mouseDown = true; this.mouseButton = e.button; this._lastX = e.pageX; this._lastY = e.pageY; this.inherited("onMouseDown",arguments);";s:7:"summary";s:31:"Event processor for onmousedown";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:31:"dijit._tree.dndSource.onMouseUp";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"e";a:2:{s:4:"type";s:5:"Event";s:7:"summary";s:15:"onmouseup event";}}s:6:"source";s:94:" if(this.mouseDown){ this.mouseDown = false; this.inherited("onMouseUp",arguments); }";s:7:"summary";s:29:"Event processor for onmouseup";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.onMouseOver";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"widget";a:1:{s:4:"type";s:8:"TreeNode";}s:1:"e";a:1:{s:4:"type";s:5:"Event";}}s:6:"source";s:82:" this.inherited(arguments); if(this.isDragging){ this._onDragMouse(e); }";s:7:"summary";s:55:"Event processor for when mouse is moved over a TreeNode";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:32:"dijit._tree.dndSource.onMouseOut";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:58:" this.inherited(arguments); this._unmarkTargetAnchor();";s:7:"summary";s:60:"Event processor for when mouse is moved away from a TreeNode";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:41:"dijit._tree.dndSource.checkItemAcceptance";a:8:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"target";a:2:{s:4:"type";s:7:"DOMNode";s:7:"summary";s:134:"The dijitTreeRoot DOM node inside of the TreeNode that we are dropping on to Use dijit.getEnclosingWidget(target) to get the TreeNode.";}s:6:"source";a:2:{s:4:"type";s:21:"dijit._tree.dndSource";s:7:"summary";s:34:"The (set of) nodes we are dropping";}s:8:"position";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:58:""over", "before", or "after"";}}s:6:"source";s:15:" return true; ";s:7:"summary";s:99:"Stub function to be overridden if one wants to check for the ability to drop at the node/item level";s:11:"description";s:229:"In the base case, this is called to check if target can become a child of source. When betweenThreshold is set, position="before" or "after" means that we are asking if the source node can be dropped before/after the target node.";s:4:"tags";s:9:"extension";s:14:"private_parent";b:1;}s:37:"dijit._tree.dndSource.onDndSourceOver";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:6:"source";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:71:"The dijit.tree._dndSource / dojo.dnd.Source which has the mouse over it";}}s:6:"source";s:164:" if(this != source){ this.mouseDown = false; this._unmarkTargetAnchor(); }else if(this.isDragging){ var m = dojo.dnd.manager(); m.canDrop(false); }";s:7:"summary";s:82:"Topic event processor for /dnd/source/over, called when detected a current source.";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:32:"dijit._tree.dndSource.onDndStart";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"source";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:72:"The dijit.tree._dndSource / dojo.dnd.Source which is providing the items";}s:5:"nodes";a:2:{s:4:"type";s:8:"DomNode[";s:7:"summary";s:72:"The list of transferred items, dndTreeNode nodes if dragging from a Tree";}s:4:"copy";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:41:"Copy items, if true, move items otherwise";}}s:6:"source";s:312:" if(this.isSource){ this._changeState("Source", this == source ? (copy ? "Copied" : "Moved") : ""); } var accepted = this.checkAcceptance(source, nodes); this._changeState("Target", accepted ? "" : "Disabled"); if(accepted){ dojo.dnd.manager().overSource(this); } this.isDragging = true;";s:7:"summary";s:74:"Topic event processor for /dnd/start, called to initiate the DnD operation";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.itemCreator";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:5:"nodes";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:136:" return dojo.map(nodes, function(node){ return { "id": node.id, "name": node.textContent || node.innerText || "" }; });";s:7:"summary";s:107:"Returns the "item" passed to the drop target (which is not necessarily a Tree, could be anything)";s:4:"tags";s:9:"protected";s:14:"private_parent";b:1;}s:31:"dijit._tree.dndSource.onDndDrop";a:8:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:6:"source";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:72:"The dijit.tree._dndSource / dojo.dnd.Source which is providing the items";}s:5:"nodes";a:2:{s:4:"type";s:8:"DomNode[";s:7:"summary";s:72:"The list of transferred items, dndTreeNode nodes if dragging from a Tree";}s:4:"copy";a:2:{s:4:"type";s:7:"Boolean";s:7:"summary";s:41:"Copy items, if true, move items otherwise";}}s:6:"source";s:2431:" if(this.containerState == "Over"){ var tree = this.tree, model = tree.model, target = this.targetAnchor, requeryRoot = false; // set to true iff top level items change this.isDragging = false; // Compute the new parent item var targetWidget = dijit.getEnclosingWidget(target); var newParentItem; var insertIndex; newParentItem = (targetWidget && targetWidget.item) || tree.item; if(this.dropPosition == "Before" || this.dropPosition == "After"){ // TODO: if there is no parent item then disallow the drop. // Actually this should be checked during onMouseMove too, to make the drag icon red. newParentItem = (targetWidget.getParent() && targetWidget.getParent().item) || tree.item; // Compute the insert index for reordering insertIndex = targetWidget.getIndexInParent(); if(this.dropPosition == "After"){ insertIndex = targetWidget.getIndexInParent() + 1; } }else{ newParentItem = (targetWidget && targetWidget.item) || tree.item; } // If we are dragging from another source (or at least, another source // that points to a different data store), then we need to make new data // store items for each element in nodes[]. This call get the parameters // to pass to store.newItem() var newItemsParams; if(source != this){ newItemsParams = this.itemCreator(nodes, target); } dojo.forEach(nodes, function(node, idx){ if(source == this){ // This is a node from my own tree, and we are moving it, not copying. // Remove item from old parent's children attribute. // TODO: dijit._tree.dndSelector should implement deleteSelectedNodes() // and this code should go there. var childTreeNode = dijit.getEnclosingWidget(node), childItem = childTreeNode.item, oldParentItem = childTreeNode.getParent().item; if(typeof insertIndex == "number"){ if(newParentItem == oldParentItem && childTreeNode.getIndexInParent() < insertIndex){ insertIndex -= 1; } } model.pasteItem(childItem, oldParentItem, newParentItem, copy, insertIndex); }else{ model.newItem(newItemsParams[idx], newParentItem); } }, this); // Expand the target node (if it's currently collapsed) so the user can see // where their node was dropped. In particular since that node is still selected. this.tree._expandNode(targetWidget); } this.onDndCancel();";s:7:"summary";s:72:"Topic event processor for /dnd/drop, called to finish the DnD operation.";s:11:"description";s:157:"Updates data store items according to where node was dragged from and dropped to. The tree will then respond to those data store updates and redraw itself.";s:4:"tags";s:9:"protected";s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.onDndCancel";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:179:" this._unmarkTargetAnchor(); this.isDragging = false; this.mouseDown = false; delete this.mouseButton; this._changeState("Source", ""); this._changeState("Target", "");";s:7:"summary";s:73:"Topic event processor for /dnd/cancel, called to cancel the DnD operation";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:33:"dijit._tree.dndSource.onOverEvent";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:67:" this.inherited(arguments); dojo.dnd.manager().overSource(this);";s:7:"summary";s:80:"This method is called when mouse is moved over our container (like onmouseenter)";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:32:"dijit._tree.dndSource.onOutEvent";a:6:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:159:" this._unmarkTargetAnchor(); var m = dojo.dnd.manager(); if(this.isDragging){ m.canDrop(false); } m.outSource(this); this.inherited(arguments);";s:7:"summary";s:82:"This method is called when mouse is moved out of our container (like onmouseleave)";s:4:"tags";s:7:"private";s:14:"private_parent";b:1;}s:41:"dijit._tree.dndSource._unmarkTargetAnchor";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:6:"source";s:179:" if(!this.targetAnchor){ return; } this._removeItemClass(this.targetAnchor, this.dropPosition); this.targetAnchor = null; this.targetBox = null; this.dropPosition = null;";s:7:"summary";s:48:"Removes hover class of the current target anchor";s:4:"tags";s:7:"private";s:7:"private";b:1;s:14:"private_parent";b:1;}s:36:"dijit._tree.dndSource._markDndStatus";a:7:{s:9:"prototype";s:21:"dijit._tree.dndSource";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"copy";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:57:" this._changeState("Source", copy ? "Copied" : "Moved");";s:7:"summary";s:55:"Changes source's state based on "copy" status";s:7:"private";b:1;s:14:"private_parent";b:1;}s:34:"dijit._tree.dndSource.targetAnchor";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:31:"dijit._tree.dndSource.targetBox";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:34:"dijit._tree.dndSource.dropPosition";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:33:"dijit._tree.dndSource.targetState";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:31:"dijit._tree.dndSource.mouseDown";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:33:"dijit._tree.dndSource.mouseButton";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:28:"dijit._tree.dndSource._lastX";a:4:{s:8:"instance";s:21:"dijit._tree.dndSource";s:7:"private";b:1;s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:28:"dijit._tree.dndSource._lastY";a:4:{s:8:"instance";s:21:"dijit._tree.dndSource";s:7:"private";b:1;s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:32:"dijit._tree.dndSource.isDragging";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:36:"dijit._tree.dndSource.containerState";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:33:"dijit._tree.dndSource.sourceState";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:28:"dijit._tree.dndSource.topics";a:3:{s:8:"instance";s:21:"dijit._tree.dndSource";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:21:"dijit._tree.dndTarget";a:6:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:21:"dijit._tree.dndSource";}s:4:"call";a:1:{i:0;s:21:"dijit._tree.dndSource";}}s:7:"summary";s:70:"A constructor of the Target --- see the Source constructor for details";s:10:"parameters";a:2:{s:4:"node";a:1:{s:4:"type";s:0:"";}s:6:"params";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:72:" this.isSource = false; dojo.removeClass(this.node, "dojoDndSource");";s:14:"private_parent";b:1;}s:30:"dijit._tree.dndTarget.isSource";a:3:{s:8:"instance";s:21:"dijit._tree.dndTarget";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:24:"dijit._tree.__SourceArgs";a:6:{s:4:"type";s:8:"Function";s:6:"source";s:183:" this.isSource = isSource; this.accept = accept; this.autoSync = autoSync; this.copyOnly = copyOnly; this.dragThreshold = dragThreshold; this.betweenThreshold = betweenThreshold;";s:7:"summary";s:51:"A dict of parameters for Tree source configuration.";s:7:"private";b:1;s:14:"private_parent";b:1;s:9:"classlike";b:1;}s:33:"dijit._tree.__SourceArgs.isSource";a:4:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:4:"type";s:8:"Boolean?";s:7:"summary";s:46:"Can be used as a DnD source. Defaults to true.";s:14:"private_parent";b:1;}s:31:"dijit._tree.__SourceArgs.accept";a:4:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:4:"type";s:7:"String[";s:7:"summary";s:82:"List of accepted types (text strings) for a target; defaults to ["text"]";s:14:"private_parent";b:1;}s:33:"dijit._tree.__SourceArgs.autoSync";a:3:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:14:"private_parent";b:1;s:7:"summary";s:0:"";}s:33:"dijit._tree.__SourceArgs.copyOnly";a:4:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:4:"type";s:8:"Boolean?";s:7:"summary";s:55:"Copy items, if true, use a state of Ctrl key otherwise,";s:14:"private_parent";b:1;}s:38:"dijit._tree.__SourceArgs.dragThreshold";a:4:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:4:"type";s:6:"Number";s:7:"summary";s:62:"The move delay in pixels before detecting a drag; 0 by default";s:14:"private_parent";b:1;}s:41:"dijit._tree.__SourceArgs.betweenThreshold";a:4:{s:8:"instance";s:24:"dijit._tree.__SourceArgs";s:4:"type";s:7:"Integer";s:7:"summary";s:69:"Distance from upper/lower edge of node to allow drop to reorder nodes";s:14:"private_parent";b:1;}s:4:"this";a:2:{s:6:"mixins";a:1:{s:6:"normal";a:1:{i:0;s:6:"params";}}s:7:"summary";s:0:"";}s:11:"dijit._tree";a:3:{s:4:"type";s:6:"Object";s:7:"private";b:1;s:7:"summary";s:0:"";}s:5:"dijit";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}