mirror of
https://github.com/Mottie/tablesorter.git
synced 2024-11-15 23:54:22 +00:00
verion bump
This commit is contained in:
parent
67a538a495
commit
fca6ef2652
65
README.md
65
README.md
@ -101,6 +101,16 @@ If you would like to contribute, please...
|
||||
|
||||
View the [complete change log here](https://github.com/Mottie/tablesorter/wiki/Changes).
|
||||
|
||||
#### <a name="v2.27.3">Version 2.27.3</a> (8/17/2016)
|
||||
|
||||
* Core: `getColumnData` now allows falsy values.
|
||||
* Filter:
|
||||
* Add delay to "filterFormatterUpdate". See [issue #1237](https://github.com/Mottie/tablesorter/issues/1237).
|
||||
* `filter_liveSearch` now accepts an object.
|
||||
* Pager: use ajax flag when calculating filtered rows.
|
||||
* Readme: Fix date of last release.
|
||||
* Testing: Update QUnit.
|
||||
|
||||
#### <a name="v2.27.2">Version 2.27.2</a> (8/2/2016)
|
||||
|
||||
* Docs: Update versions.
|
||||
@ -111,58 +121,3 @@ View the [complete change log here](https://github.com/Mottie/tablesorter/wiki/C
|
||||
|
||||
* ColumnSelector: Fix undefined variable.
|
||||
* Mark: Fix linting issues.
|
||||
|
||||
#### <a name="v2.27.0">Version 2.27.0</a> (7/31/2016)
|
||||
|
||||
* Core:
|
||||
* `updateCache` now ignores "remove-me" rows.
|
||||
* Add column count to debug log.
|
||||
* Tweak internal sortVars & sortReset. Fixes [#1137](https://github.com/Mottie/tablesorter/issues/1137).
|
||||
* ColumnSelector:
|
||||
* Add max/min visible columns settings.
|
||||
* Set state to `null` for disabled columns - Fixes JSON issues with not storing `undefined` values.
|
||||
* Fix null comparison & incorrect option.
|
||||
* CurrentSort: Add `currentSort` widget. Fixes [issue #1208](https://github.com/Mottie/tablesorter/issues/1208).
|
||||
* Filter:
|
||||
* `getFilters` will now always return an array. Fixes [issue #1250](https://github.com/Mottie/tablesorter/issues/1250). **API change**
|
||||
* Allow ES6 regex flags.
|
||||
* Add rowIndex to filter data.
|
||||
* Trigger filter formatters after update. See [issue #1237](https://github.com/Mottie/tablesorter/issues/1237).
|
||||
* Selected column query works again. Fixes [issue #1267](https://github.com/Mottie/tablesorter/issues/1267); broken since [a6b25ae](https://github.com/Mottie/tablesorter/commit/a6b25ae4c0cc44dcf935568b2f100ae65117ea74).
|
||||
* Grouping: Prevent js errors on non-string values.
|
||||
* Mark: Add mark widget. Fixes [issue #1243](https://github.com/Mottie/tablesorter/issues/1243).
|
||||
* Math:
|
||||
* Add `data-math-target` attribute.
|
||||
* Add `math-debug` option.
|
||||
* Output:
|
||||
* Automatically ignore widget added rows.
|
||||
* Add "url" parameter to output_callback function.
|
||||
* Scroller: Update when `applyWidgets` is used. See [issue #1261](https://github.com/Mottie/tablesorter/issues/1261).
|
||||
* StickyHeaders: Add `appendTo` option.
|
||||
* UITheme: jQuery v1.12.0 renamed "carat" to "caret". Fixes [issue #1257](https://github.com/Mottie/tablesorter/issues/1257).
|
||||
* Parsers: Url parser now ignores "www" & removed parsed flag. The filter widget finds "http" querys.
|
||||
* Docs:
|
||||
* Fix docs javascript; some demos still using jQuery < 1.7.
|
||||
* Add scroller widget RTL details. See [issue #906](https://github.com/Mottie/tablesorter/issues/906).
|
||||
* Clarify & expand grouping widget usage.
|
||||
* Include ajax type.
|
||||
* Add ajax type example to main docs.
|
||||
* Update jQuery UI & fix uitheme docs.
|
||||
* Remove old syntax highlighter.
|
||||
* Update theme switcher.
|
||||
* Switch to use jQuery <3.0.0 for Bootstrap demos; later reverted this change after updating to Bootstrap v3.3.7.
|
||||
* Add link to `cssIgnoreRow` example.
|
||||
* Clarify column selector initial state.
|
||||
* Fix HTML issues.
|
||||
* Add filter event function parameter examples.
|
||||
* Themes:
|
||||
* Hide icon when column is disabled.
|
||||
* Optimize PNGs in data URLs using ZopfliPNG as well.
|
||||
* Compress PNG images further. See [pull #1251](https://github.com/Mottie/tablesorter/pull/1251); thanks [@Herst](https://github.com/Herst)!
|
||||
* Add Materialize theme style. Fixes [issue #1242](https://github.com/Mottie/tablesorter/issues/1242).
|
||||
* Meta:
|
||||
* Grunt: Fix IIFE jQuery reference. Fixes [issue #1255](https://github.com/Mottie/tablesorter/issues/1255).
|
||||
* Grunt: Update dependencies.
|
||||
* Testing: Add filter anyMatch queries; Sadly unrelated to [issue #1267](https://github.com/Mottie/tablesorter/issues/1267).
|
||||
* Bower: Oust meta warnings. Fixes [issue #1264](https://github.com/Mottie/tablesorter/issues/1264).
|
||||
* Bower: Add recommending settings. Fixes [issue #1265](https://github.com/Mottie/tablesorter/issues/1265).
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* tablesorter (FORK) pager plugin
|
||||
* updated 7/11/2016 (v2.26.6)
|
||||
* updated 8/17/2016 (v2.27.3)
|
||||
*/
|
||||
/*jshint browser:true, jquery:true, unused:false */
|
||||
;(function($) {
|
||||
|
File diff suppressed because one or more lines are too long
46
dist/js/jquery.tablesorter.combined.js
vendored
46
dist/js/jquery.tablesorter.combined.js
vendored
@ -1,4 +1,4 @@
|
||||
/*! tablesorter (FORK) - updated 08-02-2016 (v2.27.2)*/
|
||||
/*! tablesorter (FORK) - updated 08-17-2016 (v2.27.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.27.2 *//*
|
||||
/*! TableSorter (FORK) v2.27.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -34,7 +34,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.27.2',
|
||||
version : '2.27.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -2291,7 +2291,7 @@
|
||||
// c.$headerIndexed is not defined initially
|
||||
$cell = c.$headerIndexed && c.$headerIndexed[ indx ] ||
|
||||
$cells.filter( '[data-column="' + indx + '"]:last' );
|
||||
if ( obj[ indx ] ) {
|
||||
if ( typeof obj[ indx ] !== 'undefined' ) {
|
||||
return getCell ? obj[ indx ] : obj[ $cells.index( $cell ) ];
|
||||
}
|
||||
for ( key in obj ) {
|
||||
@ -3120,7 +3120,7 @@
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*! Widget: filter - updated 7/31/2016 (v2.27.0) *//*
|
||||
/*! Widget: filter - updated 8/17/2016 (v2.27.3) *//*
|
||||
* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
@ -3559,8 +3559,10 @@
|
||||
// force a new search since content has changed
|
||||
c.lastCombinedFilter = null;
|
||||
c.lastSearch = [];
|
||||
// update filterFormatters after update - Fixes #1237
|
||||
// update filterFormatters after update (& small delay) - Fixes #1237
|
||||
setTimeout(function(){
|
||||
c.$table.triggerHandler( 'filterFomatterUpdate' );
|
||||
}, 100);
|
||||
}
|
||||
// pass true ( skipFirst ) to prevent the tablesorter.setFilters function from skipping the first
|
||||
// input ensures all inputs are updated when a search is triggered on the table
|
||||
@ -3918,19 +3920,24 @@
|
||||
})
|
||||
.bind( 'keyup' + namespace, function( event ) {
|
||||
wo = table.config.widgetOptions; // make sure "wo" isn't cached
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 );
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 ),
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ? wo.filter_liveSearch :
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch === 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
// emulate what webkit does.... escape clears the filter
|
||||
if ( event.which === tskeyCodes.escape ) {
|
||||
// make sure to restore the last value on escape
|
||||
this.value = wo.filter_resetOnEsc ? '' : c.lastSearch[column];
|
||||
// live search
|
||||
} else if ( wo.filter_liveSearch === false ) {
|
||||
} else if ( liveSearch === false ) {
|
||||
return;
|
||||
// don't return if the search value is empty ( all rows need to be revealed )
|
||||
} else if ( this.value !== '' && (
|
||||
// liveSearch can contain a min value length; ignore arrow and meta keys, but allow backspace
|
||||
( typeof wo.filter_liveSearch === 'number' && this.value.length < wo.filter_liveSearch ) ||
|
||||
( typeof liveSearch === 'number' && this.value.length < liveSearch ) ||
|
||||
// let return & backspace continue on, but ignore arrows & non-valid characters
|
||||
( event.which !== tskeyCodes.enter && event.which !== tskeyCodes.backSpace &&
|
||||
( event.which < tskeyCodes.space || ( event.which >= tskeyCodes.left && event.which <= tskeyCodes.down ) ) ) ) ) {
|
||||
@ -3952,18 +3959,31 @@
|
||||
event.preventDefault();
|
||||
// init search with no delay
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
tsf.searching( table, event.type !== 'keypress', true );
|
||||
tsf.searching( table, event.type !== 'keypress', true, column );
|
||||
}
|
||||
});
|
||||
},
|
||||
searching: function( table, filter, skipFirst ) {
|
||||
var wo = table.config.widgetOptions;
|
||||
searching: function( table, filter, skipFirst, column ) {
|
||||
var liveSearch,
|
||||
wo = table.config.widgetOptions;
|
||||
if (typeof column === 'undefined') {
|
||||
// no delay
|
||||
liveSearch = false;
|
||||
} else {
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ?
|
||||
wo.filter_liveSearch :
|
||||
// get column setting, or set to fallback value, or default to false
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch !== 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
}
|
||||
clearTimeout( wo.filter_searchTimer );
|
||||
if ( typeof filter === 'undefined' || filter === true ) {
|
||||
// delay filtering
|
||||
wo.filter_searchTimer = setTimeout( function() {
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
}, wo.filter_liveSearch ? wo.filter_searchDelay : 10 );
|
||||
}, liveSearch ? wo.filter_searchDelay : 10 );
|
||||
} else {
|
||||
// skip delay
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
|
8
dist/js/jquery.tablesorter.combined.min.js
vendored
8
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.27.2 *//*
|
||||
/*! TableSorter (FORK) v2.27.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -32,7 +32,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.27.2',
|
||||
version : '2.27.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -2289,7 +2289,7 @@
|
||||
// c.$headerIndexed is not defined initially
|
||||
$cell = c.$headerIndexed && c.$headerIndexed[ indx ] ||
|
||||
$cells.filter( '[data-column="' + indx + '"]:last' );
|
||||
if ( obj[ indx ] ) {
|
||||
if ( typeof obj[ indx ] !== 'undefined' ) {
|
||||
return getCell ? obj[ indx ] : obj[ $cells.index( $cell ) ];
|
||||
}
|
||||
for ( key in obj ) {
|
||||
|
4
dist/js/jquery.tablesorter.min.js
vendored
4
dist/js/jquery.tablesorter.min.js
vendored
File diff suppressed because one or more lines are too long
40
dist/js/jquery.tablesorter.widgets.js
vendored
40
dist/js/jquery.tablesorter.widgets.js
vendored
@ -1,4 +1,4 @@
|
||||
/*! tablesorter (FORK) - updated 08-02-2016 (v2.27.2)*/
|
||||
/*! tablesorter (FORK) - updated 08-17-2016 (v2.27.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
@ -376,7 +376,7 @@
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*! Widget: filter - updated 7/31/2016 (v2.27.0) *//*
|
||||
/*! Widget: filter - updated 8/17/2016 (v2.27.3) *//*
|
||||
* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
@ -815,8 +815,10 @@
|
||||
// force a new search since content has changed
|
||||
c.lastCombinedFilter = null;
|
||||
c.lastSearch = [];
|
||||
// update filterFormatters after update - Fixes #1237
|
||||
// update filterFormatters after update (& small delay) - Fixes #1237
|
||||
setTimeout(function(){
|
||||
c.$table.triggerHandler( 'filterFomatterUpdate' );
|
||||
}, 100);
|
||||
}
|
||||
// pass true ( skipFirst ) to prevent the tablesorter.setFilters function from skipping the first
|
||||
// input ensures all inputs are updated when a search is triggered on the table
|
||||
@ -1174,19 +1176,24 @@
|
||||
})
|
||||
.bind( 'keyup' + namespace, function( event ) {
|
||||
wo = table.config.widgetOptions; // make sure "wo" isn't cached
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 );
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 ),
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ? wo.filter_liveSearch :
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch === 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
// emulate what webkit does.... escape clears the filter
|
||||
if ( event.which === tskeyCodes.escape ) {
|
||||
// make sure to restore the last value on escape
|
||||
this.value = wo.filter_resetOnEsc ? '' : c.lastSearch[column];
|
||||
// live search
|
||||
} else if ( wo.filter_liveSearch === false ) {
|
||||
} else if ( liveSearch === false ) {
|
||||
return;
|
||||
// don't return if the search value is empty ( all rows need to be revealed )
|
||||
} else if ( this.value !== '' && (
|
||||
// liveSearch can contain a min value length; ignore arrow and meta keys, but allow backspace
|
||||
( typeof wo.filter_liveSearch === 'number' && this.value.length < wo.filter_liveSearch ) ||
|
||||
( typeof liveSearch === 'number' && this.value.length < liveSearch ) ||
|
||||
// let return & backspace continue on, but ignore arrows & non-valid characters
|
||||
( event.which !== tskeyCodes.enter && event.which !== tskeyCodes.backSpace &&
|
||||
( event.which < tskeyCodes.space || ( event.which >= tskeyCodes.left && event.which <= tskeyCodes.down ) ) ) ) ) {
|
||||
@ -1208,18 +1215,31 @@
|
||||
event.preventDefault();
|
||||
// init search with no delay
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
tsf.searching( table, event.type !== 'keypress', true );
|
||||
tsf.searching( table, event.type !== 'keypress', true, column );
|
||||
}
|
||||
});
|
||||
},
|
||||
searching: function( table, filter, skipFirst ) {
|
||||
var wo = table.config.widgetOptions;
|
||||
searching: function( table, filter, skipFirst, column ) {
|
||||
var liveSearch,
|
||||
wo = table.config.widgetOptions;
|
||||
if (typeof column === 'undefined') {
|
||||
// no delay
|
||||
liveSearch = false;
|
||||
} else {
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ?
|
||||
wo.filter_liveSearch :
|
||||
// get column setting, or set to fallback value, or default to false
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch !== 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
}
|
||||
clearTimeout( wo.filter_searchTimer );
|
||||
if ( typeof filter === 'undefined' || filter === true ) {
|
||||
// delay filtering
|
||||
wo.filter_searchTimer = setTimeout( function() {
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
}, wo.filter_liveSearch ? wo.filter_searchDelay : 10 );
|
||||
}, liveSearch ? wo.filter_searchDelay : 10 );
|
||||
} else {
|
||||
// skip delay
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
|
6
dist/js/jquery.tablesorter.widgets.min.js
vendored
6
dist/js/jquery.tablesorter.widgets.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/widgets/widget-filter.min.js
vendored
2
dist/js/widgets/widget-filter.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/js/widgets/widget-pager.min.js
vendored
2
dist/js/widgets/widget-pager.min.js
vendored
File diff suppressed because one or more lines are too long
@ -251,6 +251,7 @@ $(function(){
|
||||
<h3 id="notes"><a href="#">Notes</a></h3>
|
||||
<div>
|
||||
<ul>
|
||||
<li>In <span class="verison">v2.27.3</span>, <code>filter_liveSearch</code> will now accept an object containing zero-based column indexes or header class names.</li>
|
||||
<li>In <span class="verison">v2.26.6</span>, the <a class="intlink" href="#filter-hidefilters"><code>hideFilters</code></a> setting will now accept a function to determine when to hide the filter row.</li>
|
||||
<li>In <span class="version">v2.25.6</span>, added <a class="intlink" href="#methods"><code>filterResetSaved</code></a> method to clear stored filter values.</li>
|
||||
<li>In <span class="version">v2.25.2</span>, added <a class="intlink" href="#filter-resetonesc"><code>filter_resetOnEsc</code></a> option.</li>
|
||||
|
@ -491,9 +491,9 @@
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<li>Pager plugin (<a href="example-pager.html">basic</a> & <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.26.6</span>).</li>
|
||||
<li>Pager plugin (<a href="example-pager.html">basic</a> & <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.27.3</span>).</li>
|
||||
<li>
|
||||
Pager widget (<a href="example-widget-pager.html">basic</a> & <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.26.6</span>).<br>
|
||||
Pager widget (<a href="example-widget-pager.html">basic</a> & <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.27.3</span>).<br>
|
||||
<br>
|
||||
</li>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
||||
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
||||
*/
|
||||
/*! tablesorter (FORK) - updated 08-02-2016 (v2.27.2)*/
|
||||
/*! tablesorter (FORK) - updated 08-17-2016 (v2.27.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.27.2 *//*
|
||||
/*! TableSorter (FORK) v2.27.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -40,7 +40,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.27.2',
|
||||
version : '2.27.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
@ -2297,7 +2297,7 @@
|
||||
// c.$headerIndexed is not defined initially
|
||||
$cell = c.$headerIndexed && c.$headerIndexed[ indx ] ||
|
||||
$cells.filter( '[data-column="' + indx + '"]:last' );
|
||||
if ( obj[ indx ] ) {
|
||||
if ( typeof obj[ indx ] !== 'undefined' ) {
|
||||
return getCell ? obj[ indx ] : obj[ $cells.index( $cell ) ];
|
||||
}
|
||||
for ( key in obj ) {
|
||||
@ -3126,7 +3126,7 @@
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*! Widget: filter - updated 7/31/2016 (v2.27.0) *//*
|
||||
/*! Widget: filter - updated 8/17/2016 (v2.27.3) *//*
|
||||
* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
@ -3565,8 +3565,10 @@
|
||||
// force a new search since content has changed
|
||||
c.lastCombinedFilter = null;
|
||||
c.lastSearch = [];
|
||||
// update filterFormatters after update - Fixes #1237
|
||||
// update filterFormatters after update (& small delay) - Fixes #1237
|
||||
setTimeout(function(){
|
||||
c.$table.triggerHandler( 'filterFomatterUpdate' );
|
||||
}, 100);
|
||||
}
|
||||
// pass true ( skipFirst ) to prevent the tablesorter.setFilters function from skipping the first
|
||||
// input ensures all inputs are updated when a search is triggered on the table
|
||||
@ -3924,19 +3926,24 @@
|
||||
})
|
||||
.bind( 'keyup' + namespace, function( event ) {
|
||||
wo = table.config.widgetOptions; // make sure "wo" isn't cached
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 );
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 ),
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ? wo.filter_liveSearch :
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch === 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
// emulate what webkit does.... escape clears the filter
|
||||
if ( event.which === tskeyCodes.escape ) {
|
||||
// make sure to restore the last value on escape
|
||||
this.value = wo.filter_resetOnEsc ? '' : c.lastSearch[column];
|
||||
// live search
|
||||
} else if ( wo.filter_liveSearch === false ) {
|
||||
} else if ( liveSearch === false ) {
|
||||
return;
|
||||
// don't return if the search value is empty ( all rows need to be revealed )
|
||||
} else if ( this.value !== '' && (
|
||||
// liveSearch can contain a min value length; ignore arrow and meta keys, but allow backspace
|
||||
( typeof wo.filter_liveSearch === 'number' && this.value.length < wo.filter_liveSearch ) ||
|
||||
( typeof liveSearch === 'number' && this.value.length < liveSearch ) ||
|
||||
// let return & backspace continue on, but ignore arrows & non-valid characters
|
||||
( event.which !== tskeyCodes.enter && event.which !== tskeyCodes.backSpace &&
|
||||
( event.which < tskeyCodes.space || ( event.which >= tskeyCodes.left && event.which <= tskeyCodes.down ) ) ) ) ) {
|
||||
@ -3958,18 +3965,31 @@
|
||||
event.preventDefault();
|
||||
// init search with no delay
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
tsf.searching( table, event.type !== 'keypress', true );
|
||||
tsf.searching( table, event.type !== 'keypress', true, column );
|
||||
}
|
||||
});
|
||||
},
|
||||
searching: function( table, filter, skipFirst ) {
|
||||
var wo = table.config.widgetOptions;
|
||||
searching: function( table, filter, skipFirst, column ) {
|
||||
var liveSearch,
|
||||
wo = table.config.widgetOptions;
|
||||
if (typeof column === 'undefined') {
|
||||
// no delay
|
||||
liveSearch = false;
|
||||
} else {
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ?
|
||||
wo.filter_liveSearch :
|
||||
// get column setting, or set to fallback value, or default to false
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch !== 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
}
|
||||
clearTimeout( wo.filter_searchTimer );
|
||||
if ( typeof filter === 'undefined' || filter === true ) {
|
||||
// delay filtering
|
||||
wo.filter_searchTimer = setTimeout( function() {
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
}, wo.filter_liveSearch ? wo.filter_searchDelay : 10 );
|
||||
}, liveSearch ? wo.filter_searchDelay : 10 );
|
||||
} else {
|
||||
// skip delay
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! TableSorter (FORK) v2.27.2 *//*
|
||||
/*! TableSorter (FORK) v2.27.3 *//*
|
||||
* Client-side table sorting with ease!
|
||||
* @requires jQuery v1.2.6+
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
'use strict';
|
||||
var ts = $.tablesorter = {
|
||||
|
||||
version : '2.27.2',
|
||||
version : '2.27.3',
|
||||
|
||||
parsers : [],
|
||||
widgets : [],
|
||||
|
@ -4,7 +4,7 @@
|
||||
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀██
|
||||
█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
|
||||
*/
|
||||
/*! tablesorter (FORK) - updated 08-02-2016 (v2.27.2)*/
|
||||
/*! tablesorter (FORK) - updated 08-17-2016 (v2.27.3)*/
|
||||
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
|
||||
(function(factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
@ -382,7 +382,7 @@
|
||||
|
||||
})(jQuery);
|
||||
|
||||
/*! Widget: filter - updated 7/31/2016 (v2.27.0) *//*
|
||||
/*! Widget: filter - updated 8/17/2016 (v2.27.3) *//*
|
||||
* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
@ -821,8 +821,10 @@
|
||||
// force a new search since content has changed
|
||||
c.lastCombinedFilter = null;
|
||||
c.lastSearch = [];
|
||||
// update filterFormatters after update - Fixes #1237
|
||||
// update filterFormatters after update (& small delay) - Fixes #1237
|
||||
setTimeout(function(){
|
||||
c.$table.triggerHandler( 'filterFomatterUpdate' );
|
||||
}, 100);
|
||||
}
|
||||
// pass true ( skipFirst ) to prevent the tablesorter.setFilters function from skipping the first
|
||||
// input ensures all inputs are updated when a search is triggered on the table
|
||||
@ -1180,19 +1182,24 @@
|
||||
})
|
||||
.bind( 'keyup' + namespace, function( event ) {
|
||||
wo = table.config.widgetOptions; // make sure "wo" isn't cached
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 );
|
||||
var column = parseInt( $( this ).attr( 'data-column' ), 10 ),
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ? wo.filter_liveSearch :
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch === 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
// emulate what webkit does.... escape clears the filter
|
||||
if ( event.which === tskeyCodes.escape ) {
|
||||
// make sure to restore the last value on escape
|
||||
this.value = wo.filter_resetOnEsc ? '' : c.lastSearch[column];
|
||||
// live search
|
||||
} else if ( wo.filter_liveSearch === false ) {
|
||||
} else if ( liveSearch === false ) {
|
||||
return;
|
||||
// don't return if the search value is empty ( all rows need to be revealed )
|
||||
} else if ( this.value !== '' && (
|
||||
// liveSearch can contain a min value length; ignore arrow and meta keys, but allow backspace
|
||||
( typeof wo.filter_liveSearch === 'number' && this.value.length < wo.filter_liveSearch ) ||
|
||||
( typeof liveSearch === 'number' && this.value.length < liveSearch ) ||
|
||||
// let return & backspace continue on, but ignore arrows & non-valid characters
|
||||
( event.which !== tskeyCodes.enter && event.which !== tskeyCodes.backSpace &&
|
||||
( event.which < tskeyCodes.space || ( event.which >= tskeyCodes.left && event.which <= tskeyCodes.down ) ) ) ) ) {
|
||||
@ -1214,18 +1221,31 @@
|
||||
event.preventDefault();
|
||||
// init search with no delay
|
||||
$( this ).attr( 'data-lastSearchTime', new Date().getTime() );
|
||||
tsf.searching( table, event.type !== 'keypress', true );
|
||||
tsf.searching( table, event.type !== 'keypress', true, column );
|
||||
}
|
||||
});
|
||||
},
|
||||
searching: function( table, filter, skipFirst ) {
|
||||
var wo = table.config.widgetOptions;
|
||||
searching: function( table, filter, skipFirst, column ) {
|
||||
var liveSearch,
|
||||
wo = table.config.widgetOptions;
|
||||
if (typeof column === 'undefined') {
|
||||
// no delay
|
||||
liveSearch = false;
|
||||
} else {
|
||||
liveSearch = typeof wo.filter_liveSearch === 'boolean' ?
|
||||
wo.filter_liveSearch :
|
||||
// get column setting, or set to fallback value, or default to false
|
||||
ts.getColumnData( table, wo.filter_liveSearch, column );
|
||||
if ( typeof liveSearch !== 'undefined' ) {
|
||||
liveSearch = wo.filter_liveSearch.fallback || false;
|
||||
}
|
||||
}
|
||||
clearTimeout( wo.filter_searchTimer );
|
||||
if ( typeof filter === 'undefined' || filter === true ) {
|
||||
// delay filtering
|
||||
wo.filter_searchTimer = setTimeout( function() {
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
}, wo.filter_liveSearch ? wo.filter_searchDelay : 10 );
|
||||
}, liveSearch ? wo.filter_searchDelay : 10 );
|
||||
} else {
|
||||
// skip delay
|
||||
tsf.checkFilters( table, filter, skipFirst );
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! Widget: filter - updated 7/31/2016 (v2.27.0) *//*
|
||||
/*! Widget: filter - updated 8/17/2016 (v2.27.3) *//*
|
||||
* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*! Widget: Pager - updated 7/11/2016 (v2.26.6) */
|
||||
/*! Widget: Pager - updated 8/17/2016 (v2.27.3) */
|
||||
/* Requires tablesorter v2.8+ and jQuery 1.7+
|
||||
* by Rob Garrison
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tablesorter",
|
||||
"title": "tablesorter",
|
||||
"version": "2.27.2",
|
||||
"version": "2.27.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",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tablesorter",
|
||||
"title": "tablesorter",
|
||||
"version": "2.27.2",
|
||||
"version": "2.27.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",
|
||||
|
Loading…
Reference in New Issue
Block a user