/** * jQuery asPaginator v0.3.3 * https://github.com/amazingSurge/jquery-asPaginator * * Copyright (c) amazingSurge * Released under the LGPL-3.0 license */ !function(t,e){if("function"==typeof define&&define.amd)define(["jquery"],e);else if("undefined"!=typeof exports)e(require("jquery"));else{var i={exports:{}};e(t.jQuery),t.jqueryAsPaginatorEs=i.exports}}(this,function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){var i=this,s=Date.now||function(){return(new Date).getTime()},n=void 0,a=void 0,o=void 0,r=void 0,l=0,u=function(){l=s(),n=null,r=t.apply(a,o),n||(a=o=null)};return function(){for(var c=arguments.length,f=Array(c),h=0;he?(n&&(clearTimeout(n),n=null),l=d,r=t.apply(a,o),n||(a=o=null)):n||(n=setTimeout(u,p)),r}}var s=function(t){return t&&t.__esModule?t:{default:t}}(t),n=function(){function t(t,e){for(var i=0;i{{first}}{{prev}}{{lists}}{{next}}{{last}}"},skin:null,components:{first:!0,prev:!0,next:!0,last:!0,lists:!0},onInit:null,onReady:null,onChange:null},o={},r=function(){function t(i,n,r){e(this,t),this.element=i,this.$element=(0,s.default)(i).empty(),this.options=s.default.extend({},a,r),this.namespace=this.options.namespace,this.currentPage=this.options.currentPage||1,this.itemsPerPage=this.options.itemsPerPage,this.totalItems=n,this.totalPages=this.getTotalPages(),this.isOutOfBounds()&&(this.currentPage=this.totalPages),this.initialized=!1,this.components=o,this.$element.addClass(this.namespace),this.options.skin&&this.$element.addClass(this.options.skin),this.classes={disabled:this.options.disabledClass,active:this.options.activeClass},this.disabled=!1,this._trigger("init"),this.init()}return n(t,[{key:"init",value:function(){var t=this;t.visible=t.getVisible(),s.default.each(this.options.components,function(e,i){if(null===i||!1===i)return!1;t.components[e].init(t)}),t.createHtml(),t.bindEvents(),t.goTo(t.currentPage),t.initialized=!0,"number"!=typeof this.options.visibleNum&&(0,s.default)(window).on("resize",i(function(){t.resize()},this.options.resizeTime)),this._trigger("ready")}},{key:"createHtml",value:function(){var t=this,e=void 0;t.contents=t.options.tpl();for(var i=t.contents.match(/\{\{([^\}]+)\}\}/g).length,n=void 0,a=0;ai&&(e=s)}):e=this.options.visibleNum,e}},{key:"calculate",value:function(t,e,i){var s=1,n=1;return t<=i+2&&(s=0),t+i+1>=e&&(n=0),{left:s,right:n}}},{key:"goTo",value:function(t){if((t=Math.max(1,Math.min(t,this.totalPages)))===this.currentPage&&!0===this.initialized)return!1;this.$element.find("."+this.classes.disabled).removeClass(this.classes.disabled),t===this.totalPages&&(this.$element.find("."+this.namespace+"-next").addClass(this.classes.disabled),this.$element.find("."+this.namespace+"-last").addClass(this.classes.disabled)),1===t&&(this.$element.find("."+this.namespace+"-prev").addClass(this.classes.disabled),this.$element.find("."+this.namespace+"-first").addClass(this.classes.disabled)),this.currentPage=t,this.initialized&&this._trigger("change",t)}},{key:"prev",value:function(){return!!this.hasPreviousPage()&&(this.goTo(this.getPreviousPage()),!0)}},{key:"next",value:function(){return!!this.hasNextPage()&&(this.goTo(this.getNextPage()),!0)}},{key:"goFirst",value:function(){return this.goTo(1)}},{key:"goLast",value:function(){return this.goTo(this.totalPages)}},{key:"update",value:function(t,e){var i={};"string"==typeof t?i[t]=e:i=t;for(var s in i)if(Object.hasOwnProperty.call(i,s))switch(s){case"totalItems":this.totalItems=i[s];break;case"itemsPerPage":this.itemsPerPage=i[s];break;case"currentPage":this.currentPage=i[s]}this.totalPages=this.totalPages()}},{key:"isOutOfBounds",value:function(){return this.currentPage>this.totalPages}},{key:"getItemsPerPage",value:function(){return this.itemsPerPage}},{key:"getTotalItems",value:function(){return this.totalItems}},{key:"getTotalPages",value:function(){return this.totalPages=Math.ceil(this.totalItems/this.itemsPerPage),this.lastPage=this.totalPages,this.totalPages}},{key:"getCurrentPage",value:function(){return this.currentPage}},{key:"hasPreviousPage",value:function(){return this.currentPage>1}},{key:"getPreviousPage",value:function(){return!!this.hasPreviousPage()&&this.currentPage-1}},{key:"hasNextPage",value:function(){return this.currentPage1?e-1:0),s=1;sPrev'}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.prev);this.opts=e},bindEvents:function(t){this.$prev=t.$element.find("."+t.namespace+"-prev"),this.$prev.on("click.asPaginator",s.default.proxy(t.prev,t))},unbindEvents:function(){this.$prev.off("click.asPaginator")}}),r.registerComponent("next",{defaults:{tpl:function(){return'
  • Next
  • '}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.next);this.opts=e},bindEvents:function(t){this.$next=t.$element.find("."+t.namespace+"-next"),this.$next.on("click.asPaginator",s.default.proxy(t.next,t))},unbindEvents:function(){this.$next.off("click.asPaginator")}}),r.registerComponent("first",{defaults:{tpl:function(){return'
  • First
  • '}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.first);this.opts=e},bindEvents:function(t){this.$first=t.$element.find("."+t.namespace+"-first"),this.$first.on("click.asPaginator",s.default.proxy(t.goFirst,t))},unbindEvents:function(){this.$first.off("click.asPaginator")}}),r.registerComponent("last",{defaults:{tpl:function(){return'
  • Last
  • '}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.last);this.opts=e},bindEvents:function(t){this.$last=t.$element.find("."+t.namespace+"-last"),this.$last.on("click.asPaginator",s.default.proxy(t.goLast,t))},unbindEvents:function(){this.$last.off("click.asPaginator")}}),r.registerComponent("lists",{defaults:{tpl:function(){var t="",e=this.currentPage>=this.visible?this.currentPage%this.visible:this.currentPage;e=0===e?this.visible:e;for(var i=1;i'+(this.currentPage-e+i)+"";t+='
  • '+this.currentPage+"
  • ";for(var s=this.currentPage+1,n=s+this.visible-e-1>this.totalPages?this.totalPages:s+this.visible-e-1;s<=n;s++)t+='
  • '+s+"
  • ";return t}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.lists);this.opts=e,t.itemsTpl=this.opts.tpl.call(t)},bindEvents:function(t){var e=this;this.$items=t.$element.find("."+t.namespace+"-items"),t.$element.on("click",this.$items,function(e){var i=(0,s.default)(e.target).parent().data("value")||(0,s.default)(e.target).data("value");return void 0!==i&&(""!==i&&void t.goTo(i))}),e.render(t),t.$element.on("asPaginator::change",function(){e.render(t)})},unbindEvents:function(t){t.$element.off("click",this.$items)},resize:function(t){this.render(t)},render:function(t){var e=t.currentPage,i=void 0,n=this,a=this.$items.removeClass(t.classes.active);s.default.each(a,function(n,a){if((0,s.default)(a).data("value")===e)return(0,s.default)(a).addClass(t.classes.active),i=!1,!1}),!1===i&&this.visibleBefore===t.visible||(this.visibleBefore=t.visible,s.default.each(a,function(e,i){0===e?(0,s.default)(i).replaceWith(n.opts.tpl.call(t)):(0,s.default)(i).remove()}),this.$items=t.$element.find("."+t.namespace+"-items"))}}),r.registerComponent("goTo",{defaults:{tpl:function(){return'
    '}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.goTo);this.opts=e},bindEvents:function(t){var e=this;e.$goTo=t.$element.find("."+t.namespace+"-goTo"),e.$input=e.$goTo.find("."+t.namespace+"-input"),e.$button=e.$goTo.find("."+t.namespace+"-submit"),e.$button.on("click",function(){var i=parseInt(e.$input.val(),10);i=i>0?i:t.currentPage,t.goTo(i)})},unbindEvents:function(){this.$button.off("click")}}),r.registerComponent("altLists",{defaults:{tpl:function(){var t="",e=this.totalPages,i=this.currentPage,s=this.calculate(i,e,this.visible),n=this,a=void 0,o=function(t,e){return"active"===e?'
  • '+t+"
  • ":"omit"===e?'
  • ...
  • ':'
  • '+t+"
  • "};if(0===s.left){for(a=1;a<=i-1;a++)t+=o(a);t+=o(i,"active")}else{for(a=1;a<=2;a++)t+=o(a);for(t+=o(i,"omit"),a=i-this.visible+1;a<=i-1;a++)t+=o(a);t+=o(i,"active")}if(0===s.right)for(a=i+1;a<=e;a++)t+=o(a);else{for(a=i+1;a<=i+this.visible-1;a++)t+=o(a);for(t+=o(i,"omit"),a=e-1;a<=e;a++)t+=o(a)}return t}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.altLists);this.opts=e},bindEvents:function(t){var e=this;this.$items=t.$element.find("."+t.namespace+"-items"),t.$element.on("click",this.$items,function(e){var i=(0,s.default)(e.target).parent().data("value")||(0,s.default)(e.target).data("value");return void 0!==i&&("ellipsis"!==i&&(""!==i&&void t.goTo(i)))}),e.render(t),t.$element.on("asPaginator::change",function(){e.render(t)})},unbindEvents:function(t){t.$wrap.off("click",this.$items)},resize:function(t){this.render(t)},render:function(t){var e=this,i=this.$items.removeClass(t.classes.active);s.default.each(i,function(i,n){0===i?(0,s.default)(n).replaceWith(e.opts.tpl.call(t)):(0,s.default)(n).remove()}),this.$items=t.$element.find("."+t.namespace+"-items")}}),r.registerComponent("info",{defaults:{tpl:function(){return'
  • /
  • '}},init:function(t){var e=s.default.extend({},this.defaults,t.options.components.info);this.opts=e},bindEvents:function(t){var e=t.$element.find("."+t.namespace+"-info"),i=e.find("."+t.namespace+"-current");e.find("."+t.namespace+"-total").text(t.totalPages),i.text(t.currentPage),t.$element.on("asPaginator::change",function(){i.text(t.currentPage)})}});var l={version:"0.3.3"},u=s.default.fn.asPaginator,c=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n