@ntlab/ntjs-assets 2.93.0 → 2.95.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/js/DataTables/DataTables/css/dataTables.bootstrap5.css +7 -8
- package/assets/js/DataTables/DataTables/css/dataTables.bootstrap5.min.css +2 -2
- package/assets/js/DataTables/DataTables/css/dataTables.dataTables.css +6 -3
- package/assets/js/DataTables/DataTables/css/dataTables.dataTables.min.css +1 -1
- package/assets/js/DataTables/DataTables/js/dataTables.js +119 -117
- package/assets/js/DataTables/DataTables/js/dataTables.min.js +2 -2
- package/assets/js/DataTables/Extensions/Responsive/js/dataTables.responsive.js +11 -3
- package/assets/js/DataTables/Extensions/Responsive/js/dataTables.responsive.min.js +2 -2
- package/assets/js/DataTables/Extensions/SearchPanes/css/searchPanes.bootstrap5.css +10 -3
- package/assets/js/DataTables/Extensions/SearchPanes/css/searchPanes.bootstrap5.min.css +1 -1
- package/assets/js/DataTables/Extensions/SearchPanes/css/searchPanes.dataTables.css +10 -3
- package/assets/js/DataTables/Extensions/SearchPanes/css/searchPanes.dataTables.min.css +1 -1
- package/assets/js/DataTables/Extensions/SearchPanes/js/dataTables.searchPanes.js +11 -4
- package/assets/js/DataTables/Extensions/SearchPanes/js/dataTables.searchPanes.min.js +2 -2
- package/assets/js/DataTables/Extensions/Select/css/select.bootstrap5.css +5 -0
- package/assets/js/DataTables/Extensions/Select/css/select.bootstrap5.min.css +1 -1
- package/assets/js/DataTables/Extensions/Select/css/select.dataTables.css +5 -0
- package/assets/js/DataTables/Extensions/Select/css/select.dataTables.min.css +1 -1
- package/assets/js/DataTables/Extensions/Select/js/dataTables.select.js +49 -46
- package/assets/js/DataTables/Extensions/Select/js/dataTables.select.min.js +2 -2
- package/assets/js/DataTables/Extensions/Select/js/select.bootstrap5.js +1 -1
- package/assets/js/DataTables/Extensions/Select/js/select.bootstrap5.min.js +1 -1
- package/assets/js/cdn.json +4 -4
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! DataTables 2.3.
|
|
1
|
+
/*! DataTables 2.3.3
|
|
2
2
|
* © SpryMedia Ltd - datatables.net/license
|
|
3
3
|
*/
|
|
4
4
|
|
|
@@ -731,7 +731,7 @@
|
|
|
731
731
|
*
|
|
732
732
|
* The extension options for ordering of data available here is complimentary
|
|
733
733
|
* to the default type based ordering that DataTables typically uses. It
|
|
734
|
-
* allows much greater control over the
|
|
734
|
+
* allows much greater control over the data that is being used to
|
|
735
735
|
* order a column, but is necessarily therefore more complex.
|
|
736
736
|
*
|
|
737
737
|
* This type of ordering is useful if you want to do ordering based on data
|
|
@@ -890,7 +890,7 @@
|
|
|
890
890
|
* `{type}-asc` and `{type}-desc` together. It is generally recommended
|
|
891
891
|
* that only `{type}-pre` is used, as this provides the optimal
|
|
892
892
|
* implementation in terms of speed, although the others are provided
|
|
893
|
-
* for compatibility with existing
|
|
893
|
+
* for compatibility with existing JavaScript sort functions.
|
|
894
894
|
*
|
|
895
895
|
* `{type}-pre`: Functions defined take a single parameter:
|
|
896
896
|
*
|
|
@@ -900,7 +900,7 @@
|
|
|
900
900
|
*
|
|
901
901
|
* * `{*}` Data to be sorted upon
|
|
902
902
|
*
|
|
903
|
-
* `{type}-asc` and `{type}-desc`: Functions are typical
|
|
903
|
+
* `{type}-asc` and `{type}-desc`: Functions are typical JavaScript sort
|
|
904
904
|
* functions, taking two parameters:
|
|
905
905
|
*
|
|
906
906
|
* 1. `{*}` Data to compare to the second parameter
|
|
@@ -1124,7 +1124,7 @@
|
|
|
1124
1124
|
};
|
|
1125
1125
|
|
|
1126
1126
|
// Convert from a formatted number with characters other than `.` as the
|
|
1127
|
-
// decimal place, to a
|
|
1127
|
+
// decimal place, to a JavaScript number
|
|
1128
1128
|
var _numToDecimal = function ( num, decimalPoint ) {
|
|
1129
1129
|
// Cache created regular expressions for speed as this function is called often
|
|
1130
1130
|
if ( ! _re_dic[ decimalPoint ] ) {
|
|
@@ -1190,19 +1190,19 @@
|
|
|
1190
1190
|
|
|
1191
1191
|
var _pluck = function ( a, prop, prop2 ) {
|
|
1192
1192
|
var out = [];
|
|
1193
|
-
var i=0,
|
|
1193
|
+
var i=0, iLen=a.length;
|
|
1194
1194
|
|
|
1195
1195
|
// Could have the test in the loop for slightly smaller code, but speed
|
|
1196
1196
|
// is essential here
|
|
1197
1197
|
if ( prop2 !== undefined ) {
|
|
1198
|
-
for ( ; i<
|
|
1198
|
+
for ( ; i<iLen ; i++ ) {
|
|
1199
1199
|
if ( a[i] && a[i][ prop ] ) {
|
|
1200
1200
|
out.push( a[i][ prop ][ prop2 ] );
|
|
1201
1201
|
}
|
|
1202
1202
|
}
|
|
1203
1203
|
}
|
|
1204
1204
|
else {
|
|
1205
|
-
for ( ; i<
|
|
1205
|
+
for ( ; i<iLen ; i++ ) {
|
|
1206
1206
|
if ( a[i] ) {
|
|
1207
1207
|
out.push( a[i][ prop ] );
|
|
1208
1208
|
}
|
|
@@ -1218,19 +1218,19 @@
|
|
|
1218
1218
|
var _pluck_order = function ( a, order, prop, prop2 )
|
|
1219
1219
|
{
|
|
1220
1220
|
var out = [];
|
|
1221
|
-
var i=0,
|
|
1221
|
+
var i=0, iLen=order.length;
|
|
1222
1222
|
|
|
1223
1223
|
// Could have the test in the loop for slightly smaller code, but speed
|
|
1224
1224
|
// is essential here
|
|
1225
1225
|
if ( prop2 !== undefined ) {
|
|
1226
|
-
for ( ; i<
|
|
1226
|
+
for ( ; i<iLen ; i++ ) {
|
|
1227
1227
|
if ( a[ order[i] ] && a[ order[i] ][ prop ] ) {
|
|
1228
1228
|
out.push( a[ order[i] ][ prop ][ prop2 ] );
|
|
1229
1229
|
}
|
|
1230
1230
|
}
|
|
1231
1231
|
}
|
|
1232
1232
|
else {
|
|
1233
|
-
for ( ; i<
|
|
1233
|
+
for ( ; i<iLen ; i++ ) {
|
|
1234
1234
|
if ( a[ order[i] ] ) {
|
|
1235
1235
|
out.push( a[ order[i] ][ prop ] );
|
|
1236
1236
|
}
|
|
@@ -1267,7 +1267,7 @@
|
|
|
1267
1267
|
{
|
|
1268
1268
|
var out = [];
|
|
1269
1269
|
|
|
1270
|
-
for ( var i=0,
|
|
1270
|
+
for ( var i=0, iLen=a.length ; i<iLen ; i++ ) {
|
|
1271
1271
|
if ( a[i] ) { // careful - will remove all falsy values!
|
|
1272
1272
|
out.push( a[i] );
|
|
1273
1273
|
}
|
|
@@ -1353,7 +1353,7 @@
|
|
|
1353
1353
|
var sorted = src.slice().sort();
|
|
1354
1354
|
var last = sorted[0];
|
|
1355
1355
|
|
|
1356
|
-
for ( var i=1,
|
|
1356
|
+
for ( var i=1, iLen=sorted.length ; i<iLen ; i++ ) {
|
|
1357
1357
|
if ( sorted[i] === last ) {
|
|
1358
1358
|
return false;
|
|
1359
1359
|
}
|
|
@@ -1389,10 +1389,10 @@
|
|
|
1389
1389
|
var
|
|
1390
1390
|
out = [],
|
|
1391
1391
|
val,
|
|
1392
|
-
i,
|
|
1392
|
+
i, iLen=src.length,
|
|
1393
1393
|
j, k=0;
|
|
1394
1394
|
|
|
1395
|
-
again: for ( i=0 ; i<
|
|
1395
|
+
again: for ( i=0 ; i<iLen ; i++ ) {
|
|
1396
1396
|
val = src[i];
|
|
1397
1397
|
|
|
1398
1398
|
for ( j=0 ; j<k ; j++ ) {
|
|
@@ -1926,7 +1926,7 @@
|
|
|
1926
1926
|
var searchCols = init.aoSearchCols;
|
|
1927
1927
|
|
|
1928
1928
|
if ( searchCols ) {
|
|
1929
|
-
for ( var i=0,
|
|
1929
|
+
for ( var i=0, iLen=searchCols.length ; i<iLen ; i++ ) {
|
|
1930
1930
|
if ( searchCols[i] ) {
|
|
1931
1931
|
_fnCamelToHungarian( DataTable.models.oSearch, searchCols[i] );
|
|
1932
1932
|
}
|
|
@@ -2079,7 +2079,7 @@
|
|
|
2079
2079
|
oCol._sManualType = oOptions.sType;
|
|
2080
2080
|
}
|
|
2081
2081
|
|
|
2082
|
-
// `class` is a reserved word in
|
|
2082
|
+
// `class` is a reserved word in JavaScript, so we need to provide
|
|
2083
2083
|
// the ability to use a valid name for the camel case input
|
|
2084
2084
|
if ( oOptions.className && ! oOptions.sClass )
|
|
2085
2085
|
{
|
|
@@ -2236,14 +2236,14 @@
|
|
|
2236
2236
|
* @returns {int} i the number of visible columns
|
|
2237
2237
|
* @memberof DataTable#oApi
|
|
2238
2238
|
*/
|
|
2239
|
-
function
|
|
2239
|
+
function _fnVisibleColumns( settings )
|
|
2240
2240
|
{
|
|
2241
2241
|
var layout = settings.aoHeader;
|
|
2242
2242
|
var columns = settings.aoColumns;
|
|
2243
2243
|
var vis = 0;
|
|
2244
2244
|
|
|
2245
2245
|
if ( layout.length ) {
|
|
2246
|
-
for ( var i=0,
|
|
2246
|
+
for ( var i=0, iLen=layout[0].length ; i<iLen ; i++ ) {
|
|
2247
2247
|
if ( columns[i].bVisible && $(layout[0][i].cell).css('display') !== 'none' ) {
|
|
2248
2248
|
vis++;
|
|
2249
2249
|
}
|
|
@@ -2278,7 +2278,7 @@
|
|
|
2278
2278
|
/**
|
|
2279
2279
|
* Allow the result from a type detection function to be `true` while
|
|
2280
2280
|
* translating that into a string. Old type detection functions will
|
|
2281
|
-
* return the type name if it passes. An
|
|
2281
|
+
* return the type name if it passes. An object store would be better,
|
|
2282
2282
|
* but not backwards compatible.
|
|
2283
2283
|
*
|
|
2284
2284
|
* @param {*} typeDetect Object or function for type detection
|
|
@@ -2301,11 +2301,11 @@
|
|
|
2301
2301
|
var columns = settings.aoColumns;
|
|
2302
2302
|
var data = settings.aoData;
|
|
2303
2303
|
var types = DataTable.ext.type.detect;
|
|
2304
|
-
var i,
|
|
2304
|
+
var i, iLen, j, jen, k, ken;
|
|
2305
2305
|
var col, detectedType, cache;
|
|
2306
2306
|
|
|
2307
2307
|
// For each column, spin over the data type detection functions, seeing if one matches
|
|
2308
|
-
for ( i=0,
|
|
2308
|
+
for ( i=0, iLen=columns.length ; i<iLen ; i++ ) {
|
|
2309
2309
|
col = columns[i];
|
|
2310
2310
|
cache = [];
|
|
2311
2311
|
|
|
@@ -2575,7 +2575,7 @@
|
|
|
2575
2575
|
var unit;
|
|
2576
2576
|
var columns = settings.aoColumns;
|
|
2577
2577
|
|
|
2578
|
-
for ( var i=0,
|
|
2578
|
+
for ( var i=0, iLen=targets.length ; i<iLen ; i++ ) {
|
|
2579
2579
|
var column = columns[ targets[i] ];
|
|
2580
2580
|
var definedWidth = original ?
|
|
2581
2581
|
column.sWidthOrig :
|
|
@@ -2621,7 +2621,7 @@
|
|
|
2621
2621
|
}
|
|
2622
2622
|
/**
|
|
2623
2623
|
* Add a data array to the table, creating DOM node etc. This is the parallel to
|
|
2624
|
-
* _fnGatherData, but for adding rows from a
|
|
2624
|
+
* _fnGatherData, but for adding rows from a JavaScript source, rather than a
|
|
2625
2625
|
* DOM source.
|
|
2626
2626
|
* @param {object} settings dataTables settings object
|
|
2627
2627
|
* @param {array} data data array to be added
|
|
@@ -2761,10 +2761,10 @@
|
|
|
2761
2761
|
}
|
|
2762
2762
|
|
|
2763
2763
|
if ( type === 'filter' ) {
|
|
2764
|
-
var
|
|
2764
|
+
var formatters = DataTable.ext.type.search;
|
|
2765
2765
|
|
|
2766
|
-
if (
|
|
2767
|
-
cellData =
|
|
2766
|
+
if ( formatters[ col.sType ] ) {
|
|
2767
|
+
cellData = formatters[ col.sType ]( cellData );
|
|
2768
2768
|
}
|
|
2769
2769
|
}
|
|
2770
2770
|
|
|
@@ -2894,7 +2894,7 @@
|
|
|
2894
2894
|
function _fnInvalidate( settings, rowIdx, src, colIdx )
|
|
2895
2895
|
{
|
|
2896
2896
|
var row = settings.aoData[ rowIdx ];
|
|
2897
|
-
var i,
|
|
2897
|
+
var i, iLen;
|
|
2898
2898
|
|
|
2899
2899
|
// Remove the cached data for the row
|
|
2900
2900
|
row._aSortData = null;
|
|
@@ -2919,7 +2919,7 @@
|
|
|
2919
2919
|
_fnWriteCell(cells[colIdx], display[colIdx]);
|
|
2920
2920
|
}
|
|
2921
2921
|
else {
|
|
2922
|
-
for ( i=0,
|
|
2922
|
+
for ( i=0, iLen=cells.length ; i<iLen ; i++ ) {
|
|
2923
2923
|
_fnWriteCell(cells[i], display[i]);
|
|
2924
2924
|
}
|
|
2925
2925
|
}
|
|
@@ -2937,7 +2937,7 @@
|
|
|
2937
2937
|
cols[ colIdx ].maxLenString = null;
|
|
2938
2938
|
}
|
|
2939
2939
|
else {
|
|
2940
|
-
for ( i=0,
|
|
2940
|
+
for ( i=0, iLen=cols.length ; i<iLen ; i++ ) {
|
|
2941
2941
|
cols[i].sType = null;
|
|
2942
2942
|
cols[i].maxLenString = null;
|
|
2943
2943
|
}
|
|
@@ -3236,7 +3236,7 @@
|
|
|
3236
3236
|
{
|
|
3237
3237
|
var classes = settings.oClasses;
|
|
3238
3238
|
var columns = settings.aoColumns;
|
|
3239
|
-
var i,
|
|
3239
|
+
var i, iLen, row;
|
|
3240
3240
|
var target = side === 'header'
|
|
3241
3241
|
? settings.nTHead
|
|
3242
3242
|
: settings.nTFoot;
|
|
@@ -3264,7 +3264,7 @@
|
|
|
3264
3264
|
cellCount += this.colSpan;
|
|
3265
3265
|
});
|
|
3266
3266
|
|
|
3267
|
-
for ( i=cellCount,
|
|
3267
|
+
for ( i=cellCount, iLen=columns.length ; i<iLen ; i++ ) {
|
|
3268
3268
|
$('<th/>')
|
|
3269
3269
|
.html( columns[i][titleProp] || '' )
|
|
3270
3270
|
.appendTo( row );
|
|
@@ -3608,7 +3608,7 @@
|
|
|
3608
3608
|
|
|
3609
3609
|
return $( '<tr/>' )
|
|
3610
3610
|
.append( $('<td />', {
|
|
3611
|
-
'colSpan':
|
|
3611
|
+
'colSpan': _fnVisibleColumns( settings ),
|
|
3612
3612
|
'class': settings.oClasses.empty.row
|
|
3613
3613
|
} ).html( zero ) )[0];
|
|
3614
3614
|
}
|
|
@@ -3792,7 +3792,7 @@
|
|
|
3792
3792
|
|
|
3793
3793
|
var line = row[ item ].contents;
|
|
3794
3794
|
|
|
3795
|
-
for ( var i=0,
|
|
3795
|
+
for ( var i=0, iLen=line.length ; i<iLen ; i++ ) {
|
|
3796
3796
|
if ( ! line[i] ) {
|
|
3797
3797
|
continue;
|
|
3798
3798
|
}
|
|
@@ -3956,7 +3956,7 @@
|
|
|
3956
3956
|
/**
|
|
3957
3957
|
* Use the DOM source to create up an array of header cells. The idea here is to
|
|
3958
3958
|
* create a layout grid (array) of rows x columns, which contains a reference
|
|
3959
|
-
* to the cell
|
|
3959
|
+
* to the cell at that point in the grid (regardless of col/rowspan), such that
|
|
3960
3960
|
* any column / row could be removed and the new grid constructed
|
|
3961
3961
|
* @param {node} thead The header/footer element for the table
|
|
3962
3962
|
* @returns {array} Calculated layout array
|
|
@@ -4201,7 +4201,7 @@
|
|
|
4201
4201
|
|
|
4202
4202
|
var newData = typeof ajaxData === 'function' ?
|
|
4203
4203
|
ajaxData( data, oSettings ) : // fn can manipulate data or return
|
|
4204
|
-
ajaxData; // an object
|
|
4204
|
+
ajaxData; // an object or array to merge
|
|
4205
4205
|
|
|
4206
4206
|
// If the function returned something, use that alone
|
|
4207
4207
|
data = typeof ajaxData === 'function' && newData ?
|
|
@@ -4400,7 +4400,7 @@
|
|
|
4400
4400
|
settings._iRecordsTotal = parseInt(recordsTotal, 10);
|
|
4401
4401
|
settings._iRecordsDisplay = parseInt(recordsFiltered, 10);
|
|
4402
4402
|
|
|
4403
|
-
for ( var i=0,
|
|
4403
|
+
for ( var i=0, iLen=data.length ; i<iLen ; i++ ) {
|
|
4404
4404
|
_fnAddData( settings, data[i] );
|
|
4405
4405
|
}
|
|
4406
4406
|
settings.aiDisplay = settings.aiDisplayMaster.slice();
|
|
@@ -4559,7 +4559,7 @@
|
|
|
4559
4559
|
var displayRows = settings.aiDisplay;
|
|
4560
4560
|
var row, rowIdx;
|
|
4561
4561
|
|
|
4562
|
-
for ( var i=0,
|
|
4562
|
+
for ( var i=0, iLen=filters.length ; i<iLen ; i++ ) {
|
|
4563
4563
|
var rows = [];
|
|
4564
4564
|
|
|
4565
4565
|
// Loop over each row and see if it should be included
|
|
@@ -4627,7 +4627,7 @@
|
|
|
4627
4627
|
* @param {string} sSearch string to search for
|
|
4628
4628
|
* @param {bool} bRegex treat as a regular expression or not
|
|
4629
4629
|
* @param {bool} bSmart perform smart filtering or not
|
|
4630
|
-
* @param {bool} bCaseInsensitive Do case
|
|
4630
|
+
* @param {bool} bCaseInsensitive Do case-insensitive matching or not
|
|
4631
4631
|
* @returns {RegExp} constructed object
|
|
4632
4632
|
* @memberof DataTable#oApi
|
|
4633
4633
|
*/
|
|
@@ -5370,7 +5370,7 @@
|
|
|
5370
5370
|
}
|
|
5371
5371
|
|
|
5372
5372
|
// 4. Clean up
|
|
5373
|
-
// Figure out if there are scrollbar present - if so then we need
|
|
5373
|
+
// Figure out if there are scrollbar present - if so then we need the header and footer to
|
|
5374
5374
|
// provide a bit more space to allow "overflow" scrolling (i.e. past the scrollbar)
|
|
5375
5375
|
var isScrolling = Math.floor(table.height()) > divBodyEl.clientHeight || divBody.css('overflow-y') == "scroll";
|
|
5376
5376
|
var paddingSide = 'padding' + (browser.bScrollbarLeft ? 'Left' : 'Right' );
|
|
@@ -5468,7 +5468,7 @@
|
|
|
5468
5468
|
.removeAttr( 'id' );
|
|
5469
5469
|
|
|
5470
5470
|
// Clean up the table body
|
|
5471
|
-
tmpTable.append('<tbody
|
|
5471
|
+
tmpTable.append('<tbody/>')
|
|
5472
5472
|
var tr = $('<tr/>').appendTo( tmpTable.find('tbody') );
|
|
5473
5473
|
|
|
5474
5474
|
// Clone the table header and footer - we can't use the header / footer
|
|
@@ -5677,7 +5677,7 @@
|
|
|
5677
5677
|
if (! column.maxLenString) {
|
|
5678
5678
|
var s, max='', maxLen = -1;
|
|
5679
5679
|
|
|
5680
|
-
for ( var i=0,
|
|
5680
|
+
for ( var i=0, iLen=settings.aiDisplayMaster.length ; i<iLen ; i++ ) {
|
|
5681
5681
|
var rowIdx = settings.aiDisplayMaster[i];
|
|
5682
5682
|
var data = _fnGetRowDisplay(settings, rowIdx)[colIdx];
|
|
5683
5683
|
|
|
@@ -5799,7 +5799,7 @@
|
|
|
5799
5799
|
: [column];
|
|
5800
5800
|
|
|
5801
5801
|
if ( columns.length ) {
|
|
5802
|
-
for ( var i=0,
|
|
5802
|
+
for ( var i=0, iLen=columns.length ; i<iLen ; i++ ) {
|
|
5803
5803
|
var ret = _fnSortAdd( settings, columns[i], i, e.shiftKey );
|
|
5804
5804
|
|
|
5805
5805
|
if (ret !== false) {
|
|
@@ -5848,7 +5848,7 @@
|
|
|
5848
5848
|
masterMap[master[i]] = i;
|
|
5849
5849
|
}
|
|
5850
5850
|
|
|
5851
|
-
// And then cache what would be the indexOf
|
|
5851
|
+
// And then cache what would be the indexOf from the display
|
|
5852
5852
|
for (i=0 ; i<display.length ; i++) {
|
|
5853
5853
|
map[display[i]] = masterMap[display[i]];
|
|
5854
5854
|
}
|
|
@@ -5974,7 +5974,7 @@
|
|
|
5974
5974
|
function _fnSort ( oSettings, col, dir )
|
|
5975
5975
|
{
|
|
5976
5976
|
var
|
|
5977
|
-
i,
|
|
5977
|
+
i, iLen,
|
|
5978
5978
|
aiOrig = [],
|
|
5979
5979
|
extSort = DataTable.ext.type.order,
|
|
5980
5980
|
aoData = oSettings.aoData,
|
|
@@ -6005,7 +6005,7 @@
|
|
|
6005
6005
|
aSort = _fnSortFlatten( oSettings );
|
|
6006
6006
|
}
|
|
6007
6007
|
|
|
6008
|
-
for ( i=0,
|
|
6008
|
+
for ( i=0, iLen=aSort.length ; i<iLen ; i++ ) {
|
|
6009
6009
|
sortCol = aSort[i];
|
|
6010
6010
|
|
|
6011
6011
|
// Load the data needed for the sort, for each cell
|
|
@@ -6028,7 +6028,7 @@
|
|
|
6028
6028
|
|
|
6029
6029
|
/* Do the sort - here we want multi-column sorting based on a given data source (column)
|
|
6030
6030
|
* and sorting function (from oSort) in a certain direction. It's reasonably complex to
|
|
6031
|
-
* follow on
|
|
6031
|
+
* follow on its own, but this is what we want (example two column sorting):
|
|
6032
6032
|
* fnLocalSorting = function(a,b){
|
|
6033
6033
|
* var test;
|
|
6034
6034
|
* test = oSort['string-asc']('data11', 'data12');
|
|
@@ -6152,7 +6152,7 @@
|
|
|
6152
6152
|
nextSortIdx = 0; // can't remove sorting completely
|
|
6153
6153
|
}
|
|
6154
6154
|
|
|
6155
|
-
if ( nextSortIdx === null ) {
|
|
6155
|
+
if ( nextSortIdx === null || asSorting[ nextSortIdx ] === '' ) {
|
|
6156
6156
|
sorting.splice( sortIdx, 1 );
|
|
6157
6157
|
}
|
|
6158
6158
|
else {
|
|
@@ -6202,11 +6202,11 @@
|
|
|
6202
6202
|
var sortClass = settings.oClasses.order.position;
|
|
6203
6203
|
var sort = _fnSortFlatten( settings );
|
|
6204
6204
|
var features = settings.oFeatures;
|
|
6205
|
-
var i,
|
|
6205
|
+
var i, iLen, colIdx;
|
|
6206
6206
|
|
|
6207
6207
|
if ( features.bSort && features.bSortClasses ) {
|
|
6208
6208
|
// Remove old sorting classes
|
|
6209
|
-
for ( i=0,
|
|
6209
|
+
for ( i=0, iLen=oldSort.length ; i<iLen ; i++ ) {
|
|
6210
6210
|
colIdx = oldSort[i].src;
|
|
6211
6211
|
|
|
6212
6212
|
// Remove column sorting
|
|
@@ -6215,7 +6215,7 @@
|
|
|
6215
6215
|
}
|
|
6216
6216
|
|
|
6217
6217
|
// Add new column sorting
|
|
6218
|
-
for ( i=0,
|
|
6218
|
+
for ( i=0, iLen=sort.length ; i<iLen ; i++ ) {
|
|
6219
6219
|
colIdx = sort[i].src;
|
|
6220
6220
|
|
|
6221
6221
|
$( _pluck( settings.aoData, 'anCells', colIdx ) )
|
|
@@ -6349,7 +6349,7 @@
|
|
|
6349
6349
|
}
|
|
6350
6350
|
|
|
6351
6351
|
function _fnImplementState ( settings, s, callback) {
|
|
6352
|
-
var i,
|
|
6352
|
+
var i, iLen;
|
|
6353
6353
|
var columns = settings.aoColumns;
|
|
6354
6354
|
var currentNames = _pluck(settings.aoColumns, 'sName');
|
|
6355
6355
|
|
|
@@ -6478,7 +6478,7 @@
|
|
|
6478
6478
|
|
|
6479
6479
|
// If the number of columns to restore is different from current, then all bets are off.
|
|
6480
6480
|
if (set.length === columns.length) {
|
|
6481
|
-
for ( i=0,
|
|
6481
|
+
for ( i=0, iLen=set.length ; i<iLen ; i++ ) {
|
|
6482
6482
|
var col = set[i];
|
|
6483
6483
|
|
|
6484
6484
|
// Visibility
|
|
@@ -6632,7 +6632,7 @@
|
|
|
6632
6632
|
|
|
6633
6633
|
|
|
6634
6634
|
/**
|
|
6635
|
-
* Bind an event
|
|
6635
|
+
* Bind an event handler to allow a click or return key to activate the callback.
|
|
6636
6636
|
* This is good for accessibility since a return on the keyboard will have the
|
|
6637
6637
|
* same effect as a click, if the element has focus.
|
|
6638
6638
|
* @param {element} n Element to bind the action to
|
|
@@ -6821,7 +6821,7 @@
|
|
|
6821
6821
|
}
|
|
6822
6822
|
|
|
6823
6823
|
/**
|
|
6824
|
-
* Add elements to an array as quickly as possible, but stack
|
|
6824
|
+
* Add elements to an array as quickly as possible, but stack safe.
|
|
6825
6825
|
*
|
|
6826
6826
|
* @param {*} arr Array to add the data to
|
|
6827
6827
|
* @param {*} data Data array that is to be added
|
|
@@ -7097,7 +7097,7 @@
|
|
|
7097
7097
|
|
|
7098
7098
|
each: function ( fn )
|
|
7099
7099
|
{
|
|
7100
|
-
for ( var i=0,
|
|
7100
|
+
for ( var i=0, iLen=this.length ; i<iLen; i++ ) {
|
|
7101
7101
|
fn.call( this, this[i], i, this );
|
|
7102
7102
|
}
|
|
7103
7103
|
|
|
@@ -7143,7 +7143,7 @@
|
|
|
7143
7143
|
iterator: function ( flatten, type, fn, alwaysNew ) {
|
|
7144
7144
|
var
|
|
7145
7145
|
a = [], ret,
|
|
7146
|
-
i,
|
|
7146
|
+
i, iLen, j, jen,
|
|
7147
7147
|
context = this.context,
|
|
7148
7148
|
rows, items, item,
|
|
7149
7149
|
selector = this.selector;
|
|
@@ -7156,7 +7156,7 @@
|
|
|
7156
7156
|
flatten = false;
|
|
7157
7157
|
}
|
|
7158
7158
|
|
|
7159
|
-
for ( i=0,
|
|
7159
|
+
for ( i=0, iLen=context.length ; i<iLen ; i++ ) {
|
|
7160
7160
|
var apiInst = new _Api( context[i] );
|
|
7161
7161
|
|
|
7162
7162
|
if ( type === 'table' ) {
|
|
@@ -7278,18 +7278,18 @@
|
|
|
7278
7278
|
} );
|
|
7279
7279
|
|
|
7280
7280
|
|
|
7281
|
-
function _api_scope( scope, fn,
|
|
7281
|
+
function _api_scope( scope, fn, struct ) {
|
|
7282
7282
|
return function () {
|
|
7283
7283
|
var ret = fn.apply( scope || this, arguments );
|
|
7284
7284
|
|
|
7285
7285
|
// Method extension
|
|
7286
|
-
_Api.extend( ret, ret,
|
|
7286
|
+
_Api.extend( ret, ret, struct.methodExt );
|
|
7287
7287
|
return ret;
|
|
7288
7288
|
};
|
|
7289
7289
|
}
|
|
7290
7290
|
|
|
7291
7291
|
function _api_find( src, name ) {
|
|
7292
|
-
for ( var i=0,
|
|
7292
|
+
for ( var i=0, iLen=src.length ; i<iLen ; i++ ) {
|
|
7293
7293
|
if ( src[i].name === name ) {
|
|
7294
7294
|
return src[i];
|
|
7295
7295
|
}
|
|
@@ -7307,10 +7307,10 @@
|
|
|
7307
7307
|
}
|
|
7308
7308
|
|
|
7309
7309
|
var
|
|
7310
|
-
i,
|
|
7310
|
+
i, iLen,
|
|
7311
7311
|
struct;
|
|
7312
7312
|
|
|
7313
|
-
for ( i=0,
|
|
7313
|
+
for ( i=0, iLen=ext.length ; i<iLen ; i++ ) {
|
|
7314
7314
|
struct = ext[i];
|
|
7315
7315
|
|
|
7316
7316
|
if (struct.name === '__proto__') {
|
|
@@ -7365,12 +7365,12 @@
|
|
|
7365
7365
|
}
|
|
7366
7366
|
|
|
7367
7367
|
var
|
|
7368
|
-
i,
|
|
7368
|
+
i, iLen,
|
|
7369
7369
|
heir = name.split('.'),
|
|
7370
7370
|
struct = __apiStruct,
|
|
7371
7371
|
key, method;
|
|
7372
7372
|
|
|
7373
|
-
for ( i=0,
|
|
7373
|
+
for ( i=0, iLen=heir.length ; i<iLen ; i++ ) {
|
|
7374
7374
|
method = heir[i].indexOf('()') !== -1;
|
|
7375
7375
|
key = method ?
|
|
7376
7376
|
heir[i].replace('()', '') :
|
|
@@ -7388,7 +7388,7 @@
|
|
|
7388
7388
|
struct.push( src );
|
|
7389
7389
|
}
|
|
7390
7390
|
|
|
7391
|
-
if ( i ===
|
|
7391
|
+
if ( i === iLen-1 ) {
|
|
7392
7392
|
src.val = val;
|
|
7393
7393
|
src.type = typeof val === 'function' ?
|
|
7394
7394
|
'function' :
|
|
@@ -7730,7 +7730,7 @@
|
|
|
7730
7730
|
*/
|
|
7731
7731
|
_api_register( 'page.len()', function ( len ) {
|
|
7732
7732
|
// Note that we can't call this function 'length()' because `length`
|
|
7733
|
-
// is a
|
|
7733
|
+
// is a JavaScript property of functions which defines how many arguments
|
|
7734
7734
|
// the function expects.
|
|
7735
7735
|
if ( len === undefined ) {
|
|
7736
7736
|
return this.context.length !== 0 ?
|
|
@@ -7773,7 +7773,7 @@
|
|
|
7773
7773
|
_fnClearTable( settings );
|
|
7774
7774
|
|
|
7775
7775
|
var data = _fnAjaxDataSrc( settings, json );
|
|
7776
|
-
for ( var i=0,
|
|
7776
|
+
for ( var i=0, iLen=data.length ; i<iLen ; i++ ) {
|
|
7777
7777
|
_fnAddData( settings, data[i] );
|
|
7778
7778
|
}
|
|
7779
7779
|
|
|
@@ -7896,7 +7896,7 @@
|
|
|
7896
7896
|
{
|
|
7897
7897
|
var
|
|
7898
7898
|
out = [], res,
|
|
7899
|
-
i,
|
|
7899
|
+
i, iLen,
|
|
7900
7900
|
selectorType = typeof selector;
|
|
7901
7901
|
|
|
7902
7902
|
// Can't just check for isArray here, as an API or jQuery instance might be
|
|
@@ -7905,7 +7905,7 @@
|
|
|
7905
7905
|
selector = [ selector ];
|
|
7906
7906
|
}
|
|
7907
7907
|
|
|
7908
|
-
for ( i=0,
|
|
7908
|
+
for ( i=0, iLen=selector.length ; i<iLen ; i++ ) {
|
|
7909
7909
|
res = selectFn( typeof selector[i] === 'string' ? selector[i].trim() : selector[i] );
|
|
7910
7910
|
|
|
7911
7911
|
// Remove empty items
|
|
@@ -7921,7 +7921,7 @@
|
|
|
7921
7921
|
// selector extensions
|
|
7922
7922
|
var ext = _ext.selector[ type ];
|
|
7923
7923
|
if ( ext.length ) {
|
|
7924
|
-
for ( i=0,
|
|
7924
|
+
for ( i=0, iLen=ext.length ; i<iLen ; i++ ) {
|
|
7925
7925
|
out = ext[i]( settings, opts, out );
|
|
7926
7926
|
}
|
|
7927
7927
|
}
|
|
@@ -7976,7 +7976,7 @@
|
|
|
7976
7976
|
var _selector_row_indexes = function ( settings, opts )
|
|
7977
7977
|
{
|
|
7978
7978
|
var
|
|
7979
|
-
i,
|
|
7979
|
+
i, iLen, tmp, a=[],
|
|
7980
7980
|
displayFiltered = settings.aiDisplay,
|
|
7981
7981
|
displayMaster = settings.aiDisplayMaster;
|
|
7982
7982
|
|
|
@@ -7999,7 +7999,7 @@
|
|
|
7999
7999
|
// Current page implies that order=current and filter=applied, since it is
|
|
8000
8000
|
// fairly senseless otherwise, regardless of what order and search actually
|
|
8001
8001
|
// are
|
|
8002
|
-
for ( i=settings._iDisplayStart,
|
|
8002
|
+
for ( i=settings._iDisplayStart, iLen=settings.fnDisplayEnd() ; i<iLen ; i++ ) {
|
|
8003
8003
|
a.push( displayFiltered[i] );
|
|
8004
8004
|
}
|
|
8005
8005
|
}
|
|
@@ -8014,7 +8014,7 @@
|
|
|
8014
8014
|
// O(n+m) solution by creating a hash map
|
|
8015
8015
|
var displayFilteredMap = {};
|
|
8016
8016
|
|
|
8017
|
-
for ( i=0,
|
|
8017
|
+
for ( i=0, iLen=displayFiltered.length ; i<iLen ; i++ ) {
|
|
8018
8018
|
displayFilteredMap[displayFiltered[i]] = null;
|
|
8019
8019
|
}
|
|
8020
8020
|
|
|
@@ -8026,7 +8026,7 @@
|
|
|
8026
8026
|
}
|
|
8027
8027
|
}
|
|
8028
8028
|
else if ( order == 'index' || order == 'original' ) {
|
|
8029
|
-
for ( i=0,
|
|
8029
|
+
for ( i=0, iLen=settings.aoData.length ; i<iLen ; i++ ) {
|
|
8030
8030
|
if (! settings.aoData[i]) {
|
|
8031
8031
|
continue;
|
|
8032
8032
|
}
|
|
@@ -8243,7 +8243,7 @@
|
|
|
8243
8243
|
var context = this.context;
|
|
8244
8244
|
|
|
8245
8245
|
// `iterator` will drop undefined values, but in this case we want them
|
|
8246
|
-
for ( var i=0,
|
|
8246
|
+
for ( var i=0, iLen=context.length ; i<iLen ; i++ ) {
|
|
8247
8247
|
for ( var j=0, jen=this[i].length ; j<jen ; j++ ) {
|
|
8248
8248
|
var id = context[i].rowIdFn( context[i].aoData[ this[i][j] ]._aData );
|
|
8249
8249
|
a.push( (hash === true ? '#' : '' )+ id );
|
|
@@ -8287,10 +8287,10 @@
|
|
|
8287
8287
|
|
|
8288
8288
|
_api_register( 'rows.add()', function ( rows ) {
|
|
8289
8289
|
var newRows = this.iterator( 'table', function ( settings ) {
|
|
8290
|
-
var row, i,
|
|
8290
|
+
var row, i, iLen;
|
|
8291
8291
|
var out = [];
|
|
8292
8292
|
|
|
8293
|
-
for ( i=0,
|
|
8293
|
+
for ( i=0, iLen=rows.length ; i<iLen ; i++ ) {
|
|
8294
8294
|
row = rows[i];
|
|
8295
8295
|
|
|
8296
8296
|
if ( row.nodeName && row.nodeName.toUpperCase() === 'TR' ) {
|
|
@@ -8437,7 +8437,7 @@
|
|
|
8437
8437
|
var addRow = function ( r, k ) {
|
|
8438
8438
|
// Recursion to allow for arrays of jQuery objects
|
|
8439
8439
|
if ( Array.isArray( r ) || r instanceof $ ) {
|
|
8440
|
-
for ( var i=0,
|
|
8440
|
+
for ( var i=0, iLen=r.length ; i<iLen ; i++ ) {
|
|
8441
8441
|
addRow( r[i], k );
|
|
8442
8442
|
}
|
|
8443
8443
|
return;
|
|
@@ -8457,7 +8457,7 @@
|
|
|
8457
8457
|
|
|
8458
8458
|
$('td', created)
|
|
8459
8459
|
.addClass( k )
|
|
8460
|
-
.html( r )[0].colSpan =
|
|
8460
|
+
.html( r )[0].colSpan = _fnVisibleColumns( ctx );
|
|
8461
8461
|
|
|
8462
8462
|
rows.push( created[0] );
|
|
8463
8463
|
}
|
|
@@ -8495,7 +8495,7 @@
|
|
|
8495
8495
|
var row = ctx[0].aoData[ idx !== undefined ? idx : api[0] ];
|
|
8496
8496
|
|
|
8497
8497
|
if ( row && row._details ) {
|
|
8498
|
-
row._details.
|
|
8498
|
+
row._details.detach();
|
|
8499
8499
|
|
|
8500
8500
|
row._detailsShow = undefined;
|
|
8501
8501
|
row._details = undefined;
|
|
@@ -8569,9 +8569,9 @@
|
|
|
8569
8569
|
|
|
8570
8570
|
// Update the colspan for the details rows (note, only if it already has
|
|
8571
8571
|
// a colspan)
|
|
8572
|
-
var row, visible =
|
|
8572
|
+
var row, visible = _fnVisibleColumns( ctx );
|
|
8573
8573
|
|
|
8574
|
-
for ( var i=0,
|
|
8574
|
+
for ( var i=0, iLen=data.length ; i<iLen ; i++ ) {
|
|
8575
8575
|
row = data[i];
|
|
8576
8576
|
|
|
8577
8577
|
if ( row && row._details ) {
|
|
@@ -8592,7 +8592,7 @@
|
|
|
8592
8592
|
return;
|
|
8593
8593
|
}
|
|
8594
8594
|
|
|
8595
|
-
for ( var i=0,
|
|
8595
|
+
for ( var i=0, iLen=data.length ; i<iLen ; i++ ) {
|
|
8596
8596
|
if ( data[i] && data[i]._details ) {
|
|
8597
8597
|
__details_remove( api, i );
|
|
8598
8598
|
}
|
|
@@ -8696,7 +8696,7 @@
|
|
|
8696
8696
|
// iterator callback in columns().data()
|
|
8697
8697
|
var __columnData = function ( settings, column, r1, r2, rows, type ) {
|
|
8698
8698
|
var a = [];
|
|
8699
|
-
for ( var row=0,
|
|
8699
|
+
for ( var row=0, iLen=rows.length ; row<iLen ; row++ ) {
|
|
8700
8700
|
a.push( _fnGetCellData( settings, rows[row], column, type ) );
|
|
8701
8701
|
}
|
|
8702
8702
|
return a;
|
|
@@ -8896,7 +8896,7 @@
|
|
|
8896
8896
|
cols = settings.aoColumns,
|
|
8897
8897
|
col = cols[ column ],
|
|
8898
8898
|
data = settings.aoData,
|
|
8899
|
-
cells, i,
|
|
8899
|
+
cells, i, iLen, tr;
|
|
8900
8900
|
|
|
8901
8901
|
// Get
|
|
8902
8902
|
if ( vis === undefined ) {
|
|
@@ -8914,7 +8914,7 @@
|
|
|
8914
8914
|
// Need to decide if we should use appendChild or insertBefore
|
|
8915
8915
|
var insertBefore = _pluck(cols, 'bVisible').indexOf(true, column+1);
|
|
8916
8916
|
|
|
8917
|
-
for ( i=0,
|
|
8917
|
+
for ( i=0, iLen=data.length ; i<iLen ; i++ ) {
|
|
8918
8918
|
if (data[i]) {
|
|
8919
8919
|
tr = data[i].nTr;
|
|
8920
8920
|
cells = data[i].anCells;
|
|
@@ -9080,7 +9080,7 @@
|
|
|
9080
9080
|
// Update colspan for no records display. Child rows and extensions will use their own
|
|
9081
9081
|
// listeners to do this - only need to update the empty table item here
|
|
9082
9082
|
if ( ! settings.aiDisplay.length ) {
|
|
9083
|
-
$(settings.nTBody).find('td[colspan]').attr('colspan',
|
|
9083
|
+
$(settings.nTBody).find('td[colspan]').attr('colspan', _fnVisibleColumns(settings));
|
|
9084
9084
|
}
|
|
9085
9085
|
|
|
9086
9086
|
_fnSaveState( settings );
|
|
@@ -9166,7 +9166,7 @@
|
|
|
9166
9166
|
var allCells = $(_flatten( [], cells ));
|
|
9167
9167
|
var row;
|
|
9168
9168
|
var columns = settings.aoColumns.length;
|
|
9169
|
-
var a, i,
|
|
9169
|
+
var a, i, iLen, j, o, host;
|
|
9170
9170
|
|
|
9171
9171
|
var run = function ( s ) {
|
|
9172
9172
|
var fnSelector = typeof s === 'function';
|
|
@@ -9175,7 +9175,7 @@
|
|
|
9175
9175
|
// All cells and function selectors
|
|
9176
9176
|
a = [];
|
|
9177
9177
|
|
|
9178
|
-
for ( i=0,
|
|
9178
|
+
for ( i=0, iLen=rows.length ; i<iLen ; i++ ) {
|
|
9179
9179
|
row = rows[i];
|
|
9180
9180
|
|
|
9181
9181
|
for ( j=0 ; j<columns ; j++ ) {
|
|
@@ -9280,12 +9280,12 @@
|
|
|
9280
9280
|
// Row + column selector
|
|
9281
9281
|
var columns = this.columns( columnSelector, internalOpts );
|
|
9282
9282
|
var rows = this.rows( rowSelector, internalOpts );
|
|
9283
|
-
var i,
|
|
9283
|
+
var i, iLen, j, jen;
|
|
9284
9284
|
|
|
9285
9285
|
var cellsNoOpts = this.iterator( 'table', function ( settings, idx ) {
|
|
9286
9286
|
var a = [];
|
|
9287
9287
|
|
|
9288
|
-
for ( i=0,
|
|
9288
|
+
for ( i=0, iLen=rows[idx].length ; i<iLen ; i++ ) {
|
|
9289
9289
|
for ( j=0, jen=columns[idx].length ; j<jen ; j++ ) {
|
|
9290
9290
|
a.push( {
|
|
9291
9291
|
row: rows[idx][i],
|
|
@@ -9497,7 +9497,7 @@
|
|
|
9497
9497
|
return this.iterator( 'column', function ( settings, idx ) {
|
|
9498
9498
|
var sort = _fnSortFlatten( settings );
|
|
9499
9499
|
|
|
9500
|
-
for ( var i=0,
|
|
9500
|
+
for ( var i=0, iLen=sort.length ; i<iLen ; i++ ) {
|
|
9501
9501
|
if ( sort[i].col === idx ) {
|
|
9502
9502
|
return sort[i].dir;
|
|
9503
9503
|
}
|
|
@@ -10188,9 +10188,11 @@
|
|
|
10188
10188
|
}
|
|
10189
10189
|
|
|
10190
10190
|
if ( $.isPlainObject( resolved ) ) {
|
|
10191
|
-
resolved = plural !== undefined && resolved[ plural ] !== undefined
|
|
10192
|
-
resolved[ plural ]
|
|
10193
|
-
|
|
10191
|
+
resolved = plural !== undefined && resolved[ plural ] !== undefined
|
|
10192
|
+
? resolved[ plural ]
|
|
10193
|
+
: plural === false
|
|
10194
|
+
? resolved
|
|
10195
|
+
: resolved._;
|
|
10194
10196
|
}
|
|
10195
10197
|
|
|
10196
10198
|
return typeof resolved === 'string'
|
|
@@ -10219,7 +10221,7 @@
|
|
|
10219
10221
|
* @type string
|
|
10220
10222
|
* @default Version number
|
|
10221
10223
|
*/
|
|
10222
|
-
DataTable.version = "2.3.
|
|
10224
|
+
DataTable.version = "2.3.3";
|
|
10223
10225
|
|
|
10224
10226
|
/**
|
|
10225
10227
|
* Private data store, containing all of the settings objects that are
|
|
@@ -10252,7 +10254,7 @@
|
|
|
10252
10254
|
*/
|
|
10253
10255
|
DataTable.models.oSearch = {
|
|
10254
10256
|
/**
|
|
10255
|
-
* Flag to
|
|
10257
|
+
* Flag to whether or not the filtering should be case-insensitive
|
|
10256
10258
|
*/
|
|
10257
10259
|
"caseInsensitive": true,
|
|
10258
10260
|
|
|
@@ -10537,7 +10539,7 @@
|
|
|
10537
10539
|
* from v1.10 onwards the primary interface is camel case. In order to avoid
|
|
10538
10540
|
* breaking backwards compatibility utterly with this change, the Hungarian
|
|
10539
10541
|
* version is still, internally the primary interface, but is is not documented
|
|
10540
|
-
* - hence the @name tags in each doc comment. This allows a
|
|
10542
|
+
* - hence the @name tags in each doc comment. This allows a JavaScript function
|
|
10541
10543
|
* to create a map from Hungarian notation to camel case (going the other direction
|
|
10542
10544
|
* would require each property to be listed, which would add around 3K to the size
|
|
10543
10545
|
* of DataTables, while this method is about a 0.5K hit).
|
|
@@ -10556,7 +10558,7 @@
|
|
|
10556
10558
|
/**
|
|
10557
10559
|
* An array of data to use for the table, passed in at initialisation which
|
|
10558
10560
|
* will be used in preference to any data which is already in the DOM. This is
|
|
10559
|
-
* particularly useful for constructing tables purely in
|
|
10561
|
+
* particularly useful for constructing tables purely in JavaScript, for
|
|
10560
10562
|
* example with a custom Ajax call.
|
|
10561
10563
|
*/
|
|
10562
10564
|
"aaData": null,
|
|
@@ -10623,7 +10625,7 @@
|
|
|
10623
10625
|
* * `dataSrc` - By default DataTables will look for the property `data` (or
|
|
10624
10626
|
* `aaData` for compatibility with DataTables 1.9-) when obtaining data
|
|
10625
10627
|
* from an Ajax source or for server-side processing - this parameter
|
|
10626
|
-
* allows that property to be changed. You can use
|
|
10628
|
+
* allows that property to be changed. You can use JavaScript dotted
|
|
10627
10629
|
* object notation to get a data source for multiple levels of nesting, or
|
|
10628
10630
|
* it my be used as a function. As a function it takes a single parameter,
|
|
10629
10631
|
* the JSON returned from the server, which can be manipulated as
|
|
@@ -10747,13 +10749,13 @@
|
|
|
10747
10749
|
"bFilter": true,
|
|
10748
10750
|
|
|
10749
10751
|
/**
|
|
10750
|
-
* Used only for
|
|
10752
|
+
* Used only for compatibility with DT1
|
|
10751
10753
|
* @deprecated
|
|
10752
10754
|
*/
|
|
10753
10755
|
"bInfo": true,
|
|
10754
10756
|
|
|
10755
10757
|
/**
|
|
10756
|
-
* Used only for
|
|
10758
|
+
* Used only for compatibility with DT1
|
|
10757
10759
|
* @deprecated
|
|
10758
10760
|
*/
|
|
10759
10761
|
"bLengthChange": true,
|
|
@@ -10844,7 +10846,7 @@
|
|
|
10844
10846
|
* Enable or disable state saving. When enabled HTML5 `localStorage` will be
|
|
10845
10847
|
* used to save table display information such as pagination information,
|
|
10846
10848
|
* display length, filtering and sorting. As such when the end user reloads
|
|
10847
|
-
* the page the display
|
|
10849
|
+
* the page the display will match what thy had previously set up.
|
|
10848
10850
|
*/
|
|
10849
10851
|
"bStateSave": false,
|
|
10850
10852
|
|
|
@@ -11201,7 +11203,7 @@
|
|
|
11201
11203
|
/**
|
|
11202
11204
|
* When using Ajax sourced data and during the first draw when DataTables is
|
|
11203
11205
|
* gathering the data, this message is shown in an empty row in the table to
|
|
11204
|
-
* indicate to the end user the
|
|
11206
|
+
* indicate to the end user the data is being loaded. Note that this
|
|
11205
11207
|
* parameter is not used when loading data by server-side processing, just
|
|
11206
11208
|
* Ajax sourced data with client-side processing.
|
|
11207
11209
|
*/
|
|
@@ -11462,8 +11464,8 @@
|
|
|
11462
11464
|
* * `string` - read an object property from the data source. There are
|
|
11463
11465
|
* three 'special' options that can be used in the string to alter how
|
|
11464
11466
|
* DataTables reads the data from the source object:
|
|
11465
|
-
* * `.` - Dotted
|
|
11466
|
-
*
|
|
11467
|
+
* * `.` - Dotted JavaScript notation. Just as you use a `.` in
|
|
11468
|
+
* JavaScript to read from nested objects, so to can the options
|
|
11467
11469
|
* specified in `data`. For example: `browser.version` or
|
|
11468
11470
|
* `browser.name`. If your object parameter name contains a period, use
|
|
11469
11471
|
* `\\` to escape it - i.e. `first\\.name`.
|
|
@@ -11521,7 +11523,7 @@
|
|
|
11521
11523
|
* This property is the rendering partner to `data` and it is suggested that
|
|
11522
11524
|
* when you want to manipulate data for display (including filtering,
|
|
11523
11525
|
* sorting etc) without altering the underlying data for the table, use this
|
|
11524
|
-
* property. `render` can be considered to be the
|
|
11526
|
+
* property. `render` can be considered to be the read only companion to
|
|
11525
11527
|
* `data` which is read / write (then as such more complex). Like `data`
|
|
11526
11528
|
* this option can be given in a number of different ways to effect its
|
|
11527
11529
|
* behaviour:
|
|
@@ -11531,8 +11533,8 @@
|
|
|
11531
11533
|
* * `string` - read an object property from the data source. There are
|
|
11532
11534
|
* three 'special' options that can be used in the string to alter how
|
|
11533
11535
|
* DataTables reads the data from the source object:
|
|
11534
|
-
* * `.` - Dotted
|
|
11535
|
-
*
|
|
11536
|
+
* * `.` - Dotted JavaScript notation. Just as you use a `.` in
|
|
11537
|
+
* JavaScript to read from nested objects, so to can the options
|
|
11536
11538
|
* specified in `data`. For example: `browser.version` or
|
|
11537
11539
|
* `browser.name`. If your object parameter name contains a period, use
|
|
11538
11540
|
* `\\` to escape it - i.e. `first\\.name`.
|
|
@@ -11635,7 +11637,7 @@
|
|
|
11635
11637
|
* The type allows you to specify how the data for this column will be
|
|
11636
11638
|
* ordered. Four types (string, numeric, date and html (which will strip
|
|
11637
11639
|
* HTML tags before ordering)) are currently available. Note that only date
|
|
11638
|
-
* formats understood by
|
|
11640
|
+
* formats understood by JavaScript's Date() object will be accepted as type
|
|
11639
11641
|
* date. For example: "Mar 26, 2008 5:03 PM". May take the values: 'string',
|
|
11640
11642
|
* 'numeric', 'date' or 'html' (by default). Further types can be adding
|
|
11641
11643
|
* through plug-ins.
|
|
@@ -11687,7 +11689,7 @@
|
|
|
11687
11689
|
/**
|
|
11688
11690
|
* Delay the creation of TR and TD elements until they are actually
|
|
11689
11691
|
* needed by a driven page draw. This can give a significant speed
|
|
11690
|
-
* increase for Ajax source and
|
|
11692
|
+
* increase for Ajax source and JavaScript source data, but makes no
|
|
11691
11693
|
* difference at all for DOM and server-side processing tables.
|
|
11692
11694
|
* Note that this parameter will be set by the initialisation routine. To
|
|
11693
11695
|
* set a default use {@link DataTable.defaults}.
|
|
@@ -11704,13 +11706,13 @@
|
|
|
11704
11706
|
"bFilter": null,
|
|
11705
11707
|
|
|
11706
11708
|
/**
|
|
11707
|
-
* Used only for
|
|
11709
|
+
* Used only for compatibility with DT1
|
|
11708
11710
|
* @deprecated
|
|
11709
11711
|
*/
|
|
11710
11712
|
"bInfo": true,
|
|
11711
11713
|
|
|
11712
11714
|
/**
|
|
11713
|
-
* Used only for
|
|
11715
|
+
* Used only for compatibility with DT1
|
|
11714
11716
|
* @deprecated
|
|
11715
11717
|
*/
|
|
11716
11718
|
"bLengthChange": true,
|
|
@@ -12581,7 +12583,7 @@
|
|
|
12581
12583
|
},
|
|
12582
12584
|
order: {
|
|
12583
12585
|
pre: function (d) {
|
|
12584
|
-
// The renderer gives us Moment, Luxon or Date
|
|
12586
|
+
// The renderer gives us Moment, Luxon or Date objects for the sorting, all of which have a
|
|
12585
12587
|
// `valueOf` which gives milliseconds epoch
|
|
12586
12588
|
return d.valueOf();
|
|
12587
12589
|
}
|
|
@@ -13147,7 +13149,7 @@
|
|
|
13147
13149
|
|
|
13148
13150
|
// If a decimal place other than `.` is used, it needs to be given to the
|
|
13149
13151
|
// function so we can detect it and replace with a `.` which is the only
|
|
13150
|
-
// decimal place
|
|
13152
|
+
// decimal place JavaScript recognises - it is not locale aware.
|
|
13151
13153
|
if ( decimalPlace ) {
|
|
13152
13154
|
d = _numToDecimal( d, decimalPlace );
|
|
13153
13155
|
}
|
|
@@ -13205,7 +13207,7 @@
|
|
|
13205
13207
|
// on destroy, while the `dt` namespaced event is the one we are
|
|
13206
13208
|
// listening for
|
|
13207
13209
|
$(settings.nTable).on( 'order.dt.DT column-visibility.dt.DT', function ( e, ctx, column ) {
|
|
13208
|
-
if ( settings !== ctx ) { // need to check
|
|
13210
|
+
if ( settings !== ctx ) { // need to check if this is the host
|
|
13209
13211
|
return; // table, not a nested one
|
|
13210
13212
|
}
|
|
13211
13213
|
|