jquery-tablesorter 1.19.1 → 1.19.2
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/README.md +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +9 -5
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.combined.js +201 -168
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +59 -47
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +142 -121
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-file-type.js +24 -2
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +141 -120
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-grouping.js +2 -2
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-headerTitles.js +2 -2
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-math.js +6 -5
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-pager.js +8 -5
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-sort2Hash.js +45 -23
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-toggle.js +81 -0
- metadata +3 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! TableSorter (FORK) v2.24.
|
1
|
+
/*! TableSorter (FORK) v2.24.4 *//*
|
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.24.
|
24
|
+
version : '2.24.4',
|
25
25
|
|
26
26
|
parsers : [],
|
27
27
|
widgets : [],
|
@@ -139,12 +139,13 @@
|
|
139
139
|
|
140
140
|
// labels applied to sortable headers for accessibility (aria) support
|
141
141
|
language : {
|
142
|
-
sortAsc
|
143
|
-
sortDesc
|
144
|
-
sortNone
|
145
|
-
|
146
|
-
|
147
|
-
|
142
|
+
sortAsc : 'Ascending sort applied, ',
|
143
|
+
sortDesc : 'Descending sort applied, ',
|
144
|
+
sortNone : 'No sort applied, ',
|
145
|
+
sortDisabled : 'sorting is disabled',
|
146
|
+
nextAsc : 'activate to apply an ascending sort',
|
147
|
+
nextDesc : 'activate to apply a descending sort',
|
148
|
+
nextNone : 'activate to remove the sort'
|
148
149
|
},
|
149
150
|
|
150
151
|
regex : {
|
@@ -993,7 +994,7 @@
|
|
993
994
|
▀████▀ ██ █████▀ ██ ██ ██ ██████
|
994
995
|
*/
|
995
996
|
setHeadersCss : function( c ) {
|
996
|
-
var $sorted,
|
997
|
+
var $sorted, indx, column,
|
997
998
|
list = c.sortList,
|
998
999
|
len = list.length,
|
999
1000
|
none = ts.css.sortNone + ' ' + c.cssNone,
|
@@ -1061,50 +1062,62 @@
|
|
1061
1062
|
}
|
1062
1063
|
// add verbose aria labels
|
1063
1064
|
len = c.$headers.length;
|
1064
|
-
$headers = c.$headers.not( '.sorter-false' );
|
1065
1065
|
for ( indx = 0; indx < len; indx++ ) {
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1066
|
+
ts.setColumnAriaLabel( c, c.$headers.eq( indx ) );
|
1067
|
+
}
|
1068
|
+
},
|
1069
|
+
|
1070
|
+
// nextSort (optional), lets you disable next sort text
|
1071
|
+
setColumnAriaLabel : function( c, $header, nextSort ) {
|
1072
|
+
if ( $header.length ) {
|
1073
|
+
var column = parseInt( $header.attr( 'data-column' ), 10 ),
|
1071
1074
|
tmp = $header.hasClass( ts.css.sortAsc ) ?
|
1072
1075
|
'sortAsc' :
|
1073
|
-
$header.hasClass( ts.css.sortDesc ) ? 'sortDesc' : 'sortNone'
|
1074
|
-
txt = $.trim( $header.text() ) + ': ' +
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1076
|
+
$header.hasClass( ts.css.sortDesc ) ? 'sortDesc' : 'sortNone',
|
1077
|
+
txt = $.trim( $header.text() ) + ': ' + ts.language[ tmp ];
|
1078
|
+
if ( $header.hasClass( 'sorter-false' ) || nextSort === false ) {
|
1079
|
+
txt += ts.language.sortDisabled;
|
1080
|
+
} else {
|
1081
|
+
nextSort = c.sortVars[ column ].order[ ( c.sortVars[ column ].count + 1 ) % ( c.sortReset ? 3 : 2 ) ];
|
1082
|
+
// if nextSort
|
1083
|
+
txt += ts.language[ nextSort === 0 ? 'nextAsc' : nextSort === 1 ? 'nextDesc' : 'nextNone' ];
|
1078
1084
|
}
|
1085
|
+
$header.attr( 'aria-label', txt );
|
1079
1086
|
}
|
1080
1087
|
},
|
1081
1088
|
|
1082
1089
|
updateHeader : function( c ) {
|
1083
|
-
var index, isDisabled, $
|
1090
|
+
var index, isDisabled, $header, col,
|
1084
1091
|
table = c.table,
|
1085
1092
|
len = c.$headers.length;
|
1086
1093
|
for ( index = 0; index < len; index++ ) {
|
1087
|
-
$
|
1094
|
+
$header = c.$headers.eq( index );
|
1088
1095
|
col = ts.getColumnData( table, c.headers, index, true );
|
1089
1096
|
// add 'sorter-false' class if 'parser-false' is set
|
1090
|
-
isDisabled = ts.getData( $
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1097
|
+
isDisabled = ts.getData( $header, col, 'sorter' ) === 'false' || ts.getData( $header, col, 'parser' ) === 'false';
|
1098
|
+
ts.setColumnSort( c, $header, isDisabled );
|
1099
|
+
}
|
1100
|
+
},
|
1101
|
+
|
1102
|
+
setColumnSort : function( c, $header, isDisabled ) {
|
1103
|
+
var id = c.table.id;
|
1104
|
+
$header[ 0 ].sortDisabled = isDisabled;
|
1105
|
+
$header[ isDisabled ? 'addClass' : 'removeClass' ]( 'sorter-false' )
|
1106
|
+
.attr( 'aria-disabled', '' + isDisabled );
|
1107
|
+
// disable tab index on disabled cells
|
1108
|
+
if ( c.tabIndex ) {
|
1109
|
+
if ( isDisabled ) {
|
1110
|
+
$header.removeAttr( 'tabindex' );
|
1111
|
+
} else {
|
1112
|
+
$header.attr( 'tabindex', '0' );
|
1100
1113
|
}
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1114
|
+
}
|
1115
|
+
// aria-controls - requires table ID
|
1116
|
+
if ( id ) {
|
1117
|
+
if ( isDisabled ) {
|
1118
|
+
$header.removeAttr( 'aria-controls' );
|
1119
|
+
} else {
|
1120
|
+
$header.attr( 'aria-controls', id );
|
1108
1121
|
}
|
1109
1122
|
}
|
1110
1123
|
},
|
@@ -1402,13 +1415,12 @@
|
|
1402
1415
|
event[ c.sortResetKey ] ? 2 : ( c.sortVars[ col ].count + 1 ) % ( c.sortReset ? 3 : 2 );
|
1403
1416
|
// reset all sorts on non-current column - issue #30
|
1404
1417
|
if ( c.sortRestart ) {
|
1405
|
-
tmp = cell;
|
1406
1418
|
for ( headerIndx = 0; headerIndx < len; headerIndx++ ) {
|
1407
1419
|
$header = c.$headers.eq( headerIndx );
|
1420
|
+
tmp = parseInt( $header.attr( 'data-column' ), 10 );
|
1408
1421
|
// only reset counts on columns that weren't just clicked on and if not included in a multisort
|
1409
|
-
if ( $header
|
1410
|
-
|
1411
|
-
c.sortVars[ $header.attr( 'data-column' ) ].count = -1;
|
1422
|
+
if ( col !== tmp && ( notMultiSort || $header.hasClass( ts.css.sortNone ) ) ) {
|
1423
|
+
c.sortVars[ tmp ].count = -1;
|
1412
1424
|
}
|
1413
1425
|
}
|
1414
1426
|
}
|
@@ -2167,14 +2179,14 @@
|
|
2167
2179
|
|
2168
2180
|
// *** Process table ***
|
2169
2181
|
// add processing indicator
|
2170
|
-
isProcessing : function( $table, toggle, $
|
2182
|
+
isProcessing : function( $table, toggle, $headers ) {
|
2171
2183
|
$table = $( $table );
|
2172
2184
|
var c = $table[ 0 ].config,
|
2173
2185
|
// default to all headers
|
2174
|
-
$header = $
|
2186
|
+
$header = $headers || $table.find( '.' + ts.css.header );
|
2175
2187
|
if ( toggle ) {
|
2176
|
-
// don't use sortList if custom $
|
2177
|
-
if ( typeof $
|
2188
|
+
// don't use sortList if custom $headers used
|
2189
|
+
if ( typeof $headers !== 'undefined' && c.sortList.length > 0 ) {
|
2178
2190
|
// get headers from the sortList
|
2179
2191
|
$header = $header.filter( function() {
|
2180
2192
|
// get data-column from attr to keep compatibility with jQuery 1.2.6
|