mirror of
https://github.com/Mottie/tablesorter.git
synced 2024-11-15 23:54:22 +00:00
Merge branch 'master' into gh-pages
This commit is contained in:
commit
e44babdee4
@ -104,6 +104,14 @@ If you would like to contribute, please...
|
||||
|
||||
View the [complete change log here](https://github.com/Mottie/tablesorter/wiki/Changes).
|
||||
|
||||
#### <a name="v2.29.3">Version 2.29.3</a> (2018-01-10)
|
||||
|
||||
* Docs:
|
||||
* Update Bootstrap to v4-beta.3.
|
||||
* Add scroller widget incompatibilities section.
|
||||
* Add pager size all setting.
|
||||
|
||||
|
||||
#### <a name="v2.29.1">Version 2.29.1</a> & <a name="v2.29.2">Version 2.29.2</a> (12/13/2017)
|
||||
|
||||
* Core:
|
||||
|
@ -20,9 +20,9 @@
|
||||
cursor: pointer;
|
||||
white-space: normal;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) thead:not(.thead-inverse) .tablesorter-header,
|
||||
.tablesorter-bootstrap:not(.table-inverse) tfoot th,
|
||||
.tablesorter-bootstrap:not(.table-inverse) tfoot td {
|
||||
.tablesorter-bootstrap:not(.table-dark) thead:not(.thead-dark) .tablesorter-header,
|
||||
.tablesorter-bootstrap:not(.table-dark) tfoot th,
|
||||
.tablesorter-bootstrap:not(.table-dark) tfoot td {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
@ -51,33 +51,33 @@
|
||||
}
|
||||
|
||||
/* white icons */
|
||||
.tablesorter-bootstrap thead.thead-inverse .tablesorter-headerUnSorted:not(.sorter-false),
|
||||
.tablesorter-bootstrap.table-inverse thead .tablesorter-headerUnSorted:not(.sorter-false) {
|
||||
.tablesorter-bootstrap thead.thead-dark .tablesorter-headerUnSorted:not(.sorter-false),
|
||||
.tablesorter-bootstrap.table-dark thead .tablesorter-headerUnSorted:not(.sorter-false) {
|
||||
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE0IDIwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTQgMTNsLTIuNS0yLjVMNyAxNWwtNC41LTQuNUwwIDEzbDcgN3pNMTQgNy41TDExLjUgMTAgNyA1LjUgMi41IDEwIDAgNy41bDctN3oiLz48L3N2Zz4=);
|
||||
}
|
||||
.tablesorter-bootstrap thead.thead-inverse .tablesorter-headerAsc,
|
||||
.tablesorter-bootstrap.table-inverse thead .tablesorter-headerAsc {
|
||||
.tablesorter-bootstrap thead.thead-dark .tablesorter-headerAsc,
|
||||
.tablesorter-bootstrap.table-dark thead .tablesorter-headerAsc {
|
||||
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTQgOS41TDExLjUgMTIgNyA3LjUgMi41IDEyIDAgOS41bDctN3oiLz48L3N2Zz4=);
|
||||
}
|
||||
.tablesorter-bootstrap thead.thead-inverse .tablesorter-headerDesc,
|
||||
.tablesorter-bootstrap.table-inverse thead .tablesorter-headerDesc {
|
||||
.tablesorter-bootstrap thead.thead-dark .tablesorter-headerDesc,
|
||||
.tablesorter-bootstrap.table-dark thead .tablesorter-headerDesc {
|
||||
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTQgNWwtMi41LTIuNS00LjUgNC41LTQuNS00LjVMMCA1IDcgMTJ6Ii8+PC9zdmc+);
|
||||
}
|
||||
|
||||
/* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.odd > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.tablesorter-hasChildRow.odd:hover ~ tr.tablesorter-hasChildRow.odd ~ .tablesorter-childRow.odd > td {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.odd > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.tablesorter-hasChildRow.odd:hover ~ tr.tablesorter-hasChildRow.odd ~ .tablesorter-childRow.odd > td {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.hover > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.odd:hover > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.even:hover > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.tablesorter-hasChildRow.odd:hover ~ .tablesorter-childRow.odd > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.tablesorter-hasChildRow.even:hover ~ .tablesorter-childRow.even > td {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.hover > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.odd:hover > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.even:hover > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.tablesorter-hasChildRow.odd:hover ~ .tablesorter-childRow.odd > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.tablesorter-hasChildRow.even:hover ~ .tablesorter-childRow.even > td {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.even > td,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.tablesorter-hasChildRow.even:hover ~ tr.tablesorter-hasChildRow.even ~ .tablesorter-childRow.even > td {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.even > td,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.tablesorter-hasChildRow.even:hover ~ tr.tablesorter-hasChildRow.even ~ .tablesorter-childRow.even > td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@ -89,30 +89,30 @@
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.odd td.primary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.odd td.primary {
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr td.primary,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.even td.primary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr td.primary,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.even td.primary {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.odd td.secondary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.odd td.secondary {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr td.secondary,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.even td.secondary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr td.secondary,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.even td.secondary {
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.odd td.tertiary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.odd td.tertiary {
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr td.tertiary,
|
||||
.tablesorter-bootstrap:not(.table-inverse) > tbody > tr.even td.tertiary {
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr td.tertiary,
|
||||
.tablesorter-bootstrap:not(.table-dark) > tbody > tr.even td.tertiary {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
.tablesorter-bootstrap:not(.table-inverse) .caption {
|
||||
.tablesorter-bootstrap:not(.table-dark) .caption {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@ -129,11 +129,11 @@
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) .tablesorter-filter-row {
|
||||
.tablesorter-bootstrap:not(.table-dark) .tablesorter-filter-row {
|
||||
background-color: #efefef;
|
||||
}
|
||||
.tablesorter-bootstrap:not(.table-inverse) .tablesorter-filter-row input.tablesorter-filter,
|
||||
.tablesorter-bootstrap:not(.table-inverse) .tablesorter-filter-row select.tablesorter-filter {
|
||||
.tablesorter-bootstrap:not(.table-dark) .tablesorter-filter-row input.tablesorter-filter,
|
||||
.tablesorter-bootstrap:not(.table-dark) .tablesorter-filter-row select.tablesorter-filter {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@ -144,7 +144,7 @@
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
.tablesorter-bootstrap:not(.table-inverse) .tablesorter-filter-row td {
|
||||
.tablesorter-bootstrap:not(.table-dark) .tablesorter-filter-row td {
|
||||
line-height: normal;
|
||||
text-align: center;
|
||||
padding: 4px 6px;
|
||||
@ -176,13 +176,12 @@
|
||||
}
|
||||
|
||||
/* pager plugin */
|
||||
|
||||
.tablesorter-bootstrap .tablesorter-pager .pagedisplay {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter:not(.table-inverse) .tablesorter-errorRow td {
|
||||
.tablesorter:not(.table-dark) .tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
|
2
dist/css/theme.bootstrap_4.min.css
vendored
2
dist/css/theme.bootstrap_4.min.css
vendored
File diff suppressed because one or more lines are too long
8
dist/js/jquery.tablesorter.combined.js
vendored
8
dist/js/jquery.tablesorter.combined.js
vendored
@ -1,4 +1,4 @@
|
||||
/*! tablesorter (FORK) - updated 12-13-2017 (v2.29.2)*/
|
||||
/*! tablesorter (FORK) - updated 01-10-2018 (v2.29.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
@ -10,7 +10,7 @@
|
||||
}
|
||||
}(function(jQuery) {
|
||||
|
||||
/*! TableSorter (FORK) v2.29.2 *//*
|
||||
/*! TableSorter (FORK) v2.29.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -34,7 +34,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.29.2',
|
||||
version : '2.29.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -1158,7 +1158,7 @@
|
||||
if ( $sorted.length ) {
|
||||
for ( column = 0; column < $sorted.length; column++ ) {
|
||||
if ( !$sorted[ column ].sortDisabled ) {
|
||||
updateColumnSort( $sorted.eq( column ) , list[ indx ][ 1 ] );
|
||||
updateColumnSort( $sorted.eq( column ), list[ indx ][ 1 ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
4
dist/js/jquery.tablesorter.combined.min.js
vendored
4
dist/js/jquery.tablesorter.combined.min.js
vendored
File diff suppressed because one or more lines are too long
6
dist/js/jquery.tablesorter.js
vendored
6
dist/js/jquery.tablesorter.js
vendored
@ -8,7 +8,7 @@
|
||||
}
|
||||
}(function(jQuery) {
|
||||
|
||||
/*! TableSorter (FORK) v2.29.2 *//*
|
||||
/*! TableSorter (FORK) v2.29.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -32,7 +32,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.29.2',
|
||||
version : '2.29.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -1156,7 +1156,7 @@
|
||||
if ( $sorted.length ) {
|
||||
for ( column = 0; column < $sorted.length; column++ ) {
|
||||
if ( !$sorted[ column ].sortDisabled ) {
|
||||
updateColumnSort( $sorted.eq( column ) , list[ indx ][ 1 ] );
|
||||
updateColumnSort( $sorted.eq( column ), list[ indx ][ 1 ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
dist/js/jquery.tablesorter.min.js
vendored
2
dist/js/jquery.tablesorter.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/jquery.tablesorter.widgets.js
vendored
2
dist/js/jquery.tablesorter.widgets.js
vendored
@ -1,4 +1,4 @@
|
||||
/*! tablesorter (FORK) - updated 12-13-2017 (v2.29.2)*/
|
||||
/*! tablesorter (FORK) - updated 01-10-2018 (v2.29.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
|
2
dist/js/jquery.tablesorter.widgets.min.js
vendored
2
dist/js/jquery.tablesorter.widgets.min.js
vendored
File diff suppressed because one or more lines are too long
10
dist/js/parsers/parser-network.min.js
vendored
10
dist/js/parsers/parser-network.min.js
vendored
@ -1,5 +1,5 @@
|
||||
/*! Parser: network - updated 5/17/2015 (v2.22.0) */
|
||||
!function(d){"use strict";var e,r,t=d.tablesorter;/*! IPv6 Address parser (WIP) */
|
||||
d.extend(t.regex,{},{ipv4Validate:/((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})/,ipv4Extract:/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/,ipv6Validate:/^\s*((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/i}),t.addParser({id:"ipv6Address",is:function(d){return t.regex.ipv6Validate.test(d)},format:function(d,e){var r,a,i,f,n,s=!!e&&("boolean"==typeof e?e:e&&e.config.ipv6HexFormat||!1),c="",p="";if(d=d.replace(/\s*/g,""),t.regex.ipv4Validate.test(d)){for(f=d.match(t.regex.ipv4Extract),a="",r=1;r<f.length;r++)a+=("00"+parseInt(f[r],10).toString(16)).slice(-2)+(2===r?":":"");d=d.replace(t.regex.ipv4Extract,a)}if(-1==d.indexOf("::"))c=d;else{for(i=d.split("::"),n=0,r=0;r<i.length;r++)n+=i[r].split(":").length;for(c+=i[0]+":",r=0;r<8-n;r++)c+="0000:";c+=i[1]}for(f=c.split(":"),r=0;r<8;r++)f[r]=s?("0000"+f[r]).slice(-4):("00000"+(parseInt(f[r],16)||0)).slice(-5),p+=7!=r?f[r]+":":f[r];return s?p:p.replace(/:/g,"")},type:"numeric"}),r=function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},e=function(d,e){var r,a=d?d.split("."):"",i="",f=a.length;for(r=0;r<f;r++)i+=("000"+a[r]).slice(-3);return d?t.formatFloat(i,e):d},/*! Parser: ipv4Address (a.k.a. ipAddress) */
|
||||
t.addParser({id:"ipAddress",is:r,format:e,type:"numeric"}),t.addParser({id:"ipv4Address",is:r,format:e,type:"numeric"}),/*! Parser: MAC address */
|
||||
t.addParser({id:"MAC",is:function(){return!1},format:function(d){var e,r,t="",a=(d||"").replace(/[:.-]/g,"").match(/\w{2}/g);if(a){for(r=a.length,e=0;e<r;e++)t+=("000"+parseInt(a[e],16)).slice(-3);return t}return d},type:"numeric"})}(jQuery);
|
||||
/*! Parser: network - updated 2018-01-10 (v2.29.3) */
|
||||
!function(d){"use strict";var e,t,a=d.tablesorter;/*! IPv6 Address parser (WIP) */
|
||||
d.extend(a.regex,{},{ipv4Validate:/((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})/,ipv4Extract:/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/,ipv6Validate:/^\s*((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/i}),a.defaults.ipv6HexFormat=!1,a.addParser({id:"ipv6Address",is:function(d){return a.regex.ipv6Validate.test(d)},format:function(d,e){var t,r,i,f,s,n=!!e&&("boolean"==typeof e?e:e&&e.config.ipv6HexFormat||!1),p="",o="";if(d=d.replace(/\s*/g,""),a.regex.ipv4Validate.test(d)){for(f=d.match(a.regex.ipv4Extract),r="",t=1;t<f.length;t++)r+=("00"+parseInt(f[t],10).toString(16)).slice(-2)+(2===t?":":"");d=d.replace(a.regex.ipv4Extract,r)}if(-1==d.indexOf("::"))p=d;else{for(i=d.split("::"),s=0,t=0;t<i.length;t++)s+=i[t].split(":").length;for(p+=i[0]+":",t=0;t<8-s;t++)p+="0000:";p+=i[1]}for(f=p.split(":"),t=0;t<8;t++)f[t]=n?("0000"+f[t]).slice(-4):("00000"+(parseInt(f[t],16)||0)).slice(-5),o+=7!=t?f[t]+":":f[t];return o},type:"text"}),t=function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},e=function(d){var e,t=d?d.split("."):"",a=[],r=t.length;for(e=0;e<r;e++)a.push(("000"+t[e]).slice(-3));return d?a.join("."):d},/*! Parser: ipv4Address (a.k.a. ipAddress) */
|
||||
a.addParser({id:"ipAddress",is:t,format:e,type:"text"}),a.addParser({id:"ipv4Address",is:t,format:e,type:"text"}),/*! Parser: MAC address */
|
||||
a.addParser({id:"MAC",is:function(){return!1},format:function(d){var e,t,a=[],r=(d||"").replace(/[:.-]/g,"").match(/\w{2}/g);if(r){for(t=r.length,e=0;e<t;e++)a.push(("000"+parseInt(r[e],16)).slice(-3));return a.join(".")}return d},type:"text"})}(jQuery);
|
4
docs/css/bootstrap-v4.min.css
vendored
4
docs/css/bootstrap-v4.min.css
vendored
File diff suppressed because one or more lines are too long
@ -132,6 +132,13 @@
|
||||
<li>Go to <a href="example-option-theme-bootstrap-v3.html">Bootstrap v3.x</a> or <a href="example-option-theme-bootstrap-v2.html">Bootstrap v2.x</a> demo.</li>
|
||||
<li>Get the current version of <a href="https://getbootstrap.com/">Bootstrap</a> (now v4.x).<br><br></li>
|
||||
|
||||
<li>In <span class="version updated">v2.29.3</span>
|
||||
<ul>
|
||||
<li>Updated to use Bootstrap v4.0.0-beta.2.</li>
|
||||
<li>Updated theme v4 by changing <code>table-inverse</code> to <code>table-dark</code>.</li>
|
||||
<li>Updated theme v4 by changing <code>thead-inverse</code> to <code>thead-dark</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>In <span class="version updated">v2.29.0</span>, updated to use Bootstrap v4.0.0-beta.</li>
|
||||
<li>In <span class="version">v2.28.4</span>, added this Bootstrap v4.0.0-alpha.6 demo.</li>
|
||||
<li>Notes:
|
||||
@ -153,7 +160,7 @@
|
||||
<br>
|
||||
|
||||
<div id="demo"><table class="table table-bordered table-striped">
|
||||
<thead> <!-- add class="thead-inverse" for a dark header -->
|
||||
<thead class="thead-dark"> <!-- add class="thead-light" for a light header -->
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Major</th>
|
||||
|
@ -48,11 +48,13 @@
|
||||
<em>NOTE!</em>
|
||||
</p>
|
||||
<ul>
|
||||
<li><span class="label warning">NOTE</span> The default "ipAddress" parser (also named "ipv4Address") is included with the original tablesorter; it was moved to the <code>parser-network.js</code> file in <span class="version">v2.18.0</span>.</li>
|
||||
<li><span class="label warning">NOTE</span> The default "ipAddress" parser (also named "ipv4Address") is included with the original tablesorter; it was moved to the <code>parser-network.js</code> file in <span class="version">v2.18.0</span>.<br><br></li>
|
||||
|
||||
<li>In <span class="version">v2.29.3</span>, all included parsers were changed to return a text representation of the network address. The specific issue was that the parsed IPv6 numerical values were too large for javascript to properly recognize the number.</li>
|
||||
<li>A parser for IPv6 was added in <span class="version">v2.12</span> and named "ipv6Address":
|
||||
<ul>
|
||||
<li>Unlike some other custom parsers, this one will auto-detect & check for a valid IPv6 address since the same address can be represented in many different ways. Some examples are shown in the demo table below.</li>
|
||||
<li>IPv6 addresses are stored in the cache in their canonical decimal form, without the colons, for faster & easier numerical sorting.</li>
|
||||
<li>IPv6 addresses are stored in the cache in their canonical decimal form, for faster & easier numerical sorting.</li>
|
||||
<li><a href="../test.html">Extensive unit tests</a> are included with this parser.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
@ -316,6 +316,23 @@ $(function() {
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h3><a href="#">Incompatibilities</a></h3>
|
||||
<div>
|
||||
The scroller widget is <em>known</em> to be currently incompatible with these widgets (there may be more):
|
||||
<ul>
|
||||
<li>Editable</li>
|
||||
<li>Math</li>
|
||||
<li>Reorder</li>
|
||||
<li>Resizable</li>
|
||||
<li>StickyHeaders</li>
|
||||
</ul>
|
||||
There is partial compatibility with these widgets:
|
||||
<ul>
|
||||
<li>Filter, except for custom <a href="index.html#widget-filter-functions"><code>filter_functions</code></a> and <a href="index.html#widget-filter-formatter"><code>filter_formatter</code></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h3><a href="#">Options</a></h3>
|
||||
<div>
|
||||
<h4>Scroller widget defaults (added inside of tablesorter <code>widgetOptions</code>)</h4>
|
||||
|
@ -354,7 +354,7 @@
|
||||
<h4>Theming</h4>
|
||||
<ul>
|
||||
<li>The <a href="example-option-theme-bootstrap-v2.html">Bootstrap v2.x</a>, <a href="example-option-theme-bootstrap-v3.html">Bootstrap v3.x</a> & <a href="example-widget-ui-theme.html">jQuery UI</a> themes require the uitheme widget.</li>
|
||||
<li>The <a href="example-option-theme-bootstrap-v4.html">Bootstrap v4.x</a> theme (<span class="version">v2.28.4</span>) does not require the uitheme widget!</li>
|
||||
<li>The <a href="example-option-theme-bootstrap-v4.html">Bootstrap v4.x</a> theme (<span class="version">v2.28.4</span>; <span class="version updated">2.29.3</span>) does not require the uitheme widget!</li>
|
||||
<li>Set up a <a href="example-option-theme-metro-style.html">Metro style theme</a> (<span class="version">v2.16.4</span>).</li>
|
||||
<li>Set up a <a href="example-option-theme-materialize.html">Materialize theme</a> (<span class="version">v2.27.0</span>).</li>
|
||||
<li>Use css to <a href="example-css-highlighting.html">highlight rows & columns</a> (<span class="version">v2.20.0</span>); css file added (<span class="version">v2.28.6</span>).</li>
|
||||
@ -524,7 +524,7 @@
|
||||
<li><a href="example-widget-ui-theme.html">jQuery UI theme</a> (v2.0.9; <span class="version updated">v2.27.0</span>).</li>
|
||||
<li><a href="example-option-theme-bootstrap-v2.html">Bootstrap v2.x</a> (demo added <span class="version">v2.22.0</span>).</li>
|
||||
<li><a href="example-option-theme-bootstrap-v3.html">Bootstrap v3.x</a> (v2.4.0; <span class="version updated">v2.28.4</span>).</li>
|
||||
<li><a href="example-option-theme-bootstrap-v4.html">Bootstrap v4.x</a> (<span class="version updated">v2.29.0</span>) <span class="label warning">NOTE</span> <strong>does not</strong> require the uitheme widget!</li>
|
||||
<li><a href="example-option-theme-bootstrap-v4.html">Bootstrap v4.x</a> (<span class="version updated">v2.29.3</span>) <span class="label warning">NOTE</span> <strong>does not</strong> require the uitheme widget!</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><span class="label label-info">Beta</span> <a href="example-widget-vertical-group.html">Vertical Group Widget</a> (<span class="version">v2.29.2</span>).</li>
|
||||
@ -547,7 +547,7 @@
|
||||
<li><a href="example-parsers-leading-zeros.html">Leading zeros parser</a> (<span class="version">v2.28.6</span>).</li>
|
||||
<li><a href="example-parsers-metric.html">Metric parser</a> (<span class="version">v2.8</span>).</li>
|
||||
<li><a href="example-parsers-named-numbers.html">Named Numbers parser</a> (<span class="version">v2.18.0</span>; <span class="version updated">v2.22.0</span>).</li>
|
||||
<li><a href="example-parsers-ip-address.html">Network (IPv4, IPv6 and MAC address parser</a> (<span class="version">v2.12</span>; <span class="version updated">v2.22.0</span>; <span class="label warning">NOTE</span> "ipAddress" parser moved to this file in v2.18.0).</li>
|
||||
<li><a href="example-parsers-ip-address.html">Network (IPv4, IPv6 and MAC address parser</a> (<span class="version">v2.12</span>; <span class="version updated">v2.29.3</span>; <span class="label warning">NOTE</span> "ipAddress" parser moved to this file in v2.18.0).</li>
|
||||
<li><a href="example-parsers-roman.html">Roman Numeral parser</a> (<span class="version">v2.17.3</span>).</li>
|
||||
<li><a href="example-option-textsorter-semver.html">Semantic Versioning (Semver) sorting</a> (<span class="version">v2.14.3</span>; <span class="version updated">v2.21.4</span>).</li>
|
||||
</ul>
|
||||
@ -4724,6 +4724,7 @@ $('table').trigger('search', false);</pre></div>
|
||||
<div class="collapsible">
|
||||
<br>
|
||||
<span class="label label-info">Note</span> The pager widget equivalent option is within the <code>widgetOptions</code> and accessed via <code>widgetOptions.pager_size</code>
|
||||
<p>Set this option to <code>'all'</code> to show all rows (added <span class="version">v2.26.0</span>).</p>
|
||||
</div>
|
||||
</td>
|
||||
<td><a href="example-pager.html">Example</a></td>
|
||||
|
10
docs/js/bootstrap.min.js
vendored
10
docs/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -4,7 +4,7 @@
|
||||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
||||
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
||||
*/
|
||||
/*! tablesorter (FORK) - updated 12-13-2017 (v2.29.2)*/
|
||||
/*! tablesorter (FORK) - updated 01-10-2018 (v2.29.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
@ -16,7 +16,7 @@
|
||||
}
|
||||
}(function(jQuery) {
|
||||
|
||||
/*! TableSorter (FORK) v2.29.2 *//*
|
||||
/*! TableSorter (FORK) v2.29.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -40,7 +40,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.29.2',
|
||||
version : '2.29.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -1164,7 +1164,7 @@
|
||||
if ( $sorted.length ) {
|
||||
for ( column = 0; column < $sorted.length; column++ ) {
|
||||
if ( !$sorted[ column ].sortDisabled ) {
|
||||
updateColumnSort( $sorted.eq( column ) , list[ indx ][ 1 ] );
|
||||
updateColumnSort( $sorted.eq( column ), list[ indx ][ 1 ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! TableSorter (FORK) v2.29.2 *//*
|
||||
/*! TableSorter (FORK) v2.29.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.29.2',
|
||||
version : '2.29.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -1146,7 +1146,7 @@
|
||||
if ( $sorted.length ) {
|
||||
for ( column = 0; column < $sorted.length; column++ ) {
|
||||
if ( !$sorted[ column ].sortDisabled ) {
|
||||
updateColumnSort( $sorted.eq( column ) , list[ indx ][ 1 ] );
|
||||
updateColumnSort( $sorted.eq( column ), list[ indx ][ 1 ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
||||
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
||||
*/
|
||||
/*! tablesorter (FORK) - updated 12-13-2017 (v2.29.2)*/
|
||||
/*! tablesorter (FORK) - updated 01-10-2018 (v2.29.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! Parser: network - updated 5/17/2015 (v2.22.0) */
|
||||
/*! Parser: network - updated 2018-01-10 (v2.29.3) */
|
||||
/* IPv4, IPv6 and MAC Addresses */
|
||||
/*global jQuery: false */
|
||||
;(function($){
|
||||
@ -23,6 +23,10 @@
|
||||
ipv6Validate : /^\s*((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/i
|
||||
});
|
||||
|
||||
// used for internal testing; it's not useful to set this to true because the natural sort algorithm
|
||||
// is set up to only sort solitary hex values ("ffff") vs separated hex values ("ffff.ffff")
|
||||
ts.defaults.ipv6HexFormat = false;
|
||||
|
||||
ts.addParser({
|
||||
id: 'ipv6Address',
|
||||
is: function(s) {
|
||||
@ -72,10 +76,10 @@
|
||||
('00000' + (parseInt(groups[i], 16) || 0)).slice(-5);
|
||||
expandedAddress += ( i != validGroupCount - 1) ? groups[i] + ':' : groups[i];
|
||||
}
|
||||
return hex ? expandedAddress : expandedAddress.replace(/:/g, '');
|
||||
return expandedAddress;
|
||||
},
|
||||
// uses natural sort hex compare
|
||||
type: 'numeric'
|
||||
type: 'text'
|
||||
});
|
||||
|
||||
// ipv4 address
|
||||
@ -83,14 +87,15 @@
|
||||
ipv4Is = function(s) {
|
||||
return (/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/).test(s);
|
||||
};
|
||||
ipv4Format = function(s, table) {
|
||||
var i, a = s ? s.split('.') : '',
|
||||
r = '',
|
||||
ipv4Format = function(s) {
|
||||
var i,
|
||||
a = s ? s.split('.') : '',
|
||||
r = [],
|
||||
l = a.length;
|
||||
for (i = 0; i < l; i++) {
|
||||
r += ('000' + a[i]).slice(-3);
|
||||
r.push(('000' + a[i]).slice(-3));
|
||||
}
|
||||
return s ? ts.formatFloat(r, table) : s;
|
||||
return s ? r.join('.') : s;
|
||||
};
|
||||
|
||||
/*! Parser: ipv4Address (a.k.a. ipAddress) */
|
||||
@ -99,13 +104,13 @@
|
||||
id: 'ipAddress',
|
||||
is: ipv4Is,
|
||||
format: ipv4Format,
|
||||
type: 'numeric'
|
||||
type: 'text'
|
||||
});
|
||||
ts.addParser({
|
||||
id: 'ipv4Address',
|
||||
is: ipv4Is,
|
||||
format: ipv4Format,
|
||||
type: 'numeric'
|
||||
type: 'text'
|
||||
});
|
||||
|
||||
/*! Parser: MAC address */
|
||||
@ -118,21 +123,21 @@
|
||||
},
|
||||
format : function( str ) {
|
||||
var indx, len,
|
||||
mac = '',
|
||||
mac = [],
|
||||
val = ( str || '' ).replace( /[:.-]/g, '' ).match( /\w{2}/g );
|
||||
if ( val ) {
|
||||
// not assuming all mac addresses in the column will end up with six
|
||||
// groups of two to process, so it's not actually validating the address
|
||||
len = val.length;
|
||||
for ( indx = 0; indx < len; indx++ ) {
|
||||
mac += ( '000' + parseInt( val[ indx ], 16 ) ).slice( -3 );
|
||||
mac.push(( '000' + parseInt( val[ indx ], 16 ) ).slice( -3 ));
|
||||
}
|
||||
return mac;
|
||||
return mac.join('.');
|
||||
}
|
||||
return str;
|
||||
},
|
||||
// uses natural sort hex compare
|
||||
type : 'numeric'
|
||||
type : 'text'
|
||||
});
|
||||
|
||||
})( jQuery );
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tablesorter",
|
||||
"title": "tablesorter",
|
||||
"version": "2.29.2",
|
||||
"version": "2.29.3",
|
||||
"description": "tablesorter (FORK) is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.",
|
||||
"author": {
|
||||
"name": "Christian Bach",
|
||||
@ -20,7 +20,7 @@
|
||||
"docs": "https://mottie.github.io/tablesorter/docs/index.html",
|
||||
"demo": "https://github.com/Mottie/tablesorter/wiki",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.2.6"
|
||||
"jquery": ">=3.2.1"
|
||||
},
|
||||
"keywords": [
|
||||
"table",
|
||||
@ -61,7 +61,7 @@
|
||||
"grunt-contrib-cssmin": "^2.2.1",
|
||||
"grunt-contrib-jshint": "^1.1.0",
|
||||
"grunt-contrib-qunit": "^2.0.0",
|
||||
"grunt-contrib-uglify": "^3.0.1",
|
||||
"grunt-contrib-uglify": "^3.3.0",
|
||||
"grunt-contrib-watch": "^1.0.0",
|
||||
"grunt-htmlhint": "^0.9.13",
|
||||
"grunt-jscs": "^3.0.1",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tablesorter",
|
||||
"title": "tablesorter",
|
||||
"version": "2.29.2",
|
||||
"version": "2.29.3",
|
||||
"description": "tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.\n\nThis forked version adds lots of new enhancements including: alphanumeric sorting, pager callback functons, multiple widgets providing column styling, ui theme application, sticky headers, column filters and resizer, as well as extended documentation with a lot more demos.",
|
||||
"author": {
|
||||
"name": "Christian Bach",
|
||||
|
@ -489,7 +489,7 @@ jQuery(function($){
|
||||
sample1 = {
|
||||
'text' : { 'test': 'test', 'TesT': 'test', '\u00e1 test': '\u00e1 test' },
|
||||
'currency' : { '\u00a31': 1, '($2.23)': -2.23, '5\u20ac': 5, '(11\u00a4)': -11, '500\u00a5': 500, '25\u00a2': 25, '$1,000.50': 1000.5 },
|
||||
'ipAddress' : { '255.255.255.255': 255255255255, '32.32.32.32': 32032032032, '1.1.1.1': 1001001001 },
|
||||
'ipAddress' : { '255.255.255.255': '255.255.255.255', '32.32.32.32': '032.032.032.032', '1.1.1.1': '001.001.001.001' },
|
||||
'url' : { 'http://google.com': 'google.com', 'ftp://fred.com': 'fred.com', 'https://github.com': 'github.com' },
|
||||
'isoDate' : { '2012/12/12': returnTime('2012/12/12'), '2012-12/12': returnTime('2012/12/12'), '2013-1-1': returnTime('2013/1/1'), '2013/1/1 12:34:56 AM': returnTime('2013/1/1 12:34:56 AM') },
|
||||
'percent' : { '100%': 100, '22%': 22, '%2': 2, '2 %': 2, '(4%)': -4, '1,234.56 %': 1234.56 },
|
||||
|
Loading…
Reference in New Issue
Block a user