jquery-tablesorter 1.19.1 → 1.19.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|