TableSorter Change Log Version 2.0.27 (2012-1-31) ============================ * Added `sortReset` option * Setting this option to `true`, allows you to click on the header a third time to clear the sort * Clearing the sort DOES NOT return the table to it's initial unsorted state. * Added `saveSort` widget * This widget will save the last sort to local storage, and will fallback to cookies. * The widget does use the `JSON.stringify` function which is [not fully supported](http://caniuse.com/#search=json) (IE7), so if you plan to support it and use this widget, please include this [JSON library](https://github.com/douglascrockford/JSON-js). * Fixed pager page size not sticking. Fix for [issue #24](https://github.com/Mottie/tablesorter/issues/24). Version 2.0.26 (2012-1-30) ============================ * Widgets should no longer be applied twice when an initial sort direction is added. Fix for [issue #21](https://github.com/Mottie/tablesorter/issues/21). * Modified Green theme: * The Green theme sort direction icon is now applied to only the first span it encounters inside the header. The UI theme adds a second span for it's icon. * Essentially to fix [this demo](http://mottie.github.com/tablesorter/docs/example-widget-ui-theme.html) which allows switching between all of the themes. * Modified the UI theme to now add a div that wraps all of the header cell content to allow positioning of the sort direction icon. Version 2.0.25.2 (2012-1-27) ============================ * Changed Blue theme to vertically align arrows. Fix for [issue #12](https://github.com/Mottie/tablesorter/issues/12). * Fixed sticky header widget so varing width columns now update when the pager plugin changes pages. Thanks to locationRoura for reporting this issue. Version 2.0.25.1 (2011-12-15) ============================ * Fixed disabled column style for the ui theme widget. Thanks to [bbbco](https://github.com/bbbco) for the fix in [issue #17](https://github.com/Mottie/tablesorter/issues/17). Version 2.0.25 (2011-12-14) ============================ * The ui theme and sticky header widgets now work together and update the arrow direction. Fix for [issue #15](https://github.com/Mottie/tablesorter/issues/15). * Empty cells with only a tab or space will now sort at the bottom. Thanks to [pursual](https://github.com/pursual) for the fix for [issue #16](https://github.com/Mottie/tablesorter/issues/16). Version 2.0.24 (2011-12-12) ============================ * Modified empty cell sorting to always sort at the bottom. Fix for [issue #14](https://github.com/Mottie/tablesorter/issues/14). * Updated the sticky header widget to line up properly with the UI theme. Fix for [issue #13](https://github.com/Mottie/tablesorter/issues/13). Version 2.0.23.5 (2011-12-6) ============================ * Updated the sticky header widget again to not interfere with the filter widget. Fix for [issue #10](https://github.com/Mottie/tablesorter/issues/10). Version 2.0.23.4 (2011-12-6) ============================ * Updated the sticky header widget to reposition the sticky header when scrolling left. Fix for [issue #9](https://github.com/Mottie/tablesorter/issues/9). Version 2.0.23.3 (2011-11-7) ============================ * Updated the filter widget: * Changed filter input from visibility hidden to display none. Fix/enhancement from [issue #7](https://github.com/Mottie/tablesorter/issues/7). * Modified the widget to better work with child rows. Added the `widgetFilterChildRows` option. Fix for [issue #8](https://github.com/Mottie/tablesorter/issues/8). * When `widgetFilterChildRows` is true, all child row content is included in the row filtering; if false, the child row content is ignored. * Added `tableClass` to the documents. Apparently I forgot to add it before. * Added a note to the filter demo bringing up [issue #6](https://github.com/Mottie/tablesorter/issues/6). * Miscellaneous updates to the documents. Version 2.0.23.2 (2011-10-28) ============================ * Fixed pager size & total pages not being retained after destroying, then restoring the pager. Thanks to crush123 for reporting the problem! Version 2.0.23.1 (2011-10-26) ============================ * Fixed the pager plugin to prevent errors when initialized on an empty table. Fix for [issue #5](https://github.com/Mottie/tablesorter/issues/5). * Added a Resizable Column widget * At this time, this widget allows resizing the column widths from the header. * The column widths are not saved, but if I did consider saving the widths to local storage. I just didn't get around to doing it. * [Demo page](http://mottie.github.com/tablesorter/docs/example-widget-resizable.html) added. * Reorganized the next demo links, located at the bottom of every demo page, to match the order on the main document page. Version 2.0.23 (2011-10-18) ============================ * Changed the `dateFormat` option: * The settings are now "mmddyyyy", "ddmmyyyy", and "yyyymmdd". * Changed the date separator to include any of the following: slash, dash, period, comma, space(s) or tab. * The date format parser will only work with a four digit year. * Added a [demo page](http://mottie.github.com/tablesorter/docs/example-option-date-format.html). Version 2.0.22.1 (2011-10-15) ============================ * Updated the stickyHeaders widget * Sticky headers will now resize with the browser window * Updated blue and green themes to work better with sticky headers. * If using the uitheme widget, make sure the 'uitheme' widget is applied before (left of) the 'stickyHeaders' widget, as follows: widgets: ['zebra', 'uitheme', 'stickyHeaders'] Version 2.0.22 (2011-10-13) ============================ * Updated the pager plugin: * Fixed a problem that occurred when `removeRows` is set to false - fix for [issue #4](https://github.com/Mottie/tablesorter/issues/4). * Added "disable.pager" and "enable.pager" methods to the pager. These are useful if you want to delete a table row with the pager applied. // Delete a row // this function targets a button with a "remove" class name inside a table row // ************* // Use delegate or live because `removeRows` is set to `true` in the demo - hidden rows don't exist $('table').delegate('button.remove', 'click' ,function(){ var t = $('table'); // disabling the pager will restore all table rows t.trigger('disable.pager'); // remove the chosen row $(this).closest('tr').remove(); // restore pager t.trigger('enable.pager'); }); * Fixed the `positionFixed` option (which positions the pager below the table) to now include the `offset` option value. * Fixed the pager arrow buttons so that destroying and enabling the pager multiple times doesn't multiply the number of pages changed. * Updated the pager demo page to allow deleting rows. * General cleanup and added lots of comments in the plugin and demo page on what each pager option does. * Made one minor change to the tablesorter plugin to accomidate the pager plugin using the `removeRows` option. Version 2.0.21.1 (2011-10-11) ============================ * Added "stickyHeader" widget to the "jquery.tablesorter.widgets.js" file. * This widget makes the header stick to the top of the page while scrolling down. * The sticky header is fully functional and will allow you to sort the table. * And best of all, it can be applied to the original tablesorter plugin. * Thanks to Chris Coyier and his post on [persistent headers](http://css-tricks.com/13465-persistent-headers/). * Added a compressed widget file named "jquery.tablesorter.widgets.min.js". Version 2.0.21 (2011-09-22) ============================ * Added `sortBegin` event * This event is triggered immediately before the actual sort. So this event occurs after the `sortStart` and after the `sortList` option has been updated. * It was added to allow for changing the sort dynamically. See [issue #3](https://github.com/Mottie/tablesorter/issues/3). * Added `removeRows` option to the pager plugin * When `true`, the default value, the pager plugin removes all non-active rows from the table. This greatly increases the sort speed of large tables. * When `false`, the pager plugin merely hides the non-active rows so they all continue to exist in the table. This should allow for better access to data within the table (i.e. submitting form elements) Version 2.0.20.1 (2011-09-16) ============================ * Oops fixed currency sorting Version 2.0.20 (2011-09-16) ============================ * Filter Widget * Added "filter" to the "headers" option to allow disabling the filter option for a specific column - thanks jizo! * Added "filter-false" class, that when applied will disable the filter widget for that column. * Updated the headers docs and the filter widget demo. * Updated the currency parser to use unicode characters to better work in different document formats. Version 2.0.19 (2011-09-16) ============================ * Added code in attempt to clear the table headers between multiple tables - fix for [issue #2](https://github.com/Mottie/tablesorter/issues/2). * Cleaned up some code and wrapped the widget code to prevent conflicts with other javascript libraries. * Updated the columns widget: * Added css examples to the [demo](http://mottie.github.com/tablesorter/docs/example-widget-columns.html). * Removed the `widgetColumns` option from the core, but it is still used by the widget - the way it is used hasn't changed. * Updated the uitheme widget: * Added `widgetUitheme` option - used by the widget, but not included in the core. See the demo for a better example. * Example added to the [uitheme widget demo](http://mottie.github.com/tablesorter/docs/example-widget-columns.html). Version 2.0.18.1 (2011-09-14) ============================ * Updated the "uitheme" widget with method to add zebra striping and hovered header classes. Version 2.0.18 (2011-09-13) ============================ * Fixed a bug in the column widget, it would cause an error if no initial sort was set. * Fixed a bug where an error would occur if a widget doesn't exist. * Updated pager widget to allow restoring the pager plugin & updated demo. * Added column filter widget. It is designed so that each column has an filter. Version 2.0.17 (2011-09-11) ============================ * Added a jquery.tablesorter.widget.js file: * It contains the "uitheme" widget, to add any jQuery UI theme, and the new "columns" widget, to style columns. * The blue and green themes have been updated with the added styles from the columns widget. * Added a Columns Widget demo and instructions. * Added a `widgetColumns` option which defines the css classes added by the columns widget. * Added notes to the pager plugin demo page to better specify when a change was added. * The green theme header images have been modified to better work with variable width tables. Version 2.0.16 (2011-09-08) ============================ * Added notes to demo pages to indicate if the original (version 2.0.5, at [tablesorter.com](http://tablesorter.com/docs/)) does have that option or method. * Added "addRows" method that allows adding table rows. * This method differs from the "update" method in that it only adds rows to the cache. * Use this new method to add rows to a table with the pager plugin applied. Using the "update" method on a table with the pager plugin will remove all hidden rows from the cache. * Added a "destroy.pager" method to remove the pager from the table - pager demo updated. Version 2.0.15 (2011-08-23) ============================ * Fixed a problem that caused a javascript error when a table header cell doesn't have a class name. Version 2.0.14 (2011-08-22) ============================ * Reverted the changes made in 2.0.13 and added checks to prevent errors. * Allowed sorting an empty table which would then automatically sort its contents when the table is updated. * Modified "Update" and "UpdateCell" methods to automatically resort the table using the existing sort. * Updated the [Initializing tablesorter on an empty table](http://mottie.github.com/tablesorter/docs/example-empty-table.html) demo and [Updating a table cell](http://mottie.github.com/tablesorter/docs/example-update-cell.html). Version 2.0.13 (2011-08-19) ============================ * Fixed a problem where a javascript error would occur when initializing a multi sort on an empty table. Thanks again to Eugene Ivakhiv! Version 2.0.12 (2011-08-19) ============================ * Updated the `textExtraction` functionality * The original textExtraction function was only able to be applied to all the cells in the table. * Apparently the ability to define textExtraction on a per column basis was misinterpreted by me, so now I've added it. * Use the option as follows: $("table").tablesorter({ textExtraction: { 0: function(node) { return $(node).find(selector1).text(); }, 1: function(node) { return $(node).find(selector2).text(); }, // etc } }); * Updated the [Dealing with markup inside cells](http://mottie.github.com/tablesorter/docs/example-option-text-extraction.html) demo. * Thanks to Eugene Ivakhiv for reporting this issue to my attention in my blog. Version 2.0.11 (2011-08-04) ============================ * Added the ability to set a column parser using a class name * When setting the parser, start the class name with "sorter-" followed by the parser name, e.g. "sorter-text" or "sorter-digit" * The column can be disabled by setting the class name to "sorter-false" * [Demo page](http://mottie.github.com/tablesorter/docs/example-parsers-class-name.html) included. * Custom parsers can also be used - see the updated [writing custom parsers demo](http://mottie.github.com/tablesorter/docs/example-parsers.html). Version 2.0.10 (2011-07-31) ============================ * Modified the numeric sort with a new method to deal with non-numeric content: * When sorting columns with numeric values, by default any non-numeric or empty cells are treated as if they have a zero value. This puts the text between negative and positive values in a column. * Adding `string : "max+"` to the `headers` option will now treat any non-numeric table cells as if they have a maxiumum positive value (a value greater than the maximum positive value in the column). * Adding `string : "max-"` to the `headers` option will now treat any non-numeric table cells as if they have a maxiumum negative value (a value greater than the maximum negative value in the column). * See the "[Dealing with text strings in numeric sorts](http://mottie.github.com/tablesorter/docs/example-options-headers-digits-strings.html)" demo for a better visual example. * Changed UI theme widget code to use "ui-widget-header" instead of "ui-widget-default" to better match the themes. * Renamed changelog.markdown to changelog.txt to prevent downloading when clicking on the link Version 2.0.9 (2011-07-27) ============================ * Added a jQuery UI theme and widget example. To apply the jQuery UI theme: * Include any jQuery UI theme on your page. * Add the base tablesorter ui theme (located in css/ui directory) * Add the jQuery UI theme widget code found on [this example page](http://mottie.github.com/tablesorter/docs/example-ui-theme.html). This demo page includes the UI theme switcher. * Added a header index to the `onRenderHeader` function to make it easier to target specific header cells for modification. See the [render header example](http://mottie.github.com/tablesorter/docs/example-option-render-header.html) for an example. * Pager plugin updates: * Removed the `separator` option and added an `output` option which allows you to completely customize the output string. * In the `output` string, include any of the following variables: * `{page}` is replaced with the current page number. * `{totalPages}` is replaced with the total number of pages. * `{startRow}` is replaced with the number of the visible start row of the pager. * `{endRow}` is replaced with the number of the visible end row of the pager. * `{totalRows}` is replaced with the total number of rows. * The `cssPageDisplay` option can now target any element; in previous versions, this element was an input of type text. * Added a `pagerArrows` and `cssDisabled` options: * When `pagerArrows` is true, the first and previous pager arrows have the css class name contained in the `cssDisabled` option applied when the first row is visible. * The next and last pager arrows will be have the `cssDisabled` class applied when the last row is visible. * Additionally, if the number of table rows is less than the pager size, the pager will get the `cssDisabled` class name applied. * If false (the default setting), the pager arrows class names will not change. * Please see the updated [pager demo](http://mottie.github.com/tablesorter/docs/example-pager.html) to see this working. Version 2.0.8 (2011-07-21) ============================ * Fixed parsers for currency and digits to work with number values separated by commas. Thanks to Josh Renaud for the information! * Fixed "lockedOrder" header option and added documentation and an example on how to use it. * Made the sort order "desc" only trigger off of the first letter, so any word/abbreviation starting with "d" will set the descending sort order, all other letters will set the order to ascending (shhh, because I'm a bad speller :P) * Modified the "sortInitialOrder" option so it can also be set in the headers option. Version 2.0.7 (2011-07-17) ============================ * Added "pagerChange" and "pagerComplete" events to the pager plugin which trigger on the table. See the [pager demo](http://mottie.github.com/tablesorter/docs/example-pager.html) for an example on how to bind to them. * Added the "sortAppend" since the option was there, but apparently the code wasn't. * Added missing documentation from [my blog post](http://wowmotty.blogspot.com/2011/06/jquery-tablesorter-missing-docs.html) * This included a few new example pages: apply widgets, child rows, render header, sort append and zebra widget. * Added a methods and events table. * Fixed the minified version. Apparently sorting functions called by the eval were removed by the Google Closure Compiler. Resolved by using "Whitespace only" optimization. * Fixed syntax highlighting; updated Chili. Version 2.0.6 (2011-06-22) ============================ * Forked original files and docs from [tablesorter.com](http://tablesorter.com) to GitHub. * Replaced alphabetical sort with an alphanumeric sort * This "slower" sort can be disabled by setting the `sortLocaleCompare` option to `true` * The `sortLocaleCompare` option's default was changed to `false`. * Added a very basic demo. * Added `tableClass` option * The value is "tablesorter" by default and should no longer be required in the default markup. * This class is applied to the table in the script and should match the css styling. * Each header cell now has its content wrapped with a span. * This allows applying the direction icon to the span instead of the entire cell. * Although, this might just be extra markup with the advent of multiple background images and gradient backgrounds available in CSS3. * Reformatted the code to make jSLint "happier". Version 2.0.5b (?) ============================ * General * Added "cssChildRow" option - attach a child row to its parent. * Added "sortLocaleCompare" to use the native `String.localeCampare` method during text sort. * Added "onRenderHeader" function that is called when classes are added to the header cells. * Added "selectorHeaders" option to target the the header cells. * Changed multisort function Version 2.0.3 (2008-03-17) ============================ * Bug fixes - Missing semicolon, broke the minified version. Version 2.0.2 (2008-03-14) ============================ * General * Added support for the new metadata plugin. * Added support for jQuery 1.2.3. * Added support for decimal numbers and negative and positive digits. * Updated documenation and website with new examples. * Removed packed version. * Bug fixes * Sort force (Thanks to David Lynch). Version 2.0.1 (2007-09-17) ============================ * General * Removed the need for Dimensions plugin when using the pagnation plugin thanks to offset being included in the jQuery 1.2 core. * Added support for jQuery 1.2. * Added new Minified version of tablesorter. * Updated documenation and website with new examples. * Bug fixes * If row values are identical the original order is kept (Thanks to David hull). * If thead includes a table $('tbody:first', table) breaks (Thanks to David Hull). * Speed improvements: * appendToTable, setting innerHTML to "" before appending new content to table body. * zebra widget. (Thanks to James Dempster).