jquery-datatables-rails 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/dataTables/bootstrap/2/jquery.dataTables.bootstrap.js +110 -96
- data/app/assets/javascripts/dataTables/bootstrap/3/jquery.dataTables.bootstrap.js +6 -6
- data/app/assets/javascripts/dataTables/extras/dataTables.colReorder.js +28 -27
- data/app/assets/javascripts/dataTables/extras/dataTables.colVis.js +27 -11
- data/app/assets/javascripts/dataTables/extras/dataTables.fixedColumns.js +53 -29
- data/app/assets/javascripts/dataTables/extras/dataTables.responsive.js +110 -47
- data/app/assets/javascripts/dataTables/extras/dataTables.tableTools.js +90 -25
- data/app/assets/javascripts/dataTables/jquery.dataTables.foundation.js +133 -139
- data/app/assets/javascripts/dataTables/jquery.dataTables.js +483 -375
- data/app/assets/javascripts/dataTables/jquery.dataTables.sorting.numbersHtml.js +37 -14
- data/app/assets/javascripts/dataTables/jquery.dataTables.typeDetection.numbersHtml.js +49 -33
- data/app/assets/media/dataTables/extras/swf/copy_csv_xls.swf +0 -0
- data/app/assets/media/dataTables/extras/swf/copy_csv_xls_pdf.swf +0 -0
- data/app/assets/stylesheets/dataTables/bootstrap/2/jquery.dataTables.bootstrap.scss +34 -9
- data/app/assets/stylesheets/dataTables/bootstrap/3/jquery.dataTables.bootstrap.scss +122 -31
- data/app/assets/stylesheets/dataTables/extras/dataTables.colvis.jqueryui.scss +18 -0
- data/app/assets/stylesheets/dataTables/extras/dataTables.fixedColumns.scss +1 -0
- data/app/assets/stylesheets/dataTables/extras/dataTables.responsive.scss +29 -12
- data/app/assets/stylesheets/dataTables/extras/dataTables.tableTools.scss +43 -19
- data/app/assets/stylesheets/dataTables/jquery.dataTables.foundation.scss +15 -4
- data/app/assets/stylesheets/dataTables/jquery.dataTables.scss +22 -11
- data/lib/jquery/datatables/rails/version.rb +1 -1
- metadata +18 -18
@@ -1,5 +1,5 @@
|
|
1
|
-
/*! TableTools 2.2.
|
2
|
-
* 2009-
|
1
|
+
/*! TableTools 2.2.4
|
2
|
+
* 2009-2015 SpryMedia Ltd - datatables.net/license
|
3
3
|
*
|
4
4
|
* ZeroClipboard 1.0.4
|
5
5
|
* Author: Joseph Huckaby - MIT licensed
|
@@ -8,11 +8,11 @@
|
|
8
8
|
/**
|
9
9
|
* @summary TableTools
|
10
10
|
* @description Tools and buttons for DataTables
|
11
|
-
* @version 2.2.
|
11
|
+
* @version 2.2.4
|
12
12
|
* @file dataTables.tableTools.js
|
13
13
|
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
14
14
|
* @contact www.sprymedia.co.uk/contact
|
15
|
-
* @copyright Copyright 2009-
|
15
|
+
* @copyright Copyright 2009-2015 SpryMedia Ltd.
|
16
16
|
*
|
17
17
|
* This source file is free software, available under the following license:
|
18
18
|
* MIT license - http://datatables.net/license/mit
|
@@ -434,7 +434,7 @@ ZeroClipboard_TableTools.Client.prototype = {
|
|
434
434
|
window.ZeroClipboard_TableTools = ZeroClipboard_TableTools;
|
435
435
|
//include TableTools.js
|
436
436
|
/* TableTools
|
437
|
-
* 2009-
|
437
|
+
* 2009-2015 SpryMedia Ltd - datatables.net/license
|
438
438
|
*/
|
439
439
|
|
440
440
|
/*globals TableTools,ZeroClipboard_TableTools*/
|
@@ -1157,7 +1157,11 @@ TableTools.prototype = {
|
|
1157
1157
|
this.s.dt.aoDestroyCallback.push( {
|
1158
1158
|
"sName": "TableTools",
|
1159
1159
|
"fn": function () {
|
1160
|
-
$(that.s.dt.nTBody)
|
1160
|
+
$(that.s.dt.nTBody)
|
1161
|
+
.off( 'click.DTTT_Select', that.s.custom.sRowSelector )
|
1162
|
+
.off( 'mousedown.DTTT_Select', 'tr' )
|
1163
|
+
.off( 'mouseup.DTTT_Select', 'tr' );
|
1164
|
+
|
1161
1165
|
$(that.dom.container).empty();
|
1162
1166
|
|
1163
1167
|
// Remove the instance
|
@@ -1298,6 +1302,33 @@ TableTools.prototype = {
|
|
1298
1302
|
this._fnCollectionConfig( nButton, oConfig );
|
1299
1303
|
}
|
1300
1304
|
|
1305
|
+
if ( this.s.dt.iTabIndex !== -1 ) {
|
1306
|
+
$(nButton)
|
1307
|
+
.attr( 'tabindex', this.s.dt.iTabIndex )
|
1308
|
+
.attr( 'aria-controls', this.s.dt.sTableId )
|
1309
|
+
.on( 'keyup.DTTT', function (e) {
|
1310
|
+
// Trigger the click event on return key when focused.
|
1311
|
+
// Note that for Flash buttons this has no effect since we
|
1312
|
+
// can't programmatically trigger the Flash export
|
1313
|
+
if ( e.keyCode === 13 ) {
|
1314
|
+
e.stopPropagation();
|
1315
|
+
|
1316
|
+
$(this).trigger( 'click' );
|
1317
|
+
}
|
1318
|
+
} )
|
1319
|
+
.on( 'mousedown.DTTT', function (e) {
|
1320
|
+
// On mousedown we want to stop the focus occurring on the
|
1321
|
+
// button, focus is used only for the keyboard navigation.
|
1322
|
+
// But using preventDefault for the flash buttons stops the
|
1323
|
+
// flash action. However, it is not the button that gets
|
1324
|
+
// focused but the flash element for flash buttons, so this
|
1325
|
+
// works
|
1326
|
+
if ( ! oConfig.sAction.match(/flash/) ) {
|
1327
|
+
e.preventDefault();
|
1328
|
+
}
|
1329
|
+
} );
|
1330
|
+
}
|
1331
|
+
|
1301
1332
|
return nButton;
|
1302
1333
|
},
|
1303
1334
|
|
@@ -1778,6 +1809,10 @@ TableTools.prototype = {
|
|
1778
1809
|
|
1779
1810
|
return out;
|
1780
1811
|
}
|
1812
|
+
else if ( typeof src === 'number' )
|
1813
|
+
{
|
1814
|
+
out.push(this.s.dt.aoData[src]);
|
1815
|
+
}
|
1781
1816
|
else
|
1782
1817
|
{
|
1783
1818
|
// A single aoData point
|
@@ -1951,6 +1986,13 @@ TableTools.prototype = {
|
|
1951
1986
|
that._fnCollectionHide( nButton, oConfig );
|
1952
1987
|
} );
|
1953
1988
|
|
1989
|
+
if ( oConfig.fnSelect !== null )
|
1990
|
+
{
|
1991
|
+
TableTools._fnEventListen( this, 'select', function (n) {
|
1992
|
+
oConfig.fnSelect.call( that, nButton, oConfig, n );
|
1993
|
+
} );
|
1994
|
+
}
|
1995
|
+
|
1954
1996
|
this._fnFlashGlue( flash, nButton, oConfig.sToolTip );
|
1955
1997
|
},
|
1956
1998
|
|
@@ -2030,10 +2072,21 @@ TableTools.prototype = {
|
|
2030
2072
|
var aColumns = [];
|
2031
2073
|
var dt = this.s.dt;
|
2032
2074
|
var i, iLen;
|
2075
|
+
var columns = dt.aoColumns;
|
2076
|
+
var columnCount = columns.length;
|
2033
2077
|
|
2034
|
-
if ( typeof mColumns == "
|
2078
|
+
if ( typeof mColumns == "function" )
|
2035
2079
|
{
|
2036
|
-
|
2080
|
+
var a = mColumns.call( this, dt );
|
2081
|
+
|
2082
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2083
|
+
{
|
2084
|
+
aColumns.push( $.inArray( i, a ) !== -1 ? true : false );
|
2085
|
+
}
|
2086
|
+
}
|
2087
|
+
else if ( typeof mColumns == "object" )
|
2088
|
+
{
|
2089
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2037
2090
|
{
|
2038
2091
|
aColumns.push( false );
|
2039
2092
|
}
|
@@ -2045,28 +2098,28 @@ TableTools.prototype = {
|
|
2045
2098
|
}
|
2046
2099
|
else if ( mColumns == "visible" )
|
2047
2100
|
{
|
2048
|
-
for ( i=0, iLen=
|
2101
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2049
2102
|
{
|
2050
|
-
aColumns.push(
|
2103
|
+
aColumns.push( columns[i].bVisible ? true : false );
|
2051
2104
|
}
|
2052
2105
|
}
|
2053
2106
|
else if ( mColumns == "hidden" )
|
2054
2107
|
{
|
2055
|
-
for ( i=0, iLen=
|
2108
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2056
2109
|
{
|
2057
|
-
aColumns.push(
|
2110
|
+
aColumns.push( columns[i].bVisible ? false : true );
|
2058
2111
|
}
|
2059
2112
|
}
|
2060
2113
|
else if ( mColumns == "sortable" )
|
2061
2114
|
{
|
2062
|
-
for ( i=0, iLen=
|
2115
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2063
2116
|
{
|
2064
|
-
aColumns.push(
|
2117
|
+
aColumns.push( columns[i].bSortable ? true : false );
|
2065
2118
|
}
|
2066
2119
|
}
|
2067
2120
|
else /* all */
|
2068
2121
|
{
|
2069
|
-
for ( i=0, iLen=
|
2122
|
+
for ( i=0, iLen=columnCount ; i<iLen ; i++ )
|
2070
2123
|
{
|
2071
2124
|
aColumns.push( true );
|
2072
2125
|
}
|
@@ -2139,24 +2192,36 @@ TableTools.prototype = {
|
|
2139
2192
|
aData.push( aRow.join(oConfig.sFieldSeperator) );
|
2140
2193
|
}
|
2141
2194
|
|
2195
|
+
bSelectedOnly = true;
|
2196
|
+
|
2142
2197
|
/*
|
2143
2198
|
* Body
|
2144
2199
|
*/
|
2145
|
-
var
|
2200
|
+
var aDataIndex;
|
2201
|
+
var aSelected = this.fnGetSelectedIndexes();
|
2146
2202
|
bSelectedOnly = this.s.select.type !== "none" && bSelectedOnly && aSelected.length !== 0;
|
2147
2203
|
|
2148
|
-
|
2149
|
-
|
2150
|
-
|
2151
|
-
|
2204
|
+
if ( bSelectedOnly ) {
|
2205
|
+
// Use the selected indexes
|
2206
|
+
aDataIndex = aSelected;
|
2207
|
+
}
|
2208
|
+
else if ( DataTable.Api ) {
|
2209
|
+
// 1.10+ style
|
2210
|
+
aDataIndex = new DataTable.Api( dt )
|
2211
|
+
.rows( oConfig.oSelectorOpts )
|
2212
|
+
.indexes()
|
2213
|
+
.flatten()
|
2214
|
+
.toArray();
|
2215
|
+
}
|
2216
|
+
else {
|
2217
|
+
// 1.9- style
|
2218
|
+
aDataIndex = dt.oInstance
|
2152
2219
|
.$('tr', oConfig.oSelectorOpts)
|
2153
2220
|
.map( function (id, row) {
|
2154
|
-
|
2155
|
-
return bSelectedOnly && $.inArray( row, aSelected ) === -1 ?
|
2156
|
-
null :
|
2157
|
-
dt.oInstance.fnGetPosition( row );
|
2221
|
+
return dt.oInstance.fnGetPosition( row );
|
2158
2222
|
} )
|
2159
2223
|
.get();
|
2224
|
+
}
|
2160
2225
|
|
2161
2226
|
for ( j=0, jLen=aDataIndex.length ; j<jLen ; j++ )
|
2162
2227
|
{
|
@@ -3054,7 +3119,7 @@ TableTools.prototype.CLASS = "TableTools";
|
|
3054
3119
|
* @type String
|
3055
3120
|
* @default See code
|
3056
3121
|
*/
|
3057
|
-
TableTools.version = "2.2.
|
3122
|
+
TableTools.version = "2.2.4";
|
3058
3123
|
|
3059
3124
|
|
3060
3125
|
|
@@ -1,165 +1,140 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
"<'row'<'large-6 columns'l><'large-6 columns'f>r>"+
|
5
|
-
"t"+
|
6
|
-
"<'row'<'large-6 columns'i><'large-6 columns'p>>",
|
7
|
-
"sPaginationType": "foundation",
|
8
|
-
"oLanguage": {
|
9
|
-
"sLengthMenu": "_MENU_ records per page"
|
10
|
-
}
|
11
|
-
} );
|
12
|
-
|
1
|
+
/*! DataTables Foundation integration
|
2
|
+
* ©2011-2014 SpryMedia Ltd - datatables.net/license
|
3
|
+
*/
|
13
4
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
"iPage": oSettings._iDisplayLength === -1 ?
|
24
|
-
0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
|
25
|
-
"iTotalPages": oSettings._iDisplayLength === -1 ?
|
26
|
-
0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
|
27
|
-
};
|
28
|
-
};
|
5
|
+
/**
|
6
|
+
* DataTables integration for Foundation. This requires Foundation 5 and
|
7
|
+
* DataTables 1.10 or newer.
|
8
|
+
*
|
9
|
+
* This file sets the defaults and adds options to DataTables to style its
|
10
|
+
* controls using Foundation. See http://datatables.net/manual/styling/foundation
|
11
|
+
* for further information.
|
12
|
+
*/
|
13
|
+
(function(window, document, undefined){
|
29
14
|
|
15
|
+
var factory = function( $, DataTable ) {
|
16
|
+
"use strict";
|
30
17
|
|
31
|
-
/* Foundation style pagination control */
|
32
|
-
$.extend( $.fn.dataTableExt.oPagination, {
|
33
|
-
"foundation": {
|
34
|
-
"fnInit": function( oSettings, nPaging, fnDraw ) {
|
35
|
-
var oLang = oSettings.oLanguage.oPaginate;
|
36
|
-
var fnClickHandler = function ( e ) {
|
37
|
-
e.preventDefault();
|
38
|
-
if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
|
39
|
-
fnDraw( oSettings );
|
40
|
-
}
|
41
|
-
};
|
42
|
-
|
43
|
-
$(nPaging).append(
|
44
|
-
'<ul class="pagination">'+
|
45
|
-
'<li class="prev arrow unavailable"><a href="">«</a></li>'+
|
46
|
-
'<li class="next arrow unavailable"><a href="">»</a></li>'+
|
47
|
-
'</ul>'
|
48
|
-
);
|
49
|
-
var els = $('a', nPaging);
|
50
|
-
$(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
|
51
|
-
$(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
|
52
|
-
},
|
53
18
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
var an = oSettings.aanFeatures.p;
|
58
|
-
var pages = [];
|
59
|
-
var i, ien, klass, host;
|
60
|
-
|
61
|
-
// This could use some improving - however, see
|
62
|
-
// https://github.com/DataTables/DataTables/issues/163 - this will
|
63
|
-
// be changing in the near future, so not much point in doing too
|
64
|
-
// much just now
|
65
|
-
if ( oPaging.iTotalPages <= 6 ) {
|
66
|
-
for ( i=0 ; i<oPaging.iTotalPages ; i++ ) {
|
67
|
-
pages.push( i );
|
68
|
-
}
|
69
|
-
}
|
70
|
-
else {
|
71
|
-
// Current page
|
72
|
-
pages.push( oPaging.iPage );
|
73
|
-
|
74
|
-
// After current page
|
75
|
-
var pagesAfter = oPaging.iPage + 2 >= oPaging.iTotalPages ?
|
76
|
-
oPaging.iTotalPages :
|
77
|
-
oPaging.iPage + 2;
|
78
|
-
for ( i=oPaging.iPage+1 ; i<pagesAfter ; i++ ) {
|
79
|
-
pages.push( i );
|
80
|
-
}
|
19
|
+
$.extend( DataTable.ext.classes, {
|
20
|
+
sWrapper: "dataTables_wrapper dt-foundation"
|
21
|
+
} );
|
81
22
|
|
82
|
-
// After gap
|
83
|
-
if ( pagesAfter < oPaging.iTotalPages-2 ) {
|
84
|
-
pages.push( null );
|
85
|
-
}
|
86
23
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
24
|
+
/* Set the defaults for DataTables initialisation */
|
25
|
+
$.extend( true, DataTable.defaults, {
|
26
|
+
dom:
|
27
|
+
"<'row'<'small-6 columns'l><'small-6 columns'f>r>"+
|
28
|
+
"t"+
|
29
|
+
"<'row'<'small-6 columns'i><'small-6 columns'p>>",
|
30
|
+
renderer: 'foundation'
|
31
|
+
} );
|
94
32
|
|
95
|
-
// Pages before
|
96
|
-
var pagesBefore = oPaging.iPage - 2 > 0 ?
|
97
|
-
oPaging.iPage - 2 :
|
98
|
-
0;
|
99
|
-
for ( i=oPaging.iPage-1 ; i>pagesBefore ; i-- ) {
|
100
|
-
pages.unshift( i );
|
101
|
-
}
|
102
33
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
34
|
+
/* Page button renderer */
|
35
|
+
DataTable.ext.renderer.pageButton.foundation = function ( settings, host, idx, buttons, page, pages ) {
|
36
|
+
var api = new DataTable.Api( settings );
|
37
|
+
var classes = settings.oClasses;
|
38
|
+
var lang = settings.oLanguage.oPaginate;
|
39
|
+
var btnDisplay, btnClass;
|
107
40
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
}
|
41
|
+
var attach = function( container, buttons ) {
|
42
|
+
var i, ien, node, button;
|
43
|
+
var clickHandler = function ( e ) {
|
44
|
+
e.preventDefault();
|
45
|
+
if ( e.data.action !== 'ellipsis' ) {
|
46
|
+
api.page( e.data.action ).draw( false );
|
115
47
|
}
|
48
|
+
};
|
116
49
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
50
|
+
for ( i=0, ien=buttons.length ; i<ien ; i++ ) {
|
51
|
+
button = buttons[i];
|
52
|
+
|
53
|
+
if ( $.isArray( button ) ) {
|
54
|
+
attach( container, button );
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
btnDisplay = '';
|
58
|
+
btnClass = '';
|
59
|
+
|
60
|
+
switch ( button ) {
|
61
|
+
case 'ellipsis':
|
62
|
+
btnDisplay = '…';
|
63
|
+
btnClass = 'unavailable';
|
64
|
+
break;
|
65
|
+
|
66
|
+
case 'first':
|
67
|
+
btnDisplay = lang.sFirst;
|
68
|
+
btnClass = button + (page > 0 ?
|
69
|
+
'' : ' unavailable');
|
70
|
+
break;
|
71
|
+
|
72
|
+
case 'previous':
|
73
|
+
btnDisplay = lang.sPrevious;
|
74
|
+
btnClass = button + (page > 0 ?
|
75
|
+
'' : ' unavailable');
|
76
|
+
break;
|
77
|
+
|
78
|
+
case 'next':
|
79
|
+
btnDisplay = lang.sNext;
|
80
|
+
btnClass = button + (page < pages-1 ?
|
81
|
+
'' : ' unavailable');
|
82
|
+
break;
|
83
|
+
|
84
|
+
case 'last':
|
85
|
+
btnDisplay = lang.sLast;
|
86
|
+
btnClass = button + (page < pages-1 ?
|
87
|
+
'' : ' unavailable');
|
88
|
+
break;
|
89
|
+
|
90
|
+
default:
|
91
|
+
btnDisplay = button + 1;
|
92
|
+
btnClass = page === button ?
|
93
|
+
'current' : '';
|
94
|
+
break;
|
140
95
|
}
|
141
96
|
|
142
|
-
if (
|
143
|
-
$('li
|
144
|
-
|
145
|
-
|
97
|
+
if ( btnDisplay ) {
|
98
|
+
node = $('<li>', {
|
99
|
+
'class': classes.sPageButton+' '+btnClass,
|
100
|
+
'aria-controls': settings.sTableId,
|
101
|
+
'tabindex': settings.iTabIndex,
|
102
|
+
'id': idx === 0 && typeof button === 'string' ?
|
103
|
+
settings.sTableId +'_'+ button :
|
104
|
+
null
|
105
|
+
} )
|
106
|
+
.append( $('<a>', {
|
107
|
+
'href': '#'
|
108
|
+
} )
|
109
|
+
.html( btnDisplay )
|
110
|
+
)
|
111
|
+
.appendTo( container );
|
112
|
+
|
113
|
+
settings.oApi._fnBindAction(
|
114
|
+
node, {action: button}, clickHandler
|
115
|
+
);
|
146
116
|
}
|
147
117
|
}
|
148
118
|
}
|
149
|
-
}
|
150
|
-
|
119
|
+
};
|
120
|
+
|
121
|
+
attach(
|
122
|
+
$(host).empty().html('<ul class="pagination"/>').children('ul'),
|
123
|
+
buttons
|
124
|
+
);
|
125
|
+
};
|
151
126
|
|
152
127
|
|
153
128
|
/*
|
154
129
|
* TableTools Foundation compatibility
|
155
130
|
* Required TableTools 2.1+
|
156
131
|
*/
|
157
|
-
if (
|
132
|
+
if ( DataTable.TableTools ) {
|
158
133
|
// Set the classes that TableTools uses to something suitable for Foundation
|
159
|
-
$.extend( true,
|
134
|
+
$.extend( true, DataTable.TableTools.classes, {
|
160
135
|
"container": "DTTT button-group",
|
161
136
|
"buttons": {
|
162
|
-
"normal": "button",
|
137
|
+
"normal": "button small",
|
163
138
|
"disabled": "disabled"
|
164
139
|
},
|
165
140
|
"collection": {
|
@@ -174,8 +149,8 @@ if ( $.fn.DataTable.TableTools ) {
|
|
174
149
|
}
|
175
150
|
} );
|
176
151
|
|
177
|
-
// Have the collection use a
|
178
|
-
$.extend( true,
|
152
|
+
// Have the collection use a bootstrap compatible dropdown
|
153
|
+
$.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
|
179
154
|
"collection": {
|
180
155
|
"container": "ul",
|
181
156
|
"button": "li",
|
@@ -184,3 +159,22 @@ if ( $.fn.DataTable.TableTools ) {
|
|
184
159
|
} );
|
185
160
|
}
|
186
161
|
|
162
|
+
}; // /factory
|
163
|
+
|
164
|
+
|
165
|
+
// Define as an AMD module if possible
|
166
|
+
if ( typeof define === 'function' && define.amd ) {
|
167
|
+
define( ['jquery', 'datatables'], factory );
|
168
|
+
}
|
169
|
+
else if ( typeof exports === 'object' ) {
|
170
|
+
// Node/CommonJS
|
171
|
+
factory( require('jquery'), require('datatables') );
|
172
|
+
}
|
173
|
+
else if ( jQuery ) {
|
174
|
+
// Otherwise simply initialise as normal, stopping multiple evaluation
|
175
|
+
factory( jQuery, jQuery.fn.dataTable );
|
176
|
+
}
|
177
|
+
|
178
|
+
|
179
|
+
})(window, document);
|
180
|
+
|