mirror of
https://github.com/Mottie/tablesorter.git
synced 2024-11-15 23:54:22 +00:00
14 KiB
14 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.24.2 (11/2/2015)
- Misc
- Restory empty bower.json ignore setting... bower is installing an empty dist folder.
Version 2.24.1 (11/2/2015)
- Core
- Cache "shortDate" parser & time parser now extracts the time.
- Group
- Add optimizations from pull #830; thanks to VorontsovIE!
- Update demo to use new "weekday-index" parser when "group-date-week" is set, and updated "time" parser when "group-date-time" is set.
- Print
- Rows option now accepts custom css selectors.
- Sort2Hash
- Remove history push state as it ignored other tables on the page.
- Parsers
- Globalization parser now caches the
Globalize
object in a same named option. - Convert month & weekday parsers to utilize globalization data.
- Add "weekday-index" parser - this parser ignores the actual date but saves the weekday from a date object
- Globalization parser now caches the
- Misc
- Revert bower.json changes in pull #1063; Fixes issue #1068.
Version 2.24.0 (10/31/2015)
- Docs
- Fix mixed content using GitHub buttons on main page. See pull #1029; thanks OmgImAlexis!
- Clarify use of pager
ajaxUrl
option. - Add theme class to tables to prevent FOUC.
- Fix left menu push. The body no longer squeezes the content.
- Update stickyHeaders after menu close.
- Include horizontal scroll while jumping to search result.
- Add some examples (
filter_cssFilter
).
- Global
- Call internal functions directly; stop using triggered events.
- Core
- Use plain javascript to set index attribute & remove unused variable. See issue #1048.
- Add "entire column
colspan
" support. See issues #485, #746 & #1047. - Fix parser detect & sortVars on columns that don't exist due to colspan. See issues #485, #746 & #1047.
- Reformat structure & expand variable names.
- Add
rowFilter
parameter togetColumnText
function. - Fix multisort indicators. Fixes issue #1005, again.
sortAppend
now accepts an object of column references; see Stackoverflow.- Internalize sort counter & fix spanned sorts.
- Add
"tablesorter-ready"
event. - Add widget from class before adding widget options.
- Maintaining support for IE7-8 until 1/12/16.
- Chart
- Fix
chart_layout
column indexing.
- Fix
- ColumnSelector
- Add
mediaqueryHidden
option. Resolves issue #964. - Extra rows & colspans now supported in
thead
&tfoot
. Fixes issue #501. - Fix jscs reported issues.
- Add
- Filter
- Encode/decode filters in case they end up in cookies. See issue #1026.
- Add "entire column
colspan
" support. See issues #485, #746 & #1047. hideFilters
applies to stickyHeaders again. Fixes issue #1050.- Prevent error in
formatterUpdated
. Fixes issue #1056.
- Grouping
- Prevent error if
group_forceColumn
is improperly defined. See issue #1030. - Improve compatibility with jQuery Globalize; Find more details here.
- Update header in pager with
removeRows:true
. Fixes issue #1035.
- Prevent error if
- HeaderTitles
- Switch to use internalized sort counter.
- Lazyload
- Add new widget. Demo
- Math
- Created new calculation type "below". It works just like "above" except in other direction starting from top to bottom. See pull #1027; thanks LvLynx!
- Tweak changes & more tweaks for better compression.
- Detach table prior to indexing all cells. See issue #1048.
- Add
math_none
option. - Include
config
parameter in math equations - needed formath_none
option.
- Output
- Correct
formatContent
function comment (missing widgetOptions variable) - Do not include nested table headers with parent. Fixes issue #1040.
- Correct
- Pager
- Clear tbody if no data returned by ajax. See issue #1032.
- Add "all" setting for page size methods; includes select option & all methods. See issue #1055.
- Fix pager widget demo destroy method.
- destroyPager again reveals all rows. Fixes issue #1055.
- Parse page numbers to prevent user seeing
NaN
. - Parse page size updates.
- Print
- Internal variable tweaks.
- Include css to hide filter rows. Fixes issue #1046.
- Add print delay; allows browsers to render print preview.
- Scroller
- Fix
scroller_barWidth
issue in iOS. See pull #1062; thanks fire-wally!
- Fix
- Sort2Hash
- Update to include pager (page & size) and filter parameters.
- SortTbodies
- Moved config string defaults to
$.tablesorter.strings
to match core reformatting.
- Moved config string defaults to
- StickyHeaders
hideFilters
applies to stickyHeaders again. Fixes issue #1050.
- View
- Add new widget. Demo.
- Fix jscs reported issues.
- Parsers
- Globalize parser now allows a different language per column.
- Fix jscs reported issues.
- Misc
- Bower: use correct theme name. Fixes issue #1028.
- Readme: Add link to UserFrosting by alexweissman
- Updated build dependencies x2.
- Added development files & directories to bower ignore. See pull #1063; thanks jdufresne!
Version 2.23.5 (10/4/2015)
- Core:
- Remove
tabindex
when sort is disabled. See
- Remove
- Docs:
- Add instructions on how to use the new filter option (
filter_childWithSibs
). - Include filter reset in above demo.
- Fixed spelling mistake x2. See pull #1024 & #1025; thanks OmgImAlexis!
- Add note data-attribute values added to both parsed & raw data. Closes issue #983.
- Move all javascript to page bottom.
- Add instructions on how to use the new filter option (
- Filter:
- Keep parent match when no child rows match. See issue #1020.
- Ignore
filter_childWithSibs
whenfilter_childByColumn
isfalse
. See issue #1020. - Select includes child rows when
filter_childByColumn
is set.
- Pager
- Prevent hiding child rows when disabling or destroying the pager. See issue #1020.