version bump

This commit is contained in:
Mottie 2015-03-05 10:04:59 -06:00
parent ada1bbd898
commit 403d831fc0
36 changed files with 145 additions and 76 deletions

View File

@ -65,6 +65,7 @@ If you would like to contribute, please...
* Big shout-out to [Nick Craver](//github.com/NickCraver) for getting rid of the `eval()` function that was previously needed for multi-column sorting.
* Big thanks to [thezoggy](//github.com/thezoggy) for helping with code, themes and providing valuable feedback.
* Big thanks to [ThsSin-](//github.com/TheSin-) for taking over for a while and also providing valuable feedback.
* Thanks to [prijutme4ty](https://github.com/prijutme4ty) for numerous contributions!
* Also extra thanks to [christhomas](//github.com/christhomas) and [Lynesth](//github.com/Lynesth) for help with code.
* And, of course thanks to everyone else that has contributed, and continues to contribute to this forked project!
@ -81,6 +82,41 @@ If you would like to contribute, please...
View the [complete change log here](//github.com/Mottie/tablesorter/wiki/Changes).
#### <a name="v2.21.0">Version 2.21.0</a> (3/5/2015)
* Core
* Plan to manually update vesion number.
* Optimizations: replace arrays using `$.each` with for loops. Fixes [issue #827](https://github.com/Mottie/tablesorter/issues/827).
* Add `$.tablesorter.addInstanceMethods` function.
* This allows one to define config object instance methods ([docs](http://mottie.github.io/tablesorter/docs/#variable-instanceMethods)).
* Thanks to [prijutme4ty](https://github.com/prijutme4ty) for contributing!
* Add `config.$headerIndexed` option ([docs](http://mottie.github.io/tablesorter/docs/#variable-header-indexed)).
* Docs
* Update link in readme.
* Add contributing information.
* Update download method information.
* Build/Testing
* Move jshint to "grunt test" task.
* Attempt to make nested callbacks more stable.
* Clean up testing & made more stable, by [prijutme4ty](https://github.com/prijutme4ty).
* ColumnSelector
* Add more debug logging.
* Filter
* Add more debug logging.
* Add `config` parameter to `filter_functions`.
* Add "widget-filter-type-insideRange.js" filter type; this filter type allows searching for a value that is within a range ([demo](http://mottie.github.io/tablesorter/docs/example-parsers-date-range.html)).
* External filters can now set initial values; this includes match-any-column inputs.
* Extend filterFormatter functions - fixes an issue where HTML5 &amp; jQuery ui filterFormatters override the function definitions.
* Output
* Add `output_includeFooter` option.
* Pager
* Add more debug logging.
* Scroller
* Add missing `tfoot` rows. Fixes [issue #825](https://github.com/Mottie/tablesorter/issues/825).
* StickyHeaders
* Now works properly with a full-height wrapper. Fixes [issue #564](https://github.com/Mottie/tablesorter/issues/564).
* Add stickyHeader hidden class name & modal demo links. Fixes [issue #832](https://github.com/Mottie/tablesorter/issues/832).
#### <a name="v2.20.1">Version 2.20.1</a> (2/20/2015)
* Filter: Fixed a major issue with the filter widget not working properly.

View File

@ -1,6 +1,6 @@
/*!
* tablesorter (FORK) pager plugin
* updated 2/9/2015 (v2.19.1)
* updated 3/5/2015 (v2.21.0)
*/
/*jshint browser:true, jquery:true, unused:false */
;(function($) {

View File

@ -1,6 +1,6 @@
{
"name": "tablesorter",
"version": "2.20.1",
"version": "2.21.0",
"dependencies": {
"jquery": ">=1.2.6"
},

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! TableSorter (FORK) v2.20.1 *//*
/*! TableSorter (FORK) v2.21.0 *//*
* Client-side table sorting with ease!
* @requires jQuery v1.2.6+
*
@ -34,7 +34,7 @@
var ts = this;
ts.version = '2.20.1';
ts.version = '2.21.0';
ts.parsers = [];
ts.widgets = [];
@ -1140,6 +1140,8 @@
// fixate columns if the users supplies the fixedWidth option
// do this after theme has been applied
ts.fixColumnWidth(table);
// add widget options before parsing (e.g. grouping widget has parser settings)
ts.applyWidgetOptions(table, c);
// try to auto detect column type, and store in tables config
buildParserCache(table);
// start total row count at zero
@ -1648,6 +1650,20 @@
}
};
ts.applyWidgetOptions = function( table, c ){
var indx, widget,
len = c.widgets.length,
wo = c.widgetOptions;
if (len) {
for (indx = 0; indx < len; indx++) {
widget = ts.getWidgetById( c.widgets[indx] );
if ( widget && 'options' in widget ) {
wo = table.config.widgetOptions = $.extend( true, {}, widget.options, wo );
}
}
}
};
ts.applyWidget = function(table, init, callback) {
table = $(table)[0]; // in case this is called externally
var indx, len, name,
@ -1700,8 +1716,9 @@
if ( init || !( c.widgetInit[ widgets[indx].id ] ) ) {
// set init flag first to prevent calling init more than once (e.g. pager)
c.widgetInit[ widgets[indx].id ] = true;
if ( 'options' in widgets[indx] ) {
wo = table.config.widgetOptions = $.extend( true, {}, widgets[indx].options, wo );
if (table.hasInitialized) {
// don't reapply widget options on tablesorter init
ts.applyWidgetOptions( table, c );
}
if ( 'init' in widgets[indx] ) {
if (c.debug) { time2 = new Date(); }

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tablesorter (FORK) widgets - updated 03-02-2015 (v2.20.1)*/
/*! tablesorter (FORK) widgets - updated 03-05-2015 (v2.21.0)*/
/* Includes: storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort */
/*! Widget: storage */
;(function ($, window, document) {
@ -341,7 +341,10 @@ ts.addWidget({
})(jQuery);
/*! Widget: filter */
/*! Widget: filter - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.7+
* by Rob Garrison
*/
;(function ($) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};
@ -1158,7 +1161,7 @@ ts.filter = {
$rows = $( $.map(norm_rows, function(el){ return el[columnIndex].$row.get(); }) );
if (combinedFilters === '' || wo.filter_serversideFiltering) {
$rows.removeClass(wo.filter_filteredRow).not('.' + c.cssChildRow).show();
$rows.removeClass(wo.filter_filteredRow).not('.' + c.cssChildRow).css('display', '');
} else {
// filter out child rows
$rows = $rows.not('.' + c.cssChildRow);
@ -1378,8 +1381,8 @@ ts.filter = {
}
}
$rows.eq(rowIndex)
.toggle(showRow)
.toggleClass(wo.filter_filteredRow, !showRow);
.toggleClass(wo.filter_filteredRow, !showRow)[0]
.display = showRow ? '' : 'none';
if (childRow.length) {
childRow.toggleClass(wo.filter_filteredRow, !showRow);
}
@ -1658,7 +1661,10 @@ ts.setFilters = function(table, filter, apply, skipFirst) {
})(jQuery);
/*! Widget: stickyHeaders */
/*! Widget: stickyHeaders - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.4.3+
* by Rob Garrison
*/
;(function ($, window) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!
* Range date parsers
* 2/23/2015 (v2.20.2)
* 2/23/2015 (v2.21.0)
*/
!function(a){"use strict";var b={mdy:/(\d{1,2}[-\s]\d{1,2}[-\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,dmy:/(\d{1,2}[-\s]\d{1,2}[-\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,dmyreplace:/(\d{1,2})[-\s](\d{1,2})[-\s](\d{4})/,ymd:/(\d{4}[-\s]\d{1,2}[-\s]\d{1,2}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,ymdreplace:/(\d{4})[-\s](\d{1,2})[-\s](\d{1,2})/};/*! date-range MMDDYYYY */
a.tablesorter.addParser({id:"date-range-mdy",is:function(){return!1},format:function(a){var c,d,e,f,g=[];if(d=a.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(b.mdy),f=d&&d.length){for(e=0;f>e;e++)c=new Date(d[e]),g.push(c instanceof Date&&isFinite(c)?c.getTime():d[e]);return g.sort().join(" - ")}return a},type:"text"}),/*! date-range DDMMYYYY */

View File

@ -1,5 +1,5 @@
/*! input & select parsers for jQuery 1.7+ & tablesorter 2.7.11+
* Updated 2/7/2015 (v2.19.0)
* Updated 3/5/2015 (v2.21.0)
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
*/
!function(a){"use strict";var b=function(){};a.tablesorter.addParser({id:"inputs",is:function(){return!1},format:function(b,c,d){return a(d).find("input").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"checkbox",is:function(){return!1},format:function(b,c,d,e){var f=a(d),g=f.find('input[type="checkbox"]'),h=g.length?g[0].checked:"";return f.closest("tr").toggleClass("checked-"+e,h),g.length?h?"checked":"unchecked":b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select",is:function(){return!1},format:function(b,c,d){return a(d).find("select").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select-text",is:function(){return!1},format:function(b,c,d){var e=a(d).find("select");return e.length?e.find("option:selected").text()||"":b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"textarea",is:function(){return!1},format:function(b,c,d){return a(d).find("textarea").val()||b},parsed:!0,type:"text"}),a(function(){a("table").on("tablesorter-initialized",function(){var c=function(b){b&&a(":focus").blur()};a(this).children("tbody").on("mouseleave",function(a){c("TBODY"===a.target.tagName)}).on("focus","select, input, textarea",function(){a(this).data("ts-original-value",this.value)}).on("blur","input, textarea",function(){this.value=a(this).data("ts-original-value")}).on("change keyup","select, input, textarea",function(d){if(27===d.which)return void(this.value=a(this).data("ts-original-value"));if("change"===d.type||"keyup"===d.type&&13===d.which&&("INPUT"===d.target.tagName||"TEXTAREA"===d.target.tagName&&d.altKey)){var e,f=a(d.target),g=f.closest("td"),h=g.closest("table"),i=g[0].cellIndex,j=h[0].config||!1,k=j&&j.$headers&&j.$headers.eq(i);if(!j||k&&k.length&&(k.hasClass("parser-false")||k.hasClass("sorter-false")&&k.hasClass("filter-false")))return c();(f.val()!==f.data("ts-original-value")||"checkbox"===d.target.type)&&(f.data("ts-original-value",f.val()),h.trigger("updateCell",[f.closest("td"),e,function(){b(d,h,f)}]))}})})})}(jQuery);
!function(a){"use strict";var b=function(){};a.tablesorter.addParser({id:"inputs",is:function(){return!1},format:function(b,c,d){return a(d).find("input").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"checkbox",is:function(){return!1},format:function(b,c,d,e){var f=a(d),g=c.config.widgetOptions,h=g.group_checkbox?g.group_checkbox:["checked","unchecked"],i=f.find('input[type="checkbox"]'),j=i.length?i[0].checked:"";return f.closest("tr").toggleClass("checked-"+e,j),i.length?h[j?0:1]:b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select",is:function(){return!1},format:function(b,c,d){return a(d).find("select").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select-text",is:function(){return!1},format:function(b,c,d){var e=a(d).find("select");return e.length?e.find("option:selected").text()||"":b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"textarea",is:function(){return!1},format:function(b,c,d){return a(d).find("textarea").val()||b},parsed:!0,type:"text"}),a(function(){a("table").on("tablesorter-initialized",function(){var c=function(b){b&&a(":focus").blur()};a(this).children("tbody").on("mouseleave",function(a){c("TBODY"===a.target.tagName)}).on("focus","select, input, textarea",function(){a(this).data("ts-original-value",this.value)}).on("blur","input, textarea",function(){this.value=a(this).data("ts-original-value")}).on("change keyup","select, input, textarea",function(d){if(27===d.which)return void(this.value=a(this).data("ts-original-value"));if("change"===d.type||"keyup"===d.type&&13===d.which&&("INPUT"===d.target.tagName||"TEXTAREA"===d.target.tagName&&d.altKey)){var e,f=a(d.target),g=f.closest("td"),h=g.closest("table"),i=g[0].cellIndex,j=h[0].config||!1,k=j&&j.$headers&&j.$headers.eq(i);if(!j||k&&k.length&&(k.hasClass("parser-false")||k.hasClass("sorter-false")&&k.hasClass("filter-false")))return c();(f.val()!==f.data("ts-original-value")||"checkbox"===d.target.type)&&(f.data("ts-original-value",f.val()),h.trigger("updateCell",[f.closest("td"),e,function(){b(d,h,f)}]))}})})})}(jQuery);

View File

@ -1,5 +1,5 @@
/*!
* insideRange filter type
* 2/23/2015 (v2.20.2)
* 2/23/2015 (v2.21.0)
*/
!function(a){"use strict";var b=a.tablesorter,c=/\d+/,d=/\s+-\s+/,e=function(a){return isNaN(a)?a:parseFloat(a)};b.filter.types.insideRange=function(a,b){if(c.test(b.iFilter)&&d.test(b.iExact)){var f,g,h,i,j=b.iExact.split(d),k=a.parsers[b.index].format;return j&&j.length<2?null:(h=e(k(j[0],a.table)),i=e(k(j[1],a.table)),g=e(k(b.iFilter,a.table)),h>i&&(f=i,i=h,h=f),g>=h&&i>=g)}return null}}(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -10,7 +10,7 @@
Resizable scroller widget for the jQuery tablesorter plugin
Version 2.0 - modified by Rob Garrison 4/12/2013; updated 2/7/2015 (v2.19.0)
Version 2.0 - modified by Rob Garrison 4/12/2013; updated 3/5/2015 (v2.21.0)
Requires jQuery v1.7+
Requires the tablesorter plugin, v2.8+, available at http://mottie.github.com/tablesorter/docs/

File diff suppressed because one or more lines are too long

View File

@ -56,7 +56,7 @@
<p class="tip">
<em>NOTE!</em>
<ul>
<li>Added <span class="version">v2.20.2</span>, this parser will allow sorting &amp; filtering a date range.</li>
<li>Added <span class="version">v2.21.0</span>, this parser will allow sorting &amp; filtering a date range.</li>
<li>While processing, the parser will rearrange the range so that it is always saved to the cache as "low - high" (note that the "8/12/2014 - 7/10/2014" row sorts correctly, eventhough the later date is first)</li>
<li>This is almost exactly the same demo as <a href="example-widget-filter-custom-search2.html">Custom Filter Widget Search Type (example 2)</a>, but it was added to demonstrate the other supported date formats.</li>
<li>Click on any of the buttons below to test it out.</li>

View File

@ -70,10 +70,10 @@ $(function(){
<p class="tip">
<em>NOTE!</em>
<ul>
<li>In <span class="version updated">v2.20.2</span>
<li>In <span class="version updated">v2.21.0</span>
<ul>
<li>The "insideRange" function was updated to use the column parser and moved into a separate file "widget-filter-type-insideRange.js"</li>
<li>This change would allow the sorting of dates, if using it along with one of the <a href="example-parsers-date-range.html">date-range parsers</a> (added v2.20.2).</li>
<li>This change would allow the sorting of dates, if using it along with one of the <a href="example-parsers-date-range.html">date-range parsers</a> (added v2.21.0).</li>
</ul>
</li>
<li>This is another example of how to add a custom filter search type - see <a href="example-widget-filter-custom-search.html#how_to_add_custom_filter_types">this page</a> for details on how to add your own.</li>
@ -86,7 +86,7 @@ $(function(){
<ul>
<li>Try <button type="button" data-column="2">7</button> or <button type="button" data-column="2">8</button> in the Delivery column</li>
<li><button type="button" data-column="3">$15.45</button> in the "Price Range" column.</li>
<li><button type="button" data-column="4">7/12/2014</button> in the "Date Range" column; this column is processed using the "date-range-mdy" parser (added <span class="version">v2.20.2</span>).</li>
<li><button type="button" data-column="4">7/12/2014</button> in the "Date Range" column; this column is processed using the "date-range-mdy" parser (added <span class="version">v2.21.0</span>).</li>
</ul>
</li>
</ul>

View File

@ -157,7 +157,7 @@
<h3><a href="#">Notes</a></h3>
<div>
<ul>
<li>In <span class="version">v2.20.2</span>, the filter functions provide an additional parameter <code>c</code> which is the <code>table.config</code>.</li>
<li>In <span class="version">v2.21.0</span>, the filter functions provide an additional parameter <code>c</code> which is the <code>table.config</code>.</li>
<li>In <span class="version updated">v2.17.0</span>, the <code>filter_functions</code> column can also be referenced by using a jQuery selector (e.g. class name or ID).</li>
<li>In <span class="version">v2.16.3</span>,
<ul>
@ -288,7 +288,7 @@
<li><span class="label alert">* NOTE *</span> The row object provided is <em>not</em> attached to the table, so using something like <code>.parent()</code> or <code>.closest()</code> will not work!</li>
<li>For this reason, the next parameter (<code>c</code>) was added.</li>
</ul>
<li>The <strong>config (c)</strong> is the <code>table.config</code> (added <span class="version">v2.20.2</span>).</li>
<li>The <strong>config (c)</strong> is the <code>table.config</code> (added <span class="version">v2.21.0</span>).</li>
</ul>
</div>
</div>

View File

@ -151,7 +151,7 @@ tr.group-header.collapsed td i {
<ul>
<li>This widget will <strong>only work</strong> in tablesorter version 2.8+ and jQuery version 1.7+.</li>
<li>Please do not use this widget in very large tables (it might be really slow) <del>or when your table includes multiple tbodies</del>.</li>
<li>In <span class="version">v2.20.2</span>
<li>In <span class="version">v2.21.0</span>
<ul>
<li>Added <code>group_checkbox</code> option to allow setting the parsed text from the "parser-input-select.js" checkbox parser.</li>
<li>Fixed an issue with the filter widget overriding the "group-hidden" class name.</li>
@ -305,7 +305,7 @@ group_separator : /[/.]/</pre>
<td><a href="#" class="permalink">group_checkbox</a></td>
<td>see description)</td>
<td>
Set checkbox parser text (<span class="version">v2.20.2</span>)
Set checkbox parser text (<span class="version">v2.21.0</span>)
<div class="collapsible">
<br>
The checkbox parser in the "parser-input-select.js" file will use this option to set the group header text displayed for a checkbox state.

View File

@ -222,7 +222,7 @@
<h4>Changes</h4>
<ul>
<li>IN <span class="version">v2.20.2</span>, added the <code>output_includeFooter</code> option.</li>
<li>IN <span class="version">v2.21.0</span>, added the <code>output_includeFooter</code> option.</li>
<li>In <span class="version">v2.17.5</span>, the need to modify the server's content disposition no longer exists.</li>
<li>In <span class="version">v2.17.0</span>,
<ul>
@ -453,7 +453,7 @@ line,value1,value2,value3
<td><span class="permalink">output_includeFooter</span></td>
<td><code>false</code></td>
<td>
Change this option to <code>true</code> to include the <code>&lt;tfoot&gt;</code> rows in the output (<span class="version">v2.20.2</span>)
Change this option to <code>true</code> to include the <code>&lt;tfoot&gt;</code> rows in the output (<span class="version">v2.21.0</span>)
</td>
</tr>
<tr id="output_dataattrib">

View File

@ -139,7 +139,7 @@ $(function() {
<h3><a href="#">Notes</a></h3>
<div>
<ul>
<li>In <span class="version">v2.20.2</span>
<li>In <span class="version">v2.21.0</span>
<ul>
<li>This widget was updated to include the <code>tfoot</code> rows.</li>
<li>To maintain the column widths across all copied tables:

View File

@ -479,17 +479,17 @@
<li><span class="label label-info">Beta</span> <a href="example-widget-chart.html">Chart Widget</a> (<span class="version">v2.19.0</span>).</li>
<li><span class="results">&dagger;</span> <a href="example-widget-columns.html">Columns Highlight widget</a> (v2.0.17)</li>
<li><a href="example-widget-column-selector.html">Column Selector widget</a> (<span class="version">v2.15</span>; <span class="version updated">v2.19.0</span>).</li>
<li><a href="example-widget-column-selector.html">Column Selector widget</a> (<span class="version">v2.15</span>; <span class="version updated">v2.21.0</span>).</li>
<li><a href="example-widget-editable.html">Content Editable widget</a> (v2.9; <span class="version updated">v2.19.1</span>).</li>
<li><span class="label label-info">Beta</span> <a href="example-dragtable.html">Dragtable mod</a> - (jQuery UI widget for column reordering [<a href="http://stackoverflow.com/a/27770224/145346">ref</a>]; <span class="version">v2.19.0</span>).</li>
<li><span class="results">&dagger;</span> Filter Widget (<span class="version updated">v2.20.0</span>):
<li><span class="results">&dagger;</span> Filter Widget (<span class="version updated">v2.21.0</span>):
<ul>
<li><a href="example-widget-filter.html">basic</a> (v2.0.18; <span class="version updated">v2.18.1</span>)</li>
<li><a href="example-widget-filter-any-match.html">external option (match any column)</a> (<span class="version">v2.13.3</span>; <span class="version updated">v2.20.0</span>)</li>
<li><a href="example-widget-filter-external-inputs.html">external inputs</a> (<span class="version">v2.14</span>; <span class="version updated">v2.18.0</span>)</li>
<li><a href="example-widget-filter-custom.html">custom</a> (v2.3.6; <span class="version updated">v2.20.2</span>)</li>
<li><a href="example-widget-filter-custom.html">custom</a> (v2.3.6; <span class="version updated">v2.21.0</span>)</li>
<li><a href="example-widget-filter-custom-search.html">custom searches</a> (<span class="version">v2.17.5</span>; <span class="version updated">v2.17.8</span>)</li>
<li><a href="example-widget-filter-custom-search2.html">custom search (example #2)</a> (<span class="version">v2.19.1</span>; <span class="version updated">v2.20.2</span>)</li>
<li><a href="example-widget-filter-custom-search2.html">custom search (example #2)</a> (<span class="version">v2.19.1</span>; <span class="version updated">v2.21.0</span>)</li>
<li>formatter: <a href="example-widget-filter-formatter-1.html">jQuery UI widgets</a> and <a href="example-widget-filter-formatter-2.html">HTML5 Elements</a> (v2.7.7; <span class="version updated">v2.17.5</span>).</li>
<li>formatter: <a href="example-widget-filter-formatter-select2.html">select2</a> (<span class="version">v2.16.0</span>; <span class="version updated">v2.19.0</span>)</li>
</ul>
@ -497,20 +497,20 @@
<li><span class="label label-info">Beta</span> <a href="example-widget-formatter.html">Formatter widget</a> (<span class="version">v2.19.1</span>).</li>
<li>Grouping rows widget:
<ul>
<li><a href="example-widget-grouping.html">basic</a> (v2.8; <span class="version updated">v2.20.2</span>).</li>
<li><a href="example-widget-grouping.html">basic</a> (v2.8; <span class="version updated">v2.21.0</span>).</li>
<li><a href="example-widget-grouping-filter-childrows.html">Grouping + filter + child rows</a> (<span class="updated version">v2.15.12</span>)</li>
</ul>
</li>
<li><a href="example-widget-header-titles.html">Header titles widget</a> (v2.15.6; <span class="version updated">2.15.7</span>)</li>
<li><a href="example-widget-math.html">Math widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li>
<li>
<a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.20.2</span>)
<a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.21.0</span>)
<br><br>
</li>
<li>Pager plugin (<a href="example-pager.html">basic</a> &amp; <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.19.1</span>).</li>
<li>Pager plugin (<a href="example-pager.html">basic</a> &amp; <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.21.0</span>).</li>
<li>
Pager widget (<a href="example-widget-pager.html">basic</a> &amp; <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.19.1</span>).<br>
Pager widget (<a href="example-widget-pager.html">basic</a> &amp; <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.21.0</span>).<br>
<br>
</li>
@ -519,9 +519,9 @@
<li><a href="example-widgets.html">Repeat Headers widget</a> (v2.0.5; <span class="version updated">v2.19.0</span>)</li>
<li><span class="results">&dagger;</span> <a href="example-widget-resizable.html">Resizable Columns widget</a> (v2.0.23.1; <span class="version updated">v2.19.0</span>)</li>
<li><span class="results">&dagger;</span> <a href="example-widget-savesort.html">Save sort widget</a> (v2.0.27)</li>
<li><a href="example-widget-scroller.html">Scroller widget</a> (<span class="version">v2.9</span>; <span class="version updated">v2.20.2</span>).</li>
<li><a href="example-widget-scroller.html">Scroller widget</a> (<span class="version">v2.9</span>; <span class="version updated">v2.21.0</span>).</li>
<li><a href="example-widget-static-row.html">StaticRow widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li>
<li><span class="results">&dagger;</span> <a href="example-widget-sticky-header.html">Sticky header widget</a> (v2.0.21.1; <span class="version updated">v2.20.2</span>)</li>
<li><span class="results">&dagger;</span> <a href="example-widget-sticky-header.html">Sticky header widget</a> (v2.0.21.1; <span class="version updated">v2.21.0</span>)</li>
<li><a href="example-widget-css-sticky-header.html">Sticky header (css3) widget</a> (<span class="version">v2.14.2</span>; <span class="version updated">v2.19.1</span>).</li>
<li><span class="results">&dagger;</span> UITheme widget (<span class="version updated">v2.17.4</span>; <span class="version updated">v2.19.0</span>):
<ul>
@ -536,7 +536,7 @@
<ul>
<li><a href="example-parsers-duration.html">Countdown parser</a> (<span class="version">v2.19.0</span>).</li>
<li><a href="example-parsers-dates.html">Date parsers</a> (<span class="version">v2.8</span>; <span class="version updated">v2.18.0</span>; includes weekday, month, two-digit year &amp; <a href="http://sugarjs.com/dates">sugar.js</a> date parsers).</li>
<li><a href="example-parsers-date-range.html">Date Range parsers</a> (<span class="version">v2.20.2</span>); if filters, include the <a href="example-widget-filter-custom-search2.html">insideRange</a> filter search type.</li>
<li><a href="example-parsers-date-range.html">Date Range parsers</a> (<span class="version">v2.21.0</span>); if filters, include the <a href="example-widget-filter-custom-search2.html">insideRange</a> filter search type.</li>
<li><a href="example-parsers-duration.html">Duration parser</a> (<span class="version">v2.17.8</span>).</li>
<li><a href="example-parsers-file-type.html">File type parser</a> (<span class="version">v2.13</span>).</li>
<li><a href="example-parsers-ignore-articles.html">Ignore leading articles parser</a> (Ignore &quot;A&quot;, &quot;An&quot; and &quot;The&quot; in titles) (<span class="version">v2.8</span>).</li>
@ -5304,7 +5304,7 @@ $('table').trigger( 'search', [['', '', '', '', 'orange']] ); // find orange in
<tr id="variable-instanceMethods">
<td><a href="#" class="permalink">$.tablesorter.instanceMethods</a></td>
<td>Object</td>
<td>This variable contains all instance methods of the config object. Added using <a href="#function-addInstanceMethods"><code>addInstanceMethods</code></a> function before table initialization (<span class="version">v2.20.2</span>).
<td>This variable contains all instance methods of the config object. Added using <a href="#function-addInstanceMethods"><code>addInstanceMethods</code></a> function before table initialization (<span class="version">v2.21.0</span>).
<div class="collapsible">
<br>
<pre class="prettyprint lang-js">$.tablesorter.addInstanceMethods({
@ -5529,7 +5529,7 @@ $('.tablesorter')[0].config.cache[0].normalized[0];
<tr id="variable-header-indexed">
<td><a href="#" class="permalink">config.$headerIndexed</a></td>
<td>Array</td>
<td>Internally stored Array of headers that represent each column (<span class="version">v2.20.2</span>)
<td>Internally stored Array of headers that represent each column (<span class="version">v2.21.0</span>)
<div class="collapsible">
<br>
The <code>table.config.$headers</code> variable contains ALL header cells, not all of which contain sorting information (data-attributes, class names or sorting information).
@ -6247,7 +6247,7 @@ $.tablesorter.isValueInArray(2, sortList);</pre>
<tr id="function-addInstanceMethods">
<td><a href="#" class="permalink">addInstanceMethods</a></td>
<td>This function allows to add custom methods for config object (<span class="version">v2.20.2</span>).
<td>This function allows to add custom methods for config object (<span class="version">v2.21.0</span>).
<div class="collapsible"><br>
Access it as follows:
<pre class="prettyprint lang-js">$.tablesorter.addInstanceMethods(methods);</pre>
@ -6815,6 +6815,7 @@ $.tablesorter.addHeaderResizeEvent( table, true );</pre>
<li><a href="https://github.com/thezoggy">thezoggy</a></li>
<li><a href="https://github.com/TheSin-">TheSin-</a></li>
<li><a href="https://github.com/NickCraver">NickCraver</a></li>
<li><a href="https://github.com/prijutme4ty">prijutme4ty</a></li>
<li>and <a href="https://github.com/Mottie/tablesorter/graphs/contributors">all the contributors</a>!</li>
</ul>
<p>

View File

@ -1,4 +1,4 @@
/*! TableSorter (FORK) v2.20.2 *//*
/*! TableSorter (FORK) v2.21.0 *//*
* Client-side table sorting with ease!
* @requires jQuery v1.2.6+
*
@ -34,7 +34,7 @@
var ts = this;
ts.version = '2.20.2';
ts.version = '2.21.0';
ts.parsers = [];
ts.widgets = [];

View File

@ -4,7 +4,7 @@
*/
/*! tablesorter (FORK) widgets - updated 03-02-2015 (v2.20.1)*/
/*! tablesorter (FORK) widgets - updated 03-05-2015 (v2.21.0)*/
/* Includes: storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort */
/*! Widget: storage */
;(function ($, window, document) {
@ -347,7 +347,10 @@ ts.addWidget({
})(jQuery);
/*! Widget: filter */
/*! Widget: filter - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.7+
* by Rob Garrison
*/
;(function ($) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};
@ -1164,7 +1167,7 @@ ts.filter = {
$rows = $( $.map(norm_rows, function(el){ return el[columnIndex].$row.get(); }) );
if (combinedFilters === '' || wo.filter_serversideFiltering) {
$rows.removeClass(wo.filter_filteredRow).not('.' + c.cssChildRow).show();
$rows.removeClass(wo.filter_filteredRow).not('.' + c.cssChildRow).css('display', '');
} else {
// filter out child rows
$rows = $rows.not('.' + c.cssChildRow);
@ -1384,8 +1387,8 @@ ts.filter = {
}
}
$rows.eq(rowIndex)
.toggle(showRow)
.toggleClass(wo.filter_filteredRow, !showRow);
.toggleClass(wo.filter_filteredRow, !showRow)[0]
.display = showRow ? '' : 'none';
if (childRow.length) {
childRow.toggleClass(wo.filter_filteredRow, !showRow);
}
@ -1664,7 +1667,10 @@ ts.setFilters = function(table, filter, apply, skipFirst) {
})(jQuery);
/*! Widget: stickyHeaders */
/*! Widget: stickyHeaders - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.4.3+
* by Rob Garrison
*/
;(function ($, window) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};

View File

@ -1,6 +1,6 @@
/*!
* Range date parsers
* 2/23/2015 (v2.20.2)
* 2/23/2015 (v2.21.0)
*/
/* Include the widget-filter-type-insideRange.js to filter ranges */
/*jshint jquery:true */

View File

@ -1,5 +1,5 @@
/*! input & select parsers for jQuery 1.7+ & tablesorter 2.7.11+
* Updated 2/7/2015 (v2.19.0)
* Updated 3/5/2015 (v2.21.0)
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
*/
/*jshint browser: true, jquery:true, unused:false */

View File

@ -1,4 +1,4 @@
/* Column Selector/Responsive table widget for TableSorter - 2/7/2015 (v2.19.0)
/* Column Selector/Responsive table widget for TableSorter - 3/5/2015 (v2.21.0)
* Requires tablesorter v2.8+ and jQuery 1.7+
* by Justin Hallett & Rob Garrison
*/

View File

@ -1,6 +1,6 @@
/*!
* insideRange filter type
* 2/23/2015 (v2.20.2)
* 2/23/2015 (v2.21.0)
*/
;(function($){
'use strict';

View File

@ -1,4 +1,7 @@
/*! Widget: filter */
/*! Widget: filter - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.7+
* by Rob Garrison
*/
;(function ($) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};

View File

@ -1,4 +1,4 @@
/*! tablesorter Grouping widget - updated 10/26/2014 (v2.18.0)
/*! tablesorter Grouping widget - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.7+
* by Rob Garrison
*/

View File

@ -1,4 +1,4 @@
/* Output widget for TableSorter 2/9/2015 (v2.19.1)
/* Output widget for TableSorter 3/5/2015 (v2.21.0)
* Requires tablesorter v2.8+ and jQuery 1.7+
* Modified from:
* HTML Table to CSV: http://www.kunalbabre.com/projects/table2CSV.php (License unknown?)

View File

@ -1,4 +1,4 @@
/* Pager widget for TableSorter 2/9/2015 (v2.19.1) - requires jQuery 1.7+ */
/* Pager widget for TableSorter 3/5/2015 (v2.21.0) - requires jQuery 1.7+ */
/*jshint browser:true, jquery:true, unused:false */
;(function($){
"use strict";

View File

@ -10,7 +10,7 @@
Resizable scroller widget for the jQuery tablesorter plugin
Version 2.0 - modified by Rob Garrison 4/12/2013; updated 2/7/2015 (v2.19.0)
Version 2.0 - modified by Rob Garrison 4/12/2013; updated 3/5/2015 (v2.21.0)
Requires jQuery v1.7+
Requires the tablesorter plugin, v2.8+, available at http://mottie.github.com/tablesorter/docs/

View File

@ -1,4 +1,7 @@
/*! Widget: stickyHeaders */
/*! Widget: stickyHeaders - updated 3/5/2015 (v2.21.0) *//*
* Requires tablesorter v2.8+ and jQuery 1.4.3+
* by Rob Garrison
*/
;(function ($, window) {
'use strict';
var ts = $.tablesorter = $.tablesorter || {};

View File

@ -1,7 +1,7 @@
{
"name": "tablesorter",
"title": "tablesorter",
"version": "2.20.1",
"version": "2.21.0",
"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",

View File

@ -1,7 +1,7 @@
{
"name": "tablesorter",
"title": "tablesorter",
"version": "2.20.1",
"version": "2.21.0",
"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",