* A jQuery plugin to provide simple yet fully customisable pagination
* https://github.com/superRaytin/paginationjs
...
...
@@ -8,4 +8,4 @@
* Copyright 2014-2100, superRaytin
* Released under the MIT license.
*/
!function(a,b){functionc(a){thrownewError("Pagination: "+a)}functiond(a){a.dataSource||c('"dataSource" is required.'),"string"==typeofa.dataSource?"undefined"==typeofa.totalNumber?c('"totalNumber" is required.'):b.isNumeric(a.totalNumber)||c('"totalNumber" is incorrect. (Number)'):j.isObject(a.dataSource)&&("undefined"==typeofa.locator?c('"dataSource" is an Object, please specify "locator".'):"string"==typeofa.locator||b.isFunction(a.locator)||c(""+a.locator+" is incorrect. (String | Function)"))}functione(a){varc=["go","previous","next","disable","enable","refresh","show","hide","destroy"];b.each(c,function(b,c){a.off(i+c)}),a.data("pagination",{}),b(".paginationjs",a).remove()}functionf(a,b){return("object"==(b=typeofa)?null==a&&"null"||Object.prototype.toString.call(a).slice(8,-1):b).toLowerCase()}"undefined"==typeofb&&c("Pagination requires jQuery.");varg="pagination",h="addHook",i="__pagination-";b.fn.pagination&&(g="pagination2"),b.fn[g]=function(f){if("undefined"==typeoff)returnthis;varh=b(this),k={initialize:function(){vara=this;if(h.data("pagination")||h.data("pagination",{}),a.callHook("beforeInit")!==!1){h.data("pagination").initialized&&b(".paginationjs",h).remove(),a.disabled=!!m.disabled;varc=a.model={pageRange:m.pageRange,pageSize:m.pageSize};a.parseDataSource(m.dataSource,function(b){if(a.sync=j.isArray(b),a.sync&&(c.totalNumber=m.totalNumber=b.length),c.totalPage=a.getTotalPage(),!(m.hideWhenLessThanOnePage&&c.totalPage<=1)){vard=a.render(!0);m.className&&d.addClass(m.className),c.el=d,h["bottom"===m.position?"append":"prepend"](d),a.observer(),h.data("pagination").initialized=!0,a.callHook("afterInit",d)}})}},render:function(a){varc=this,d=c.model,e=d.el||b('<div class="paginationjs"></div>'),f=a!==!0;c.callHook("beforeRender",f);varg=d.pageNumber||m.pageNumber,h=m.pageRange,i=d.totalPage,j=g-h,k=g+h;returnk>i&&(k=i,j=i-2*h,j=1>j?1:j),1>=j&&(j=1,k=Math.min(2*h+1,i)),e.html(c.createTemplate({currentPage:g,pageRange:h,totalPage:i,rangeStart:j,rangeEnd:k})),c.callHook("afterRender",f),e},createTemplate:function(a){varc,d,e=this,f=a.currentPage,g=a.totalPage,h=a.rangeStart,i=a.rangeEnd,j=m.totalNumber,k=m.showPrevious,l=m.showNext,n=m.showPageNumbers,o=m.showNavigator,p=m.showGoInput,q=m.showGoButton,r=m.pageLink,s=m.prevText,t=m.nextText,u=m.ellipsisText,v=m.goButtonText,w=m.classPrefix,x=m.activeClassName,y=m.disableClassName,z=m.ulClassName,A=b.isFunction(m.formatNavigator)?m.formatNavigator():m.formatNavigator,B=b.isFunction(m.formatGoInput)?m.formatGoInput():m.formatGoInput,C=b.isFunction(m.formatGoButton)?m.formatGoButton():m.formatGoButton,D=b.isFunction(m.autoHidePrevious)?m.autoHidePrevious():m.autoHidePrevious,E=b.isFunction(m.autoHideNext)?m.autoHideNext():m.autoHideNext,F=b.isFunction(m.header)?m.header():m.header,G=b.isFunction(m.footer)?m.footer():m.footer,H="",I='<input type="text" class="J-paginationjs-go-pagenumber">',J='<input type="button" class="J-paginationjs-go-button" value="'+v+'">';if(F&&(c=e.replaceVariables(F,{currentPage:f,totalPage:g,totalNumber:j}),H+=c),k||n||l){if(H+='<div class="paginationjs-pages">',H+=z?'<ul class="'+z+'">':"<ul>",k&&(1===f?D||(H+='<li class="'+w+"-prev "+y+'"><a>'+s+"</a></li>"):H+='<li class="'+w+'-prev J-paginationjs-previous" data-num="'+(f-1)+'" title="Previous page"><a href="'+r+'">'+s+"</a></li>"),n){if(3>=h)for(d=1;h>d;d++)H+=d==f?'<li class="'+w+"-page J-paginationjs-page "+x+'" data-num="'+d+'"><a>'+d+"</a></li>":'<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";elsem.showFirstOnEllipsisShow&&(H+='<li class="'+w+"-page "+w+'-first J-paginationjs-page" data-num="1"><a href="'+r+'">1</a></li>'),H+='<li class="'+w+"-ellipsis "+y+'"><a>'+u+"</a></li>";for(d=h;i>=d;d++)H+=d==f?'<li class="'+w+"-page J-paginationjs-page "+x+'" data-num="'+d+'"><a>'+d+"</a></li>":'<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";if(i>=g-2)for(d=i+1;g>=d;d++)H+='<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";elseH+='<li class="'+w+"-ellipsis "+y+'"><a>'+u+"</a></li>",m.showLastOnEllipsisShow&&(H+='<li class="'+w+"-page "+w+'-last J-paginationjs-page" data-num="'+g+'"><a href="'+r+'">'+g+"</a></li>")}l&&(f==g?E||(H+='<li class="'+w+"-next "+y+'"><a>'+t+"</a></li>"):H+='<li class="'+w+'-next J-paginationjs-next" data-num="'+(f+1)+'" title="Next page"><a href="'+r+'">'+t+"</a></li>"),H+="</ul></div>"}returno&&A&&(c=e.replaceVariables(A,{currentPage:f,totalPage:g,totalNumber:j}),H+='<div class="'+w+'-nav J-paginationjs-nav">'+c+"</div>"),p&&B&&(c=e.replaceVariables(B,{currentPage:f,totalPage:g,totalNumber:j,input:I}),H+='<div class="'+w+'-go-input">'+c+"</div>"),q&&C&&(c=e.replaceVariables(C,{currentPage:f,totalPage:g,totalNumber:j,button:J}),H+='<div class="'+w+'-go-button">'+c+"</div>"),G&&(c=e.replaceVariables(G,{currentPage:f,totalPage:g,totalNumber:j}),H+=c),H},go:function(a,c){functiond(a){if(e.callHook("beforePaging",g)===!1)return!1;if(f.direction="undefined"==typeoff.pageNumber?0:g>f.pageNumber?1:-1,f.pageNumber=g,e.render(),e.disabled&&!e.sync&&e.enable(),h.data("pagination").model=f,b.isFunction(m.formatResult)){vard=b.extend(!0,[],a);j.isArray(a=m.formatResult(d))||(a=d)}h.data("pagination").currentPageData=a,e.doCallback(a,c),e.callHook("afterPaging",g),1==g&&e.callHook("afterIsFirstPage"),g==f.totalPage&&e.callHook("afterIsLastPage")}vare=this,f=e.model;if(!e.disabled){varg=a,i=m.pageSize,k=f.totalPage;if(g=parseInt(g),!(!g||1>g||g>k)){if(e.sync)returnvoidd(e.getDataSegment(g));varl={},n=m.alias||{};l[n.pageSize?n.pageSize:"pageSize"]=i,l[n.pageNumber?n.pageNumber:"pageNumber"]=g;varo={type:"get",cache:!1,data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",dataType:"json",async:!0};b.extend(!0,o,m.ajax),b.extend(o.data||{},l),o.url=m.dataSource,o.success=function(a){d(e.filterDataByLocator(a))},o.error=function(a,b,c){m.formatAjaxError&&m.formatAjaxError(a,b,c),e.enable()},e.disable(),b.ajax(o)}}},doCallback:function(a,c){vard=this,e=d.model;b.isFunction(c)?c(a,e):b.isFunction(m.callback)&&m.callback(a,e)},destroy:function(){this.callHook("beforeDestroy")!==!1&&(this.model.el.remove(),h.off(),b("#paginationjs-style").remove(),this.callHook("afterDestroy"))},previous:function(a){this.go(this.model.pageNumber-1,a)},next:function(a){this.go(this.model.pageNumber+1,a)},disable:function(){vara=this,b=a.sync?"sync":"async";a.callHook("beforeDisable",b)!==!1&&(a.disabled=!0,a.model.disabled=!0,a.callHook("afterDisable",b))},enable:function(){vara=this,b=a.sync?"sync":"async";a.callHook("beforeEnable",b)!==!1&&(a.disabled=!1,a.model.disabled=!1,a.callHook("afterEnable",b))},refresh:function(a){this.go(this.model.pageNumber,a)},show:function(){vara=this;a.model.el.is(":visible")||a.model.el.show()},hide:function(){vara=this;a.model.el.is(":visible")&&a.model.el.hide()},replaceVariables:function(a,b){varc;for(vardinb){vare=b[d],f=newRegExp("<%=\\s*"+d+"\\s*%>","img");c=(c||a).replace(f,e)}returnc},getDataSegment:function(a){varb=m.pageSize,c=m.dataSource,d=m.totalNumber,e=b*(a-1)+1,f=Math.min(a*b,d);returnc.slice(e-1,f)},getTotalPage:function(){returnMath.ceil(m.totalNumber/m.pageSize)},getLocator:function(a){vard;return"string"==typeofa?d=a:b.isFunction(a)?d=a():c('"locator" is incorrect. (String | Function)'),d},filterDataByLocator:function(a){vard,e=this.getLocator(m.locator);if(j.isObject(a)){try{b.each(e.split("."),function(b,c){d=(d?d:a)[c]})}catch(f){}d?j.isArray(d)||c("dataSource."+e+" must be an Array."):c("dataSource."+e+" is undefined.")}returnd||a},parseDataSource:function(a,d){{vare=this;arguments}j.isObject(a)?d(m.dataSource=e.filterDataByLocator(a)):j.isArray(a)?d(m.dataSource=a):b.isFunction(a)?m.dataSource(function(a){b.isFunction(a)&&c('Unexpect parameter of the "done" Function.'),e.parseDataSource.call(e,a,d)}):"string"==typeofa?(/^https?|file:/.test(a)&&(m.ajaxDataType="jsonp"),d(a)):c('Unexpect data type of the "dataSource".')},callHook:function(c){vard,e=h.data("pagination"),f=Array.prototype.slice.apply(arguments);returnf.shift(),m[c]&&b.isFunction(m[c])&&m[c].apply(a,f)===!1&&(d=!1),e.hooks&&e.hooks[c]&&b.each(e.hooks[c],function(b,c){c.apply(a,f)===!1&&(d=!1)}),d!==!1},observer:function(){vara=this,d=a.model.el;h.on(i+"go",function(d,e,f){e=parseInt(b.trim(e)),e&&(b.isNumeric(e)||c('"pageNumber" is incorrect. (Number)'),a.go(e,f))}),d.delegate(".J-paginationjs-page","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));return!e||d.hasClass(m.disableClassName)||d.hasClass(m.activeClassName)?void0:a.callHook("beforePageOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterPageOnClick",c,e),m.pageLink?void0:!1)}),d.delegate(".J-paginationjs-previous","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));returne&&!d.hasClass(m.disableClassName)?a.callHook("beforePreviousOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterPreviousOnClick",c,e),m.pageLink?void0:!1):void0}),d.delegate(".J-paginationjs-next","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));returne&&!d.hasClass(m.disableClassName)?a.callHook("beforeNextOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterNextOnClick",c,e),m.pageLink?void0:!1):void0}),d.delegate(".J-paginationjs-go-button","click",function(c){vare=b(".J-paginationjs-go-pagenumber",d).val();returna.callHook("beforeGoButtonOnClick",c,e)===!1?!1:(h.trigger(i+"go",e),voida.callHook("afterGoButtonOnClick",c,e))}),d.delegate(".J-paginationjs-go-pagenumber","keyup",function(c){if(13===c.which){vare=b(c.currentTarget).val();if(a.callHook("beforeGoInputOnEnter",c,e)===!1)return!1;h.trigger(i+"go",e),b(".J-paginationjs-go-pagenumber",d).focus(),a.callHook("afterGoInputOnEnter",c,e)}}),h.on(i+"previous",function(b,c){a.previous(c)}),h.on(i+"next",function(b,c){a.next(c)}),h.on(i+"disable",function(){a.disable()}),h.on(i+"enable",function(){a.enable()}),h.on(i+"refresh",function(b,c){a.refresh(c)}),h.on(i+"show",function(){a.show()}),h.on(i+"hide",function(){a.hide()}),h.on(i+"destroy",function(){a.destroy()}),m.triggerPagingOnInit&&h.trigger(i+"go",Math.min(m.pageNumber,a.model.totalPage))}};if(h.data("pagination")&&h.data("pagination").initialized===!0){if(b.isNumeric(f))returnh.trigger.call(this,i+"go",f,arguments[1]),this;if("string"==typeoff){varl=Array.prototype.slice.apply(arguments);switch(l[0]=i+l[0],f){case"previous":case"next":case"go":case"disable":case"enable":case"refresh":case"show":case"hide":case"destroy":h.trigger.apply(this,l);break;case"getSelectedPageNum":returnh.data("pagination").model?h.data("pagination").model.pageNumber:h.data("pagination").attributes.pageNumber;case"getTotalPage":returnh.data("pagination").model.totalPage;case"getSelectedPageData":returnh.data("pagination").currentPageData;case"isDisabled":returnh.data("pagination").model.disabled===!0;default:c("Pagination do not provide action: "+f)}returnthis}e(h)}elsej.isObject(f)||c("Illegal options");varm=b.extend({},b.fn[g].defaults,f);returnd(m),k.initialize(),this},b.fn[g].defaults={totalNumber:1,pageNumber:1,pageSize:10,pageRange:2,showPrevious:!0,showNext:!0,showPageNumbers:!0,showNavigator:!1,showGoInput:!1,showGoButton:!1,pageLink:"",prevText:"«",nextText:"»",ellipsisText:"...",goButtonText:"Go",classPrefix:"paginationjs",activeClassName:"active",disableClassName:"disabled",inlineStyle:!0,formatNavigator:"<%= currentPage %> / <%= totalPage %>",formatGoInput:"<%= input %>",formatGoButton:"<%= button %>",position:"bottom",autoHidePrevious:!1,autoHideNext:!1,triggerPagingOnInit:!0,hideWhenLessThanOnePage:!1,showFirstOnEllipsisShow:!0,showLastOnEllipsisShow:!0,callback:function(){}},b.fn[h]=function(a,d){arguments.length<2&&c("Missing argument."),b.isFunction(d)||c("callback must be a function.");vare=b(this),f=e.data("pagination");f||(e.data("pagination",{}),f=e.data("pagination")),!f.hooks&&(f.hooks={}),f.hooks[a]=f.hooks[a]||[],f.hooks[a].push(d)},b[g]=function(a,d){arguments.length<2&&c("Requires two parameters.");vare;returne="string"!=typeofa&&ainstanceofjQuery?a:b(a),e.length?(e.pagination(d),e):void0};varj={};b.each(["Object","Array"],function(a,b){j["is"+b]=function(a){returnf(a)===b.toLowerCase()}}),"function"==typeofdefine&&define.amd&&define(function(){returnb})}(this,window.jQuery);
\ No newline at end of file
!function(a,b){functionc(a){thrownewError("Pagination: "+a)}functiond(a){a.dataSource||c('"dataSource" is required.'),"string"==typeofa.dataSource?void0===a.totalNumberLocator?void0===a.totalNumber?c('"totalNumber" is required.'):b.isNumeric(a.totalNumber)||c('"totalNumber" is incorrect. (Number)'):b.isFunction(a.totalNumberLocator)||c('"totalNumberLocator" should be a Function.'):j.isObject(a.dataSource)&&("undefined"==typeofa.locator?c('"dataSource" is an Object, please specify "locator".'):"string"==typeofa.locator||b.isFunction(a.locator)||c(""+a.locator+" is incorrect. (String | Function)")),void0===a.formatResult||b.isFunction(a.formatResult)||c('"formatResult" should be a Function.')}functione(a){varc=["go","previous","next","disable","enable","refresh","show","hide","destroy"];b.each(c,function(b,c){a.off(i+c)}),a.data("pagination",{}),b(".paginationjs",a).remove()}functionf(a,b){return("object"==(b=typeofa)?null==a&&"null"||Object.prototype.toString.call(a).slice(8,-1):b).toLowerCase()}"undefined"==typeofb&&c("Pagination requires jQuery.");varg="pagination",h="addHook",i="__pagination-";b.fn.pagination&&(g="pagination2"),b.fn[g]=function(f){if("undefined"==typeoff)returnthis;varh=b(this),k=b.extend({},b.fn[g].defaults,f),l={initialize:function(){vara=this;if(h.data("pagination")||h.data("pagination",{}),a.callHook("beforeInit")!==!1){h.data("pagination").initialized&&b(".paginationjs",h).remove(),a.disabled=!!k.disabled;varc=a.model={pageRange:k.pageRange,pageSize:k.pageSize};a.parseDataSource(k.dataSource,function(b){if(a.isAsync=j.isString(b),j.isArray(b)&&(c.totalNumber=k.totalNumber=b.length),a.isDynamicTotalNumber=a.isAsync&&k.totalNumberLocator,!(k.hideWhenLessThanOnePage&&a.getTotalPage()<=1)){vard=a.render(!0);k.className&&d.addClass(k.className),c.el=d,h["bottom"===k.position?"append":"prepend"](d),a.observer(),h.data("pagination").initialized=!0,a.callHook("afterInit",d)}})}},render:function(a){varc=this,d=c.model,e=d.el||b('<div class="paginationjs"></div>'),f=a!==!0;c.callHook("beforeRender",f);varg=d.pageNumber||k.pageNumber,h=k.pageRange,i=c.getTotalPage(),j=g-h,l=g+h;returnl>i&&(l=i,j=i-2*h,j=1>j?1:j),1>=j&&(j=1,l=Math.min(2*h+1,i)),e.html(c.createTemplate({currentPage:g,pageRange:h,rangeStart:j,rangeEnd:l})),c.callHook("afterRender",f),e},createTemplate:function(a){varc,d,e=this,f=a.currentPage,g=e.getTotalPage(),h=a.rangeStart,i=a.rangeEnd,j=e.getTotalNumber(),l=k.showPrevious,m=k.showNext,n=k.showPageNumbers,o=k.showNavigator,p=k.showGoInput,q=k.showGoButton,r=k.pageLink,s=k.prevText,t=k.nextText,u=k.ellipsisText,v=k.goButtonText,w=k.classPrefix,x=k.activeClassName,y=k.disableClassName,z=k.ulClassName,A=b.isFunction(k.formatNavigator)?k.formatNavigator():k.formatNavigator,B=b.isFunction(k.formatGoInput)?k.formatGoInput():k.formatGoInput,C=b.isFunction(k.formatGoButton)?k.formatGoButton():k.formatGoButton,D=b.isFunction(k.autoHidePrevious)?k.autoHidePrevious():k.autoHidePrevious,E=b.isFunction(k.autoHideNext)?k.autoHideNext():k.autoHideNext,F=b.isFunction(k.header)?k.header():k.header,G=b.isFunction(k.footer)?k.footer():k.footer,H="",I='<input type="text" class="J-paginationjs-go-pagenumber">',J='<input type="button" class="J-paginationjs-go-button" value="'+v+'">';if(F&&(c=e.replaceVariables(F,{currentPage:f,totalPage:g,totalNumber:j}),H+=c),l||n||m){if(H+='<div class="paginationjs-pages">',H+=z?'<ul class="'+z+'">':"<ul>",l&&(1===f?D||(H+='<li class="'+w+"-prev "+y+'"><a>'+s+"</a></li>"):H+='<li class="'+w+'-prev J-paginationjs-previous" data-num="'+(f-1)+'" title="Previous page"><a href="'+r+'">'+s+"</a></li>"),n){if(3>=h)for(d=1;h>d;d++)H+=d==f?'<li class="'+w+"-page J-paginationjs-page "+x+'" data-num="'+d+'"><a>'+d+"</a></li>":'<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";elsek.showFirstOnEllipsisShow&&(H+='<li class="'+w+"-page "+w+'-first J-paginationjs-page" data-num="1"><a href="'+r+'">1</a></li>'),H+='<li class="'+w+"-ellipsis "+y+'"><a>'+u+"</a></li>";for(d=h;i>=d;d++)H+=d==f?'<li class="'+w+"-page J-paginationjs-page "+x+'" data-num="'+d+'"><a>'+d+"</a></li>":'<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";if(i>=g-2)for(d=i+1;g>=d;d++)H+='<li class="'+w+'-page J-paginationjs-page" data-num="'+d+'"><a href="'+r+'">'+d+"</a></li>";elseH+='<li class="'+w+"-ellipsis "+y+'"><a>'+u+"</a></li>",k.showLastOnEllipsisShow&&(H+='<li class="'+w+"-page "+w+'-last J-paginationjs-page" data-num="'+g+'"><a href="'+r+'">'+g+"</a></li>")}m&&(f==g?E||(H+='<li class="'+w+"-next "+y+'"><a>'+t+"</a></li>"):H+='<li class="'+w+'-next J-paginationjs-next" data-num="'+(f+1)+'" title="Next page"><a href="'+r+'">'+t+"</a></li>"),H+="</ul></div>"}returno&&A&&(c=e.replaceVariables(A,{currentPage:f,totalPage:g,totalNumber:j}),H+='<div class="'+w+'-nav J-paginationjs-nav">'+c+"</div>"),p&&B&&(c=e.replaceVariables(B,{currentPage:f,totalPage:g,totalNumber:j,input:I}),H+='<div class="'+w+'-go-input">'+c+"</div>"),q&&C&&(c=e.replaceVariables(C,{currentPage:f,totalPage:g,totalNumber:j,button:J}),H+='<div class="'+w+'-go-button">'+c+"</div>"),G&&(c=e.replaceVariables(G,{currentPage:f,totalPage:g,totalNumber:j}),H+=c),H},findTotalNumberFromRemoteResponse:function(a){varb=this;b.model.totalNumber=k.totalNumberLocator(a)},go:function(a,c){functiond(a){if(e.callHook("beforePaging",g)===!1)return!1;if(f.direction="undefined"==typeoff.pageNumber?0:g>f.pageNumber?1:-1,f.pageNumber=g,e.render(),e.disabled&&e.isAsync&&e.enable(),h.data("pagination").model=f,k.formatResult){vard=b.extend(!0,[],a);j.isArray(a=k.formatResult(d))||(a=d)}h.data("pagination").currentPageData=a,e.doCallback(a,c),e.callHook("afterPaging",g),1==g&&e.callHook("afterIsFirstPage"),g==e.getTotalPage()&&e.callHook("afterIsLastPage")}vare=this,f=e.model;if(!e.disabled){varg=a;if(g=parseInt(g),g&&!(1>g)){vari=k.pageSize,l=e.getTotalNumber(),m=e.getTotalPage();if(!(l&&g>m)){if(!e.isAsync)returnvoidd(e.getDataFragment(g));varn={},o=k.alias||{};n[o.pageSize?o.pageSize:"pageSize"]=i,n[o.pageNumber?o.pageNumber:"pageNumber"]=g;varp={type:"get",cache:!1,data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",dataType:"json",async:!0};b.extend(!0,p,k.ajax),b.extend(p.data,n),p.url=k.dataSource,p.success=function(a){e.isDynamicTotalNumber?e.findTotalNumberFromRemoteResponse(a):e.model.totalNumber=k.totalNumber,d(e.filterDataByLocator(a))},p.error=function(a,b,c){k.formatAjaxError&&k.formatAjaxError(a,b,c),e.enable()},e.disable(),b.ajax(p)}}}},doCallback:function(a,c){vard=this,e=d.model;b.isFunction(c)?c(a,e):b.isFunction(k.callback)&&k.callback(a,e)},destroy:function(){this.callHook("beforeDestroy")!==!1&&(this.model.el.remove(),h.off(),b("#paginationjs-style").remove(),this.callHook("afterDestroy"))},previous:function(a){this.go(this.model.pageNumber-1,a)},next:function(a){this.go(this.model.pageNumber+1,a)},disable:function(){vara=this,b=a.isAsync?"async":"sync";a.callHook("beforeDisable",b)!==!1&&(a.disabled=!0,a.model.disabled=!0,a.callHook("afterDisable",b))},enable:function(){vara=this,b=a.isAsync?"async":"sync";a.callHook("beforeEnable",b)!==!1&&(a.disabled=!1,a.model.disabled=!1,a.callHook("afterEnable",b))},refresh:function(a){this.go(this.model.pageNumber,a)},show:function(){vara=this;a.model.el.is(":visible")||a.model.el.show()},hide:function(){vara=this;a.model.el.is(":visible")&&a.model.el.hide()},replaceVariables:function(a,b){varc;for(vardinb){vare=b[d],f=newRegExp("<%=\\s*"+d+"\\s*%>","img");c=(c||a).replace(f,e)}returnc},getDataFragment:function(a){varb=k.pageSize,c=k.dataSource,d=this.getTotalNumber(),e=b*(a-1)+1,f=Math.min(a*b,d);returnc.slice(e-1,f)},getTotalNumber:function(){returnthis.model.totalNumber||k.totalNumber||1},getTotalPage:function(){returnMath.ceil(this.getTotalNumber()/k.pageSize)},getLocator:function(a){vard;return"string"==typeofa?d=a:b.isFunction(a)?d=a():c('"locator" is incorrect. (String | Function)'),d},filterDataByLocator:function(a){vard,e=this.getLocator(k.locator);if(j.isObject(a)){try{b.each(e.split("."),function(b,c){d=(d?d:a)[c]})}catch(f){}d?j.isArray(d)||c("dataSource."+e+" must be an Array."):c("dataSource."+e+" is undefined.")}returnd||a},parseDataSource:function(a,d){vare=this;j.isObject(a)?d(k.dataSource=e.filterDataByLocator(a)):j.isArray(a)?d(k.dataSource=a):b.isFunction(a)?k.dataSource(function(a){j.isArray(a)||c('The parameter of "done" Function should be an Array.'),e.parseDataSource.call(e,a,d)}):"string"==typeofa?(/^https?|file:/.test(a)&&(k.ajaxDataType="jsonp"),d(a)):c('Unexpected type of "dataSource".')},callHook:function(c){vard,e=h.data("pagination"),f=Array.prototype.slice.apply(arguments);returnf.shift(),k[c]&&b.isFunction(k[c])&&k[c].apply(a,f)===!1&&(d=!1),e.hooks&&e.hooks[c]&&b.each(e.hooks[c],function(b,c){c.apply(a,f)===!1&&(d=!1)}),d!==!1},observer:function(){vara=this,d=a.model.el;h.on(i+"go",function(d,e,f){e=parseInt(b.trim(e)),e&&(b.isNumeric(e)||c('"pageNumber" is incorrect. (Number)'),a.go(e,f))}),d.delegate(".J-paginationjs-page","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));return!e||d.hasClass(k.disableClassName)||d.hasClass(k.activeClassName)?void0:a.callHook("beforePageOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterPageOnClick",c,e),k.pageLink?void0:!1)}),d.delegate(".J-paginationjs-previous","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));returne&&!d.hasClass(k.disableClassName)?a.callHook("beforePreviousOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterPreviousOnClick",c,e),k.pageLink?void0:!1):void0}),d.delegate(".J-paginationjs-next","click",function(c){vard=b(c.currentTarget),e=b.trim(d.attr("data-num"));returne&&!d.hasClass(k.disableClassName)?a.callHook("beforeNextOnClick",c,e)===!1?!1:(a.go(e),a.callHook("afterNextOnClick",c,e),k.pageLink?void0:!1):void0}),d.delegate(".J-paginationjs-go-button","click",function(c){vare=b(".J-paginationjs-go-pagenumber",d).val();returna.callHook("beforeGoButtonOnClick",c,e)===!1?!1:(h.trigger(i+"go",e),voida.callHook("afterGoButtonOnClick",c,e))}),d.delegate(".J-paginationjs-go-pagenumber","keyup",function(c){if(13===c.which){vare=b(c.currentTarget).val();if(a.callHook("beforeGoInputOnEnter",c,e)===!1)return!1;h.trigger(i+"go",e),b(".J-paginationjs-go-pagenumber",d).focus(),a.callHook("afterGoInputOnEnter",c,e)}}),h.on(i+"previous",function(b,c){a.previous(c)}),h.on(i+"next",function(b,c){a.next(c)}),h.on(i+"disable",function(){a.disable()}),h.on(i+"enable",function(){a.enable()}),h.on(i+"refresh",function(b,c){a.refresh(c)}),h.on(i+"show",function(){a.show()}),h.on(i+"hide",function(){a.hide()}),h.on(i+"destroy",function(){a.destroy()});vare=k.pageNumber;a.isDynamicTotalNumber&&(e=1),k.triggerPagingOnInit&&h.trigger(i+"go",Math.min(e,a.getTotalPage()))}};if(h.data("pagination")&&h.data("pagination").initialized===!0){if(b.isNumeric(f))returnh.trigger.call(this,i+"go",f,arguments[1]),this;if("string"==typeoff){varm=Array.prototype.slice.apply(arguments);switch(m[0]=i+m[0],f){case"previous":case"next":case"go":case"disable":case"enable":case"refresh":case"show":case"hide":case"destroy":h.trigger.apply(this,m);break;case"getSelectedPageNum":returnh.data("pagination").model?h.data("pagination").model.pageNumber:h.data("pagination").attributes.pageNumber;case"getTotalPage":returnMath.ceil(h.data("pagination").model.totalNumber/h.data("pagination").model.pageSize);case"getSelectedPageData":returnh.data("pagination").currentPageData;case"isDisabled":returnh.data("pagination").model.disabled===!0;default:c("Unknown action: "+f)}returnthis}e(h)}elsej.isObject(f)||c("Illegal options");returnd(k),l.initialize(),this},b.fn[g].defaults={totalNumber:1,pageNumber:1,pageSize:10,pageRange:2,showPrevious:!0,showNext:!0,showPageNumbers:!0,showNavigator:!1,showGoInput:!1,showGoButton:!1,pageLink:"",prevText:"«",nextText:"»",ellipsisText:"...",goButtonText:"Go",classPrefix:"paginationjs",activeClassName:"active",disableClassName:"disabled",inlineStyle:!0,formatNavigator:"<%= currentPage %> / <%= totalPage %>",formatGoInput:"<%= input %>",formatGoButton:"<%= button %>",position:"bottom",autoHidePrevious:!1,autoHideNext:!1,triggerPagingOnInit:!0,hideWhenLessThanOnePage:!1,showFirstOnEllipsisShow:!0,showLastOnEllipsisShow:!0,callback:function(){}},b.fn[h]=function(a,d){arguments.length<2&&c("Missing argument."),b.isFunction(d)||c("callback must be a function.");vare=b(this),f=e.data("pagination");f||(e.data("pagination",{}),f=e.data("pagination")),!f.hooks&&(f.hooks={}),f.hooks[a]=f.hooks[a]||[],f.hooks[a].push(d)},b[g]=function(a,d){arguments.length<2&&c("Requires two parameters.");vare;returne="string"!=typeofa&&ainstanceofjQuery?a:b(a),e.length?(e.pagination(d),e):void0};varj={};b.each(["Object","Array","String"],function(a,b){j["is"+b]=function(a){returnf(a)===b.toLowerCase()}}),"function"==typeofdefine&&define.amd&&define(function(){returnb})}(this,window.jQuery);