cleanup & version bump

This commit is contained in:
Mottie 2013-02-22 09:02:29 -06:00
parent 41dd921b41
commit e5483f3d49
8 changed files with 40 additions and 56 deletions

View File

@ -35,13 +35,28 @@ tablesorter can successfully parse and sort many types of data including linked
### Special Thanks ### Special Thanks
* Big shout-out to [Nick Craver](https://github.com/NickCraver) for getting rid of the `eval()` function that was previously needed for multi-column sorting. * Big shout-out to [Nick Craver](https://github.com/NickCraver) for getting rid of the `eval()` function that was previously needed for multi-column sorting.
* Also big thanks to [thezoggy](https://github.com/thezoggy) for helping with code, themes and valuable feedback. * Also big thanks to [thezoggy](https://github.com/thezoggy) for helping with code, themes and providing valuable feedback.
* And, thanks to everyone that has contributed, and continue to contribute to this forked project! * And, thanks to everyone else that has contributed, and continue to contribute to this forked project!
### Change Log ### Change Log
View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change). View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change).
#### Version 2.7.10 (2/22/2013)
* Updated widget storage function to ensure no invalid strings are passed to the `$.parseJSON` function.
* Thanks to [andriijas](https://github.com/andriijas) for the code suggestion :)
* Fixes [issue #240](https://github.com/Mottie/tablesorter/issues/240) & [issue #244](https://github.com/Mottie/tablesorter/issues/244).
* Updated filter widget:
* When cell content contains quotes and the filter select is added, the quotes are now properly processed to be included within the options. Fixes [issue #242](https://github.com/Mottie/tablesorter/issues/242).
* Empty cells are no longer added to the options. If you want to include empty cells, add the following (see [this StackOverflow question](http://stackoverflow.com/q/14990971/145346)):
```html
<span style="display:none">{empty}</span>
```
Then you'll get a select dropdown showing `{empty}` allowing you to select empty content.
#### Version 2.7.9 (2/20/2013) #### Version 2.7.9 (2/20/2013)
* Fixed an issue with the pager targetting an incorrect page when the table starts out empty. * Fixed an issue with the pager targetting an incorrect page when the table starts out empty.
@ -107,34 +122,3 @@ View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Chan
#### Version 2.7.6 (2/6/2013) #### Version 2.7.6 (2/6/2013)
* Merged in an update from [Somebi](https://github.com/Somebi) to fix a javascript error which occurs when the table doesn't have a thead or tbody, or it is already initialized. * Merged in an update from [Somebi](https://github.com/Somebi) to fix a javascript error which occurs when the table doesn't have a thead or tbody, or it is already initialized.
#### Version 2.7.5 (1/31/2013)
* Added pager `pageSize` method to the docs.
* Added chili syntax highlighting script files back to the repo as some other external demos were still linking to it.
#### Version 2.7.4 (1/29/2013)
* Fixed an problem with the pager not pointing to a tbody, and breaking on an empty tbody. See [issue #223](https://github.com/Mottie/tablesorter/issues/223).
* Modified core to always add a `<colgroup>` to the table. Only when the `widthFixed` option is `true` will it add percentage based widths.
* Modified the parsers code to no longer require an `is` function; or if the function is missing, no error will be thrown.
* Modified the isoDate and usLongDate parsers:
* isoDate parser will now auto-detect dates with times
* usLongDate parser will now auto-detect dates in this format: "DD MMMMMMMMM YYYY" (25 Jan 2013)
* Added manifest files:
* `component.json` for bower package manager. Thanks to [appleboy](https://github.com/appleboy); also see [issue #190](https://github.com/Mottie/tablesorter/issues/190).
* `tablesorter.jquery.json` for the jquery plugin registry.
* Added `"updateRows"` method which is the exact same as `"update"`, but needed due to issues with Prototype. See [issue #217](https://github.com/Mottie/tablesorter/issues/217).
* Added `pageSize` method to change the pager page size more easily. See [issue #218](https://github.com/Mottie/tablesorter/issues/218).
* Added [filter widget change log](https://github.com/Mottie/tablesorter/wiki/Change3) to the wiki pages.
* Added a config variable `config.columns`:
* This variable indicates the number of columns in the table.
* Previously, `config.parsers.length` or `config.$headers.length` were used. Neither of which were accurate if the table was empty or multiple rows in the header existed.
* This value may still be inaccurate if a rowspan is used in the header.
* Updated index page to use jQuery 1.9.
* jQuery 2.0 is has a [bug adding rows to the table](http://jsfiddle.net/Mottie/abkNM/324/), so I didn't upgrade the demos to use it.
* Changed syntax highlighting script from chilli to google's prettify.
#### Version 2.7.3 (1/10/2013)
* Fixed a serious bug in the filter widget that was breaking the widget completely if `filter_functions` was not defined (introduced in v2.7.2). Fixes [issue #213](https://github.com/Mottie/tablesorter/issues/213).

View File

@ -1,6 +1,6 @@
{ {
"name": "tablesorter", "name": "tablesorter",
"version": "2.7.9", "version": "2.7.10",
"dependencies": { "dependencies": {
"jqueryjs": ">=1.2.6" "jqueryjs": ">=1.2.6"
} }

View File

@ -1,5 +1,5 @@
/*! /*!
* TableSorter 2.7.9 - Client-side table sorting with ease! * TableSorter 2.7.10 - Client-side table sorting with ease!
* @requires jQuery v1.2.6+ * @requires jQuery v1.2.6+
* *
* Copyright (c) 2007 Christian Bach * Copyright (c) 2007 Christian Bach
@ -24,7 +24,7 @@
var ts = this; var ts = this;
ts.version = "2.7.9"; ts.version = "2.7.10";
ts.parsers = []; ts.parsers = [];
ts.widgets = []; ts.widgets = [];

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tableSorter 2.4+ widgets - updated 2/17/2013 /*! tableSorter 2.4+ widgets - updated 2/22/2013
* *
* Column Styles * Column Styles
* Column Filters * Column Filters
@ -365,7 +365,7 @@ $.tablesorter.addWidget({
// loop through the rows // loop through the rows
for (j = 0; j < l; j++){ for (j = 0; j < l; j++){
// skip child rows // skip child rows
if (reg["child"].test($tr[j].className)) { continue; } if (reg.child.test($tr[j].className)) { continue; }
r = true; r = true;
cr = $tr.eq(j).nextUntil('tr:not(.' + c.cssChildRow + ')'); cr = $tr.eq(j).nextUntil('tr:not(.' + c.cssChildRow + ')');
// so, if "table.config.widgetOptions.filter_childRows" is true and there is // so, if "table.config.widgetOptions.filter_childRows" is true and there is
@ -385,7 +385,7 @@ $.tablesorter.addWidget({
// using older or original tablesorter // using older or original tablesorter
x = $.trim($td.eq(i).text()); x = $.trim($td.eq(i).text());
} }
xi = !reg["type"].test(typeof x) && wo.filter_ignoreCase ? x.toLocaleLowerCase() : x; xi = !reg.type.test(typeof x) && wo.filter_ignoreCase ? x.toLocaleLowerCase() : x;
ff = r; // if r is true, show that row ff = r; // if r is true, show that row
// val = case insensitive, v[i] = case sensitive // val = case insensitive, v[i] = case sensitive
val = wo.filter_ignoreCase ? v[i].toLocaleLowerCase() : v[i]; val = wo.filter_ignoreCase ? v[i].toLocaleLowerCase() : v[i];
@ -401,8 +401,8 @@ $.tablesorter.addWidget({
ff = wo.filter_functions[i][v[i]](x, c.cache[k].normalized[j][i], v[i], i); ff = wo.filter_functions[i][v[i]](x, c.cache[k].normalized[j][i], v[i], i);
} }
// Look for regex // Look for regex
} else if (reg["regex"].test(val)){ } else if (reg.regex.test(val)){
rg = reg["regex"].exec(val); rg = reg.regex.exec(val);
try { try {
ff = new RegExp(rg[1], rg[2]).test(xi); ff = new RegExp(rg[1], rg[2]).test(xi);
} catch (err){ } catch (err){
@ -410,7 +410,7 @@ $.tablesorter.addWidget({
} }
// Look for quotes or equals to get an exact match; ignore type since xi could be numeric // Look for quotes or equals to get an exact match; ignore type since xi could be numeric
/*jshint eqeqeq:false */ /*jshint eqeqeq:false */
} else if (reg["exact"].test(val) && xi == val.replace(reg["exact"], '')){ } else if (reg.exact.test(val) && xi == val.replace(reg.exact, '')){
ff = true; ff = true;
// Look for a not match // Look for a not match
} else if (/^\!/.test(val)){ } else if (/^\!/.test(val)){
@ -420,8 +420,8 @@ $.tablesorter.addWidget({
// Look for operators >, >=, < or <= // Look for operators >, >=, < or <=
} else if (/^[<>]=?/.test(val)){ } else if (/^[<>]=?/.test(val)){
// xi may be numeric - see issue #149 // xi may be numeric - see issue #149
rg = isNaN(xi) ? fmt(xi.replace(reg["nondigit"], ''), table) : fmt(xi, table); rg = isNaN(xi) ? fmt(xi.replace(reg.nondigit, ''), table) : fmt(xi, table);
s = fmt(val.replace(reg["nondigit"], '').replace(reg["operators"],''), table); s = fmt(val.replace(reg.nondigit, '').replace(reg.operators,''), table);
if (/>/.test(val)) { ff = />=/.test(val) ? rg >= s : rg > s; } if (/>/.test(val)) { ff = />=/.test(val) ? rg >= s : rg > s; }
if (/</.test(val)) { ff = /<=/.test(val) ? rg <= s : rg < s; } if (/</.test(val)) { ff = /<=/.test(val) ? rg <= s : rg < s; }
if (s === '') { ff = true; } // keep showing all rows if nothing follows the operator if (s === '') { ff = true; } // keep showing all rows if nothing follows the operator
@ -436,10 +436,10 @@ $.tablesorter.addWidget({
} }
// Look for a range (using " to " or " - ") - see issue #166; thanks matzhu! // Look for a range (using " to " or " - ") - see issue #166; thanks matzhu!
} else if (/\s+(-|to)\s+/.test(val)){ } else if (/\s+(-|to)\s+/.test(val)){
rg = isNaN(xi) ? fmt(xi.replace(reg["nondigit"], ''), table) : fmt(xi, table); rg = isNaN(xi) ? fmt(xi.replace(reg.nondigit, ''), table) : fmt(xi, table);
s = val.split(/(?: - | to )/); // make sure the dash is for a range and not indicating a negative number s = val.split(/(?: - | to )/); // make sure the dash is for a range and not indicating a negative number
r1 = fmt(s[0].replace(reg["nondigit"], ''), table); r1 = fmt(s[0].replace(reg.nondigit, ''), table);
r2 = fmt(s[1].replace(reg["nondigit"], ''), table); r2 = fmt(s[1].replace(reg.nondigit, ''), table);
if (r1 > r2) { ff = r1; r1 = r2; r2 = ff; } // swap if (r1 > r2) { ff = r1; r1 = r2; r2 = ff; } // swap
ff = (rg >= r1 && rg <= r2) || (r1 === '' || r2 === '') ? true : false; ff = (rg >= r1 && rg <= r2) || (r1 === '' || r2 === '') ? true : false;
// Look for wild card: ? = single, * = multiple, or | = logical OR // Look for wild card: ? = single, * = multiple, or | = logical OR

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{ {
"name": "tablesorter", "name": "tablesorter",
"title": "tablesorter", "title": "tablesorter",
"version": "2.7.9", "version": "2.7.10",
"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.", "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": { "author": {
"name": "Christian Bach", "name": "Christian Bach",

View File

@ -1,7 +1,7 @@
{ {
"name": "tablesorter", "name": "tablesorter",
"title": "tablesorter", "title": "tablesorter",
"version": "2.7.9", "version": "2.7.10",
"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.", "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": { "author": {
"name": "Christian Bach", "name": "Christian Bach",