diff --git a/Gruntfile.js b/Gruntfile.js
index c2324cf1..bb594104 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -280,7 +280,7 @@ module.exports = function( grunt ) {
output: {
comments: /^!/,
beautify: false,
- ie8: true
+ // ie8: true
},
report: 'gzip'
},
diff --git a/README.md b/README.md
index 96dba690..99adc268 100644
--- a/README.md
+++ b/README.md
@@ -102,6 +102,14 @@ If you would like to contribute, please...
View the [complete change log here](https://github.com/Mottie/tablesorter/wiki/Changes).
+#### Version 2.32.0 (2024-08-13)
+
+* Core:
+ * Remove ie8 support (Grunt limitation)
+ * Initialize headers as `null`
+* Grouping: Fix self-closing icon tags to support jQuery 3.5+
+* Parser-input-select: Don't use updateCell if cell has `parser-false` class
+
#### Version 2.31.3 (2020-03-03)
* Core:
@@ -128,14 +136,3 @@ View the [complete change log here](https://github.com/Mottie/tablesorter/wiki/C
* Various fixes.
* Updated trigger sort page. See [issue #1641](https://github.com/Mottie/tablesorter/issues/1641).
* Remove invalid widget option. See [issue #1581](https://github.com/Mottie/tablesorter/issues/1581).
-
-#### Version 2.31.1 (2018-11-20)
-
-* Core:
- * Store sortList on init. Fixes [issue #1585](https://github.com/Mottie/tablesorter/issues/1585).
-* Math:
- * Add math_textAttr. See [issue #1601](https://github.com/Mottie/tablesorter/issues/1601).
-* Readme:
- * Remove bower, gitter & add Slack.
-* Meta:
- * Update dependencies.
diff --git a/dist/css/filter.formatter.min.css b/dist/css/filter.formatter.min.css
index 42ab3755..9a10baf9 100644
--- a/dist/css/filter.formatter.min.css
+++ b/dist/css/filter.formatter.min.css
@@ -1 +1 @@
-.tablesorter .tablesorter-filter-row td{text-align:center;font-size:.9em;font-weight:400}.tablesorter .ui-slider,.tablesorter input.range{width:90%;margin:2px auto 2px auto;font-size:.8em}.tablesorter .ui-slider{top:12px}.tablesorter .ui-slider .ui-slider-handle{width:.9em;height:.9em}.tablesorter .ui-datepicker{font-size:.8em}.tablesorter .ui-slider-horizontal{height:.5em}.tablesorter .value-popup:after{content:attr(data-value);position:absolute;bottom:14px;left:-7px;min-width:18px;height:12px;background-color:#444;background-image:-webkit-gradient(linear,left top,left bottom,from(#444),to(#999));background-image:-webkit-linear-gradient(top,#444,#999);background-image:-moz-linear-gradient(top,#444,#999);background-image:-o-linear-gradient(top,#444,#999);background-image:linear-gradient(to bottom,#444,#999);-webkit-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 0 4px 0 #777;box-shadow:0 0 4px 0 #777;border:#444 1px solid;color:#fff;font:1em/1.1em Arial,Sans-Serif;padding:1px;text-align:center}.tablesorter .value-popup:before{content:"";position:absolute;width:0;height:0;border-top:8px solid #777;border-left:8px solid transparent;border-right:8px solid transparent;top:-8px;left:50%;margin-left:-8px;margin-top:-1px}.tablesorter .dateFrom,.tablesorter .dateTo{width:80px;margin:2px 5px}.tablesorter .button{width:14px;height:14px;background:#fcfff4;background:-webkit-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-moz-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-o-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-ms-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);margin:1px 5px 1px 1px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);position:relative;top:3px;display:inline-block}.tablesorter .button label{cursor:pointer;position:absolute;width:10px;height:10px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;left:2px;top:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,1);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,1);box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,1);background:#45484d;background:-webkit-linear-gradient(top,#222 0,#45484d 100%);background:-moz-linear-gradient(top,#222 0,#45484d 100%);background:-o-linear-gradient(top,#222 0,#45484d 100%);background:-ms-linear-gradient(top,#222 0,#45484d 100%);background:linear-gradient(top,#222 0,#45484d 100%)}.tablesorter .button label:after{opacity:0;content:'';position:absolute;width:8px;height:8px;background:#55f;background:-webkit-linear-gradient(top,#aaf 0,#55f 100%);background:-moz-linear-gradient(top,#aaf 0,#55f 100%);background:-o-linear-gradient(top,#aaf 0,#55f 100%);background:-ms-linear-gradient(top,#aaf 0,#55f 100%);background:linear-gradient(top,#aaf 0,#55f 100%);-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;top:1px;left:1px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5)}.tablesorter .button label:hover::after{opacity:.3}.tablesorter .button input[type=checkbox]{visibility:hidden}.tablesorter .button input[type=checkbox]:checked+label:after{opacity:1}.tablesorter .colorpicker{width:30px;height:18px}.tablesorter .ui-spinner-input{width:100px;height:18px}.tablesorter .currentColor,.tablesorter .ui-spinner{position:relative}.tablesorter input.number{position:relative}.tablesorter .tablesorter-filter-row.hideme td *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}
\ No newline at end of file
+.tablesorter .tablesorter-filter-row td{text-align:center;font-size:.9em;font-weight:400}.tablesorter .ui-slider,.tablesorter input.range{width:90%;margin:2px auto 2px auto;font-size:.8em}.tablesorter .ui-slider{top:12px}.tablesorter .ui-slider .ui-slider-handle{width:.9em;height:.9em}.tablesorter .ui-datepicker{font-size:.8em}.tablesorter .ui-slider-horizontal{height:.5em}.tablesorter .value-popup:after{content:attr(data-value);position:absolute;bottom:14px;left:-7px;min-width:18px;height:12px;background-color:#444;background-image:-webkit-gradient(linear,left top,left bottom,from(#444),to(#999));background-image:-webkit-linear-gradient(top,#444,#999);background-image:-moz-linear-gradient(top,#444,#999);background-image:-o-linear-gradient(top,#444,#999);background-image:linear-gradient(to bottom,#444,#999);-webkit-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 0 4px 0 #777;box-shadow:0 0 4px 0 #777;border:#444 1px solid;color:#fff;font:1em/1.1em Arial,Sans-Serif;padding:1px;text-align:center}.tablesorter .value-popup:before{content:"";position:absolute;width:0;height:0;border-top:8px solid #777;border-left:8px solid transparent;border-right:8px solid transparent;top:-8px;left:50%;margin-left:-8px;margin-top:-1px}.tablesorter .dateFrom,.tablesorter .dateTo{width:80px;margin:2px 5px}.tablesorter .button{width:14px;height:14px;background:#fcfff4;background:-webkit-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-moz-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-o-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-ms-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);margin:1px 5px 1px 1px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);position:relative;top:3px;display:inline-block}.tablesorter .button label{cursor:pointer;position:absolute;width:10px;height:10px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;left:2px;top:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;background:#45484d;background:-webkit-linear-gradient(top,#222 0,#45484d 100%);background:-moz-linear-gradient(top,#222 0,#45484d 100%);background:-o-linear-gradient(top,#222 0,#45484d 100%);background:-ms-linear-gradient(top,#222 0,#45484d 100%);background:linear-gradient(top,#222 0,#45484d 100%)}.tablesorter .button label:after{opacity:0;content:'';position:absolute;width:8px;height:8px;background:#55f;background:-webkit-linear-gradient(top,#aaf 0,#55f 100%);background:-moz-linear-gradient(top,#aaf 0,#55f 100%);background:-o-linear-gradient(top,#aaf 0,#55f 100%);background:-ms-linear-gradient(top,#aaf 0,#55f 100%);background:linear-gradient(top,#aaf 0,#55f 100%);-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;top:1px;left:1px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5)}.tablesorter .button label:hover::after{opacity:.3}.tablesorter .button input[type=checkbox]{visibility:hidden}.tablesorter .button input[type=checkbox]:checked+label:after{opacity:1}.tablesorter .colorpicker{width:30px;height:18px}.tablesorter .ui-spinner-input{width:100px;height:18px}.tablesorter .currentColor,.tablesorter .ui-spinner{position:relative}.tablesorter input.number{position:relative}.tablesorter .tablesorter-filter-row.hideme td *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}
\ No newline at end of file
diff --git a/dist/js/extras/jquery.dragtable.mod.min.js b/dist/js/extras/jquery.dragtable.mod.min.js
index c1123b5b..2d6a0fa5 100644
--- a/dist/js/extras/jquery.dragtable.mod.min.js
+++ b/dist/js/extras/jquery.dragtable.mod.min.js
@@ -1,6 +1,5 @@
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
-
/*! Dragtable Mod for TableSorter - updated 10/31/2015 (v2.24.0) */
-!function(w){"use strict";var p=w.tablesorter;p.dragtable={create:function(t){var a,e=t.originalTable.el,r=t.options.dragHandle.replace(".","");e.children("thead").children().children("th,td").each(function(){var e=w(this);e.find(t.options.dragHandle+",."+r+"-disabled").length||(a=!t.options.dragaccept||e.hasClass(t.options.dragaccept.replace(".","")),e.wrapInner('
').prepend(''))})},start:function(e){(e=w(e)[0])&&e.config&&(e.config.widgetOptions.dragtableLast={search:w(e).data("lastSearch"),order:p.dragtable.getOrder(e)})},update:function(e){var t,a,r,i=e.originalTable,n=i.el[0],o=w(n),l=n.config,s=l&&l.widgetOptions,d=i.startIndex-1,c=i.endIndex-1,h=p.dragtable.getOrder(n)||[],b=p.hasWidget(o,"filter")||!1,u=s&&s.dragtableLast||{},g=[];(u.order||[]).join("")!==h.join("")&&(l.sortList.length&&(a=w.extend(!0,[],l.sortList),w.each(h,function(e,t){r=p.isValueInArray(parseInt(t,10),a),t!==u.order[e]&&0<=r&&(l.sortList[r][0]=e)})),b&&w.each(u.search||[],function(e){g[e]=u.search[h[e]]}),(t=!!p.hasWidget(l.$table,"editable")&&s.editable_columnsArray)&&(l.widgetOptions.editable_columnsArray=p.dragtable.reindexArrayItem(t,d,c)),(t=!!p.hasWidget(l.$table,"math")&&s.math_ignore)&&(l.widgetOptions.math_ignore=p.dragtable.reindexArrayItem(t,d,c)),(t=!!p.hasWidget(l.$table,"resizable")&&s.resizable_widths)&&(s.resizable_widths=p.dragtable.moveArrayItem(t,d,c)),p.updateAll(l,!1,function(){b&&setTimeout(function(){l.lastCombinedFilter=null,l.$table.data("lastSearch",g),p.setFilters(o,g),w.isFunction(e.options.tablesorterComplete)&&e.options.tablesorterComplete(l.table)},10)}))},getOrder:function(e){return w(e).children("thead").children("."+p.css.headerRow).children().map(function(){return w(this).attr("data-column")}).get()||[]},startColumnMove:function(e){var t,a=e.el[0].config,r=e.startIndex-1,i=e.endIndex-1,n=a.columns-1,o=i!=n&&i<=r,l=a.$table.children().children("tr");a.debug&&console.log("Inserting column "+r+(o?" before":" after")+" column "+i),l.each(function(){(t=w(this).children()).eq(r)[o?"insertBefore":"insertAfter"](t.eq(i))}),(t=a.$table.children("colgroup").children()).eq(r)[o?"insertBefore":"insertAfter"](t.eq(i))},swapNodes:function(e,t){var a,r,i,n=e.length;for(a=0;a').prepend(''))})},start:function(e){(e=T(e)[0])&&e.config&&(e.config.widgetOptions.dragtableLast={search:T(e).data("lastSearch"),order:u.dragtable.getOrder(e)})},update:function(e){var a,i,t=e.originalTable,r=t.el[0],n=T(r),o=r.config,l=o&&o.widgetOptions,s=t.startIndex-1,t=t.endIndex-1,d=u.dragtable.getOrder(r)||[],c=u.hasWidget(n,"filter")||!1,h=l&&l.dragtableLast||{},b=[];(h.order||[]).join("")!==d.join("")&&(o.sortList.length&&(a=T.extend(!0,[],o.sortList),T.each(d,function(e,t){i=u.isValueInArray(parseInt(t,10),a),t!==h.order[e]&&0<=i&&(o.sortList[i][0]=e)})),c&&T.each(h.search||[],function(e){b[e]=h.search[d[e]]}),(r=!!u.hasWidget(o.$table,"editable")&&l.editable_columnsArray)&&(o.widgetOptions.editable_columnsArray=u.dragtable.reindexArrayItem(r,s,t)),(r=!!u.hasWidget(o.$table,"math")&&l.math_ignore)&&(o.widgetOptions.math_ignore=u.dragtable.reindexArrayItem(r,s,t)),(r=!!u.hasWidget(o.$table,"resizable")&&l.resizable_widths)&&(l.resizable_widths=u.dragtable.moveArrayItem(r,s,t)),u.updateAll(o,!1,function(){c&&setTimeout(function(){o.lastCombinedFilter=null,o.$table.data("lastSearch",b),u.setFilters(n,b),T.isFunction(e.options.tablesorterComplete)&&e.options.tablesorterComplete(o.table)},10)}))},getOrder:function(e){return T(e).children("thead").children("."+u.css.headerRow).children().map(function(){return T(this).attr("data-column")}).get()||[]},startColumnMove:function(e){var t,a=e.el[0].config,i=e.startIndex-1,r=e.endIndex-1,e=a.columns-1,n=r!=e&&r<=i,e=a.$table.children().children("tr");a.debug&&console.log("Inserting column "+i+(n?" before":" after")+" column "+r),e.each(function(){(t=T(this).children()).eq(i)[n?"insertBefore":"insertAfter"](t.eq(r))}),(t=a.$table.children("colgroup").children()).eq(i)[n?"insertBefore":"insertAfter"](t.eq(r))},swapNodes:function(e,t){for(var a,i,r=e.length,n=0;n',f=[],m=c.eq(0).children("th, td").length;for(i=0;i"+(u?'':"")+"",c.each(function(e){f[i]+=""+v[e].outerHTML+"
"}),f[i]+="",v=h.children(":nth-child("+(i+1)+")"),1"+this.outerHTML+""}),f[i]+="",t.options.excludeFooter||(f[i]+=""+d.filter("tfoot").children("tr:visible").children()[i].outerHTML+"
"),f[i]+="
")}p+=f.join("")+"",this.sortableTable.el=this.originalTable.el.before(p).prev(),this.sortableTable.el.find("> li > table").each(function(e){w(this).css("width",l[e]+"px")}),this.sortableTable.selectedHandle=this.sortableTable.el.find("th .dragtable-handle-selected");var T,y=this.options.dragaccept?"li:has("+this.options.dragaccept+")":"li";this.sortableTable.el.sortable({items:y,stop:this._rearrangeTable(),revert:this.options.revert,tolerance:this.options.tolerance,containment:this.options.containment,cursor:this.options.cursor,cursorAt:this.options.cursorAt,distance:this.options.distance,axis:this.options.axis}),this.originalTable.startIndex=w(e.target).closest("th,td").prevAll().length+1,this.options.beforeMoving(this.originalTable,this.sortableTable),this.sortableTable.movingRow=this.sortableTable.el.children("li:nth-child("+this.originalTable.startIndex+")"),T=w(''),w(document.head).append(T),w(document.body).attr("onselectstart","return false;").attr("unselectable","on"),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty(),this.sortableTable.movingRow.trigger(w.extend(w.Event(e.type),{which:1,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY}));var x=this.sortableTable.el.find(".ui-sortable-placeholder");0')},bindTo:{},_create:function(){var t=this;t.originalTable={el:t.element,selectedHandle:w(),sortOrder:{},startIndex:0,endIndex:0},p.dragtable.create(t),t.bindTo="> thead > tr > "+(t.options.dragaccept||"th, td"),t.element.find(t.bindTo).find(t.options.dragHandle).length&&(t.bindTo+=" "+t.options.dragHandle),w.isFunction(t.options.restoreState)?t.options.restoreState(t.originalTable):t._restoreState(t.options.restoreState),t.originalTable.el.on("mousedown.dragtable",t.bindTo,function(e){1===e.which&&(p.dragtable.start(t.originalTable.el),!1!==t.options.beforeStart(t.originalTable)&&(clearTimeout(t.downTimer),t.downTimer=setTimeout(function(){t.originalTable.selectedHandle=w(t),t.originalTable.selectedHandle.addClass("dragtable-handle-selected"),t._generateSortable(e)},t.options.clickDelay)))}).on("mouseup.dragtable",t.options.dragHandle,function(){clearTimeout(t.downTimer)})},redraw:function(){this.destroy(),this._create()},destroy:function(){this.originalTable.el.off("mousedown.dragtable mouseup.dragtable",this.bindTo),w.Widget.prototype.destroy.apply(this,arguments)}});var t=w(document.body).attr("onselectstart"),a=w(document.body).attr("unselectable")}(jQuery);return jQuery;}));
+T.widget("akottr.dragtable",{options:{revert:!1,dragHandle:".table-handle",maxMovingRows:40,excludeFooter:!1,onlyHeaderThreshold:100,dragaccept:null,persistState:null,restoreState:null,exact:!0,clickDelay:10,containment:null,cursor:"move",cursorAt:!1,distance:0,tolerance:"pointer",axis:"x",beforeStart:T.noop,beforeMoving:T.noop,beforeReorganize:T.noop,beforeStop:T.noop,tablesorterComplete:null,sortClass:".sorter"},originalTable:{el:null,selectedHandle:null,sortOrder:null,startIndex:0,endIndex:0},sortableTable:{el:T(),selectedHandle:T(),movingRow:T()},persistState:function(){var t=this;this.originalTable.el.find("th").each(function(e){""!==this.id&&(t.originalTable.sortOrder[this.id]=e)}),T.ajax({url:this.options.persistState,data:this.originalTable.sortOrder})},_restoreState:function(e){for(var t in e)t in e&&(this.originalTable.startIndex=T("#"+t).closest("th").prevAll().length+1,this.originalTable.endIndex=parseInt(e[t],10)+1,this._bubbleCols())},_bubbleCols:function(){u.dragtable.startColumnMove(this.originalTable)},_rearrangeTableBackroundProcessing:function(){var e=this;return function(){e._bubbleCols(),e.options.beforeStop(e.originalTable),e.sortableTable.el.remove(),T("#__dragtable_disable_text_selection__").remove(),t?T(document.body).attr("onselectstart",t):T(document.body).removeAttr("onselectstart"),a?T(document.body).attr("unselectable",a):T(document.body).removeAttr("unselectable"),u.dragtable.update(e),T.isFunction(e.options.persistState)?e.options.persistState(e.originalTable):e.persistState()}},_rearrangeTable:function(){var e=this;return function(){e.originalTable.selectedHandle.removeClass("dragtable-handle-selected"),e.sortableTable.el.sortable("disable"),e.sortableTable.el.addClass("dragtable-disabled"),e.options.beforeReorganize(e.originalTable,e.sortableTable),e.originalTable.endIndex=e.sortableTable.movingRow.prevAll().length+1,setTimeout(e._rearrangeTableBackroundProcessing(),50)}},_generateSortable:function(e){e.cancelBubble?e.cancelBubble=!0:e.stopPropagation();for(var t=this,a=this.originalTable.el[0].attributes,i="",r=0;r'),p=[],f=h.eq(0).children("th, td").length,r=0;r"+(u?'':"")+"",h.each(function(e){p[r]+=""+m[e].outerHTML+"
"}),p[r]+="",m=b.children(":nth-child("+(r+1)+")"),(m=1"+this.outerHTML+""}),p[r]+="",t.options.excludeFooter||(p[r]+=""+c.filter("tfoot").children("tr:visible").children()[r].outerHTML+"
"),p[r]+="
")}g+=p.join("")+"",this.sortableTable.el=this.originalTable.el.before(g).prev(),this.sortableTable.el.find("> li > table").each(function(e){T(this).css("width",s[e]+"px")}),this.sortableTable.selectedHandle=this.sortableTable.el.find("th .dragtable-handle-selected");var g=this.options.dragaccept?"li:has("+this.options.dragaccept+")":"li",e=(this.sortableTable.el.sortable({items:g,stop:this._rearrangeTable(),revert:this.options.revert,tolerance:this.options.tolerance,containment:this.options.containment,cursor:this.options.cursor,cursorAt:this.options.cursorAt,distance:this.options.distance,axis:this.options.axis}),this.originalTable.startIndex=T(e.target).closest("th,td").prevAll().length+1,this.options.beforeMoving(this.originalTable,this.sortableTable),this.sortableTable.movingRow=this.sortableTable.el.children("li:nth-child("+this.originalTable.startIndex+")"),g=T(''),T(document.head).append(g),T(document.body).attr("onselectstart","return false;").attr("unselectable","on"),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty(),this.sortableTable.movingRow.trigger(T.extend(T.Event(e.type),{which:1,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,screenX:e.screenX,screenY:e.screenY})),this.sortableTable.el.find(".ui-sortable-placeholder"));0')},bindTo:{},_create:function(){var t=this;t.originalTable={el:t.element,selectedHandle:T(),sortOrder:{},startIndex:0,endIndex:0},u.dragtable.create(t),t.bindTo="> thead > tr > "+(t.options.dragaccept||"th, td"),t.element.find(t.bindTo).find(t.options.dragHandle).length&&(t.bindTo+=" "+t.options.dragHandle),T.isFunction(t.options.restoreState)?t.options.restoreState(t.originalTable):t._restoreState(t.options.restoreState),t.originalTable.el.on("mousedown.dragtable",t.bindTo,function(e){1===e.which&&(u.dragtable.start(t.originalTable.el),!1!==t.options.beforeStart(t.originalTable))&&(clearTimeout(t.downTimer),t.downTimer=setTimeout(function(){t.originalTable.selectedHandle=T(t),t.originalTable.selectedHandle.addClass("dragtable-handle-selected"),t._generateSortable(e)},t.options.clickDelay))}).on("mouseup.dragtable",t.options.dragHandle,function(){clearTimeout(t.downTimer)})},redraw:function(){this.destroy(),this._create()},destroy:function(){this.originalTable.el.off("mousedown.dragtable mouseup.dragtable",this.bindTo),T.Widget.prototype.destroy.apply(this,arguments)}}),T(document.body).attr("onselectstart")),a=T(document.body).attr("unselectable")}(jQuery);return jQuery;}));
diff --git a/dist/js/extras/jquery.metadata.min.js b/dist/js/extras/jquery.metadata.min.js
index 915820e6..09455cbb 100644
--- a/dist/js/extras/jquery.metadata.min.js
+++ b/dist/js/extras/jquery.metadata.min.js
@@ -1,3 +1,2 @@
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
-
-!function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/(\{.*\})/,single:"metadata"},setType:function(t,e){this.defaults.type=t,this.defaults.name=e},get:function(elem,opts){var data,m,e,attr,settings=$.extend({},this.defaults,opts);if(settings.single.length||(settings.single="metadata"),data=$.data(elem,settings.single),data)return data;if(data="{}","class"===settings.type)m=settings.cre.exec(elem.className),m&&(data=m[1]);else if("elem"===settings.type){if(!elem.getElementsByTagName)return;e=elem.getElementsByTagName(settings.name),e.length&&(data=$.trim(e[0].innerHTML))}else void 0!==elem.getAttribute&&(attr=elem.getAttribute(settings.name),attr&&(data=attr));return data.indexOf("{")<0&&(data="{"+data+"}"),data=eval("("+data+")"),$.data(elem,settings.single,data),data}}}),$.fn.metadata=function(t){return $.metadata.get(this[0],t)}}(jQuery);return jQuery;}));
+!function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/(\{.*\})/,single:"metadata"},setType:function(t,e){this.defaults.type=t,this.defaults.name=e},get:function(elem,opts){var data,m,e,attr,settings=$.extend({},this.defaults,opts);if(settings.single.length||(settings.single="metadata"),data=$.data(elem,settings.single),!data){if(data="{}","class"===settings.type)m=settings.cre.exec(elem.className),m&&(data=m[1]);else if("elem"===settings.type){if(!elem.getElementsByTagName)return;e=elem.getElementsByTagName(settings.name),e.length&&(data=$.trim(e[0].innerHTML))}else void 0!==elem.getAttribute&&(attr=elem.getAttribute(settings.name),attr)&&(data=attr);data.indexOf("{")<0&&(data="{"+data+"}"),data=eval("("+data+")"),$.data(elem,settings.single,data)}return data}}}),$.fn.metadata=function(t){return $.metadata.get(this[0],t)}}(jQuery);return jQuery;}));
diff --git a/dist/js/extras/jquery.tablesorter.pager.min.js b/dist/js/extras/jquery.tablesorter.pager.min.js
index 659cd969..b7334541 100644
--- a/dist/js/extras/jquery.tablesorter.pager.min.js
+++ b/dist/js/extras/jquery.tablesorter.pager.min.js
@@ -1,7 +1,6 @@
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
-
/*!
* tablesorter (FORK) pager plugin
* updated 2020-03-03 (v2.31.3)
*/
-!function(M){"use strict";var T=M.tablesorter;M.extend({tablesorterPager:new function(){this.defaults={container:null,ajaxUrl:null,customAjaxUrl:function(e,t){return t},ajaxError:null,ajaxObject:{dataType:"json"},processAjaxOnInit:!0,ajaxProcessing:function(e){return e},output:"{startRow} to {endRow} of {totalRows} rows",updateArrows:!0,page:0,pageReset:0,size:10,maxOptionSize:20,savePages:!0,storageKey:"tablesorter-pager",fixedHeight:!1,countChildRows:!1,removeRows:!1,cssFirst:".first",cssPrev:".prev",cssNext:".next",cssLast:".last",cssGoto:".gotoPage",cssPageDisplay:".pagedisplay",cssPageSize:".pagesize",cssErrorRow:"tablesorter-errorRow",cssDisabled:"disabled",totalRows:0,totalPages:0,filteredRows:0,filteredPages:0,ajaxCounter:0,currentFilters:[],startRow:0,endRow:0,$size:null,last:{}};function u(e,t,a){var i,s="addClass",r="removeClass",o=t.cssDisabled,n=!!a,l=n||0===t.page,g=O(e,t),c=n||t.page===g-1||0===g;t.updateArrows&&((i=t.$container.find(t.cssFirst+","+t.cssPrev))[l?s:r](o),i.each(function(){this.ariaDisabled=l}),(i=t.$container.find(t.cssNext+","+t.cssLast))[c?s:r](o),i.each(function(){this.ariaDisabled=c}))}function h(e,t){var a,i,s,r=e.config,o=r.$table.hasClass("hasFilters");if(o&&!t.ajax)if(T.isEmptyObject(r.cache))t.filteredRows=t.totalRows=r.$tbodies.eq(0).children("tr").not(t.countChildRows?"":"."+r.cssChildRow).length;else for(t.filteredRows=0,s=(a=r.cache[0].normalized).length,i=0;in.filteredRows&&t,n.page=i?n.pageReset||0:n.page,n.startRow=i?f*n.page+1:0===n.filteredRows?0:f*n.page+1,n.endRow=Math.min(n.filteredRows,n.totalRows,f*(n.page+1)),s=n.$container.find(n.cssPageDisplay),a="function"==typeof n.output?n.output(e,n):(c=s.attr("data-pager-output"+(n.filteredRows'):1'+g[o]+"";r.html(i).val(n.page+1)}s.length&&(s["INPUT"===s[0].nodeName?"val":"html"](a),s.find(".ts-startRow, .ts-page").unbind("change"+p).bind("change"+p,function(){var e=M(this).val(),t=M(this).hasClass("ts-startRow")?Math.floor(e/f)+1:e;d.$table.triggerHandler("pageSet"+p,[t])}))}u(e,n),N(e,n),n.initialized&&!1!==t&&(T.debug(d,"pager")&&console.log("Pager >> Triggering pagerComplete"),d.$table.triggerHandler("pagerComplete",n),n.savePages&&T.storage&&T.storage(e,n.storageKey,{page:n.page,size:f===n.totalRows?"all":f}))}}function f(e,t){var a,i=e.config,s=i.$tbodies.eq(0);s.find("tr.pagerSavedHeightSpacer").remove(),s.children("tr:visible").length||s.append(''),a=s.children("tr").eq(0).height()*("all"===t.size?t.totalRows:t.size),M.data(e,"pagerSavedHeight",a),N(e,t),M.data(e,"pagerLastSize",t.size)}function w(e,t){if(!t.ajaxUrl){var a,i=0,s=e.config,r=s.$tbodies.eq(0).children("tr"),o=r.length,n="all"===t.size?t.totalRows:t.size,l=t.page*n,g=l+n,c=-1,d=0;for(t.cacheIndex=[],a=0;a> Ajax Error",i,s,r),T.showError(t,i,s,r),j.$tbodies.eq(0).children("tr").detach(),a.totalRows=0;else{if(M.isArray(m)?(R=m[(l=isNaN(m[0])&&!isNaN(m[1]))?1:0],a.totalRows=isNaN(R)?a.totalRows||0:R,j.totalRows=j.filteredRows=a.filteredRows=a.totalRows,w=0===a.totalRows?[]:m[l?0:1]||[],h=m[2]):(a.ajaxData=m,j.totalRows=a.totalRows=m.total,j.filteredRows=a.filteredRows=void 0!==m.filteredRows?m.filteredRows:m.total,h=m.headers,w=m.rows||[]),b=w&&w.length,w instanceof M)a.processAjaxOnInit&&(j.$tbodies.eq(0).empty(),j.$tbodies.eq(0).append(w));else if(b){for(o=0;o",n=0;n"+w[o][n]+"";v+=""}a.processAjaxOnInit&&j.$tbodies.eq(0).html(v)}if(a.processAjaxOnInit=!0,h)for(d=(g=P.hasClass("hasStickyHeaders"))?j.widgetOptions.$sticky.children("thead:first").children("tr:not(."+j.cssIgnoreRow+")").children():"",c=P.find("tfoot tr:first").children(),z=(p=j.$headers.filter("th ")).length,n=0;n> Triggering pagerChange"),P.triggerHandler("pagerChange",a),T.applyWidget(t),y(t,a,!0)},0)})}a.initialized||U(t,a)}function z(e,t,a){var i,s,r,o,n=M(e),l=e.config,g=T.debug(l,"pager"),c=l.$table.hasClass("hasFilters"),d=t&&t.length||0,p="all"===a.size?a.totalRows:a.size,f=a.page*p;if(d<1)g&&console.warn("Pager >> No rows for pager to render");else{if(a.page>=a.totalPages&&q(e,a),a.cacheIndex=[],a.isDisabled=!1,a.initialized&&(g&&console.log("Pager >> Triggering pagerChange"),n.triggerHandler("pagerChange",a)),a.removeRows){for(T.clearTableBody(e),i=T.processTbody(e,l.$tbodies.eq(0),!0),r=s=c?0:f,o=0;o> Triggering updateComplete"),n.triggerHandler("updateComplete",[e,!0]))}}function x(e,t){var a,i,s;for(t.ajax?u(e,t,!0):(M.data(e,"pagerLastPage",t.page),M.data(e,"pagerLastSize",t.size),t.page=0,t.size=t.totalRows,t.totalPages=1,M(e).addClass("pagerDisabled").removeAttr("aria-describedby").find("tr.pagerSavedHeightSpacer").remove(),z(e,e.config.rowsCopy,t),t.isDisabled=!0,T.applyWidget(e),T.debug(e.config,"pager")&&console.log("Pager >> Disabled")),s=(i=t.$container.find(t.cssGoto+","+t.cssPageSize+", .ts-startRow, .ts-page")).length,a=0;a=a&&(t.page=a),F(e,t)}function m(e,t){t.page--,t.page<=0&&(t.page=0),F(e,t)}function C(e,t,a){var i,s,r,o=e.config;t.$container.find(t.cssGoto+","+t.cssPageSize+",.ts-startRow, .ts-page").removeClass(t.cssDisabled).removeAttr("disabled").each(function(){this.ariaDisabled=!1}),t.isDisabled=!1,t.page=M.data(e,"pagerLastPage")||t.page||0,s=(r=t.$container.find(t.cssPageSize)).find("option[selected]").val(),t.size=M.data(e,"pagerLastSize")||L(t,s,"get"),t.totalPages="all"===t.size?1:Math.ceil(O(e,t)/t.size),D(e,t.size,t),e.id&&!o.$table.attr("aria-describedby")&&((i=(r=t.$container.find(t.cssPageDisplay)).attr("id"))||(i=e.id+"_pager_info",r.attr("id",i)),o.$table.attr("aria-describedby",i)),f(e,t),a&&(T.update(o),D(e,t.size,t),F(e,t),b(e,t),T.debug(o,"pager")&&console.log("Pager >> Enabled"))}var S="filterInit filterStart filterEnd sortEnd disablePager enablePager destroyPager updateComplete pageSize pageSet pageAndSize pagerUpdate refreshComplete ",$=this,I=function(e,t){var a,i,s,r,o,n,l=O(e,t)||1,g=5*Math.ceil(l/t.maxOptionSize/5),c=l>t.maxOptionSize,d=t.page+1,p=g,f=l-g,u=[1];for(a=c?g:1;a<=l;)u[u.length]=a,a+=c?g:1;if(u[u.length]=l,c){for(s=[],(p=d-(i=Math.max(Math.floor(t.maxOptionSize/g)-1,5)))<1&&(p=1),l<(f=d+i)&&(f=l),a=p;a<=f;a++)s[s.length]=a;g/2<(o=(u=M.grep(u,function(e,t){return M.inArray(e,u)===t})).length)-(n=s.length)&&o+n>t.maxOptionSize&&(r=Math.floor(o/2)-Math.floor(n/2),Array.prototype.splice.apply(u,[r,n])),u=u.concat(s)}return u=M.grep(u,function(e,t){return M.inArray(e,u)===t}).sort(function(e,t){return e-t})},N=function(e,t){var a,i,s,r=e.config,o=r.$tbodies.eq(0);o.find("tr.pagerSavedHeightSpacer").remove(),t.fixedHeight&&!t.isDisabled&&(i=M.data(e,"pagerSavedHeight"))&&(s=0,1