Alloy UI

aui-tree  1.0.1

 
Filters
AUI.add("aui-tree-data",function(O){var H=O.Lang,M=H.isArray,K=H.isObject,N=H.isString,D=H.isUndefined,X="boundingBox",F="children",P="container",R=".",I="id",V="index",U="nextSibling",Z="node",E="ownerTree",G="parentNode",S="prevSibling",Q="previousSibling",T="tree",C="tree-data",J=function(A){return(A instanceof O.TreeNode);},W=O.ClassNameManager.getClassName,B=W(T,Z);var Y=O.Component.create({NAME:C,ATTRS:{container:{setter:O.one},children:{value:[],validator:M,setter:function(A){return this._setChildren(A);}},index:{value:{}}},prototype:{UI_EVENTS:{},initializer:function(){var A=this;A.publish("move");A.publish("collapseAll",{defaultFn:A._collapseAll});A.publish("expandAll",{defaultFn:A._expandAll});A.publish("append",{defaultFn:A._appendChild});A.publish("remove",{defaultFn:A._removeChild});Y.superclass.initializer.apply(this,arguments);},getNodeById:function(L){var A=this;return A.get(V)[L];},isRegistered:function(L){var A=this;return !!(A.get(V)[L.get(I)]);},updateReferences:function(b,c,f){var g=this;var e=b.get(G);var A=b.get(E);var d=e&&(e!=c);if(e){if(d){var L=e.get(F);O.Array.removeItem(L,g);e.set(F,L);}e.unregisterNode(b);}if(A){A.unregisterNode(b);}b.set(G,c);b.set(E,f);if(c){c.registerNode(b);}if(f){f.registerNode(b);}if(A!=f){b.eachChildren(function(h){g.updateReferences(h,h.get(G),f);});}if(d){var a=g.getEventOutputMap(b);a.tree.oldParent=e;a.tree.oldOwnerTree=A;g.bubbleEvent("move",a);}},refreshIndex:function(){var A=this;A.updateIndex({});A.eachChildren(function(L){A.registerNode(L);},true);},registerNode:function(b){var A=this;var a=b.get(I);var L=A.get(V);if(a){L[a]=b;}A.updateIndex(L);},updateIndex:function(L){var A=this;if(L){A.set(V,L);}},unregisterNode:function(a){var A=this;var L=A.get(V);delete L[a.get(I)];A.updateIndex(L);},collapseAll:function(){var A=this;var L=A.getEventOutputMap(A);A.fire("collapseAll",L);},_collapseAll:function(L){var A=this;A.eachChildren(function(a){a.collapse();},true);},expandAll:function(){var A=this;var L=A.getEventOutputMap(A);A.fire("expandAll",L);},_expandAll:function(L){var A=this;A.eachChildren(function(a){a.expand();},true);},selectAll:function(){var A=this;A.eachChildren(function(L){L.select();},true);},unselectAll:function(){var A=this;A.eachChildren(function(L){L.unselect();},true);},eachChildren:function(b,L){var A=this;var a=A.getChildren(L);O.Array.each(a,function(c){if(c){b.apply(A,arguments);}});},eachParent:function(a){var L=this;var A=L.get(G);while(A){if(A){a.apply(L,[A]);}A=A.get(G);}},bubbleEvent:function(c,b,d,a){var L=this;L.fire(c,b);if(!d){var A=L.get(G);b=b||{};if(D(a)){a=true;}b.stopActionPropagation=a;while(A){A.fire(c,b);A=A.get(G);}}},createNode:function(L){var A=this;var a=L.type;if(N(a)&&O.TreeNode.nodeTypes){a=O.TreeNode.nodeTypes[a];}if(!a){a=O.TreeNode;}return new a(L);},appendChild:function(b,a){var A=this;var L=A.getEventOutputMap(b);A.bubbleEvent("append",L,a);},_appendChild:function(f){if(f.stopActionPropagation){return false;}var A=this;var e=f.tree.node;var L=A.get(E);var c=A.get(F);A.updateReferences(e,A,L);var d=c.push(e);A.set(F,c);var b=d-2;var a=A.item(b);e.set(U,null);e.set(S,a);A.get(P).append(e.get(X));e.render();},item:function(L){var A=this;return A.get(F)[L];},indexOf:function(L){var A=this;return O.Array.indexOf(A.get(F),L);},hasChildNodes:function(){return(this.get(F).length>0);},getChildren:function(L){var A=this;var b=[];var a=A.get(F);b=b.concat(a);if(L){A.eachChildren(function(c){b=b.concat(c.getChildren(L));});}return b;},getEventOutputMap:function(L){var A=this;return{tree:{instance:A,node:L||A}};},removeChild:function(a){var A=this;var L=A.getEventOutputMap(a);A.bubbleEvent("remove",L);},_removeChild:function(c){if(c.stopActionPropagation){return false;}var A=this;var b=c.tree.node;var L=A.get(E);if(A.isRegistered(b)){b.set(G,null);A.unregisterNode(b);b.set(E,null);if(L){L.unregisterNode(b);}b.get(X).remove();var a=A.get(F);O.Array.removeItem(a,b);A.set(F,a);}},empty:function(){var A=this;A.eachChildren(function(a){var L=a.get(G);if(L){L.removeChild(a);}});},insert:function(f,c,d){var i=this;c=c||this;if(c==f){return false;}var A=c.get(G);if(f&&A){var e=f.get(X);var b=c.get(X);var h=c.get(E);if(d=="before"){b.placeBefore(e);}else{if(d=="after"){b.placeAfter(e);}}var L=[];var g=A.get(X).all("> ul > li");g.each(function(j){L.push(O.Widget.getByNode(j));});f.set(U,O.Widget.getByNode(e.get(U)));f.set(S,O.Widget.getByNode(e.get(Q)));c.updateReferences(f,A,h);A.set(F,L);}f.render();var a=c.getEventOutputMap(f);a.tree.refTreeNode=c;c.bubbleEvent("insert",a);},insertAfter:function(L,A){A.insert(L,A,"after");},insertBefore:function(L,A){A.insert(L,A,"before");},getNodeByChild:function(a){var A=this;var L=a.ancestor(R+B);if(L){return A.getNodeById(L.attr(I));}return null;},_setChildren:function(L){var A=this;var a=[];O.Array.each(L,function(b){if(b){if(!J(b)&&K(b)){b=A.createNode(b);}if(!J(A)){b.set(E,A);}b.render();if(O.Array.indexOf(a,b)==-1){a.push(b);}}});return a;}}});O.TreeData=Y;},"@VERSION@",{requires:["aui-base"],skinnable:false});AUI.add("aui-tree-node",function(AC){var w=AC.Lang,Ah=w.isString,AY=w.isBoolean,Ao="alwaysShowHitArea",o="",T="boundingBox",H="children",Ad="clearfix",Y="collapsed",B="container",AA="content",W="contentBox",K="expanded",Q="helper",t="hidden",h="hitarea",G="hitAreaEl",s="icon",An="iconEl",AR="id",AI="label",u="labelEl",r="lastSelected",Ac="leaf",R="node",AK="over",x="ownerTree",F="parentNode",Ab="selected",U=" ",I="tree",i="tree-node",Ak=function(){return Array.prototype.slice.call(arguments).join(U);},AO=function(A){return(A instanceof AC.TreeNode);},Aj=function(A){return(A instanceof AC.TreeView);},f=AC.ClassNameManager.getClassName,AF=f(Q,Ad),a=f(I,Y),C=f(I,B),Ap=f(I,K),V=f(I,t),AT=f(I,h),e=f(I,s),M=f(I,AI),d=f(I,R,AA),AU=f(I,R,t,h),J=f(I,R,Ac),Ag=f(I,R,AK),j=f(I,R,Ab),AB='<div class="'+AT+'"></div>',S='<div class="'+e+'"></div>',E='<div class="'+M+'"></div>',Am="<ul></ul>",X="<li></li>",y='<div class="'+Ak(AF,d)+'"></div>';var m=AC.Component.create({NAME:i,ATTRS:{draggable:{value:true,validator:AY},ownerTree:{value:null},label:{value:o,validator:Ah},expanded:{value:false,validator:AY},id:{validator:Ah},leaf:{value:true,setter:function(A){if(A&&this.get(H).length){return false;
}return A;},validator:AY},nextSibling:{value:null,validator:AO},prevSibling:{value:null,validator:AO},parentNode:{value:null,validator:function(A){return AO(A)||Aj(A);}},labelEl:{setter:AC.one,valueFn:function(){var A=this.get(AI);return AC.Node.create(E).html(A).unselectable();}},hitAreaEl:{setter:AC.one,valueFn:function(){return AC.Node.create(AB);}},alwaysShowHitArea:{value:true,validator:AY},iconEl:{setter:AC.one,valueFn:function(){return AC.Node.create(S);}},tabIndex:{value:null}},EXTENDS:AC.TreeData,prototype:{BOUNDING_TEMPLATE:X,CONTENT_TEMPLATE:y,initializer:function(){var A=this;A._syncTreeNodeBBId();m.superclass.initializer.apply(this,arguments);},bindUI:function(){var A=this;A.publish("collapse",{defaultFn:A._collapse});A.publish("expand",{defaultFn:A._expand});A.after("childrenChange",AC.bind(A._afterSetChildren,A));A.after("idChange",A._afterSetId,A);},_renderUI:function(A){this._renderBoxClassNames();},renderUI:function(){var A=this;A._renderBoundingBox();A._renderContentBox();},syncUI:function(){var A=this;A._syncHitArea(A.get(H));},_renderContentBox:function(At){var A=this;var L=A.get(W);if(A.isLeaf()){L.addClass(J);}else{var As=A.get(K);L.addClass(As?Ap:a);if(As){A.expand();}}return L;},_renderBoundingBox:function(){var A=this;var As=A.get(T);var L=A.get(W);var At=null;if(!A.isLeaf()){L.append(A.get(G));At=A._createNodeContainer();}L.append(A.get(An));L.append(A.get(u));As.append(L);if(At){if(!A.get(K)){At.addClass(V);}As.append(At);}return As;},_createNodeContainer:function(){var A=this;var L=A.get(B)||AC.Node.create(Am);L.addClass(C);A.set(B,L);A.eachChildren(function(As){A.appendChild(As);});return L;},_syncHitArea:function(L){var A=this;if(A.get(Ao)||L.length){A.showHitArea();}else{A.hideHitArea();A.collapse();}},appendChild:function(){var A=this;if(!A.isLeaf()){m.superclass.appendChild.apply(A,arguments);}},collapse:function(){var A=this;if(A.get(K)){var L=A.getEventOutputMap(A);A.bubbleEvent("collapse",L);}},_collapse:function(At){if(At.stopActionPropagation){return false;}var A=this;if(!A.isLeaf()){var As=A.get(B);var L=A.get(W);L.replaceClass(Ap,a);if(As){As.addClass(V);}A.set(K,false);}},collapseAll:function(){var A=this;m.superclass.collapseAll.apply(A,arguments);A.collapse();},contains:function(A){return A.isAncestor(this);},expand:function(){var A=this;if(!A.get(K)){var L=A.getEventOutputMap(A);A.bubbleEvent("expand",L);}},_expand:function(At){if(At.stopActionPropagation){return false;}var A=this;if(!A.isLeaf()){var As=A.get(B);var L=A.get(W);L.replaceClass(a,Ap);if(As){As.removeClass(V);}A.set(K,true);}},expandAll:function(){var A=this;m.superclass.expandAll.apply(A,arguments);A.expand();},getDepth:function(){var As=0;var L=this;var A=L.get(F);while(A){++As;A=A.get(F);}return As;},hasChildNodes:function(){var A=this;return(!A.isLeaf()&&m.superclass.hasChildNodes.apply(this,arguments));},isSelected:function(){return this.get(W).hasClass(j);},isLeaf:function(){var A=this;return A.get(Ac);},isAncestor:function(As){var L=this;var A=L.get(F);while(A){if(A==As){return true;}A=A.get(F);}return false;},insertAfter:function(As,L){var A=this;m.superclass.insertAfter.apply(this,[As,A]);},insertBefore:function(L){var A=this;m.superclass.insertBefore.apply(this,[L,A]);},removeChild:function(L){var A=this;if(!A.isLeaf()){m.superclass.removeChild.apply(A,arguments);}},toggle:function(){var A=this;if(A.get(K)){A.collapse();}else{A.expand();}},select:function(){var A=this;var L=A.get(x);if(L){L.set(r,A);}A.get(W).addClass(j);A.fire("select");},unselect:function(){var A=this;A.get(W).removeClass(j);A.fire("unselect");},over:function(){this.get(W).addClass(Ag);},out:function(){this.get(W).removeClass(Ag);},showHitArea:function(){var A=this;var L=A.get(G);L.removeClass(AU);},hideHitArea:function(){var A=this;var L=A.get(G);L.addClass(AU);},_syncTreeNodeBBId:function(L){var A=this;A.get(T).attr(AR,A.get(AR));},_afterSetChildren:function(L){var A=this;A._syncHitArea(L.newVal);}}});AC.TreeNode=m;var AW=w.isFunction,g=w.isObject,AD=w.isValue,Ai="cache",AS="end",AJ="io",AZ="limit",Al="loaded",Aq="loading",AH="paginator",AM="start",AQ="tree-node-io",D="paginatorClick",AX=f(I,R,AH),Z=f(I,R,AJ,Aq),AV='<a class="'+AX+'" href="javascript:void(0);">Load more results</a>';var l=AC.Component.create({NAME:AQ,ATTRS:{io:{lazyAdd:false,value:null,setter:function(A){return this._setIO(A);}},loading:{value:false,validator:AY},loaded:{value:false,validator:AY},cache:{value:true,validator:AY},leaf:{value:false,validator:AY},paginator:{setter:function(A){return AC.merge({alwaysVisible:false,autoFocus:true,element:AC.Node.create(AV),endParam:AS,limitParam:AZ,start:0,startParam:AM},A);},validator:g}},EXTENDS:AC.TreeNode,prototype:{renderUI:function(){var A=this;A._inheritOwnerTreeAttrs();l.superclass.renderUI.apply(this,arguments);},bindUI:function(){var A=this;l.superclass.bindUI.apply(this,arguments);A._bindPaginatorUI();A._createEvents();},_bindPaginatorUI:function(){var A=this;var As=A.get(AH);if(As){var L=AC.bind(A._handlePaginatorClickEvent,A);As.element.on("click",L);}},createNode:function(L){var A=this;AC.each(L,function(At){var As=l.superclass.createNode.apply(A,[At]);A.appendChild(As);});A._syncPaginatorUI(L);},expand:function(){var A=this;var L=A.get(Ai);var Au=A.get(AJ);var As=A.get(Al);var At=A.get(Aq);if(!L){A.set(Al,false);}if(!Au||As){l.superclass.expand.apply(this,arguments);}else{if(!At){if(!L){A.empty();}A.initIO();}}},initIO:function(){var L=this;var As=L.get(AJ);if(AW(As.cfg.data)){As.cfg.data=As.cfg.data.apply(L,[L]);}L._syncPaginatorIOData(As);if(AW(As.loader)){var A=AC.bind(As.loader,L);A(As.url,As.cfg,L);}else{AC.io(As.url,As.cfg);}},ioStartHandler:function(){var A=this;var L=A.get(W);A.set(Aq,true);L.addClass(Z);},ioCompleteHandler:function(){var A=this;var L=A.get(W);A.set(Aq,false);A.set(Al,true);L.removeClass(Z);},ioSuccessHandler:function(){var A=this;var Ax=A.get(AJ);var As=Array.prototype.slice.call(arguments);var Au=As.length;var L=As[0];if(Au>=2){var Aw=As[1];try{L=AC.JSON.parse(Aw.responseText);
}catch(Av){}}var At=Ax.formatter;if(At){L=At(L);}A.createNode(L);A.expand();},ioFailureHandler:function(){var A=this;A.set(Aq,false);A.set(Al,false);},_createEvents:function(){var A=this;A.publish(D,{defaultFn:A._defPaginatorClickFn,prefix:AQ});},_defPaginatorClickFn:function(L){var A=this;var As=A.get(AH);if(AD(As.limit)){As.start+=As.limit;}if(A.get(AJ)){A.initIO();}},_handlePaginatorClickEvent:function(At){var A=this;var As=A.get(x);var L=A.getEventOutputMap(A);A.fire(D,L);if(As){As.fire(D,L);}At.halt();},_inheritOwnerTreeAttrs:function(){var L=this;var As=L.get(x);if(As){if(!L.get(AJ)){L.set(AJ,AC.clone(As.get(AJ)));}if(!L.get(AH)){var A=As.get(AH);if(A&&A.element){A.element=A.element.clone();}L.set(AH,A);}}},_setIO:function(As){var A=this;if(!As){return null;}else{if(Ah(As)){As={url:As};}}As=As||{};As.cfg=As.cfg||{};As.cfg.on=As.cfg.on||{};var L={start:AC.bind(A.ioStartHandler,A),complete:AC.bind(A.ioCompleteHandler,A),success:AC.bind(A.ioSuccessHandler,A),failure:AC.bind(A.ioFailureHandler,A)};AC.each(L,function(Av,At){var Aw=As.cfg.on[At];if(AW(Aw)){var Au=function(){Av.apply(A,arguments);Aw.apply(A,arguments);};As.cfg.on[At]=AC.bind(Au,A);}else{As.cfg.on[At]=Av;}});return As;},_syncPaginatorIOData:function(At){var A=this;var As=A.get(AH);if(As&&AD(As.limit)){var L=At.cfg.data||{};L[As.limitParam]=As.limit;L[As.startParam]=As.start;L[As.endParam]=(As.start+As.limit);At.cfg.data=L;}},_syncPaginatorUI:function(L){var A=this;var As=A.get(H);var Aw=A.get(AH);if(Aw){var Av=(L&&L.length);var At=Av&&(As.length>=Aw.limit);if(Aw.alwaysVisible||At){A.get(B).append(Aw.element.show());if(Aw.autoFocus){try{Aw.element.focus();}catch(Au){}}}else{Aw.element.hide();}}}}});AC.TreeNodeIO=l;var N="checkbox",P="checked",z="checkContainerEl",Ae="checkEl",n="checkName",v=".",O="name",b="tree-node-check",AG=f(I,R,N),AN=f(I,R,N,B),AP=f(I,R,P),q='<div class="'+AN+'"></div>',AL='<input class="'+AG+'" type="checkbox" />';var Aa=AC.Component.create({NAME:b,ATTRS:{checked:{value:false,validator:AY},checkName:{value:b,validator:Ah},checkContainerEl:{setter:AC.one,valueFn:function(){return AC.Node.create(q);}},checkEl:{setter:AC.one,valueFn:function(){var A=this.get(n);return AC.Node.create(AL).attr(O,A);}}},EXTENDS:AC.TreeNodeIO,prototype:{renderUI:function(){var L=this;Aa.superclass.renderUI.apply(L,arguments);var As=L.get(u);var A=L.get(Ae);var At=L.get(z);A.hide();At.append(A);As.placeBefore(At);if(L.isChecked()){L.check();}},bindUI:function(){var A=this;var L=A.get(W);var As=A.get(u);Aa.superclass.bindUI.apply(A,arguments);A.publish("check");A.publish("uncheck");L.delegate("click",AC.bind(A.toggleCheck,A),v+AN);L.delegate("click",AC.bind(A.toggleCheck,A),v+M);As.swallowEvent("dblclick");},check:function(){var L=this;var As=L.get(W);var A=L.get(Ae);As.addClass(AP);L.set(P,true);A.attr(P,P);L.fire("check");},uncheck:function(){var L=this;var As=L.get(W);var A=L.get(Ae);As.removeClass(AP);L.set(P,false);A.attr(P,o);L.fire("uncheck");},toggleCheck:function(){var L=this;var A=L.get(Ae);var As=A.attr(P);if(!As){L.check();}else{L.uncheck();}},isChecked:function(){var A=this;return A.get(P);}}});AC.TreeNodeCheck=Aa;var c="child",p="tree-node-task",k="unchecked",Af=function(A){return A instanceof AC.TreeNodeCheck;},AE=f(I,R,c,k);var Ar=AC.Component.create({NAME:p,EXTENDS:AC.TreeNodeCheck,prototype:{check:function(At){var L=this;var A=L.get(F);var As=L.get(W);Ar.superclass.check.apply(this,arguments);if(!At){As.removeClass(AE);L.eachParent(function(Au){if(Af(Au)){var Av=false;Au.check(true);Au.get(W).addClass(AE);Au.eachChildren(function(Aw){if(Af(Aw)&&!Aw.isChecked()){Av=true;}},true);if(!Av){Au.get(W).removeClass(AE);}}});if(!L.isLeaf()){L.eachChildren(function(Au){if(Af(Au)){Au.check();}});}}},uncheck:function(){var A=this;var L=A.get(W);Ar.superclass.uncheck.apply(this,arguments);L.removeClass(AE);A.eachParent(function(As){if(Af(As)&&As.isChecked()){As.get(W).addClass(AE);}});if(!A.isLeaf()){A.eachChildren(function(As){if(As instanceof AC.TreeNodeCheck){As.uncheck();}});}}}});AC.TreeNodeTask=Ar;AC.TreeNode.nodeTypes={task:AC.TreeNodeTask,check:AC.TreeNodeCheck,node:AC.TreeNode,io:AC.TreeNodeIO};},"@VERSION@",{requires:["aui-tree-data","io-base","json","querystring-stringify"],skinnable:false});AUI.add("aui-tree-view",function(a){var S=a.Lang,T=S.isString,AO="boundingBox",g="children",I="container",AA="content",s="contentBox",o=".",AD="file",AL="hitarea",w="icon",AQ="label",C="lastSelected",V="leaf",AS="node",AI="ownerTree",AM="root",B=" ",AB="tree",i="tree-view",e="type",k="view",r=function(){return Array.prototype.slice.call(arguments).join(B);},x=function(A){return(A instanceof a.TreeNode);},Q=a.ClassNameManager.getClassName,d=Q(AB,AL),U=Q(AB,w),P=Q(AB,AQ),q=Q(AB,AS,AA),h=Q(AB,AM,I),K=Q(AB,k,AA);var X=a.Component.create({NAME:i,ATTRS:{type:{value:AD,validator:T},lastSelected:{value:null,validator:x},io:{value:null},paginator:{value:null}},EXTENDS:a.TreeData,prototype:{CONTENT_TEMPLATE:"<ul></ul>",bindUI:function(){var A=this;A._delegateDOM();},renderUI:function(){var A=this;A._renderElements();},syncUI:function(){var A=this;A.refreshIndex();},registerNode:function(L){var A=this;L.set(AI,A);X.superclass.registerNode.apply(this,arguments);},_createFromHTMLMarkup:function(L){var A=this;L.all("> li").each(function(AZ){var AX=AZ.one("> *").remove();var AW=AX.outerHTML();docFrag=null;var Aa=new a.TreeNode({boundingBox:AZ,label:AW});var AV=AZ.one("> ul");if(AV){Aa.set(V,false);Aa.set(I,AV);Aa.render();A._createFromHTMLMarkup(AV);}else{Aa.render();}var AU=AZ.get(W).get(W);var AY=a.Widget.getByNode(AU);AY.appendChild(Aa);});},_renderElements:function(){var A=this;var L=A.get(s);var AU=A.get(g);var AV=A.get(e);var AW=Q(AB,AV);L.addClass(K);A.set(I,L);L.addClass(r(AW,h));if(AU.length){A.eachChildren(function(AX){A.appendChild(AX,true);});}else{A._createFromHTMLMarkup(L);}},_delegateDOM:function(){var A=this;var L=A.get(AO);L.delegate("click",a.bind(A._onClickHitArea,A),o+d);L.delegate("dblclick",a.bind(A._onClickHitArea,A),o+U);
L.delegate("dblclick",a.bind(A._onClickHitArea,A),o+P);L.delegate("mouseenter",a.bind(A._onMouseEnterNodeEl,A),o+q);L.delegate("mouseleave",a.bind(A._onMouseLeaveNodeEl,A),o+q);L.delegate("click",a.bind(A._onClickNodeEl,A),o+q);},_onClickNodeEl:function(L){var A=this;var AV=A.getNodeByChild(L.currentTarget);if(AV&&!AV.isSelected()){var AU=A.get(C);if(AU){AU.unselect();}AV.select();}},_onMouseEnterNodeEl:function(L){var A=this;var AU=A.getNodeByChild(L.currentTarget);if(AU){AU.over();}},_onMouseLeaveNodeEl:function(L){var A=this;var AU=A.getNodeByChild(L.currentTarget);if(AU){AU.out();}},_onClickHitArea:function(L){var A=this;var AU=A.getNodeByChild(L.currentTarget);if(AU){AU.toggle();}}}});a.TreeView=X;var AT=S.isNumber,f="above",Z="append",AE="below",c="block",AJ="body",H="clearfix",AG="default",E="display",t="down",n="drag",Y="draggable",AP="dragCursor",O="dragNode",D="expanded",AH="helper",AF="insert",z="offsetHeight",W="parentNode",v="scrollDelay",M="state",AC="tree-drag-drop",j="up",N=a.DD.DDM,R=Q(AH,H),AN=Q(w),p=Q(AB,n,AH),J=Q(AB,n,AH,AA),b=Q(AB,n,AH,AQ),G=Q(AB,n,AF,f),AR=Q(AB,n,AF,Z),m=Q(AB,n,AF,AE),y=Q(AB,n,M,Z),l=Q(AB,n,M,AF,f),AK=Q(AB,n,M,AF,AE),F='<div class="'+p+'">'+'<div class="'+[J,R].join(B)+'">'+'<span class="'+AN+'"></span>'+'<span class="'+b+'"></span>'+"</div>"+"</div>";var u=a.Component.create({NAME:AC,ATTRS:{helper:{value:null},scrollDelay:{value:100,validator:AT}},EXTENDS:a.TreeView,prototype:{direction:AE,dropAction:null,lastY:0,node:null,nodeContent:null,bindUI:function(){var A=this;u.superclass.bindUI.apply(this,arguments);A._bindDragDrop();},renderUI:function(){var A=this;u.superclass.renderUI.apply(this,arguments);var L=a.Node.create(F).hide();a.one(AJ).append(L);A.set(AH,L);N.set(AP,AG);},_createDrag:function(AV){var L=this;if(!L.dragTimers){L.dragTimers=[];}if(!N.getDrag(AV)){var A=L.dragTimers;var AU=50*A.length;var AW=setTimeout(function(){if(!N.getDrag(AV)){var AX=new a.DD.Drag({bubbleTargets:L,node:AV,target:true}).plug(a.Plugin.DDProxy,{moveOnEnd:false,positionProxy:false,borderStyle:null}).plug(a.Plugin.DDNodeScroll,{scrollDelay:L.get(v),node:L.get(AO)});}a.Array.removeItem(A,AW);},AU);A.push(AW);}},_bindDragDrop:function(){var A=this;var L=A.get(AO);A._createDragInitHandler=a.bind(function(){A.eachChildren(function(AU){if(AU.get(Y)){A._createDrag(AU.get(s));}},true);L.detach("mouseover",A._createDragInitHandler);},A);L.on("mouseover",A._createDragInitHandler);A.after("insert",a.bind(A._afterAppend,A));A.after("append",a.bind(A._afterAppend,A));A.on("drag:align",A._onDragAlign);A.on("drag:start",A._onDragStart);A.on("drop:exit",A._onDropExit);A.on("drop:hit",A._onDropHit);A.on("drop:over",A._onDropOver);},_appendState:function(L){var A=this;A.dropAction=Z;A.get(AH).addClass(y);L.addClass(AR);},_goingDownState:function(L){var A=this;A.dropAction=AE;A.get(AH).addClass(AK);L.addClass(m);},_goingUpState:function(L){var A=this;A.dropAction=f;A.get(AH).addClass(l);L.addClass(G);},_resetState:function(L){var A=this;var AU=A.get(AH);AU.removeClass(y);AU.removeClass(l);AU.removeClass(AK);if(L){L.removeClass(G);L.removeClass(AR);L.removeClass(m);}},_updateNodeState:function(A){var Ad=this;var AZ=A.drag;var AW=A.drop;var L=AW.get(AS);var Ac=L.get(W);var AY=AZ.get(AS).get(W);var AV=a.Widget.getByNode(Ac);Ad._resetState(Ad.nodeContent);if(!AY.contains(Ac)){var Ae=L.get(z)/3;var AU=L.getY();var Ab=AU+Ae*1;var Aa=AU+Ae*2;var AX=AZ.mouseXY[1];if((AX>AU)&&(AX<Ab)){Ad._goingUpState(L);}else{if(AX>Aa){Ad._goingDownState(L);}else{if((AX>Ab)&&(AX<Aa)){if(AV&&!AV.isLeaf()){Ad._appendState(L);}else{if(Ad.direction==j){Ad._goingUpState(L);}else{Ad._goingDownState(L);}}}}}}Ad.nodeContent=L;},_afterAppend:function(L){var A=this;var AU=L.tree.node;if(AU.get(Y)){A._createDrag(AU.get(s));}},_onDragAlign:function(AU){var A=this;var L=A.lastY;var AV=AU.target.lastXY[1];if(AV!=L){A.direction=(AV<L)?j:t;}A.lastY=AV;},_onDragStart:function(AX){var A=this;var AV=AX.target;var AZ=AV.get(AS).get(W);var AU=a.Widget.getByNode(AZ);var AY=A.get(C);if(AY){AY.unselect();}AU.select();var AW=A.get(AH);var L=AW.one(o+b);AW.setStyle(E,c).show();L.html(AU.get(AQ));AV.set(O,AW);},_onDropOver:function(L){var A=this;A._updateNodeState(L);},_onDropHit:function(AW){var A=this;var AY=A.dropAction;var AX=AW.drag.get(AS).get(W);var AU=AW.drop.get(AS).get(W);var AZ=a.Widget.getByNode(AU);var AV=a.Widget.getByNode(AX);var L=A.getEventOutputMap(A);L.tree.dropNode=AZ;L.tree.dragNode=AV;if(AY==f){AZ.insertBefore(AV);A.bubbleEvent("dropInsert",L);}else{if(AY==AE){AZ.insertAfter(AV);A.bubbleEvent("dropInsert",L);}else{if(AY==Z){if(AZ&&!AZ.isLeaf()){AZ.appendChild(AV);if(!AZ.get(D)){AZ.expand();}A.bubbleEvent("dropAppend",L);}}}}A._resetState(A.nodeContent);A.bubbleEvent("drop",L);A.dropAction=null;},_onDropExit:function(){var A=this;A.dropAction=null;A._resetState(A.nodeContent);}}});a.TreeViewDD=u;},"@VERSION@",{skinnable:true,requires:["aui-tree-node","dd-drag","dd-drop","dd-proxy"]});AUI.add("aui-tree",function(B){},"@VERSION@",{use:["aui-tree-data","aui-tree-node","aui-tree-view"],skinnable:true});