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,11 +1,11 @@
|
|
1
|
-
/*! Widget: sort2Hash (BETA) - updated 11/
|
1
|
+
/*! Widget: sort2Hash (BETA) - updated 11/10/2015 (v2.24.4) */
|
2
2
|
/* Requires tablesorter v2.8+ and jQuery 1.7+
|
3
3
|
* by Rob Garrison
|
4
4
|
*/
|
5
5
|
;( function( $ ) {
|
6
6
|
'use strict';
|
7
7
|
var ts = $.tablesorter || {},
|
8
|
-
s2h = {
|
8
|
+
s2h = ts.sort2Hash = {
|
9
9
|
init : function( c, wo ) {
|
10
10
|
var filter, temp, page, size,
|
11
11
|
table = c.table,
|
@@ -17,7 +17,7 @@
|
|
17
17
|
}
|
18
18
|
if ( ts.hasWidget( c.table, 'pager' ) ) {
|
19
19
|
temp = parseInt( s2h.decodeHash( c, wo, 'page' ), 10 );
|
20
|
-
page = pager.page = ( temp < 0 ? 0 : ( temp > pager.totalPages ? pager.totalPages - 1 : temp ) )
|
20
|
+
page = pager.page = ( temp < 0 ? 0 : ( temp > pager.totalPages ? pager.totalPages - 1 : temp ) );
|
21
21
|
size = pager.size = parseInt( s2h.decodeHash( c, wo, 'size' ), 10 );
|
22
22
|
}
|
23
23
|
if ( ts.hasWidget( table, 'filter' ) ) {
|
@@ -33,9 +33,13 @@
|
|
33
33
|
}, 100 );
|
34
34
|
});
|
35
35
|
}
|
36
|
-
} else {
|
37
|
-
c.$table.trigger( 'pageAndSize', [ page, size ] );
|
38
36
|
}
|
37
|
+
if ( !filter ) {
|
38
|
+
c.$table.one( 'tablesorter-ready', function() {
|
39
|
+
c.$table.trigger( 'pageAndSize', [ page, size ] );
|
40
|
+
});
|
41
|
+
}
|
42
|
+
|
39
43
|
c.$table.on( 'sortEnd.sort2hash filterEnd.sort2hash pagerComplete.sort2Hash', function() {
|
40
44
|
if ( this.hasInitialized ) {
|
41
45
|
s2h.setHash( this.config, this.config.widgetOptions );
|
@@ -125,6 +129,33 @@
|
|
125
129
|
return sort.join( wo.sort2Hash_separator );
|
126
130
|
},
|
127
131
|
|
132
|
+
// Get URL Parameters (getParam)
|
133
|
+
// modified from http://www.netlobo.com/url_query_string_javascript.html
|
134
|
+
getParam : function ( name, hash, returnRegex ) {
|
135
|
+
if ( !hash ) { hash = window.location.hash; }
|
136
|
+
var regex = new RegExp( '[\\?&]' + s2h.regexEscape( name ) + '=([^&#]*)' ),
|
137
|
+
match = regex.exec( hash );
|
138
|
+
if ( returnRegex ) { return regex; }
|
139
|
+
return match === null ? '' : decodeURIComponent( match[ 1 ] );
|
140
|
+
},
|
141
|
+
|
142
|
+
// remove parameter from hash
|
143
|
+
removeParam : function( name, hash ) {
|
144
|
+
if ( !hash ) { hash = window.location.hash; }
|
145
|
+
var index,
|
146
|
+
regex = s2h.getParam( name, hash, true ),
|
147
|
+
result = [],
|
148
|
+
parts = hash.split( '&' ),
|
149
|
+
len = parts.length;
|
150
|
+
for ( index = 0; index < len; index++ ) {
|
151
|
+
// regex expects a leading '&'...
|
152
|
+
if ( !regex.test( '&' + parts[ index ] ) ) {
|
153
|
+
result.push( parts[ index ] );
|
154
|
+
}
|
155
|
+
}
|
156
|
+
return result.length ? result.join( '&' ) : '';
|
157
|
+
},
|
158
|
+
|
128
159
|
encodeHash : function( c, wo, component, value, rawValue ) {
|
129
160
|
var result = false,
|
130
161
|
tableId = s2h.getTableId( c, wo );
|
@@ -138,39 +169,30 @@
|
|
138
169
|
},
|
139
170
|
|
140
171
|
decodeHash : function( c, wo, component ) {
|
141
|
-
var
|
142
|
-
result = false,
|
172
|
+
var result = false,
|
143
173
|
tableId = s2h.getTableId( c, wo );
|
144
174
|
if ( typeof wo.sort2Hash_decodeHash === 'function' ) {
|
175
|
+
// return a string
|
145
176
|
result = wo.sort2Hash_decodeHash( c, tableId, component );
|
146
177
|
}
|
147
178
|
if ( result === false ) {
|
148
|
-
|
149
|
-
/*jshint -W030 */
|
150
|
-
result = regex.exec( window.location.hash );
|
179
|
+
result = s2h.getParam( component + '[' + tableId + ']' );
|
151
180
|
}
|
152
|
-
return result
|
181
|
+
return result || '';
|
153
182
|
},
|
154
183
|
|
155
184
|
cleanHash : function( c, wo, component, hash ) {
|
156
|
-
var
|
157
|
-
result = false,
|
185
|
+
var result = false,
|
158
186
|
tableId = s2h.getTableId( c, wo );
|
159
187
|
if ( typeof wo.sort2Hash_cleanHash === 'function' ) {
|
188
|
+
// can return an array or string
|
160
189
|
result = wo.sort2Hash_cleanHash( c, tableId, component, hash );
|
161
190
|
}
|
162
191
|
if ( result === false ) {
|
163
|
-
|
164
|
-
|
165
|
-
len = parts.length;
|
166
|
-
regex = new RegExp( component + '\\[' + s2h.regexEscape( tableId ) + '\\]=([^&]*)' );
|
167
|
-
for ( index = 0; index < len; index++ ) {
|
168
|
-
if ( !regex.test( parts[ index ] ) ) {
|
169
|
-
result.push( parts[ index ] );
|
170
|
-
}
|
171
|
-
}
|
192
|
+
// parameter example: 'sort[table0]=0,0'
|
193
|
+
result = s2h.removeParam( component + '[' + tableId + ']', hash );
|
172
194
|
}
|
173
|
-
return result
|
195
|
+
return result || '';
|
174
196
|
},
|
175
197
|
|
176
198
|
setHash : function( c, wo ) {
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/*! tablesorter enable/disable sort & filter (BETA) - 11/10/2015 (v2.24.4)
|
2
|
+
* Requires tablesorter v2.24.4+ & jQuery 1.7+
|
3
|
+
* by Rob Garrison
|
4
|
+
*/
|
5
|
+
;( function( $ ) {
|
6
|
+
'use strict';
|
7
|
+
var ts = $.tablesorter,
|
8
|
+
|
9
|
+
tst = ts.toggleTS = {
|
10
|
+
|
11
|
+
init : function( c, wo ) {
|
12
|
+
wo.toggleTS_isEnabled = true; // enabled
|
13
|
+
wo.toggleTS_areDisabled = {
|
14
|
+
headers : [],
|
15
|
+
filters : []
|
16
|
+
};
|
17
|
+
c.$table.on('enable.toggleTS disable.toggleTS', function( event ) {
|
18
|
+
tst.toggle( this.config, this.config.widgetOptions, event.type === 'enable' );
|
19
|
+
});
|
20
|
+
},
|
21
|
+
toggle : function( c, wo, isEnabled ) {
|
22
|
+
if ( wo.toggleTS_isEnabled !== isEnabled ) {
|
23
|
+
wo.toggleTS_isEnabled = isEnabled;
|
24
|
+
var indx, $el,
|
25
|
+
len = c.$headers.length;
|
26
|
+
|
27
|
+
// table headers
|
28
|
+
for ( indx = 0; indx < len; indx++ ) {
|
29
|
+
$el = c.$headers.eq( indx );
|
30
|
+
// function added in v2.24.4
|
31
|
+
ts.setColumnSort( c, $el, !isEnabled );
|
32
|
+
// function added in v2.24.4; passing "isEnabled" allows removal of "next sort" labels
|
33
|
+
ts.setColumnAriaLabel( c, $el, isEnabled );
|
34
|
+
}
|
35
|
+
if ( wo.toggleTS_hideFilterRow ) {
|
36
|
+
c.$table.find( '.' + ts.css.filterRow ).toggle( isEnabled );
|
37
|
+
} else if ( ts.hasWidget( c.$table, 'filter' ) ) {
|
38
|
+
// c.$filters points to filter CELL
|
39
|
+
len = c.$filters.length;
|
40
|
+
for ( indx = 0; indx < len; indx++ ) {
|
41
|
+
if ( isEnabled && !wo.toggleTS_areDisabled.filters[ indx ] ) {
|
42
|
+
c.$filters.eq( indx ).find( 'input, select' )
|
43
|
+
.removeClass( ts.css.filterDisabled )
|
44
|
+
.prop( 'disabled', false );
|
45
|
+
} else if ( !isEnabled ) {
|
46
|
+
$el = c.$filters.eq( indx ).find( 'input, select' );
|
47
|
+
if ( $el.hasClass( ts.css.filterDisabled ) ) {
|
48
|
+
wo.toggleTS_areDisabled.filters[ indx ] = true;
|
49
|
+
}
|
50
|
+
$el
|
51
|
+
.addClass( ts.css.filterDisabled )
|
52
|
+
.prop( 'disabled', true );
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
// include external filters
|
57
|
+
wo.filter_$externalFilters
|
58
|
+
.toggleClass( ts.css.filterDisabled, isEnabled )
|
59
|
+
.prop( 'disabled', !isEnabled );
|
60
|
+
}
|
61
|
+
if ( typeof wo.toggleTS_callback === 'function' ) {
|
62
|
+
wo.toggleTS_callback( c, isEnabled );
|
63
|
+
}
|
64
|
+
}
|
65
|
+
};
|
66
|
+
|
67
|
+
ts.addWidget({
|
68
|
+
id: 'toggle-ts',
|
69
|
+
options: {
|
70
|
+
toggleTS_hideFilterRow : false,
|
71
|
+
toggleTS_callback : null
|
72
|
+
},
|
73
|
+
init : function( table, thisWidget, c, wo ) {
|
74
|
+
tst.init( c, wo );
|
75
|
+
},
|
76
|
+
remove : function( table, c ) {
|
77
|
+
c.$table.off( 'enable.toggleTS disable.toggleTS' );
|
78
|
+
}
|
79
|
+
});
|
80
|
+
|
81
|
+
})( jQuery );
|
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.19.
|
4
|
+
version: 1.19.2
|
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: 2015-11-
|
12
|
+
date: 2015-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-staticRow.js
|
135
135
|
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-stickyHeaders.js
|
136
136
|
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-storage.js
|
137
|
+
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-toggle.js
|
137
138
|
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-uitheme.js
|
138
139
|
- vendor/assets/javascripts/jquery-tablesorter/widgets/widget-view.js
|
139
140
|
- vendor/assets/stylesheets/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.css
|