datatables-bulma
Version:
Bulma CSS framework style integration for the DataTables library
2 lines (1 loc) • 1.92 kB
JavaScript
(function(v){"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(w){return v(w,window,document)}):"object"==typeof exports?module.exports=function(w,x){return w||(w=window),x&&x.fn.dataTable||(x=require("datatables.net")(w,x).$),v(x,w,w.document)}:v(jQuery,window,document)})(function(v,w,x){var y=v.fn.dataTable;return v.extend(!0,y.defaults,{dom:"<'columns'<'column is-6'l><'column is-6'f>><'columns'<'column is-12'tr>><'columns'<'column is-5'i><'column is-7'p>>",renderer:"bulma"}),v.extend(y.ext.classes,{sWrapper:"dataTables_wrapper dt-bulma",sFilterInput:"input is-small",sLengthSelect:"input is-small",sProcessing:"dataTables_processing panel",sPageButton:"pagination-link",sPagePrevious:"pagination-previous",sPageNext:"pagination-next",sPageButtonActive:"is-current"}),y.ext.renderer.pageButton.bulma=function(z,A,B,C,D,E){var J,K,N,F=new y.Api(z),G=z.oClasses,H=z.oLanguage.oPaginate,I=z.oLanguage.oAria.paginate||{},L=0,M=function(O,P){var Q,R,S,T,U=function(V){V.preventDefault(),v(V.currentTarget).is("[disabled]")||v(V.currentTarget).is("#table_ellipsis")||F.page()==V.data.action||F.page(V.data.action).draw("page")};for(Q=0,R=P.length;Q<R;Q++)(T=P[Q],v.isArray(T))?M(O,T):(K=J="",dd=!1,"ellipsis"===T?(J="…",dd=!0):"first"===T?(J=H.sFirst,dd=T+!(0<D)):"previous"===T?(J=H.sPrevious,dd=!(0<D)):"next"===T?(J=H.sNext,dd=!(D<E-1)):"last"===T?(J=H.sLast,dd=T+!(D<E-1)):(J=T+1,K=D===T?" is-current":"",dd=!1),J&&(S=v("<li>",{id:0===B&&"string"==typeof T?z.sTableId+"_"+T:null}).append(v("<a>",{"class":G.sPageButton+" "+K,href:"#","aria-controls":z.sTableId,"aria-label":I[T],"data-dt-idx":L,tabindex:z.iTabIndex,disabled:dd}).html(J)).appendTo(O),z.oApi._fnBindAction(S,{action:T},U),L++))};try{N=v(A).find(x.activeElement).data("dt-idx")}catch(O){}M(v(A).empty().html("<ul class=\"pagination-list\"/>").children("ul"),C),N&&v(A).find("[data-dt-idx="+N+"]").focus()},y});