Dist: update distribution folder & doc version #s

This commit is contained in:
Mottie 2015-03-24 15:16:30 -05:00
parent 903b834222
commit 1eec5e86f8
11 changed files with 56 additions and 49 deletions

File diff suppressed because one or more lines are too long

View File

@ -1067,7 +1067,7 @@
// save initial settings // save initial settings
c.originalSettings = settings; c.originalSettings = settings;
// create a table from data (build table widget) // create a table from data (build table widget)
if (!table.hasInitialized && ts.buildTable && this.tagName !== 'TABLE') { if (!table.hasInitialized && ts.buildTable && this.nodeName !== 'TABLE') {
// return the table (in case the original target is the table's container) // return the table (in case the original target is the table's container)
ts.buildTable(table, c); ts.buildTable(table, c);
} else { } else {
@ -1334,10 +1334,14 @@
ts.bindEvents = function(table, $headers, core){ ts.bindEvents = function(table, $headers, core){
table = $(table)[0]; table = $(table)[0];
var downTarget = null, var t, downTarget = null,
c = table.config; c = table.config;
if (core !== true) { if (core !== true) {
c.$extraHeaders = c.$extraHeaders ? c.$extraHeaders.add($headers) : $headers; c.$extraHeaders = c.$extraHeaders ? c.$extraHeaders.add($headers) : $headers;
t = $.fn.closest ? $headers.closest('table')[0] : $headers.parents('table')[0];
if (t && t.nodeName === 'TABLE' && t !== table) {
c.$extraTables = c.$extraTables ? c.$extraTables.add(t) : $(t);
}
} }
// apply event handling to headers and/or additional headers (stickyheaders, scroller, etc) // apply event handling to headers and/or additional headers (stickyheaders, scroller, etc)
$headers $headers
@ -1365,7 +1369,7 @@
} }
downTarget = null; downTarget = null;
// prevent sort being triggered on form elements // prevent sort being triggered on form elements
if ( /(input|select|button|textarea)/i.test(e.target.tagName) || if ( /(input|select|button|textarea)/i.test(e.target.nodeName) ||
// nosort class name, or elements within a nosort container // nosort class name, or elements within a nosort container
$target.hasClass(c.cssNoSort) || $target.parents('.' + c.cssNoSort).length > 0 || $target.hasClass(c.cssNoSort) || $target.parents('.' + c.cssNoSort).length > 0 ||
// elements within a button // elements within a button
@ -1374,7 +1378,7 @@
} }
if (c.delayInit && isEmptyObject(c.cache)) { buildCache(table); } if (c.delayInit && isEmptyObject(c.cache)) { buildCache(table); }
// jQuery v1.2.6 doesn't have closest() // jQuery v1.2.6 doesn't have closest()
cell = $.fn.closest ? $(this).closest('th, td')[0] : /TH|TD/.test(this.tagName) ? this : $(this).parents('th, td')[0]; cell = $.fn.closest ? $(this).closest('th, td')[0] : /TH|TD/.test(this.nodeName) ? this : $(this).parents('th, td')[0];
// reference original table headers and find the same cell // reference original table headers and find the same cell
cell = c.$headers[ $headers.index( cell ) ]; cell = c.$headers[ $headers.index( cell ) ];
if (!cell.sortDisabled) { if (!cell.sortDisabled) {
@ -2052,8 +2056,8 @@
priority: 90, priority: 90,
format: function(table, c, wo) { format: function(table, c, wo) {
var $tb, $tv, $tr, row, even, time, k, var $tb, $tv, $tr, row, even, time, k,
child = new RegExp(c.cssChildRow, 'i'), child = new RegExp(c.cssChildRow, 'i'),
b = c.$tbodies; b = c.$tbodies.add( c.$extraTables && c.$extraTables.children( 'tbody' ) );
if (c.debug) { if (c.debug) {
time = new Date(); time = new Date();
} }

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tablesorter (FORK) widgets - updated 03-13-2015 (v2.21.2)*/ /*! tablesorter (FORK) widgets - updated 03-24-2015 (v2.21.2)*/
/* Includes: storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort */ /* Includes: storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort */
(function(factory) { (function(factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
@ -355,11 +355,14 @@ ts.addWidget({
*/ */
;(function ($) { ;(function ($) {
'use strict'; 'use strict';
var ts = $.tablesorter = $.tablesorter || {}; var ts = $.tablesorter = $.tablesorter || {},
tscss = ts.css;
$.extend(ts.css, { $.extend(tscss, {
filterRow : 'tablesorter-filter-row', filterRow : 'tablesorter-filter-row',
filter : 'tablesorter-filter' filter : 'tablesorter-filter',
filterDisabled : 'disabled',
filterRowHide : 'hideme'
}); });
ts.addWidget({ ts.addWidget({
@ -409,7 +412,7 @@ ts.addWidget({
// add .tsfilter namespace to all BUT search // add .tsfilter namespace to all BUT search
.unbind( events.replace(/\s+/g, ' ') ) .unbind( events.replace(/\s+/g, ' ') )
// remove the filter row even if refreshing, because the column might have been moved // remove the filter row even if refreshing, because the column might have been moved
.find('.' + ts.css.filterRow).remove(); .find('.' + tscss.filterRow).remove();
if (refreshing) { return; } if (refreshing) { return; }
for (tbodyIndex = 0; tbodyIndex < $tbodies.length; tbodyIndex++ ) { for (tbodyIndex = 0; tbodyIndex < $tbodies.length; tbodyIndex++ ) {
$tbody = ts.processTbody(table, $tbodies.eq(tbodyIndex), true); // remove tbody $tbody = ts.processTbody(table, $tbodies.eq(tbodyIndex), true); // remove tbody
@ -637,13 +640,13 @@ ts.filter = {
c.$table.bind( txt, function(event, filter) { c.$table.bind( txt, function(event, filter) {
val = (wo.filter_hideEmpty && $.isEmptyObject(c.cache) && !(c.delayInit && event.type === 'appendCache')); val = (wo.filter_hideEmpty && $.isEmptyObject(c.cache) && !(c.delayInit && event.type === 'appendCache'));
// hide filter row using the "filtered" class name // hide filter row using the "filtered" class name
c.$table.find('.' + ts.css.filterRow).toggleClass(wo.filter_filteredRow, val ); // fixes #450 c.$table.find('.' + tscss.filterRow).toggleClass(wo.filter_filteredRow, val ); // fixes #450
if ( !/(search|filter)/.test(event.type) ) { if ( !/(search|filter)/.test(event.type) ) {
event.stopPropagation(); event.stopPropagation();
ts.filter.buildDefault(table, true); ts.filter.buildDefault(table, true);
} }
if (event.type === 'filterReset') { if (event.type === 'filterReset') {
c.$table.find('.' + ts.css.filter).add(wo.filter_$externalFilters).val(''); c.$table.find('.' + tscss.filter).add(wo.filter_$externalFilters).val('');
ts.filter.searching(table, []); ts.filter.searching(table, []);
} else if (event.type === 'filterEnd') { } else if (event.type === 'filterEnd') {
ts.filter.buildDefault(table, true); ts.filter.buildDefault(table, true);
@ -706,7 +709,7 @@ ts.filter = {
options += '<option ' + (txt === val ? '' : 'data-function-name="' + string + '" ') + 'value="' + val + '">' + txt + '</option>'; options += '<option ' + (txt === val ? '' : 'data-function-name="' + string + '" ') + 'value="' + val + '">' + txt + '</option>';
} }
} }
c.$table.find('thead').find('select.' + ts.css.filter + '[data-column="' + column + '"]').append(options); c.$table.find('thead').find('select.' + tscss.filter + '[data-column="' + column + '"]').append(options);
} }
} }
} }
@ -715,7 +718,7 @@ ts.filter = {
// it would append the same options twice. // it would append the same options twice.
ts.filter.buildDefault(table, true); ts.filter.buildDefault(table, true);
ts.filter.bindSearch( table, c.$table.find('.' + ts.css.filter), true ); ts.filter.bindSearch( table, c.$table.find('.' + tscss.filter), true );
if (wo.filter_external) { if (wo.filter_external) {
ts.filter.bindSearch( table, wo.filter_external ); ts.filter.bindSearch( table, wo.filter_external );
} }
@ -730,7 +733,7 @@ ts.filter = {
.unbind( ('filterStart filterEnd '.split(' ').join(c.namespace + 'filter ')).replace(/\s+/g, ' ') ) .unbind( ('filterStart filterEnd '.split(' ').join(c.namespace + 'filter ')).replace(/\s+/g, ' ') )
.bind( 'filterStart filterEnd '.split(' ').join(c.namespace + 'filter '), function(event, columns) { .bind( 'filterStart filterEnd '.split(' ').join(c.namespace + 'filter '), function(event, columns) {
// only add processing to certain columns to all columns // only add processing to certain columns to all columns
$header = (columns) ? c.$table.find('.' + ts.css.header).filter('[data-column]').filter(function() { $header = (columns) ? c.$table.find('.' + tscss.header).filter('[data-column]').filter(function() {
return columns[$(this).data('column')] !== ''; return columns[$(this).data('column')] !== '';
}) : ''; }) : '';
ts.isProcessing(table, event.type === 'filterStart', columns ? $header : ''); ts.isProcessing(table, event.type === 'filterStart', columns ? $header : '');
@ -844,7 +847,7 @@ ts.filter = {
// c.columns defined in computeThIndexes() // c.columns defined in computeThIndexes()
columns = c.columns, columns = c.columns,
arry = $.isArray(wo.filter_cellFilter), arry = $.isArray(wo.filter_cellFilter),
buildFilter = '<tr role="row" class="' + ts.css.filterRow + '">'; buildFilter = '<tr role="row" class="' + tscss.filterRow + ' ' + c.cssIgnoreRow + '">';
for (column = 0; column < columns; column++) { for (column = 0; column < columns; column++) {
if (arry) { if (arry) {
buildFilter += '<td' + ( wo.filter_cellFilter[column] ? ' class="' + wo.filter_cellFilter[column] + '"' : '' ) + '></td>'; buildFilter += '<td' + ( wo.filter_cellFilter[column] ? ' class="' + wo.filter_cellFilter[column] + '"' : '' ) + '></td>';
@ -893,9 +896,9 @@ ts.filter = {
name = ( $.isArray(wo.filter_cssFilter) ? name = ( $.isArray(wo.filter_cssFilter) ?
(typeof wo.filter_cssFilter[column] !== 'undefined' ? wo.filter_cssFilter[column] || '' : '') : (typeof wo.filter_cssFilter[column] !== 'undefined' ? wo.filter_cssFilter[column] || '' : '') :
wo.filter_cssFilter ) || ''; wo.filter_cssFilter ) || '';
buildFilter.addClass( ts.css.filter + ' ' + name ).attr('data-column', column); buildFilter.addClass( tscss.filter + ' ' + name ).attr('data-column', column);
if (disabled) { if (disabled) {
buildFilter.attr('placeholder', '').addClass('disabled')[0].disabled = true; // disabled! buildFilter.attr('placeholder', '').addClass(tscss.filterDisabled)[0].disabled = true; // disabled!
} }
} }
} }
@ -989,7 +992,7 @@ ts.filter = {
} }
if (wo.filter_hideFilters) { if (wo.filter_hideFilters) {
// show/hide filter row as needed // show/hide filter row as needed
c.$table.find('.' + ts.css.filterRow).trigger( combinedFilters === '' ? 'mouseleave' : 'mouseenter' ); c.$table.find('.' + tscss.filterRow).trigger( combinedFilters === '' ? 'mouseleave' : 'mouseenter' );
} }
// return if the last search is the same; but filter === false when updating the search // return if the last search is the same; but filter === false when updating the search
// see example-widget-filter.html filter toggle buttons // see example-widget-filter.html filter toggle buttons
@ -1015,8 +1018,8 @@ ts.filter = {
hideFilters: function(table, c) { hideFilters: function(table, c) {
var $filterRow, $filterRow2, timer; var $filterRow, $filterRow2, timer;
$(table) $(table)
.find('.' + ts.css.filterRow) .find('.' + tscss.filterRow)
.addClass('hideme') .addClass(tscss.filterRowHide)
.bind('mouseenter mouseleave', function(e) { .bind('mouseenter mouseleave', function(e) {
// save event object - http://bugs.jquery.com/ticket/12140 // save event object - http://bugs.jquery.com/ticket/12140
var event = e; var event = e;
@ -1024,14 +1027,14 @@ ts.filter = {
clearTimeout(timer); clearTimeout(timer);
timer = setTimeout(function() { timer = setTimeout(function() {
if ( /enter|over/.test(event.type) ) { if ( /enter|over/.test(event.type) ) {
$filterRow.removeClass('hideme'); $filterRow.removeClass(tscss.filterRowHide);
} else { } else {
// don't hide if input has focus // don't hide if input has focus
// $(':focus') needs jQuery 1.6+ // $(':focus') needs jQuery 1.6+
if ( $(document.activeElement).closest('tr')[0] !== $filterRow[0] ) { if ( $(document.activeElement).closest('tr')[0] !== $filterRow[0] ) {
// don't hide row if any filter has a value // don't hide row if any filter has a value
if (c.lastCombinedFilter === '') { if (c.lastCombinedFilter === '') {
$filterRow.addClass('hideme'); $filterRow.addClass(tscss.filterRowHide);
} }
} }
} }
@ -1044,7 +1047,7 @@ ts.filter = {
timer = setTimeout(function() { timer = setTimeout(function() {
// don't hide row if any filter has a value // don't hide row if any filter has a value
if (ts.getFilters(c.$table).join('') === '') { if (ts.getFilters(c.$table).join('') === '') {
$filterRow2[ event.type === 'focus' ? 'removeClass' : 'addClass']('hideme'); $filterRow2[ event.type === 'focus' ? 'removeClass' : 'addClass'](tscss.filterRowHide);
} }
}, 200); }, 200);
}); });
@ -1532,7 +1535,7 @@ ts.filter = {
// t.data('placeholder') won't work in jQuery older than 1.4.3 // t.data('placeholder') won't work in jQuery older than 1.4.3
options = '<option value="">' + ( node.data('placeholder') || node.attr('data-placeholder') || wo.filter_placeholder.select || '' ) + '</option>', options = '<option value="">' + ( node.data('placeholder') || node.attr('data-placeholder') || wo.filter_placeholder.select || '' ) + '</option>',
// Get curent filter value // Get curent filter value
currentValue = c.$table.find('thead').find('select.' + ts.css.filter + '[data-column="' + column + '"]').val(); currentValue = c.$table.find('thead').find('select.' + tscss.filter + '[data-column="' + column + '"]').val();
// nothing included in arry (external source), so get the options from filter_selectSource or column data // nothing included in arry (external source), so get the options from filter_selectSource or column data
if (typeof arry === 'undefined' || arry === '') { if (typeof arry === 'undefined' || arry === '') {
arry = ts.filter.getOptionSource(table, column, onlyAvail); arry = ts.filter.getOptionSource(table, column, onlyAvail);
@ -1559,7 +1562,7 @@ ts.filter = {
} }
// update all selects in the same column (clone thead in sticky headers & any external selects) - fixes 473 // update all selects in the same column (clone thead in sticky headers & any external selects) - fixes 473
$filters = ( c.$filters ? c.$filters : c.$table.children('thead') ).find('.' + ts.css.filter); $filters = ( c.$filters ? c.$filters : c.$table.children('thead') ).find('.' + tscss.filter);
if (wo.filter_$externalFilters) { if (wo.filter_$externalFilters) {
$filters = $filters && $filters.length ? $filters.add(wo.filter_$externalFilters) : wo.filter_$externalFilters; $filters = $filters && $filters.length ? $filters.add(wo.filter_$externalFilters) : wo.filter_$externalFilters;
} }
@ -1603,7 +1606,7 @@ ts.getFilters = function(table, getRaw, setFilters, skipFirst) {
} }
if (c) { if (c) {
if (c.$filters) { if (c.$filters) {
$filters = c.$filters.find('.' + ts.css.filter); $filters = c.$filters.find('.' + tscss.filter);
} }
if (wo.filter_$externalFilters) { if (wo.filter_$externalFilters) {
$filters = $filters && $filters.length ? $filters.add(wo.filter_$externalFilters) : wo.filter_$externalFilters; $filters = $filters && $filters.length ? $filters.add(wo.filter_$externalFilters) : wo.filter_$externalFilters;
@ -1850,7 +1853,7 @@ ts.addWidget({
resizeHeader(); resizeHeader();
}); });
ts.bindEvents(table, $stickyThead.children().children('.tablesorter-header')); ts.bindEvents(table, $stickyThead.children().children('.' + ts.css.header));
// add stickyheaders AFTER the table. If the table is selected by ID, the original one (first) will be returned. // add stickyheaders AFTER the table. If the table is selected by ID, the original one (first) will be returned.
$table.after( $stickyWrap ); $table.after( $stickyWrap );

File diff suppressed because one or more lines are too long

View File

@ -2,4 +2,4 @@
* Updated 3/5/2015 (v2.21.0) * Updated 3/5/2015 (v2.21.0)
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html * Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
*/ */
!function(a){"use strict";var b=function(){};a.tablesorter.addParser({id:"inputs",is:function(){return!1},format:function(b,c,d){return a(d).find("input").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"checkbox",is:function(){return!1},format:function(b,c,d,e){var f=a(d),g=c.config.widgetOptions,h=g.group_checkbox?g.group_checkbox:["checked","unchecked"],i=f.find('input[type="checkbox"]'),j=i.length?i[0].checked:"";return f.closest("tr").toggleClass("checked-"+e,j),i.length?h[j?0:1]:b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select",is:function(){return!1},format:function(b,c,d){return a(d).find("select").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select-text",is:function(){return!1},format:function(b,c,d){var e=a(d).find("select");return e.length?e.find("option:selected").text()||"":b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"textarea",is:function(){return!1},format:function(b,c,d){return a(d).find("textarea").val()||b},parsed:!0,type:"text"}),a(function(){a("table").on("tablesorter-initialized",function(){var c=function(b){b&&a(":focus").blur()};a(this).children("tbody").on("mouseleave",function(a){c("TBODY"===a.target.tagName)}).on("focus","select, input, textarea",function(){a(this).data("ts-original-value",this.value)}).on("blur","input, textarea",function(){this.value=a(this).data("ts-original-value")}).on("change keyup","select, input, textarea",function(d){if(27===d.which)return void(this.value=a(this).data("ts-original-value"));if("change"===d.type||"keyup"===d.type&&13===d.which&&("INPUT"===d.target.tagName||"TEXTAREA"===d.target.tagName&&d.altKey)){var e,f=a(d.target),g=f.closest("td"),h=g.closest("table"),i=g[0].cellIndex,j=h[0].config||!1,k=j&&j.$headers&&j.$headers.eq(i);if(!j||k&&k.length&&(k.hasClass("parser-false")||k.hasClass("sorter-false")&&k.hasClass("filter-false")))return c();(f.val()!==f.data("ts-original-value")||"checkbox"===d.target.type)&&(f.data("ts-original-value",f.val()),h.trigger("updateCell",[f.closest("td"),e,function(){b(d,h,f)}]))}})})})}(jQuery); !function(a){"use strict";var b=function(){};a.tablesorter.addParser({id:"inputs",is:function(){return!1},format:function(b,c,d){return a(d).find("input").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"checkbox",is:function(){return!1},format:function(b,c,d,e){var f=a(d),g=c.config.widgetOptions,h=g.group_checkbox?g.group_checkbox:["checked","unchecked"],i=f.find('input[type="checkbox"]'),j=i.length?i[0].checked:"";return f.closest("tr").toggleClass("checked-"+e,j),i.length?h[j?0:1]:b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select",is:function(){return!1},format:function(b,c,d){return a(d).find("select").val()||b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"select-text",is:function(){return!1},format:function(b,c,d){var e=a(d).find("select");return e.length?e.find("option:selected").text()||"":b},parsed:!0,type:"text"}),a.tablesorter.addParser({id:"textarea",is:function(){return!1},format:function(b,c,d){return a(d).find("textarea").val()||b},parsed:!0,type:"text"}),a(function(){a("table").on("tablesorter-initialized",function(){var c=function(b){b&&a(":focus").blur()};a(this).children("tbody").on("mouseleave",function(a){c("TBODY"===a.target.nodeName)}).on("focus","select, input, textarea",function(){a(this).data("ts-original-value",this.value)}).on("blur","input, textarea",function(){this.value=a(this).data("ts-original-value")}).on("change keyup","select, input, textarea",function(d){if(27===d.which)return void(this.value=a(this).data("ts-original-value"));if("change"===d.type||"keyup"===d.type&&13===d.which&&("INPUT"===d.target.nodeName||"TEXTAREA"===d.target.nodeName&&d.altKey)){var e,f=a(d.target),g=f.closest("td"),h=g.closest("table"),i=g[0].cellIndex,j=h[0].config||!1,k=j&&j.$headers&&j.$headers.eq(i);if(!j||k&&k.length&&(k.hasClass("parser-false")||k.hasClass("sorter-false")&&k.hasClass("filter-false")))return c();(f.val()!==f.data("ts-original-value")||"checkbox"===d.target.type)&&(f.data("ts-original-value",f.val()),h.trigger("updateCell",[f.closest("td"),e,function(){b(d,h,f)}]))}})})})}(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -475,14 +475,14 @@
<ul> <ul>
<li><a href="example-widget-align-character.html">Align Character Widget</a> (<span class="version">v2.15.8</span>; <span class="version updated">v2.19.0</span>).</li> <li><a href="example-widget-align-character.html">Align Character Widget</a> (<span class="version">v2.15.8</span>; <span class="version updated">v2.19.0</span>).</li>
<li><a href="example-widget-build-table.html">Build Table Widget</a> (<span class="version">v2.11</span>; <span class="version updated">v2.19.0</span>).</li> <li><a href="example-widget-build-table.html">Build Table Widget</a> (<span class="version">v2.11</span>; <span class="version updated">v2.21.3</span>).</li>
<li><span class="label label-info">Beta</span> <a href="example-widget-chart.html">Chart Widget</a> (<span class="version">v2.19.0</span>).</li> <li><span class="label label-info">Beta</span> <a href="example-widget-chart.html">Chart Widget</a> (<span class="version">v2.19.0</span>).</li>
<li><span class="results">&dagger;</span> <a href="example-widget-columns.html">Columns Highlight widget</a> (v2.0.17)</li> <li><span class="results">&dagger;</span> <a href="example-widget-columns.html">Columns Highlight widget</a> (v2.0.17)</li>
<li><a href="example-widget-column-selector.html">Column Selector widget</a> (<span class="version">v2.15</span>; <span class="version updated">v2.21.0</span>).</li> <li><a href="example-widget-column-selector.html">Column Selector widget</a> (<span class="version">v2.15</span>; <span class="version updated">v2.21.0</span>).</li>
<li><a href="example-widget-editable.html">Content Editable widget</a> (v2.9; <span class="version updated">v2.19.1</span>).</li> <li><a href="example-widget-editable.html">Content Editable widget</a> (v2.9; <span class="version updated">v2.19.1</span>).</li>
<li><span class="label label-info">Beta</span> <a href="example-dragtable.html">Dragtable mod</a> - (jQuery UI widget for column reordering [<a href="http://stackoverflow.com/a/27770224/145346">ref</a>]; <span class="version">v2.19.0</span>).</li> <li><span class="label label-info">Beta</span> <a href="example-dragtable.html">Dragtable mod</a> - (jQuery UI widget for column reordering [<a href="http://stackoverflow.com/a/27770224/145346">ref</a>]; <span class="version">v2.19.0</span>).</li>
<li><span class="results">&dagger;</span> Filter Widget (<span class="version updated">v2.21.0</span>): <li><span class="results">&dagger;</span> Filter Widget (<span class="version updated">v2.21.3</span>):
<ul> <ul>
<li><a href="example-widget-filter.html">basic</a> (v2.0.18; <span class="version updated">v2.18.1</span>)</li> <li><a href="example-widget-filter.html">basic</a> (v2.0.18; <span class="version updated">v2.18.1</span>)</li>
<li><a href="example-widget-filter-any-match.html">external option (match any column)</a> (<span class="version">v2.13.3</span>; <span class="version updated">v2.20.0</span>)</li> <li><a href="example-widget-filter-any-match.html">external option (match any column)</a> (<span class="version">v2.13.3</span>; <span class="version updated">v2.20.0</span>)</li>
@ -491,7 +491,7 @@
<li><a href="example-widget-filter-custom-search.html">custom searches</a> (<span class="version">v2.17.5</span>; <span class="version updated">v2.17.8</span>)</li> <li><a href="example-widget-filter-custom-search.html">custom searches</a> (<span class="version">v2.17.5</span>; <span class="version updated">v2.17.8</span>)</li>
<li><a href="example-widget-filter-custom-search2.html">custom search (example #2)</a> (<span class="version">v2.19.1</span>; <span class="version updated">v2.21.0</span>)</li> <li><a href="example-widget-filter-custom-search2.html">custom search (example #2)</a> (<span class="version">v2.19.1</span>; <span class="version updated">v2.21.0</span>)</li>
<li>formatter: <a href="example-widget-filter-formatter-1.html">jQuery UI widgets</a> and <a href="example-widget-filter-formatter-2.html">HTML5 Elements</a> (v2.7.7; <span class="version updated">v2.17.5</span>).</li> <li>formatter: <a href="example-widget-filter-formatter-1.html">jQuery UI widgets</a> and <a href="example-widget-filter-formatter-2.html">HTML5 Elements</a> (v2.7.7; <span class="version updated">v2.17.5</span>).</li>
<li>formatter: <a href="example-widget-filter-formatter-select2.html">select2</a> (<span class="version">v2.16.0</span>; <span class="version updated">v2.19.0</span>)</li> <li>formatter: <a href="example-widget-filter-formatter-select2.html">select2</a> (<span class="version">v2.16.0</span>; <span class="version updated">v2.21.3</span>)</li>
</ul> </ul>
</li> </li>
<li><span class="label label-info">Beta</span> <a href="example-widget-formatter.html">Formatter widget</a> (<span class="version">v2.19.1</span>).</li> <li><span class="label label-info">Beta</span> <a href="example-widget-formatter.html">Formatter widget</a> (<span class="version">v2.19.1</span>).</li>
@ -504,13 +504,13 @@
<li><a href="example-widget-header-titles.html">Header titles widget</a> (v2.15.6; <span class="version updated">2.15.7</span>)</li> <li><a href="example-widget-header-titles.html">Header titles widget</a> (v2.15.6; <span class="version updated">2.15.7</span>)</li>
<li><a href="example-widget-math.html">Math widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li> <li><a href="example-widget-math.html">Math widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li>
<li> <li>
<a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.21.0</span>) <a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.21.3</span>)
<br><br> <br><br>
</li> </li>
<li>Pager plugin (<a href="example-pager.html">basic</a> &amp; <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.21.0</span>).</li> <li>Pager plugin (<a href="example-pager.html">basic</a> &amp; <a href="example-pager-ajax.html">ajax</a> demos; <span class="version updated">v2.21.3</span>).</li>
<li> <li>
Pager widget (<a href="example-widget-pager.html">basic</a> &amp; <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.21.0</span>).<br> Pager widget (<a href="example-widget-pager.html">basic</a> &amp; <a href="example-widget-pager-ajax.html">ajax</a> demos) (<span class="version">v2.12</span>; <span class="version updated">v2.21.3</span>).<br>
<br> <br>
</li> </li>
@ -521,7 +521,7 @@
<li><span class="results">&dagger;</span> <a href="example-widget-savesort.html">Save sort widget</a> (v2.0.27)</li> <li><span class="results">&dagger;</span> <a href="example-widget-savesort.html">Save sort widget</a> (v2.0.27)</li>
<li><a href="example-widget-scroller.html">Scroller widget</a> (<span class="version">v2.9</span>; <span class="version updated">v2.21.1</span>).</li> <li><a href="example-widget-scroller.html">Scroller widget</a> (<span class="version">v2.9</span>; <span class="version updated">v2.21.1</span>).</li>
<li><a href="example-widget-static-row.html">StaticRow widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li> <li><a href="example-widget-static-row.html">StaticRow widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.19.1</span>).</li>
<li><span class="results">&dagger;</span> <a href="example-widget-sticky-header.html">Sticky header widget</a> (v2.0.21.1; <span class="version updated">v2.21.0</span>)</li> <li><span class="results">&dagger;</span> <a href="example-widget-sticky-header.html">Sticky header widget</a> (v2.0.21.1; <span class="version updated">v2.21.3</span>)</li>
<li><a href="example-widget-css-sticky-header.html">Sticky header (css3) widget</a> (<span class="version">v2.14.2</span>; <span class="version updated">v2.19.1</span>).</li> <li><a href="example-widget-css-sticky-header.html">Sticky header (css3) widget</a> (<span class="version">v2.14.2</span>; <span class="version updated">v2.19.1</span>).</li>
<li><span class="results">&dagger;</span> UITheme widget (<span class="version updated">v2.17.4</span>; <span class="version updated">v2.19.0</span>): <li><span class="results">&dagger;</span> UITheme widget (<span class="version updated">v2.17.4</span>; <span class="version updated">v2.19.0</span>):
<ul> <ul>
@ -540,7 +540,7 @@
<li><a href="example-parsers-duration.html">Duration parser</a> (<span class="version">v2.17.8</span>).</li> <li><a href="example-parsers-duration.html">Duration parser</a> (<span class="version">v2.17.8</span>).</li>
<li><a href="example-parsers-file-type.html">File type parser</a> (<span class="version">v2.13</span>).</li> <li><a href="example-parsers-file-type.html">File type parser</a> (<span class="version">v2.13</span>).</li>
<li><a href="example-parsers-ignore-articles.html">Ignore leading articles parser</a> (Ignore &quot;A&quot;, &quot;An&quot; and &quot;The&quot; in titles) (<span class="version">v2.8</span>).</li> <li><a href="example-parsers-ignore-articles.html">Ignore leading articles parser</a> (Ignore &quot;A&quot;, &quot;An&quot; and &quot;The&quot; in titles) (<span class="version">v2.8</span>).</li>
<li><a href="example-widget-grouping.html">Input/select parsers</a> (used by Grouping rows widget) (<span class="version">v2.8</span>; <span class="version updated">v2.19.0</span>).</li> <li><a href="example-widget-grouping.html">Input/select parsers</a> (used by Grouping rows widget) (<span class="version">v2.8</span>; <span class="version updated">v2.21.3</span>).</li>
<li><a href="example-parsers-feet-inch-fraction.html">Feet-inch-fraction parser</a> (<span class="version">v2.8</span>).</li> <li><a href="example-parsers-feet-inch-fraction.html">Feet-inch-fraction parser</a> (<span class="version">v2.8</span>).</li>
<li><a href="example-parsers-metric.html">Metric parser</a> (<span class="version">v2.8</span>).</li> <li><a href="example-parsers-metric.html">Metric parser</a> (<span class="version">v2.8</span>).</li>
<li><a href="example-parsers-named-numbers.html">Named Numbers parser</a> (<span class="version">v2.18.0</span>).</li> <li><a href="example-parsers-named-numbers.html">Named Numbers parser</a> (<span class="version">v2.18.0</span>).</li>