jquery-tablesorter 1.25.4 → 1.25.5
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/jquery.tablesorter.combined.js +38 -16
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.js +37 -15
- data/vendor/assets/javascripts/jquery-tablesorter/jquery.tablesorter.widgets.js +1 -1
- data/vendor/assets/javascripts/jquery-tablesorter/parsers/parser-input-select.js +6 -3
- data/vendor/assets/javascripts/jquery-tablesorter/widgets/widget-scroller.js +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.black-ice.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.blue.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap_2.css +2 -2
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap_3.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.bootstrap_4.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.dark.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.default.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.dropbox.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.green.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.grey.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.ice.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.jui.css +1 -1
- data/vendor/assets/stylesheets/jquery-tablesorter/theme.materialize.css +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 500efd982b7de96ff24db41cbab4f5d62c5b243c0ecf7397ce8fa0c8ca4c15f0
|
4
|
+
data.tar.gz: b3473cd63b3cd2bf6ce64c121fe17e14caf3d794d9de3c4c0365770f168d124e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cd5484f37cd7b71f96a94f3168e6250e8485b20d41c4287f32cb3cbafe055664d477a6c2a1b921e84cf6788098d8c31b6df74cc23cb7c598e9656a86b110b38
|
7
|
+
data.tar.gz: cf6528ab3ba34a7b3bac83c7c1891d52eec1fc35b8321250ff95a872f5925aa0f4d8eef423c125781a30687170a5c1c35c8226721512761323ee2f1077178308
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Simple integration of jQuery tablesorter ([Mottie's fork]) into the asset pipeline.
|
6
6
|
|
7
|
-
Current tablesorter version: 2.30.
|
7
|
+
Current tablesorter version: 2.30.7 (2018-07-10) [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 2018-
|
7
|
+
/*! tablesorter (FORK) - updated 2018-07-10 (v2.30.7)*/
|
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(jQuery) {
|
18
18
|
|
19
|
-
/*! TableSorter (FORK) v2.30.
|
19
|
+
/*! TableSorter (FORK) v2.30.7 *//*
|
20
20
|
* Client-side table sorting with ease!
|
21
21
|
* @requires jQuery v1.2.6+
|
22
22
|
*
|
@@ -40,7 +40,7 @@
|
|
40
40
|
'use strict';
|
41
41
|
var ts = $.tablesorter = {
|
42
42
|
|
43
|
-
version : '2.30.
|
43
|
+
version : '2.30.7',
|
44
44
|
|
45
45
|
parsers : [],
|
46
46
|
widgets : [],
|
@@ -611,10 +611,11 @@
|
|
611
611
|
// this may get updated numerous times if there are multiple rows
|
612
612
|
c.sortVars[ column ] = {
|
613
613
|
count : -1, // set to -1 because clicking on the header automatically adds one
|
614
|
-
order:
|
614
|
+
order : tmp ?
|
615
615
|
( c.sortReset ? [ 1, 0, 2 ] : [ 1, 0 ] ) : // desc, asc, unsorted
|
616
616
|
( c.sortReset ? [ 0, 1, 2 ] : [ 0, 1 ] ), // asc, desc, unsorted
|
617
|
-
lockedOrder : false
|
617
|
+
lockedOrder : false,
|
618
|
+
sortedBy : ''
|
618
619
|
};
|
619
620
|
tmp = ts.getData( $elem, configHeaders, 'lockedOrder' ) || false;
|
620
621
|
if ( typeof tmp !== 'undefined' && tmp !== false ) {
|
@@ -1214,6 +1215,11 @@
|
|
1214
1215
|
txt += ts.language[ nextSort === 0 ? 'nextAsc' : nextSort === 1 ? 'nextDesc' : 'nextNone' ];
|
1215
1216
|
}
|
1216
1217
|
$header.attr( 'aria-label', txt );
|
1218
|
+
if (vars.sortedBy) {
|
1219
|
+
$header.attr( 'data-sortedBy', vars.sortedBy );
|
1220
|
+
} else {
|
1221
|
+
$header.removeAttr('data-sortedBy');
|
1222
|
+
}
|
1217
1223
|
}
|
1218
1224
|
},
|
1219
1225
|
|
@@ -1568,6 +1574,7 @@
|
|
1568
1574
|
len = c.$headers.length,
|
1569
1575
|
th = ts.getClosest( $( cell ), 'th, td' ),
|
1570
1576
|
col = parseInt( th.attr( 'data-column' ), 10 ),
|
1577
|
+
sortedBy = event.type === 'mouseup' ? 'user' : event.type,
|
1571
1578
|
order = c.sortVars[ col ].order;
|
1572
1579
|
th = th[0];
|
1573
1580
|
// Only call sortStart if sorting is enabled
|
@@ -1588,6 +1595,9 @@
|
|
1588
1595
|
}
|
1589
1596
|
// user only wants to sort on one column
|
1590
1597
|
if ( notMultiSort ) {
|
1598
|
+
$.each( c.sortVars, function( i ) {
|
1599
|
+
c.sortVars[ i ].sortedBy = '';
|
1600
|
+
});
|
1591
1601
|
// flush the sort list
|
1592
1602
|
c.sortList = [];
|
1593
1603
|
c.last.sortList = [];
|
@@ -1596,6 +1606,7 @@
|
|
1596
1606
|
for ( indx = 0; indx < arry.length; indx++ ) {
|
1597
1607
|
if ( arry[ indx ][ 0 ] !== col ) {
|
1598
1608
|
c.sortList[ c.sortList.length ] = arry[ indx ];
|
1609
|
+
c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortForce';
|
1599
1610
|
}
|
1600
1611
|
}
|
1601
1612
|
}
|
@@ -1603,12 +1614,14 @@
|
|
1603
1614
|
dir = order[ c.sortVars[ col ].count ];
|
1604
1615
|
if ( dir < 2 ) {
|
1605
1616
|
c.sortList[ c.sortList.length ] = [ col, dir ];
|
1617
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1606
1618
|
// add other columns if header spans across multiple
|
1607
1619
|
if ( th.colSpan > 1 ) {
|
1608
1620
|
for ( indx = 1; indx < th.colSpan; indx++ ) {
|
1609
1621
|
c.sortList[ c.sortList.length ] = [ col + indx, dir ];
|
1610
1622
|
// update count on columns in colSpan
|
1611
1623
|
c.sortVars[ col + indx ].count = $.inArray( dir, order );
|
1624
|
+
c.sortVars[ col + indx ].sortedBy = sortedBy;
|
1612
1625
|
}
|
1613
1626
|
}
|
1614
1627
|
}
|
@@ -1620,6 +1633,7 @@
|
|
1620
1633
|
// the user has clicked on an already sorted column
|
1621
1634
|
if ( ts.isValueInArray( col, c.sortList ) >= 0 ) {
|
1622
1635
|
// reverse the sorting direction
|
1636
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1623
1637
|
for ( indx = 0; indx < c.sortList.length; indx++ ) {
|
1624
1638
|
tmp = c.sortList[ indx ];
|
1625
1639
|
if ( tmp[ 0 ] === col ) {
|
@@ -1634,6 +1648,7 @@
|
|
1634
1648
|
} else {
|
1635
1649
|
// add column to sort list array
|
1636
1650
|
dir = order[ c.sortVars[ col ].count ];
|
1651
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1637
1652
|
if ( dir < 2 ) {
|
1638
1653
|
c.sortList[ c.sortList.length ] = [ col, dir ];
|
1639
1654
|
// add other columns if header spans across multiple
|
@@ -1642,6 +1657,7 @@
|
|
1642
1657
|
c.sortList[ c.sortList.length ] = [ col + indx, dir ];
|
1643
1658
|
// update count on columns in colSpan
|
1644
1659
|
c.sortVars[ col + indx ].count = $.inArray( dir, order );
|
1660
|
+
c.sortVars[ col + indx ].sortedBy = sortedBy;
|
1645
1661
|
}
|
1646
1662
|
}
|
1647
1663
|
}
|
@@ -1677,6 +1693,7 @@
|
|
1677
1693
|
}
|
1678
1694
|
}
|
1679
1695
|
c.sortList[ c.sortList.length ] = [ arry[ indx ][ 0 ], dir ];
|
1696
|
+
c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortAppend';
|
1680
1697
|
}
|
1681
1698
|
}
|
1682
1699
|
}
|
@@ -1762,7 +1779,7 @@
|
|
1762
1779
|
sort = sorter[ col ]( x[ col ], y[ col ], dir, col, table );
|
1763
1780
|
} else {
|
1764
1781
|
// fall back to natural sort
|
1765
|
-
sort = ts[ 'sortNatural' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ], b[ col ], col, c );
|
1782
|
+
sort = ts[ 'sortNatural' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ] || '', b[ col ] || '', col, c );
|
1766
1783
|
}
|
1767
1784
|
}
|
1768
1785
|
if ( sort ) { return sort; }
|
@@ -1808,8 +1825,12 @@
|
|
1808
1825
|
},
|
1809
1826
|
|
1810
1827
|
sortOn : function( c, list, callback, init ) {
|
1811
|
-
var
|
1828
|
+
var indx,
|
1829
|
+
table = c.table;
|
1812
1830
|
c.$table.triggerHandler( 'sortStart', table );
|
1831
|
+
for (indx = 0; indx < c.columns; indx++) {
|
1832
|
+
c.sortVars[ indx ].sortedBy = ts.isValueInArray( indx, list ) > -1 ? 'sorton' : '';
|
1833
|
+
}
|
1813
1834
|
// update header count index
|
1814
1835
|
ts.updateHeaderSortCount( c, list );
|
1815
1836
|
// set css for headers
|
@@ -1832,13 +1853,14 @@
|
|
1832
1853
|
|
1833
1854
|
sortReset : function( c, callback ) {
|
1834
1855
|
c.sortList = [];
|
1835
|
-
ts.setHeadersCss( c );
|
1836
|
-
ts.multisort( c );
|
1837
|
-
ts.appendCache( c );
|
1838
1856
|
var indx;
|
1839
1857
|
for (indx = 0; indx < c.columns; indx++) {
|
1840
1858
|
c.sortVars[ indx ].count = -1;
|
1859
|
+
c.sortVars[ indx ].sortedBy = '';
|
1841
1860
|
}
|
1861
|
+
ts.setHeadersCss( c );
|
1862
|
+
ts.multisort( c );
|
1863
|
+
ts.appendCache( c );
|
1842
1864
|
if ( $.isFunction( callback ) ) {
|
1843
1865
|
callback( c.table );
|
1844
1866
|
}
|
@@ -1856,20 +1878,20 @@
|
|
1856
1878
|
// Natural sort - https://github.com/overset/javascript-natural-sort (date sorting removed)
|
1857
1879
|
sortNatural : function( a, b ) {
|
1858
1880
|
if ( a === b ) { return 0; }
|
1859
|
-
a = a.toString();
|
1860
|
-
b = b.toString();
|
1881
|
+
a = ( a || '' ).toString();
|
1882
|
+
b = ( b || '' ).toString();
|
1861
1883
|
var aNum, bNum, aFloat, bFloat, indx, max,
|
1862
1884
|
regex = ts.regex;
|
1863
1885
|
// first try and sort Hex codes
|
1864
1886
|
if ( regex.hex.test( b ) ) {
|
1865
|
-
aNum = parseInt(
|
1866
|
-
bNum = parseInt(
|
1887
|
+
aNum = parseInt( a.match( regex.hex ), 16 );
|
1888
|
+
bNum = parseInt( b.match( regex.hex ), 16 );
|
1867
1889
|
if ( aNum < bNum ) { return -1; }
|
1868
1890
|
if ( aNum > bNum ) { return 1; }
|
1869
1891
|
}
|
1870
1892
|
// chunk/tokenize
|
1871
|
-
aNum =
|
1872
|
-
bNum =
|
1893
|
+
aNum = a.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' );
|
1894
|
+
bNum = b.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' );
|
1873
1895
|
max = Math.max( aNum.length, bNum.length );
|
1874
1896
|
// natural sorting through split numeric strings and default strings
|
1875
1897
|
for ( indx = 0; indx < max; indx++ ) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! TableSorter (FORK) v2.30.
|
1
|
+
/*! TableSorter (FORK) v2.30.7 *//*
|
2
2
|
* Client-side table sorting with ease!
|
3
3
|
* @requires jQuery v1.2.6+
|
4
4
|
*
|
@@ -22,7 +22,7 @@
|
|
22
22
|
'use strict';
|
23
23
|
var ts = $.tablesorter = {
|
24
24
|
|
25
|
-
version : '2.30.
|
25
|
+
version : '2.30.7',
|
26
26
|
|
27
27
|
parsers : [],
|
28
28
|
widgets : [],
|
@@ -593,10 +593,11 @@
|
|
593
593
|
// this may get updated numerous times if there are multiple rows
|
594
594
|
c.sortVars[ column ] = {
|
595
595
|
count : -1, // set to -1 because clicking on the header automatically adds one
|
596
|
-
order:
|
596
|
+
order : tmp ?
|
597
597
|
( c.sortReset ? [ 1, 0, 2 ] : [ 1, 0 ] ) : // desc, asc, unsorted
|
598
598
|
( c.sortReset ? [ 0, 1, 2 ] : [ 0, 1 ] ), // asc, desc, unsorted
|
599
|
-
lockedOrder : false
|
599
|
+
lockedOrder : false,
|
600
|
+
sortedBy : ''
|
600
601
|
};
|
601
602
|
tmp = ts.getData( $elem, configHeaders, 'lockedOrder' ) || false;
|
602
603
|
if ( typeof tmp !== 'undefined' && tmp !== false ) {
|
@@ -1196,6 +1197,11 @@
|
|
1196
1197
|
txt += ts.language[ nextSort === 0 ? 'nextAsc' : nextSort === 1 ? 'nextDesc' : 'nextNone' ];
|
1197
1198
|
}
|
1198
1199
|
$header.attr( 'aria-label', txt );
|
1200
|
+
if (vars.sortedBy) {
|
1201
|
+
$header.attr( 'data-sortedBy', vars.sortedBy );
|
1202
|
+
} else {
|
1203
|
+
$header.removeAttr('data-sortedBy');
|
1204
|
+
}
|
1199
1205
|
}
|
1200
1206
|
},
|
1201
1207
|
|
@@ -1550,6 +1556,7 @@
|
|
1550
1556
|
len = c.$headers.length,
|
1551
1557
|
th = ts.getClosest( $( cell ), 'th, td' ),
|
1552
1558
|
col = parseInt( th.attr( 'data-column' ), 10 ),
|
1559
|
+
sortedBy = event.type === 'mouseup' ? 'user' : event.type,
|
1553
1560
|
order = c.sortVars[ col ].order;
|
1554
1561
|
th = th[0];
|
1555
1562
|
// Only call sortStart if sorting is enabled
|
@@ -1570,6 +1577,9 @@
|
|
1570
1577
|
}
|
1571
1578
|
// user only wants to sort on one column
|
1572
1579
|
if ( notMultiSort ) {
|
1580
|
+
$.each( c.sortVars, function( i ) {
|
1581
|
+
c.sortVars[ i ].sortedBy = '';
|
1582
|
+
});
|
1573
1583
|
// flush the sort list
|
1574
1584
|
c.sortList = [];
|
1575
1585
|
c.last.sortList = [];
|
@@ -1578,6 +1588,7 @@
|
|
1578
1588
|
for ( indx = 0; indx < arry.length; indx++ ) {
|
1579
1589
|
if ( arry[ indx ][ 0 ] !== col ) {
|
1580
1590
|
c.sortList[ c.sortList.length ] = arry[ indx ];
|
1591
|
+
c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortForce';
|
1581
1592
|
}
|
1582
1593
|
}
|
1583
1594
|
}
|
@@ -1585,12 +1596,14 @@
|
|
1585
1596
|
dir = order[ c.sortVars[ col ].count ];
|
1586
1597
|
if ( dir < 2 ) {
|
1587
1598
|
c.sortList[ c.sortList.length ] = [ col, dir ];
|
1599
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1588
1600
|
// add other columns if header spans across multiple
|
1589
1601
|
if ( th.colSpan > 1 ) {
|
1590
1602
|
for ( indx = 1; indx < th.colSpan; indx++ ) {
|
1591
1603
|
c.sortList[ c.sortList.length ] = [ col + indx, dir ];
|
1592
1604
|
// update count on columns in colSpan
|
1593
1605
|
c.sortVars[ col + indx ].count = $.inArray( dir, order );
|
1606
|
+
c.sortVars[ col + indx ].sortedBy = sortedBy;
|
1594
1607
|
}
|
1595
1608
|
}
|
1596
1609
|
}
|
@@ -1602,6 +1615,7 @@
|
|
1602
1615
|
// the user has clicked on an already sorted column
|
1603
1616
|
if ( ts.isValueInArray( col, c.sortList ) >= 0 ) {
|
1604
1617
|
// reverse the sorting direction
|
1618
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1605
1619
|
for ( indx = 0; indx < c.sortList.length; indx++ ) {
|
1606
1620
|
tmp = c.sortList[ indx ];
|
1607
1621
|
if ( tmp[ 0 ] === col ) {
|
@@ -1616,6 +1630,7 @@
|
|
1616
1630
|
} else {
|
1617
1631
|
// add column to sort list array
|
1618
1632
|
dir = order[ c.sortVars[ col ].count ];
|
1633
|
+
c.sortVars[ col ].sortedBy = sortedBy;
|
1619
1634
|
if ( dir < 2 ) {
|
1620
1635
|
c.sortList[ c.sortList.length ] = [ col, dir ];
|
1621
1636
|
// add other columns if header spans across multiple
|
@@ -1624,6 +1639,7 @@
|
|
1624
1639
|
c.sortList[ c.sortList.length ] = [ col + indx, dir ];
|
1625
1640
|
// update count on columns in colSpan
|
1626
1641
|
c.sortVars[ col + indx ].count = $.inArray( dir, order );
|
1642
|
+
c.sortVars[ col + indx ].sortedBy = sortedBy;
|
1627
1643
|
}
|
1628
1644
|
}
|
1629
1645
|
}
|
@@ -1659,6 +1675,7 @@
|
|
1659
1675
|
}
|
1660
1676
|
}
|
1661
1677
|
c.sortList[ c.sortList.length ] = [ arry[ indx ][ 0 ], dir ];
|
1678
|
+
c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortAppend';
|
1662
1679
|
}
|
1663
1680
|
}
|
1664
1681
|
}
|
@@ -1744,7 +1761,7 @@
|
|
1744
1761
|
sort = sorter[ col ]( x[ col ], y[ col ], dir, col, table );
|
1745
1762
|
} else {
|
1746
1763
|
// fall back to natural sort
|
1747
|
-
sort = ts[ 'sortNatural' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ], b[ col ], col, c );
|
1764
|
+
sort = ts[ 'sortNatural' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ] || '', b[ col ] || '', col, c );
|
1748
1765
|
}
|
1749
1766
|
}
|
1750
1767
|
if ( sort ) { return sort; }
|
@@ -1790,8 +1807,12 @@
|
|
1790
1807
|
},
|
1791
1808
|
|
1792
1809
|
sortOn : function( c, list, callback, init ) {
|
1793
|
-
var
|
1810
|
+
var indx,
|
1811
|
+
table = c.table;
|
1794
1812
|
c.$table.triggerHandler( 'sortStart', table );
|
1813
|
+
for (indx = 0; indx < c.columns; indx++) {
|
1814
|
+
c.sortVars[ indx ].sortedBy = ts.isValueInArray( indx, list ) > -1 ? 'sorton' : '';
|
1815
|
+
}
|
1795
1816
|
// update header count index
|
1796
1817
|
ts.updateHeaderSortCount( c, list );
|
1797
1818
|
// set css for headers
|
@@ -1814,13 +1835,14 @@
|
|
1814
1835
|
|
1815
1836
|
sortReset : function( c, callback ) {
|
1816
1837
|
c.sortList = [];
|
1817
|
-
ts.setHeadersCss( c );
|
1818
|
-
ts.multisort( c );
|
1819
|
-
ts.appendCache( c );
|
1820
1838
|
var indx;
|
1821
1839
|
for (indx = 0; indx < c.columns; indx++) {
|
1822
1840
|
c.sortVars[ indx ].count = -1;
|
1841
|
+
c.sortVars[ indx ].sortedBy = '';
|
1823
1842
|
}
|
1843
|
+
ts.setHeadersCss( c );
|
1844
|
+
ts.multisort( c );
|
1845
|
+
ts.appendCache( c );
|
1824
1846
|
if ( $.isFunction( callback ) ) {
|
1825
1847
|
callback( c.table );
|
1826
1848
|
}
|
@@ -1838,20 +1860,20 @@
|
|
1838
1860
|
// Natural sort - https://github.com/overset/javascript-natural-sort (date sorting removed)
|
1839
1861
|
sortNatural : function( a, b ) {
|
1840
1862
|
if ( a === b ) { return 0; }
|
1841
|
-
a = a.toString();
|
1842
|
-
b = b.toString();
|
1863
|
+
a = ( a || '' ).toString();
|
1864
|
+
b = ( b || '' ).toString();
|
1843
1865
|
var aNum, bNum, aFloat, bFloat, indx, max,
|
1844
1866
|
regex = ts.regex;
|
1845
1867
|
// first try and sort Hex codes
|
1846
1868
|
if ( regex.hex.test( b ) ) {
|
1847
|
-
aNum = parseInt(
|
1848
|
-
bNum = parseInt(
|
1869
|
+
aNum = parseInt( a.match( regex.hex ), 16 );
|
1870
|
+
bNum = parseInt( b.match( regex.hex ), 16 );
|
1849
1871
|
if ( aNum < bNum ) { return -1; }
|
1850
1872
|
if ( aNum > bNum ) { return 1; }
|
1851
1873
|
}
|
1852
1874
|
// chunk/tokenize
|
1853
|
-
aNum =
|
1854
|
-
bNum =
|
1875
|
+
aNum = a.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' );
|
1876
|
+
bNum = b.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' );
|
1855
1877
|
max = Math.max( aNum.length, bNum.length );
|
1856
1878
|
// natural sorting through split numeric strings and default strings
|
1857
1879
|
for ( indx = 0; indx < max; indx++ ) {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
5
5
|
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
6
6
|
*/
|
7
|
-
/*! tablesorter (FORK) - updated 2018-
|
7
|
+
/*! tablesorter (FORK) - updated 2018-07-10 (v2.30.7)*/
|
8
8
|
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
9
9
|
(function(factory) {
|
10
10
|
if (typeof define === 'function' && define.amd) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/*! Parser: input & select - updated 2018-
|
1
|
+
/*! Parser: input & select - updated 2018-07-10 (v2.30.7) *//*
|
2
2
|
* for jQuery 1.7+ & tablesorter 2.7.11+
|
3
3
|
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
|
4
4
|
*/
|
@@ -164,9 +164,12 @@
|
|
164
164
|
var $sticky,
|
165
165
|
$rows = $table.children( 'tbody' ).children( ':visible' ), // (include child rows?)
|
166
166
|
len = $rows.length,
|
167
|
-
|
167
|
+
c = $table[0].config,
|
168
|
+
wo = c && c.widgetOptions,
|
169
|
+
$headers = c && c.$headers.add( $( c.namespace + '_extra_headers' ) ) || $table.children( 'thead' ),
|
170
|
+
hasSticky = wo && wo.$sticky;
|
168
171
|
// set indeterminate state on header checkbox
|
169
|
-
$
|
172
|
+
$headers.find( 'input[type="checkbox"]' ).each( function() {
|
170
173
|
if (hasSticky) {
|
171
174
|
$sticky = hasSticky.find( '[data-column="' + column + '"]' );
|
172
175
|
}
|
@@ -112,7 +112,7 @@
|
|
112
112
|
}
|
113
113
|
|
114
114
|
/* caption */
|
115
|
-
caption {
|
115
|
+
.tablesorter-bootstrap > caption {
|
116
116
|
background-color: #fff;
|
117
117
|
}
|
118
118
|
|
@@ -185,4 +185,4 @@ caption {
|
|
185
185
|
text-align: center;
|
186
186
|
cursor: pointer;
|
187
187
|
background-color: #e6bf99;
|
188
|
-
}
|
188
|
+
}
|
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.25.
|
4
|
+
version: 1.25.5
|
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: 2018-
|
12
|
+
date: 2018-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|