Cleanup & version bump

This commit is contained in:
Mottie 2014-02-19 13:27:23 -06:00
parent b0efc37d28
commit e69101f824
14 changed files with 173 additions and 127 deletions

224
README.md
View File

@ -45,6 +45,140 @@ tablesorter can successfully parse and sort many types of data including linked
View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change).
#### <a name="v2.15">Version 2.15.0</a> (1/25/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 of `tablesorter-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](https://github.com/Mottie/tablesorter/issues/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 &amp; functions in both the core and widgets.
* Colorize the left border of code blocks to differentiate HTML, CSS and javascript.
* Update &amp; consolidate jQuery UI accordion code.
* Miscellaneous demo fixes.
* Parsers
* The "shortDate" parser now works properly with header colspans. Fixes [issue #474](https://github.com/Mottie/tablesorter/issues/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 of `checked-#` (`#` 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` or `false`), to signal the filter widget to only search through parsed data when `true`.
* All parsers within the "parser-input-select.js" file now include a `parsed:true` parameter.
* The [parsers](http://mottie.github.io/tablesorter/docs/example-parsers.html) and [parsers-advanced](http://mottie.github.io/tablesorter/docs/example-parsers-advanced.html) demos have been updated to reflect this addition.
* css Sticky headers widget:
* Add `cssStickyHeaders_zIndex` option. Fixes [issue #466](https://github.com/Mottie/tablesorter/issues/466).
* Browser will now scroll to table top after filtering. Fixes [issue #482](https://github.com/Mottie/tablesorter/issues/482).
* 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 targetted for addition of these selectors; [the demo](http://mottie.github.io/tablesorter/docs/example-widget-column-selector.html) 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](http://mottie.github.io/tablesorter/docs/example-widget-column-selector.html) with more details on how to setup this widget!
* Editable widget
* Refresh other widgets after a cell has been edited. Fixes [issue #487](https://github.com/Mottie/tablesorter/issues/487).
* Filter widget:
* Make operator match higher priority than exact matching. Fixes [issue #465](https://github.com/Mottie/tablesorter/issues/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](https://github.com/Mottie/tablesorter/issues/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](http://mottie.github.io/tablesorter/beta-testing/example-external-filters-using-select2.html), thanks to [mohitmayank](https://github.com/mohitmayank); see [pull request #469](https://github.com/Mottie/tablesorter/pull/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](https://github.com/Mottie/tablesorter/issues/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](http://mottie.github.io/tablesorter/docs/index.html#widget-filter-external) for more details.
* Also check out the updated [filter widget external option](http://mottie.github.io/tablesorter/docs/example-widget-filter-any-match.html) and [filter widget external inputs](http://mottie.github.io/tablesorter/docs/example-widget-filter-external-inputs.html) demos.
* This fixes issues [#114](https://github.com/Mottie/tablesorter/issues/114), [#370](https://github.com/Mottie/tablesorter/issues/370), [#471](https://github.com/Mottie/tablesorter/issues/471) and [#490](https://github.com/Mottie/tablesorter/issues/490).
* 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, or `filter: "parsed"` setting to the [`headers` option](http://mottie.github.io/tablesorter/docs/#headers).
* 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` &amp; `selected` options:
* These options allow the adding of a comparison operator selector to the cell (e.g. `&gt;`, `&gt;=`, `&lt;`, `&lt;=`, 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.
* 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, the `endOfDay` 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 for `1/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.
* Fixes [issue #325](https://github.com/Mottie/tablesorter/issues/325) and [issue #430](https://github.com/Mottie/tablesorter/issues/430).
* Group widget:
* Attempt to fix ajax issue. See [issue #437](https://github.com/Mottie/tablesorter/issues/437).
* Combining group widget with pager should now work properly. Fixes [isse #437](https://github.com/Mottie/tablesorter/issues/437).
* The widget will now find the correct header cell when multiple thead rows are present.
* Pager (plugin &amp; 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](https://github.com/Mottie/tablesorter/issues/426) &amp; [#455](https://github.com/Mottie/tablesorter/issues/455)
* Correct page calculation. Fixes [issue #468](https://github.com/Mottie/tablesorter/issues/468).
* Added custom storage keys. Thanks to [eire1130](https://github.com/eire1130); see [pull request #480](https://github.com/Mottie/tablesorter/pull/480) & [issue #481](https://github.com/Mottie/tablesorter/issues/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](https://github.com/Mottie/tablesorter/issues/486)
* Please note that this function was added to both the pager widget &amp; 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.
* Added accessibility attributes to the pager.
* Fix jsHint warnings.
* 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](https://github.com/Mottie/tablesorter/issues/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](https://github.com/Mottie/tablesorter/issues/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](https://github.com/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
#### <a name="v2.14.5">Version 2.14.5</a> (12/16/2013)
* Pager
@ -119,93 +253,3 @@ View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Chan
* Grouping widget
* Invalid group class now fails silently.
* Fixes [issue #438](https://github.com/Mottie/tablesorter/issues/438).
#### <a name="v2.14.1">Version 2.14.1</a> (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.
* Pager (plugin &amp; widget)
* Replace `Array.indexOf()` due to IE8. Fixes [issue #388](https://github.com/Mottie/tablesorter/issues/388).
* 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 &amp; adjust caption to hide border edges.
* See the [sticky header demo](http://mottie.github.io/tablesorter/docs/example-widget-sticky-header.html) to see these changes.
* Fixes [#407](https://github.com/Mottie/tablesorter/issues/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 &amp; search instructions on the main documenation page.
* Add associated core version number to pager addon &amp; widget, main widget file and filter formatter file.
#### <a name="v2.14.0">Version 2.14.0</a> (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 &amp; numeric sort functions, added via `textSorter` and `numberSorter` 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](https://github.com/Mottie/tablesorter/issues/419).
* Added `sortStable` option which when `true` will sort exactly equal items by placing them in their original unsorted order (or, perform a [stable sort](http://en.wikipedia.org/wiki/Stable_sort#Stability)).
* 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](https://github.com/Mottie/tablesorter/issues/415).
**Filter widget**
* Setting a filter to build a select no longer causes an error. Fixes [issue #421](https://github.com/Mottie/tablesorter/issues/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](https://github.com/Mottie/tablesorter/issues/388).
* 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` and `search` 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 a `data-column` attribute.
* See the new [filter external inputs demo](http://mottie.github.io/tablesorter/docs/example-widget-filter-external-inputs.html).
* Filter reset button clicks will again trigger a `filterReset` event. Fixes [issue #423](https://github.com/Mottie/tablesorter/issues/423).
**Grouping widget**
* Merged in fix for grouping widget + filter widget + child row widget.
* Updated demo with multi-child column styling.
* Thanks [Xamamule](https://github.com/Xamamule) in [pull #414](https://github.com/Mottie/tablesorter/pull/414)!
* This also fixes [issue #422](https://github.com/Mottie/tablesorter/issues/422).
* Renamed variables &amp; cleanup
* Added `group_dateString` function to format the date string for `group-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 the `selectorRemove` 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](https://github.com/Mottie/tablesorter/issues/407).
* Updated typos &amp; 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](https://github.com/Mottie/tablesorter/issues/416).
* Added `kbd` styling for better visualization of keyboard keys.
**Other**
* Renamed variables within the [pager custom control demo](http://mottie.github.io/tablesorter/beta-testing/example-pager-custom-controls.html) (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
* 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' );`

View File

@ -1,6 +1,6 @@
/*!
* tablesorter pager plugin
* updated 1/21/2014 (v2.15.0)
* updated 2/19/2014 (v2.15.0)
*/
/*jshint browser:true, jquery:true, unused:false */
;(function($) {
@ -240,7 +240,7 @@
// process data
if ( typeof(p.ajaxProcessing) === "function" ) {
// ajaxProcessing result: [ total, rows, headers ]
var i, j, hsh, $f, $sh, t, th, d, l, $err, rr_count,
var i, j, hsh, $f, $sh, t, th, d, l, rr_count,
c = table.config,
$t = c.$table,
tds = '',

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"name": "tablesorter",
"version": "2.14.5",
"version": "2.15.0",
"dependencies": {
"jquery": ">=1.2.6"
}

View File

@ -1,5 +1,5 @@
/**!
* TableSorter 2.14.5 - Client-side table sorting with ease!
* TableSorter 2.15.0 - Client-side table sorting with ease!
* @requires jQuery v1.2.6+
*
* Copyright (c) 2007 Christian Bach
@ -24,7 +24,7 @@
var ts = this;
ts.version = "2.14.5";
ts.version = "2.15.0";
ts.parsers = [];
ts.widgets = [];

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! Filter widget formatter functions - updated 2/16/2014 (v2.15)
/*! Filter widget formatter functions - updated 2/19/2014 (v2.15)
* requires: tableSorter 2.15+ and jQuery 1.4.3+
*
* uiSpinner (jQuery UI spinner)
@ -87,7 +87,7 @@ tsff = ts.filterFormatter = {
v = ui && ui.value && ts.formatFloat((ui.value + '').replace(/[><=]/g,'')) ||
$cell.find('.spinner').val() || o.value,
compare = ($.isArray(o.compare) ? $cell.find(compareSelect).val() || o.compare[ o.selected || 0] : o.compare) || '',
searchType = ui && typeof ui.delayed === 'boolean' ? ui.delayed : c.$table[0].hasInitialized ? o.delayed : true
searchType = ui && typeof ui.delayed === 'boolean' ? ui.delayed : c.$table[0].hasInitialized ? o.delayed : true;
if (o.addToggle) {
chkd = $cell.find('.toggle').is(':checked');
}
@ -507,7 +507,7 @@ tsff = ts.filterFormatter = {
o.onClose(v);
}
}),
t, l, $shcell = [],
t, $shcell = [],
c = $cell.closest('table')[0].config,
// this function updates the hidden input
@ -712,8 +712,8 @@ tsff = ts.filterFormatter = {
// date range
if (/\s+-\s+/.test(val)){
val = val.split(/\s+-\s+/) || [],
from = val[0] || '',
val = val.split(/\s+-\s+/) || [];
from = val[0] || '';
to = val[1] || '';
} else if (/>=/.test(val)) {
// greater than date (to date empty)
@ -774,7 +774,7 @@ tsff = ts.filterFormatter = {
$number = $('<input type="number" style="visibility:hidden;" value="test">').appendTo($cell),
// test if HTML5 number is supported - from Modernizr
numberSupported = o.skipTest || $number.attr('type') === 'number' && $number.val() !== 'test',
l, $shcell = [],
$shcell = [],
c = $cell.closest('table')[0].config,
updateNumber = function(delayed, notrigger){
@ -1074,7 +1074,7 @@ tsff = ts.filterFormatter = {
(o.addToggle ? '<div class="button"><input id="colorbutton' + t + '" type="checkbox" class="toggle" /><label for="colorbutton' +
t + '"></label></div>' : '') +
'<input type="hidden"><input class="colorpicker" type="color" />' +
(o.valueToHeader ? '' : '<span class="currentColor">(#000000)</span>') + '</div>'
(o.valueToHeader ? '' : '<span class="currentColor">(#000000)</span>') + '</div>';
$cell.html(t);
// add span to header for the current color value - only works if the line in the updateColor() function is also un-commented out
if (o.valueToHeader) {

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tableSorter 2.8+ widgets - updated 12/16/2013 (v2.15.0)
/*! tableSorter 2.8+ widgets - updated 2/19/2014 (v2.15.0)
*
* Column Styles
* Column Filters
@ -1177,7 +1177,6 @@ ts.addWidget({
$header = $thead.children('tr').not('.sticky-false').children(),
innerHeader = '.' + ts.css.headerIn,
$tfoot = $table.find('tfoot'),
filterInputs = '.' + ts.css.filter,
$stickyOffset = isNaN(wo.stickyHeaders_offset) ? $(wo.stickyHeaders_offset) : '',
stickyOffset = $attach.length ? 0 : $stickyOffset.length ?
$stickyOffset.height() || 0 : parseInt(wo.stickyHeaders_offset, 10) || 0,

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,5 @@
/*! input & select parsers for jQuery 1.7+ & tablesorter 2.7.11+
* Updated 2/19/2014 (v2.15.0)
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
*/
/*jshint browser: true, jquery:true, unused:false */

View File

@ -1,4 +1,4 @@
/* Pager widget (beta) for TableSorter 1/16/2014 (v2.15.0) */
/* Pager widget (beta) for TableSorter 2/19/2014 (v2.15.0) */
/*jshint browser:true, jquery:true, unused:false */
;(function($){
"use strict";
@ -434,7 +434,7 @@ tsp = ts.pager = {
// process data
if ( $.isFunction(wo.pager_ajaxProcessing) ) {
// ajaxProcessing result: [ total, rows, headers ]
var i, j, t, hsh, $f, $sh, th, d, l, $err, rr_count,
var i, j, t, hsh, $f, $sh, th, d, l, rr_count,
$t = c.$table,
tds = '',
result = wo.pager_ajaxProcessing(data, table) || [ 0, [] ],

View File

@ -1,7 +1,7 @@
{
"name": "tablesorter",
"title": "tablesorter",
"version": "2.14.5",
"version": "2.15.0",
"description": "tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.\n\nThis forked version adds lots of new enhancements including: alphanumeric sorting, pager callback functons, multiple widgets providing column styling, ui theme application, sticky headers, column filters and resizer, as well as extended documentation with a lot more demos.",
"author": {
"name": "Christian Bach",

View File

@ -1,7 +1,7 @@
{
"name": "tablesorter",
"title": "tablesorter",
"version": "2.14.5",
"version": "2.15.0",
"description": "tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.\n\nThis forked version adds lots of new enhancements including: alphanumeric sorting, pager callback functons, multiple widgets providing column styling, ui theme application, sticky headers, column filters and resizer, as well as extended documentation with a lot more demos.",
"author": {
"name": "Christian Bach",