Rev 119 | Rev 128 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!function(e){e.fn.paginate=function(t){var n={paginateElement:"li",hashPage:"page",elementsPerPage:10,firstButton:!0,firstButtonText:"<<",lastButton:!0,lastButtonText:">>",prevButton:!0,prevButtonText:"<",nextButton:!0,nextButtonText:">",extraButtonClasses:"",functionOnNav:null};return this.each(function(){"undefined"==typeof plugin?(plugin={},newPlugin=!0):newPlugin=!1,newPlugin&&(plugin.el=e(this),plugin.el.addClass("paginateList"),plugin.settings={pages:0,objElements:Object,currentPage:1});var a=function(){return Math.ceil(plugin.objElements.length/plugin.settings.elementsPerPage)},s=function(){for(htmlNav='<div class="paginateNav text-center'+(plugin.settings.pages<=1?" invisible":"")+'">',plugin.settings.firstButton&&(htmlNav+='<a href="#'+plugin.settings.hashPage+':1" title="First page" rel="1" class="first mr-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.firstButtonText+"</a>"),plugin.settings.prevButton&&(htmlNav+='<a href="" title="Previous" rel="" class="prev mr-1 '+plugin.settings.ex
traButtonClasses+'">'+plugin.settings.prevButtonText+"</a>"),i=1;i<=plugin.settings.pages;i++)htmlNav+='<a href="#'+plugin.settings.hashPage+":"+i+'" title="Page '+i+'" rel="'+i+'" class="page mx-1 '+plugin.settings.extraButtonClasses+'">'+i+"</a>";plugin.settings.nextButton&&(htmlNav+='<a href="" title="Next" rel="" class="next ml-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.nextButtonText+"</a>"),plugin.settings.lastButton&&(htmlNav+='<a href="#'+plugin.settings.hashPage+":"+plugin.settings.pages+'" title="Last page" rel="'+plugin.settings.pages+'" class="last ml-1 '+plugin.settings.extraButtonClasses+'">'+plugin.settings.lastButtonText+"</a>"),htmlNav+="</div>",plugin.nav=e(htmlNav),plugin.nav.css({width:plugin.el.width()}),plugin.el.after(plugin.nav);var t="#"+plugin.el.get(0).id+" + ";e(t+" .paginateNav a.page,"+t+" .paginateNav a.first,"+t+" .paginateNav a.last").on("click",function(t){t.preventDefault(),l(e(this).attr("rel")),plugin.settings.functionOnNav&&plugin.settings.functionOnNav(
)}),e(t+" .paginateNav a.prev").on("click",function(e){e.preventDefault(),page=plugin.settings.currentPage>1?parseInt(plugin.settings.currentPage)-1:1,l(page),plugin.settings.functionOnNav&&plugin.settings.functionOnNav()}),e(t+" .paginateNav a.next").on("click",function(e){e.preventDefault(),page=plugin.settings.currentPage<plugin.settings.pages?parseInt(plugin.settings.currentPage)+1:plugin.settings.pages,l(page),plugin.settings.functionOnNav&&plugin.settings.functionOnNav()})},l=function(t){switch(plugin.settings.currentPage=parseInt(t),offsetStart=(t-1)*plugin.settings.elementsPerPage,offsetEnd=t*plugin.settings.elementsPerPage,o(offsetStart,offsetEnd),void 0!==plugin.nav&&(plugin.nav.find(".current").removeClass("current"),plugin.nav.find("a.page:eq("+(t-1)+")").addClass("current")),plugin.settings.currentPage){case 1:e(".paginateNav a",plugin).removeClass("disabled"),e(".paginateNav a.first, .paginateNav a.prev",plugin).addClass("disabled");break;case plugin.settings.pages:e(".paginateNav a",plugin).re
moveClass("disabled"),e(".paginateNav a.last, .paginateNav a.next",plugin).addClass("disabled");break;default:e(".paginateNav a",plugin).removeClass("disabled")}},o=function(e,t){plugin.currentElements.hide(),plugin.currentElements=plugin.objElements.slice(e,t).clone(),plugin.el.html(plugin.currentElements),plugin.currentElements.show()};plugin.settings=e.extend({},n,t),plugin.currentElements=e([]),newPlugin?plugin.objElements=plugin.el.find(plugin.settings.paginateElement):e(".paginateNav").remove(),plugin.settings.pages=a(),plugin.el.html(),s(),page=1,-1!=document.location.hash.indexOf("#"+plugin.settings.hashPage+":")&&(page=parseInt(document.location.hash.replace("#"+plugin.settings.hashPage+":","")),(page.length<=0||page<1||page>plugin.settings.pages)&&(page=1)),l(page)})}}(jQuery);