jquery-tablesorter 1.10.1 → 1.10.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.markdown +1 -1
- data/lib/jquery-tablesorter/version.rb +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/addons/pager/jquery.tablesorter.pager.js +7 -6
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +16 -3
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +23 -18
- 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: 3396def36d6cc6f842581564ce732beb60b74b0b
|
4
|
+
data.tar.gz: 358c05de2c83d9c84884ed4d6fc94da9711effc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d9ad4211f5b1c5b8b354fdb9c032ad84434295188faf3f80003cc7fae6e4bdd4dda41aac038d068c3a8c8c04e816338b5f1d32d032208a03d170619e1f65687
|
7
|
+
data.tar.gz: 6fa02f3d32fca3186c8122b5dbed1c2e4ff0a6e3e4340d6d19a913acac08f8b1bede9618f788706f13417d8c97613d62c20a12886f03319ca3b14a0f59ae3541
|
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.15.
|
7
|
+
Current tablesorter version: 2.15.4 (2/22/2014), [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 2/
|
3
|
+
* updated 2/22/2014 (v2.15.4)
|
4
4
|
*/
|
5
5
|
/*jshint browser:true, jquery:true, unused:false */
|
6
6
|
;(function($) {
|
@@ -336,18 +336,19 @@
|
|
336
336
|
p.last.sortList = (c.sortList || []).join(',');
|
337
337
|
updatePageDisplay(table, p);
|
338
338
|
fixHeight(table, p);
|
339
|
-
|
340
|
-
$t.trigger('applyWidgets');
|
341
|
-
$t.trigger('updateRows', [false, function(){
|
339
|
+
$t.trigger('updateCache', [function(){
|
342
340
|
if (p.initialized) {
|
343
|
-
|
341
|
+
// apply widgets after table has rendered
|
342
|
+
$t.trigger('applyWidgets');
|
344
343
|
$t.trigger('pagerChange', p);
|
345
344
|
}
|
346
345
|
}]);
|
347
346
|
}
|
348
347
|
if (!p.initialized) {
|
349
348
|
p.initialized = true;
|
350
|
-
$(table)
|
349
|
+
$(table)
|
350
|
+
.trigger('applyWidgets')
|
351
|
+
.trigger('pagerInitialized', p);
|
351
352
|
}
|
352
353
|
},
|
353
354
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**!
|
2
|
-
* TableSorter 2.15.
|
2
|
+
* TableSorter 2.15.4 - 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.15.
|
27
|
+
ts.version = "2.15.4";
|
28
28
|
|
29
29
|
ts.parsers = [];
|
30
30
|
ts.widgets = [];
|
@@ -777,7 +777,7 @@
|
|
777
777
|
$table = c.$table;
|
778
778
|
// apply easy methods that trigger bound events
|
779
779
|
$table
|
780
|
-
.unbind('sortReset update updateRows updateCell updateAll addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave '.split(' ').join('.tablesorter '))
|
780
|
+
.unbind('sortReset update updateRows updateCell updateAll addRows sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave '.split(' ').join('.tablesorter '))
|
781
781
|
.bind("sortReset.tablesorter", function(e){
|
782
782
|
e.stopPropagation();
|
783
783
|
c.sortList = [];
|
@@ -878,6 +878,17 @@
|
|
878
878
|
callback(table);
|
879
879
|
}
|
880
880
|
})
|
881
|
+
.bind("updateCache.tablesorter", function(e, callback){
|
882
|
+
// rebuild parsers
|
883
|
+
if (!c.parsers) {
|
884
|
+
buildParserCache(table);
|
885
|
+
}
|
886
|
+
// rebuild the cache map
|
887
|
+
buildCache(table);
|
888
|
+
if (typeof callback === "function") {
|
889
|
+
callback(table);
|
890
|
+
}
|
891
|
+
})
|
881
892
|
.bind("applyWidgetId.tablesorter", function(e, id) {
|
882
893
|
e.stopPropagation();
|
883
894
|
ts.getWidgetById(id).format(table, c, c.widgetOptions);
|
@@ -1076,6 +1087,8 @@
|
|
1076
1087
|
if (c.delayInit && isEmptyObject(c.cache)) { buildCache(table); }
|
1077
1088
|
// jQuery v1.2.6 doesn't have closest()
|
1078
1089
|
cell = /TH|TD/.test(this.tagName) ? this : $(this).parents('th, td')[0];
|
1090
|
+
// reference original table headers and find the same cell
|
1091
|
+
cell = c.$headers[ $headers.index( cell ) ];
|
1079
1092
|
if (!cell.sortDisabled) {
|
1080
1093
|
initSort(table, cell, e);
|
1081
1094
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! tableSorter 2.8+ widgets - updated 2/
|
1
|
+
/*! tableSorter 2.8+ widgets - updated 2/21/2014 (v2.15.3)
|
2
2
|
*
|
3
3
|
* Column Styles
|
4
4
|
* Column Filters
|
@@ -571,11 +571,11 @@ ts.filter = {
|
|
571
571
|
} else {
|
572
572
|
// send false argument to force a new search; otherwise if the filter hasn't changed, it will return
|
573
573
|
filter = event.type === 'search' ? filter : event.type === 'updateComplete' ? c.$table.data('lastSearch') : '';
|
574
|
-
if (/(update|add)/.test(event.type)) {
|
574
|
+
if (/(update|add)/.test(event.type) && event.type !== "updateComplete") {
|
575
575
|
// force a new search since content has changed
|
576
576
|
c.lastCombinedFilter = null;
|
577
577
|
}
|
578
|
-
// pass true (
|
578
|
+
// pass true (skipFirst) to prevent the tablesorter.setFilters function from skipping the first input
|
579
579
|
// ensures all inputs are updated when a search is triggered on the table $('table').trigger('search', [...]);
|
580
580
|
ts.filter.searching(table, filter, true);
|
581
581
|
}
|
@@ -758,22 +758,22 @@ ts.filter = {
|
|
758
758
|
( event.which >= 37 && event.which <= 40 ) || (event.which !== 13 && wo.filter_liveSearch === false) ) ) ) {
|
759
759
|
return;
|
760
760
|
}
|
761
|
-
// true flag
|
762
|
-
ts.filter.searching( table,
|
761
|
+
// true flag tells getFilters to skip newest timed input
|
762
|
+
ts.filter.searching( table, '', true );
|
763
763
|
});
|
764
764
|
c.$table.bind('filterReset', function(){
|
765
765
|
$el.val('');
|
766
766
|
});
|
767
767
|
},
|
768
|
-
checkFilters: function(table, filter,
|
768
|
+
checkFilters: function(table, filter, skipFirst) {
|
769
769
|
var c = table.config,
|
770
770
|
wo = c.widgetOptions,
|
771
771
|
filterArray = $.isArray(filter),
|
772
|
-
filters = (filterArray) ? filter : ts.getFilters(table),
|
772
|
+
filters = (filterArray) ? filter : ts.getFilters(table, true),
|
773
773
|
combinedFilters = (filters || []).join(''); // combined filter values
|
774
774
|
// add filter array back into inputs
|
775
775
|
if (filterArray) {
|
776
|
-
ts.setFilters( table, filters, false,
|
776
|
+
ts.setFilters( table, filters, false, skipFirst !== true );
|
777
777
|
}
|
778
778
|
if (wo.filter_hideFilters) {
|
779
779
|
// show/hide filter row as needed
|
@@ -817,7 +817,7 @@ ts.filter = {
|
|
817
817
|
// $(':focus') needs jQuery 1.6+
|
818
818
|
if ( $(document.activeElement).closest('tr')[0] !== $filterRow[0] ) {
|
819
819
|
// don't hide row if any filter has a value
|
820
|
-
if (
|
820
|
+
if (c.lastCombinedFilter === '') {
|
821
821
|
$filterRow.addClass('hideme');
|
822
822
|
}
|
823
823
|
}
|
@@ -850,7 +850,7 @@ ts.filter = {
|
|
850
850
|
anyMatchNotAllowedTypes = [ 'range', 'notMatch', 'operators' ],
|
851
851
|
// parse columns after formatter, in case the class is added at that point
|
852
852
|
parsed = c.$headers.map(function(columnIndex) {
|
853
|
-
return c.parsers && c.parsers[columnIndex].parsed || ( ts.getData ?
|
853
|
+
return c.parsers && c.parsers[columnIndex] && c.parsers[columnIndex].parsed || ( ts.getData ?
|
854
854
|
ts.getData(c.$headers.filter('[data-column="' + columnIndex + '"]:last'), c.headers[columnIndex], 'filter') === 'parsed' :
|
855
855
|
$(this).hasClass('filter-parsed') );
|
856
856
|
}).get();
|
@@ -1011,7 +1011,7 @@ ts.filter = {
|
|
1011
1011
|
},
|
1012
1012
|
buildSelect: function(table, column, updating, onlyavail) {
|
1013
1013
|
column = parseInt(column, 10);
|
1014
|
-
var indx, rowIndex, tbodyIndex, len, currentValue, txt,
|
1014
|
+
var indx, rowIndex, tbodyIndex, len, currentValue, txt, $filters,
|
1015
1015
|
c = table.config,
|
1016
1016
|
wo = c.widgetOptions,
|
1017
1017
|
$tbodies = c.$tbodies,
|
@@ -1054,7 +1054,12 @@ ts.filter = {
|
|
1054
1054
|
options += arry[indx] !== '' ? '<option value="' + txt + '"' + (currentValue === txt ? ' selected="selected"' : '') +
|
1055
1055
|
'>' + arry[indx] + '</option>' : '';
|
1056
1056
|
}
|
1057
|
-
|
1057
|
+
// update all selects in the same column (clone thead in sticky headers & any external selects) - fixes 473
|
1058
|
+
$filters = ( c.$filters ? c.$filters : c.$table.children('thead') ).find('.' + ts.css.filter);
|
1059
|
+
if (wo.filter_$externalFilters) {
|
1060
|
+
$filters = $filters && $filters.length ? $filters.add(wo.filter_$externalFilters) : wo.filter_$externalFilters;
|
1061
|
+
}
|
1062
|
+
$filters.filter('select[data-column="' + column + '"]')[ updating ? 'html' : 'append' ](options);
|
1058
1063
|
},
|
1059
1064
|
buildDefault: function(table, updating) {
|
1060
1065
|
var columnIndex, $header,
|
@@ -1073,17 +1078,17 @@ ts.filter = {
|
|
1073
1078
|
}
|
1074
1079
|
}
|
1075
1080
|
},
|
1076
|
-
searching: function(table, filter,
|
1081
|
+
searching: function(table, filter, skipFirst) {
|
1077
1082
|
if (typeof filter === 'undefined' || filter === true) {
|
1078
1083
|
var wo = table.config.widgetOptions;
|
1079
1084
|
// delay filtering
|
1080
1085
|
clearTimeout(wo.searchTimer);
|
1081
1086
|
wo.searchTimer = setTimeout(function() {
|
1082
|
-
ts.filter.checkFilters(table, filter,
|
1087
|
+
ts.filter.checkFilters(table, filter, skipFirst );
|
1083
1088
|
}, wo.filter_liveSearch ? wo.filter_searchDelay : 10);
|
1084
1089
|
} else {
|
1085
1090
|
// skip delay
|
1086
|
-
ts.filter.checkFilters(table, filter,
|
1091
|
+
ts.filter.checkFilters(table, filter, skipFirst);
|
1087
1092
|
}
|
1088
1093
|
}
|
1089
1094
|
};
|
@@ -1110,7 +1115,7 @@ ts.getFilters = function(table, getRaw, setFilters, skipFirst) {
|
|
1110
1115
|
if ($column.length) {
|
1111
1116
|
// move the latest search to the first slot in the array
|
1112
1117
|
$column = $column.sort(function(a, b){
|
1113
|
-
return $(
|
1118
|
+
return $(b).attr('data-lastSearchTime') - $(a).attr('data-lastSearchTime');
|
1114
1119
|
});
|
1115
1120
|
if ($.isArray(setFilters)) {
|
1116
1121
|
// skip first (latest input) to maintain cursor position while typing
|
@@ -1224,8 +1229,8 @@ ts.addWidget({
|
|
1224
1229
|
// fix clone ID, if it exists - fixes #271
|
1225
1230
|
if ($stickyTable.attr('id')) { $stickyTable[0].id += wo.stickyHeaders_cloneId; }
|
1226
1231
|
// clear out cloned table, except for sticky header
|
1227
|
-
// include caption & filter row (fixes #126 & #249)
|
1228
|
-
$stickyTable.find('thead:gt(0), tr.sticky-false, tbody, tfoot').
|
1232
|
+
// include caption & filter row (fixes #126 & #249) - don't remove cells to get correct cell indexing
|
1233
|
+
$stickyTable.find('thead:gt(0), tr.sticky-false, tbody, tfoot').hide();
|
1229
1234
|
if (!wo.stickyHeaders_includeCaption) {
|
1230
1235
|
$stickyTable.find('caption').remove();
|
1231
1236
|
} else {
|
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.10.
|
4
|
+
version: 1.10.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: 2014-02-
|
12
|
+
date: 2014-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|