datatables.net-plugins
Version:
Various small plug-ins for DataTables including feature, ordering, search and internationalisation plug-ins.
1 lines • 3.65 kB
JavaScript
!function(t){var i,s;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return t(e,window,document)}):"object"==typeof exports?(i=require("jquery"),s=function(e,a){a.fn.dataTable||require("datatables.net")(e,a)},"undefined"==typeof window?module.exports=function(e,a){return e=e||window,a=a||i(e),s(e,a),t(a,0,e.document)}:(s(window,i),module.exports=t(i,window,window.document))):t(jQuery,window,document)}(function(e,a,s){"use strict";var g=e.fn.dataTable;function o(e,a,t){e.classList.toggle(a,t);a=e.querySelector("a");a&&(t?a.setAttribute("disabled","disabled"):a.removeAttribute("disabled"))}function u(e,a,t){var i=s.createElement(e.tag);return i.className=e.className,e.liner&&e.liner.tag?(e=u(e.liner,a),i.appendChild(e)):a&&(i.innerHTML=a),t&&i.addEventListener("click",t),i}return g.feature.register("selectPaging",function(e,a){let i=new g.Api(e),s=function(e){e=e.table().container(),e=e.classList;{if(e.contains("dt-bootstrap5")||e.contains("dt-bootstrap4")||e.contains("dt-bootstrap"))return{wrapper:{tag:"ul",className:"dt-selectpaging pagination"},item:{tag:"li",className:"page-item",disabled:"disabled",liner:{tag:"a",className:"page-link"}},inputItem:{tag:"li",className:"page-item dt-paging-select"},input:{className:"custom-select"}};if(e.contains("dt-bulma"))return{wrapper:{tag:"ul",className:"dt-selectpaging pagination pagination-list"},item:{tag:"li",className:"",disabled:"disabled",liner:{tag:"a",className:"pagination-link"}},inputItem:{tag:"li",className:"dt-paging-select"},input:{className:""}};if(e.contains("dt-foundation"))return{wrapper:{tag:"ul",className:"dt-selectpaging pagination"},item:{tag:"li",className:"",disabled:"disabled",liner:{tag:"a",className:""}},inputItem:{tag:"li",className:"dt-paging-select"},input:{className:""}};if(e.contains("dt-semanticUI"))return{wrapper:{tag:"div",className:"dt-selectpaging ui unstackable pagination menu"},item:{tag:"a",className:"page-link item",disabled:"disabled"},inputItem:{tag:"div",className:"dt-paging-select"},input:{className:"ui input"}}}return{wrapper:{tag:"div",className:"dt-selectpaging dt-paging"},item:{tag:"button",className:"dt-paging-button",disabled:"disabled"},inputItem:{tag:"div",className:"dt-paging-select",liner:{tag:"",className:""}},input:{className:""}}}(i);e=Object.assign({firstLast:!0,previousNext:!0,pageOf:!0},a),a=u(s.wrapper);let n=u(s.item,i.i18n("oPaginate.sFirst","«"),()=>{n.classList.contains(s.item.disabled)||i.page("first").draw(!1)}),l=u(s.item,i.i18n("oPaginate.sPrevious","‹"),()=>{l.classList.contains(s.item.disabled)||i.page("previous").draw(!1)}),d=u(s.item,i.i18n("oPaginate.sNext","›"),()=>{d.classList.contains(s.item.disabled)||i.page("next").draw(!1)}),r=u(s.item,i.i18n("oPaginate.sLast","»"),()=>{r.classList.contains(s.item.disabled)||i.page("last").draw(!1)});var t=u(s.inputItem);let p=u({tag:"select",className:s.input.className}),c=u({tag:"span",className:""});return e.firstLast&&a.appendChild(n),e.previousNext&&a.appendChild(l),a.appendChild(t),e.previousNext&&a.appendChild(d),e.firstLast&&a.appendChild(r),t.appendChild(p),e.pageOf&&t.appendChild(c),p.addEventListener("change",function(){i.page(+p.value).draw(!1)}),i.on("draw",()=>{var a=i.page.info(),e=(o(n,s.item.disabled,0===a.page),o(l,s.item.disabled,0===a.page),0===a.recordsTotal||0===a.recordsDisplay?0:a.pages-1);o(d,s.item.disabled,a.page===e),o(r,s.item.disabled,a.page===e),p.replaceChildren();for(let e=0;e<a.pages;e++){var t=new Option((e+1).toString(),e.toString());p.appendChild(t)}p.value=a.page,p.disabled=0===a.recordsTotal||0===a.recordsDisplay,c.textContent=" / "+a.pages}),a}),g});