mirror of
https://github.com/Mottie/tablesorter.git
synced 2024-11-15 23:54:22 +00:00
11 KiB
11 KiB
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. This 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.
Notice!
- Because of the change to the internal cache, the tablesorter v2.16+ core, filter widget and pager (both plugin & widget) will only work with the same version or newer files.
Documentation
- See the full documentation.
- All of the original document pages have been included.
- Information from my blog post on undocumented options and lots of new demos have also been included.
- Change log moved from included text file into the wiki documentation.
Demos
- Basic alpha-numeric sort Demo.
- Links to demo pages can be found within the main documentation.
- More demos & playgrounds - updated in the wiki pages.
Features
- Multi-column alphanumeric sorting and filtering.
- Multi-tbody sorting - see the options table on the main document page.
- Supports Bootstrap v2 and 3.
- Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats) & time. Add your own easily.
- Inline editing - see demo.
- 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.
- 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.
- Dual licensed under the MIT or GPL licenses (pick one).
Download
- Get all files: zip or tar.gz.
- Use bower:
bower install jquery.tablesorter
. - Use node.js:
npm install tablesorter
. - CDNJS: https://cdnjs.com/libraries/jquery.tablesorter.
Related Projects
- Plugin for Rails. Maintained by themilkman.
- UserFrosting (A secure, modern user management system for PHP that uses tablesorter) by alexweissman.
- Grav CMS:
bin/gpm install tablesorter
(ref).
Contributing
If you would like to contribute, please...
- Fork.
- Make changes in a branch & add unit tests.
- Run
grunt test
(if qunit fails, run it again - it's fickle). - Create a pull request.
Special Thanks
- Big shout-out to Nick Craver for getting rid of the
eval()
function that was previously needed for multi-column sorting. - Big thanks to thezoggy for helping with code, themes and providing valuable feedback.
- Big thanks to ThsSin- for taking over for a while and also providing valuable feedback.
- Thanks to prijutme4ty for numerous contributions!
- Also extra thanks to christhomas and Lynesth for help with code.
- And, of course thanks to everyone else that has contributed, and continues to contribute to this forked project!
Questions?
- Check the FAQ page.
- Search the main documentation (click the menu button in the upper left corner).
- Search the issues to see if the question or problem has been brought up before, and hopefully resolved.
- If someone is available, ask your question in the
#tablesorter
IRC channel at freenode.net. - Ask your question at Stackoverflow using a tablesorter tag.
- Please don't open a new issue unless it really is an issue with the plugin, or a feature request. Thanks!
Recent Changes
View the complete change log here.
Version 2.28.0 (11/27/2016)
- Core:
- Return value from
getColumnData
if not an object. - Include extra headers when adding unsorted class. Fixes issue #1306.
- Add option validator. Fixes issue #1319.
- Maintain original settings on
resetToLoadState
.
- Return value from
- Docs:
- Add missing colon in CSS. Fixes issue #1307.
- Add notes on
sortList
overriddingsortForce
&sortAppend
. See issue #1286. - Update sortTbody widget demo showing new option.
- Add zebra widget to sort reset demo.
- Define a triggered "update". Fixes issue #1317.
- Clarify recalculation update method. Fixes issue #1317.
- Explain difference between
#
and0
in the math mask. Fixes issue #1320. - Add link to disable thead row example. Fixes issue #1326.
- Filter:
- Restore
filter_searchDelay
function. Fixes issue #1299.
- Restore
- Grouping:
- Fix insertion of group header before child rows. See pull #1301; thanks @babaevmm! Also fixes issue #1325.
- Math:
- Fix prefix/suffix option names & processing. Fixes issue #1305.
- Remove
math_prefix
content prior to parsing cell values.
- Pager:
- Set
ariaDisabled
property to stop MS Edge crash. Fixes issue #1303. - Restore settings on
resetToLoadState
. Fixes issue #1311.
- Set
- Tbodysort:
- Add
sortTbody_lockHead
option. See pull #1312; thanks @ChrisM-Rogers! - Add
sortTbody_lockHead
to default options.
- Add
Version 2.27.8 (9/28/2016)
- Core: minor code cleanup.
- Docs: remove code in duplicate example-widget-filter-custom. See pull #1295; thanks @themilkman!
- ColumnSelector:
updateAll
properly updates the popup. See Stack Overflow. - Pager: Maintain filter focus on custom controls. Fixes issue #1296.
- Readme: Add link to Grav CMS. See issue #1290.
Version 2.27.7 (9/23/2016)
- Core:
- Include version in log.
- Remove space from debug message.
- Docs: update jQuery.
- Filter:
- Include "input" event for searches. See issue #1280.
- Add support for descending sort on selectSources values.
- Mark: Remove internal case matching.
- Pager:
- Allow for optional output callback in favour of parsable string. See pull #1283; thanks @joelperry93!
- Add output function support to pager widget. See pull #1283.
- Maintain
pageDisplay
ID, if one exists. Fixes issue #1288.
- RepeatHeaders:
- Repeat HTML content instead of only text. See pull #1282; thanks @Milania1!
- Testing: update jQuery usage.