14 if ( typeof define ===
'function' && define.amd ) {
16 define( [
'jquery',
'datatables.net'],
function ( $ ) {
17 return factory( $, window, document );
20 else if ( typeof exports ===
'object' ) {
22 module.exports =
function (root, $) {
27 if ( ! $ || ! $.fn.dataTable ) {
31 $ = require(
'datatables.net')(root, $).$;
34 return factory( $, root, root.document );
39 factory( jQuery, window, document );
41 }(
function( $, window, document, undefined ) {
43 var DataTable = $.fn.dataTable;
47 $.extend(
true, DataTable.defaults, {
51 "<'eight wide column'l>"+
52 "<'right aligned eight wide column'f>"+
55 "<'sixteen wide column'tr>"+
58 "<'seven wide column'i>"+
59 "<'right aligned nine wide column'p>"+
62 renderer:
'semanticUI'
67 $.extend( DataTable.ext.classes, {
68 sWrapper:
"dataTables_wrapper dt-semanticUI",
69 sFilter:
"dataTables_filter ui input",
70 sProcessing:
"dataTables_processing ui segment",
71 sPageButton:
"paginate_button item"
76 DataTable.ext.renderer.pageButton.semanticUI =
function ( settings, host, idx, buttons, page, pages ) {
77 var api =
new DataTable.Api( settings );
78 var classes = settings.oClasses;
79 var lang = settings.oLanguage.oPaginate;
80 var aria = settings.oLanguage.oAria.paginate || {};
81 var btnDisplay, btnClass, counter=0;
83 var attach =
function( container, buttons ) {
84 var i, ien, node, button;
85 var clickHandler =
function ( e ) {
87 if ( !$(e.currentTarget).hasClass(
'disabled') && api.page() != e.data.action ) {
88 api.page( e.data.action ).draw(
'page' );
92 for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
95 if ( $.isArray( button ) ) {
96 attach( container, button );
104 btnDisplay =
'…';
105 btnClass =
'disabled';
109 btnDisplay = lang.sFirst;
110 btnClass = button + (page > 0 ?
115 btnDisplay = lang.sPrevious;
116 btnClass = button + (page > 0 ?
121 btnDisplay = lang.sNext;
122 btnClass = button + (page < pages-1 ?
127 btnDisplay = lang.sLast;
128 btnClass = button + (page < pages-1 ?
133 btnDisplay = button + 1;
134 btnClass = page === button ?
139 var tag = btnClass.indexOf(
'disabled' ) === -1 ?
144 node = $(
'<'+tag+
'>', {
145 'class': classes.sPageButton+
' '+btnClass,
146 'id': idx === 0 && typeof button ===
'string' ?
147 settings.sTableId +
'_'+ button :
150 'aria-controls': settings.sTableId,
151 'aria-label': aria[ button ],
152 'data-dt-idx': counter,
153 'tabindex': settings.iTabIndex
156 .appendTo( container );
158 settings.oApi._fnBindAction(
159 node, {action: button}, clickHandler
177 activeEl = $(host).find(document.activeElement).data(
'dt-idx');
182 $(host).empty().html(
'<div class="ui pagination menu"/>').children(),
187 $(host).find(
'[data-dt-idx='+activeEl+
']' ).focus();
193 $(document).on(
'init.dt',
function (e, ctx) {
194 if ( e.namespace !==
'dt' ) {
199 if ( $.fn.dropdown ) {
200 var api =
new $.fn.dataTable.Api( ctx );
202 $(
'div.dataTables_length select', api.table().container() ).dropdown();