jquery-tablesorter 1.20.0 → 1.20.1
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.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/README.md +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +31 -35
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +16 -12
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +15 -23
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-columnSelector.js +19 -12
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +14 -22
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-output.js +9 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be1871fe019187a3a9ede62fe42793b65d00594e
|
4
|
+
data.tar.gz: 016ffee69c030c956b4f7a38b04b2d9489a29a2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8994b468e65125354e889fef34523bd1bd325b10aa2cf2999c5534fcd99e0d9b00fb16e45d44ee09bfb45b9ffea795c403aa32bed780d7b23395a5dfacc2de6c
|
7
|
+
data.tar.gz: ba2cff70a88e65d42c2015fdf47d6b8bf7b8069b3e889aae2c74f57ef5e96b226bac537565c76581e765bc6c58ae97df135ffec8efc9df7a93400ac2520918d2
|
data/MIT-LICENSE
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Simple integration of jquery-tablesorter into the asset pipeline.
|
6
6
|
|
7
|
-
Current tablesorter version: 2.25.
|
7
|
+
Current tablesorter version: 2.25.1 (1/10/2016), [documentation]
|
8
8
|
|
9
9
|
Any issue associated with the js/css files, please report to [Mottie's fork].
|
10
10
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated
|
7
|
+
/*! tablesorter (FORK) - updated 01-10-2016 (v2.25.1)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -16,7 +16,7 @@
|
|
16
16
|
}
|
17
17
|
}(function($) {
|
18
18
|
|
19
|
-
/*! TableSorter (FORK) v2.25.
|
19
|
+
/*! TableSorter (FORK) v2.25.1 *//*
|
20
20
|
* Client-side table sorting with ease!
|
21
21
|
* @requires jQuery v1.2.6+
|
22
22
|
*
|
@@ -39,7 +39,7 @@
|
|
39
39
|
'use strict';
|
40
40
|
var ts = $.tablesorter = {
|
41
41
|
|
42
|
-
version : '2.25.
|
42
|
+
version : '2.25.1',
|
43
43
|
|
44
44
|
parsers : [],
|
45
45
|
widgets : [],
|
@@ -1064,8 +1064,8 @@
|
|
1064
1064
|
// find the footer
|
1065
1065
|
$headers = c.$table
|
1066
1066
|
.find( 'tfoot tr' )
|
1067
|
-
.children()
|
1068
|
-
.
|
1067
|
+
.add( $( c.namespace + '_extra_headers' ).children( 'tr' ) )
|
1068
|
+
.children( 'td, th' )
|
1069
1069
|
.removeClass( css.join( ' ' ) );
|
1070
1070
|
// remove all header information
|
1071
1071
|
c.$headers
|
@@ -1898,15 +1898,19 @@
|
|
1898
1898
|
var len, indx,
|
1899
1899
|
c = table.config,
|
1900
1900
|
// look for widgets to apply from table class
|
1901
|
-
//
|
1902
|
-
|
1901
|
+
// don't match from 'ui-widget-content'; use \S instead of \w to include widgets
|
1902
|
+
// with dashes in the name, e.g. "widget-test-2" extracts out "test-2"
|
1903
|
+
regex = '^' + c.widgetClass.replace( ts.regex.templateName, '(\\S+)+' ) + '$',
|
1903
1904
|
widgetClass = new RegExp( regex, 'g' ),
|
1904
|
-
//
|
1905
|
-
|
1906
|
-
|
1907
|
-
|
1905
|
+
// split up table class (widget id's can include dashes) - stop using match
|
1906
|
+
// otherwise only one widget gets extracted, see #1109
|
1907
|
+
widgets = ( table.className || '' ).split( ts.regex.spaces );
|
1908
|
+
if ( widgets.length ) {
|
1909
|
+
len = widgets.length;
|
1908
1910
|
for ( indx = 0; indx < len; indx++ ) {
|
1909
|
-
|
1911
|
+
if ( widgets[ indx ].match( widgetClass ) ) {
|
1912
|
+
c.widgets.push( widgets[ indx ].replace( widgetClass, '$1' ) );
|
1913
|
+
}
|
1910
1914
|
}
|
1911
1915
|
}
|
1912
1916
|
},
|
@@ -2642,7 +2646,7 @@
|
|
2642
2646
|
});
|
2643
2647
|
|
2644
2648
|
// match 24 hour time & 12 hours time + am/pm - see http://regexr.com/3c3tk
|
2645
|
-
ts.regex.timeTest = /^([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)
|
2649
|
+
ts.regex.timeTest = /^([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)$|^((?:[01]\d|[2][0-4]):[0-5]\d)$/i;
|
2646
2650
|
ts.regex.timeMatch = /([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)|((?:[01]\d|[2][0-4]):[0-5]\d)/i;
|
2647
2651
|
ts.addParser({
|
2648
2652
|
id : 'time',
|
@@ -3082,7 +3086,7 @@
|
|
3082
3086
|
|
3083
3087
|
})(jQuery);
|
3084
3088
|
|
3085
|
-
/*! Widget: filter - updated
|
3089
|
+
/*! Widget: filter - updated 1/10/2016 (v2.25.1) *//*
|
3086
3090
|
* Requires tablesorter v2.8+ and jQuery 1.7+
|
3087
3091
|
* by Rob Garrison
|
3088
3092
|
*/
|
@@ -3451,7 +3455,7 @@
|
|
3451
3455
|
toSplit : new RegExp( '(?:\\s+(?:-|' + ts.language.to + ')\\s+)', 'gi' ),
|
3452
3456
|
andTest : new RegExp( '\\s+(' + ts.language.and + '|&&)\\s+', 'i' ),
|
3453
3457
|
andSplit : new RegExp( '(?:\\s+(?:' + ts.language.and + '|&&)\\s+)', 'gi' ),
|
3454
|
-
orTest :
|
3458
|
+
orTest : new RegExp( '(\\||\\s+' + ts.language.or + '\\s+)', 'i' ),
|
3455
3459
|
orSplit : new RegExp( '(?:\\s+(?:' + ts.language.or + ')\\s+|\\|)', 'gi' ),
|
3456
3460
|
iQuery : new RegExp( val, 'i' ),
|
3457
3461
|
igQuery : new RegExp( val, 'ig' ),
|
@@ -3926,7 +3930,7 @@
|
|
3926
3930
|
filters = Array.prototype.map ?
|
3927
3931
|
filters.map( String ) :
|
3928
3932
|
// for IE8 & older browsers - maybe not the best method
|
3929
|
-
filters.join( '\
|
3933
|
+
filters.join( '\ufffd' ).split( '\ufffd' );
|
3930
3934
|
|
3931
3935
|
if ( wo.filter_initialized ) {
|
3932
3936
|
c.$table.triggerHandler( 'filterStart', [ filters ] );
|
@@ -4132,7 +4136,6 @@
|
|
4132
4136
|
|
4133
4137
|
vars.excludeMatch = vars.noAnyMatch;
|
4134
4138
|
filterMatched = tsf.processTypes( c, data, vars );
|
4135
|
-
|
4136
4139
|
if ( filterMatched !== null ) {
|
4137
4140
|
showRow = filterMatched;
|
4138
4141
|
} else {
|
@@ -4165,13 +4168,8 @@
|
|
4165
4168
|
// ignore if filter is empty or disabled
|
4166
4169
|
if ( data.filter ) {
|
4167
4170
|
data.cache = data.cacheArray[ columnIndex ];
|
4168
|
-
|
4169
|
-
|
4170
|
-
data.exact = data.cache;
|
4171
|
-
} else {
|
4172
|
-
result = data.rawArray[ columnIndex ] || '';
|
4173
|
-
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
4174
|
-
}
|
4171
|
+
result = data.rawArray[ columnIndex ] || '';
|
4172
|
+
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
4175
4173
|
data.iExact = !tsfRegex.type.test( typeof data.exact ) && wo.filter_ignoreCase ?
|
4176
4174
|
data.exact.toLowerCase() : data.exact;
|
4177
4175
|
|
@@ -4226,8 +4224,7 @@
|
|
4226
4224
|
result = filterMatched;
|
4227
4225
|
// Look for match, and add child row data for matching
|
4228
4226
|
} else {
|
4229
|
-
txt = ( data.iExact + data.childRowText )
|
4230
|
-
.indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
4227
|
+
txt = ( data.iExact + data.childRowText ).indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
4231
4228
|
result = ( ( !wo.filter_startsWith && txt >= 0 ) || ( wo.filter_startsWith && txt === 0 ) );
|
4232
4229
|
}
|
4233
4230
|
} else {
|
@@ -4267,18 +4264,17 @@
|
|
4267
4264
|
};
|
4268
4265
|
|
4269
4266
|
// parse columns after formatter, in case the class is added at that point
|
4270
|
-
data.parsed =
|
4271
|
-
|
4272
|
-
|
4273
|
-
|
4274
|
-
|
4267
|
+
data.parsed = [];
|
4268
|
+
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
4269
|
+
data.parsed[ columnIndex ] = wo.filter_useParsedData ||
|
4270
|
+
// parser has a "parsed" parameter
|
4271
|
+
( c.parsers && c.parsers[ columnIndex ] && c.parsers[ columnIndex ].parsed ||
|
4272
|
+
// getData may not return 'parsed' if other 'filter-' class names exist
|
4275
4273
|
// ( e.g. <th class="filter-select filter-parsed"> )
|
4276
4274
|
ts.getData && ts.getData( c.$headerIndexed[ columnIndex ],
|
4277
4275
|
ts.getColumnData( table, c.headers, columnIndex ), 'filter' ) === 'parsed' ||
|
4278
|
-
|
4279
|
-
}).get();
|
4276
|
+
c.$headerIndexed[ columnIndex ].hasClass( 'filter-parsed' ) );
|
4280
4277
|
|
4281
|
-
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
4282
4278
|
vars.functions[ columnIndex ] =
|
4283
4279
|
ts.getColumnData( table, wo.filter_functions, columnIndex );
|
4284
4280
|
vars.defaultColFilter[ columnIndex ] =
|
@@ -4436,7 +4432,7 @@
|
|
4436
4432
|
|
4437
4433
|
// don't pass reference to val
|
4438
4434
|
val = showParent ? true : false;
|
4439
|
-
childRow = rowData.$row.filter( ':gt(
|
4435
|
+
childRow = rowData.$row.filter( ':gt(0)' );
|
4440
4436
|
if ( wo.filter_childRows && childRow.length ) {
|
4441
4437
|
if ( wo.filter_childByColumn ) {
|
4442
4438
|
if ( !wo.filter_childWithSibs ) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! TableSorter (FORK) v2.25.
|
1
|
+
/*! TableSorter (FORK) v2.25.1 *//*
|
2
2
|
* Client-side table sorting with ease!
|
3
3
|
* @requires jQuery v1.2.6+
|
4
4
|
*
|
@@ -21,7 +21,7 @@
|
|
21
21
|
'use strict';
|
22
22
|
var ts = $.tablesorter = {
|
23
23
|
|
24
|
-
version : '2.25.
|
24
|
+
version : '2.25.1',
|
25
25
|
|
26
26
|
parsers : [],
|
27
27
|
widgets : [],
|
@@ -1046,8 +1046,8 @@
|
|
1046
1046
|
// find the footer
|
1047
1047
|
$headers = c.$table
|
1048
1048
|
.find( 'tfoot tr' )
|
1049
|
-
.children()
|
1050
|
-
.
|
1049
|
+
.add( $( c.namespace + '_extra_headers' ).children( 'tr' ) )
|
1050
|
+
.children( 'td, th' )
|
1051
1051
|
.removeClass( css.join( ' ' ) );
|
1052
1052
|
// remove all header information
|
1053
1053
|
c.$headers
|
@@ -1880,15 +1880,19 @@
|
|
1880
1880
|
var len, indx,
|
1881
1881
|
c = table.config,
|
1882
1882
|
// look for widgets to apply from table class
|
1883
|
-
//
|
1884
|
-
|
1883
|
+
// don't match from 'ui-widget-content'; use \S instead of \w to include widgets
|
1884
|
+
// with dashes in the name, e.g. "widget-test-2" extracts out "test-2"
|
1885
|
+
regex = '^' + c.widgetClass.replace( ts.regex.templateName, '(\\S+)+' ) + '$',
|
1885
1886
|
widgetClass = new RegExp( regex, 'g' ),
|
1886
|
-
//
|
1887
|
-
|
1888
|
-
|
1889
|
-
|
1887
|
+
// split up table class (widget id's can include dashes) - stop using match
|
1888
|
+
// otherwise only one widget gets extracted, see #1109
|
1889
|
+
widgets = ( table.className || '' ).split( ts.regex.spaces );
|
1890
|
+
if ( widgets.length ) {
|
1891
|
+
len = widgets.length;
|
1890
1892
|
for ( indx = 0; indx < len; indx++ ) {
|
1891
|
-
|
1893
|
+
if ( widgets[ indx ].match( widgetClass ) ) {
|
1894
|
+
c.widgets.push( widgets[ indx ].replace( widgetClass, '$1' ) );
|
1895
|
+
}
|
1892
1896
|
}
|
1893
1897
|
}
|
1894
1898
|
},
|
@@ -2624,7 +2628,7 @@
|
|
2624
2628
|
});
|
2625
2629
|
|
2626
2630
|
// match 24 hour time & 12 hours time + am/pm - see http://regexr.com/3c3tk
|
2627
|
-
ts.regex.timeTest = /^([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)
|
2631
|
+
ts.regex.timeTest = /^([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)$|^((?:[01]\d|[2][0-4]):[0-5]\d)$/i;
|
2628
2632
|
ts.regex.timeMatch = /([1-9]|1[0-2]):([0-5]\d)(\s[AP]M)|((?:[01]\d|[2][0-4]):[0-5]\d)/i;
|
2629
2633
|
ts.addParser({
|
2630
2634
|
id : 'time',
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated
|
7
|
+
/*! tablesorter (FORK) - updated 01-10-2016 (v2.25.1)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -372,7 +372,7 @@
|
|
372
372
|
|
373
373
|
})(jQuery);
|
374
374
|
|
375
|
-
/*! Widget: filter - updated
|
375
|
+
/*! Widget: filter - updated 1/10/2016 (v2.25.1) *//*
|
376
376
|
* Requires tablesorter v2.8+ and jQuery 1.7+
|
377
377
|
* by Rob Garrison
|
378
378
|
*/
|
@@ -741,7 +741,7 @@
|
|
741
741
|
toSplit : new RegExp( '(?:\\s+(?:-|' + ts.language.to + ')\\s+)', 'gi' ),
|
742
742
|
andTest : new RegExp( '\\s+(' + ts.language.and + '|&&)\\s+', 'i' ),
|
743
743
|
andSplit : new RegExp( '(?:\\s+(?:' + ts.language.and + '|&&)\\s+)', 'gi' ),
|
744
|
-
orTest :
|
744
|
+
orTest : new RegExp( '(\\||\\s+' + ts.language.or + '\\s+)', 'i' ),
|
745
745
|
orSplit : new RegExp( '(?:\\s+(?:' + ts.language.or + ')\\s+|\\|)', 'gi' ),
|
746
746
|
iQuery : new RegExp( val, 'i' ),
|
747
747
|
igQuery : new RegExp( val, 'ig' ),
|
@@ -1216,7 +1216,7 @@
|
|
1216
1216
|
filters = Array.prototype.map ?
|
1217
1217
|
filters.map( String ) :
|
1218
1218
|
// for IE8 & older browsers - maybe not the best method
|
1219
|
-
filters.join( '\
|
1219
|
+
filters.join( '\ufffd' ).split( '\ufffd' );
|
1220
1220
|
|
1221
1221
|
if ( wo.filter_initialized ) {
|
1222
1222
|
c.$table.triggerHandler( 'filterStart', [ filters ] );
|
@@ -1422,7 +1422,6 @@
|
|
1422
1422
|
|
1423
1423
|
vars.excludeMatch = vars.noAnyMatch;
|
1424
1424
|
filterMatched = tsf.processTypes( c, data, vars );
|
1425
|
-
|
1426
1425
|
if ( filterMatched !== null ) {
|
1427
1426
|
showRow = filterMatched;
|
1428
1427
|
} else {
|
@@ -1455,13 +1454,8 @@
|
|
1455
1454
|
// ignore if filter is empty or disabled
|
1456
1455
|
if ( data.filter ) {
|
1457
1456
|
data.cache = data.cacheArray[ columnIndex ];
|
1458
|
-
|
1459
|
-
|
1460
|
-
data.exact = data.cache;
|
1461
|
-
} else {
|
1462
|
-
result = data.rawArray[ columnIndex ] || '';
|
1463
|
-
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
1464
|
-
}
|
1457
|
+
result = data.rawArray[ columnIndex ] || '';
|
1458
|
+
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
1465
1459
|
data.iExact = !tsfRegex.type.test( typeof data.exact ) && wo.filter_ignoreCase ?
|
1466
1460
|
data.exact.toLowerCase() : data.exact;
|
1467
1461
|
|
@@ -1516,8 +1510,7 @@
|
|
1516
1510
|
result = filterMatched;
|
1517
1511
|
// Look for match, and add child row data for matching
|
1518
1512
|
} else {
|
1519
|
-
txt = ( data.iExact + data.childRowText )
|
1520
|
-
.indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
1513
|
+
txt = ( data.iExact + data.childRowText ).indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
1521
1514
|
result = ( ( !wo.filter_startsWith && txt >= 0 ) || ( wo.filter_startsWith && txt === 0 ) );
|
1522
1515
|
}
|
1523
1516
|
} else {
|
@@ -1557,18 +1550,17 @@
|
|
1557
1550
|
};
|
1558
1551
|
|
1559
1552
|
// parse columns after formatter, in case the class is added at that point
|
1560
|
-
data.parsed =
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1564
|
-
|
1553
|
+
data.parsed = [];
|
1554
|
+
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
1555
|
+
data.parsed[ columnIndex ] = wo.filter_useParsedData ||
|
1556
|
+
// parser has a "parsed" parameter
|
1557
|
+
( c.parsers && c.parsers[ columnIndex ] && c.parsers[ columnIndex ].parsed ||
|
1558
|
+
// getData may not return 'parsed' if other 'filter-' class names exist
|
1565
1559
|
// ( e.g. <th class="filter-select filter-parsed"> )
|
1566
1560
|
ts.getData && ts.getData( c.$headerIndexed[ columnIndex ],
|
1567
1561
|
ts.getColumnData( table, c.headers, columnIndex ), 'filter' ) === 'parsed' ||
|
1568
|
-
|
1569
|
-
}).get();
|
1562
|
+
c.$headerIndexed[ columnIndex ].hasClass( 'filter-parsed' ) );
|
1570
1563
|
|
1571
|
-
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
1572
1564
|
vars.functions[ columnIndex ] =
|
1573
1565
|
ts.getColumnData( table, wo.filter_functions, columnIndex );
|
1574
1566
|
vars.defaultColFilter[ columnIndex ] =
|
@@ -1726,7 +1718,7 @@
|
|
1726
1718
|
|
1727
1719
|
// don't pass reference to val
|
1728
1720
|
val = showParent ? true : false;
|
1729
|
-
childRow = rowData.$row.filter( ':gt(
|
1721
|
+
childRow = rowData.$row.filter( ':gt(0)' );
|
1730
1722
|
if ( wo.filter_childRows && childRow.length ) {
|
1731
1723
|
if ( wo.filter_childByColumn ) {
|
1732
1724
|
if ( !wo.filter_childWithSibs ) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/* Widget: columnSelector (responsive table widget) - updated 10/
|
1
|
+
/* Widget: columnSelector (responsive table widget) - updated 1/10/2016 (v2.25.1) *//*
|
2
2
|
* Requires tablesorter v2.8+ and jQuery 1.7+
|
3
3
|
* by Justin Hallett & Rob Garrison
|
4
4
|
*/
|
@@ -237,9 +237,12 @@
|
|
237
237
|
var array = [],
|
238
238
|
temp = ' col:nth-child(' + column + ')';
|
239
239
|
array.push(prefix + temp + ',' + prefix + '_extra_table' + temp);
|
240
|
-
temp = ' tr th:nth-child(' + column + ')';
|
240
|
+
temp = ' tr:not(.hasSpan) th:nth-child(' + column + ')';
|
241
241
|
array.push(prefix + temp + ',' + prefix + '_extra_table' + temp);
|
242
|
-
temp = ' tr td:nth-child(' + column + ')';
|
242
|
+
temp = ' tr:not(.hasSpan) td:nth-child(' + column + ')';
|
243
|
+
array.push(prefix + temp + ',' + prefix + '_extra_table' + temp);
|
244
|
+
// for other cells in colspan columns
|
245
|
+
temp = ' tr td:not(' + prefix + 'HasSpan)[data-column="' + (column - 1) + '"]';
|
243
246
|
array.push(prefix + temp + ',' + prefix + '_extra_table' + temp);
|
244
247
|
return array;
|
245
248
|
},
|
@@ -290,7 +293,7 @@
|
|
290
293
|
if (mediaAll.length) {
|
291
294
|
colSel.$breakpoints
|
292
295
|
.prop('disabled', false)
|
293
|
-
.
|
296
|
+
.text( tsColSel.queryAll.replace(/\[columns\]/g, mediaAll.join(',')) + breakpts );
|
294
297
|
}
|
295
298
|
},
|
296
299
|
updateCols: function(c, wo) {
|
@@ -312,7 +315,7 @@
|
|
312
315
|
colSel.$breakpoints.prop('disabled', true);
|
313
316
|
}
|
314
317
|
if (colSel.$style) {
|
315
|
-
colSel.$style.prop('disabled', false).
|
318
|
+
colSel.$style.prop('disabled', false).text( styles.length ? styles.join(',') + ' { display: none; }' : '' );
|
316
319
|
}
|
317
320
|
if (wo.columnSelector_saveColumns && ts.storage) {
|
318
321
|
ts.storage( c.$table[0], 'tablesorter-columnSelector', colSel.states );
|
@@ -327,7 +330,7 @@
|
|
327
330
|
hasSpans = false,
|
328
331
|
$cells = c.$table
|
329
332
|
.add( $(c.namespace + '_extra_table') )
|
330
|
-
.children(
|
333
|
+
.children()
|
331
334
|
.children('tr')
|
332
335
|
.children('th, td'),
|
333
336
|
len = $cells.length;
|
@@ -338,6 +341,8 @@
|
|
338
341
|
$cells.eq( index )
|
339
342
|
.addClass( c.namespace.slice( 1 ) + 'columnselectorHasSpan' )
|
340
343
|
.attr( 'data-col-span', span );
|
344
|
+
// add data-column values
|
345
|
+
ts.computeColumnIndex( $cells.eq( index ).parent().addClass( 'hasSpan' ) );
|
341
346
|
}
|
342
347
|
}
|
343
348
|
// only add resize end if using media queries
|
@@ -357,15 +362,16 @@
|
|
357
362
|
}
|
358
363
|
},
|
359
364
|
adjustColspans: function(c, wo) {
|
360
|
-
var index, cols, col, span, end,
|
365
|
+
var index, cols, col, span, end, $cell,
|
361
366
|
colSel = c.selector,
|
362
367
|
autoModeOn = colSel.auto,
|
363
368
|
$colspans = $( c.namespace + 'columnselectorHasSpan' ),
|
364
369
|
len = $colspans.length;
|
365
370
|
if ( len ) {
|
366
371
|
for ( index = 0; index < len; index++ ) {
|
367
|
-
|
368
|
-
|
372
|
+
$cell = $colspans.eq(index);
|
373
|
+
col = parseInt( $cell.attr('data-column'), 10 ) || $cell[0].cellIndex;
|
374
|
+
span = parseInt( $cell.attr('data-col-span'), 10 );
|
369
375
|
end = col + span;
|
370
376
|
for ( cols = col; cols < end; cols++ ) {
|
371
377
|
if ( !autoModeOn && colSel.states[ cols ] === false ||
|
@@ -374,9 +380,9 @@
|
|
374
380
|
}
|
375
381
|
}
|
376
382
|
if ( span ) {
|
377
|
-
$
|
383
|
+
$cell.removeClass( wo.filter_filteredRow )[0].colSpan = span;
|
378
384
|
} else {
|
379
|
-
$
|
385
|
+
$cell.addClass( wo.filter_filteredRow );
|
380
386
|
}
|
381
387
|
}
|
382
388
|
}
|
@@ -471,12 +477,13 @@
|
|
471
477
|
tsColSel.init(table, c, wo);
|
472
478
|
},
|
473
479
|
remove: function(table, c, wo, refreshing) {
|
474
|
-
if (refreshing) { return; }
|
475
480
|
var csel = c.selector;
|
481
|
+
if ( refreshing || !csel ) { return; }
|
476
482
|
csel.$container.empty();
|
477
483
|
if (csel.$popup) { csel.$popup.empty(); }
|
478
484
|
csel.$style.remove();
|
479
485
|
csel.$breakpoints.remove();
|
486
|
+
$( c.namespace + 'columnselectorHasSpan' ).removeClass( wo.filter_filteredRow );
|
480
487
|
c.$table.off('updateAll' + namespace + ' update' + namespace);
|
481
488
|
}
|
482
489
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Widget: filter - updated
|
1
|
+
/*! Widget: filter - updated 1/10/2016 (v2.25.1) *//*
|
2
2
|
* Requires tablesorter v2.8+ and jQuery 1.7+
|
3
3
|
* by Rob Garrison
|
4
4
|
*/
|
@@ -367,7 +367,7 @@
|
|
367
367
|
toSplit : new RegExp( '(?:\\s+(?:-|' + ts.language.to + ')\\s+)', 'gi' ),
|
368
368
|
andTest : new RegExp( '\\s+(' + ts.language.and + '|&&)\\s+', 'i' ),
|
369
369
|
andSplit : new RegExp( '(?:\\s+(?:' + ts.language.and + '|&&)\\s+)', 'gi' ),
|
370
|
-
orTest :
|
370
|
+
orTest : new RegExp( '(\\||\\s+' + ts.language.or + '\\s+)', 'i' ),
|
371
371
|
orSplit : new RegExp( '(?:\\s+(?:' + ts.language.or + ')\\s+|\\|)', 'gi' ),
|
372
372
|
iQuery : new RegExp( val, 'i' ),
|
373
373
|
igQuery : new RegExp( val, 'ig' ),
|
@@ -842,7 +842,7 @@
|
|
842
842
|
filters = Array.prototype.map ?
|
843
843
|
filters.map( String ) :
|
844
844
|
// for IE8 & older browsers - maybe not the best method
|
845
|
-
filters.join( '\
|
845
|
+
filters.join( '\ufffd' ).split( '\ufffd' );
|
846
846
|
|
847
847
|
if ( wo.filter_initialized ) {
|
848
848
|
c.$table.triggerHandler( 'filterStart', [ filters ] );
|
@@ -1048,7 +1048,6 @@
|
|
1048
1048
|
|
1049
1049
|
vars.excludeMatch = vars.noAnyMatch;
|
1050
1050
|
filterMatched = tsf.processTypes( c, data, vars );
|
1051
|
-
|
1052
1051
|
if ( filterMatched !== null ) {
|
1053
1052
|
showRow = filterMatched;
|
1054
1053
|
} else {
|
@@ -1081,13 +1080,8 @@
|
|
1081
1080
|
// ignore if filter is empty or disabled
|
1082
1081
|
if ( data.filter ) {
|
1083
1082
|
data.cache = data.cacheArray[ columnIndex ];
|
1084
|
-
|
1085
|
-
|
1086
|
-
data.exact = data.cache;
|
1087
|
-
} else {
|
1088
|
-
result = data.rawArray[ columnIndex ] || '';
|
1089
|
-
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
1090
|
-
}
|
1083
|
+
result = data.rawArray[ columnIndex ] || '';
|
1084
|
+
data.exact = c.sortLocaleCompare ? ts.replaceAccents( result ) : result; // issue #405
|
1091
1085
|
data.iExact = !tsfRegex.type.test( typeof data.exact ) && wo.filter_ignoreCase ?
|
1092
1086
|
data.exact.toLowerCase() : data.exact;
|
1093
1087
|
|
@@ -1142,8 +1136,7 @@
|
|
1142
1136
|
result = filterMatched;
|
1143
1137
|
// Look for match, and add child row data for matching
|
1144
1138
|
} else {
|
1145
|
-
txt = ( data.iExact + data.childRowText )
|
1146
|
-
.indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
1139
|
+
txt = ( data.iExact + data.childRowText ).indexOf( tsf.parseFilter( c, data.iFilter, data ) );
|
1147
1140
|
result = ( ( !wo.filter_startsWith && txt >= 0 ) || ( wo.filter_startsWith && txt === 0 ) );
|
1148
1141
|
}
|
1149
1142
|
} else {
|
@@ -1183,18 +1176,17 @@
|
|
1183
1176
|
};
|
1184
1177
|
|
1185
1178
|
// parse columns after formatter, in case the class is added at that point
|
1186
|
-
data.parsed =
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1179
|
+
data.parsed = [];
|
1180
|
+
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
1181
|
+
data.parsed[ columnIndex ] = wo.filter_useParsedData ||
|
1182
|
+
// parser has a "parsed" parameter
|
1183
|
+
( c.parsers && c.parsers[ columnIndex ] && c.parsers[ columnIndex ].parsed ||
|
1184
|
+
// getData may not return 'parsed' if other 'filter-' class names exist
|
1191
1185
|
// ( e.g. <th class="filter-select filter-parsed"> )
|
1192
1186
|
ts.getData && ts.getData( c.$headerIndexed[ columnIndex ],
|
1193
1187
|
ts.getColumnData( table, c.headers, columnIndex ), 'filter' ) === 'parsed' ||
|
1194
|
-
|
1195
|
-
}).get();
|
1188
|
+
c.$headerIndexed[ columnIndex ].hasClass( 'filter-parsed' ) );
|
1196
1189
|
|
1197
|
-
for ( columnIndex = 0; columnIndex < c.columns; columnIndex++ ) {
|
1198
1190
|
vars.functions[ columnIndex ] =
|
1199
1191
|
ts.getColumnData( table, wo.filter_functions, columnIndex );
|
1200
1192
|
vars.defaultColFilter[ columnIndex ] =
|
@@ -1352,7 +1344,7 @@
|
|
1352
1344
|
|
1353
1345
|
// don't pass reference to val
|
1354
1346
|
val = showParent ? true : false;
|
1355
|
-
childRow = rowData.$row.filter( ':gt(
|
1347
|
+
childRow = rowData.$row.filter( ':gt(0)' );
|
1356
1348
|
if ( wo.filter_childRows && childRow.length ) {
|
1357
1349
|
if ( wo.filter_childByColumn ) {
|
1358
1350
|
if ( !wo.filter_childWithSibs ) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Widget: output - updated 10/
|
1
|
+
/*! Widget: output - updated 1/10/2016 (v2.25.1) *//*
|
2
2
|
* Requires tablesorter v2.8+ and jQuery 1.7+
|
3
3
|
* Modified from:
|
4
4
|
* HTML Table to CSV: http://www.kunalbabre.com/projects/table2CSV.php (License unknown?)
|
@@ -189,7 +189,14 @@
|
|
189
189
|
}
|
190
190
|
|
191
191
|
// callback; if true returned, continue processing
|
192
|
-
if ($.isFunction(wo.output_callback)
|
192
|
+
if ($.isFunction(wo.output_callback)) {
|
193
|
+
tmp = wo.output_callback(c, mydata);
|
194
|
+
if ( tmp === false ) {
|
195
|
+
return;
|
196
|
+
} else if ( typeof tmp === 'string' ) {
|
197
|
+
mydata = tmp;
|
198
|
+
}
|
199
|
+
}
|
193
200
|
|
194
201
|
if ( /p/i.test( wo.output_delivery || '' ) ) {
|
195
202
|
output.popup(mydata, wo.output_popupStyle, outputJSON || outputArray);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jquery-tablesorter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.20.
|
4
|
+
version: 1.20.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jun Lin
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
version: '3.2'
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
23
|
+
version: '6'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
version: '3.2'
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '6'
|
34
34
|
description: Simple integration of jquery-tablesorter (Mottie's fork) into the Rails
|
35
35
|
asset pipeline.
|
36
36
|
email:
|