1 line
8.5 KiB
JavaScript
1 line
8.5 KiB
JavaScript
|
|
class IcPagination{constructor(e,s,t){this.options=t,this.table=jQuery(e),this.pagiElem=s,this.itemsOnPage=this.options.itemsOnPage||1,this.table.find('[data-empty-info="true"]').remove(),this.rows=this.loadRows(),this.pages=Math.ceil(this.rows.length/this.itemsOnPage),jQuery(this.pagiElem+"-ilosc-wynikow").text(this.rows.length),!0===this.options.useParams?(this.urlParams=new URLSearchParams(location.search),this.urlParams.has("strona")&&parseInt(this.urlParams.get("strona"))<=this.pages&&parseInt(this.urlParams.get("strona"))>=1?this.selected=parseInt(this.urlParams.get("strona"))-1:this.selected=0):this.selected=0,this.options.emptylist?this.emptylist=this.options.emptylist:this.emptylist="No results!",this.showElements(),this.generatePagination(),this.handleClicks(),jQuery(".cdp-d-sel-all-con").length>0&&jQuery('[data-box="cdp-tabox-manual"]').hasClass("cdp-tab-active")&&(1==this.pages?jQuery(".cdp-d-sel-all-con").css({visibility:"hidden"}):jQuery(".cdp-d-sel-all-con").css({visibility:""})),0===this.rows.length?(this.table.find('tbody tr[data-ignore="true"]').hide(),this.table.find("tbody").append('<tr data-ignore="true" data-empty-info="true"><td colspan="100%">'+this.emptylist+"</td></tr>")):this.table.find('tbody tr[data-ignore="true"]').hide(),this.pagesStyle();let a=this;jQuery(document).keydown(function(e){if(0==jQuery("input:focus, .cdp-magic-input:focus").length)switch(e.which){case 37:e.preventDefault(),jQuery(a.prevPageElem).parents("li").hasClass("cdp-separator-dis")||a.changePage(a.selected-1);break;case 39:e.preventDefault(),jQuery(a.nextPageElem).parents("li").hasClass("cdp-separator-dis")||a.changePage(a.selected+1)}})}loadRows(){return this.table.find("tbody tr").not('[data-ignore="true"]')}generatePagination(e=!1){e||(jQuery(this.pagiElem).html('<nav class="pagination pagination-pages cdp-center"></nav>'),jQuery(this.pagiElem+" .pagination-pages").append('<li class="pagination-previous cdp-pagi-arrows cdp-no-style cdp-pointer cdp-left"><a class="prev_page">«</a></li>'),jQuery(this.pagiElem+" .pagination-pages").append('<li class="pagination-next cdp-pagi-arrows cdp-no-style cdp-pointer cdp-right"><a class="next_page">»</a></li>'),jQuery(this.pagiElem+" .pagination-pages").append('<ul class="pagination-pages-section pagination-list"><li class="cdp-separator-dis" data-separator="true"><a>···</a></li><li class="cdp-separator-dis" data-separator="true"><a>···</a></li></ul>'),this.prevPageElem=jQuery(this.pagiElem+" .pagination-pages").find("a.prev_page"),this.nextPageElem=jQuery(this.pagiElem+" .pagination-pages").find("a.next_page"),this.dataSeparators=jQuery(this.pagiElem+" .pagination-pages .pagination-pages-section").find('li[data-separator="true"]'),this.dataSeparators.addClass("cdp-hide")),jQuery(this.pagiElem+" .pagination-pages-section").find(".page-btn").remove(),jQuery(jQuery('<li class="page-btn"><a class="page_link pagination-link" data-page="0">1</a></li>')).insertBefore(jQuery(this.dataSeparators[0]));for(let e=1;e<this.pages;e++){let s=jQuery('<li class="page-btn"><a class="page_link pagination-link" data-page="'+e+'">'+(e+1)+"</a></li>");e<2&&this.pages>2?jQuery(s).insertBefore(jQuery(this.dataSeparators[0])):e<this.pages-2?jQuery(s).insertBefore(jQuery(this.dataSeparators[1])):jQuery(this.pagiElem+" .pagination-pages-section").append(jQuery(s))}this.pagesElems=jQuery(this.pagiElem+" .pagination-pages").find(".page-btn")}handleClicks(e=!1){e&&(jQuery(this.prevPageElem).off("click"),jQuery(this.nextPageElem).off("click"),jQuery(this.pagiElem+" .pagination-pages").find("a.page_link").off("click"));var s=this;jQuery(this.pagiElem+" .pagination-pages-section").find('[data-page="'+this.selected+'"]').parents("li").addClass("active is-current").addClass("off-clicks"),jQuery(this.prevPageElem).on("click",function(){jQuery(this).parents("li").hasClass("cdp-separator-dis")||s.changePage(s.selected-1)}),jQuery(this.nextPageElem).on("click",function(){jQuery(this).parents("li").hasClass("cdp-separator-dis")||s.changePage(s.selected+1)}),jQuery(this.pagiElem+" .pagination-pages").find("a.pag
|