',s.prfxHelpSpan="helpSpan_",s.prfxHelpDiv="helpDiv_",s.emitter.on(["init-help"],function(){return s.init()}),s}return o(e,t),e.prototype.init=function(){var t=this;if(!this.initialized){var e=this.tf,i=h["default"].create("span",["id",this.prfxHelpSpan+e.id]),s=h["default"].create("div",["id",this.prfxHelpDiv+e.id]);this.tgtId||e.setToolbar();var n=this.tgtId?h["default"].id(this.tgtId):e.rDiv;n.appendChild(i);var r=this.contTgtId?h["default"].id(this.contTgtId):i;if(this.btnHtml){i.innerHTML=this.btnHtml;var o=i.firstChild;f["default"].add(o,"click",function(){t.toggle()}),r.appendChild(s)}else{r.appendChild(s);var l=h["default"].create("a",["href","javascript:void(0);"]);l.className=this.btnCssClass,l.appendChild(h["default"].text(this.btnText)),i.appendChild(l),f["default"].add(l,"click",function(){t.toggle()})}this.instrHtml?(this.contTgtId&&r.appendChild(s),s.innerHTML=this.instrHtml,this.contTgtId||(s.className=this.contCssClass,f["default"].add(s,"dblclick",function(){t.toggle()}))):(s.innerHTML=this.instrText,s.className=this.contCssClass,f["default"].add(s,"dblclick",function(){t.toggle()})),s.innerHTML+=this.defaultHtml,f["default"].add(s,"click",function(){t.toggle()}),this.cont=s,this.btn=i,this.initialized=!0}},e.prototype.toggle=function(){if(this.enabled!==!1){var t=this.cont.style.display;""===t||t===d.NONE?this.cont.style.display="inline":this.cont.style.display=d.NONE}},e.prototype.destroy=function(){this.initialized&&(h["default"].remove(this.btn),this.btn=null,this.cont&&(h["default"].remove(this.cont),this.cont=null,this.initialized=!1))},e}(l.Feature)},function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0}),e.AlternateRows=void 0;var l=i(10),a=i(3),h=s(a);e.AlternateRows=function(t){function e(i){n(this,e);var s=r(this,t.call(this,i,"alternateRows")),o=s.config;return s.evenCss=o.even_row_css_class||"even",s.oddCss=o.odd_row_css_class||"odd",s}return o(e,t),e.prototype.init=function(){var t=this;this.initialized||(this.processAll(),this.emitter.on(["row-processed","row-paged"],function(e,i,s,n){return t.processRow(i,s,n)}),this.emitter.on(["column-sorted"],function(){return t.processAll()}),this.initialized=!0)},e.prototype.processAll=function(){if(this.isEnabled())for(var t=this.tf,e=t.getValidRows(!0),i=0===e.length,s=i?t.refRow:0,n=i?t.nbFilterableRows+s:e.length,r=0,o=s;n>o;o++){var l=i?o:e[o];this.setRowBg(l,r),r++}},e.prototype.processRow=function(t,e,i){i?this.setRowBg(t,e):this.removeRowBg(t)},e.prototype.setRowBg=function(t,e){if(this.isEnabled()&&!isNaN(t)){var i=this.tf.tbl.rows,s=isNaN(e)?t:e;this.removeRowBg(t),h["default"].addClass(i[t],s%2?this.evenCss:this.oddCss)}},e.prototype.removeRowBg=function(t){if(!isNaN(t)){var e=this.tf.tbl.rows;h["default"].removeClass(e[t],this.oddCss),h["default"].removeClass(e[t],this.evenCss)}},e.prototype.destroy=function(){var t=this;if(this.initialized){for(var e=this.tf.getRowsNb(!0),i=0;e>i;i++)this.removeRowBg(i);this.emitter.off(["row-processed","row-paged"],function(e,i,s,n){return t.processRow(i,s,n)}),this.emitter.off(["column-sorted"],function(){return t.processAll()}),this.initialized=!1}},e}(l.Feature)},function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0}),e.NoResults=void 0;var l=i(10),a=i(3),h=s(a),u=i(4),f=i(11);e.NoResults=function(t){function e(i){n(this,e);var s=r(this,t.call(this,i,"noResults")),o=s.config.no_results_message;return s.content=o.content||"No results",s.customContainer=o.custom_container||null,s.customContainerId=o.custom_container_id||null,s.isExternal=!(0,u.isEmpty)(s.customContainer)||!(0,u.isEmpty)(s.customContainerId),s.cssClass=o.css_class||"no-results",s.cont=null,s.onBeforeShowMsg=(0,u.isFn)(o.on_before_show_msg)?o.on_before_show_msg:null,s.onAfterShowMsg=(0,u.isFn)(o.on_after_show_msg)?o.on_after_show_msg:null,s.onBeforeHideMsg=(0,u.isFn)(o.on_before_hide_msg)?o.on_before_hide_msg:null,s.onAfterHideMsg=(0,u.isFn)(o.on_after_hide_msg)?o.on_after_hide_msg:null,s.prfxNoResults="nores_",s}return o(e,t),e.prototype.init=function(){var t=this;if(!this.initialized){var e=this.tf,i=this.customContainer||h["default"].id(this.customContainerId)||e.tbl,s=h["default"].create("div",["id",this.prfxNoResults+e.id]);s.className=this.cssClass,s.innerHTML=this.content,this.isExternal?i.appendChild(s):i.parentNode.insertBefore(s,i.nextSibling),this.cont=s,this.emitter.on(["after-filtering"],function(){return t.toggle()}),this.initialized=!0,this.hide()}},e.prototype.toggle=function(){this.tf.nbVisibleRows>0?this.hide():this.show()},e.prototype.show=function(){this.initialized&&this.isEnabled()&&(this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this.tf,this),this.setWidth(),this.cont.style.display="block",this.onAfterShowMsg&&this.onAfterShowMsg.call(null,this.tf,this))},e.prototype.hide=function(){this.initialized&&this.isEnabled()&&(this.onBeforeHideMsg&&this.onBeforeHideMsg.call(null,this.tf,this),this.cont.style.display=f.NONE,this.onBeforeHideMsg&&this.onBeforeHideMsg.call(null,this.tf,this))},e.prototype.setWidth=function(){if(this.initialized&&!this.isExternal&&this.isEnabled())if(this.tf.gridLayout){var t=this.tf.feature("gridLayout");this.cont.style.width=t.tblCont.clientWidth+"px"}else this.cont.style.width=this.tf.tbl.clientWidth+"px"},e.prototype.destroy=function(){var t=this;this.initialized&&(h["default"].remove(this.cont),this.cont=null,this.emitter.off(["after-filtering"],function(){return t.toggle()}),this.initialized=!1)},e}(l.Feature)},function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0}),e.State=void 0;var l=i(10),a=i(27),h=i(28),u=i(5),f=s(u),d=i(4);e.State=function(t){function e(i){n(this,e);var s=r(this,t.call(this,i,"state")),o=s.config.state;return s.enableHash=o===!0||(0,d.isArray)(o.types)&&-1!==o.types.indexOf("hash"),s.enableLocalStorage=(0,d.isArray)(o.types)&&-1!==o.types.indexOf("local_storage"),s.enableCookie=(0,d.isArray)(o.types)&&-1!==o.types.indexOf("cookie"),s.persistFilters=o.filters!==!1,s.persistPageNumber=Boolean(o.page_number),s.persistPageLength=Boolean(o.page_length),s.persistSort=Boolean(o.sort),s.persistColsVisibility=Boolean(o.columns_visibility),s.persistFiltersVisibility=Boolean(o.filters_visibility),s.cookieDuration=isNaN(o.cookie_duration)?87600:parseInt(o.cookie_duration,10),s.enableStorage=s.enableLocalStorage||s.enableCookie,s.hash=null,s.pageNb=null,s.pageLength=null,s.sort=null,s.hiddenCols=null,s.filtersVisibility=null,s.state={},s.prfxCol="col_",s.pageNbKey="page",s.pageLengthKey="page_length",s.filtersVisKey="filters_visibility",s}return o(e,t),e.prototype.init=function(){var t=this;this.initialized||(this.emitter.on(["after-filtering"],function(){return t.update()}),this.emitter.on(["after-page-change","after-clearing-filters"],function(e,i){return t.updatePage(i)}),this.emitter.on(["after-page-length-change"],function(e,i){return t.updatePageLength(i)}),this.emitter.on(["column-sorted"],function(e,i,s){return t.updateSort(i,s)}),this.emitter.on(["sort-initialized"],function(){return t._syncSort()}),this.emitter.on(["columns-visibility-initialized"],function(){return t._syncColsVisibility()}),this.emitter.on(["column-shown","column-hidden"],function(e,i,s,n){return t.updateColsVisibility(n)}),this.emitter.on(["filters-visibility-initialized"],function(){return t._syncFiltersVisibility()}),this.emitter.on(["filters-toggled"],function(e,i,s){return t.updateFiltersVisibility(s)}),this.enableHash&&(this.hash=new a.Hash(this),this.hash.init()),this.enableStorage&&(this.storage=new h.Storage(this),this.storage.init()),this.initialized=!0)},e.prototype.update=function(){var t=this;if(this.isEnabled()){var e=this.state,i=this.tf;if(this.persistFilters){var s=i.getFiltersValue();s.forEach(function(i,s){var n=""+t.prfxCol+s;(0,d.isString)(i)&&f["default"].isEmpty(i)?e.hasOwnProperty(n)&&(e[n].flt=void 0):(e[n]=e[n]||{},e[n].flt=i)})}if(this.persistPageNumber&&((0,d.isNull)(this.pageNb)?e[this.pageNbKey]=void 0:e[this.pageNbKey]=this.pageNb),this.persistPageLength&&((0,d.isNull)(this.pageLength)?e[this.pageLengthKey]=void 0:e[this.pageLengthKey]=this.pageLength),this.persistSort&&!(0,d.isNull)(this.sort)){Object.keys(e).forEach(function(i){-1!==i.indexOf(t.prfxCol)&&e[i]&&(e[i].sort=void 0)});var n=""+this.prfxCol+this.sort.column;e[n]=e[n]||{},e[n].sort={descending:this.sort.descending}}this.persistColsVisibility&&((0,d.isNull)(this.hiddenCols)||(Object.keys(e).forEach(function(i){-1!==i.indexOf(t.prfxCol)&&e[i]&&(e[i].hidden=void 0)}),this.hiddenCols.forEach(function(i){var s=""+t.prfxCol+i;e[s]=e[s]||{},e[s].hidden=!0}))),this.persistFiltersVisibility&&((0,d.isNull)(this.filtersVisibility)?e[this.filtersVisKey]=void 0:e[this.filtersVisKey]=this.filtersVisibility),this.emitter.emit("state-changed",i,e)}},e.prototype.updatePage=function(t){this.pageNb=t,this.update()},e.prototype.updatePageLength=function(t){this.pageLength=t,this.update()},e.prototype.updateSort=function(t,e){this.sort={column:t,descending:e},this.update()},e.prototype.updateColsVisibility=function(t){this.hiddenCols=t,this.update()},e.prototype.updateFiltersVisibility=function(t){this.filtersVisibility=t,this.update()},e.prototype.override=function(t){this.state=t},e.prototype.sync=function(){var t=this.state,e=this.tf;if(this._syncFilters(),this.persistPageNumber){var i=t[this.pageNbKey];this.emitter.emit("change-page",e,i)}if(this.persistPageLength){var s=t[this.pageLengthKey];this.emitter.emit("change-page-results",e,s)}this._syncSort(),this._syncColsVisibility(),this._syncFiltersVisibility()},e.prototype.overrideAndSync=function(t){this.disable(),this.override(t),this.sync(),this.enable()},e.prototype._syncFilters=function(){var t=this;if(this.persistFilters){var e=this.state,i=this.tf;Object.keys(e).forEach(function(s){if(-1!==s.indexOf(t.prfxCol)){var n=parseInt(s.replace(t.prfxCol,""),10),r=e[s].flt;i.setFilterValue(n,r)}}),i.filter()}},e.prototype._syncSort=function(){var t=this;if(this.persistSort){var e=this.state,i=this.tf;Object.keys(e).forEach(function(s){if(-1!==s.indexOf(t.prfxCol)){var n=parseInt(s.replace(t.prfxCol,""),10);if(!(0,d.isUndef)(e[s].sort)){var r=e[s].sort;t.emitter.emit("sort",i,n,r.descending)}}})}},e.prototype._syncColsVisibility=function(){var t=this;if(this.persistColsVisibility){var e=this.state,i=this.tf,s=[];Object.keys(e).forEach(function(i){if(-1!==i.indexOf(t.prfxCol)){var n=parseInt(i.replace(t.prfxCol,""),10);(0,d.isUndef)(e[i].hidden)||s.push(n)}}),s.forEach(function(e){t.emitter.emit("hide-column",i,e)})}},e.prototype._syncFiltersVisibility=function(){if(this.persistFiltersVisibility){var t=this.state,e=this.tf,i=t[this.filtersVisKey];this.filtersVisibility=i,this.emitter.emit("show-filters",e,i)}},e.prototype.destroy=function(){var t=this;this.initialized&&(this.state={},this.emitter.off(["after-filtering"],function(){return t.update()}),this.emitter.off(["after-page-change","after-clearing-filters"],function(e,i){return t.updatePage(i)}),this.emitter.off(["after-page-length-change"],function(e,i){return t.updatePageLength(i)}),this.emitter.off(["column-sorted"],function(e,i,s){return t.updateSort(i,s)}),this.emitter.off(["sort-initialized"],function(){return t._syncSort()}),this.emitter.off(["columns-visibility-initialized"],function(){return t._syncColsVisibility()}),this.emitter.off(["column-shown","column-hidden"],function(e,i,s,n){return t.updateColsVisibility(n)}),this.emitter.off(["filters-visibility-initialized"],function(){return t._syncFiltersVisibility()}),this.emitter.off(["filters-toggled"],function(e,i,s){return t.updateFiltersVisibility(s)}),this.enableHash&&(this.hash.destroy(),this.hash=null),this.enableStorage&&(this.storage.destroy(),this.storage=null),this.initialized=!1)},e}(l.Feature)},function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.hasHashChange=void 0;var r=i(1),o=s(r),l=i(2),a=l.root.JSON,h=l.root.location,u=l.root.decodeURIComponent,f=e.hasHashChange=function(){var t=l.root.documentMode;return"onhashchange"in l.root&&(void 0===t||t>7)};e.Hash=function(){function t(e){n(this,t),this.state=e,this.lastHash=null,this.emitter=e.emitter}return t.prototype.init=function(){var t=this;f()&&(this.lastHash=h.hash,this.emitter.on(["state-changed"],function(e,i){return t.update(i)}),this.emitter.on(["initialized"],function(){return t.sync()}),o["default"].add(l.root,"hashchange",function(){return t.sync()}))},t.prototype.update=function(t){var e="#"+a.stringify(t);this.lastHash!==e&&(h.hash=e,this.lastHash=e)},t.prototype.parse=function(t){return-1===t.indexOf("#")?null:(t=t.substr(1),a.parse(u(t)))},t.prototype.sync=function(){var t=this.parse(h.hash);t&&this.state.overrideAndSync(t)},t.prototype.destroy=function(){var t=this;this.emitter.off(["state-changed"],function(e,i){return t.update(i)}),this.emitter.off(["initialized"],function(){return t.sync()}),o["default"].remove(l.root,"hashchange",function(){return t.sync()}),this.state=null,this.lastHash=null,this.emitter=null},t}()},function(t,e,i){"use strict";function s(t){return t&&t.__esModule?t:{"default":t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0}),e.Storage=e.hasStorage=void 0;var r=i(29),o=s(r),l=i(2),a=l.root.JSON,h=l.root.localStorage,u=l.root.location,f=e.hasStorage=function(){return"Storage"in l.root};e.Storage=function(){function t(e){n(this,t),this.state=e,this.tf=e.tf,this.enableLocalStorage=e.enableLocalStorage&&f(),this.enableCookie=e.enableCookie&&!this.enableLocalStorage,this.emitter=e.emitter,this.duration=e.cookieDuration}return t.prototype.init=function(){var t=this;this.emitter.on(["state-changed"],function(e,i){return t.save(i)}),this.emitter.on(["initialized"],function(){return t.sync()})},t.prototype.save=function(t){this.enableLocalStorage?h[this.getKey()]=a.stringify(t):o["default"].write(this.getKey(),a.stringify(t),this.duration)},t.prototype.retrieve=function(){var t=null;return t=this.enableLocalStorage?h[this.getKey()]:o["default"].read(this.getKey()),t?a.parse(t):null},t.prototype.remove=function(){this.enableLocalStorage?h.removeItem(this.getKey()):o["default"].remove(this.getKey())},t.prototype.sync=function(){var t=this.retrieve();t&&this.state.overrideAndSync(t)},t.prototype.getKey=function(){return a.stringify({key:this.tf.prfxTf+"_"+this.tf.id,path:u.pathname})},t.prototype.destroy=function(){var t=this;this.emitter.off(["state-changed"],function(e,i){return t.save(i)}),this.emitter.off(["initialized"],function(){return t.sync()}),this.remove(),this.state=null,this.emitter=null},t}()},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={write:function(t,e,i){var s="";i&&(s=new Date((new Date).getTime()+36e5*i),s="; expires="+s.toGMTString()),document.cookie=t+"="+escape(e)+s},read:function(t){var e="",i=t+"=";if(document.cookie.length>0){var s=document.cookie,n=s.indexOf(i);if(-1!==n){n+=i.length;var r=s.indexOf(";",n);-1===r&&(r=s.length),e=unescape(s.substring(n,r))}}return e},remove:function(t){this.write(t,"",-1)},valueToArray:function(t,e){e||(e=",");var i=this.read(t),s=i.split(e);return s},getValueByIndex:function(t,e,i){i||(i=",");var s=this.valueToArray(t,i);return s[e]}}}])});
\ No newline at end of file
diff --git a/dist/tablefilter/tf-1.js b/dist/tablefilter/tf-1.js
index 56ac2d56..e0c8c5a1 100644
--- a/dist/tablefilter/tf-1.js
+++ b/dist/tablefilter/tf-1.js
@@ -1,8 +1,8 @@
/**
- * tablefilter v0.2.28 by Max Guglielmi
- * build date: 2016-05-19T02:46:18.498Z
+ * tablefilter v0.2.29 by Max Guglielmi
+ * build date: 2016-05-19T07:33:16.281Z
* MIT License
*/
-webpackJsonp([1],{30:function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./array":16,"./array.js":16,"./const":11,"./const.js":11,"./cookie":29,"./cookie.js":29,"./date":6,"./date.js":6,"./dom":3,"./dom.js":3,"./emitter":8,"./emitter.js":8,"./event":1,"./event.js":1,"./extensions/advancedGrid/adapterEzEditTable":31,"./extensions/advancedGrid/adapterEzEditTable.js":31,"./extensions/advancedGrid/advancedGrid":32,"./extensions/advancedGrid/advancedGrid.js":32,"./extensions/colOps/colOps":33,"./extensions/colOps/colOps.js":33,"./extensions/colsVisibility/colsVisibility":34,"./extensions/colsVisibility/colsVisibility.js":34,"./extensions/filtersVisibility/filtersVisibility":35,"./extensions/filtersVisibility/filtersVisibility.js":35,"./extensions/sort/adapterSortabletable":36,"./extensions/sort/adapterSortabletable.js":36,"./extensions/sort/sort":37,"./extensions/sort/sort.js":37,"./feature":10,"./feature.js":10,"./helpers":7,"./helpers.js":7,"./modules/alternateRows":24,"./modules/alternateRows.js":24,"./modules/checkList":18,"./modules/checkList.js":18,"./modules/clearButton":22,"./modules/clearButton.js":22,"./modules/dropdown":15,"./modules/dropdown.js":15,"./modules/gridLayout":9,"./modules/gridLayout.js":9,"./modules/hash":27,"./modules/hash.js":27,"./modules/help":23,"./modules/help.js":23,"./modules/highlightKeywords":13,"./modules/highlightKeywords.js":13,"./modules/loader":12,"./modules/loader.js":12,"./modules/noResults":25,"./modules/noResults.js":25,"./modules/paging":21,"./modules/paging.js":21,"./modules/popupFilter":14,"./modules/popupFilter.js":14,"./modules/rowsCounter":19,"./modules/rowsCounter.js":19,"./modules/state":26,"./modules/state.js":26,"./modules/statusBar":20,"./modules/statusBar.js":20,"./modules/storage":28,"./modules/storage.js":28,"./root":2,"./root.js":2,"./sort":17,"./sort.js":17,"./string":5,"./string.js":5,"./types":4,"./types.js":4};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=30},31:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=n(10),a=n(3),d=r(a),c=n(11),u=n(2),h='Failed to instantiate EditTable object.\n \n"ezEditTable" dependency not found.',f=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name));return s.initialized=!1,s.desc=r.description||"ezEditTable adapter",s.filename=r.filename||"ezEditTable.js",s.vendorPath=r.vendor_path,s.loadStylesheet=Boolean(r.load_stylesheet),s.stylesheet=r.stylesheet||s.vendorPath+"ezEditTable.css",s.stylesheetName=r.stylesheet_name||"ezEditTableCss",r.scroll_into_view=r.scroll_into_view===!1?!1:n.gridLayout,s._ezEditTable=null,s.cfg=r,s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;if(!this.initialized){var t=this.tf;if(u.root.EditTable)this._setAdvancedGrid();else{var n=this.vendorPath+this.filename;t["import"](this.filename,n,function(){e._setAdvancedGrid()})}this.loadStylesheet&&!t.isImported(this.stylesheet,"link")&&t["import"](this.stylesheetName,this.stylesheet,null,"link"),this.emitter.on(["filter-focus","filter-blur"],function(){return e._toggleForInputFilter()}),this.initialized=!0}},t.prototype._setAdvancedGrid=function(){var e,t=this.tf,n=this.cfg,r=d["default"].tag(t.tbl,"thead");e=r.length>0&&!n.startRow?void 0:n.startRow||t.refRow,n.base_path=n.base_path||t.basePath+"ezEditTable/";var o=n.editable,i=n.selection;i&&(n.default_selection=n.default_selection||"row"),n.active_cell_css=n.active_cell_css||"ezETSelectedCell";var s=0,l=0;if(i){var a=function(e,n,r){var o=e.Selection,i=function(r){if("row"===e.defaultSelection)o.SelectRowByIndex(r);else{e.ClearSelections();var i=n.cellIndex,s=t.tbl.rows[r];"both"===e.defaultSelection&&o.SelectRowByIndex(r),s&&o.SelectCell(s.cells[i])}if(t.validRowsIndex.length!==t.getRowsNb()){var l=t.tbl.rows[r];l&&l.scrollIntoView(!1),h&&(h.cellIndex===t.getCellsNb()-1&&t.gridLayout?t.tblCont.scrollLeft=1e8:0===h.cellIndex&&t.gridLayout?t.tblCont.scrollLeft=0:h.scrollIntoView(!1))}};if(t.validRowsIndex){var a,d=t.validRowsIndex,c=d.length,u="row"!==e.defaultSelection?n.parentNode:n,h="TD"===n.nodeName?n:null,f=void 0!==r?e.Event.GetKey(r):0,p=-1!==d.indexOf(u.rowIndex),b=t.feature("paging"),y=34===f||33===f?b&&b.pagingLength||e.nbRowsPerPage:1;if(p)34!==f&&33!==f?(s=d.indexOf(u.rowIndex),l=u.rowIndex):(a=34===f?c-1>=s+y?d[s+y]:[c-1]:s-y<=d[0]?d[0]:d[s-y],l=a,s=d.indexOf(a),i(a));else{if(u.rowIndex>l)if(u.rowIndex>=d[c-1])a=d[c-1];else{var m=s+y;a=m>c-1?d[c-1]:d[m]}else if(u.rowIndex<=d[0])a=d[0];else{var g=d[s-y];a=g?g:d[0]}l=u.rowIndex,i(a)}}},c=function(e,n){var r="row"!==e.defaultSelection?n.parentNode:n;if(t.paging&&t.feature("paging").nbPages>1){var o=t.feature("paging");e.nbRowsPerPage=o.pagingLength;var i=t.validRowsIndex,s=i.length,l=parseInt(o.startPagingRow,10)+parseInt(o.pagingLength,10),a=r.rowIndex;a===i[s-1]&&o.currentPageNb!==o.nbPages?o.setPage("last"):a===i[0]&&1!==o.currentPageNb?o.setPage("first"):a>i[l-1]&&ai[0]&&o.setPage("previous")}};if(t.paging&&(t.feature("paging").onAfterChangePage=function(e){var t=e.tf.extension("advancedGrid"),n=t._ezEditTable,r=n.Selection,o=r.GetActiveRow();o&&o.scrollIntoView(!1);var i=r.GetActiveCell();i&&i.scrollIntoView(!1)}),"row"===n.default_selection){var u=n.on_before_selected_row;n.on_before_selected_row=function(){c(arguments[0],arguments[1],arguments[2]),u&&u.call(null,arguments[0],arguments[1],arguments[2])};var f=n.on_after_selected_row;n.on_after_selected_row=function(){a(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])}}else{var p=n.on_before_selected_cell;n.on_before_selected_cell=function(){c(arguments[0],arguments[1],arguments[2]),p&&p.call(null,arguments[0],arguments[1],arguments[2])};var b=n.on_after_selected_cell;n.on_after_selected_cell=function(){a(arguments[0],arguments[1],arguments[2]),b&&b.call(null,arguments[0],arguments[1],arguments[2])}}}if(o){var y=n.on_added_dom_row;if(n.on_added_dom_row=function(){t.nbFilterableRows++,t.paging?(t.nbRows++,t.nbVisibleRows++,t.nbFilterableRows++,t.paging=!1,t.feature("paging").destroy(),t.feature("paging").reset()):t.emitter.emit("rows-changed",t,this),t.alternateRows&&t.feature("alternateRows").init(),y&&y.call(null,arguments[0],arguments[1],arguments[2])},n.actions&&n.actions["delete"]){var m=n.actions["delete"].on_after_submit;n.actions["delete"].on_after_submit=function(){t.nbFilterableRows--,t.paging?(t.nbRows--,t.nbVisibleRows--,t.nbFilterableRows--,t.paging=!1,t.feature("paging").destroy(),t.feature("paging").reset(!1)):t.emitter.emit("rows-changed",t,this),t.alternateRows&&t.feature("alternateRows").init(),m&&m.call(null,arguments[0],arguments[1])}}}try{this._ezEditTable=new EditTable(t.id,n,e),this._ezEditTable.Init()}catch(g){throw new Error(h)}this.initialized=!0},t.prototype.reset=function(){var e=this._ezEditTable;e&&(this.cfg.selection&&e.Selection.Set(),this.cfg.editable&&e.Editable.Set())},t.prototype.toggle=function(){var e=this._ezEditTable;e.editable?e.Editable.Remove():e.Editable.Set(),e.selection?e.Selection.Remove():e.Selection.Set()},t.prototype._toggleForInputFilter=function(){var e=this.tf;if(e.getActiveFilterId()){var t=e.getColumnIndexFromFilterId(e.getActiveFilterId()),n=e.getFilterType(t);n===c.INPUT&&this.toggle()}},t.prototype.destroy=function(){var e=this;if(this.initialized){var t=this._ezEditTable;t&&(this.cfg.selection&&(t.Selection.ClearSelections(),t.Selection.Remove()),this.cfg.editable&&t.Editable.Remove()),this.emitter.off(["filter-focus","filter-blur"],function(){return e._toggleForInputFilter()}),this.initialized=!1}},t}(l.Feature);t["default"]=f},32:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(31),i=r(o);t["default"]=i["default"]},33:function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _feature=__webpack_require__(10),_dom=__webpack_require__(3),_dom2=_interopRequireDefault(_dom),_string=__webpack_require__(5),_string2=_interopRequireDefault(_string),_types=__webpack_require__(4),ColOps=function(_Feature){function ColOps(e,t){_classCallCheck(this,ColOps);var n=_possibleConstructorReturn(this,_Feature.call(this,e,t.name));return n.onBeforeOperation=(0,_types.isFn)(t.on_before_operation)?t.on_before_operation:null,n.onAfterOperation=(0,_types.isFn)(t.on_after_operation)?t.on_after_operation:null,n.opts=t,n.enable(),n}return _inherits(ColOps,_Feature),ColOps.prototype.init=function(){var e=this;this.initialized||(this.tf.emitter.on(["after-filtering"],function(){return e.calc()}),this.calc(),this.initialized=!0)},ColOps.prototype.calc=function calc(){var tf=this.tf;if(tf.hasGrid()){this.onBeforeOperation&&this.onBeforeOperation.call(null,tf);var opts=this.opts,labelId=opts.id,colIndex=opts.col,operation=opts.operation,outputType=opts.write_method,totRowIndex=opts.tot_row_index,excludeRow=opts.exclude_row,decimalPrecision=(0,_types.isUndef)(opts.decimal_precision)?2:opts.decimal_precision,ucolIndex=[],ucolMax=0;ucolIndex[ucolMax]=colIndex[0];for(var ii=1;ii=jj;jj++)ucolIndex[jj]===colIndex[ii]&&(saved=1);0===saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[ii])}if((0,_types.isArray)(labelId)&&(0,_types.isArray)(colIndex)&&(0,_types.isArray)(operation))for(var rows=tf.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(tf.getColValues(ucolIndex[ucol],!1,!0,excludeRow));for(var result,nbvalues=0,temp,meanValue=0,sumValue=0,minValue=null,maxValue=null,q1Value=null,medValue=null,q3Value=null,meanFlag=0,sumFlag=0,minFlag=0,maxFlag=0,q1Flag=0,medFlag=0,q3Flag=0,theList=[],opsThisCol=[],decThisCol=[],labThisCol=[],oTypeThisCol=[],mThisCol=-1,k=0;kmaxValue?parseFloat(cvalue):maxValue))}if(1===meanFlag&&(meanValue=sumValue/nbvalues),1===medFlag){var aux=0;nbvalues%2===1?(aux=Math.floor(nbvalues/2),medValue=theList[aux]):medValue=(theList[nbvalues/2]+theList[nbvalues/2-1])/2}var posa;if(1===q1Flag&&(posa=0,posa=Math.floor(nbvalues/4),q1Value=4*posa===nbvalues?(theList[posa-1]+theList[posa])/2:theList[posa]),1===q3Flag){posa=0;var posb=0;posa=Math.floor(nbvalues/4),4*posa===nbvalues?(posb=3*posa,q3Value=(theList[posb]+theList[posb-1])/2):q3Value=theList[nbvalues-posa-1]}for(var i=0;mThisCol>=i;i++){switch(opsThisCol[i]){case"mean":result=meanValue;break;case"sum":result=sumValue;break;case"min":result=minValue;break;case"max":result=maxValue;break;case"median":result=medValue;break;case"q1":result=q1Value;break;case"q3":result=q3Value}var precision=isNaN(decThisCol[i])?2:decThisCol[i];if(oTypeThisCol&&result){if(result=result.toFixed(precision),_dom2["default"].id(labThisCol[i]))switch(_string2["default"].lower(oTypeThisCol)){case"innerhtml":isNaN(result)||!isFinite(result)||0===nbvalues?_dom2["default"].id(labThisCol[i]).innerHTML=".":_dom2["default"].id(labThisCol[i]).innerHTML=result;break;case"setvalue":_dom2["default"].id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=_dom2["default"].id(labThisCol[i]).firstChild,txtnode=_dom2["default"].text(result);_dom2["default"].id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{isNaN(result)||!isFinite(result)||0===nbvalues?_dom2["default"].id(labThisCol[i]).innerHTML=".":_dom2["default"].id(labThisCol[i]).innerHTML=result.toFixed(precision)}catch(e){}}var totRow=totRowIndex&&totRowIndex[ucol]?rows[totRowIndex[ucol]]:null;totRow&&(totRow.style.display="")}this.onAfterOperation&&this.onAfterOperation.call(null,tf)}},ColOps.prototype.destroy=function(){var e=this;this.initialized&&(this.tf.emitter.off(["after-filtering"],function(){return e.calc()}),this.initialized=!1)},ColOps}(_feature.Feature);exports["default"]=ColOps},34:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=n(10),a=n(3),d=r(a),c=n(4),u=n(1),h=r(u),f=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name)),l=n.config();return s.initialized=!1,s.name=r.name,s.desc=r.description||"Columns visibility manager",s.spanEl=null,s.btnEl=null,s.contEl=null,s.tickToHide=r.tick_to_hide!==!1,s.manager=r.manager!==!1,s.headersTbl=r.headers_table||!1,s.headersIndex=r.headers_index||1,s.contElTgtId=r.container_target_id||null,s.headersText=r.headers_text||null,s.btnTgtId=r.btn_target_id||null,s.btnText=r.btn_text||"Columns▼",s.btnHtml=r.btn_html||null,s.btnCssClass=r.btn_css_class||"colVis",s.btnCloseText=r.btn_close_text||"Close",s.btnCloseHtml=r.btn_close_html||null,s.btnCloseCssClass=r.btn_close_css_class||s.btnCssClass,s.stylesheet=r.stylesheet||"colsVisibility.css",s.prfx="colVis_",s.spanCssClass=r.span_css_class||"colVisSpan",s.prfxCont=s.prfx+"Cont_",s.contCssClass=r.cont_css_class||"colVisCont",s.listCssClass=l.list_css_class||"cols_checklist",s.listItemCssClass=l.checklist_item_css_class||"cols_checklist_item",s.listSlcItemCssClass=l.checklist_selected_item_css_class||"cols_checklist_slc_item",s.text=r.text||(s.tickToHide?"Hide: ":"Show: "),s.atStart=r.at_start||null,s.enableHover=Boolean(r.enable_hover),s.enableTickAll=Boolean(r.enable_tick_all),s.tickAllText=r.tick_all_text||"Select all:",s.hiddenCols=[],s.tblHasColTag=d["default"].tag(n.tbl,"col").length>0,s.onLoaded=(0,c.isFn)(r.on_loaded)?r.on_loaded:null,s.onBeforeOpen=(0,c.isFn)(r.on_before_open)?r.on_before_open:null,s.onAfterOpen=(0,c.isFn)(r.on_after_open)?r.on_after_open:null,s.onBeforeClose=(0,c.isFn)(r.on_before_close)?r.on_before_close:null,s.onAfterClose=(0,c.isFn)(r.on_after_close)?r.on_after_close:null,s.onBeforeColHidden=(0,c.isFn)(r.on_before_col_hidden)?r.on_before_col_hidden:null,s.onAfterColHidden=(0,c.isFn)(r.on_after_col_hidden)?r.on_after_col_hidden:null,s.onBeforeColDisplayed=(0,c.isFn)(r.on_before_col_displayed)?r.on_before_col_displayed:null,s.onAfterColDisplayed=(0,c.isFn)(r.on_after_col_displayed)?r.on_after_col_displayed:null,n.gridLayout&&(s.headersTbl=n.feature("gridLayout").headTbl,s.headersIndex=0,s.onAfterColDisplayed=function(){},s.onAfterColHidden=function(){}),n["import"](r.name+"Style",n.stylePath+s.stylesheet,null,"link"),s.enable(),s}return s(t,e),t.prototype.toggle=function(){var e=this.contEl.style.display,t=this.onBeforeOpen,n=this.onBeforeClose,r=this.onAfterOpen,o=this.onAfterClose;t&&"inline"!==e&&t.call(null,this),n&&"inline"===e&&n.call(null,this),this.contEl.style.display="inline"===e?"none":"inline",r&&"inline"!==e&&r.call(null,this),o&&"inline"===e&&o.call(null,this)},t.prototype.checkItem=function(e){var t=e.parentNode;if(t&&e){var n=e.firstChild.checked,r=e.firstChild.getAttribute("id").split("_")[1];r=parseInt(r,10),n?d["default"].addClass(t,this.listSlcItemCssClass):d["default"].removeClass(t,this.listSlcItemCssClass);var o=!1;(this.tickToHide&&n||!this.tickToHide&&!n)&&(o=!0),this.setHidden(r,o)}},t.prototype.init=function(){var e=this;!this.initialized&&this.manager&&(this.emitter.on(["hide-column"],function(t,n){return e.hideCol(n)}),this.buildBtn(),this.buildManager(),this.initialized=!0,this.emitter.emit("columns-visibility-initialized",this.tf,this),this._hideAtStart())},t.prototype.buildBtn=function(){var e=this;if(!this.btnEl){var t=this.tf,n=d["default"].create("span",["id",this.prfx+t.id]);n.className=this.spanCssClass,this.btnTgtId||t.setToolbar();var r=this.btnTgtId?d["default"].id(this.btnTgtId):t.rDiv;if(this.btnTgtId)r.appendChild(n);else{var o=r.firstChild;o.parentNode.insertBefore(n,o)}if(this.btnHtml){n.innerHTML=this.btnHtml;var i=n.firstChild;this.enableHover?h["default"].add(i,"mouseover",function(t){return e.toggle(t)}):h["default"].add(i,"click",function(t){return e.toggle(t)})}else{var s=d["default"].create("a",["href","javascript:;"]);s.className=this.btnCssClass,s.title=this.desc,s.innerHTML=this.btnText,n.appendChild(s),this.enableHover?h["default"].add(s,"mouseover",function(t){return e.toggle(t)}):h["default"].add(s,"click",function(t){return e.toggle(t)})}this.spanEl=n,this.btnEl=this.spanEl.firstChild,this.onLoaded&&this.onLoaded.call(null,this)}},t.prototype.buildManager=function(){var e=this,t=this.tf,n=this.contElTgtId?d["default"].id(this.contElTgtId):d["default"].create("div",["id",this.prfxCont+t.id]);n.className=this.contCssClass;var r=d["default"].create("p");r.innerHTML=this.text,n.appendChild(r);var o=d["default"].create("ul",["id","ul"+this.name+"_"+t.id]);o.className=this.listCssClass;var i=this.headersTbl?this.headersTbl:t.tbl,s=this.headersTbl?this.headersIndex:t.getHeadersRowIndex(),l=i.rows[s];this.enableTickAll&&!function(){var n=d["default"].createCheckItem("col__"+t.id,e.tickAllText,e.tickAllText);d["default"].addClass(n,e.listItemCssClass),o.appendChild(n),n.check.checked=!e.tickToHide,h["default"].add(n.check,"click",function(){for(var e=0;e',s.icnCollapseHtml='',s.defaultText="Toggle filters",s.targetId=r.target_id||null,s.enableIcon=r.enable_icon!==!1,s.btnText=r.btn_text||"",s.collapseBtnHtml=s.enableIcon?s.icnCollapseHtml+s.btnText:s.btnText||s.defaultText,s.expandBtnHtml=s.enableIcon?s.icnExpandHtml+s.btnText:s.btnText||s.defaultText,s.btnHtml=r.btn_html||null,s.btnCssClass=r.btn_css_class||"btnExpClpFlt",s.contCssClass=r.cont_css_class||"expClpFlt",s.filtersRowIndex=(0,c.isUndef)(r.filters_row_index)?n.getFiltersRowIndex():r.filters_row_index,s.visibleAtStart=(0,c.isUndef)(r.visible_at_start)?!0:Boolean(r.visible_at_start),s.prfx="fltsVis_",s.onBeforeShow=(0,c.isFn)(r.on_before_show)?r.on_before_show:null,s.onAfterShow=(0,c.isFn)(r.on_after_show)?r.on_after_show:null,s.onBeforeHide=(0,c.isFn)(r.on_before_hide)?r.on_before_hide:null,s.onAfterHide=(0,c.isFn)(r.on_after_hide)?r.on_after_hide:null,n["import"](r.name+"Style",n.stylePath+s.stylesheet,null,"link"),s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;this.initialized||(this.buildUI(),this.initialized=!0,this.emitter.on(["show-filters"],function(t,n){return e.show(n)}),this.emitter.emit("filters-visibility-initialized",this.tf,this))},t.prototype.buildUI=function(){var e=this,t=this.tf,n=d["default"].create("span",["id",this.prfx+t.id]);n.className=this.contCssClass,this.targetId||t.setToolbar();var r=this.targetId?d["default"].id(this.targetId):t.rDiv;if(this.targetId)r.appendChild(n);else{var o=r.firstChild;o.parentNode.insertBefore(n,o)}var i=void 0;this.btnHtml?(n.innerHTML=this.btnHtml,i=n.firstChild):(i=d["default"].create("a",["href","javascript:void(0);"]),i.className=this.btnCssClass,i.title=this.btnText||this.defaultText,i.innerHTML=this.collapseBtnHtml,n.appendChild(i)),h["default"].add(i,"click",function(){return e.toggle()}),this.contEl=n,this.btnEl=i,this.visibleAtStart||this.toggle()},t.prototype.toggle=function(){var e=this.tf,t=e.gridLayout?e.feature("gridLayout").headTbl:e.tbl,n=t.rows[this.filtersRowIndex],r=""===n.style.display;this.show(!r)},t.prototype.show=function(){var e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0],t=this.tf,n=t.gridLayout?t.feature("gridLayout").headTbl:t.tbl,r=n.rows[this.filtersRowIndex];this.onBeforeShow&&e&&this.onBeforeShow.call(this,this),this.onBeforeHide&&!e&&this.onBeforeHide.call(null,this),r.style.display=e?"":"none",this.enableIcon&&!this.btnHtml&&(this.btnEl.innerHTML=e?this.collapseBtnHtml:this.expandBtnHtml),this.onAfterShow&&e&&this.onAfterShow.call(null,this),this.onAfterHide&&!e&&this.onAfterHide.call(null,this),this.emitter.emit("filters-toggled",t,this,e)},t.prototype.destroy=function(){var e=this;this.initialized&&(this.emitter.off(["show-filters"],function(t,n){return e.show(n)}),this.btnEl.innerHTML="",d["default"].remove(this.btnEl),this.btnEl=null,this.contEl.innerHTML="",d["default"].remove(this.contEl),this.contEl=null,this.initialized=!1)},t}(l.Feature);t["default"]=f},36:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return x["default"].removeNbFormat(e,"us")}function a(e){return x["default"].removeNbFormat(e,"eu")}function d(e,t){return w["default"].format(e,t)}function c(e){return d(e,"DMY")}function u(e){return d(e,"MDY")}function h(e){return d(e,"YMD")}function f(e){return d(e,"DDMMMYYYY")}function p(e){var t=e.split(".");for(var n in t){for(var r=t[n];3>r.length;)r="0"+r;t[n]=r}return t.join(".")}function b(e,t){var n=p(e.value.toLowerCase()),r=p(t.value.toLowerCase());return n===r?0:r>n?-1:1}Object.defineProperty(t,"__esModule",{value:!0});var y=n(10),m=n(4),g=n(3),_=r(g),T=n(1),v=r(T),C=n(6),w=r(C),S=n(7),x=r(S),I=n(11),k=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name));return s.name=r.name,s.desc=r.description||"Sortable table",s.sorted=!1,s.sortTypes=(0,m.isArray)(r.types)?r.types:[],s.sortColAtStart=(0,m.isArray)(r.sort_col_at_start)?r.sort_col_at_start:null,s.asyncSort=Boolean(r.async_sort),s.triggerIds=(0,m.isArray)(r.trigger_ids)?r.trigger_ids:[],s.imgPath=r.images_path||n.themesPath,s.imgBlank=r.image_blank||"blank.png",s.imgClassName=r.image_class_name||"sort-arrow",s.imgAscClassName=r.image_asc_class_name||"ascending",s.imgDescClassName=r.image_desc_class_name||"descending",s.customKey=r.custom_key||"data-tf-sortKey",s.onSortLoaded=(0,m.isFn)(r.on_sort_loaded)?r.on_sort_loaded:null,s.onBeforeSort=(0,m.isFn)(r.on_before_sort)?r.on_before_sort:null,s.onAfterSort=(0,m.isFn)(r.on_after_sort)?r.on_after_sort:null,s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;if(!this.initialized){var t=this.tf,n=this;if((0,m.isUndef)(SortableTable))throw new Error("SortableTable class not found.");this.overrideSortableTable(),this.setSortTypes();var r=n.sortColAtStart;r&&this.stt.sort(r[0],r[1]),this.onSortLoaded&&this.onSortLoaded.call(null,t,this),this.stt.onbeforesort=function(){n.onBeforeSort&&n.onBeforeSort.call(null,t,n.stt.sortColumn),t.paging&&t.feature("paging").disable()},this.stt.onsort=function(){if(n.sorted=!0,t.paging){var e=t.feature("paging");t.getValidRows(!0),e.enable(),e.setPage(e.getPage())}n.onAfterSort&&n.onAfterSort.call(null,t,n.stt.sortColumn,n.stt.descending),n.emitter.emit("column-sorted",t,n.stt.sortColumn,n.stt.descending)},this.emitter.on(["sort"],function(t,n,r){return e.sortByColumnIndex(n,r)}),this.initialized=!0,this.emitter.emit("sort-initialized",t,this)}},t.prototype.sortByColumnIndex=function(e,t){this.stt.sort(e,t)},t.prototype.overrideSortableTable=function(){var e=this,t=this.tf;SortableTable.prototype.headerOnclick=function(t){if(e.initialized){for(var n=t.target||t.srcElement;n.tagName!==I.CELL_TAG&&n.tagName!==I.HEADER_TAG;)n=n.parentNode;this.sort(SortableTable.msie?SortableTable.getCellIndex(n):n.cellIndex)}},SortableTable.getCellIndex=function(e){var t=e.parentNode.cells,n=t.length,r=void 0;for(r=0;t[r]!==e&&n>r;r++);return r},SortableTable.prototype.initHeader=function(n){var r=this;if(!r.tHead){if(!t.gridLayout)return;r.tHead=t.feature("gridLayout").headTbl.tHead}r.headersRow=t.headersRow;var o=r.tHead.rows[r.headersRow].cells;r.sortTypes=n||[];for(var i=o.length,s=void 0,l=void 0,a=0;i>a;a++)l=o[a],null!==r.sortTypes[a]&&"None"!==r.sortTypes[a]?(l.style.cursor="pointer",s=_["default"].create("img",["src",e.imgPath+e.imgBlank]),l.appendChild(s),null!==r.sortTypes[a]&&l.setAttribute("_sortType",r.sortTypes[a]),v["default"].add(l,"click",r._headerOnclick)):(l.setAttribute("_sortType",n[a]),l._sortType="None");r.updateHeaderArrows()},SortableTable.prototype.updateHeaderArrows=function(){var t=this,n=void 0,r=void 0,o=void 0;if(e.asyncSort&&e.triggerIds.length>0){
-var i=e.triggerIds;n=[],r=i.length;for(var s=0;sl;l++){var a=n[l].getAttribute("_sortType");null!==a&&"None"!==a&&(o=n[l].lastChild||n[l],"img"!==o.nodeName.toLowerCase()&&(o=_["default"].create("img",["src",e.imgPath+e.imgBlank]),n[l].appendChild(o)),l===t.sortColumn?o.className=e.imgClassName+" "+(this.descending?e.imgDescClassName:e.imgAscClassName):o.className=e.imgClassName)}},SortableTable.prototype.getRowValue=function(e,t,n){var r=this,o=r._sortTypeInfo[t];if(o&&o.getRowValue)return o.getRowValue(e,n);var i=e.cells[n],s=SortableTable.getInnerText(i);return r.getValueFromString(s,t)},SortableTable.getInnerText=function(t){return t?t.getAttribute(e.customKey)?t.getAttribute(e.customKey):_["default"].getText(t):void 0}},t.prototype.addSortType=function(){var e=arguments;SortableTable.prototype.addSortType(e[0],e[1],e[2],e[3])},t.prototype.setSortTypes=function(){for(var e=this,t=this.tf,n=this.sortTypes,r=[],o=0;o0&&!function(){for(var t=e.triggerIds,n=0;n descending, false -> ascending\r\nSortableTable.prototype.defaultDescending = false;\r\n\r\n// shared between all instances. This is intentional to allow external files\r\n// to modify the prototype\r\nSortableTable.prototype._sortTypeInfo = {};\r\n\r\nSortableTable.prototype.setTable = function (oTable) {\r\n if ( this.tHead )\r\n this.uninitHeader();\r\n this.element = oTable;\r\n this.setTHead( oTable.tHead );\r\n this.setTBody( oTable.tBodies[0] );\r\n};\r\n\r\nSortableTable.prototype.setTHead = function (oTHead) {\r\n if (this.tHead && this.tHead != oTHead )\r\n this.uninitHeader();\r\n this.tHead = oTHead;\r\n this.initHeader( this.sortTypes );\r\n};\r\n\r\nSortableTable.prototype.setTBody = function (oTBody) {\r\n this.tBody = oTBody;\r\n};\r\n\r\nSortableTable.prototype.setSortTypes = function ( oSortTypes ) {\r\n if ( this.tHead )\r\n this.uninitHeader();\r\n this.sortTypes = oSortTypes || [];\r\n if ( this.tHead )\r\n this.initHeader( this.sortTypes );\r\n};\r\n\r\n// adds arrow containers and events\r\n// also binds sort type to the header cells so that reordering columns does\r\n// not break the sort types\r\nSortableTable.prototype.initHeader = function (oSortTypes) {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var doc = this.tHead.ownerDocument || this.tHead.document;\r\n this.sortTypes = oSortTypes || [];\r\n var l = cells.length;\r\n var img, c;\r\n for (var i = 0; i < l; i++) {\r\n c = cells[i];\r\n if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {\r\n img = doc.createElement("IMG");\r\n img.src = "images/blank.png";\r\n c.appendChild(img);\r\n if (this.sortTypes[i] != null)\r\n c._sortType = this.sortTypes[i];\r\n if (typeof c.addEventListener != "undefined")\r\n c.addEventListener("click", this._headerOnclick, false);\r\n else if (typeof c.attachEvent != "undefined")\r\n c.attachEvent("onclick", this._headerOnclick);\r\n else\r\n c.onclick = this._headerOnclick;\r\n }\r\n else\r\n {\r\n c.setAttribute( "_sortType", oSortTypes[i] );\r\n c._sortType = "None";\r\n }\r\n }\r\n this.updateHeaderArrows();\r\n};\r\n\r\n// remove arrows and events\r\nSortableTable.prototype.uninitHeader = function () {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var l = cells.length;\r\n var c;\r\n for (var i = 0; i < l; i++) {\r\n c = cells[i];\r\n if (c._sortType != null && c._sortType != "None") {\r\n c.removeChild(c.lastChild);\r\n if (typeof c.removeEventListener != "undefined")\r\n c.removeEventListener("click", this._headerOnclick, false);\r\n else if (typeof c.detachEvent != "undefined")\r\n c.detachEvent("onclick", this._headerOnclick);\r\n c._sortType = null;\r\n c.removeAttribute( "_sortType" );\r\n }\r\n }\r\n};\r\n\r\nSortableTable.prototype.updateHeaderArrows = function () {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var l = cells.length;\r\n var img;\r\n for (var i = 0; i < l; i++) {\r\n if (cells[i]._sortType != null && cells[i]._sortType != "None") {\r\n img = cells[i].lastChild;\r\n if (i == this.sortColumn)\r\n img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");\r\n else\r\n img.className = "sort-arrow";\r\n }\r\n }\r\n};\r\n\r\nSortableTable.prototype.headerOnclick = function (e) {\r\n // find TD element\r\n var el = e.target || e.srcElement;\r\n while (el.tagName != "TD")\r\n el = el.parentNode;\r\n\r\n this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);\r\n};\r\n\r\n// IE returns wrong cellIndex when columns are hidden\r\nSortableTable.getCellIndex = function (oTd) {\r\n var cells = oTd.parentNode.childNodes\r\n var l = cells.length;\r\n var i;\r\n for (i = 0; cells[i] != oTd && i < l; i++)\r\n ;\r\n return i;\r\n};\r\n\r\nSortableTable.prototype.getSortType = function (nColumn) {\r\n return this.sortTypes[nColumn] || "String";\r\n};\r\n\r\n// only nColumn is required\r\n// if bDescending is left out the old value is taken into account\r\n// if sSortType is left out the sort type is found from the sortTypes array\r\n\r\nSortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {\r\n if (!this.tBody) return;\r\n if (sSortType == null)\r\n sSortType = this.getSortType(nColumn);\r\n\r\n // exit if None\r\n if (sSortType == "None")\r\n return;\r\n\r\n if (bDescending == null) {\r\n if (this.sortColumn != nColumn)\r\n this.descending = this.defaultDescending;\r\n else\r\n this.descending = !this.descending;\r\n }\r\n else\r\n this.descending = bDescending;\r\n\r\n this.sortColumn = nColumn;\r\n\r\n if (typeof this.onbeforesort == "function")\r\n this.onbeforesort();\r\n\r\n var f = this.getSortFunction(sSortType, nColumn);\r\n var a = this.getCache(sSortType, nColumn);\r\n var tBody = this.tBody;\r\n\r\n a.sort(f);\r\n\r\n if (this.descending)\r\n a.reverse();\r\n\r\n if (SortableTable.removeBeforeSort) {\r\n // remove from doc\r\n var nextSibling = tBody.nextSibling;\r\n var p = tBody.parentNode;\r\n p.removeChild(tBody);\r\n }\r\n\r\n // insert in the new order\r\n var l = a.length;\r\n for (var i = 0; i < l; i++)\r\n tBody.appendChild(a[i].element);\r\n\r\n if (SortableTable.removeBeforeSort) {\r\n // insert into doc\r\n p.insertBefore(tBody, nextSibling);\r\n }\r\n\r\n this.updateHeaderArrows();\r\n\r\n this.destroyCache(a);\r\n\r\n if (typeof this.onsort == "function")\r\n this.onsort();\r\n};\r\n\r\nSortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {\r\n var oThis = this;\r\n this._asyncsort = function () {\r\n oThis.sort(nColumn, bDescending, sSortType);\r\n };\r\n window.setTimeout(this._asyncsort, 1);\r\n};\r\n\r\nSortableTable.prototype.getCache = function (sType, nColumn) {\r\n if (!this.tBody) return [];\r\n var rows = this.tBody.rows;\r\n var l = rows.length;\r\n var a = new Array(l);\r\n var r;\r\n for (var i = 0; i < l; i++) {\r\n r = rows[i];\r\n a[i] = {\r\n value: this.getRowValue(r, sType, nColumn),\r\n element: r\r\n };\r\n };\r\n return a;\r\n};\r\n\r\nSortableTable.prototype.destroyCache = function (oArray) {\r\n var l = oArray.length;\r\n for (var i = 0; i < l; i++) {\r\n oArray[i].value = null;\r\n oArray[i].element = null;\r\n oArray[i] = null;\r\n }\r\n};\r\n\r\nSortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {\r\n // if we have defined a custom getRowValue use that\r\n if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)\r\n return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);\r\n\r\n var s;\r\n var c = oRow.cells[nColumn];\r\n if (typeof c.innerText != "undefined")\r\n s = c.innerText;\r\n else\r\n s = SortableTable.getInnerText(c);\r\n return this.getValueFromString(s, sType);\r\n};\r\n\r\nSortableTable.getInnerText = function (oNode) {\r\n var s = "";\r\n var cs = oNode.childNodes;\r\n var l = cs.length;\r\n for (var i = 0; i < l; i++) {\r\n switch (cs[i].nodeType) {\r\n case 1: //ELEMENT_NODE\r\n s += SortableTable.getInnerText(cs[i]);\r\n break;\r\n case 3: //TEXT_NODE\r\n s += cs[i].nodeValue;\r\n break;\r\n }\r\n }\r\n return s;\r\n};\r\n\r\nSortableTable.prototype.getValueFromString = function (sText, sType) {\r\n if (this._sortTypeInfo[sType])\r\n return this._sortTypeInfo[sType].getValueFromString( sText );\r\n return sText;\r\n /*\r\n switch (sType) {\r\n case "Number":\r\n return Number(sText);\r\n case "CaseInsensitiveString":\r\n return sText.toUpperCase();\r\n case "Date":\r\n var parts = sText.split("-");\r\n var d = new Date(0);\r\n d.setFullYear(parts[0]);\r\n d.setDate(parts[2]);\r\n d.setMonth(parts[1] - 1);\r\n return d.valueOf();\r\n }\r\n return sText;\r\n */\r\n };\r\n\r\nSortableTable.prototype.getSortFunction = function (sType, nColumn) {\r\n if (this._sortTypeInfo[sType])\r\n return this._sortTypeInfo[sType].compare;\r\n return SortableTable.basicCompare;\r\n};\r\n\r\nSortableTable.prototype.destroy = function () {\r\n this.uninitHeader();\r\n var win = this.document.parentWindow;\r\n if (win && typeof win.detachEvent != "undefined") { // only IE needs this\r\n win.detachEvent("onunload", this._onunload);\r\n }\r\n this._onunload = null;\r\n this.element = null;\r\n this.tHead = null;\r\n this.tBody = null;\r\n this.document = null;\r\n this._headerOnclick = null;\r\n this.sortTypes = null;\r\n this._asyncsort = null;\r\n this.onsort = null;\r\n};\r\n\r\n// Adds a sort type to all instance of SortableTable\r\n// sType : String - the identifier of the sort type\r\n// fGetValueFromString : function ( s : string ) : T - A function that takes a\r\n// string and casts it to a desired format. If left out the string is just\r\n// returned\r\n// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort\r\n// compare function. Takes two values and compares them. If left out less than,\r\n// <, compare is used\r\n// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function\r\n// that takes the row and the column index and returns the value used to compare.\r\n// If left out then the innerText is first taken for the cell and then the\r\n// fGetValueFromString is used to convert that string the desired value and type\r\n\r\nSortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {\r\n this._sortTypeInfo[sType] = {\r\n type: sType,\r\n getValueFromString: fGetValueFromString || SortableTable.idFunction,\r\n compare: fCompareFunction || SortableTable.basicCompare,\r\n getRowValue: fGetRowValue\r\n };\r\n};\r\n\r\n// this removes the sort type from all instances of SortableTable\r\nSortableTable.prototype.removeSortType = function (sType) {\r\n delete this._sortTypeInfo[sType];\r\n};\r\n\r\nSortableTable.basicCompare = function compare(n1, n2) {\r\n if (n1.value < n2.value)\r\n return -1;\r\n if (n2.value < n1.value)\r\n return 1;\r\n return 0;\r\n};\r\n\r\nSortableTable.idFunction = function (x) {\r\n return x;\r\n};\r\n\r\nSortableTable.toUpperCase = function (s) {\r\n return s.toUpperCase();\r\n};\r\n\r\nSortableTable.toDate = function (s) {\r\n var parts = s.split("-");\r\n var d = new Date(0);\r\n d.setFullYear(parts[0]);\r\n d.setDate(parts[2]);\r\n d.setMonth(parts[1] - 1);\r\n return d.valueOf();\r\n};\r\n\r\n\r\n// add sort types\r\nSortableTable.prototype.addSortType("Number", Number);\r\nSortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);\r\nSortableTable.prototype.addSortType("Date", SortableTable.toDate);\r\nSortableTable.prototype.addSortType("String");\r\n// None is a special case\r\n'}});
\ No newline at end of file
+webpackJsonp([1],{30:function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./array":16,"./array.js":16,"./const":11,"./const.js":11,"./cookie":29,"./cookie.js":29,"./date":6,"./date.js":6,"./dom":3,"./dom.js":3,"./emitter":8,"./emitter.js":8,"./event":1,"./event.js":1,"./extensions/advancedGrid/adapterEzEditTable":31,"./extensions/advancedGrid/adapterEzEditTable.js":31,"./extensions/advancedGrid/advancedGrid":32,"./extensions/advancedGrid/advancedGrid.js":32,"./extensions/colOps/colOps":33,"./extensions/colOps/colOps.js":33,"./extensions/colsVisibility/colsVisibility":34,"./extensions/colsVisibility/colsVisibility.js":34,"./extensions/filtersVisibility/filtersVisibility":35,"./extensions/filtersVisibility/filtersVisibility.js":35,"./extensions/sort/adapterSortabletable":36,"./extensions/sort/adapterSortabletable.js":36,"./extensions/sort/sort":37,"./extensions/sort/sort.js":37,"./feature":10,"./feature.js":10,"./helpers":7,"./helpers.js":7,"./modules/alternateRows":24,"./modules/alternateRows.js":24,"./modules/checkList":18,"./modules/checkList.js":18,"./modules/clearButton":22,"./modules/clearButton.js":22,"./modules/dropdown":15,"./modules/dropdown.js":15,"./modules/gridLayout":9,"./modules/gridLayout.js":9,"./modules/hash":27,"./modules/hash.js":27,"./modules/help":23,"./modules/help.js":23,"./modules/highlightKeywords":13,"./modules/highlightKeywords.js":13,"./modules/loader":12,"./modules/loader.js":12,"./modules/noResults":25,"./modules/noResults.js":25,"./modules/paging":21,"./modules/paging.js":21,"./modules/popupFilter":14,"./modules/popupFilter.js":14,"./modules/rowsCounter":19,"./modules/rowsCounter.js":19,"./modules/state":26,"./modules/state.js":26,"./modules/statusBar":20,"./modules/statusBar.js":20,"./modules/storage":28,"./modules/storage.js":28,"./root":2,"./root.js":2,"./sort":17,"./sort.js":17,"./string":5,"./string.js":5,"./types":4,"./types.js":4};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=30},31:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=n(10),a=n(3),d=r(a),c=n(11),u=n(2),h='Failed to instantiate EditTable object.\n \n"ezEditTable" dependency not found.',f=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name));return s.initialized=!1,s.desc=r.description||"ezEditTable adapter",s.filename=r.filename||"ezEditTable.js",s.vendorPath=r.vendor_path,s.loadStylesheet=Boolean(r.load_stylesheet),s.stylesheet=r.stylesheet||s.vendorPath+"ezEditTable.css",s.stylesheetName=r.stylesheet_name||"ezEditTableCss",r.scroll_into_view=r.scroll_into_view===!1?!1:n.gridLayout,s._ezEditTable=null,s.cfg=r,s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;if(!this.initialized){var t=this.tf;if(u.root.EditTable)this._setAdvancedGrid();else{var n=this.vendorPath+this.filename;t["import"](this.filename,n,function(){e._setAdvancedGrid()})}this.loadStylesheet&&!t.isImported(this.stylesheet,"link")&&t["import"](this.stylesheetName,this.stylesheet,null,"link"),this.emitter.on(["filter-focus","filter-blur"],function(){return e._toggleForInputFilter()}),this.initialized=!0}},t.prototype._setAdvancedGrid=function(){var e,t=this.tf,n=this.cfg,r=d["default"].tag(t.tbl,"thead");e=r.length>0&&!n.startRow?void 0:n.startRow||t.refRow,n.base_path=n.base_path||t.basePath+"ezEditTable/";var o=n.editable,i=n.selection;i&&(n.default_selection=n.default_selection||"row"),n.active_cell_css=n.active_cell_css||"ezETSelectedCell";var s=0,l=0;if(i){var a=function(e,n,r){var o=e.Selection,i=function(r){if("row"===e.defaultSelection)o.SelectRowByIndex(r);else{e.ClearSelections();var i=n.cellIndex,s=t.tbl.rows[r];"both"===e.defaultSelection&&o.SelectRowByIndex(r),s&&o.SelectCell(s.cells[i])}if(t.validRowsIndex.length!==t.getRowsNb()){var l=t.tbl.rows[r];l&&l.scrollIntoView(!1),h&&(h.cellIndex===t.getCellsNb()-1&&t.gridLayout?t.tblCont.scrollLeft=1e8:0===h.cellIndex&&t.gridLayout?t.tblCont.scrollLeft=0:h.scrollIntoView(!1))}};if(t.validRowsIndex){var a,d=t.validRowsIndex,c=d.length,u="row"!==e.defaultSelection?n.parentNode:n,h="TD"===n.nodeName?n:null,f=void 0!==r?e.Event.GetKey(r):0,p=-1!==d.indexOf(u.rowIndex),b=t.feature("paging"),y=34===f||33===f?b&&b.pagingLength||e.nbRowsPerPage:1;if(p)34!==f&&33!==f?(s=d.indexOf(u.rowIndex),l=u.rowIndex):(a=34===f?c-1>=s+y?d[s+y]:[c-1]:s-y<=d[0]?d[0]:d[s-y],l=a,s=d.indexOf(a),i(a));else{if(u.rowIndex>l)if(u.rowIndex>=d[c-1])a=d[c-1];else{var m=s+y;a=m>c-1?d[c-1]:d[m]}else if(u.rowIndex<=d[0])a=d[0];else{var g=d[s-y];a=g?g:d[0]}l=u.rowIndex,i(a)}}},c=function(e,n){var r="row"!==e.defaultSelection?n.parentNode:n;if(t.paging&&t.feature("paging").nbPages>1){var o=t.feature("paging");e.nbRowsPerPage=o.pagingLength;var i=t.validRowsIndex,s=i.length,l=parseInt(o.startPagingRow,10)+parseInt(o.pagingLength,10),a=r.rowIndex;a===i[s-1]&&o.currentPageNb!==o.nbPages?o.setPage("last"):a===i[0]&&1!==o.currentPageNb?o.setPage("first"):a>i[l-1]&&ai[0]&&o.setPage("previous")}};if(t.paging&&(t.feature("paging").onAfterChangePage=function(e){var t=e.tf.extension("advancedGrid"),n=t._ezEditTable,r=n.Selection,o=r.GetActiveRow();o&&o.scrollIntoView(!1);var i=r.GetActiveCell();i&&i.scrollIntoView(!1)}),"row"===n.default_selection){var u=n.on_before_selected_row;n.on_before_selected_row=function(){c(arguments[0],arguments[1],arguments[2]),u&&u.call(null,arguments[0],arguments[1],arguments[2])};var f=n.on_after_selected_row;n.on_after_selected_row=function(){a(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])}}else{var p=n.on_before_selected_cell;n.on_before_selected_cell=function(){c(arguments[0],arguments[1],arguments[2]),p&&p.call(null,arguments[0],arguments[1],arguments[2])};var b=n.on_after_selected_cell;n.on_after_selected_cell=function(){a(arguments[0],arguments[1],arguments[2]),b&&b.call(null,arguments[0],arguments[1],arguments[2])}}}if(o){var y=n.on_added_dom_row;if(n.on_added_dom_row=function(){t.nbFilterableRows++,t.paging?(t.nbVisibleRows++,t.nbFilterableRows++,t.paging=!1,t.feature("paging").destroy(),t.feature("paging").reset()):t.emitter.emit("rows-changed",t,this),t.alternateRows&&t.feature("alternateRows").init(),y&&y.call(null,arguments[0],arguments[1],arguments[2])},n.actions&&n.actions["delete"]){var m=n.actions["delete"].on_after_submit;n.actions["delete"].on_after_submit=function(){t.nbFilterableRows--,t.paging?(t.nbVisibleRows--,t.nbFilterableRows--,t.paging=!1,t.feature("paging").destroy(),t.feature("paging").reset(!1)):t.emitter.emit("rows-changed",t,this),t.alternateRows&&t.feature("alternateRows").init(),m&&m.call(null,arguments[0],arguments[1])}}}try{this._ezEditTable=new EditTable(t.id,n,e),this._ezEditTable.Init()}catch(g){throw new Error(h)}this.initialized=!0},t.prototype.reset=function(){var e=this._ezEditTable;e&&(this.cfg.selection&&e.Selection.Set(),this.cfg.editable&&e.Editable.Set())},t.prototype.toggle=function(){var e=this._ezEditTable;e.editable?e.Editable.Remove():e.Editable.Set(),e.selection?e.Selection.Remove():e.Selection.Set()},t.prototype._toggleForInputFilter=function(){var e=this.tf;if(e.getActiveFilterId()){var t=e.getColumnIndexFromFilterId(e.getActiveFilterId()),n=e.getFilterType(t);n===c.INPUT&&this.toggle()}},t.prototype.destroy=function(){var e=this;if(this.initialized){var t=this._ezEditTable;t&&(this.cfg.selection&&(t.Selection.ClearSelections(),t.Selection.Remove()),this.cfg.editable&&t.Editable.Remove()),this.emitter.off(["filter-focus","filter-blur"],function(){return e._toggleForInputFilter()}),this.initialized=!1}},t}(l.Feature);t["default"]=f},32:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(31),i=r(o);t["default"]=i["default"]},33:function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _feature=__webpack_require__(10),_dom=__webpack_require__(3),_dom2=_interopRequireDefault(_dom),_string=__webpack_require__(5),_string2=_interopRequireDefault(_string),_types=__webpack_require__(4),ColOps=function(_Feature){function ColOps(e,t){_classCallCheck(this,ColOps);var n=_possibleConstructorReturn(this,_Feature.call(this,e,t.name));return n.onBeforeOperation=(0,_types.isFn)(t.on_before_operation)?t.on_before_operation:null,n.onAfterOperation=(0,_types.isFn)(t.on_after_operation)?t.on_after_operation:null,n.opts=t,n.enable(),n}return _inherits(ColOps,_Feature),ColOps.prototype.init=function(){var e=this;this.initialized||(this.tf.emitter.on(["after-filtering"],function(){return e.calc()}),this.calc(),this.initialized=!0)},ColOps.prototype.calc=function calc(){var tf=this.tf;if(tf.hasGrid()){this.onBeforeOperation&&this.onBeforeOperation.call(null,tf);var opts=this.opts,labelId=opts.id,colIndex=opts.col,operation=opts.operation,outputType=opts.write_method,totRowIndex=opts.tot_row_index,excludeRow=opts.exclude_row,decimalPrecision=(0,_types.isUndef)(opts.decimal_precision)?2:opts.decimal_precision,ucolIndex=[],ucolMax=0;ucolIndex[ucolMax]=colIndex[0];for(var ii=1;ii=jj;jj++)ucolIndex[jj]===colIndex[ii]&&(saved=1);0===saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[ii])}if((0,_types.isArray)(labelId)&&(0,_types.isArray)(colIndex)&&(0,_types.isArray)(operation))for(var rows=tf.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(tf.getColValues(ucolIndex[ucol],!1,!0,excludeRow));for(var result,nbvalues=0,temp,meanValue=0,sumValue=0,minValue=null,maxValue=null,q1Value=null,medValue=null,q3Value=null,meanFlag=0,sumFlag=0,minFlag=0,maxFlag=0,q1Flag=0,medFlag=0,q3Flag=0,theList=[],opsThisCol=[],decThisCol=[],labThisCol=[],oTypeThisCol=[],mThisCol=-1,k=0;kmaxValue?parseFloat(cvalue):maxValue))}if(1===meanFlag&&(meanValue=sumValue/nbvalues),1===medFlag){var aux=0;nbvalues%2===1?(aux=Math.floor(nbvalues/2),medValue=theList[aux]):medValue=(theList[nbvalues/2]+theList[nbvalues/2-1])/2}var posa;if(1===q1Flag&&(posa=0,posa=Math.floor(nbvalues/4),q1Value=4*posa===nbvalues?(theList[posa-1]+theList[posa])/2:theList[posa]),1===q3Flag){posa=0;var posb=0;posa=Math.floor(nbvalues/4),4*posa===nbvalues?(posb=3*posa,q3Value=(theList[posb]+theList[posb-1])/2):q3Value=theList[nbvalues-posa-1]}for(var i=0;mThisCol>=i;i++){switch(opsThisCol[i]){case"mean":result=meanValue;break;case"sum":result=sumValue;break;case"min":result=minValue;break;case"max":result=maxValue;break;case"median":result=medValue;break;case"q1":result=q1Value;break;case"q3":result=q3Value}var precision=isNaN(decThisCol[i])?2:decThisCol[i];if(oTypeThisCol&&result){if(result=result.toFixed(precision),_dom2["default"].id(labThisCol[i]))switch(_string2["default"].lower(oTypeThisCol)){case"innerhtml":isNaN(result)||!isFinite(result)||0===nbvalues?_dom2["default"].id(labThisCol[i]).innerHTML=".":_dom2["default"].id(labThisCol[i]).innerHTML=result;break;case"setvalue":_dom2["default"].id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=_dom2["default"].id(labThisCol[i]).firstChild,txtnode=_dom2["default"].text(result);_dom2["default"].id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{isNaN(result)||!isFinite(result)||0===nbvalues?_dom2["default"].id(labThisCol[i]).innerHTML=".":_dom2["default"].id(labThisCol[i]).innerHTML=result.toFixed(precision)}catch(e){}}var totRow=totRowIndex&&totRowIndex[ucol]?rows[totRowIndex[ucol]]:null;totRow&&(totRow.style.display="")}this.onAfterOperation&&this.onAfterOperation.call(null,tf)}},ColOps.prototype.destroy=function(){var e=this;this.initialized&&(this.tf.emitter.off(["after-filtering"],function(){return e.calc()}),this.initialized=!1)},ColOps}(_feature.Feature);exports["default"]=ColOps},34:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=n(10),a=n(3),d=r(a),c=n(4),u=n(1),h=r(u),f=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name)),l=n.config();return s.initialized=!1,s.name=r.name,s.desc=r.description||"Columns visibility manager",s.spanEl=null,s.btnEl=null,s.contEl=null,s.tickToHide=r.tick_to_hide!==!1,s.manager=r.manager!==!1,s.headersTbl=r.headers_table||!1,s.headersIndex=r.headers_index||1,s.contElTgtId=r.container_target_id||null,s.headersText=r.headers_text||null,s.btnTgtId=r.btn_target_id||null,s.btnText=r.btn_text||"Columns▼",s.btnHtml=r.btn_html||null,s.btnCssClass=r.btn_css_class||"colVis",s.btnCloseText=r.btn_close_text||"Close",s.btnCloseHtml=r.btn_close_html||null,s.btnCloseCssClass=r.btn_close_css_class||s.btnCssClass,s.stylesheet=r.stylesheet||"colsVisibility.css",s.prfx="colVis_",s.spanCssClass=r.span_css_class||"colVisSpan",s.prfxCont=s.prfx+"Cont_",s.contCssClass=r.cont_css_class||"colVisCont",s.listCssClass=l.list_css_class||"cols_checklist",s.listItemCssClass=l.checklist_item_css_class||"cols_checklist_item",s.listSlcItemCssClass=l.checklist_selected_item_css_class||"cols_checklist_slc_item",s.text=r.text||(s.tickToHide?"Hide: ":"Show: "),s.atStart=r.at_start||null,s.enableHover=Boolean(r.enable_hover),s.enableTickAll=Boolean(r.enable_tick_all),s.tickAllText=r.tick_all_text||"Select all:",s.hiddenCols=[],s.tblHasColTag=d["default"].tag(n.tbl,"col").length>0,s.onLoaded=(0,c.isFn)(r.on_loaded)?r.on_loaded:null,s.onBeforeOpen=(0,c.isFn)(r.on_before_open)?r.on_before_open:null,s.onAfterOpen=(0,c.isFn)(r.on_after_open)?r.on_after_open:null,s.onBeforeClose=(0,c.isFn)(r.on_before_close)?r.on_before_close:null,s.onAfterClose=(0,c.isFn)(r.on_after_close)?r.on_after_close:null,s.onBeforeColHidden=(0,c.isFn)(r.on_before_col_hidden)?r.on_before_col_hidden:null,s.onAfterColHidden=(0,c.isFn)(r.on_after_col_hidden)?r.on_after_col_hidden:null,s.onBeforeColDisplayed=(0,c.isFn)(r.on_before_col_displayed)?r.on_before_col_displayed:null,s.onAfterColDisplayed=(0,c.isFn)(r.on_after_col_displayed)?r.on_after_col_displayed:null,n.gridLayout&&(s.headersTbl=n.feature("gridLayout").headTbl,s.headersIndex=0,s.onAfterColDisplayed=function(){},s.onAfterColHidden=function(){}),n["import"](r.name+"Style",n.stylePath+s.stylesheet,null,"link"),s.enable(),s}return s(t,e),t.prototype.toggle=function(){var e=this.contEl.style.display,t=this.onBeforeOpen,n=this.onBeforeClose,r=this.onAfterOpen,o=this.onAfterClose;t&&"inline"!==e&&t.call(null,this),n&&"inline"===e&&n.call(null,this),this.contEl.style.display="inline"===e?"none":"inline",r&&"inline"!==e&&r.call(null,this),o&&"inline"===e&&o.call(null,this)},t.prototype.checkItem=function(e){var t=e.parentNode;if(t&&e){var n=e.firstChild.checked,r=e.firstChild.getAttribute("id").split("_")[1];r=parseInt(r,10),n?d["default"].addClass(t,this.listSlcItemCssClass):d["default"].removeClass(t,this.listSlcItemCssClass);var o=!1;(this.tickToHide&&n||!this.tickToHide&&!n)&&(o=!0),this.setHidden(r,o)}},t.prototype.init=function(){var e=this;!this.initialized&&this.manager&&(this.emitter.on(["hide-column"],function(t,n){return e.hideCol(n)}),this.buildBtn(),this.buildManager(),this.initialized=!0,this.emitter.emit("columns-visibility-initialized",this.tf,this),this._hideAtStart())},t.prototype.buildBtn=function(){var e=this;if(!this.btnEl){var t=this.tf,n=d["default"].create("span",["id",this.prfx+t.id]);n.className=this.spanCssClass,this.btnTgtId||t.setToolbar();var r=this.btnTgtId?d["default"].id(this.btnTgtId):t.rDiv;if(this.btnTgtId)r.appendChild(n);else{var o=r.firstChild;o.parentNode.insertBefore(n,o)}if(this.btnHtml){n.innerHTML=this.btnHtml;var i=n.firstChild;this.enableHover?h["default"].add(i,"mouseover",function(t){return e.toggle(t)}):h["default"].add(i,"click",function(t){return e.toggle(t)})}else{var s=d["default"].create("a",["href","javascript:;"]);s.className=this.btnCssClass,s.title=this.desc,s.innerHTML=this.btnText,n.appendChild(s),this.enableHover?h["default"].add(s,"mouseover",function(t){return e.toggle(t)}):h["default"].add(s,"click",function(t){return e.toggle(t)})}this.spanEl=n,this.btnEl=this.spanEl.firstChild,this.onLoaded&&this.onLoaded.call(null,this)}},t.prototype.buildManager=function(){var e=this,t=this.tf,n=this.contElTgtId?d["default"].id(this.contElTgtId):d["default"].create("div",["id",this.prfxCont+t.id]);n.className=this.contCssClass;var r=d["default"].create("p");r.innerHTML=this.text,n.appendChild(r);var o=d["default"].create("ul",["id","ul"+this.name+"_"+t.id]);o.className=this.listCssClass;var i=this.headersTbl?this.headersTbl:t.tbl,s=this.headersTbl?this.headersIndex:t.getHeadersRowIndex(),l=i.rows[s];this.enableTickAll&&!function(){var n=d["default"].createCheckItem("col__"+t.id,e.tickAllText,e.tickAllText);d["default"].addClass(n,e.listItemCssClass),o.appendChild(n),n.check.checked=!e.tickToHide,h["default"].add(n.check,"click",function(){for(var e=0;e',s.icnCollapseHtml='',s.defaultText="Toggle filters",s.targetId=r.target_id||null,s.enableIcon=r.enable_icon!==!1,s.btnText=r.btn_text||"",s.collapseBtnHtml=s.enableIcon?s.icnCollapseHtml+s.btnText:s.btnText||s.defaultText,s.expandBtnHtml=s.enableIcon?s.icnExpandHtml+s.btnText:s.btnText||s.defaultText,s.btnHtml=r.btn_html||null,s.btnCssClass=r.btn_css_class||"btnExpClpFlt",s.contCssClass=r.cont_css_class||"expClpFlt",s.filtersRowIndex=(0,c.isUndef)(r.filters_row_index)?n.getFiltersRowIndex():r.filters_row_index,s.visibleAtStart=(0,c.isUndef)(r.visible_at_start)?!0:Boolean(r.visible_at_start),s.prfx="fltsVis_",s.onBeforeShow=(0,c.isFn)(r.on_before_show)?r.on_before_show:null,s.onAfterShow=(0,c.isFn)(r.on_after_show)?r.on_after_show:null,s.onBeforeHide=(0,c.isFn)(r.on_before_hide)?r.on_before_hide:null,s.onAfterHide=(0,c.isFn)(r.on_after_hide)?r.on_after_hide:null,n["import"](r.name+"Style",n.stylePath+s.stylesheet,null,"link"),s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;this.initialized||(this.buildUI(),this.initialized=!0,this.emitter.on(["show-filters"],function(t,n){return e.show(n)}),this.emitter.emit("filters-visibility-initialized",this.tf,this))},t.prototype.buildUI=function(){var e=this,t=this.tf,n=d["default"].create("span",["id",this.prfx+t.id]);n.className=this.contCssClass,this.targetId||t.setToolbar();var r=this.targetId?d["default"].id(this.targetId):t.rDiv;if(this.targetId)r.appendChild(n);else{var o=r.firstChild;o.parentNode.insertBefore(n,o)}var i=void 0;this.btnHtml?(n.innerHTML=this.btnHtml,i=n.firstChild):(i=d["default"].create("a",["href","javascript:void(0);"]),i.className=this.btnCssClass,i.title=this.btnText||this.defaultText,i.innerHTML=this.collapseBtnHtml,n.appendChild(i)),h["default"].add(i,"click",function(){return e.toggle()}),this.contEl=n,this.btnEl=i,this.visibleAtStart||this.toggle()},t.prototype.toggle=function(){var e=this.tf,t=e.gridLayout?e.feature("gridLayout").headTbl:e.tbl,n=t.rows[this.filtersRowIndex],r=""===n.style.display;this.show(!r)},t.prototype.show=function(){var e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0],t=this.tf,n=t.gridLayout?t.feature("gridLayout").headTbl:t.tbl,r=n.rows[this.filtersRowIndex];this.onBeforeShow&&e&&this.onBeforeShow.call(this,this),this.onBeforeHide&&!e&&this.onBeforeHide.call(null,this),r.style.display=e?"":"none",this.enableIcon&&!this.btnHtml&&(this.btnEl.innerHTML=e?this.collapseBtnHtml:this.expandBtnHtml),this.onAfterShow&&e&&this.onAfterShow.call(null,this),this.onAfterHide&&!e&&this.onAfterHide.call(null,this),this.emitter.emit("filters-toggled",t,this,e)},t.prototype.destroy=function(){var e=this;this.initialized&&(this.emitter.off(["show-filters"],function(t,n){return e.show(n)}),this.btnEl.innerHTML="",d["default"].remove(this.btnEl),this.btnEl=null,this.contEl.innerHTML="",d["default"].remove(this.contEl),this.contEl=null,this.initialized=!1)},t}(l.Feature);t["default"]=f},36:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e){return x["default"].removeNbFormat(e,"us")}function a(e){return x["default"].removeNbFormat(e,"eu")}function d(e,t){return w["default"].format(e,t)}function c(e){return d(e,"DMY")}function u(e){return d(e,"MDY")}function h(e){return d(e,"YMD")}function f(e){return d(e,"DDMMMYYYY")}function p(e){var t=e.split(".");for(var n in t){for(var r=t[n];3>r.length;)r="0"+r;t[n]=r}return t.join(".")}function b(e,t){var n=p(e.value.toLowerCase()),r=p(t.value.toLowerCase());return n===r?0:r>n?-1:1}Object.defineProperty(t,"__esModule",{value:!0});var y=n(10),m=n(4),g=n(3),_=r(g),T=n(1),v=r(T),C=n(6),w=r(C),S=n(7),x=r(S),I=n(11),k=function(e){function t(n,r){o(this,t);var s=i(this,e.call(this,n,r.name));return s.name=r.name,s.desc=r.description||"Sortable table",s.sorted=!1,s.sortTypes=(0,m.isArray)(r.types)?r.types:[],s.sortColAtStart=(0,m.isArray)(r.sort_col_at_start)?r.sort_col_at_start:null,s.asyncSort=Boolean(r.async_sort),s.triggerIds=(0,m.isArray)(r.trigger_ids)?r.trigger_ids:[],s.imgPath=r.images_path||n.themesPath,s.imgBlank=r.image_blank||"blank.png",s.imgClassName=r.image_class_name||"sort-arrow",s.imgAscClassName=r.image_asc_class_name||"ascending",s.imgDescClassName=r.image_desc_class_name||"descending",s.customKey=r.custom_key||"data-tf-sortKey",s.onSortLoaded=(0,m.isFn)(r.on_sort_loaded)?r.on_sort_loaded:null,s.onBeforeSort=(0,m.isFn)(r.on_before_sort)?r.on_before_sort:null,s.onAfterSort=(0,m.isFn)(r.on_after_sort)?r.on_after_sort:null,s.enable(),s}return s(t,e),t.prototype.init=function(){var e=this;if(!this.initialized){var t=this.tf,n=this;if((0,m.isUndef)(SortableTable))throw new Error("SortableTable class not found.");this.overrideSortableTable(),this.setSortTypes();var r=n.sortColAtStart;r&&this.stt.sort(r[0],r[1]),this.onSortLoaded&&this.onSortLoaded.call(null,t,this),this.stt.onbeforesort=function(){n.onBeforeSort&&n.onBeforeSort.call(null,t,n.stt.sortColumn),t.paging&&t.feature("paging").disable()},this.stt.onsort=function(){if(n.sorted=!0,t.paging){var e=t.feature("paging");t.getValidRows(!0),e.enable(),e.setPage(e.getPage())}n.onAfterSort&&n.onAfterSort.call(null,t,n.stt.sortColumn,n.stt.descending),n.emitter.emit("column-sorted",t,n.stt.sortColumn,n.stt.descending)},this.emitter.on(["sort"],function(t,n,r){return e.sortByColumnIndex(n,r)}),this.initialized=!0,this.emitter.emit("sort-initialized",t,this)}},t.prototype.sortByColumnIndex=function(e,t){this.stt.sort(e,t)},t.prototype.overrideSortableTable=function(){var e=this,t=this.tf;SortableTable.prototype.headerOnclick=function(t){if(e.initialized){for(var n=t.target||t.srcElement;n.tagName!==I.CELL_TAG&&n.tagName!==I.HEADER_TAG;)n=n.parentNode;this.sort(SortableTable.msie?SortableTable.getCellIndex(n):n.cellIndex)}},SortableTable.getCellIndex=function(e){var t=e.parentNode.cells,n=t.length,r=void 0;for(r=0;t[r]!==e&&n>r;r++);return r},SortableTable.prototype.initHeader=function(n){var r=this;if(!r.tHead){if(!t.gridLayout)return;r.tHead=t.feature("gridLayout").headTbl.tHead}r.headersRow=t.headersRow;var o=r.tHead.rows[r.headersRow].cells;r.sortTypes=n||[];for(var i=o.length,s=void 0,l=void 0,a=0;i>a;a++)l=o[a],null!==r.sortTypes[a]&&"None"!==r.sortTypes[a]?(l.style.cursor="pointer",s=_["default"].create("img",["src",e.imgPath+e.imgBlank]),l.appendChild(s),null!==r.sortTypes[a]&&l.setAttribute("_sortType",r.sortTypes[a]),v["default"].add(l,"click",r._headerOnclick)):(l.setAttribute("_sortType",n[a]),l._sortType="None");r.updateHeaderArrows()},SortableTable.prototype.updateHeaderArrows=function(){var t=this,n=void 0,r=void 0,o=void 0;if(e.asyncSort&&e.triggerIds.length>0){var i=e.triggerIds;
+n=[],r=i.length;for(var s=0;sl;l++){var a=n[l].getAttribute("_sortType");null!==a&&"None"!==a&&(o=n[l].lastChild||n[l],"img"!==o.nodeName.toLowerCase()&&(o=_["default"].create("img",["src",e.imgPath+e.imgBlank]),n[l].appendChild(o)),l===t.sortColumn?o.className=e.imgClassName+" "+(this.descending?e.imgDescClassName:e.imgAscClassName):o.className=e.imgClassName)}},SortableTable.prototype.getRowValue=function(e,t,n){var r=this,o=r._sortTypeInfo[t];if(o&&o.getRowValue)return o.getRowValue(e,n);var i=e.cells[n],s=SortableTable.getInnerText(i);return r.getValueFromString(s,t)},SortableTable.getInnerText=function(t){return t?t.getAttribute(e.customKey)?t.getAttribute(e.customKey):_["default"].getText(t):void 0}},t.prototype.addSortType=function(){var e=arguments;SortableTable.prototype.addSortType(e[0],e[1],e[2],e[3])},t.prototype.setSortTypes=function(){for(var e=this,t=this.tf,n=this.sortTypes,r=[],o=0;o0&&!function(){for(var t=e.triggerIds,n=0;n descending, false -> ascending\r\nSortableTable.prototype.defaultDescending = false;\r\n\r\n// shared between all instances. This is intentional to allow external files\r\n// to modify the prototype\r\nSortableTable.prototype._sortTypeInfo = {};\r\n\r\nSortableTable.prototype.setTable = function (oTable) {\r\n if ( this.tHead )\r\n this.uninitHeader();\r\n this.element = oTable;\r\n this.setTHead( oTable.tHead );\r\n this.setTBody( oTable.tBodies[0] );\r\n};\r\n\r\nSortableTable.prototype.setTHead = function (oTHead) {\r\n if (this.tHead && this.tHead != oTHead )\r\n this.uninitHeader();\r\n this.tHead = oTHead;\r\n this.initHeader( this.sortTypes );\r\n};\r\n\r\nSortableTable.prototype.setTBody = function (oTBody) {\r\n this.tBody = oTBody;\r\n};\r\n\r\nSortableTable.prototype.setSortTypes = function ( oSortTypes ) {\r\n if ( this.tHead )\r\n this.uninitHeader();\r\n this.sortTypes = oSortTypes || [];\r\n if ( this.tHead )\r\n this.initHeader( this.sortTypes );\r\n};\r\n\r\n// adds arrow containers and events\r\n// also binds sort type to the header cells so that reordering columns does\r\n// not break the sort types\r\nSortableTable.prototype.initHeader = function (oSortTypes) {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var doc = this.tHead.ownerDocument || this.tHead.document;\r\n this.sortTypes = oSortTypes || [];\r\n var l = cells.length;\r\n var img, c;\r\n for (var i = 0; i < l; i++) {\r\n c = cells[i];\r\n if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {\r\n img = doc.createElement("IMG");\r\n img.src = "images/blank.png";\r\n c.appendChild(img);\r\n if (this.sortTypes[i] != null)\r\n c._sortType = this.sortTypes[i];\r\n if (typeof c.addEventListener != "undefined")\r\n c.addEventListener("click", this._headerOnclick, false);\r\n else if (typeof c.attachEvent != "undefined")\r\n c.attachEvent("onclick", this._headerOnclick);\r\n else\r\n c.onclick = this._headerOnclick;\r\n }\r\n else\r\n {\r\n c.setAttribute( "_sortType", oSortTypes[i] );\r\n c._sortType = "None";\r\n }\r\n }\r\n this.updateHeaderArrows();\r\n};\r\n\r\n// remove arrows and events\r\nSortableTable.prototype.uninitHeader = function () {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var l = cells.length;\r\n var c;\r\n for (var i = 0; i < l; i++) {\r\n c = cells[i];\r\n if (c._sortType != null && c._sortType != "None") {\r\n c.removeChild(c.lastChild);\r\n if (typeof c.removeEventListener != "undefined")\r\n c.removeEventListener("click", this._headerOnclick, false);\r\n else if (typeof c.detachEvent != "undefined")\r\n c.detachEvent("onclick", this._headerOnclick);\r\n c._sortType = null;\r\n c.removeAttribute( "_sortType" );\r\n }\r\n }\r\n};\r\n\r\nSortableTable.prototype.updateHeaderArrows = function () {\r\n if (!this.tHead) return;\r\n var cells = this.tHead.rows[0].cells;\r\n var l = cells.length;\r\n var img;\r\n for (var i = 0; i < l; i++) {\r\n if (cells[i]._sortType != null && cells[i]._sortType != "None") {\r\n img = cells[i].lastChild;\r\n if (i == this.sortColumn)\r\n img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");\r\n else\r\n img.className = "sort-arrow";\r\n }\r\n }\r\n};\r\n\r\nSortableTable.prototype.headerOnclick = function (e) {\r\n // find TD element\r\n var el = e.target || e.srcElement;\r\n while (el.tagName != "TD")\r\n el = el.parentNode;\r\n\r\n this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);\r\n};\r\n\r\n// IE returns wrong cellIndex when columns are hidden\r\nSortableTable.getCellIndex = function (oTd) {\r\n var cells = oTd.parentNode.childNodes\r\n var l = cells.length;\r\n var i;\r\n for (i = 0; cells[i] != oTd && i < l; i++)\r\n ;\r\n return i;\r\n};\r\n\r\nSortableTable.prototype.getSortType = function (nColumn) {\r\n return this.sortTypes[nColumn] || "String";\r\n};\r\n\r\n// only nColumn is required\r\n// if bDescending is left out the old value is taken into account\r\n// if sSortType is left out the sort type is found from the sortTypes array\r\n\r\nSortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {\r\n if (!this.tBody) return;\r\n if (sSortType == null)\r\n sSortType = this.getSortType(nColumn);\r\n\r\n // exit if None\r\n if (sSortType == "None")\r\n return;\r\n\r\n if (bDescending == null) {\r\n if (this.sortColumn != nColumn)\r\n this.descending = this.defaultDescending;\r\n else\r\n this.descending = !this.descending;\r\n }\r\n else\r\n this.descending = bDescending;\r\n\r\n this.sortColumn = nColumn;\r\n\r\n if (typeof this.onbeforesort == "function")\r\n this.onbeforesort();\r\n\r\n var f = this.getSortFunction(sSortType, nColumn);\r\n var a = this.getCache(sSortType, nColumn);\r\n var tBody = this.tBody;\r\n\r\n a.sort(f);\r\n\r\n if (this.descending)\r\n a.reverse();\r\n\r\n if (SortableTable.removeBeforeSort) {\r\n // remove from doc\r\n var nextSibling = tBody.nextSibling;\r\n var p = tBody.parentNode;\r\n p.removeChild(tBody);\r\n }\r\n\r\n // insert in the new order\r\n var l = a.length;\r\n for (var i = 0; i < l; i++)\r\n tBody.appendChild(a[i].element);\r\n\r\n if (SortableTable.removeBeforeSort) {\r\n // insert into doc\r\n p.insertBefore(tBody, nextSibling);\r\n }\r\n\r\n this.updateHeaderArrows();\r\n\r\n this.destroyCache(a);\r\n\r\n if (typeof this.onsort == "function")\r\n this.onsort();\r\n};\r\n\r\nSortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {\r\n var oThis = this;\r\n this._asyncsort = function () {\r\n oThis.sort(nColumn, bDescending, sSortType);\r\n };\r\n window.setTimeout(this._asyncsort, 1);\r\n};\r\n\r\nSortableTable.prototype.getCache = function (sType, nColumn) {\r\n if (!this.tBody) return [];\r\n var rows = this.tBody.rows;\r\n var l = rows.length;\r\n var a = new Array(l);\r\n var r;\r\n for (var i = 0; i < l; i++) {\r\n r = rows[i];\r\n a[i] = {\r\n value: this.getRowValue(r, sType, nColumn),\r\n element: r\r\n };\r\n };\r\n return a;\r\n};\r\n\r\nSortableTable.prototype.destroyCache = function (oArray) {\r\n var l = oArray.length;\r\n for (var i = 0; i < l; i++) {\r\n oArray[i].value = null;\r\n oArray[i].element = null;\r\n oArray[i] = null;\r\n }\r\n};\r\n\r\nSortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {\r\n // if we have defined a custom getRowValue use that\r\n if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)\r\n return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);\r\n\r\n var s;\r\n var c = oRow.cells[nColumn];\r\n if (typeof c.innerText != "undefined")\r\n s = c.innerText;\r\n else\r\n s = SortableTable.getInnerText(c);\r\n return this.getValueFromString(s, sType);\r\n};\r\n\r\nSortableTable.getInnerText = function (oNode) {\r\n var s = "";\r\n var cs = oNode.childNodes;\r\n var l = cs.length;\r\n for (var i = 0; i < l; i++) {\r\n switch (cs[i].nodeType) {\r\n case 1: //ELEMENT_NODE\r\n s += SortableTable.getInnerText(cs[i]);\r\n break;\r\n case 3: //TEXT_NODE\r\n s += cs[i].nodeValue;\r\n break;\r\n }\r\n }\r\n return s;\r\n};\r\n\r\nSortableTable.prototype.getValueFromString = function (sText, sType) {\r\n if (this._sortTypeInfo[sType])\r\n return this._sortTypeInfo[sType].getValueFromString( sText );\r\n return sText;\r\n /*\r\n switch (sType) {\r\n case "Number":\r\n return Number(sText);\r\n case "CaseInsensitiveString":\r\n return sText.toUpperCase();\r\n case "Date":\r\n var parts = sText.split("-");\r\n var d = new Date(0);\r\n d.setFullYear(parts[0]);\r\n d.setDate(parts[2]);\r\n d.setMonth(parts[1] - 1);\r\n return d.valueOf();\r\n }\r\n return sText;\r\n */\r\n };\r\n\r\nSortableTable.prototype.getSortFunction = function (sType, nColumn) {\r\n if (this._sortTypeInfo[sType])\r\n return this._sortTypeInfo[sType].compare;\r\n return SortableTable.basicCompare;\r\n};\r\n\r\nSortableTable.prototype.destroy = function () {\r\n this.uninitHeader();\r\n var win = this.document.parentWindow;\r\n if (win && typeof win.detachEvent != "undefined") { // only IE needs this\r\n win.detachEvent("onunload", this._onunload);\r\n }\r\n this._onunload = null;\r\n this.element = null;\r\n this.tHead = null;\r\n this.tBody = null;\r\n this.document = null;\r\n this._headerOnclick = null;\r\n this.sortTypes = null;\r\n this._asyncsort = null;\r\n this.onsort = null;\r\n};\r\n\r\n// Adds a sort type to all instance of SortableTable\r\n// sType : String - the identifier of the sort type\r\n// fGetValueFromString : function ( s : string ) : T - A function that takes a\r\n// string and casts it to a desired format. If left out the string is just\r\n// returned\r\n// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort\r\n// compare function. Takes two values and compares them. If left out less than,\r\n// <, compare is used\r\n// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function\r\n// that takes the row and the column index and returns the value used to compare.\r\n// If left out then the innerText is first taken for the cell and then the\r\n// fGetValueFromString is used to convert that string the desired value and type\r\n\r\nSortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {\r\n this._sortTypeInfo[sType] = {\r\n type: sType,\r\n getValueFromString: fGetValueFromString || SortableTable.idFunction,\r\n compare: fCompareFunction || SortableTable.basicCompare,\r\n getRowValue: fGetRowValue\r\n };\r\n};\r\n\r\n// this removes the sort type from all instances of SortableTable\r\nSortableTable.prototype.removeSortType = function (sType) {\r\n delete this._sortTypeInfo[sType];\r\n};\r\n\r\nSortableTable.basicCompare = function compare(n1, n2) {\r\n if (n1.value < n2.value)\r\n return -1;\r\n if (n2.value < n1.value)\r\n return 1;\r\n return 0;\r\n};\r\n\r\nSortableTable.idFunction = function (x) {\r\n return x;\r\n};\r\n\r\nSortableTable.toUpperCase = function (s) {\r\n return s.toUpperCase();\r\n};\r\n\r\nSortableTable.toDate = function (s) {\r\n var parts = s.split("-");\r\n var d = new Date(0);\r\n d.setFullYear(parts[0]);\r\n d.setDate(parts[2]);\r\n d.setMonth(parts[1] - 1);\r\n return d.valueOf();\r\n};\r\n\r\n\r\n// add sort types\r\nSortableTable.prototype.addSortType("Number", Number);\r\nSortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);\r\nSortableTable.prototype.addSortType("Date", SortableTable.toDate);\r\nSortableTable.prototype.addSortType("String");\r\n// None is a special case\r\n'}});
\ No newline at end of file
diff --git a/package.json b/package.json
index 1586aaad..07aba0d9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "tablefilter",
- "version": "0.2.28",
+ "version": "0.2.29",
"description": "A Javascript library making HTML tables filterable and a bit more",
"license": "MIT",
"author": {
diff --git a/src/extensions/advancedGrid/adapterEzEditTable.js b/src/extensions/advancedGrid/adapterEzEditTable.js
index 25c893e5..4a0f79af 100644
--- a/src/extensions/advancedGrid/adapterEzEditTable.js
+++ b/src/extensions/advancedGrid/adapterEzEditTable.js
@@ -328,7 +328,6 @@ export default class AdapterEzEditTable extends Feature {
tf.emitter.emit('rows-changed', tf, this);
//tf.feature('rowsCounter').refresh();
} else {
- tf.nbRows++;
tf.nbVisibleRows++;
tf.nbFilterableRows++;
tf.paging = false;
@@ -350,7 +349,6 @@ export default class AdapterEzEditTable extends Feature {
// tf.feature('rowsCounter').refresh();
tf.emitter.emit('rows-changed', tf, this);
} else {
- tf.nbRows--;
tf.nbVisibleRows--;
tf.nbFilterableRows--;
tf.paging = false;
diff --git a/src/modules/alternateRows.js b/src/modules/alternateRows.js
index b3e11185..c4ece366 100644
--- a/src/modules/alternateRows.js
+++ b/src/modules/alternateRows.js
@@ -113,7 +113,8 @@ export class AlternateRows extends Feature {
if(!this.initialized){
return;
}
- for(var i=0; i this.onChange(evt));
let rows = tf.tbl.rows;
+ let nbRows = tf.getRowsNb(true);
this.isCustom = tf.isCustomOptions(colIndex);
let activeIdx;
@@ -156,7 +157,7 @@ export class CheckList extends Feature {
flt.innerHTML = '';
- for (let k = tf.refRow; k < tf.nbRows; k++) {
+ for (let k = tf.refRow; k < nbRows; k++) {
// always visible rows don't need to appear on selects as always
// valid
if (tf.hasVisibleRows && tf.visibleRows.indexOf(k) !== -1) {
diff --git a/src/modules/dropdown.js b/src/modules/dropdown.js
index 4607af69..18b90f6a 100644
--- a/src/modules/dropdown.js
+++ b/src/modules/dropdown.js
@@ -131,6 +131,7 @@ export class Dropdown extends Feature {
let slcId = tf.fltIds[colIndex];
let slc = Dom.id(slcId),
rows = tf.tbl.rows,
+ nbRows = tf.getRowsNb(true),
matchCase = tf.matchCase;
//custom select test
@@ -150,7 +151,7 @@ export class Dropdown extends Feature {
filteredDataCol = [];
}
- for (let k = tf.refRow; k < tf.nbRows; k++) {
+ for (let k = tf.refRow; k < nbRows; k++) {
// always visible rows don't need to appear on selects as always
// valid
if (tf.hasVisibleRows && tf.visibleRows.indexOf(k) !== -1) {
diff --git a/src/modules/paging.js b/src/modules/paging.js
index 5ae93410..18e28796 100644
--- a/src/modules/paging.js
+++ b/src/modules/paging.js
@@ -122,7 +122,7 @@ export class Paging extends Feature {
this.prfxPgAfterSpan = 'pgafterspan_';
var start_row = tf.refRow;
- var nrows = tf.nbRows;
+ var nrows = tf.getRowsNb(true);
//calculates page nb
this.nbPages = Math.ceil((nrows - start_row) / this.pagingLength);
diff --git a/src/tablefilter.js b/src/tablefilter.js
index 1eb4fe6c..b75a2c39 100644
--- a/src/tablefilter.js
+++ b/src/tablefilter.js
@@ -51,7 +51,6 @@ export class TableFilter {
this.headersRow = null;
this.cfg = {};
this.nbFilterableRows = null;
- this.nbRows = null;
this.nbCells = null;
this._hasGrid = false;
@@ -452,7 +451,6 @@ export class TableFilter {
this.nbFilterableRows = this.getRowsNb();
this.nbVisibleRows = this.nbFilterableRows;
- this.nbRows = this.tbl.rows.length;
// Generate filters
for (let i = 0; i < n; i++) {
@@ -701,7 +699,6 @@ export class TableFilter {
this.refRow = this.refRow > 0 ? this.refRow - 1 : 0;
this.nbFilterableRows = this.getRowsNb();
this.nbVisibleRows = this.nbFilterableRows;
- this.nbRows = this.nbFilterableRows + this.refRow;
}
/**
@@ -1140,6 +1137,7 @@ export class TableFilter {
this.emitter.emit('before-filtering', this);
let row = this.tbl.rows,
+ nbRows = this.getRowsNb(true),
hiddenrows = 0;
this.validRowsIndex = [];
@@ -1382,7 +1380,7 @@ export class TableFilter {
return occurence;
}//fn
- for (let k = this.refRow; k < this.nbRows; k++) {
+ for (let k = this.refRow; k < nbRows; k++) {
// already filtered rows display re-init
row[k].style.display = '';
@@ -1500,14 +1498,15 @@ export class TableFilter {
if (!this.fltGrid) {
return;
}
- let row = this.tbl.rows,
- colValues = [];
+ let row = this.tbl.rows;
+ let nbRows = this.getRowsNb(true);
+ let colValues = [];
if (includeHeaders) {
colValues.push(this.getHeadersText()[colIndex]);
}
- for (let i = this.refRow; i < this.nbRows; i++) {
+ for (let i = this.refRow; i < nbRows; i++) {
let isExludedRow = false;
// checks if current row index appears in exclude array
if (exclude.length > 0) {
@@ -1656,9 +1655,11 @@ export class TableFilter {
* @return {Number} Number of filterable rows
*/
getRowsNb(includeHeaders) {
- let s = isUndef(this.refRow) ? 0 : this.refRow,
- ntrs = this.tbl.rows.length;
- if (includeHeaders) { s = 0; }
+ let s = isUndef(this.refRow) ? 0 : this.refRow;
+ let ntrs = this.tbl.rows.length;
+ if (includeHeaders) {
+ s = 0;
+ }
return parseInt(ntrs - s, 10);
}
@@ -1692,12 +1693,13 @@ export class TableFilter {
*/
getTableData(includeHeaders = false, excludeHiddenCols = false) {
let rows = this.tbl.rows;
+ let nbRows = this.getRowsNb(true);
let tblData = [];
if (includeHeaders) {
let headers = this.getHeadersText(excludeHiddenCols);
tblData.push([this.getHeadersRowIndex(), headers]);
}
- for (let k = this.refRow; k < this.nbRows; k++) {
+ for (let k = this.refRow; k < nbRows; k++) {
let rowData = [k, []];
let cells = rows[k].cells;
for (let j = 0, len = cells.length; j < len; j++) {
@@ -1932,10 +1934,11 @@ export class TableFilter {
if (!this.hasVisibleRows) {
return;
}
+ let nbRows = this.getRowsNb(true);
for (let i = 0, len = this.visibleRows.length; i < len; i++) {
let row = this.visibleRows[i];
//row index cannot be > nrows
- if (row <= this.nbRows) {
+ if (row <= nbRows) {
this.validateRow(row, true);
}
}
@@ -2188,8 +2191,9 @@ export class TableFilter {
return this.validRowsIndex;
}
+ let nbRows = this.getRowsNb(true);
this.validRowsIndex = [];
- for (let k = this.refRow; k < this.getRowsNb(true); k++) {
+ for (let k = this.refRow; k < nbRows; k++) {
let r = this.tbl.rows[k];
if (!this.paging) {
if (this.getRowDisplay(r) !== NONE) {
@@ -2235,7 +2239,8 @@ export class TableFilter {
* @return {Number}
*/
getLastRowIndex() {
- return (this.nbRows - 1);
+ let nbRows = this.getRowsNb(true);
+ return (nbRows - 1);
}
/**