Skip to content

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

Notifications You must be signed in to change notification settings

mdillen/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.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 targetted 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 parseing.
    • 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 ouput 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.

Version 2.17.8 (9/15/2014)

  • Core
    • Fix widthFixed option to ignore info block tbodies.
    • Make emptyTo & stringTo settings case insensitive.
    • An empty string headerTemplate option will now prevent adding an inner div to the header.
  • Docs
    • Fix setting active accordion from hash script.
    • Add emptyTo clarification.
    • Main readme: Add related projects section.
  • Editable
    • Autoresort true no longer breaks the table.
    • Update demo to use row id instead of index.
    • Update validate function to allow setting it per column.
    • Add editable_focus, editable_blur and editable_selectAll options. See issue #708.
    • Add editable_wrapContent option.
    • Add editable_trimContent option.
    • Validate function now includes a contenteditable element parameter.
    • All text callback parameters are now trimmed.
    • Trim everything & revert widget changes.
    • Refocus edited element after resort only.
    • Switch form focus to focusout.
  • Filter
    • Add filter_defaultFilter option.
      • fix issue with using class selectors.
      • Make happy with spaces within the query.
      • Will override exact/partial select filters. Fixes issue #721.
      • Fixes issue #704.
    • Add filter_excludeFilter option; add multiple exclusions separated by spaces, not commas.
    • Prevent multiple searches during initialization.
    • Ensure initial filter settings get applied.
    • Selects will exactly match the selected option unless "filter-match" class is set. Fixes issue #721.
  • Pager
    • Update cache & rows copy. Fixes issue #703.
    • Use native javascript to populate & set the goto select. Fixes issue #711.
    • Custom pager controls. Fix control updates for multiple tables.
    • Fix pager widget to be properly applied after a page move.
  • StickyHeaders: Fix issue so it works with jQuery v1.2.6 again.
  • Zebra: Apply style to one row. Fixes issue #715.
  • Parser
    • Duration parser - added with demo.
    • Select parser - Fix for IE10+ not allowing select options to be clicked.
    • IgnoreArticles parser - Added ignoreArticlesExcept option.
    • url parser - ensure it is used by the filter widget.

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published