dd-delegate-min.js revision 482da2d388e0f999f372383039af944e21bc717b
YUI.add("dd-delegate",function(E){var D=function(F){D.superclass.constructor.apply(this,arguments);},C="container",B="nodes",A=E.Node.create("<div>Temp Node</div>");E.extend(D,E.Base,{dd:null,_shimState:null,_onNodeChange:function(F){this.set("dragNode",F.newVal);},_afterDragEnd:function(G){var F=this;E.DD.DDM._noShim=F._shimState;F.set("lastNode",F.dd.get("node"));F.get("lastNode").removeClass(E.DD.DDM.CSS_PREFIX+"-dragging");F.dd._unprep();F.dd.set("node",A);},_onDelegate:function(I){var G=I.currentTarget,H=this,F=H.dd;if(G.test(H.get(B))&&!G.test(H.get("invalid"))){H._shimState=E.DD.DDM._noShim;E.DD.DDM._noShim=true;H.set("currentNode",G);F.set("node",G);if(F.proxy){F.set("dragNode",E.DD.DDM._proxy);}else{F.set("dragNode",G);}F._prep();F.fire("drag:mouseDown",{ev:I});}},_onMouseEnter:function(F){this._shimState=E.DD.DDM._noShim;E.DD.DDM._noShim=true;},_onMouseLeave:function(F){E.DD.DDM._noShim=this._shimState;},initializer:function(G){if(!E.Object.hasKey(G,"bubbleTargets")){this.addTarget(E.DD.DDM);}var H=this.get("dragConfig")||{},F=this.get(C);H.node=A.cloneNode(true);H.bubbleTargets=this;if(this.get("handles")){H.handles=this.get("handles");}this.dd=new E.DD.Drag(H);this.dd.after("drag:end",E.bind(this._afterDragEnd,this));this.dd.on("dragNodeChange",E.bind(this._onNodeChange,this));E.delegate("mousedown",E.bind(this._onDelegate,this),F,this.get(B));E.on("mouseenter",E.bind(this._onMouseEnter,this),F);E.on("mouseleave",E.bind(this._onMouseLeave,this),F);E.later(10,this,this.syncTargets);E.DD.DDM.regDelegate(this);},syncTargets:function(I){if(!E.Plugin.Drop){return;}var H,F,G=this;if(G.get("target")){H=E.one(G.get(C)).all(G.get(B));F=G.dd.get("groups");if(I){F=[I];}H.each(function(J){G.createDrop(J,F);});}return G;},createDrop:function(H,F){var G={useShim:false,bubbleTargets:this};if(!H.drop){H.plug(E.Plugin.Drop,G);}H.drop.set("groups",F);return H;},destructor:function(){if(this.dd){this.dd.destroy();}if(E.Plugin.Drop){var F=E.one(this.get(C)).all(this.get(B));F.unplug(E.Plugin.Drop);}}},{NAME:"delegate",ATTRS:{container:{value:"body"},nodes:{value:".dd-draggable"},invalid:{value:""},lastNode:{value:A},currentNode:{value:A},dragNode:{value:A},over:{value:false},target:{value:false},dragConfig:{value:null},handles:{value:null}}});E.mix(E.DD.DDM,{_delegates:[],regDelegate:function(F){this._delegates.push(F);},getDelegate:function(G){var F=null;G=E.one(G);E.each(this._delegates,function(H){if(G.test(H.get(C))){F=H;}},this);return F;}});E.namespace("DD");E.DD.Delegate=D;},"@VERSION@",{skinnable:false,optional:["dd-drop-plugin"],requires:["dd-drag","event-mouseenter"]});