Alloy UI

aui-paginator  1.0.1

 
Filters
AUI.add("aui-paginator",function(AF){var v=AF.Lang,G=v.isArray,AU=v.isBoolean,AS=v.isFunction,m=v.isNumber,f=v.isObject,AZ=v.isString,c="alwaysVisible",Q="boundingBox",D="container",i="containers",AA="content",AO="current",u=".",Z="first",AH="firstPageLink",Ag="firstPageLinkLabel",H="last",k="lastPageLink",Ac="lastPageLinkLabel",AB="link",AK="maxPageLinks",O="next",AR="nextPageLink",AE="nextPageLinkLabel",R="page",Y="pageContainerTemplate",j="pageLinkContent",h="pageLinkTemplate",F="pageReportEl",W="pageReportLabelTemplate",AJ="paginator",AT="per",AV="prev",K="prevPageLink",C="prevPageLinkLabel",y="report",M="rows",AI="rowsPerPage",Ab="rowsPerPageEl",V="rowsPerPageOptions",l="select",T=" ",r="state",AQ="template",AD="total",n="totalEl",t="totalLabel",AC="totalPages",Aa=function(){return Array.prototype.slice.call(arguments).join(T);},Ad=function(A){return(A instanceof AF.NodeList);},Ae=function(A){return parseInt(A,10)||0;},e=AF.ClassNameManager.getClassName,a=e(AJ),U=e(AJ,D),AL=e(AJ,AA),b=e(AJ,AO,R),Af=e(AJ,Z,AB),N=e(AJ,H,AB),AX=e(AJ,AB),E=e(AJ,O,AB),B=e(AJ,R,D),AN=e(AJ,R,AB),X=e(AJ,AO,R,y),AM=e(AJ,AV,AB),S=e(AJ,M,AT,R),J=e(AJ,AD),s="(Total {total})",p="({page} of {totalPages})",x="{FirstPageLink} {PrevPageLink} {PageLinks} {NextPageLink} {LastPageLink} {CurrentPageReport} {Total} {RowsPerPageSelect}",AP="&gt;",o="&lt;",I='<a href="#" class="'+Aa(AX,Af)+'"></a>',z='<a href="#" class="'+Aa(AX,N)+'"></a>',g='<a href="#" class="'+Aa(AX,E)+'"></a>',AY="<span></span>",w='<a href="#"></a>',P='<span class="'+Aa(X)+'"></span>',AW='<a href="#" class="'+Aa(AX,AM)+'"></a>',AG='<select class="'+S+'"></select>',q='<span class="'+Aa(J)+'"></span>';var d=AF.Component.create({NAME:AJ,ATTRS:{alwaysVisible:{value:true,validator:AU},containers:{writeOnce:true,setter:function(L){var A=this;if(Ad(L)){return L;}else{if(AZ(L)){return AF.all(L);}}return new AF.NodeList([L]);}},firstPageLink:{setter:AF.one,valueFn:function(){var A=this.get(Ag);return AF.Node.create(I).html(A);}},firstPageLinkLabel:{value:Z,validator:AZ},lastPageLink:{setter:AF.one,valueFn:function(){var A=this.get(Ac);return AF.Node.create(z).html(A);}},lastPageLinkLabel:{value:H,validator:AZ},maxPageLinks:{value:10,getter:function(A){var L=this.get(AC);return Math.min(L,A);},validator:m},nextPageLink:{setter:AF.one,valueFn:function(){var A=this.get(AE);return AF.Node.create(g).html(A);}},nextPageLinkLabel:{value:Aa(O,AP),validator:AZ},page:{setter:function(A){return Ae(A);},value:1},pageContainerTemplate:{getter:function(A){return AF.Node.create(A).addClass(B);},value:AY,validator:AZ},pageLinkContent:{value:function(Ah,A,L){Ah.html(A);},validator:AS},pageLinkTemplate:{getter:function(A){var L=AF.Node.create(A);return L.addClass(Aa(AX,AN));},value:w,validator:AZ},pageReportEl:{setter:AF.one,valueFn:function(){var A=this.get(W);return AF.Node.create(P).html(A);}},pageReportLabelTemplate:{getter:function(){var A=this;return AF.substitute(p,{page:A.get(R),totalPages:A.get(AC)});},validator:AZ},prevPageLink:{setter:AF.one,valueFn:function(){var A=this.get(C);return AF.Node.create(AW).html(A);}},prevPageLinkLabel:{value:Aa(o,AV),validator:AZ},rowsPerPageOptions:{value:{},validator:G},rowsPerPage:{setter:function(A){return Ae(A);},value:1},rowsPerPageEl:{setter:AF.one,valueFn:function(){return AF.Node.create(AG);}},state:{setter:function(A){return this._setState(A);},getter:function(A){return this._getState(A);},value:{},validator:f},template:{getter:function(A){return this._getTemplate(A);},writeOnce:true,value:x,validator:AZ},total:{setter:function(A){return this._setTotal(A);},value:0,validator:m},totalEl:{setter:AF.one,valueFn:function(){var A=this.get(t);return AF.Node.create(q).html(A);}},totalLabel:{getter:function(){var A=this;return AF.substitute(s,{total:A.get(AD)});},validator:AZ},totalPages:{readOnly:true,getter:function(A){return Math.ceil(this.get(AD)/this.get(AI));}}},prototype:{lastState:null,templatesCache:null,renderUI:function(){var A=this;var L=A.get(i);L.unselectable();A._renderRowsPerPageOptions();A._renderTemplateUI();L.addClass(U);},bindUI:function(){var A=this;A._delegateDOM();A.publish("changeRequest");A.after("stateChange",AF.bind(A._afterSetState,A));A.before("stateChange",AF.bind(A._beforeSetState,A));A.after("maxPageLinksChange",AF.bind(A._renderTemplateUI,A));A.after("rowsPerPageChange",AF.bind(A._renderTemplateUI,A));A.after("totalChange",AF.bind(A._renderTemplateUI,A));},syncUI:function(){var A=this;A.changeRequest();},destructor:function(){var A=this;A.get(i).remove(true);},_syncPageLinksUI:function(){var A=this;var Ai=A.get(i);var Ah=A.get(R);var L=A.calculateRange(Ah);Ai.each(function(Al){var Ak=0;var Aj=L.start;var An=Al.all(u+AN);if(An){An.removeClass(b);while(Aj<=L.end){var Am=An.item(Ak);A.get(j).apply(A,[Am,Aj,Ak]);Am.setAttribute(R,Aj);if(Aj==Ah){Am.addClass(b);}Ak++;Aj++;}}});},_syncPageReportUI:function(L){var A=this;var Ah=A.get(i);Ah.each(function(Ai){var Aj=Ai.one(u+X);if(Aj){Aj.html(A.get(W));}});},calculateRange:function(Ai){var A=this;var Ah=A.get(AC);var Al=A.get(AK);var Aj=Math.ceil(Al/2);var Ak=Math.min(Math.max(Ai-Aj,1),(Ah-Al+1));var L=Math.min(Ak+Al-1,Ah);return{start:Ak,end:L};},changeRequest:function(){var A=this;var L=A.get(r);A.fire("changeRequest",{state:L});},eachContainer:function(L){var A=this;A.get(i).each(function(Ah){if(Ah){L.apply(A,arguments);}});},hasNextPage:function(){var A=this;return A.hasPage(A.get(R)+1);},hasPage:function(Ah){var A=this;var L=A.get(AC);return((Ah>0)&&(Ah<=L));},hasPrevPage:function(){var A=this;return A.hasPage(A.get(R)-1);},_renderRowsPerPageOptions:function(){var A=this;var Ah=0;var L=A.get(Ab);var Ai=A.get(V);AF.each(Ai,function(Aj){L.getDOM().options[Ah++]=new Option(Aj,Aj);});},_renderTemplateUI:function(){var A=this;var L=A.get(i);A.templatesCache=null;L.html(A.get(AQ));A._syncPageLinksUI();A._syncPageReportUI();A._bindDOMEvents();},setState:function(L){var A=this;A.set(r,L);},_getState:function(L){var A=this;return{before:A.lastState,paginator:A,page:A.get(R),total:A.get(AD),totalPages:A.get(AC),rowsPerPage:A.get(AI)};
},_getTemplate:function(L){var A=this;var Ah=function(Am){return A.get(Am).outerHTML();};if(!A.templatesCache){var Ak=0;var Aj=A.get(AC);var Al=A.get(AK);var Ai=A.get(Y);while(Ak++<Al){Ai.append(A.get(h));}A.templatesCache=AF.substitute(L,{CurrentPageReport:Ah(F),FirstPageLink:Ah(AH),LastPageLink:Ah(k),NextPageLink:Ah(AR),PageLinks:Ai.outerHTML(),PrevPageLink:Ah(K),RowsPerPageSelect:Ah(Ab),Total:Ah(n)});}return A.templatesCache;},_setState:function(L){var A=this;AF.each(L,function(Ai,Ah){A.set(Ah,Ai);});return L;},_setTotal:function(Ah){var A=this;var L=A.get(c);var Ai=A.get(i);if(!L&&(Ah===0)){Ai.hide();}else{Ai.show();}return Ah;},_afterSetState:function(L){var A=this;A._syncPageLinksUI();A._syncPageReportUI();},_beforeSetState:function(L){var A=this;A.lastState=L.prevVal;},_onClickFirstLinkEl:function(L){var A=this;A.set(R,1);A.changeRequest();L.halt();},_onClickPrevLinkEl:function(L){var A=this;if(A.hasPrevPage()){var Ah=A.get(R);A.set(R,Ah-1);A.changeRequest();}L.halt();},_onClickPageLinkEl:function(Ah){var A=this;var L=Ah.currentTarget.attr(R);A.set(R,L);A.changeRequest();Ah.halt();},_onClickNextLinkEl:function(L){var A=this;if(A.hasNextPage()){var Ah=A.get(R);A.set(R,Ah+1);A.changeRequest();}L.halt();},_onClickLastLinkEl:function(Ah){var A=this;var L=A.get(AC);A.set(R,L);A.changeRequest();Ah.halt();},_bindDOMEvents:function(){var A=this;A.eachContainer(function(Ah){var L=Ah.one(u+S);if(L){L.val(A.get(AI));L.detach("change");L.on("change",function(Aj){var Ai=A.get(AI);try{Ai=Aj.target.val();}catch(Ak){}A.set(R,1);A.set(AI,Ai);A.changeRequest();});}});},_delegateDOM:function(){var A=this;A.eachContainer(function(Ah,L){Ah.delegate("click",AF.bind(A._onClickFirstLinkEl,A),u+Af);Ah.delegate("click",AF.bind(A._onClickPrevLinkEl,A),u+AM);Ah.delegate("click",AF.bind(A._onClickPageLinkEl,A),u+AN);Ah.delegate("click",AF.bind(A._onClickNextLinkEl,A),u+E);Ah.delegate("click",AF.bind(A._onClickLastLinkEl,A),u+N);});}}});AF.Paginator=d;},"@VERSION@",{skinnable:true,requires:["aui-base","substitute"]});