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 and GPL licenses.
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.
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.25.5 (3/1/2016)
- Global:
- Replace array push functions in main loops.
- Docs:
- Update storage widget changes.
- Various corrections.
- Editable:
- Fix lint issue.
- Replace pasted content with plain text. Fixes issue #994.
- Filter:
- Correctly use parsed data when set. Fixes issue #502.
- Add
filter_matchType
option. Fixes issue #1170.
- Group:
- Use non-cached variables when added after core init. Fixes issue #1158.
- Math:
- General cleanup & optimization.
- Leave table in place or filter input lost. Fixes issue #903.
- Print:
- Stop print event propagation from nested tables. Fixes issue #1160.
- Scroller:
- Move caption to cloned
thead
. Fixes issue #1141. - Update to remove vertical scroll. See pull #1165; thanks jasongabel!
- Fix js error when no caption exists, oops! See issue #1141.
- Tweak code from pull #1165 to allow setting
scroller_height
to zero. Fixes issue #907.
- Move caption to cloned
- StickyHeaders:
- Fixed memory leak in StickyHeaders. See pull #1162; thanks Drumsticks1!
- Modified StickyHeader widget for better performance. See pull #1164; thanks Drumsticks1!
- Storage:
- Allow setting a falsy value. Fixes issue #1163.
- Parser:
- Add huge number parser. See issue #1161.
- Huge number correction (make JSCS happy).
- Build:
- Update dependencies. Several times!
Version 2.25.4 (2/15/2016)
- Core:
- Remove id from widgets option prior to remove function. See issue #1155.
applyWidgetsId
properly accepts jQuery table element.
- ColumnSelector:
- Clear column container when refreshing. See pull #1145; thanks eltharin!
- Prevent refresh error. See pull #1145.
- Editable:
- Use
execCommand
to select all text, if supported.
- Use
- Filter:
- Select defaults to exact match again. Fixes issue #1136.
- Fix disable of live search. See issue #1152.
- Grouping:
- Reapply zebra after collapsed group opens. Fixes issue #1156.
- Pager:
- Add
initialRows
option; use whenprocessAjaxOnInit
set tofalse
. See [Stackoverflow](See http://stackoverflow.com/q/34972532/145346). - Prevent js error on successive removal calls. Fixes issue #1155.
- Add
- Docs:
- Add
ignoreRow
class to pager row. - Show actual theme names; to use in the
themes
option.
- Add
- Build: Update dependencies.
- Testing: re-align code.
Version 2.25.3 (1/21/2016)
- Filter:
- Check that filter is not undefined before encoding/decoding it & treat null and undefined filters the same. See pull #1130; thanks tim-schilling!
- Search delay now works properly. Fixes issue #1134.
- Docs:
- Add clarification about hiding columns. See issue #1133.
- Build:
- Update dependencies.