jquery-tablesorter 1.21.0 → 1.21.1
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/jquery.tablesorter.combined.js +19 -20
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +6 -6
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +13 -14
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-filter.js +8 -10
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-grouping.js +4 -3
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-math.js +13 -2
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-resizable.js +4 -3
- 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: cb2ba06f45b4d250693949a5d773166da7c07ea9
|
4
|
+
data.tar.gz: 6a0fb6f57c8cc04560b509c54440ea34ea1017b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 796f72bd34bd69508cf330100a603745e37d5878c374e08e1028ec99670cafd5124052ef899e1d7327e0f95d25246d47b0cfa5b7453b8ed6306359f7181b7b4e
|
7
|
+
data.tar.gz: 6d9bf1b74b466881db498b59697b15bff8e0463a90d05ab8c2c7d8b911cc4688febbf407fecf09f4bf758b66a7e3b9a1d45ffbf15df7315afd5b7b4100aa8347
|
data/README.md
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.26.
|
7
|
+
Current tablesorter version: 2.26.1 (5/16/2016), [documentation]
|
8
8
|
|
9
9
|
Any issue associated with the js/css files, please report to [Mottie's fork].
|
10
10
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated 05-
|
7
|
+
/*! tablesorter (FORK) - updated 05-16-2016 (v2.26.1)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -16,7 +16,7 @@
|
|
16
16
|
}
|
17
17
|
}(function($) {
|
18
18
|
|
19
|
-
/*! TableSorter (FORK) v2.26.
|
19
|
+
/*! TableSorter (FORK) v2.26.1 *//*
|
20
20
|
* Client-side table sorting with ease!
|
21
21
|
* @requires jQuery v1.2.6+
|
22
22
|
*
|
@@ -39,7 +39,7 @@
|
|
39
39
|
'use strict';
|
40
40
|
var ts = $.tablesorter = {
|
41
41
|
|
42
|
-
version : '2.26.
|
42
|
+
version : '2.26.1',
|
43
43
|
|
44
44
|
parsers : [],
|
45
45
|
widgets : [],
|
@@ -87,12 +87,12 @@
|
|
87
87
|
numberSorter : null, // choose overall numeric sorter function( a, b, direction, maxColumnValue )
|
88
88
|
|
89
89
|
// *** widget options
|
90
|
-
|
90
|
+
initWidgets : true, // apply widgets on tablesorter initialization
|
91
|
+
widgetClass : 'widget-{name}', // table class name template to match to include a widget
|
92
|
+
widgets : [], // method to add widgets, e.g. widgets: ['zebra']
|
91
93
|
widgetOptions : {
|
92
94
|
zebra : [ 'even', 'odd' ] // zebra widget alternating row class names
|
93
95
|
},
|
94
|
-
initWidgets : true, // apply widgets on tablesorter initialization
|
95
|
-
widgetClass : 'widget-{name}', // table class name template to match to include a widget
|
96
96
|
|
97
97
|
// *** callbacks
|
98
98
|
initialized : null, // function( table ){},
|
@@ -106,7 +106,7 @@
|
|
106
106
|
cssHeaderRow : '',
|
107
107
|
cssProcessing : '', // processing icon applied to header during sort/filter
|
108
108
|
|
109
|
-
cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to
|
109
|
+
cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to its parent
|
110
110
|
cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!)
|
111
111
|
cssNoSort : 'tablesorter-noSort', // class name added to element inside header; clicking on it won't cause a sort
|
112
112
|
cssIgnoreRow : 'tablesorter-ignoreRow', // header row to ignore; cells within this row will not be added to c.$headers
|
@@ -3134,13 +3134,14 @@
|
|
3134
3134
|
id: 'filter',
|
3135
3135
|
priority: 50,
|
3136
3136
|
options : {
|
3137
|
+
filter_cellFilter : '', // css class name added to the filter cell ( string or array )
|
3137
3138
|
filter_childRows : false, // if true, filter includes child row content in the search
|
3138
3139
|
filter_childByColumn : false, // ( filter_childRows must be true ) if true = search child rows by column; false = search all child row text grouped
|
3139
3140
|
filter_childWithSibs : true, // if true, include matching child row siblings
|
3140
|
-
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
3141
3141
|
filter_columnAnyMatch: true, // if true, allows using '#:{query}' in AnyMatch searches ( column:query )
|
3142
|
-
|
3142
|
+
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
3143
3143
|
filter_cssFilter : '', // css class name added to the filter row & each input in the row ( tablesorter-filter is ALWAYS added )
|
3144
|
+
filter_defaultAttrib : 'data-value', // data attribute in the header cell that contains the default filter value
|
3144
3145
|
filter_defaultFilter : {}, // add a default column filter type '~{query}' to make fuzzy searches default; '{q1} AND {q2}' to make all searches use a logical AND.
|
3145
3146
|
filter_excludeFilter : {}, // filters to exclude, per column
|
3146
3147
|
filter_external : '', // jQuery selector string ( or jQuery object ) of external filters
|
@@ -3160,11 +3161,10 @@
|
|
3160
3161
|
filter_searchDelay : 300, // typing delay in milliseconds before starting a search
|
3161
3162
|
filter_searchFiltered: true, // allow searching through already filtered rows in special circumstances; will speed up searching in large tables if true
|
3162
3163
|
filter_selectSource : null, // include a function to return an array of values to be added to the column filter select
|
3163
|
-
|
3164
|
-
filter_useParsedData : false, // filter all data using parsed content
|
3164
|
+
filter_selectSourceSeparator : '|', // filter_selectSource array text left of the separator is added to the option value, right into the option text
|
3165
3165
|
filter_serversideFiltering : false, // if true, must perform server-side filtering b/c client-side filtering is disabled, but the ui and events will still be used.
|
3166
|
-
|
3167
|
-
|
3166
|
+
filter_startsWith : false, // if true, filter start from the beginning of the cell contents
|
3167
|
+
filter_useParsedData : false // filter all data using parsed content
|
3168
3168
|
},
|
3169
3169
|
format: function( table, c, wo ) {
|
3170
3170
|
if ( !c.$table.hasClass( 'hasFilters' ) ) {
|
@@ -4189,12 +4189,11 @@
|
|
4189
4189
|
[];
|
4190
4190
|
|
4191
4191
|
data.$cells = data.$row.children();
|
4192
|
-
|
4193
|
-
if ( data.anyMatchFlag && columnIndex.length > 1 ) {
|
4192
|
+
if ( data.anyMatchFlag && columnIndex.length > 1 || data.anyMatchFilter ) {
|
4194
4193
|
data.anyMatch = true;
|
4195
4194
|
data.isMatch = true;
|
4196
4195
|
data.rowArray = data.$cells.map( function( i ) {
|
4197
|
-
if ( $.inArray( i, columnIndex ) > -1 ) {
|
4196
|
+
if ( $.inArray( i, columnIndex ) > -1 || data.anyMatchFilter ) {
|
4198
4197
|
if ( data.parsed[ i ] ) {
|
4199
4198
|
txt = data.cacheArray[ i ];
|
4200
4199
|
} else {
|
@@ -4212,7 +4211,6 @@
|
|
4212
4211
|
data.exact = data.rowArray.join( ' ' );
|
4213
4212
|
data.iExact = wo.filter_ignoreCase ? data.exact.toLowerCase() : data.exact;
|
4214
4213
|
data.cache = data.cacheArray.slice( 0, -1 ).join( ' ' );
|
4215
|
-
|
4216
4214
|
vars.excludeMatch = vars.noAnyMatch;
|
4217
4215
|
filterMatched = tsf.processTypes( c, data, vars );
|
4218
4216
|
if ( filterMatched !== null ) {
|
@@ -5333,7 +5331,6 @@
|
|
5333
5331
|
.bind( 'selectstart', false );
|
5334
5332
|
}
|
5335
5333
|
}
|
5336
|
-
ts.resizable.setHandlePosition( c, wo );
|
5337
5334
|
ts.resizable.bindings( c, wo );
|
5338
5335
|
},
|
5339
5336
|
|
@@ -5383,12 +5380,11 @@
|
|
5383
5380
|
|
5384
5381
|
setHandlePosition : function( c, wo ) {
|
5385
5382
|
var startPosition,
|
5386
|
-
hasScroller = ts.hasWidget( c.table, 'scroller' ),
|
5387
5383
|
tableHeight = c.$table.height(),
|
5388
5384
|
$handles = wo.$resizable_container.children(),
|
5389
5385
|
handleCenter = Math.floor( $handles.width() / 2 );
|
5390
5386
|
|
5391
|
-
if (
|
5387
|
+
if ( ts.hasWidget( c.table, 'scroller' ) ) {
|
5392
5388
|
tableHeight = 0;
|
5393
5389
|
c.$table.closest( '.' + ts.css.scrollerWrap ).children().each(function(){
|
5394
5390
|
var $this = $(this);
|
@@ -5571,6 +5567,9 @@
|
|
5571
5567
|
init: function(table, thisWidget, c, wo) {
|
5572
5568
|
ts.resizable.init( c, wo );
|
5573
5569
|
},
|
5570
|
+
format: function( table, c, wo ) {
|
5571
|
+
ts.resizable.setHandlePosition( c, wo );
|
5572
|
+
},
|
5574
5573
|
remove: function( table, c, wo, refreshing ) {
|
5575
5574
|
if (wo.$resizable_container) {
|
5576
5575
|
var namespace = c.namespace + 'tsresize';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! TableSorter (FORK) v2.26.
|
1
|
+
/*! TableSorter (FORK) v2.26.1 *//*
|
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.26.
|
24
|
+
version : '2.26.1',
|
25
25
|
|
26
26
|
parsers : [],
|
27
27
|
widgets : [],
|
@@ -69,12 +69,12 @@
|
|
69
69
|
numberSorter : null, // choose overall numeric sorter function( a, b, direction, maxColumnValue )
|
70
70
|
|
71
71
|
// *** widget options
|
72
|
-
|
72
|
+
initWidgets : true, // apply widgets on tablesorter initialization
|
73
|
+
widgetClass : 'widget-{name}', // table class name template to match to include a widget
|
74
|
+
widgets : [], // method to add widgets, e.g. widgets: ['zebra']
|
73
75
|
widgetOptions : {
|
74
76
|
zebra : [ 'even', 'odd' ] // zebra widget alternating row class names
|
75
77
|
},
|
76
|
-
initWidgets : true, // apply widgets on tablesorter initialization
|
77
|
-
widgetClass : 'widget-{name}', // table class name template to match to include a widget
|
78
78
|
|
79
79
|
// *** callbacks
|
80
80
|
initialized : null, // function( table ){},
|
@@ -88,7 +88,7 @@
|
|
88
88
|
cssHeaderRow : '',
|
89
89
|
cssProcessing : '', // processing icon applied to header during sort/filter
|
90
90
|
|
91
|
-
cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to
|
91
|
+
cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to its parent
|
92
92
|
cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!)
|
93
93
|
cssNoSort : 'tablesorter-noSort', // class name added to element inside header; clicking on it won't cause a sort
|
94
94
|
cssIgnoreRow : 'tablesorter-ignoreRow', // header row to ignore; cells within this row will not be added to c.$headers
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated 05-
|
7
|
+
/*! tablesorter (FORK) - updated 05-16-2016 (v2.26.1)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -402,13 +402,14 @@
|
|
402
402
|
id: 'filter',
|
403
403
|
priority: 50,
|
404
404
|
options : {
|
405
|
+
filter_cellFilter : '', // css class name added to the filter cell ( string or array )
|
405
406
|
filter_childRows : false, // if true, filter includes child row content in the search
|
406
407
|
filter_childByColumn : false, // ( filter_childRows must be true ) if true = search child rows by column; false = search all child row text grouped
|
407
408
|
filter_childWithSibs : true, // if true, include matching child row siblings
|
408
|
-
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
409
409
|
filter_columnAnyMatch: true, // if true, allows using '#:{query}' in AnyMatch searches ( column:query )
|
410
|
-
|
410
|
+
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
411
411
|
filter_cssFilter : '', // css class name added to the filter row & each input in the row ( tablesorter-filter is ALWAYS added )
|
412
|
+
filter_defaultAttrib : 'data-value', // data attribute in the header cell that contains the default filter value
|
412
413
|
filter_defaultFilter : {}, // add a default column filter type '~{query}' to make fuzzy searches default; '{q1} AND {q2}' to make all searches use a logical AND.
|
413
414
|
filter_excludeFilter : {}, // filters to exclude, per column
|
414
415
|
filter_external : '', // jQuery selector string ( or jQuery object ) of external filters
|
@@ -428,11 +429,10 @@
|
|
428
429
|
filter_searchDelay : 300, // typing delay in milliseconds before starting a search
|
429
430
|
filter_searchFiltered: true, // allow searching through already filtered rows in special circumstances; will speed up searching in large tables if true
|
430
431
|
filter_selectSource : null, // include a function to return an array of values to be added to the column filter select
|
431
|
-
|
432
|
-
filter_useParsedData : false, // filter all data using parsed content
|
432
|
+
filter_selectSourceSeparator : '|', // filter_selectSource array text left of the separator is added to the option value, right into the option text
|
433
433
|
filter_serversideFiltering : false, // if true, must perform server-side filtering b/c client-side filtering is disabled, but the ui and events will still be used.
|
434
|
-
|
435
|
-
|
434
|
+
filter_startsWith : false, // if true, filter start from the beginning of the cell contents
|
435
|
+
filter_useParsedData : false // filter all data using parsed content
|
436
436
|
},
|
437
437
|
format: function( table, c, wo ) {
|
438
438
|
if ( !c.$table.hasClass( 'hasFilters' ) ) {
|
@@ -1457,12 +1457,11 @@
|
|
1457
1457
|
[];
|
1458
1458
|
|
1459
1459
|
data.$cells = data.$row.children();
|
1460
|
-
|
1461
|
-
if ( data.anyMatchFlag && columnIndex.length > 1 ) {
|
1460
|
+
if ( data.anyMatchFlag && columnIndex.length > 1 || data.anyMatchFilter ) {
|
1462
1461
|
data.anyMatch = true;
|
1463
1462
|
data.isMatch = true;
|
1464
1463
|
data.rowArray = data.$cells.map( function( i ) {
|
1465
|
-
if ( $.inArray( i, columnIndex ) > -1 ) {
|
1464
|
+
if ( $.inArray( i, columnIndex ) > -1 || data.anyMatchFilter ) {
|
1466
1465
|
if ( data.parsed[ i ] ) {
|
1467
1466
|
txt = data.cacheArray[ i ];
|
1468
1467
|
} else {
|
@@ -1480,7 +1479,6 @@
|
|
1480
1479
|
data.exact = data.rowArray.join( ' ' );
|
1481
1480
|
data.iExact = wo.filter_ignoreCase ? data.exact.toLowerCase() : data.exact;
|
1482
1481
|
data.cache = data.cacheArray.slice( 0, -1 ).join( ' ' );
|
1483
|
-
|
1484
1482
|
vars.excludeMatch = vars.noAnyMatch;
|
1485
1483
|
filterMatched = tsf.processTypes( c, data, vars );
|
1486
1484
|
if ( filterMatched !== null ) {
|
@@ -2601,7 +2599,6 @@
|
|
2601
2599
|
.bind( 'selectstart', false );
|
2602
2600
|
}
|
2603
2601
|
}
|
2604
|
-
ts.resizable.setHandlePosition( c, wo );
|
2605
2602
|
ts.resizable.bindings( c, wo );
|
2606
2603
|
},
|
2607
2604
|
|
@@ -2651,12 +2648,11 @@
|
|
2651
2648
|
|
2652
2649
|
setHandlePosition : function( c, wo ) {
|
2653
2650
|
var startPosition,
|
2654
|
-
hasScroller = ts.hasWidget( c.table, 'scroller' ),
|
2655
2651
|
tableHeight = c.$table.height(),
|
2656
2652
|
$handles = wo.$resizable_container.children(),
|
2657
2653
|
handleCenter = Math.floor( $handles.width() / 2 );
|
2658
2654
|
|
2659
|
-
if (
|
2655
|
+
if ( ts.hasWidget( c.table, 'scroller' ) ) {
|
2660
2656
|
tableHeight = 0;
|
2661
2657
|
c.$table.closest( '.' + ts.css.scrollerWrap ).children().each(function(){
|
2662
2658
|
var $this = $(this);
|
@@ -2839,6 +2835,9 @@
|
|
2839
2835
|
init: function(table, thisWidget, c, wo) {
|
2840
2836
|
ts.resizable.init( c, wo );
|
2841
2837
|
},
|
2838
|
+
format: function( table, c, wo ) {
|
2839
|
+
ts.resizable.setHandlePosition( c, wo );
|
2840
|
+
},
|
2842
2841
|
remove: function( table, c, wo, refreshing ) {
|
2843
2842
|
if (wo.$resizable_container) {
|
2844
2843
|
var namespace = c.namespace + 'tsresize';
|
@@ -28,13 +28,14 @@
|
|
28
28
|
id: 'filter',
|
29
29
|
priority: 50,
|
30
30
|
options : {
|
31
|
+
filter_cellFilter : '', // css class name added to the filter cell ( string or array )
|
31
32
|
filter_childRows : false, // if true, filter includes child row content in the search
|
32
33
|
filter_childByColumn : false, // ( filter_childRows must be true ) if true = search child rows by column; false = search all child row text grouped
|
33
34
|
filter_childWithSibs : true, // if true, include matching child row siblings
|
34
|
-
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
35
35
|
filter_columnAnyMatch: true, // if true, allows using '#:{query}' in AnyMatch searches ( column:query )
|
36
|
-
|
36
|
+
filter_columnFilters : true, // if true, a filter will be added to the top of each table column
|
37
37
|
filter_cssFilter : '', // css class name added to the filter row & each input in the row ( tablesorter-filter is ALWAYS added )
|
38
|
+
filter_defaultAttrib : 'data-value', // data attribute in the header cell that contains the default filter value
|
38
39
|
filter_defaultFilter : {}, // add a default column filter type '~{query}' to make fuzzy searches default; '{q1} AND {q2}' to make all searches use a logical AND.
|
39
40
|
filter_excludeFilter : {}, // filters to exclude, per column
|
40
41
|
filter_external : '', // jQuery selector string ( or jQuery object ) of external filters
|
@@ -54,11 +55,10 @@
|
|
54
55
|
filter_searchDelay : 300, // typing delay in milliseconds before starting a search
|
55
56
|
filter_searchFiltered: true, // allow searching through already filtered rows in special circumstances; will speed up searching in large tables if true
|
56
57
|
filter_selectSource : null, // include a function to return an array of values to be added to the column filter select
|
57
|
-
|
58
|
-
filter_useParsedData : false, // filter all data using parsed content
|
58
|
+
filter_selectSourceSeparator : '|', // filter_selectSource array text left of the separator is added to the option value, right into the option text
|
59
59
|
filter_serversideFiltering : false, // if true, must perform server-side filtering b/c client-side filtering is disabled, but the ui and events will still be used.
|
60
|
-
|
61
|
-
|
60
|
+
filter_startsWith : false, // if true, filter start from the beginning of the cell contents
|
61
|
+
filter_useParsedData : false // filter all data using parsed content
|
62
62
|
},
|
63
63
|
format: function( table, c, wo ) {
|
64
64
|
if ( !c.$table.hasClass( 'hasFilters' ) ) {
|
@@ -1083,12 +1083,11 @@
|
|
1083
1083
|
[];
|
1084
1084
|
|
1085
1085
|
data.$cells = data.$row.children();
|
1086
|
-
|
1087
|
-
if ( data.anyMatchFlag && columnIndex.length > 1 ) {
|
1086
|
+
if ( data.anyMatchFlag && columnIndex.length > 1 || data.anyMatchFilter ) {
|
1088
1087
|
data.anyMatch = true;
|
1089
1088
|
data.isMatch = true;
|
1090
1089
|
data.rowArray = data.$cells.map( function( i ) {
|
1091
|
-
if ( $.inArray( i, columnIndex ) > -1 ) {
|
1090
|
+
if ( $.inArray( i, columnIndex ) > -1 || data.anyMatchFilter ) {
|
1092
1091
|
if ( data.parsed[ i ] ) {
|
1093
1092
|
txt = data.cacheArray[ i ];
|
1094
1093
|
} else {
|
@@ -1106,7 +1105,6 @@
|
|
1106
1105
|
data.exact = data.rowArray.join( ' ' );
|
1107
1106
|
data.iExact = wo.filter_ignoreCase ? data.exact.toLowerCase() : data.exact;
|
1108
1107
|
data.cache = data.cacheArray.slice( 0, -1 ).join( ' ' );
|
1109
|
-
|
1110
1108
|
vars.excludeMatch = vars.noAnyMatch;
|
1111
1109
|
filterMatched = tsf.processTypes( c, data, vars );
|
1112
1110
|
if ( filterMatched !== null ) {
|
@@ -169,12 +169,13 @@
|
|
169
169
|
},
|
170
170
|
|
171
171
|
groupHeaderHTML : function( c, wo, data ) {
|
172
|
+
var name = ( data.currentGroup || '' ).replace(/</g, '<').replace(/>/g, '>');
|
172
173
|
return '<tr class="group-header ' + c.selectorRemove.slice(1) +
|
173
174
|
'" unselectable="on" ' + ( c.tabIndex ? 'tabindex="0" ' : '' ) + 'data-group-index="' +
|
174
175
|
( data.groupIndex++ ) + '">' +
|
175
176
|
'<td colspan="' + c.columns + '">' +
|
176
177
|
( wo.group_collapsible ? '<i/>' : '' ) +
|
177
|
-
'<span class="group-name">' +
|
178
|
+
'<span class="group-name">' + name + '</span>' +
|
178
179
|
'<span class="group-count"></span>' +
|
179
180
|
'</td></tr>';
|
180
181
|
},
|
@@ -197,12 +198,12 @@
|
|
197
198
|
return savedGroup;
|
198
199
|
},
|
199
200
|
findColumnGroups : function( c, wo, data ) {
|
200
|
-
var tbodyIndex, norm_rows, $row, rowIndex, end,
|
201
|
+
var tbodyIndex, norm_rows, $row, rowIndex, end, undef,
|
201
202
|
hasPager = ts.hasWidget( c.table, 'pager' );
|
202
203
|
data.groupIndex = 0;
|
203
204
|
for ( tbodyIndex = 0; tbodyIndex < c.$tbodies.length; tbodyIndex++ ) {
|
204
205
|
norm_rows = c.cache[ tbodyIndex ].normalized;
|
205
|
-
data.group =
|
206
|
+
data.group = undef; // clear grouping across tbodies
|
206
207
|
rowIndex = hasPager ? c.pager.startRow - 1 : 0;
|
207
208
|
end = hasPager ? c.pager.endRow : norm_rows.length;
|
208
209
|
for ( ; rowIndex < end; rowIndex++ ) {
|
@@ -264,10 +264,19 @@
|
|
264
264
|
// update internal cache
|
265
265
|
ts.update( c, undef, function(){
|
266
266
|
math.updateComplete( c );
|
267
|
+
if ( !init && typeof wo.math_completed === 'function' ) {
|
268
|
+
wo.math_completed( c );
|
269
|
+
}
|
270
|
+
if ( c.debug ) {
|
271
|
+
console.log( 'Math widget update completed' + ts.benchmark( time ) );
|
272
|
+
}
|
267
273
|
});
|
268
|
-
|
274
|
+
} else {
|
275
|
+
if ( !init && typeof wo.math_completed === 'function' ) {
|
276
|
+
wo.math_completed( c );
|
277
|
+
}
|
269
278
|
if ( c.debug ) {
|
270
|
-
console.log( 'Math widget
|
279
|
+
console.log( 'Math widget found no changes in data' + ts.benchmark( time ) );
|
271
280
|
}
|
272
281
|
}
|
273
282
|
}
|
@@ -580,6 +589,8 @@
|
|
580
589
|
math_mask : '#,##0.00',
|
581
590
|
// complete executed after each fucntion
|
582
591
|
math_complete : null, // function($cell, wo, result, value, arry){ return result; },
|
592
|
+
// math_completed called after all math calculations have completed
|
593
|
+
// math_completed : function( config ) {},
|
583
594
|
// order of calculation; 'all' is last
|
584
595
|
math_priority : [ 'row', 'above', 'below', 'col' ],
|
585
596
|
// template for or just prepend the mask prefix & suffix with this HTML
|
@@ -102,7 +102,6 @@
|
|
102
102
|
.bind( 'selectstart', false );
|
103
103
|
}
|
104
104
|
}
|
105
|
-
ts.resizable.setHandlePosition( c, wo );
|
106
105
|
ts.resizable.bindings( c, wo );
|
107
106
|
},
|
108
107
|
|
@@ -152,12 +151,11 @@
|
|
152
151
|
|
153
152
|
setHandlePosition : function( c, wo ) {
|
154
153
|
var startPosition,
|
155
|
-
hasScroller = ts.hasWidget( c.table, 'scroller' ),
|
156
154
|
tableHeight = c.$table.height(),
|
157
155
|
$handles = wo.$resizable_container.children(),
|
158
156
|
handleCenter = Math.floor( $handles.width() / 2 );
|
159
157
|
|
160
|
-
if (
|
158
|
+
if ( ts.hasWidget( c.table, 'scroller' ) ) {
|
161
159
|
tableHeight = 0;
|
162
160
|
c.$table.closest( '.' + ts.css.scrollerWrap ).children().each(function(){
|
163
161
|
var $this = $(this);
|
@@ -340,6 +338,9 @@
|
|
340
338
|
init: function(table, thisWidget, c, wo) {
|
341
339
|
ts.resizable.init( c, wo );
|
342
340
|
},
|
341
|
+
format: function( table, c, wo ) {
|
342
|
+
ts.resizable.setHandlePosition( c, wo );
|
343
|
+
},
|
343
344
|
remove: function( table, c, wo, refreshing ) {
|
344
345
|
if (wo.$resizable_container) {
|
345
346
|
var namespace = c.namespace + 'tsresize';
|
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.21.
|
4
|
+
version: 1.21.1
|
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: 2016-05-
|
12
|
+
date: 2016-05-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|