Skip to content

Github fork of Christian Bach's tablesorter plugin + awesomeness ~

Notifications You must be signed in to change notification settings

mpfries/tablesorter

 
 

Repository files navigation

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.

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.

Demos

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

Related Projects

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.
  • 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!

Change Log

View the complete listing here.

Version 2.18.3 (11/7/2014)

  • Core
    • Add class names to the header icons: cssIconNone, cssIconAsc & cssIconDesc to indicate the sort status.
    • The widthFixed option will no longer target nested table colgroup elements to determine if it needs to add a new colgroup.
  • Docs
    • Updated Bootstrap theme example.
    • Pager widget option comment corrections.
  • Themes: update all themes to hide all elements in the filter row when the filter_hideFilters option is true
  • CssStickyHeaders widget: tables with a caption now work properly in Firefox.

Version 2.18.2 (11/3/2014)

  • Filter widget

    • Fixed initialization intermittently stalling.
  • Pager addon & widget

    • Fixed pager addon javascript error.
    • Fixed pager widget not firing off "pagerComplete" in non-ajax tables.
    • Fixed savePages being overwritten on initialization.
    • Fixed pager widget updating the table content in non-ajax tables.

Version 2.18.1 (11/3/2014)

  • Core

    • Add cssAllowClicks option; setting "tablesorter-allowClicks" on a header cell will allow clicks to bubble up.
    • A column can now be targeted using a class name within the header cell as well as the header cell itself; this only applies to previous options that could use a class name/id to target the header cell.
  • Docs

    • Emphasize that this is a fork of tablesorter. Fixes issue #758.
    • Update jQuery UI to 1.11.2.
    • Update to Bootstrap 3.3.0.
    • Update QUnit & fixed testing errors.
    • Various updates to version numbers & corrections.
  • ColumnSelector widget:

  • CssStickyHeaders widget:

    • Fixed Chrome caption issue.
    • Nested tables now work properly in IE.
  • Pager addon & widget

    • Fix selectorRemove class name parsing.
    • A pagerComplete event now fires off immediately after initialization & once again fires on non-ajax tables.
    • Fix double pagerComplete events firing on init & initial filter settings.
    • Fix pager initialization with filter widget & displaying page output. Fixes issue #755 & issue #757.
    • Current filters now update properly. See issue #757.
  • UItheme widget:

    • Fixed undefined removeClass selector which previously removed all classes.

Version 2.18.0 (10/26/2014)

  • Core
    • Move "ipAddress" parser into parser-network.js parser file.
    • Add "image" parser to core.
    • Add widgetClass option
      • Allows adding widgets to the table by adding a table class name.
      • Fix debug logs for applying widgets.
      • Fixes issue #743.
    • Add $cell parameter to parser detection is function (is: function(s, table, cell, $cell) { /* ... */ }).
    • Add $table parameter to onRenderHeader function (onRenderHeader: function (index, config, $table){ /* ... */ }).
    • Fix ARIA caption label reference.
    • Get column index from data-attribute when sorting.
    • The aria-labelledby attribute is no longer to all nested captions.
    • Update widgetClass option matching. See issue #743.
  • Themes
    • Include caption element in metro theme; update various demo theme selectors to include the metro theme.
    • Fix zebra striping in nested tables.
  • Parsers
    • Created parser-network.js parser
      • Removed "ipAddress" parser from core.
      • Move "ipAddress" parser into this file; a duplicate of the parser named "ipv4Address" is included.
      • Moved "ipv6Address" parser into this file.
      • Added new MAC parser.
    • Update all date parsers to ensure a valid date is being parsed.
    • Add named number parser & demo.
  • Column Selector widget
    • Prevent adding a media query when no priorities are set.
    • col element will now be hidden along with the column. Fixes issues #740.
  • Editable widget
    • Make updatable so this widget works with the pager. Fixes issue #732.
  • Filter widget
    • Fix wildcard match logic to behave logically. Fixes issue #727.
    • Add filter_cellFilter option. Fixes issue #731.
    • External inputs can now target multiple columns (e.g. data-column="0-2,4,6-7"); see this Stackoverflow question.
    • Any match filters now properly uses filter_ignoreCase. Fixes issue #748.
    • Fix saved filter updates to multiple or "any" column inputs.
  • Grouping widget
    • Add "monthyear" grouping to dates. Fixes issue #744.
  • Pager addon & widget
    • Use a sample of page number links for large collections.
      • Add maxOptionSize option
      • Tweak code & fix problems introduces in pull #711.
      • Thanks camallen!
    • Fix output display not updating on initialization.
    • Add url check to allow ajax updating of table. Fixes issue #730.
    • Check for dynamically changing ajaxUrl option.
    • Add ajaxObject to the table.config.pager variable.
    • IE requires a value attribute for every option. Fixes issue #734.
    • Revert some code modified for large collections to use jQuery instead of native javascript (more IE issues).
    • Ensure pager.filteredRows is current on page move. See issue #745.
    • Fix empty table select showing 0 & 1 pages.
    • The fixedHeight option is now working properly. Fixes issue #742 & issue #729.
    • Widget cleanup & only use the last search data.
    • Add note about including an ajax success function within the ajaxObject definition. See issue #749.
  • RepeatHeaders widget
    • Now works with filtered & nested tables.
  • Resizable widget
    • Make it work inside of an overflow container. Fixes issue #737.
  • Scroller widget
    • Remove scroller_idPrefix in lieu of a unique namespace id.
  • StickyHeaders widget
    • Now stacks when within a nested table.
    • Wrapped sticky header components (thead & caption) in a sticky div.
    • Added stickyHeaders_xScroll and stickyHeaders_yScroll options.
    • Removed jQuery UI selection from the demo to allow the accordion to be properly themed.
  • CssStickyHeaders widget
    • Now stacks when within a nested table.
    • Removed cssStickyHeaders_zIndex option as the widget no longer uses relative positioning (it wasn't necessary)
    • Please note that using this widget on nested tables does not work properly in ALL versions of IE (including IE11).
  • UITheme
    • Ignore nested tables.
    • Add method to remove previous theme.
    • Fix multiple header row sort icons.

About

Github fork of Christian Bach's tablesorter plugin + awesomeness ~

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 91.2%
  • CSS 8.8%