tablesorter/README.md
2014-03-13 18:54:55 -05:00

151 lines
10 KiB
Markdown

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.
### [Documentation](http://mottie.github.io/tablesorter/docs/)
* See the [full documentation](http://mottie.github.io/tablesorter/docs/).
* All of the [original document pages](http://tablesorter.com/docs/) have been included.
* Information from my blog post on [undocumented options](http://wowmotty.blogspot.com/2011/06/jquery-tablesorter-missing-docs.html) and lots of new demos have also been included.
* Change log moved from included text file into the [wiki documentation](https://github.com/Mottie/tablesorter/wiki/Change).
### Demos
* [Basic alpha-numeric sort Demo](http://mottie.github.com/tablesorter/).
* Links to demo pages can be found within the main [documentation](http://mottie.github.io/tablesorter/docs/).
* More demos & playgrounds - updated in the [wiki pages](https://github.com/Mottie/tablesorter/wiki).
### Features
* Multi-column alphanumeric sorting and filtering.
* Multi-tbody sorting - see the [options](http://mottie.github.io/tablesorter/docs/index.html#options) table on the main document page.
* Supports [Bootstrap v2 and 3](http://mottie.github.io/tablesorter/docs/example-widget-bootstrap-theme.html)
* Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats) & time. [Add your own easily](http://mottie.github.io/tablesorter/docs/example-parsers.html).
* Inline editing - see [demo](http://mottie.github.io/tablesorter/docs/example-widget-editable.html)
* Support for ROWSPAN and COLSPAN on TH elements.
* Support secondary "hidden" sorting (e.g., maintain alphabetical sort when sorting on other criteria).
* Extensibility via [widget system](http://mottie.github.io/tablesorter/docs/example-widgets.html).
* Cross-browser: IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, Chrome 5.0+.
* Small code size, starting at 25K minified
* Works with jQuery 1.2.6+ (jQuery 1.4.1+ needed with some widgets).
* Works with jQuery 1.9+ ($.browser.msie was removed; needed in the original version).
### Licensing
* Copyright (c) 2007 Christian Bach.
* Original examples and docs at: [http://tablesorter.com](http://tablesorter.com).
* Dual licensed under the [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL](http://www.gnu.org/licenses/gpl.html) licenses.
### 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 thanks to [thezoggy](https://github.com/thezoggy) for helping with code, themes and providing valuable feedback.
* Big thanks to [ThsSin-](https://github.com/TheSin-) for taking over for a while and also providing valuable feedback.
* Also extra thanks to [christhomas](https://github.com/christhomas) and [Lynesth](https://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!
### Change Log
View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change).
#### <a name="v2.15.10">Version 2.15.10</a> (3/13/2014)
* Fix `numberSorter` option causing a javascript error &amp; added test.
#### <a name="v2.15.9">Version 2.15.9</a> (3/12/2014)
* jQuery UI Filter formatter scripts work again (broken since adding unique namespaces in v2.15.7).
#### <a name="v2.15.8">Version 2.15.8</a> (3/12/2014)
* Filter widget
* Search delay is no longer ignored.
* Fixes issues [#544](https://github.com/Mottie/tablesorter/issues/544) &amp; [#545](https://github.com/Mottie/tablesorter/pull/545)
* Thanks to [@dturkenk](https://github.com/dturkenk) for this contribution!
* Align Character widget (beta)
* Added this widget to help align cell content on a character (space, decimal, etc).
* Check out [the demo](http://mottie.github.io/tablesorter/docs/example-widget-align-character.html)!
#### <a name="v2.15.7">Version 2.15.7</a> (3/9/2014)
* Core
* Minor natural sort algorithm optimization
* Added `namespace` which should contain a unique namespace for each table; it is used when binding to event listeners.
* Build table widget
* Removed inappropriate empty table console message when initializing.
* [build table widget](http://mottie.github.io/tablesorter/docs/example-widget-build-table.html) documentation update (includes `<head>` scripts &amp; css)
* Fixed nested accordions
* Column selector widget
* Setting the `columnSelector_saveColumns` option to `true` now saves the "auto" state. Fixes [issue #517](https://github.com/Mottie/tablesorter/issues/517).
* Filter widget
* Use the new `namespace` option to use with event listeners. Fixes [issue #535](https://github.com/Mottie/tablesorter/issues/535).
* headerTitles widget
* Sorry for all of these breaking changes, I should have left this widget in beta.
* The `headerTitle_prefix`, `headerTitle_text`, `headerTitle_numeric` options has been replaced, in lieu of the new ouput options; sorry for no deprecation notice.
* Added `headerTitle_useAria`, `headerTitle_tooltip`, `headerTitle_output_sorted`, `headerTitle_output_unsorted`, `headerTitle_output_nosort`, `headerTitle_cur_text`, `headerTitle_cur_numeric`, `headerTitle_nxt_text`, `headerTitle_nxt_numeric`, `headerTitle_type` &amp; `headerTitle_callback` options. See the [headerTitles widget demo](http://mottie.github.io/tablesorter/docs/example-widget-header-titles.html) for more details.
* Added `"refreshHeaderTitle"` method to force the widget to update.
#### <a name="v2.15.6">Version 2.15.6</a> (3/7/2014)
* Doc
* Added docs for `$.tablesorter.language` which contains the text used in the `aria-label` for the header
* Update `isValueInArray` &amp; `sortAppend` docs.
* Core
* Destroy now unbinds the `updateCache` method properly
* Update `$.tablesorter.isValueInArray` function &amp; `sortAppend` option. Fixes [issue #523](https://github.com/Mottie/tablesorter/issues/523).
* All test dates are now time zone & DST independent. Fixes [issue #516](https://github.com/Mottie/tablesorter/issues/516).
* Added tests for `sortForce`, `sortAppend`, `sortMultiSortKey` and `sortResetKey`.
* Cache natural sort regex.
* Date parsers now return the original cell text instead of an empty string when encountering invalid dates. Sort of fixes [issue #531](https://github.com/Mottie/tablesorter/issues/531).
* Event fixes:
* Sort events will now only show when the table is being sorted; previously when updating an unsorted table, sort events would fire.
* The `updateComplete` event now fires after every triggered update (`update`, `updateRows`, `updateAll`, `updateCell` &amp; `addRows`)
* Updated pager to correctly trigger the `updateComplete` event when using ajax.
* Added unit tests to ensure these events fire on an empty table.
* Fixes [issue #532](https://github.com/Mottie/tablesorter/issues/532)
* ColumnSelector widget
* Make column disable, visible &amp; invisible methods consistent. Fixes [issue #519](https://github.com/Mottie/tablesorter/issues/519)
* Filter widget
* Preset filter searches (set by `data-value` on the header) work again. Fixes issues [#511](https://github.com/Mottie/tablesorter/issues/511) &amp; [#525](https://github.com/Mottie/tablesorter/issues/525).
* Add note to docs about adding a placeholder. Fixes [issue #522](https://github.com/Mottie/tablesorter/issues/522).
* Filter build select function no longer causes a javascript error on empty tables. Fixes [issue #528](https://github.com/Mottie/tablesorter/issues/528).
* Grouping widget
* The `collapsed` option once again shows the group headers. Fixes issues [#514](https://github.com/Mottie/tablesorter/issues/514) & [533](https://github.com/Mottie/tablesorter/issues/533)
* Add `group_saveGroups` &amp; `group_saveReset` options:
* The `group_saveGroups` option (`true` by default) saves the group name of any collapsed groups (requires `group_collapsible` to be `true`)
* The `group_saveReset` option (`null` by default) contains a jQuery selector string or jQuery object pointing to an element to be used to clear the saved groups.
* Both of these options require the storage utility script contained within the `jquery.tablesorter.widgets.js` file.
* Fullfils feature request of [issue #514](https://github.com/Mottie/tablesorter/issues/514).
* Added details about using regular expressions within the `group_separator` option.
* Header Titles widget (headerTitles)
* New widget which adds the current sort to the header title attribute.
* It distinguishes between a text and numeric sort and includes the current sort direction
* A prefix can be included.
* By default, an ascending sort shows either "A - Z" or "0 - 9", or "Z - A" or "9 - 0" for descending sorts.
* Note that date columns will show as numeric
* Fixes [issue #529](https://github.com/Mottie/tablesorter/issues/529).
* Pager (addon & widget)
* Ensure empty array `[]` and array of empty strings `['', '', '']` evaluate as the same when checking if the filters have changed. Fixes [issue #202](https://github.com/Mottie/tablesorter/issues/202) (again).
* Compare `totalRows` vs. `totalPages` when preventing an ajax call.
* Changes to make the `updateComplete` event fire, but because of the asynchronous nature of ajax, it fires before any `sortEnd` events. It may take some more work to resolve this, if it becomes a concern.
* Attempted to fix pager row count issue. See [issue #455](https://github.com/Mottie/tablesorter/issues/455).
* Miscellaneous
* Pager custom controls (beta) now shows no pages on a single page. Fixes [issue #518](https://github.com/Mottie/tablesorter/issues/518)
* Increase Bootstrap 3 theme css specificity. See [issue #515](https://github.com/Mottie/tablesorter/issues/515)
* Checkbox parser no longer causes a js error when a checkbox doesn't exist.
#### <a name="v2.15.5">Version 2.15.5</a> (2/23/2014)
* Pager widget now initializes properly when using ajax. Fixes [issue #510](https://github.com/Mottie/tablesorter/issues/510).