dd-delegate-min.js revision 3b3bd34996b581ab171be1465201869cb009dbad
YUI.add("dd-delegate",function(C){var B=function(D){B.superclass.constructor.apply(this,arguments);},A=C.Node.create("<div>Temp Node</div>");B.NAME="delegate";B.ATTRS={cont:{value:"body"},nodes:{value:".dd-draggable"},lastNode:{value:A},currentNode:{value:A},dragNode:{value:A},over:{value:false},target:{value:false},dragConfig:{value:null}};C.extend(B,C.Base,{dd:null,_shimState:null,_handleNodeChange:function(D){this.set("dragNode",D.newVal);},_handleDragEnd:function(D){C.DD.DDM._noShim=this._shimState;this.set("lastNode",this.dd.get("node"));this.get("lastNode").removeClass(C.DD.DDM.CSS_PREFIX+"-dragging");this.dd._unprep();this.dd.set("node",A);},_handleDelegate:function(D){this._shimState=C.DD.DDM._noShim;C.DD.DDM._noShim=true;this.set("currentNode",D.currentTarget);this.dd.set("node",D.currentTarget);if(this.dd.proxy){this.dd.set("dragNode",C.DD.DDM._proxy);}else{this.dd.set("dragNode",D.currentTarget);}this.dd._prep();this.dd.fire.call(this.dd,"drag:mouseDown",{ev:D});},_handleMouseEnter:function(D){this._shimState=C.DD.DDM._noShim;C.DD.DDM._noShim=true;},_handleMouseLeave:function(D){C.DD.DDM._noShim=this._shimState;},initializer:function(){var D=this.get("dragConfig")||{};D.node=A.cloneNode(true);D.bubbles=this;this.dd=new C.DD.Drag(D);this.addTarget(C.DD.DDM);this.dd.after("drag:end",C.bind(this._handleDragEnd,this));this.dd.on("dragNodeChange",C.bind(this._handleNodeChange,this));C.delegate("mousedown",C.bind(this._handleDelegate,this),this.get("cont"),this.get("nodes"));C.on("mouseenter",C.bind(this._handleMouseEnter,this),this.get("cont"));C.on("mouseleave",C.bind(this._handleMouseLeave,this),this.get("cont"));this.syncTargets();C.DD.DDM.regDelegate(this);},syncTargets:function(F){if(!C.Plugin.Drop){C.error("DD.Delegate: Drop Plugin Not Found");return;}if(this.get("target")){var E=C.one(this.get("cont")).all(this.get("nodes")),D=this.dd.get("groups");if(F){D=[F];}E.each(function(G){this.createDrop(G,D);},this);}return this;},createDrop:function(F,D){var E={useShim:false,bubbles:this};if(!F.drop){F.plug(C.Plugin.Drop,E);}F.drop.set("groups",D);return F;},plugdd:function(D,E){this.dd.plug(D,E);return this;},destructor:function(){if(this.dd){this.dd.destroy();}}});C.mix(C.DD.DDM,{_delegates:[],regDelegate:function(D){this._delegates.push(D);},getDelegate:function(E){var D=null;E=C.one(E);C.each(this._delegates,function(F){if(E.test(F.get("cont"))){D=F;}},this);return D;}});C.namespace("DD");C.DD.Delegate=B;},"@VERSION@",{requires:["dd-drag","event-mouseenter"],skinnable:false,optional:["dd-drop-plugin"]});