jquery-tablesorter 1.7.0 → 1.8.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.
- checksums.yaml +4 -4
- data/README.markdown +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +11 -5
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +5 -6
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets-filter-formatter.js +4 -4
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +23 -20
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acfcfbdcbf520532b495a3aa784033d4ec287a30
|
4
|
+
data.tar.gz: 002c5105872cb05cf0d4f7d2f78d027fc8fc7864
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 171363daa41553a03cbca64f9c58bac9810d9c3b4f87509eda0713bee18bc0989ee2beca7b29247987085c379ccd97735382dd3f54f03ed4ffaf9f8df1938815
|
7
|
+
data.tar.gz: 5c0a43f4f40e32e946ed3e500d9f7012ffffe50803fb6a880a51d4648672435cd5fcde8e3d5abb33abb57cf511d60acac63766db00f678f63015223266f79ed6
|
data/README.markdown
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.
|
7
|
+
Current tablesorter version: 2.13.2 (11/2/2013), [documentation]
|
8
8
|
|
9
9
|
Any issue associate with the js/css files, please report to [Mottie's fork].
|
10
10
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*!
|
2
2
|
* tablesorter pager plugin
|
3
|
-
* updated 10/
|
3
|
+
* updated 10/30/2013
|
4
4
|
*/
|
5
5
|
/*jshint browser:true, jquery:true, unused:false */
|
6
6
|
;(function($) {
|
@@ -65,6 +65,11 @@
|
|
65
65
|
// table row set to a height to compensate; default is false
|
66
66
|
fixedHeight: false,
|
67
67
|
|
68
|
+
// count child rows towards the set page size? (set true if it is a visible table row within the pager)
|
69
|
+
// if true, child row(s) may not appear to be attached to its parent row, may be split across pages or
|
70
|
+
// may distort the table if rowspan or cellspans are included.
|
71
|
+
countChildRows: false,
|
72
|
+
|
68
73
|
// remove rows from the table to speed up the sort of large tables.
|
69
74
|
// setting this to false, only hides the non-visible rows; needed if you plan to add/remove rows with the pager enabled.
|
70
75
|
removeRows: false, // removing rows in larger tables speeds up the sort
|
@@ -199,7 +204,7 @@
|
|
199
204
|
if ( !rows[i].className.match(f) ) {
|
200
205
|
rows[i].style.display = ( j >= s && j < e ) ? '' : 'none';
|
201
206
|
// don't count child rows
|
202
|
-
j += rows[i].className.match(c.cssChildRow + '|' + c.selectorRemove.slice(1)) ? 0 : 1;
|
207
|
+
j += rows[i].className.match(c.cssChildRow + '|' + c.selectorRemove.slice(1)) && !p.countChildRows ? 0 : 1;
|
203
208
|
}
|
204
209
|
}
|
205
210
|
}
|
@@ -524,10 +529,11 @@
|
|
524
529
|
};
|
525
530
|
|
526
531
|
$this.appender = function(table, rows) {
|
527
|
-
var
|
532
|
+
var c = table.config,
|
533
|
+
p = c.pager;
|
528
534
|
if ( !p.ajax ) {
|
529
|
-
|
530
|
-
p.totalRows = rows.length;
|
535
|
+
c.rowsCopy = rows;
|
536
|
+
p.totalRows = p.countChildRows ? c.$tbodies.eq(0).children().length : rows.length;
|
531
537
|
p.size = $.data(table, 'pagerLastSize') || p.size;
|
532
538
|
p.totalPages = Math.ceil( p.totalRows / ( p.size || 10 ) );
|
533
539
|
renderTable(table, rows, p);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**!
|
2
|
-
* TableSorter 2.
|
2
|
+
* TableSorter 2.13.2 - Client-side table sorting with ease!
|
3
3
|
* @requires jQuery v1.2.6+
|
4
4
|
*
|
5
5
|
* Copyright (c) 2007 Christian Bach
|
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
var ts = this;
|
26
26
|
|
27
|
-
ts.version = "2.
|
27
|
+
ts.version = "2.13.2";
|
28
28
|
|
29
29
|
ts.parsers = [];
|
30
30
|
ts.widgets = [];
|
@@ -1066,11 +1066,10 @@
|
|
1066
1066
|
if (a === b) { return 0; }
|
1067
1067
|
var xN, xD, yN, yD, xF, yF, i, mx,
|
1068
1068
|
r = ts.regex;
|
1069
|
-
// numeric or hex detection
|
1070
|
-
yD = parseInt(b.match(r.hex), 16);
|
1071
1069
|
// first try and sort Hex codes
|
1072
|
-
if (
|
1070
|
+
if (r.hex.test(b)) {
|
1073
1071
|
xD = parseInt(a.match(r.hex), 16);
|
1072
|
+
yD = parseInt(b.match(r.hex), 16);
|
1074
1073
|
if ( xD < yD ) { return -1; }
|
1075
1074
|
if ( xD > yD ) { return 1; }
|
1076
1075
|
}
|
@@ -1317,7 +1316,7 @@
|
|
1317
1316
|
}
|
1318
1317
|
if(/^\s*\([.\d]+\)/.test(s)) {
|
1319
1318
|
// make (#) into a negative number -> (10) = -10
|
1320
|
-
s = s.replace(/^\s*\(
|
1319
|
+
s = s.replace(/^\s*\(([.\d]+)\)/, '-$1');
|
1321
1320
|
}
|
1322
1321
|
i = parseFloat(s);
|
1323
1322
|
// return the text instead of zero
|
data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets-filter-formatter.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Filter widget formatter functions - updated 10/
|
1
|
+
/*! Filter widget formatter functions - updated 10/30/2013
|
2
2
|
* requires: tableSorter 2.7.7+ and jQuery 1.4.3+
|
3
3
|
*
|
4
4
|
* uiSpinner (jQuery UI spinner)
|
@@ -519,7 +519,7 @@ $.tablesorter.filterFormatter = {
|
|
519
519
|
var localfrom = o.defaultDate = o.from || o.defaultDate;
|
520
520
|
|
521
521
|
closeFrom = o.onClose = function( selectedDate, ui ) {
|
522
|
-
var from = new Date(
|
522
|
+
var from = new Date( $cell.find('.dateFrom').datepicker('getDate') ).getTime() || '',
|
523
523
|
to = new Date( $cell.find('.dateTo').datepicker('getDate') ).getTime() || '',
|
524
524
|
range = from ? ( to ? from + ' - ' + to : '>=' + from ) : (to ? '<=' + to : '');
|
525
525
|
$cell
|
@@ -542,7 +542,7 @@ $.tablesorter.filterFormatter = {
|
|
542
542
|
o.defaultDate = o.to || '+7d'; // set to date +7 days from today (if not defined)
|
543
543
|
closeTo = o.onClose = function( selectedDate, ui ) {
|
544
544
|
var from = new Date( $cell.find('.dateFrom').datepicker('getDate') ).getTime() || '',
|
545
|
-
to = new Date(
|
545
|
+
to = new Date( $cell.find('.dateTo').datepicker('getDate') ).getTime() || '',
|
546
546
|
range = from ? ( to ? from + ' - ' + to : '>=' + from ) : (to ? '<=' + to : '');
|
547
547
|
$cell
|
548
548
|
.find('.dateRange').val(range)
|
@@ -608,7 +608,7 @@ $.tablesorter.filterFormatter = {
|
|
608
608
|
$number = $('<input type="number" style="visibility:hidden;" value="test">').appendTo($cell),
|
609
609
|
// test if HTML5 number is supported - from Modernizr
|
610
610
|
numberSupported = o.skipTest || $number.attr('type') === 'number' && $number.val() !== 'test',
|
611
|
-
|
611
|
+
l, $shcell = [],
|
612
612
|
c = $cell.closest('table')[0].config,
|
613
613
|
|
614
614
|
updateCompare = function(v) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! tableSorter 2.8+ widgets - updated
|
1
|
+
/*! tableSorter 2.8+ widgets - updated 11/2/2013
|
2
2
|
*
|
3
3
|
* Column Styles
|
4
4
|
* Column Filters
|
@@ -123,7 +123,7 @@ ts.addHeaderResizeEvent = function(table, disable, options){
|
|
123
123
|
wo.resize_flag = true;
|
124
124
|
headers = [];
|
125
125
|
c.$headers.each(function(){
|
126
|
-
var d = $.data(this, 'savedSizes'),
|
126
|
+
var d = $.data(this, 'savedSizes') || [0,0], // fixes #394
|
127
127
|
w = this.offsetWidth,
|
128
128
|
h = this.offsetHeight;
|
129
129
|
if (w !== d[0] || h !== d[1]) {
|
@@ -134,14 +134,14 @@ ts.addHeaderResizeEvent = function(table, disable, options){
|
|
134
134
|
if (headers.length) { c.$table.trigger('resize', [ headers ]); }
|
135
135
|
wo.resize_flag = false;
|
136
136
|
};
|
137
|
+
c.$headers.each(function(){
|
138
|
+
$.data(this, 'savedSizes', [ this.offsetWidth, this.offsetHeight ]);
|
139
|
+
});
|
137
140
|
clearInterval(wo.resize_timer);
|
138
141
|
if (disable) {
|
139
142
|
wo.resize_flag = false;
|
140
143
|
return false;
|
141
144
|
}
|
142
|
-
c.$headers.each(function(){
|
143
|
-
$.data(this, 'savedSizes', [ this.offsetWidth, this.offsetHeight ]);
|
144
|
-
});
|
145
145
|
wo.resize_timer = setInterval(function(){
|
146
146
|
if (wo.resize_flag) { return; }
|
147
147
|
checkSizes();
|
@@ -399,7 +399,7 @@ ts.addWidget({
|
|
399
399
|
}
|
400
400
|
},
|
401
401
|
findRows = function(filter, v, cv){
|
402
|
-
var $tb, $tr, $td, cr, r, l, ff, time, r1, r2, searchFiltered;
|
402
|
+
var $tb, $tr, $td, cr, r, l, ff, fr, time, r1, r2, searchFiltered;
|
403
403
|
if (c.debug) { time = new Date(); }
|
404
404
|
for (k = 0; k < b.length; k++ ){
|
405
405
|
if (b.eq(k).hasClass(ts.css.info)) { continue; } // ignore info blocks, issue #264
|
@@ -477,11 +477,11 @@ ts.addWidget({
|
|
477
477
|
ff = val === '' ? true : !(wo.filter_startsWith ? s === 0 : s >= 0);
|
478
478
|
// Look for operators >, >=, < or <=
|
479
479
|
} else if (/^[<>]=?/.test(val)){
|
480
|
-
s = fmt(val.replace(wo.filter_regex.nondigit, '').replace(wo.filter_regex.operators,''), table);
|
480
|
+
s = fr = fmt(val.replace(wo.filter_regex.nondigit, '').replace(wo.filter_regex.operators,''), table);
|
481
481
|
// parse filter value in case we're comparing numbers (dates)
|
482
482
|
if (parsed[i] || c.parsers[i].type === 'numeric') {
|
483
483
|
rg = c.parsers[i].format('' + val.replace(wo.filter_regex.operators,''), table, $ths.eq(i), i);
|
484
|
-
s = (rg !== '' && !isNaN(rg)) ? rg : s;
|
484
|
+
s = (isNaN(s) && rg !== '' && !isNaN(rg)) ? rg : s;
|
485
485
|
}
|
486
486
|
// xi may be numeric - see issue #149;
|
487
487
|
// check if c.cache[k].normalized[j] is defined, because sometimes j goes out of range? (numeric columns)
|
@@ -489,7 +489,7 @@ ts.addWidget({
|
|
489
489
|
isNaN(xi) ? fmt(xi.replace(wo.filter_regex.nondigit, ''), table) : fmt(xi, table);
|
490
490
|
if (/>/.test(val)) { ff = />=/.test(val) ? rg >= s : rg > s; }
|
491
491
|
if (/</.test(val)) { ff = /<=/.test(val) ? rg <= s : rg < s; }
|
492
|
-
if (
|
492
|
+
if (!ff && fr === '') { ff = true; } // keep showing all rows if nothing follows the operator
|
493
493
|
// Look for an AND or && operator (logical and)
|
494
494
|
} else if (/\s+(AND|&&)\s+/g.test(v[i])) {
|
495
495
|
s = val.split(/(?:\s+(?:and|&&)\s+)/g);
|
@@ -533,7 +533,12 @@ ts.addWidget({
|
|
533
533
|
}
|
534
534
|
$tr[j].style.display = (r ? '' : 'none');
|
535
535
|
$tr.eq(j)[r ? 'removeClass' : 'addClass'](wo.filter_filteredRow);
|
536
|
-
if (cr.length) {
|
536
|
+
if (cr.length) {
|
537
|
+
if (c.pager && c.pager.countChildRows || wo.pager_countChildRows) {
|
538
|
+
cr[r ? 'removeClass' : 'addClass'](wo.filter_filteredRow); // see issue #396
|
539
|
+
}
|
540
|
+
cr[r ? 'show' : 'hide']();
|
541
|
+
}
|
537
542
|
}
|
538
543
|
}
|
539
544
|
ts.processTbody(table, $tb, false);
|
@@ -754,9 +759,7 @@ ts.addWidget({
|
|
754
759
|
// $(':focus') needs jQuery 1.6+
|
755
760
|
if ($(document.activeElement).closest('tr')[0] !== ft[0]){
|
756
761
|
// get all filter values
|
757
|
-
all =
|
758
|
-
return $(this).val() || '';
|
759
|
-
}).get().join('');
|
762
|
+
all = ts.getFilters(table).join('');
|
760
763
|
// don't hide row if any filter has a value
|
761
764
|
if (all === ''){
|
762
765
|
ft.addClass('hideme');
|
@@ -770,7 +773,7 @@ ts.addWidget({
|
|
770
773
|
clearTimeout(st);
|
771
774
|
st = setTimeout(function(){
|
772
775
|
// don't hide row if any filter has a value
|
773
|
-
if (
|
776
|
+
if (ts.getFilters(table).join('') === ''){
|
774
777
|
ft2[ e.type === 'focus' ? 'removeClass' : 'addClass']('hideme');
|
775
778
|
}
|
776
779
|
}, 200);
|
@@ -820,22 +823,22 @@ ts.addWidget({
|
|
820
823
|
$tb.children().removeClass(wo.filter_filteredRow).show();
|
821
824
|
ts.processTbody(table, $tb, false); // restore tbody
|
822
825
|
}
|
823
|
-
if (wo.
|
826
|
+
if (wo.filter_reset) { $(document).undelegate(wo.filter_reset, 'click.tsfilter'); }
|
824
827
|
}
|
825
828
|
});
|
826
829
|
ts.getFilters = function(table) {
|
827
830
|
var c = table ? $(table)[0].config : {};
|
828
831
|
if (c && c.widgetOptions && !c.widgetOptions.filter_columnFilters) { return $(table).data('lastSearch'); }
|
829
|
-
return c && c.$filters ? c.$filters.
|
830
|
-
return $(el).val();
|
832
|
+
return c && c.$filters ? c.$filters.map(function(i, el) {
|
833
|
+
return $(el).find('.tablesorter-filter').val() || '';
|
831
834
|
}).get() || [] : false;
|
832
835
|
};
|
833
836
|
ts.setFilters = function(table, filter, apply) {
|
834
837
|
var $t = $(table),
|
835
838
|
c = $t.length ? $t[0].config : {},
|
836
|
-
valid = c && c.$filters ? c.$filters.
|
837
|
-
$(el).val(filter[i] || '');
|
838
|
-
})
|
839
|
+
valid = c && c.$filters ? c.$filters.each(function(i, el) {
|
840
|
+
$(el).find('.tablesorter-filter').val(filter[i] || '');
|
841
|
+
}) || false : false;
|
839
842
|
if (apply) { $t.trigger('search', [filter, false]); }
|
840
843
|
return !!valid;
|
841
844
|
};
|
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.
|
4
|
+
version: 1.8.0
|
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: 2013-
|
12
|
+
date: 2013-11-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|