-
Notifications
You must be signed in to change notification settings - Fork 754
Older changes 2.25.0
Wiki: Home | FAQ | Customize | Snippets | Search | Language | Changes | Older-changes-2.25.0 | Older-changes-2.13.0 | Change summary
Milestones: 2.25 | 2.24 | 2.23 | 2.22 | 2.21 | 2.20 | 2.19 | 2.18 | 2.17 | 2.16 | 2.15 | 2.14
Version 2.25.9 (4/29/2016)
- Docs:
- Fix search for next/previous result positioning.
- Add
sortMultiSortKey
alternative settings. See issue #1200.
- ColumnSelector:
- Refresh method properly saves changes. Fixes issue #1198.
- Fix missing class name; fallback to "filtered" when the
filter_filteredRows
widget option is undefined. - Add
columnSelector_maxPriorities
. Fixes issue #1204.
- Filter:
- Include milliseconds in formatter date comparison. See issue #1191.
- Properly initialize after using
applyWidgetId
. Fixes issue #1197.
- Scroller:
- Add multi-line caption height support in fixed column. Fixes issue #1202.
- Parser (checkbox):
- Header checkbox properly updates row class names.
- Fix indeterminate checkbox issue in IE.
- Fix indeterminate checkbox state checked state in IE.
- See issue #1199.
Version 2.25.8 (4/11/2016)
- Core:
duplicateSpan
set tofalse
now usestextExtraction
instead of setting the data to an empty string; see [Stackoverflow](See http://stackoverflow.com/q/36449711/145346). - Docs:
- Update jQuery.
- Various fixes.
- Theme: Bootstrap: default cursor for sorter-false. Fixes issue #1189.
- Print: Process lazyload images before printing. See issue #1169.
- Grunt:
- Update dependencies.
- Update Qunit.
Version 2.25.7 (4/1/2016)
- Filter: Check match on both internal & external filters. See issue #1177.
- Lazyload: Trigger window scroll after update. See issue #1169.
- Scroller: Throttle scroll event. Fixes issue #1186.
- StickyHeaders: Update on table resize for Firefox. Fixes issue #1183.
- Grunt: Update dependencies.
Version 2.25.6 (3/18/2016)
- Core:
- Add debug warning when widget not found.
- Add debug warning when widget is added more than once.
- Docs:
- More notes added about including
.filter { display: none; }
in custom themes. See issue #1172. - Add support badges to readme.
- More notes added about including
- Filter:
- Add
filterResetSaved
method. See issue #1173. - Update cache when
delayInit
set. Fixes issue #1180.
- Add
- Lazyload:
- Trigger lazyload after filtering. Fixes issue #1169.
- Change
skip_invisible
option default totrue
.
- Grunt:
- Update dependencies.
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.
Version 2.25.2 (1/15/2016)
- Docs:
- Update main demo & test to use jQuery 3.0.0-beta.
- Core:
- Revert extra header class name updating. See issue #1116.
- Filter:
- Add
filter_resetOnEsc
option. See issue #1126.
- Add
- Output:
-
output_saveRows
now accpets a filter callback function.
-
- Parsers:
- checkbox value should no longer change. Fixes issue #1125.
Version 2.25.1 (1/10/2016)
- Docs:
- Update to jQuery v1.12.0.
- Fix HTML hint issues.
- Core:
- Fix time parser detection. See issue #1107.
- Add multiple widgets from table class. Fixes issue #1109.
- Fix extra header class name updating. See issue #1116.
- Fix typo in comments.
- ColumnSelector:
- Prevent remove widget js error. Fixes issue #1106.
- Add
tbody
colspan support. See issue #1120. - Add child row colspan support. See issue #1120.
- Filter:
- Use replacement character instead of null (for IE).
- Fix "or" test regex. Fixes issue #1117.
- Restore
return false
to fix unit tests. - Functions now get exact data, ignoring parsed flag. Fixes issue #1107.
- Parsed flag now all set
true
iffilter_useParsedData
istrue
& stop usingconfig.$headers
.
- Output:
-
output_callback
can now return modified data. See issue #1121.
-
- Grunt:
- Add HTML hint.
Version 2.25.0 (12/13/2015)
- Global
- Use
triggerHandler
instead oftrigger
to prevent event bubble to any outer table. See issue #1090.
- Use
- Core
- Add
duplicateSpan
option (default istrue
) with unit tests (demo). - Add triggered "removeWidget" method & update docs.
-
applyWidgetId
now properly initializes a widget, if needed. -
applyWidgetId
now adds widget name towidgets
option. - Show parsed data in debug log. See issue #1084.
- Prevent js error - calling "applyWidgetId" on non-existant widget.
- Prevent js error - trying to apply a non-existent widget.
- Fix "updateCell" issue. If "updateCell" is triggered on a
thead
cell, or bubbles to an outer table, tablesorter no longer gets stuck in an "isUpdating" loop. - Ensure table has initialized before allowing use of "updateCell". See issue #1099.
- Fix cache debug log for multiple tbodies.
- After init,
computeColumnIndex
now only adds "data-column" attribute to mismatched indexes - lessens DOM interaction on tbody (e.g. math widget). - Add "sortBeforeEnd" event for internal widget binding.
- Renamed
$.tablesorter.formatSortingOrder
to$.tablesorter.getOrder
. - Include
table
in console.error if an issue is encountered during initialization. - Clean up warning when no parser is found for given data.
- Fix
config.sortVars
js error for non-existent header cells (makes second column of this demo sortable using "sorton").
- Add
- Docs
- Add reference to datejs parser. See issue #1084.
- Add note that reflow widget only works with HTML5.
- Add note in filter localization about escaping special characters in regular expressions. See issue #1101.
- Update & add all options in math widget demo.
- Fix search tooltip not hiding on side menu close.
- Update to Bootstrap v3.3.6.
- Editable
- Ensure table has initialized before allowing use of "updateCell". See issue #1099.
- Filter
- Prevent js error when
columnFilters
arefalse
. Fixes issue #1091. - Restore column specific default filters. Fixes issue #1088.
- Prevent
insideRange
filter type (widget-filter-type-insideRange.js
) searches on "all" columns. - Prevent edge case js error.
- Add "filterBeforeEnd" event for internal widget binding.
- Filters that span multiple columns now have the correct "data-column" value set.
- Consolidated code that parsed "data-column" ranges into a
findRange
function (e.g. external filters withdata-column="1-3,4-6,8"
).
- Prevent js error when
- Math
- Add
"data-math-filter"
cell override ofmath_rowFilter
option. See issue #1083. - Limit tbody cell processing & use
cellIndex
whenever possible. See issue #1048. - Use core
textExtraction
on cells. See issue #1098. - Initial calculation performed once - changed binding to either "filterEnd" or "pagerComplete", not both.
- Added change flag so a cache update is only performed when cell content inside of a sortable tbody was modified.
- Fix "data-math-filter" on "all" cell calculation with fixes to getRow & getColumn functions so that filters get priority over the "filtered" row check. See issue #1083.
- Another "data-math-filter" fix and change flag fix. See issue #1083; thanks to @lindonb for all the feedback!
-
math_none
can now be set to an empty string.
- Add
- Print
- Popup made resizable & scrollable. See issue #1081.
- Parsers
- Checkbox row class & header now work with
sorter-false
set. See issue #1090. - Return
true
for header checkbox to work in IE8. See issue #1090.
- Checkbox row class & header now work with
- Misc
- gitignore file - ignore "idea" demos used for testing.
Version 2.24.6 (11/22/2015)
- Core
- Prevent "tablesorter-ready" event from firing multiple times in a row.
- While detecting parsers, use
cssIgnoreRow
& stop after 50 rows.
- Docs
- Update utility options section.
- Math
- Add
math_rowFilter
option. See issue #1083. - Spelling corrections to
math_rowFilter
option. - Ensure internal updating flag gets cleared. Fixes issue #1083.
- Add
- Pager
- Initial page no longer ignored (no filter widget). Fixes issue #1085.
- Fix other page set issues (no filter widget). Fixes issue #1085.
- Fix page set issues (with filter widget). Fixes issue #1085.
- Clean up pager widget code.
- Print
- Add
print_now
option. See issue #1081. - Fix print & close button actions.
- Add
- SortTbodies
- Use config parameter for numeric sorting. See issue #1082.
- Parsers:
- Update
parser-input-select.js
. See issue #971. -
parser-date-month.js
no longer removes other language data. - Add alternate date range parser & update filter insideRange filter type.
- Don't use
$.extend
for simple additions.
- Update
- Misc
- Update grunt dependencies.
Version 2.24.5 (11/10/2015)
- Pager: Fix javascript error in pager addon when using ajax.
Version 2.24.4 (11/10/2015)
- Core
-
sortRestart
works again with multi-row headers. Fixes issue #1074. - Add
sortDisabled
language setting; used in aria-labels.
-
- Docs
- Update
group_formatter
docs. See issue #1077. - Add clarification & missing possible values. See issue #1070.
- Fixed mixed content issue, broken links (beta-testing demos) & other stuff.
- Add filter + jQuery UI Selectmenu demo. See issue #1060
- Misc updates.
- Update
- Filter
- Convert filters to strings using conventional methods.
- Prevent "OR" filter type from splitting up regex string. See [issue #1070]https://github.com/Mottie/tablesorter/issues/1070).
-
filter_selectSource
option now accepts an array of objects (demo).
- Group
- Include group & row data parameters in
group_formatter
. Fixes issue #1077.
- Include group & row data parameters in
- HeaderTitles
- Update aria-label usage.
- Math
- Avoid nested table math cells. See Stackoverflow.
- Pager
- Clear
tbody
prior to callingajaxProcessing
. This again allows the developer to add the HTML to the table instead of needing to return it.
- Clear
- Sort2Hash
- Make widget functions accessible.
- Add 2 utility functions to simplify hash processing.
- Toggle
- Add new widget to enable/disable sort & filter. See issue #1075.
- Parser
- Add "file-extension" parser.
- Misc
- Grunt: Fix uglify comment removal & update dist folder.
Version 2.24.3 (11/4/2015)
- Core
- jQuery filter element parameter not defined in v1.2.6.
- Fix
sortRestart
preventing sort. Fixes issue #1072.
- Filter
- Convert filter array to include all strings. Fixes issue #1070.
-
setFilter
"apply" parameter now defaults totrue
. See issue #1071.
- Resizable
- Fix widget bindings after tablesorter "updateAll" event. See pull #1073; thanks scr34m!
- Misc
- One more attempt at setting
ignore
in bower.json. See pull #1063.
- One more attempt at setting
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 Stackoverflow.
- 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.
Version 2.23.4 (9/23/2015)
- Core:
- Ensure widgets don't get cached options. Fixes issue #946.
- Update natural sort regular expression for chunking data.
- Use
window.console
check to prevent IE9 error. Fixes issue #1019.
- Filter:
- Modified internal variable.
- Add internal processOptions function & code cleanup.
- Fix external filters not allowing columns > 9. See pull #1021; thanks a-mair!
- Add
filter_childWithSIbs
option. Fixes issue #1020.
- Build
- Update dependencies.
Version 2.23.3 (9/1/2015)
- Docs:
- Correction to
dateFormat
demo.
- Correction to
- Core:
- Corrected sorting of col/rowspan in
thead
. Fixes issue #1005. - Correct header sort indicators in row/colspans. Fixes issue #1005.
- Corrected sorting of col/rowspan in
- Filter:
- Use namespacing when binding reset. Fixes issue #1001.
- Restore triggered change namespace & prevent search before init. Fixes issue #1002.
- Group:
- Remove unused variable.
- Add
group_forceColumn
&group_enforceSort
options. Fixes issue #1000.
Version 2.23.2 (8/23/2015)
- Readme
- Corrections for last update
- Docs
- Add parsed values function no longer wraps empty content.
- Core
- Cache regular expressions.
- ColumnSelector
- Add
columnSelector_updated
option (triggered event name).
- Add
- Filter
- Allow dynamically changing the "any match" filter. Fixes issue #998.
- Cache regular expressions.
- Add reference to widget code to make the file more compressible.
Version 2.23.1 (8/19/2015)
-
Core
-
Prevent js error when
$.tablesorter.showError
is called without a string. Fixes issue #997. -
Updated
$.tablesorter.showError
function by including asettings
parameter; a parameter passed by jQuery's.ajaxError()
method, but was previously omitted.$.tablesorter.showError( table, xhr, settings, exception );
I didn't bump the minor version as this is somewhat on the edge of calling this a breaking change.
-
-
Pager
-
Include
settings
parameter from ajaxError method, between thexhr
andexception
parameters to match the order of parameters returned by jQuery.ajaxError()
method.ajaxError: function( config, xhr, settings, exception ){ return exception; };
-
Version 2.23.0 (8/17/2015)
- Core:
- Prevent
addRows
error. See issue #979. - Make all updating methods public
- Call a function instead of triggering an event on the table. Changes include:
-
$.tablesorter.addRows
- called byaddRows
method. -
$.tablesorter.appendCache
- renamed fromappendToTable
; appends cache to DOM, called byappendCache
method. -
$.tablesorter.isEmptyObject
- clone of$.isEmptyObject
(jQuery v1.4). -
$.tablesorter.sortOn
- called bysortOn
method. -
$.tablesorter.sortReset
- called bysortReset
method. -
$.tablesorter.updateAll
- called byupdateAll
method. -
$.tablesorter.updateCache
- called byupdateCache
method. -
$.tablesorter.updateCell
- called byupdateCell
method. -
$.tablesorter.update
- called byupdate
andupdateRows
method.
-
- Call a function instead of triggering an event on the table. Changes include:
-
addRows
now accepts a row string if only one tbody exists in the table.- The one tbody does not include information only tbodies (which have a class name from
cssInfoBlock
). - Previously, you had to make a jQuery object, append it to the table, then pass a reference containing the new rows.
- This method doesn't work if a table has multiple tbodies, because the plugin doesn't know where you want to add the rows.
- Also, updated the debug message for this method.
- The one tbody does not include information only tbodies (which have a class name from
- Use header cells instead of references to prevent IE8 error. Fixes issue #987.
- Fix above header cell targetting causing a javascript error in jQuery v1.2.6. Fixes issue #995.
- Add
updateHeaders
method- Triggered event & public api function.
-
$.tablesorter.updateHeaders
- called byupdateHeaders
method. - Fixes issue #989.
- Prevent
- Docs:
- Update jQuery UI theme switcher URLs.
- ColumnSelector:
- Modify
refreshColumnSelector
method so it also updates the contents of the container in case of changes to the header text, column priorities, etc. - See examples of these changes in the column selector methods section.
- Fixes issue #985.
- Modify
- Editable:
- Filter:
- Fix js error caused when limiting search columns - external "any" filter targeting specific columns; see Stackoverflow.
- Pager:
- Widget only: No more javascript error in widget ajax error message.
- Addon only: replace use of
$.isEmptyObject
which was not available in jQuery v1.2.6. - Change enable, disable & destroy trigger methods.
- Previously, these methods had to include a
.pager
namespace:enable.pager
,disable.pager
&destroy.pager
. - These methods stopped working when unique pager namespaces were added.
- New trigger methods are named as follows:
enablePager
,disablePager
&destroyPager
. - Fixes issue #980.
- Previously, these methods had to include a
- Unbind pager controls on destroy. Fixes issue #981.
- Add
ajaxError
callback function. Fixes issue #992.
- Parsers:
- parser-input-select: fix javascript error when no rows returned.
- Misc & Testing
- Miscellaneous cleanup of testing code.
- Add empty
ignore
entry to bower.json. Fixes issue #991. - Fix license in package.json to match the new spdx license expression syntax.
Version 2.22.5 (7/28/2015)
- Overall:
- Set JSHint "undef" & "unused" options. Fixed issues.
- The math widget was throwing a javascript error after missing a changed variable name & JSHint wasn't catching it, until now.
Version 2.22.4 (7/28/2015)
- Overall
- update debug logging.
console
is now called directly & includes grouping, tables, warning & errors.
- update debug logging.
- Core
- Replace
tbody
placeholder use of a<span>
with a<colgroup>
. Attempt to resolve IE error reported in issue #938. - Fix
$.tablesorter.hasWidget
error introduced when fixing jscs issues. - Fix
$.tablesorter.isProcessing
error introduced when fixing jscs issues. - Update
isValueInArray
function to prevent js errors with invalid input.
- Replace
- Docs
- Remove duplicate section in math widget docs.
- Add resizable widget note about leaving
widthFixed
set tofalse
. See issue #958. - Update to use jQuery v1.11.3.
- Change deprecated window load function.
- Improve two-digit year parser demo.
- Minor updates.
- Filter
- Prevent invalid RegExp errors which occur while typing in an incomplete query.
- Math
- Ignored rows are now properly ignored in columns. Fixes issue #976.
- Output
- Add
output_formatContent
callback - see Stackoverflow. - Make compatible with the scroller widget when it hides columns. See pull #970, thanks VictorT83!
- Add
- Pager
- Bind using unique event namespace. See issue #961.
- Scroller
- Prevent error on destroy when not applied. See issue #965.
- Fix js error in old IE.
- Delay resize after updateAll.
- Include
sortEnd
in fixed column updates. See issue #977.
- Sort2Hash
- This widget updates the location hash based on the table sort, and sets the table sort on initialization. demo.
- A user can share a link with others and have the table in the same sorted order.
- The hash can be set to use header text and any text to indicate an ascending or descending sort.
- Add text & saveSort override options. Fixes issue #962.
- Other minor revisions.
- Parsers
- Checkbox in multiple columns now toggles the row class correctly.
- Grunt build: Add jscs checking & fix reported style issues.
- Testing
- Update QUnit to 1.18.0.
- Add
removeWidget
test. - Add
isValueInArray
tests. - Add
isProcessing
tests.
- Extras - dropping support for quicksearch plugin.
Version 2.22.3 (6/30/2015)
- Scroller: fix javascript error
scroller_$fixedColumns
is undefined.
Version 2.22.2 (6/30/2015)
- Core
- Only use
preventDefault
in specific jQuery versions (v1.3.2 & older). Fixes issue #911. - The
"updateCache"
method now accepts atbody
object. - Make
getParsedText
a public function. - Allow empty string in textExtraction data-attribute. Fixes issue #954.
- Only use
- Docs
- Update trigger sort method documentation.
- Update information about
cssIgnoreRow
. See issue #911. - Add requirement to include
.filter { display: none }
in custom themes. - Improve Bootstrap example in column selector docs. See pull #935, thanks @Herst!
- Clean up & corrections:
- Code examples in math & editing demos.
- Corrected comments in "Skip the parsing of column content" demo.
- Fix HTML validation issues.
- Add contributing.md link to JSCS formatting file by @Herst.
- Update to Bootstrap v3.3.5.
- Parsers
- Checkbox: add checkbox parser class name option (
config.checkboxClass
). - Metric: Support metric base unit case insensitivity.
- Checkbox: add checkbox parser class name option (
- Editable
- Allow Shift+Enter to create a new line (even with
editable_enterToAccept
set astrue
). - Update cache without requiring a hover over the
thead
; cache order now properly maintained on touch devices.
- Allow Shift+Enter to create a new line (even with
- Filter
- Target last used filter properly. See issue #920.
-
filter_selectSource
now ignores parsers, if none are set (empty or ajax tables). See issue #934. - Add support for nesting of "AND" & "OR" searches. Fixes issues #891 & #918.
- Filter row remains visible after focused when
filter_hideFilters
is set. - Remove trailing comma in pull #948, thanks @Herst!
- Output
- Allow empty string data-attributes. See issue #923.
-
output_saveRows
now accepts jQuery filter selectors. See issue #923. - Fix
hiddenColumns
option causing an empty output. Fixes issue #923. - Prevent javascript error when no row data is passed. See issue #923.
- Remove
tfoot
clone, instead concat data to the end. - Fix
colspan
s and hidden columns. - Stop
outputTable
method propagation. Fixes issue #944.
- Pager
- Make
hasWidget
think the pager addon is a widget. - Prevent adding a row if ajax returned JSON
totalrows
is zero. See Stackoverflow.
- Make
- RepeatHeaders
- use
selectorRemove
option setting.
- use
- Resizable
- Replace window resize trigger. See issue #912.
- Resizing now works with overflow wrapped tables. Fixes issue #953.
- Scroller
- Fix added stylesheet error using "," instead of ";".
- Remove
colgroup
& hidden elements in fixed columns. - Fix slow fixed column scrolling in Firefox. See issue #135.
- Multiple
tbody
fix. See issues #906 & #913. - Limit horizontal scrollbar to scrolling section.
- Removed
widthFixed
requirement. - Update RTL support.
- Fix column alignment. Fixes issue #913.
- Fix filter return zero to few rows.
- Reduce init lag & correct no fixed column tbody width. See issue #906.
- Fix mousewheel scrolling on fixed columns.
- Cleanup & old IE fix.
- Fix column alignment issues #940, #937, #931 & #927.
- Throttle IE scrolling. Partially fixes issue #928.
- Save scroll positioning. Fixes issues #926 & #932.
- Integrate with:
- pager. Fixes issue #884.
- columnSelector. Fixes issue #905.
- SortTbodies (beta)
- Add new widget to allow the sorting of tbodies based on a primary row.
- Fixes pull #195 & issue #833.
- Documentation & demo page added: http://mottie.github.io/tablesorter/docs/example-widget-sort-tbodies.html
- StickyHeaders
- Replace window resize trigger. See issue #912.
- Fix javascript error. See issue #920.
- Zebra
- Target non-info block tbodies in extra tables.
- Grunt
Version 2.22.1 (5/17/2015)
- Filter: fix issue with searches always looking for parsed content in numeric columns.
Version 2.22.0 (5/17/2015)
- Docs
- Lots of minor version updates, spelling corrections & clarifications in wording.
- Update box-sizing styles (ref).
- Update
characterEquivalents
cross-reference to correctly match the code of the plugin. - Add Build table widget example resulting HTML for the json example.
- Grunt build
-
package.json
files now points to the entire "dist" folder. See issue #881. - Add
grunt quick
build to only update widget & parser files; it skips updating the dates in the widgets & combined files.
-
- Core
- The
isDigit
function now reportsfalse
on empty strings. See issue #865. - Add pointer events options (
pointerClick
,pointerDown
andpointerUp
). Fixes issue #885. - Prevent js error when using the
computeColumnIndex
function on empty tables (used by the math widget). Fixes issue #889. - Prevent js error when
sortList
includes an out-of-bounds column. Fixes issue #908. - Centralize extractor & parser code; this code is used by the main build cache loop and the "addRows" & "updateCell" methods.
- Child row content is now properly stored in row data as an array of arrays.
- Add "o" to
sortLocaleCompare
replacement table & update docs. - Replace all instances of using jQuery each with plain javascript. Fixes issue #827.
- The
- Editable
- Modify
trimContent
option & use HTML to modify text. Fixes issue #886. - Fix
selectAll
& changetbody
mouseleave to complete editing tothead
mouseenter. Fixes issue #848. - Only make table cell child div/span contenteditable. See issue #900.
- Add remove widget code & allow dynamic updating if the "no-edit" class changes. Fixes issue #900.
- Modify
- Filter
- Regex filter searches now cache the created regex object for each query to optimize speed & a regex search now properly uses case-sensitive content
- Add
data
parameter tofilter_functions
. This is the same data used by the filter search type functions. See issue #891. - Any match searches which target specific columns will no longer save each filter to its respective column; see "AnyMatch Searches" documentation.
- Operator filter searchs now ignore empty strings (because
"" < 10
istrue
). - Clean up
parseFilter
function. - Add
filter_childByColumn
option. - Code cleanup - added a bunch of whitespace & forced line wraps at around 120.
- Prevent setFilter function from setting the same filters after an update. Fixes issues #903 & #733.
- Grouping
- Add keyboard accessibility to group headers. See issue #260.
- Math
- Fix issues with
isNaN('') // false
. See issue #873. - Reapply column indexing after updates & prevent js error on empty tables. Fixes issue #889.
- Reduce update time to 20ms. See issue #898.
- Exclude ignored cells even if
math_ignore
is empty. Fixes issue #896.
- Fix issues with
- Output
- Add BOM back to downloaded file. Fixes issue #862.
- Add
output_hiddenColumns
option. Fixes issue #869. - Add known issues section about downloading in Safari.
- Pager (addon & widget)
- Replace all instances of using jQuery each with plain javascript. Fixes issue #827.
- Resizable
- Refreshing the widget will now preserve the storage. See issue #874.
- Scroller
- Set
overflow-x
auto & apply border-box to scroller. See issue #135. - Remove
pointer-events: none
from fixed column. See issue #878. - Hide fixed column scrollbar in IE9 & older. See issue #135.
- Update
pointer-events
and tabbing accessibility. See issue #135. -
setFixedColumnSize
now properly updates with no set size. - Add
scroller_addFixedOverlay
- When
true
, a fixed column overlay is added for additional styling. See issue #887. - It includes css
pointer-events
set tonone
to allow interaction with elements underneath; make sure your browser supports it!
- When
- Fix selector issue in the remove function.
- Properly refresh column size after an update. Fixes the third part of issue #906.
- Set
- Parsers
- Add "inputs-numeric" parser. Fixes issue #888.
- Add jQuery Globalize date & number parsers.
- "namedNumbers" parser: ignores adjacent puncutation. Fixes issue #890.
- input-select parsers:
- Clean up & add event namespaces.
- Now return an empty string if the value is empty; previously, it would return the cell text when the value was empty.
- Network "MAC" parser:
- Return the original string if the address is grossly invalid. Fixes issue #895.
- No longer auto-detect as iPv6. See issue #895.
- Themes
- Declare font-weight separately. Thanks nikolas (pull #866)!
- Update Boostrap v2.x theme, and add a Bootstrap v2.x demo.
Version 2.21.5 (4/8/2015)
- Filter
- Cache main loop variables - speed enhancement.
- Allow setting
filter_selectSource
along withfilter_functions
(demo).
- Resizable
- Integrate with columnSelector. See issue #859.
- Prevent javascript error.
- Resizable handles now properly align when the table is within a layout with margins. Fixes issue #864.
- Scroller
- Apply on initialization. Fixes issue #860.
Version 2.21.4 (3/28/2015)
- Core
- Add a utility
$.tablesorter.getColumnText()
function.- This function will provide a centralized method of obtaining column data (raw & parsed text from cells) and allow processing cells.
- I plan to update all widgets that need to interact or obtain column data to use this function in v2.22.0.
- Add a utility
- Build
- The build process now includes selected parsers (added
parsers
option to build json). - A new
jquery.tablesorter.combined.js
file is created which will contain the core plugin along with all selected widgets & parsers; a default build does not have any selected parsers. - This will work around, but not resolve, issue #855.
- The build process now includes selected parsers (added
- Extras
- Update
semver.js
&semver-mod.js
to v4.3.3.
- Update
Version 2.21.3 (3/26/2015)
- Core
- Fix icon targeting for class names
- Modified sort initiation method. A "click" event can now be triggered on a header to initiate a sort - issue #849. Thanks johnjameswhitman.
- General code cleanup; mostly changing
tagName
tonodeName
. - Modified, then removed all references to
config.$extraTables
andconfig.$extraHeaders
as it was causing a memory leak.
- Docs
- Update jQuery to v1.11.2.
- Update Bootstrap to v3.3.4.
- Grunt Build
- Add custom build file name. See issue #829.
- The default custom build file name is now "jquery.tablesorter.custom-widgets.js".
- See the Customize wiki page for more details.
- Filter
- Make "disabled" a modifiable class name - modify it in
$.tablesorter.css.filterDisabled
. - Select2 filter formatter now escapes forward slashes.
- Make "disabled" a modifiable class name - modify it in
- Output:
- Minor code tweak.
- Pager:
- Make
pagerUpdate
method page parameter optional. It was previously required or the page would reset to0
. - Remove "refreshComplete" bind on destroy. Fixes issue #854.
- Make
- Resizable:
- Major overhaul of this widget to now make it compatible with the stickyHeaders widget.
- Sadly, it still doesn't work properly with the updated scroller widget; it's on my to-do list!
- Scroller:
- Added fixed column support! Fixes issues #135, #689, #763 and https://github.com/Mottie/tablesorter/issues/804.
- Check out the third table in the scroller widget demo - change the slider to adjust the number of fixed columns.
- Storage:
- Add option (
widgetOptions.storage_useSessionStorage
) to allow switching from local to session storage. Fixes #851. - Add a bunch of other storage widget options including
storage_tableId
,storage_group
,storage_fixedUrl
andstorage_page
. See the documentation on how they might be useful. - Deprecated
config.fixedUrl
in favor of thewidgetOptions.storage_fixedUrl
option.
- Add option (
- Themes
- Add "hover" class to all hover definitions (for the scroller widget mostly).
- Remove filter element offsetting margins.
- Target
background-color
instead ofbackground
. Fixes issue #853.
Version 2.21.2 (3/13/2015)
- Core: get accurate column count. Fixes issue #840.
- Docs
- Update to use jQuery UI v1.11.4.
- Add note about resizable widget needing a non-breaking space in an empty cell. Fixes issue #844.
- Editable: fix editable not updating properly on update/pager complete.
- Filter: prevent error if
parseFilter
returnsNaN
- this depends on what custom parsers return. - Output: change carriage returns & tabs to unicode equivalent so it works in Excel. Fixes issue #845.
- Pager
- Don't recalculate total rows/pages if using ajax.
- Remove outdated pager.min file in the
addons
folder; it is now available in thedist/js/extras
folder.
- Uitheme: add icon classes while using stickyHeaders. See issue #842.
Version 2.21.1 (3/10/2015)
- Core:
- Optimize
getColumnData
function. - Use
:last
instead of.last()
to maintain jQuery v1.2.6 compatibility. - Allow multiple icon class names in the
cssIcon
definition.
- Optimize
- Docs
- Remove initial sort on first table to avoid confusion.
- Miscellaneous tweaks.
- Build
- Scroller
- Properly adjust column widths; fixes issue #836.
Version 2.21.0 (3/5/2015)
- Core
- Plan to manually update vesion number.
- Optimizations: replace arrays using
$.each
with for loops. Fixes issue #827. - Add
$.tablesorter.addInstanceMethods
function.- This allows one to define config object instance methods (docs).
- Thanks to prijutme4ty for contributing!
- Add
config.$headerIndexed
option (docs).
- Docs
- Update link in readme.
- Add contributing information.
- Update download method information.
- Build/Testing
- Move jshint to "grunt test" task.
- Attempt to make nested callbacks more stable.
- Clean up testing & made more stable, by prijutme4ty.
- ColumnSelector
- Add more debug logging.
- Filter
- Add more debug logging.
- Add
config
parameter tofilter_functions
. - Add "widget-filter-type-insideRange.js" filter type; this filter type allows searching for a value that is within a range (demo).
- External filters can now set initial values; this includes match-any-column inputs.
- Extend filterFormatter functions - fixes an issue where HTML5 & jQuery ui filterFormatters override the function definitions.
- Output
- Add
output_includeFooter
option.
- Add
- Pager
- Add more debug logging.
- Scroller
- Add missing
tfoot
rows. Fixes issue #825.
- Add missing
- StickyHeaders
- Now works properly with a full-height wrapper. Fixes issue #564.
- Add stickyHeader hidden class name & modal demo links. Fixes issue #832.
Version 2.20.1 (2/20/2015)
- Filter: Fixed a major issue with the filter widget not working properly.
Version 2.20.0 (2/20/2015)
- Grunt build process
- Added code to use npm & grunt to build a custom widget file.
- An
example.json
file has been added as an example of how to set up a custom build file; see the Customize wiki page for more details. - With each build, the following occurs:
-
jquery.tablesorter.js
is copied to thedist/js
folder. - All
less
files are copied to thedist/css/less
folder. - All images, including the pager icons, is copied into the
dist/css/images
folder. - A
jquery.tablesorter.widgets.js
file is created from the selected widgets into thedist/js
folder, then copied back to thejs
folder to allow jsFiddle demos to continue working. - A
.min.js
file is created for the core & widget file in thedist/js
folder, then all parsers & widgets are compressed separately in thedist/js/parsers
anddist/js/widgets
folder, respectively. - A
.min.css
file is created for all themes, dragtable, filter-formatter & pager styles. - The black-ice theme within the distribution folder is renamed to
theme.blackice.min.css
(no dash). See issue #785.
-
- Files - the following changes to files have been made for the Grunt build process (this might break a few jsFiddle demos):
-
jquery.metadata.js
has been moved into thejs/extras
folder. -
jquery.tablesorter.widgets-filter-formatter.js
- moved to the
js/widgets
folder - Broken into two files, and renamed to
widget-filter-formatter-html5.js
andwidget-filter-formatter-jui.js
.
- moved to the
-
jquery.tablesorter.widgets-filter-formatter-select2.js
- Moved into the
js/widgets
folder. - Renamed to
widget-filter-formatter-select2.js
- Moved into the
-
jquery.tablesorter.widgets.js
- Has been broken up into separate widget files:
widget-column.js
,widget-filter.js
,widget-resizable.js
,widget-saveSort.js
,widget-stickyHeaders.js
,widget-storage.js
andwidget-uitheme.js
. - A default build creates a file of the above widgets combined in the
dist/js
folder. - A copy of this newly created combined widget file is then copied back to the
js/
folder to allow external demos (jsFiddle) to still work.
- Has been broken up into separate widget files:
-
- Resolve jQuery unbinding issue
-
When unbinding events in jQuery versions 1.7 to 1.8, if an event list contains double spaces
$('table').unbind('a b');
all events will be removed from that element (see this demo)!
-
Unbinding of events updated in the Core plugin & pager addon, and the following widgets: cssStickHeaders, editable, filter, formatter, math, staticRow & stickyHeaders.
-
- Modified
config.cache
to only include non-info only tbodies.- This modification effects the core & the following widgets: chart, filter, grouping, pager (widget & addon).
- Thanks to prijutme4ty for working on this change.
- See pull request #822 for more details.
- Core
- Add
cssNoSort
option. Add the class name from that option to any element within a header will prevent a click on that element and any containing elements from causing a sort. - Remove
cssAllowClicks
option. It wasn't working as intended and actually prevented sorting. It was replaced by it's opposite, thecssNoSort
option. - Make core work with jQuery v1.2.6, again.
- Make
getElementText
function public; with a bug fix from prijutme4ty in pull.
- Add
- Docs
- Add a css column & row highlighting demo.
- Update jQuery UI & remove "latest" from the file name.
- Filter
- Prevent javascript error when empty rows (
<tr></tr>
) are included in the tbody. Fixes issue #819. - Prevent javascript error when performing an "any-match" search triggered on the table without an included external
data-column="all"
input. - Ensure that an "any-match" search is a string value.
- Added "any-match" specific column search by using
#:{query}
where#
is a one-based column index and{query}
is the query. Thanks to MaksimProgr for providing the code in pull request #817. This also fixes issue #747. - Added
filter_columnAnyMatch
option to allow disabling the "any-match" specific column search.
- Prevent javascript error when empty rows (
- Pager
- Fix initial start page default for the widget only.
- Update pager
ajaxProcessing
code demo to prevent unordered JSON keys from adding content to incorrect columns. Fixes issue #818.
- Parsers
- Fix checkbox parser, in the
parser-input-select.js
file, so that it now properly updates when changed.
- Fix checkbox parser, in the
Version 2.19.1 (2/9/2015)
- Core
- Replace all double quote with a single - OCD made me do it!
- Save raw table cell text (unparsed) into the cache.
- Core/Widgets
- Fix a problem with event unbinding when using jQuery versions 1.7 & 1.8.
- When an
unbind
(oroff
) event string contains an untrimmed or central double space, all events on the element become unbound. - See jQuery bug or this demo.
- Updated the core, and the cssStickyHeaders, editable, filter, formatter, math, pager (addon & widget), staticRow widgets and stickyHeaders widgets.
- Chart
- Add more data points.
- Filter
- Add a second custom filter search type example which allows finding if the query number is within a range.
- Math
- Add
math_event
option.
- Add
- StaticRow
- Add
staticRow_event
option.
- Add
Version 2.19.0 (2/7/2015)
- Core
- Add AMD/browserify support; See pull #786, thanks to mwiencek!
- Resort variable can now contain a new sort. See issue #782.
- Prevent resort when
serverSideSorting
istrue
. Fixes issue #764. - Add
resort
option. It is used as the fallback value when no resort parameter is included with the "updateAll", "update", "addRows" and "updateCell" methods. - Add
removeWidget
function which calls the widgetremove
function & removes the named widget from theconfig.widget
option. - A
refreshing
parameter was added to the widget remove function; whentrue
it indicates that arefreshWidgets
method was triggered and that the widget will only be temporarily removed. - Make fixColumnWidth a public function (
$.tablesorter.fixColumnWidth
). Calling it will refresh set column widths dynamically. See issue #680. - The default
textExtraction
function has been optimized -node.innerText
was completely removed as it is significantly slower in IE. - Modified the "updateCell" method to not reapply widgets if the resort parameter is
false
; this may resolve issue with widgets causing elements to lose focus. - Updated the
refreshWidgets
to use theremoveWidget
function. Once the widgets have been refreshed a"refreshComplete"
event will be triggered. - Updated
applyWidget
function to allow passing a callback function. - Prevent adding multiple icons on refresh.
- Trim header text added to aria label.
- The
updateAll
method no longer restores headers since it is only refreshing. - Fix parser check while building cache which can cause unresolving parsers in case the first tbody is empty and remaining tbodies have less rows than a number of tbody. See pull #814. Thanks prijutme4ty!
- Docs
- Specify pager's
pageSet
method requires a one-based index value. - Miscellaneous corrections & fixes. Thanks prijutme4ty!
- Remove
uitheme
widget option (it was removed in v2.14.0, but not properly documented). Pertinent information on how to modify the uitheme widget class names was moved to the coretheme
documentation. - Add a new pager variables section which contains some useful variables within the pager object (
table.config.pager
). - Update "jQuery data" demo to show the difference between setting a data-attribute and jQuery data directly.
- Add api documentation for using the
getColumnData
function.
- Specify pager's
- Parsers
- Add countdown parser (hh:mm:ss) - demo included with the duration parser.
- Update input-select parser to use the
resort
option.
- Widgets (general)
- Build widget & storage extension: Pass
"null"
to$.parseJSON
as a fallback. Fixes issue #586. - Update
remove
widget function for columnSelector, cssStickyHeaders, math, pager, repeatHeaders, saveSort & stickyHeaders. - Widgets removed from beta: alignChar, columnSelector, math, output, print, reflow & staticRow.
- Build widget & storage extension: Pass
- AlignChar:
- Don't add align character when no content is right of it. Prevents adding a hanging decimal, e.g.
3000.
.
- Don't add align character when no content is right of it. Prevents adding a hanging decimal, e.g.
- Chart widget (New; beta):
- Generic chart widget used to basically extract data from the table and output in multiple formats.
- Current chart libraries supported: Google charts, Highcharts & FusionCharts.
- Some additional processing may be required to add extra variables (graph colors, labels, etc).
- A demo is available here.
- An example of this widget is also available here.
- Thanks to TheSin- for creating this widget!
- ColumnSelector:
- Fix column index issue, again.
- The
refreshColumnSelector
method has been updated to accept a parameter (get more details):- If an array of zero-based column indexes is passed by this method, "auto" mode will be disabled & only columns within the array will be shown - critical or disabled columns will always be shown.
- If a non-array is passed by this method, the "auto" mode will be enabled.
- Fixes issue #798.
- A change in "auto" checkbox now triggers a "columnUpdate" event.
- Dragtable (New; beta)
-
The dragtable jQuery UI widget adds column reordering to a table.
-
This isn't a tablesorter widget, but a modification made to a jQuery UI widget to better integrate with tablesorter - demo.
-
A modified version of dragtable has been included in the "extras" folder; this is a jQuery UI widget, not a tablesorter widget!
$(function () { $('table') .dragtable({ dragHandle: '.table-handle', excludeFooter: true }) .tablesorter({ theme: 'blue', selectorSort: '.sort', widgets: ['zebra', 'filter'] }); });
-
This modified version, so far, allows column reordering to work with the filter & resizable widgets.
-
Additional work will be required to get this jQuery UI widget to work with the scroller, columnSelector & stickyHeaders widgets.
-
- Editable
- Update to add a
editable_columnsArray
which is created from theeditable_columns
option. Wheneditable_columns
contains a string (e.g.0-3
), this option will contain an array of zero-based column indexes. - The dragtable mod widget can then use this option to rearrange and maintain editable columns properly.
- Update to add a
- Filter
- Hide filter row using the
filtered
class name (table.config.widgetOptions.filter_filteredRow
). - Select source, and unparsed filter text now priorities data from the
textAttribute
. Fixes issues with Formatter widget - see issue #812. - Update select2 filterFormatter code to properly escape regexp characters. Fixes issue #796.
- Normalize
table
parameter for public functions.
- Hide filter row using the
- Formatter (New; beta)
- This new widget allows you to apply formatting to the columns (demo).
- Fixes issue #812.
- Output
- Fix trim spaces for header cells.
- Pager
-
pageReset
now used while filtering. See issue #778. - Get most up-to-date filter before setting
pageReset
. Fixes issue #783. -
filteredRows
now properly calculated when firsttbody
is set with acssInfoBlock
class name`. - Page size resets to original page setting instead of always 10.
- Add
pageAndSize
method to set both the page & size. - Add
pagerUpdate
method to force a pager update; even if no ajax parameters have changed. Fixes issue #801. - Add
cachedIndex
variable which is useful if you need to find the currently visible rows within the pager in the internal cache (table.config.cache
). See the documentation for an example. - Update goto selector independently of other elements. Fixes issue #811.
- Modified to apply widgets & fire "pagerComplete" after the cache is built; this specifically applies to ajax tables.
-
- Print
- Ignore columnSelector "auto" setting when
columnSelector_mediaquery
option is disabled (false
). Fixes issue #808.
- Ignore columnSelector "auto" setting when
- Reflow
- Trim stored header text.
- Scroller
- UITheme
- Now updates properly when dynamically changing the
table.config.theme
option. - During an update, add inner wrapper to specific columns that are missing it.
- Add separate sort class names to both the header & icon element; breaks old demos, but falls in-line with the addition of core css icon class settings in v2.18.3.
- Now updates properly when dynamically changing the
- Themes
- Add filter row background color; it appears that Chrome uses the
<tr>
background color when thehideme
class is added to the row. - Updated Bootstrap to 3.3.2.
- Add filter row background color; it appears that Chrome uses the
- Testing
- Update QUnit.
- Remove jsHint checks.
Version 2.18.4 (12/22/2014)
- Docs
- Add link to demo showing how to apply jQuery selectmenu widget to a filter
- Update theme switcher linked styles
- Add clarification on using jQuery selectors that target the header cell. Fixes issue #766.
- Fix various typos. Thanks seanhussey!
- Add
cssIgnoreRow
docs.
- Core
- Add
cssIgnoreRow
option. Added to a header row that is to be ignored & not added to theconfig.$headers
variable. - Allow passing alternate headers to
getColumnData
function.
- Add
- ColumnSelector widget
- Add
columnUpdate
event when columnSelector is updated. - Add
columnSelector_cssChecked
option - css class name added to checkboxes.
- Add
- Pager (addon & widget)
- Ensure
filteredRows
variable gets updated before the move to page function is called. Fixes issue #778.
- Ensure
- StickyHeaders widget
- Make
includeCaption
option dynamic; add note of new jQuery requirement. - Add popup window demo to sticky headers example.
- Make
- Themes
- Style filter input & selects only.
- Only style
<i>
tags from tablesorter on theme Bootstrap v2 & less file. Thanks frodrigo! - Modify theme Dropbox & grey to also only target icon class name for css styling.
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 tablecolgroup
elements to determine if it needs to add a newcolgroup
.
- Add class names to the header icons:
- 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 istrue
- 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.
- Add
-
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.
- Fix
-
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 detectionis
function (is: function(s, table, cell, $cell) { /* ... */ }
). - Add
$table
parameter toonRenderHeader
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.
- Move "ipAddress" parser into
- 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.
- Created
- 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.
- 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 thetable.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 theajaxObject
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.
- Remove
- StickyHeaders widget
- Now stacks when within a nested table.
- Wrapped sticky header components (
thead
&caption
) in a sticky div. - Added
stickyHeaders_xScroll
andstickyHeaders_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.
- Fix
- 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
andeditable_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.
- Add
- 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.
Version 2.17.7 (8/9/2014)
- Core: Do not detach rows before appending to prevent ajax rows from disappearing. Fixes issue #701.
- Docs: Fix change log links.
- Filter: attached external select causing javascript errors. Fixes issue #702.
Version 2.17.6 (8/1/2014)
- Core
- Adding a class name of
parser-false
to a column will now automatically setsorter-false
andfilter-false
behavior. - Add extractor type which allows giving a column two parsers, one to extract content from an input/select and the second to parse the extracted text. Thanks to TheSin-!
- Ensure custom parsed data adheres to the
ignoreCase
option. - Add a delay to any sort if there is an update in progress. This prevents issues with a sort being applied causing duplicate rows to be added to the table, hopefully.
- The
widthFixed
option now finds both visibleth
andtd
cells within the first row of the tbody to set column width percentages. - Ensure all rows have a set role for screen readers (
role="row"
). Fixes issue #690. - Redefine
c.$headers
when building headers for new/replaced header cells (not just content). Fixes issue #683.
- Adding a class name of
- Docs
- Fixed lots of minor HTML issues (e.g. missing closing
</li>
&<p>
tags)
- Fixed lots of minor HTML issues (e.g. missing closing
- Parsers
- Add parser for textareas within the
parser-input-select.js
file. - Modify input & textarea parser to only update the table cache when:
- The user presses enter (input) or alt + enter (textarea) within the element.
- When the element is blurred.
- Or, when the mouse leaves the tbody.
- Add parser for textareas within the
- Editable
- Add two new options:
-
editable_autoAccept
: accepts any changes made to the table cell automatically (true
by default) -
editable_validate
: a function used to validate the changes; return a valid string (null
by default)
-
- Modify
editable_columns
type check to prevent javascript errors. See pull #688. Thanks scratcher28! - Limit the
editable_columns
array value to columns within the table.
- Add two new options:
- Filter
- Make all options show within the current select when the
filter-onlyAvail
class is set on a column. - Updated & added docs for
$.tablesorter.filter.buildSelect
function to allow external calls to modify filter select options. - Update
filter_selectSource
to accept arrays instead of a function. This was documented as working, but it wasn't coded until now. Sorry! - Add
filter_selectSourceSeparator
option:- Include a separator within the
filter_selectSource
array (e.g. "a-z|A through Z"). - The text that is left of the separator is added to the option value, the the text on the right is added to the option text.
- So
"a-z|A through Z"
becomes<option value="a-z">A through Z</option>
. - Fixes issue #692.
- Include a separator within the
- Add
role="row"
to the filter row. Fixes issue #697. - Any match inputs now follow the
filter_startsWith
setting. See this Stackoverflow question.
- Make all options show within the current select when the
- Pager
- The
output
option can now include user modifiablestartRow
({startRow:input}
) orpage
({page:input}
) inputs within the output. - Remove selected attribute from page selector options. Fixes issue #700.
- The
- Resizable
- Update
$.tablesorter.addHeaderResizeEvent
function's first parametertable
to accept table DOM elements as well as jQuery objects. Fixes issue #687.
- Update
Version 2.17.5 (7/17/2014)
-
Core
- Update
config.totalRows
variable before initialization. Fixes issue #670. - Add
config.table
variable; useful for functions that only pass theconfig
. - Ensure widget init functions are only called once; and set indicator for all widgets, not just ones with options (for
hasWidget
).
- Update
-
Docs
- Add custom filter widget search types demo.
- Add
imgAttr
parser "utility option" instructions.
-
Filter
- Force cache build on initial search when
delayInit
istrue
. Fixes issue #678. - Make
config.filteredRows
count available withinfilterInit
event. Fixes issue #670. - Selects now obtain parsed data when it is set for a particular column. Fixes issue #684.
- Ignore change event if input value hasn't changed, otherwise it interferes with other events within the table. Fixes issue #685.
- Ensure search query is parsed for both specific filter types and non-filter type searches, if the column is set to use parsed data.
- Filter initialization ("filterInit") event is now delayed to prevent filterStart & filterEnd event spamming. Fixes issue #668.
- Filter formatter functions are now required to call a function after initialization to delay "filterInit" event. Fixes issue #668.
- Force cache build on initial search when
-
Output
- Update download method which allows downloading files without modifying the server htaccess. Fixes issue #681.
-
Pager
- Initialize without building cache when
delayInit
istrue
. Fixes issue #678.
- Initialize without building cache when
-
Parsers
- Update input/select element binding
- Add image alt parser; set
config.imgAttr
with attribute to target (default is"alt"
). - Add
select-text
parser which grabs the currently selected option text instead of the select value.
-
Resizable
- Remove unused grip code
Version 2.17.4 (7/4/2014)
-
Docs
- Copied the tablesorter
initialized
option from the event section into the configuration; renamed the event appropriately (tablesorter-initialized
event) - Added notes about how to bind to "init" events; they should be bound before initializing tablesorter because in most cases, the events fire before the binding occurs.
- Copied the tablesorter
-
Core
- Add
$.tablesorter.hasWidget(table, 'widgetId')
function. It returns a boolean value oftrue
when the named widget is actively applied to the table.
- Add
-
Filter
- Add
filter_searchFiltered
option to allow disabling the search of already filtered rows. - The
filter_initialized
flag now gets set appropriately. Fixes issue #668. - Include any column filter in determination of searching already filtered rows. Fixes issue #669.
- Add internal
config.filteredRows
variable. Provides a value of the number of currently filtered (visible) rows. Fixes issue #670. - Add internal
config.totalRows
variable. Provides a value of the total number of rows in the current table, not including info-tbody rows. - Fix change/search event being ignored for selects & filterFormatter extensions.
-
filterInit
andfilterEnd
events now passconfig
as a parameter.
- Add
-
Pager
- Removed from beta status
- Filtered rows now equals the total rows when
ajaxProcessing
returns an array. Fixes issue #667. - Update the
config.filteredRows
when using ajax to match the internalconfig.pager.filteredRows
. See issue #670. - Widget only: ensure
pagerComplete
event fires on initialization.
-
Resizable
- Bind mousemove to document instead of table header. Makes resizable handle use consistent with other resizing libraries, as the user would expect. Fixes issue #665.
- Add
resizable_throttle
option to allow throttling of the mousemove/resize event. Set this option totrue
or a number between 1 and 10 to add a throttling delay. Fixes issue #662.
-
UITheme: non-existent columns no longer cause a js error. Fixes issue #672.
Version 2.17.3 (6/28/2014)
-
Docs
- Added bold notes to the output widget demo about setting the server content-disposition. Fixes issue #653.
- Updated to latest Bootstrap (v3.2.0), jQuery UI (v1.11.0) and Cupertino theme.
- Embedded gists within the documentation should now work properly.
-
Core
- Add "tablesorter-processing" class name to table during processing. Fixes issue #655.
-
Filter
- When
filter_liveSearch
is set to a number, it now searches when pressing enter. Fixes issue #654. - Modify change event so a select searches the table without requiring a carriage return. Fixes issue #650.
- When
-
Pager
- Objects returned by
ajaxProcessing
can now include afilteredRows
value. Fixes issue #649. - Fix internal use of
selectorRemove
option, to consistently extract out the class name from the selector string. - Previous & Next buttons now disable with zero filtered pages. Fixes issue #649.
- Changed pager widget
goto
page selector option togotoPage
, becausegoto
is a reserved word. Fixes issue #657.
- Objects returned by
-
Scroller
- Add
scroller_upAfterSort
option to prevent scrolling after clicking a checkbox. Fixes issue #660.
- Add
-
Static Row
- Static rows are now manipulated witin a detached tbody.
- Updated demo to allow toggling of static rows using ctrl (or command on Mac) + click.
-
Parsers
- Added new Roman numeral parsers. There are three different parsers to cover three different use cases. Please see the roman numeral parser demo for details.
Version 2.17.2 (6/18/2014)
-
Docs
- Added more details about using pager ajax options.
-
Core
- The
clearTableBody
function now detaches rows instead of incorrectly detaching the tbody.
- The
-
Editable widget:
- Corrected document option name typo. Fixes issue #635. Thanks shobute!
-
Filter widget:
- The
selectSource
option now correctly handles parsed values that return zero. - Filter formatter for jQuery UI datepicker now remembers the correct date.
- Corrected filter events & prevent table manipulation if filters are empty on initialization. Fixes issue #645.
- The
-
Pager addon/widget:
- Specifically target rows to prevent issues with ember scripts. Fixes issue #638.
- Correctly detach and append jQuery rows provided by the
ajaxProcessing
function. Fixes issue #650.
-
Print
- jQuery requirement modified to support jQuery v1.2+ (previously it was v1.7+).
- Popup now automatically closes with print dialog. Fixes issue #643.
-
Scroller widget:
- The
thead
width is now set in IE. Fixes issue #637. - Set column widths are now maintained, including Bootstrap. Fixes issues #634 & #380.
- Change default scroll bar width to
18
. Fixes issue #363. - Scroller now behaves properly with horizontal overflow scroll, column alignments, and hidden cells. Fixes issues #340 & #333.
- The
-
Themes
- Bootstrap white unsorted icon now shows when the
icon-white
class is added. See issue #648. - Remove auto height settings from filter elements.
- Bootstrap white unsorted icon now shows when the
Version 2.17.1 (5/28/2014)
-
Docs:
- Add some missing examples & updated some version number comments for the last update
- Reflow widget: Fix demo to use preset widths & css transitions instead of forcing users to manually resize the examples.
- Output widget: add note about modifying the
.htaccess
file to enable downloading in both IE & Firefox.
-
Core
- Allow use of select & buttons within header cells. Previously only inputs were allowed. Fixes issue #625.
- Add
parser-false
setting to prevent extracting & parsing of content from set columns. Fixes issue #629.
-
Filter widget
- Add a not-exact-match (
!=
) filter type (e.g.!"Bruce"
or!Bruce=
will show all rows that don't exactly matchBruce
). See issue #628.
- Add a not-exact-match (
-
Math widget
- Values are now obtained from data-attributes first, then the actual cell content. This will allow making calculations with higher precision values. Fixes issue #624.
-
Pager (addon & widget)
- The
ajaxProcessing
function now includes the jqxhr parameter. Thanks JuarezTurrini! See pull #626 - Update the custom controls example to properly work with the pager widget. Fixes issue #631.
- Fix widgets sometimes not being applied after page change.
- The
-
Parser
- input-select parser no longer binds to non-tablesorter tables. Fixes issue #633.
Version 2.17.0 (5/22/2014)
-
Overall
- You can now target a column using a jQuery selector targeting the header cell (e.g. a class name, id or column index, as before).
- This works with the core options:
headers
,textExtraction
. - This also works with the widgets:
filter_formatter
,filter_functions
,filter_selectSource
and theheaders
options forfilter
&resizable
. - This change has not yet been implemented to the following options:
textSorter
,sortList
,sortForce
,sortAppend
andnumberSorter
(will modify this option to target columns soon). - What won't work is if you try to target the header using a filtering selector that uses an index, e.g.
"th:eq()"
,":gt()"
,":lt()"
,":first"
,":last"
,":even"
or":odd"
,":first-child"
,":last-child"
,":nth-child()"
,":nth-last-child()"
, etc.
-
Docs
- Switch from using CDN versions of jQuery, jQuery UI, Bootstrap, Sugar and Select2 instead of using protocol-relative URLs because they are a pain to use locally.
- Change style of "Update" tags to be slightly lighter than "New" tags.
- Updated reflow widget demo with demo tables in a resizable iframe, so the browser window no longer needs to be resized.
- Miscellaneous updates including correcting some version numbers, fixing links & other issues with the demos.
-
Themes
- Fix green theme to properly include a background with the css3 sticky headers widget.
-
Core
-
Instead of using empty or clearing rows from the table, the rows are now detached. This also applies to the pager.
-
Added
resetToLoadState
method- Using this method will clear out any settings that have changed since the table was initialized (refreshes the entire table); so any sorting or modified widget options will be cleared.
- However, it will not clear any values that were saved to storage. This method is basically like reloading the page.
-
Refer to columns in the
headers
and/ortextExtraction
option by class name, ID, or column index (as before).headers : { '.first-name' : { sorter: 'text' }, '.disabled' : { sorter: false } }, textExtraction : { '.styled' : function(node, table, cellIndex) { return $(node).find('strong').text(); } }
-
Added new "sorton" method values: "a" (ascending), "d" (descending), "n" (next), "s" (same) & "o" (opposite).
// column 0: desc sort, column 1: asc sort $("#table1").trigger("sorton", [ [[0,"d"],[1,"a"]] ]); // column 0: next sort, column 1: opposite of column 0, column 2: same as column 0 $("#table2").trigger("sorton", [ [[0,"n"],[1,"o"],[2,"s"]] ]);
Please refer to the Sort table using a link outside the table demo for more details.
-
-
ColumnSelector widget
- Added a method to refresh the selected columns using
$('table').trigger('refreshColumnSelector');
. - Fix a js error when removing the widget.
- Added a method to refresh the selected columns using
-
Filter widget
-
Fix child row filtering.
-
Fix
filter-match
searches. -
Set filter parser or disable a filter in the
headers
option by referring to the header class name, ID, or column index (as before)headers : { '.first-name' : { filter : false }, '.last-name' : { filter : 'parsed' } }
-
Refer to
filter_functions
,filter_formatter
andfilter_selectSource
columns by class name, ID, or column index (as before)filter_functions : { ".col-date" : { "< 2004" : function (e, n, f, i) { return n < Date.UTC(2004, 0, 1); // < Jan 1 2004 }, ... } }, filter_formatter : { ".col-value" : function($cell, indx){ return $.tablesorter.filterFormatter.uiSpinner( $cell, indx, { ... }); } }, filter_selectSource : { ".model-number" : [ "abc", "def", "ghi", "xyz" ] }
-
-
Math widget
- Now works properly with the pager. Fixes issue #621.
-
Output widget
- Add
output_ignoreColumns
option. Set the zero-based index of the columns to ignore in this array. Fixes issue #607 - Add
config
parameter tooutput_callback
function. NOTE: this parameter is added before the data parameter, so it may break any already existing custom callback functions. - Add
output_duplicateSpans
option. Setting this option tofalse
adds blank entries instead of duplicating the colspan or rowspan content. Fixes issue #619.
- Add
-
Pager (addon & widget)
- Use detach instead of empty on tbody rows. This should save any data associated with the rows.
- Fix pager updating not showing correct totals.
-
Print widget
- Add
print_callback
option allowing manipulation of the table & stylesheet before printing. - Corrected the
print_columns
settings comments.
- Add
-
Resizable widget
-
Disable a resizable header within the
headers
option by referring to the column class name, ID, or column index (as before)headers : { '.first-name' : { resizable: false } }
-
Added note about using box-sizing & jQuery versions older than 1.8.
-
-
Scroller widget
- Filter widget works with this widget again. Fixes issue #620.
Version 2.16.4 (5/5/2014)
-
Docs
- Fix stickyHeaders scroll position adjustment.
- Update sticky headers widget demo to include the
stickyHeaders_filteredToTop
option
-
ColumnSelector widget: updated css to include print media for the new print widget.
-
cssStickyHeaders widget: add
cssStickyHeaders_filteredToTop
option. -
Filter widget
- Search operators (
< <= >= >
) now properly uses the parser. - Range, not matches (
!
) & search operators now search all rows as needed. - Add filter language option, set the lanuage of
to
,or
andand
. Fixes issue #602. - Prevent form submission when pressing enter within the filter.
- Prevent javascript error if
delayInit
is set totrue
. - Add a bunch of filter tests.
- Search operators (
-
Math widget
- Add
math_prefix
andmath_suffix
options. - The demo now includes a bunch of mask examples and an interactive example.
- Add
-
Output widget
- Add
output_encoding
option to allow setting the encoding to support accented characters in Excel. - See the demo page for more details.
- See this Stackoverflow question & issue #606.
- Add
-
Pager:
- Updated custom pager controls code to show the correct number of pages when the table is filtered.
- Fixes issue #605.
-
Print widget (new)
- The user can print all, visible or filtered rows. And, choose to print all, visible or selected columns (using the columnSelector widget).
- By default, the widget is set to only print filtered rows & visible columns.
- Note this required an update to the columnSelector widget to include print media.
- Try out the print widget demo.
-
Miscellaneous
- Add Metro dark theme css file & demo
- Add Metro LESS file - see this interactive demo.
- Add Bootstrap LESS file - see this interactive demo.
- Metro style includes encoded images. The images & psd have also been included.
Version 2.16.3 (4/30/2014)
-
Docs:
- Clean up of docs for the following widgets:
- Update
textSorter
option demo - the sorting the Icelandic alphabet using sugar's array sort now works properly.
-
Core:
- Fix
headers
option indexing of cells in multiple header rows- Setting an index in the multiple row header will now correctly set the column parser.
- See this demo - the 10th cell (zero-based index) in the header has the sorter set to "month".
- Set processing icon to only show after 500ms, it will not show at all if the sort ends before then.
- Check for jQuery's
closest
function and use it, or fall back to equivalent code (maintaining support for jQuery 1.2.6+). Fixes issue #597. - Remove widget init delay added in v2.16.1-beta.
- Fix
-
Filter:
- Remove old cached indexing:
- It was causing already filtered rows to return an incorrect cached row value.
- Fixes issue #600 & see this Stackoverflow question.
- Update check for "filter-parsed" class, because the
getData
function will only return the first class name starting with "filter-". - Filter select updates:
- Add
filter-select-nosort
header class name to prevent select option sorting. - Filter select option sort now uses the assigned column parser to parse & sort the options.
- Filter select options are now sorted using the
textSorter
function, if set, and if not set, it falls back to natural sorting. - Fixes issue #599.
- Add note to ensure textSorter receives strings, or a javascript error occurs.
- Add
- Select2 filterFormatter now allows setting of initial settings. Fixes issue #598.
- Remove old cached indexing:
-
Sticky Headers
- Add support for
filter_hideFilters
set totrue
. See this Stackoverflow question.
- Add support for
Version 2.16.2 (4/27/2014)
- Docs:
- Added basic setup for output widget.
- Show various updates.
- Update readme with more resources.
- Core:
- update
addRows
method will now accept a string or jQuery object. - Sort direction is now counted correctly.
- Add "emptyMin" & "emptyMax" setting to
emptyTo
option. Fixes issue #577. - Add internal
config.$extraHeaders
variable.
- update
- Filter widget:
- Search already filtered rows when not exactly matching content. Fixes issue #593.
- Ensure
filter_functions
option is notnull
. Fixes issue #593. - Filter formatter: set datepicker to
null
. Fixes issue #512.
- Math widget: add
data-math-mask
for each cell. - StickyHeaders
- Check for filters before trying to set focus. Fixes issue #594.
- Add
stickyHeaders_filteredToTop
option. Fixes issue #570.
- Input select parser: don't update columns with both sorter & filter disabled. See issue #570.
Version 2.16.1 (4/24/2014)
- Core:
- Fixed an issue where ajax loaded data would cause a javascript error because of improper ignoring of data.
- Ajax loaded data will now be parsed and cached - so stuff like the grouping widget will work properly.
Version 2.16.0 (4/23/2014)
-
Docs
- Add notice to readme about upgrading to v2.16.
- Add question section to readme about where to ask questions, including the new IRC channel.
- Update jQuery UI accordion code to reapply widgets to tables within the section, when open.
-
Build widget
- Now works with HTML in the data
- Add zebra widget to demos.
-
Core
- Check more than the first tbody when detecting parsers. Fixes issue #589.
- Apply widgets on table initialization after a short delay.
-
Filter widget:
- Fix search already filtered rows
- Fix
filteredRows
count & cleanup. - SetFilters now behaves more like a triggered search. Fixes issue #588.
- Filterformatter - Fix both datepicker scripts to work properly with non-U.S. formats. Fixes issue #587.
-
Pager: Now stays on the same page after updating. Fixes issue #590.
-
Testing: Add some preliminary tests for the filter widget.
Version 2.16.1-beta (4/22/2014)
- Docs:
- Add note about using buttons in forms (include
type="button"
). Fixes issue #543. - Add example link to select2 demo for the
filter_selectSource
entry.
- Add note about using buttons in forms (include
- Filter widget: setFilters now supports passing it a jQuery table object
- Static Row widget
- Add more inline comments
- Fix issue with not repositioning static row properly within mutliple tbodies.
Version 2.16.0-beta (4/20/2014)
-
Doc & testing updates
- More version numbers added - when certain variable & functions were added or last updated.
- Update to use Bootstrap 3.1.1.
- Update to the latest testing files.
- Reorganize example section & cleanup.
- Fix demos that include togglable parsed data.
- Fix miscellaneous typos.
-
Core
- Make
computeColumnIndex
function public (get details). - Move cache rows into the normalized data
- This is a big change, as the cache rows no longer exist and did break several widgets.
- This change allows for the Filter widget to better work with cached data (pager with
removeRows
set totrue
) & makes the sort tbodies widget possible. - Updated core tests.
- Update
textExtraction
option- Default option is now
"basic"
and checks for a data-attribute (set by by the newtextAttribute
option). - Set this option to any string (besides an empty string) to revert back to the original method; this may be necessary in older versions of IE due to initialization speed issues.
- Fixes issue #154
- Default option is now
- Add
textAttribute
option- It contains the data-attribute name which contains alternative table cell text.
- This only applies to tbody table cells.
- Add
sortReset
method callback (e.g.$("table").trigger("sortReset", [callback]);
) - Update
applyWidgets
method to prevent being called numerous consecutive times. - Destroy method now clears the table cache & pager rows copy
- Make
-
Parsers (extract date parsers)
- "extractUSLongDate" - this parser finds a US long date anywhere in a table cell (demo)
- "extractMMDDYYYY" - this parser extracts dates in MMDDYYYY format (demo)
- "extractDDMMYYYY" - this parser extracts dates in DDMMYYYY format (demo)
- "extractYYYYMMDD" - this parser extracts dates in MMDDYYYY format (demo)
-
Filter widget
- Updated to use the new modified internal cache format.
- Now usable with the pager with the
removeRows
option set totrue
. - Fixes issue #515.
- Now usable with the pager with the
- Add
filter_placeholder
global settings. Fixes issue #582. - Add
filter_selectSource
option.- Allows add filter select options from an alternate source (e.g. ajax), or customizing options from the set column contents.
- Fixes issue #328.
- Include
th
's in the tbody. - Fix build select tbody indexing.
- Filter reset (
filter_reset
) now accepts a jQuery object.
- Updated to use the new modified internal cache format.
-
Filter formatter
- Add to & from date placeholders to date range. Fixes issue #582.
- Fix saved Datepicker range values. Fixes issue #512.
- Add select2 filter formatter code. May fix issue #534 - see demo
-
Math widget
- New math widget demo Replaces the previous alpha "Column sum widget" demo.
- This widget adds basic math capabilities; by default the following functions are available: count, sum, max, min, mean, median, mode, range, variance (sample & population), standard deviation (sample & population).
- Custom math functions can be added
- Data from cells is gathered from the row, cells "above" the target cell, column, or the entire table.
- More details are provided on the demo page.
- Fixes issue #136.
-
Output widget
- This widget will output the table data as any of the following data formats:
- Any separator: comma (csv), tabs (tsv), spaces, etc
- Javascript array
- JSON
- Output the entire table, filtered or visible rows.
- Works with the filter & pager widgets.
- See this demo for more details.
- This widget will output the table data as any of the following data formats:
-
Pager
- The
ajaxObject
success function will no longer be called twice on initialization. Fixes issue #540. - Update to work with the filter widget & the modified row cache. Fixes issue #515.
- Destroy method now clears the table cache & pager rows copy.
- Add
pageReset
option - pager resets to set page after filtering the table. Fixes issue #565.
- The
-
Reflow & Reflow2 widget
- These widgets change the layout of the table when a set browser width breakpoint is reached.
- Each tbody cell will display the header cell text when the table reflows.
- See this demo.
- Fixes issue #165.
-
Scroller widget
-
Static Row widget
- Modified from the Tablesorter-Static-Row-Plugin by ascii-soup.
- This widget works with multiple tbodies (but not information only tbodies).
- Dynamically set & update the static row.
- For more details see the demo.
- Fixes issues #120 & #472.
-
StickyHeaders widget - the cloned table (sticky part) tbody & tfoot are now removed instead of hidden.
Version 2.15.14 (4/10/2014)
- Modified
bower.json
to allow "read-components" compatibility. See PR #573 - Corrected docs:
- Filter-external doc error. Fixes issue #571
- Added pager
ajaxProcessing
documentation about extra values available for the output. Fixes issue #576. - Grouping widget demo update (now uses collapsible table for options)
- Core: Destroy method update
-
When including a
false
parameter with the destroy method, class names will be left intact as before. But this now includes the reapplying of the uitheme and zebra widgets.$("table").trigger("destroy", [false]);
-
This change will maintain the table's appearance.
-
See this Stackoverflow question for why this change was made.
-
- Grouping widget: group name now saves after callback. Fixes issue #514.
- Pager
processAjaxOnInit
now works with jQuery objects. Fixes issue #572. - Filter widget:
getFilters
will not cause a js error when it targets a non-tablesorter table.
Version 2.15.13 (4/3/2014)
- Core:
- Fix widgets not being applied after an update.
- Ignore child row class name if it is the first table row
- Filter widget ignores info tbodies again. Fixes issue #568
- Docs: show resizable widget update
- Bootstrap theme:
Version 2.15.12 (3/31/2014)
- Replaced references to
cell.cellIndex
with$(cell).index()
- Prevents an error in IE8
- Thanks sylvain-hamel!
- Fixed merge issues, then modified code to minize use of this indexing
- Cell column property has correct value again.
- Fixes issue #554
- Fix docs so nested accordions open with hash.
- Child row updates
- Added
tablesorter-hasChildRow
class name to all parents of child rows. - Added
.tablesorter .filtered { display: none; }
to every included theme; needed to properly hide child rows - Fixed pager so that if the last pager row has any child rows, they are now included. Fixes part of issue #396.
- Fixes issue #556.
- Added
- Add
resizable_widths
option- Set the default & reset header widths using this option
- Fixes issue #555.
- I apologize for the last version error... it is set to 2.5.11 instead of 2.15.11 in the git repo tag. It is correct everywhere else.
Version 2.15.11 (3/18/2014)
- Updated Bootstrap to v3.1.1
- Check if cell has parser to catch undefined error. Fixes issue #546. Thanks antila!
- Column count is now correct with nested tables (with tfoot). Fixes issue #547.
- Fix table reset on pagination change. Fixes issue #548. Thanks evanboho!
Version 2.15.10 (3/13/2014)
- Fix
numberSorter
option causing a javascript error & added test.
Version 2.15.9 (3/12/2014)
- jQuery UI Filter formatter scripts work again (broken since adding unique namespaces in v2.15.7).
Version 2.15.8 (3/12/2014)
-
Filter widget
-
Align Character widget (beta)
- Added this widget to help align cell content on a character (space, decimal, etc).
- Check out the demo!
Version 2.15.7 (3/9/2014)
-
Core
- Minor natural sort algorithm optimization
- Added
namespace
which should contain a unique namespace for each table; it is used when binding to event listeners.
-
Build table widget
- Removed inappropriate empty table console message when initializing.
-
build table widget documentation update (includes
<head>
scripts & css) - Fixed nested accordions
-
Column selector widget
- Setting the
columnSelector_saveColumns
option totrue
now saves the "auto" state. Fixes issue #517.
- Setting the
-
Filter widget
- Use the new
namespace
option to use with event listeners. Fixes issue #535.
- Use the new
-
headerTitles widget
- Sorry for all of these breaking changes, I should have left this widget in beta.
- The
headerTitle_prefix
,headerTitle_text
,headerTitle_numeric
options has been replaced, in lieu of the new output options; sorry for no deprecation notice. - Added
headerTitle_useAria
,headerTitle_tooltip
,headerTitle_output_sorted
,headerTitle_output_unsorted
,headerTitle_output_nosort
,headerTitle_cur_text
,headerTitle_cur_numeric
,headerTitle_nxt_text
,headerTitle_nxt_numeric
,headerTitle_type
&headerTitle_callback
options. See the headerTitles widget demo for more details. - Added
"refreshHeaderTitle"
method to force the widget to update.
Version 2.15.6 (3/7/2014)
-
Doc
- Added docs for
$.tablesorter.language
which contains the text used in thearia-label
for the header - Update
isValueInArray
&sortAppend
docs.
- Added docs for
-
Core
- Destroy now unbinds the
updateCache
method properly - Update
$.tablesorter.isValueInArray
function &sortAppend
option. Fixes issue #523. - All test dates are now time zone & DST independent. Fixes issue #516.
- Added tests for
sortForce
,sortAppend
,sortMultiSortKey
andsortResetKey
. - Cache natural sort regex.
- Date parsers now return the original cell text instead of an empty string when encountering invalid dates. Sort of fixes issue #531.
- Event fixes:
- Sort events will now only show when the table is being sorted; previously when updating an unsorted table, sort events would fire.
- The
updateComplete
event now fires after every triggered update (update
,updateRows
,updateAll
,updateCell
&addRows
) - Updated pager to correctly trigger the
updateComplete
event when using ajax. - Added unit tests to ensure these events fire on an empty table.
- Fixes issue #532
- Destroy now unbinds the
-
ColumnSelector widget
- Make column disable, visible & invisible methods consistent. Fixes issue #519
-
Filter widget
- Preset filter searches (set by
data-value
on the header) work again. Fixes issues #511 & #525. - Add note to docs about adding a placeholder. Fixes issue #522.
- Filter build select function no longer causes a javascript error on empty tables. Fixes issue #528.
- Preset filter searches (set by
-
Grouping widget
- The
collapsed
option once again shows the group headers. Fixes issues #514 & 533 - Add
group_saveGroups
&group_saveReset
options:- The
group_saveGroups
option (true
by default) saves the group name of any collapsed groups (requiresgroup_collapsible
to betrue
) - The
group_saveReset
option (null
by default) contains a jQuery selector string or jQuery object pointing to an element to be used to clear the saved groups. - Both of these options require the storage utility script contained within the
jquery.tablesorter.widgets.js
file. - Fullfils feature request of issue #514.
- The
- Added details about using regular expressions within the
group_separator
option.
- The
-
Header Titles widget (headerTitles)
- New widget which adds the current sort to the header title attribute.
- It distinguishes between a text and numeric sort and includes the current sort direction
- A prefix can be included.
- By default, an ascending sort shows either "A - Z" or "0 - 9", or "Z - A" or "9 - 0" for descending sorts.
- Note that date columns will show as numeric
- Fixes issue #529.
-
Pager (addon & widget)
- Ensure empty array
[]
and array of empty strings['', '', '']
evaluate as the same when checking if the filters have changed. Fixes issue #202 (again). - Compare
totalRows
vs.totalPages
when preventing an ajax call. - Changes to make the
updateComplete
event fire, but because of the asynchronous nature of ajax, it fires before anysortEnd
events. It may take some more work to resolve this, if it becomes a concern. - Attempted to fix pager row count issue. See issue #455.
- Ensure empty array
-
Miscellaneous
- Pager custom controls (beta) now shows no pages on a single page. Fixes issue #518
- Increase Bootstrap 3 theme css specificity. See issue #515
- Checkbox parser no longer causes a js error when a checkbox doesn't exist.
Version 2.15.5 (2/23/2014)
- Pager widget now initializes properly when using ajax. Fixes issue #510.
Version 2.15.4 (2/22/2014)
- Add "updateCache" method
- This method updates the parsers, if undefined, then updates the internal cache.
- Used by the pager (addon & widget) to update the internal cache after an ajax update.
- Pager (addon & widget)
- Fixed several undefined variable javascript errors. Fixes issue #509.
- Fixed an issue with recursion in the pager widget - removed several unnecessary "applyWidget" methods.
- Now uses the "updateCache" method after the table is rendered using ajax.
Version 2.15.3 (2/21/2014)
- Stickyheaders
- Sorting works again. Fixes issue #508.
- Table no longer scrolls to the top after initializing a sort from the sticky header.
Version 2.15.2 (2/20/2014)
- Filter widget
- Fix js error on empty tables & multiple rows in thead while managing
c.parsers
. Fixes issue #507. -
filter-onlyAvail
now updates all selects properly. Fixes issue #473. - Fix annoying filter search caret jumping to end while typing
- Fix js error on empty tables & multiple rows in thead while managing
- Doc updates
- Added
delayInit
demo (pull #504) - thanks Infeligo! - Fixed some markup issues & rearranged some links
- Updated minified widget file date. Fixes issue #505
- Added
Version 2.15.1 (2/19/2014)
- Filter widget
- Switched method of saving last search times, as cloned table parts would not include saved data
- Fixes issue #473.
Version 2.15.0 (2/19/2014)
-
Core
- Add accessibility attributes to tablesorter (aria).
- Make header's
bindEvent
function public to allow easier binding to cloned table headers. - Add an unsorted header class name option
cssNone
(empty string by default) and now all unsorted headers will have a class name oftablesorter-headerUnSorted
applied; updated destroy method to remove header unsorted class name. - Ensure only "updateRow" is triggered within the pager plugin to prevent issues with Proptype.js, see issue #217.
- Clean up all public API functions to accept
table
as either a DOM element or a jQuery table object. - The log will now display console errors and/or warnings based on those key words.
- Consolidated all default class names used by the plugin within
$.tablesorter.css
- these are class names that are not set by the options.
-
Docs
- Organize the examples section to make it easier to find the desired sort demo.
- Add associated tablesorter option (with link) with the appropriate examples.
- Add a "Custom parsers" section instead of lumping it in with the widgets.
- Add a "Work-in-progress" section for some beta demos.
- Add indicators to show which widgets are contained within the
jquery.tablesorter.widgets.js
file. - Add an "API" section which gives details on how to use tablesorters available public variables & functions in both the core and widgets.
- Colorize the left border of code blocks to differentiate HTML, CSS and javascript.
- Update & consolidate jQuery UI accordion code.
- Miscellaneous demo fixes.
-
Parsers
- The "shortDate" parser now works properly with header colspans. Fixes issue #474.
- The "currency" parser will now properly detect currencies which include a plus or minus sign.
- The "checkbox" parser (contained in the
parser-input-select.js
file) will now toggle a class name ofchecked-#
(#
is the column index) on the row. - A new
parsed
parameter has been added to the parser code block.- This parameter is set with a boolean value (i.e.
true
orfalse
), to signal the filter widget to only search through parsed data whentrue
. - All parsers within the "parser-input-select.js" file now include a
parsed:true
parameter. - The parsers and parsers-advanced demos have been updated to reflect this addition.
- This parameter is set with a boolean value (i.e.
-
css Sticky headers widget:
- Add
cssStickyHeaders_zIndex
option. Fixes issue #466. - Browser will now scroll to table top after filtering. Fixes issue #482.
- Add
-
Column selector widget (new!)
- This widget can make a table responsive. It uses similar parameters as those used by jQuery mobile to set priorities for hiding columns (uses "data-priority" attribute).
- The column priorities range from 1 to 6, with 1 having the highest priority. As the browser window shrinks, lower priority (higher numbers) columns will be hidden first until all numbered priority columns are hidden.
- Any named data-priority, other than the numbers 1 - 6, (e.g. "critical" or "persistent") will be treated as a column which will not be included in the column selector.
- With the addition of some basic selector markup and css, this widget will also allow selecting (hiding or showing) table columns.
- Popups can also be targeted for addition of these selectors; the demo includes a Bootstrap popover sample.
- Css selectors are used to hide/show columns for optimal speed and therefore will not work in IE8 and older browsers.
- jQuery version 1.7+ and tablesorter verison 2.8+ are needed for this widget to work properly.
- Check out the demo with more details on how to setup this widget!
-
Editable widget
- Refresh other widgets after a cell has been edited. Fixes issue #487.
-
Filter widget:
- Make operator match higher priority than exact matching. Fixes issue #465.
- Fix " OR " is now matched case insensitive.
- The
filter_cssFilter
option can now contain an array of class names to be applied to each filter input; added in addition to the "tablesorter-filter" class name. - Start filter values are now preserved. Fixes issue #452.
- Filter formatter demo: Update jQuery UI & stylesheet - fixes UI spinner.
- Fix child rows always visible when filtering.
- Update beta demo - select2 external table filters demo, thanks to mohitmayank; see pull request #469.
- Add
filter_hideEmpty
option- Set this option to false to always show the filter row.
- By default, the filter row is completely hidden when no rows exist within the tbody (previous behavior)
- Fixes issue #450
- Rewrite filter match any column code
- Removed
filter_anyMatch
option - sorry about not deprecating this first! - Added a
filter_external
option which is set to a jQuery selector string of inputs, outside of the table, to be used for searching table content. - External inputs must have a
data-column="x"
attribute where"x"
is the associated column to filter;"x"
can also be set as"any"
to match any column. - All filters, internal and external, now automatically update and be used with the
$.tablesorter.getFilters
and$.tablesorter.setFilters
functions. - Please refer to the documentation for the
filter_external
option for more details. - Also check out the updated filter widget external option and filter widget external inputs demos.
- This fixes issues #114, #370, #471 and #490.
- Removed
- Parsers with a
parsed: true
flag will now automatically force the filter widget to only search through parsed data instead of actual table cell data- This is needed specifically for parsers of input, textarea and select elements.
- All parsers within the "parser-input-select.js" file have been updated with this parameter.
- This flag is essentially does the same thing as adding a class name of
filter-parsed
to the column header, orfilter: "parsed"
setting to theheaders
option.
-
Filter Formatter (Filter widget extension):
- These updated filter widget functions are not completely backward compatible with older versions of the filter widget. Please update both!
- Added
compare
&selected
options:- These options allow the adding of a comparison operator selector to the cell (e.g.
>
,>=
,<
,<=
, etc). - If any
cellText
is included, it is now wrapped in a label with a class name of "compare-select-label" and "compare-select-label#" (where "#" is the column index). - The selector has a class name of "compare-select" and "compare-select#" (where "#" is the column index)
- Whichever type of input that is added to the cell is then wrapped in a div with class "compare-select-wrapper" and "compare-select-wrapper#" (where "#" is the column index).
- These class names allow styling of an individual filter to keep elements in line, or however you wish to style it.
- These options allow the adding of a comparison operator selector to the cell (e.g.
- Filter reset now sets these filters to their default values, not an empty string.
- Updated to now properly restore saved filters.
- Added
endOfDay
option for jQuery UI Datepicker.- When
true
search dates will include all times from the date chosen when a comparison is made of dates "less than" the set date. - Example 1: if a table entry has a date of "Jan 14, 2014 11:23 AM" and the filter search is set to
<= 1/14/2014
, the table entry will be included in the search; the default set time would otherwise be "1/14/2014 00:00:00" and not include the entry from "11:23 AM". So, theendOfDay
option sets the time to "23:59:59". - Example 2: if searching for one specific date, this option will now search for all times within that day. For example, searching for
=1/20/2014
, and the results will include dates from 1/20/2014 00:00:00 to 1/20/2014 23:59:59. - When comparing dates greater than the set date, the time will be set to midnight; so this option will not be applied.
- Example 3: in two date inputs, the
endOfDay
time is only applied to the "to" input; search for1/20/2014 - 1/20/2014
- This option is available in both the comparison (one input) and range (two inputs; "to" date input only) date pickers.
- When
- Fixes issue #325 and issue #430.
-
Group widget:
- Attempt to fix ajax issue. See issue #437.
- Combining group widget with pager should now work properly. Fixes isse #437.
- The widget will now find the correct header cell when multiple thead rows are present.
-
Pager (plugin & widget):
- Fixed pager issues with empty tables
- When existing rows are removed from the table, the pager display will no properly update to show zero total rows.
- When starting from an empty table and content is added, all widgets are refreshed
- When updating the table via an update method, the filter search will now be applied properly.
- Fixes issues #426 & #455
- Correct page calculation. Fixes issue #468.
- Added custom storage keys. Thanks to eire1130; see pull request #480 & issue #481.
- Added a public show error function
$.tablesorter.showError( table, message );
- Pass this function the table DOM element or jQuery object in
table
- The message can either be a string with a message ("table refuses to cooperate")
- or, the message can be an HTML string of an entire table row (
'<tr><td colspan="' + table.config.columns + '">yeah, instead of showing your data... I am taking a nap</td></tr>'
) - If the message is blank, all error rows are removed
- Fulfills issue #486
- Please note that this function was added to both the pager widget & pager plugin; In the next major release, this function will be separate from both, and can be included in the build.
- All theme files included a minor update with this change.
- Pass this function the table DOM element or jQuery object in
- Added accessibility attributes to the pager.
- Fix jsHint warnings.
- Fixed pager issues with empty tables
-
Resizable widget
- Fix reported js error.
- The resizable reset function
$.tablesorter.resizableReset(table);
now accepts jQuery objects.
-
Sticky headers widget
- Select boxes work again within sticky headers. Fixes issue #473.
- Browser will scroll to table top after filtering.
- This only occurs if the sticky header is active and after a filter is applied.
- Fixes issue #482.
- Use core's new
bindEvents
public function to bind events to cloned sticky header. - Fix sticky header alignment within
attachTo
elements.
-
Miscellaneous
- Update all Bootstrap demos to use the latest version (v3.0.3). Thanks themilkman!
- Update all demo pages that use jQuery UI accordion with the newest version. Also added a clickable anchor to each accordion header.
- Consolidate default class names within
$.tablesorter.css
for the filter, resizer and stickyHeaders widgets. - Renamed component.json to bower.json
Version 2.14.5 (12/16/2013)
- Pager
- Fix pager update when ajax returns no rows. Fixes issue #456.
- Add pager
processAjaxOnInit
option. Fixes issue #424. - Fix & document inconsistentcies in pager triggered event parameters.
- Disable pager arrows & show zero in display when
totalPages
is zero. Fixes issue #460. - Filter row is now included in sticky header while using the pager. Fixes issue #449.
- Lots of thanks to Lynesth for sharing code fixes :)
- Fix
stickyHeaders_attachTo
no positioning correctly. See issue #295.
Version 2.14.4 (12/14/2013)
- Add Bootstrap 2 theme. Thanks to themilkman.
- The
addRows
method now works with an empty table. Fixes issue #450. - Sticky headers widget
- Add
stickyHeaders_attachTo
option. Fixes issues #295 & #314. - Add
cssStickyHeaders_attachTo
option. Fixes issue #453. - Added padding to wrapper in demo so Chrome doesn't add a horizontal scroll bar
- Add
- Filter widget
- Fix forced search to work again (i.e.
$('table').trigger('search', false);
) - Fix child row filtering - see this Stackoverflow question
- Fix forced search to work again (i.e.
- Pager
- The pager will update properly when ajax returns no rows. Fixes issue #456
- Filter searches will now reset pager to the first page. Fixes issue #456
- The pager will now properly count filtered rows when including/excluding child rows. Fixes this Stackoverflow question.
- The table cache will once again update after an ajax call. Fixes issues #436 & #437.
Version 2.14.3 (12/2/2013)
- Core
- Refreshing widgets now only applies to previously installed widgets. Fixes issue #442.
- Pager
- Ajax arrays now accept html instead of cell contents, e.g.
<td class="red">- 10</td>
. Thanks @christhomas; fixes issue #434. - Add ajax counter to only allow the most recent request to process. Thanks @christhomas; fixes issue #443.
- When filtering rows, the output will now show zeros for row & page counts instead of empty strings.
- No more
fixedHeight
pager errors. Thanks @hempel; fixes issue #448.
- Ajax arrays now accept html instead of cell contents, e.g.
- Filter widget
- Exact filter matches now properly override other queries. Fixes issue #441.
- Reverse range
20 - 10
work properly, again. See issue #441. - Updated docs to show the filter precendence. See footnote (2) under Notes.
- Sticky Headers widget
- Now uses the filter widget
bindSearch
function allowing live search, delayed searching and escape to cancel on sticky header filters. - Thanks to @haraldkrischner for his help!
- Fixes issues #439 & #440.
- Now uses the filter widget
- CSS Sticky Headers widget (beta)
- Now works properly in IE9+.
- Thanks @gakreol
- Fixes issue #447.
- Added Semantic version sorting demo
- See the demo here.
- This demo does not use a custom parser nor widget, it requires a modified
semver.js
for node file to sort the column using thetextSorter
option. - The modified
semver-mod.js
file is contained within the new "extras" folder (tablesorter/js/extras) along with the original unmodifiedsemver.js
file. - Extra code is also included to highlight invalid semantic versions within the table.
- Fixes issue #395.
- Sorry I didn't get around to finding solutions for some of the other issues that I promised to have done this patch :(
Version 2.14.2 (11/25/2013)
- Removed Bootstrap filter cell background color. Fixes issue #425.
- Added css sticky header widget (beta)
- This widget uses css3 transforms to make the table header sticky. It's a bit jumpy in Chrome, but works well in other tested browsers.
- This widget doesn't appear to work in IE10, but it should... it will not work in IE8 and older.
- See issue #429 for more information.
- Stop repeat filter widget searches. Fixes issue #431.
- Prevent filter error. Fixes issue #432.
- Merged in and reverted issue #433.
- Editable widget
- Updated docs with missing
editable_editComplete
callback event name option. - Modified the
editable_columns
option to allow setting a column range string, e.g."2-4"
instead of creating an array ([2,3,4]
). - Fixes issue #435.
- Updated docs with missing
- Grouping widget
- Invalid group class now fails silently.
- Fixes issue #438.
Version 2.14.1 (11/22/2013)
- Filter widget
- External inputs bound using the filter
bindSearch
function now clear on the "filterReset" event. - Replace
Array.indexOf()
due to IE8.
- External inputs bound using the filter
- Pager (plugin & widget)
- Replace
Array.indexOf()
due to IE8. Fixes issue #388.
- Replace
- Themes
- Non-sortables headers now show the default cursor
- Fix Dropbox theme to work properly within the sticky header demo
- Fix Ice theme to include a top border in the sticky header demo
- Tweaked sticky header widget to better align columns in Firefox & adjust caption to hide border edges.
- See the sticky header demo to see these changes.
- Fixes #407.
- Documentation
- Update FAQ page to include information on the zebra widget not always working.
- Update demos to use Bootstrap 3.0.2.
- Add search instructions to the wiki documentation pages.
- Add link to FAQ & search instructions on the main documenation page.
- Add associated core version number to pager addon & widget, main widget file and filter formatter file.
Version 2.14.0 (11/19/2013)
Core
- Changed sorting algorithms:
- Due to problems with sorting multiple columns improperly sorting algorithms again include code to sort empty cells.
- Internal sorting again has separate ascending and descending functions; but the previous
$.tablesorter.sortNatural
(ascending only),$.tablesorter.sortNumeric
(ascending only) and$.tablesorter.sortText
(ascending only) functions are still available. - Custom text & numeric sort functions, added via
textSorter
andnumberSorter
options now require you to return the sort in the correct direction. - Custom sort functions no longer have empty cells automatically handled for you.
- Fixes issue #419.
- Added
sortStable
option which whentrue
will sort exactly equal items by placing them in their original unsorted order (or, perform a stable sort). - Removed double icon class names.
- Added
tabIndex
option- When
true
, a tabindex is added to the headers for keyboard accessibility; this was previously always applied - When
false
, table headers will not be included when tabbing through the page - Fulfills issue #415.
- When
Filter widget
- Setting a filter to build a select no longer causes an error. Fixes issue #421.
- Added
filter_saveFilters
option- When
true
, this option saves the current filters using the storage utility (local storage with cookie fallback). - This option is set to
false
by default. - See issue #388.
- When
- Allow multiple external filter inputs
- The
$.tablesorter.filter.bindSearch( $table, $external )
function now allows binding searches using the built-in functioning. - The bind search function will unbind any previously bound
keyup
andsearch
event listeners on the$external
elements. - External inputs must not have a
tablesorter-filter
class to distinguish them from internal filters. - If not using the
filter_anyMatch
option, external filters can be set to target specific columns by including adata-column
attribute. - See the new filter external inputs demo.
- The
- Filter reset button clicks will again trigger a
filterReset
event. Fixes issue #423.
Grouping widget
- Merged in fix for grouping widget + filter widget + child row widget.
- Updated demo with multi-child column styling.
- Thanks Xamamule in pull #414!
- This also fixes issue #422.
- Renamed variables & cleanup
- Added
group_dateString
function to format the date string forgroup-date
header class name.
Zebra widget
- Now skips removable rows added by other widgets, more specifically, it skips rows with a
remove-me
class name (set by theselectorRemove
option).
Docs updates
- Added a side menu with search to the main document page.
- The main documentation page now uses Bootstrap for some styles.
- Search includes a count with clear search, previous result and next result buttons.
- Search options included to find letters or whole words only, and choose if the search is case sensitive, or not.
- The advantage of this search over the browser's built-in search (Ctrl-F) is that this search will find text within the hidden content
- Indexing of the search results may not always be in order, i.e. "10/10" may not always be the lowest result on the page due to nested elements.
- Sorry, IE7 and older users, the search works but but is really slow. And the side menu styling leaves much to be desired (using Bootstrap).
- jQuery UI theme selector updates. See issue #407.
- Updated typos & css in various demos
- Added Utility options section for options used by parsers, storage utility and pager ajax data.
- Added removed options section.
- This applies to pager options available in the original version of tablesorter which are no longer supported.
- Fixes issue #416.
- Added
kbd
styling for better visualization of keyboard keys.
Other
- Renamed variables within the pager custom control demo (still in beta)
- Renamed variables within default widgets file
- Utilities: storage, addHeaderResizeEvent,, resizableReset
- Widgets: columns, resizable, stickyHeaders, uitheme, saveSort
- Updated parser-date-two-digit-year.js to allow changing the date range
- Set a different date range by adding a value to
table.config.dateRange
. - Instructions added to main documents under utility options
- Set a different date range by adding a value to
- Storage utility (
$.tablesorter.storage
) now accepts a jQuery object as well as a DOM object of the table-
$.tablesorter.storage( $('#mytable'), 'myvariable', 'YAY' );
, or $.tablesorter.storage( $('#mytable')[0], 'myvariable', 'YAY' );
-
Wiki: Home | FAQ | Customize | Snippets | Search | Language | Changes | Older-changes-2.25.0 | Older-changes-2.13.0 | Change summary