base-min.js revision d688dc20f16a5670ba8ce729826ad65bc50160a8
YUI.add("base",function(A){var H=A.Lang,G=".",D="destroy",K="init",J="initialized",F="destroyed",B="initializer",E={}.constructor,I="destructor";function C(){A.Attribute.call(this);this.init.apply(this,arguments);}C.NAME="base";C.ATTRS={initialized:{readOnly:true,value:false},destroyed:{readOnly:true,value:false}};C._buildCfg={aggregates:["ATTRS"]};C.build=function(L,P,T,S){var V=C.build,M=V._getClass(P,S),R=V._getAggregates(P,S),Q,O,N,U;if(R){for(Q=0,O=R.length;Q<O;++Q){N=R[Q];if(P.hasOwnProperty(N)){M[N]=H.isArray(P[N])?[]:{};}}A.aggregate(M,P,true,R);}for(Q=0,O=T.length;Q<O;Q++){U=T[Q];if(R){A.aggregate(M,U,true,R);}A.mix(M,U,true,null,1);M._yuibuild.exts.push(U);}M.prototype.hasImpl=V._hasImpl;M.NAME=L;M.prototype.constructor=M;return M;};A.mix(C.build,{_template:function(L){function M(){M.superclass.constructor.apply(this,arguments);var P=M._yuibuild.exts,N=P.length,O;for(O=0;O<N;O++){P[O].apply(this,arguments);}return this;}A.extend(M,L);return M;},_hasImpl:function(M){if(this.constructor._yuibuild){var O=this.constructor._yuibuild.exts,L=O.length,N;for(N=0;N<L;N++){if(O[N]===M){return true;}}}return false;},_getClass:function(L,M){var N=C.build._template(L);N._yuibuild={id:null,exts:[]};return N;},_getAggregates:function(L,M){var N=[],P=(M&&M.aggregates),Q=L,O;while(Q&&Q.prototype){O=Q._buildCfg&&Q._buildCfg.aggregates;if(O){N=N.concat(O);}Q=Q.superclass?Q.superclass.constructor:null;}if(P){N=N.concat(P);}return N;}});C.prototype={init:function(L){this.name=this.constructor.NAME;this._yuievt.config.prefix=this.name;this.publish(K,{queuable:false,defaultFn:this._defInitFn});this.fire(K,null,L);return this;},destroy:function(){this.publish(D,{queuable:false,defaultFn:this._defDestroyFn});this.fire(D);return this;},_defInitFn:function(M,L){this._initHierarchy(L);this._set(J,true);},_defDestroyFn:function(L){this._destroyHierarchy();this._set(F,true);},_getClasses:function(){if(!this._classes){this._initHierarchyData();}return this._classes;},_getAttrCfgs:function(){if(!this._attrs){this._initHierarchyData();}return this._attrs;},_filterAttrCfgs:function(N,L){var M={};if(N.ATTRS){A.each(N.ATTRS,function(P,O){if(L[O]){M[O]=L[O];delete L[O];}});}return M;},_initHierarchyData:function(){var N=this.constructor,M=[],L=[];while(N&&N.prototype){M[M.length]=N;if(N.ATTRS){L[L.length]=N.ATTRS;}N=N.superclass?N.superclass.constructor:null;}this._classes=M;this._attrs=this._aggregateAttrs(L);},_aggregateAttrs:function(P){var L,N,M,S,R,O,Q={};if(P){for(O=P.length-1;O>=0;--O){N=P[O];for(L in N){if(N.hasOwnProperty(L)){M=A.merge(N[L]);S=M.value;if(S&&!M.ref&&(E===S.constructor||H.isArray(S))){M.value=A.clone(S);}if(L.indexOf(G)!==-1){R=L.split(G);L=R.shift();}else{R=null;}if(R&&Q[L]&&Q[L].value){this._setSubAttrVal(R,Q[L].value,S);}else{if(!R){if(!Q[L]){Q[L]=M;}else{Q[L]=A.mix(Q[L],M,true);}}}}}}}return Q;},_initHierarchy:function(P){var O,L,N,M=this._getClasses(),Q=this._getAttrCfgs();for(N=M.length-1;N>=0;N--){O=M[N];L=O.prototype;this._initAttrs(this._filterAttrCfgs(O,Q),P);if(L.hasOwnProperty(B)){L[B].apply(this,arguments);}}},_destroyHierarchy:function(){var P,M,O,L,N=this._getClasses();for(O=0,L=N.length;O<L;O++){P=N[O];M=P.prototype;if(M.hasOwnProperty(I)){M[I].apply(this,arguments);}}},toString:function(){return this.constructor.NAME+"["+A.stamp(this)+"]";}};A.mix(C,A.Attribute,false,null,1);C.prototype.constructor=C;A.Base=C;},"@VERSION@",{requires:["attribute"]});