From 025ab2fe2b5c3f4f22e14f1ce304fb8a6dabe5ac Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Wed, 20 Apr 2016 17:15:49 +0200 Subject: [PATCH] Generated by grunt gh-pages --- persistence.html | 23 ++++++++++++++++---- tablefilter/style/colsVisibility.css | 2 +- tablefilter/style/filtersVisibility.css | 2 +- tablefilter/style/tablefilter.css | 2 +- tablefilter/style/themes/default/default.css | 2 +- tablefilter/style/themes/mytheme/mytheme.css | 2 +- tablefilter/style/themes/skyblue/skyblue.css | 2 +- tablefilter/tablefilter.js | 2 +- tablefilter/tf-1.js | 6 ++--- 9 files changed, 29 insertions(+), 14 deletions(-) diff --git a/persistence.html b/persistence.html index a42ce740..0e4ed599 100644 --- a/persistence.html +++ b/persistence.html @@ -181,13 +181,22 @@ persisted:

+
+ +
+ + @@ -13156,7 +13165,8 @@ filters: true, page_number: true, page_length: true, - sort: true + sort: true, + columns_visibility: true }, paging: true, results_per_page: ['Records: ', [10, 25, 50, 100]], @@ -13180,6 +13190,11 @@ 'number', 'number', 'number', 'number', 'number', 'number' ] + }, { + name: 'colsVisibility', + text: 'Hide columns:', + enable_tick_all: true, + btn_target_id: 'colsBtn' }] }; var tf = new TableFilter('demo', filtersConfig); diff --git a/tablefilter/style/colsVisibility.css b/tablefilter/style/colsVisibility.css index aec94ce6..9239797d 100644 --- a/tablefilter/style/colsVisibility.css +++ b/tablefilter/style/colsVisibility.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ span.colVisSpan{text-align:left;}span.colVisSpan a.colVis{display:inline-block;padding:7px 5px 0;font-size:inherit;font-weight:inherit;vertical-align:top}div.colVisCont{position:relative;background:#fff;-webkit-box-shadow:3px 3px 2px #888;-moz-box-shadow:3px 3px 2px #888;box-shadow:3px 3px 2px #888;position:absolute;display:none;border:1px solid #ccc;height:auto;width:250px;background-color:#fff;margin:35px 0 0 -100px;z-index:10000;padding:10px 10px 10px 10px;text-align:left;font-size:12px;}div.colVisCont:after,div.colVisCont:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.colVisCont:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:10px;margin-left:-10px}div.colVisCont:before{border-color:rgba(255,255,255,0);border-bottom-color:#ccc;border-width:12px;margin-left:-12px}div.colVisCont p{margin:6px auto 6px auto}div.colVisCont a.colVis{display:initial;font-weight:inherit}ul.cols_checklist{padding:0;margin:0;list-style:none;}ul.cols_checklist label{display:block}ul.cols_checklist input{vertical-align:middle;margin:2px 5px 2px 1px}li.cols_checklist_item{padding:4px;margin:0;}li.cols_checklist_item:hover{background-color:#335ea8;color:#fff}.cols_checklist_slc_item{background-color:#335ea8;color:#fff} \ No newline at end of file diff --git a/tablefilter/style/filtersVisibility.css b/tablefilter/style/filtersVisibility.css index cdea7a0c..a0b1eac5 100644 --- a/tablefilter/style/filtersVisibility.css +++ b/tablefilter/style/filtersVisibility.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ span.expClpFlt a.btnExpClpFlt{width:35px;height:35px;display:inline-block;}span.expClpFlt a.btnExpClpFlt:hover{background-color:#f4f4f4}span.expClpFlt img{padding:8px 11px 11px 11px} \ No newline at end of file diff --git a/tablefilter/style/tablefilter.css b/tablefilter/style/tablefilter.css index ebf19f92..ab0ec460 100644 --- a/tablefilter/style/tablefilter.css +++ b/tablefilter/style/tablefilter.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ .activeHeader{background-color:#66afe9 !important;color:#fff !important} diff --git a/tablefilter/style/themes/default/default.css b/tablefilter/style/themes/default/default.css index 8ac022e3..e366e0e9 100644 --- a/tablefilter/style/themes/default/default.css +++ b/tablefilter/style/themes/default/default.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ table.TF{border-left:1px solid #ccc;border-top:none;border-right:none;border-bottom:none;}table.TF th{background:#ebecee url("images/bg_th.jpg") left top repeat-x;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;border-left:1px solid #fff;border-top:1px solid #fff;color:#333}table.TF td{border-bottom:1px dotted #999;padding:5px}.fltrow{background-color:#ebecee !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #666 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #999 !important}input.flt{width:99% !important}.inf{height:$min-height;background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important}input.reset{background:transparent url("images/btn_eraser.gif") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;}.nextPage:hover{background:transparent url("images/btn_over_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important;}.previousPage:hover{background:transparent url("images/btn_over_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;}.firstPage:hover{background:transparent url("images/btn_over_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;}.lastPage:hover{background:transparent url("images/btn_over_last_page.gif") center center no-repeat !important}div.grd_Cont{background-color:#ebecee !important;border:1px solid #ccc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#d5d5d5}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important;}div.grd_headTblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #999 !important}.grd_inf{background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important;border-top:1px solid #d0d0d0 !important}.loader{border:1px solid #999}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#fff}.odd{background-color:#d5d5d5}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#999 !important} \ No newline at end of file diff --git a/tablefilter/style/themes/mytheme/mytheme.css b/tablefilter/style/themes/mytheme/mytheme.css index f991fedc..ee61f6ce 100644 --- a/tablefilter/style/themes/mytheme/mytheme.css +++ b/tablefilter/style/themes/mytheme/mytheme.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ table.TF{border-left:1px dotted #81963b;border-top:none;border-right:0;border-bottom:none;}table.TF th{background:#39424b url("images/bg_headers.jpg") left top repeat-x;border-bottom:0;border-right:1px dotted #d0d0d0;border-left:0;border-top:0;color:#fff}table.TF td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b;padding:5px}.fltrow{background-color:#81963b !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #687830 !important}input.flt{width:99% !important}.inf{background:#d8d8d8;height:$min-height}input.reset{width:53px;background:transparent url("images/btn_filter.png") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important}div.grd_Cont{background:#81963b url("images/bg_headers.jpg") left top repeat-x !important;border:1px solid #ccc !important;padding:0 1px 1px 1px !important;}div.grd_Cont .even{background-color:#bccd83}div.grd_Cont .odd{background-color:#fff}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important;}div.grd_tblCont table td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b}div.grd_tblCont table th,div.grd_headTblCont table th{background:transparent url("images/bg_headers.jpg") 0 0 repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;padding:0 4px 0 4px !important;color:#fff !important;height:35px !important}div.grd_headTblCont table td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;background-color:#81963b !important;padding:1px 3px 1px 3px !important}.grd_inf{background-color:#d8d8d8;border-top:1px solid #d0d0d0 !important}.loader{border:0 !important;background:#81963b !important}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#bccd83}.odd{background-color:#fff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#81963b !important} \ No newline at end of file diff --git a/tablefilter/style/themes/skyblue/skyblue.css b/tablefilter/style/themes/skyblue/skyblue.css index f1cb4452..ba1292e7 100644 --- a/tablefilter/style/themes/skyblue/skyblue.css +++ b/tablefilter/style/themes/skyblue/skyblue.css @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.575Z + * build date: 2016-04-20T14:24:50.288Z * MIT License */ table.TF{padding:0;color:#000;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-left:1px solid #a4bed4;border-bottom:0;}table.TF th{margin:0;color:inherit;background:#d1e5fe url("images/bg_skyblue.gif") 0 0 repeat-x;border-color:#fdfdfd #a4bed4 #a4bed4 #fdfdfd;border-width:1px;border-style:solid}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid #a4bed4;border-left:0;border-top:0;border-right:0}.fltrow{background-color:#d1e5fe !important;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4 !important}input.flt{width:99% !important}.inf{background-color:#e3efff !important;border:1px solid #a4bed4;height:$min-height;color:#004a6f}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#ffe4ab url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#ffe4ab url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#ffe4ab url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#ffe4ab url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.activeHeader{background:#ffe4ab !important;border:1px solid #ffb552 !important;color:inherit !important}div.grd_Cont{background-color:#d9eaed !important;border:1px solid #9cc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#e3efff}div.grd_headTblCont{background-color:#d9eaed !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#d9eaed url("images/bg_skyblue.gif") left top repeat-x;border-bottom:1px solid #a4bed4;border-right:1px solid #a4bed4 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #a4bed4 !important;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:#cce2fe;color:#004a6f;border-top:1px solid #9cc !important;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#2d8eef;border:1px solid #cce2fe;border-radius:5px}.even{background-color:#fff}.odd{background-color:#e3efff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ffdc61 !important;color:inherit}.ezSelectedRow{background-color:#ffe4ab !important;color:inherit}.ezActiveCell{background-color:#fff !important;color:#000 !important;font-weight:bold}.ezETSelectedCell{background-color:#fff !important;font-weight:bold;color:#000 !important} \ No newline at end of file diff --git a/tablefilter/tablefilter.js b/tablefilter/tablefilter.js index 6060de07..8becc09e 100644 --- a/tablefilter/tablefilter.js +++ b/tablefilter/tablefilter.js @@ -1,6 +1,6 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.489Z + * build date: 2016-04-20T14:24:50.219Z * MIT License */ diff --git a/tablefilter/tf-1.js b/tablefilter/tf-1.js index be005712..775d7813 100644 --- a/tablefilter/tf-1.js +++ b/tablefilter/tf-1.js @@ -1,8 +1,8 @@ /** * tablefilter v0.2.12 by Max Guglielmi - * build date: 2016-04-20T15:09:16.489Z + * build date: 2016-04-20T14:24:50.219Z * MIT License */ -webpackJsonp([1],{29:function(e,t,n){function i(e){return n(s(e))}function s(e){return o[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var o={"./array":16,"./array.js":16,"./cookie":9,"./cookie.js":9,"./date":5,"./date.js":5,"./dom":2,"./dom.js":2,"./emitter":7,"./emitter.js":7,"./event":1,"./event.js":1,"./extensions/advancedGrid/adapterEzEditTable":30,"./extensions/advancedGrid/adapterEzEditTable.js":30,"./extensions/advancedGrid/advancedGrid":31,"./extensions/advancedGrid/advancedGrid.js":31,"./extensions/colOps/colOps":32,"./extensions/colOps/colOps.js":32,"./extensions/colsVisibility/colsVisibility":33,"./extensions/colsVisibility/colsVisibility.js":33,"./extensions/filtersVisibility/filtersVisibility":34,"./extensions/filtersVisibility/filtersVisibility.js":34,"./extensions/sort/adapterSortabletable":35,"./extensions/sort/adapterSortabletable.js":35,"./extensions/sort/sort":36,"./extensions/sort/sort.js":36,"./helpers":6,"./helpers.js":6,"./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/feature":11,"./modules/feature.js":11,"./modules/gridLayout":10,"./modules/gridLayout.js":10,"./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,"./modules/store":8,"./modules/store.js":8,"./sort":17,"./sort.js":17,"./string":4,"./string.js":4,"./types":3,"./types.js":3};i.keys=function(){return Object.keys(o)},i.resolve=s,e.exports=i,i.id=29},30:function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),l=i(o),a=function(){function e(t,n){s(this,e),this.initialized=!1,this.desc=n.description||"ezEditTable adapter",this.filename=n.filename||"ezEditTable.js",this.vendorPath=n.vendor_path,this.loadStylesheet=Boolean(n.load_stylesheet),this.stylesheet=n.stylesheet||this.vendorPath+"ezEditTable.css",this.stylesheetName=n.stylesheet_name||"ezEditTableCss",this.err='Failed to instantiate EditTable object.\n"ezEditTable" dependency not found.',n.scroll_into_view=n.scroll_into_view===!1?!1:t.gridLayout,this._ezEditTable=null,this.cfg=n,this.tf=t,this.emitter=t.emitter}return e.prototype.init=function(){var e=this,t=this.tf;if(window.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()})},e.prototype._setAdvancedGrid=function(){var e,t=this.tf,n=this.cfg,i=l["default"].tag(t.tbl,"thead");e=i.length>0&&!n.startRow?void 0:n.startRow||t.refRow,n.base_path=n.base_path||t.basePath+"ezEditTable/";var s=n.editable,o=n.selection;o&&(n.default_selection=n.default_selection||"row"),n.active_cell_css=n.active_cell_css||"ezETSelectedCell";var a=0,r=0;if(o){var d=function(e,n,i){var s=e.Selection,o=function(i){if("row"===e.defaultSelection)s.SelectRowByIndex(i);else{e.ClearSelections();var o=n.cellIndex,l=t.tbl.rows[i];"both"===e.defaultSelection&&s.SelectRowByIndex(i),l&&s.SelectCell(l.cells[o])}if(t.validRowsIndex.length!==t.getRowsNb()){var a=t.tbl.rows[i];a&&a.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 l,d=t.validRowsIndex,c=d.length,u="row"!==e.defaultSelection?n.parentNode:n,h="TD"===n.nodeName?n:null,f=void 0!==i?e.Event.GetKey(i):0,p=-1!==d.indexOf(u.rowIndex),b=t.feature("paging"),m=34===f||33===f?b&&b.pagingLength||e.nbRowsPerPage:1;if(p)34!==f&&33!==f?(a=d.indexOf(u.rowIndex),r=u.rowIndex):(l=34===f?c-1>=a+m?d[a+m]:[c-1]:a-m<=d[0]?d[0]:d[a-m],r=l,a=d.indexOf(l),o(l));else{if(u.rowIndex>r)if(u.rowIndex>=d[c-1])l=d[c-1];else{var y=a+m;l=y>c-1?d[c-1]:d[y]}else if(u.rowIndex<=d[0])l=d[0];else{var g=d[a-m];l=g?g:d[0]}r=u.rowIndex,o(l)}}},c=function(e,n){var i="row"!==e.defaultSelection?n.parentNode:n;if(t.paging&&t.feature("paging").nbPages>1){var s=t.feature("paging");e.nbRowsPerPage=s.pagingLength;var o=t.validRowsIndex,l=o.length,a=parseInt(s.startPagingRow,10)+parseInt(s.pagingLength,10),r=i.rowIndex;r===o[l-1]&&s.currentPageNb!==s.nbPages?s.setPage("last"):r==o[0]&&1!==s.currentPageNb?s.setPage("first"):r>o[a-1]&&ro[0]&&s.setPage("previous")}};if(t.paging&&(t.feature("paging").onAfterChangePage=function(e){var t=e.tf.extension("advancedGrid"),n=t._ezEditTable,i=n.Selection,s=i.GetActiveRow();s&&s.scrollIntoView(!1);var o=i.GetActiveCell();o&&o.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 h=n.on_after_selected_row;n.on_after_selected_row=function(){d(arguments[0],arguments[1],arguments[2]),h&&h.call(null,arguments[0],arguments[1],arguments[2])}}else{var f=n.on_before_selected_cell;n.on_before_selected_cell=function(){c(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])};var p=n.on_after_selected_cell;n.on_after_selected_cell=function(){d(arguments[0],arguments[1],arguments[2]),p&&p.call(null,arguments[0],arguments[1],arguments[2])}}}if(s){var b=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(),b&&b.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(y){throw new Error(this.err)}this.initialized=!0},e.prototype.reset=function(){var e=this._ezEditTable;e&&(this.cfg.selection&&e.Selection.Set(),this.cfg.editable&&e.Editable.Set())},e.prototype.toggle=function(){var e=this._ezEditTable;e.editable?e.Editable.Remove():e.Editable.Set(),e.selection?e.Selection.Remove():e.Selection.Set()},e.prototype._toggleForInputFilter=function(){var e=this.tf;if(e.getActiveFilterId()){var t=e.getColumnIndexFromFilterId(e.getActiveFilterId()),n=e.getFilterType(t);n===e.fltTypeInp&&this.toggle()}},e.prototype.destroy=function(){var e=this,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},e}();t["default"]=a},31:function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var s=n(30),o=i(s);t["default"]=o["default"]},32: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")}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},_dom=__webpack_require__(2),_dom2=_interopRequireDefault(_dom),_string=__webpack_require__(4),_string2=_interopRequireDefault(_string),_types=__webpack_require__(3),_types2=_interopRequireDefault(_types),ColOps=function(){function ColOps(e,t){_classCallCheck(this,ColOps),this.onBeforeOperation=_types2["default"].isFn(t.on_before_operation)?t.on_before_operation:null,this.onAfterOperation=_types2["default"].isFn(t.on_after_operation)?t.on_after_operation:null,this.opts=t,this.tf=e}return ColOps.prototype.init=function(){var e=this;this.tf.emitter.on(["after-filtering"],function(){return e.calc()}),this.calc()},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=_types2["default"].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("object"==_string2["default"].lower("undefined"==typeof labelId?"undefined":_typeof(labelId))&&"object"==_string2["default"].lower("undefined"==typeof colIndex?"undefined":_typeof(colIndex))&&"object"==_string2["default"].lower("undefined"==typeof operation?"undefined":_typeof(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.tf.emitter.off(["after-filtering"],function(){return e.calc()})},ColOps}();exports["default"]=ColOps},33:function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),l=i(o),a=n(3),r=i(a),d=n(1),c=i(d),u=function(){function e(t,n){s(this,e);var i=t.config();this.initialized=!1,this.name=n.name,this.desc=n.description||"Columns visibility manager",this.spanEl=null,this.btnEl=null,this.contEl=null,this.tickToHide=n.tick_to_hide!==!1,this.manager=n.manager!==!1,this.headersTbl=n.headers_table||!1,this.headersIndex=n.headers_index||1,this.contElTgtId=n.container_target_id||null,this.headersText=n.headers_text||null,this.btnTgtId=n.btn_target_id||null,this.btnText=n.btn_text||"Columns▼",this.btnHtml=n.btn_html||null,this.btnCssClass=n.btn_css_class||"colVis",this.btnCloseText=n.btn_close_text||"Close",this.btnCloseHtml=n.btn_close_html||null,this.btnCloseCssClass=n.btn_close_css_class||this.btnCssClass,this.stylesheet=n.stylesheet||"colsVisibility.css",this.prfx="colVis_",this.spanCssClass=n.span_css_class||"colVisSpan",this.prfxCont=this.prfx+"Cont_",this.contCssClass=n.cont_css_class||"colVisCont",this.listCssClass=i.list_css_class||"cols_checklist",this.listItemCssClass=i.checklist_item_css_class||"cols_checklist_item",this.listSlcItemCssClass=i.checklist_selected_item_css_class||"cols_checklist_slc_item",this.text=n.text||(this.tickToHide?"Hide: ":"Show: "),this.atStart=n.at_start||null,this.enableHover=Boolean(n.enable_hover),this.enableTickAll=Boolean(n.enable_tick_all),this.tickAllText=n.tick_all_text||"Select all:",this.hiddenCols=[],this.tblHasColTag=l["default"].tag(t.tbl,"col").length>0,this.onLoaded=r["default"].isFn(n.on_loaded)?n.on_loaded:null,this.onBeforeOpen=r["default"].isFn(n.on_before_open)?n.on_before_open:null,this.onAfterOpen=r["default"].isFn(n.on_after_open)?n.on_after_open:null,this.onBeforeClose=r["default"].isFn(n.on_before_close)?n.on_before_close:null,this.onAfterClose=r["default"].isFn(n.on_after_close)?n.on_after_close:null,this.onBeforeColHidden=r["default"].isFn(n.on_before_col_hidden)?n.on_before_col_hidden:null,this.onAfterColHidden=r["default"].isFn(n.on_after_col_hidden)?n.on_after_col_hidden:null,this.onBeforeColDisplayed=r["default"].isFn(n.on_before_col_displayed)?n.on_before_col_displayed:null,this.onAfterColDisplayed=r["default"].isFn(n.on_after_col_displayed)?n.on_after_col_displayed:null,t.gridLayout&&(this.headersTbl=t.feature("gridLayout").headTbl,this.headersIndex=0,this.onAfterColDisplayed=function(){},this.onAfterColHidden=function(){}),t["import"](n.name+"Style",t.stylePath+this.stylesheet,null,"link"),this.tf=t,this.emitter=t.emitter}return e.prototype.toggle=function(){var e=this.contEl.style.display,t=this.onBeforeOpen,n=this.onBeforeClose,i=this.onAfterOpen,s=this.onAfterClose;t&&"inline"!==e&&t.call(null,this),n&&"inline"===e&&n.call(null,this),this.contEl.style.display="inline"===e?"none":"inline",i&&"inline"!==e&&i.call(null,this),s&&"inline"===e&&s.call(null,this)},e.prototype.checkItem=function(e){var t=e.parentNode;if(t&&e){var n=e.firstChild.checked,i=e.firstChild.getAttribute("id").split("_")[1];i=parseInt(i,10),n?l["default"].addClass(t,this.listSlcItemCssClass):l["default"].removeClass(t,this.listSlcItemCssClass);var s=!1;(this.tickToHide&&n||!this.tickToHide&&!n)&&(s=!0),this.setHidden(i,s)}},e.prototype.init=function(){var e=this;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",tf,this),this._hideAtStart())},e.prototype.buildBtn=function(){var e=this;if(!this.btnEl){var t=this.tf,n=l["default"].create("span",["id",this.prfx+t.id]);n.className=this.spanCssClass,this.btnTgtId||t.setToolbar();var i=this.btnTgtId?l["default"].id(this.btnTgtId):t.rDiv;if(this.btnTgtId)i.appendChild(n);else{var s=i.firstChild;s.parentNode.insertBefore(n,s)}if(this.btnHtml){n.innerHTML=this.btnHtml;var o=n.firstChild;this.enableHover?c["default"].add(o,"mouseover",function(t){return e.toggle(t)}):c["default"].add(o,"click",function(t){return e.toggle(t)})}else{var a=l["default"].create("a",["href","javascript:;"]);a.className=this.btnCssClass,a.title=this.desc,a.innerHTML=this.btnText,n.appendChild(a),this.enableHover?c["default"].add(a,"mouseover",function(t){return e.toggle(t)}):c["default"].add(a,"click",function(t){return e.toggle(t)})}this.spanEl=n,this.btnEl=this.spanEl.firstChild,this.onLoaded&&this.onLoaded.call(null,this)}},e.prototype.buildManager=function(){var e=this,t=this.tf,n=this.contElTgtId?l["default"].id(this.contElTgtId):l["default"].create("div",["id",this.prfxCont+t.id]);n.className=this.contCssClass;var i=l["default"].create("p");i.innerHTML=this.text,n.appendChild(i);var s=l["default"].create("ul",["id","ul"+this.name+"_"+t.id]);s.className=this.listCssClass;var o=this.headersTbl?this.headersTbl:t.tbl,a=this.headersTbl?this.headersIndex:t.getHeadersRowIndex(),r=o.rows[a];this.enableTickAll&&!function(){var n=l["default"].createCheckItem("col__"+t.id,e.tickAllText,e.tickAllText);l["default"].addClass(n,e.listItemCssClass),s.appendChild(n),n.check.checked=!e.tickToHide,c["default"].add(n.check,"click",function(){for(var e=0;e',this.icnCollapseHtml='Collapse filters',this.defaultText="Toggle filters",this.targetId=n.target_id||null,this.enableIcon=n.enable_icon!==!1,this.btnText=n.btn_text||"",this.collapseBtnHtml=this.enableIcon?this.icnCollapseHtml+this.btnText:this.btnText||this.defaultText,this.expandBtnHtml=this.enableIcon?this.icnExpandHtml+this.btnText:this.btnText||this.defaultText,this.btnHtml=n.btn_html||null,this.btnCssClass=n.btn_css_class||"btnExpClpFlt",this.contCssClass=n.cont_css_class||"expClpFlt",this.filtersRowIndex=r["default"].isUndef(n.filters_row_index)?t.getFiltersRowIndex():n.filters_row_index,this.visibleAtStart=r["default"].isUndef(n.visible_at_start)?!0:Boolean(n.visible_at_start),this.prfx="fltsVis_",this.onBeforeShow=r["default"].isFn(n.on_before_show)?n.on_before_show:null,this.onAfterShow=r["default"].isFn(n.on_after_show)?n.on_after_show:null,this.onBeforeHide=r["default"].isFn(n.on_before_hide)?n.on_before_hide:null,this.onAfterHide=r["default"].isFn(n.on_after_hide)?n.on_after_hide:null,t["import"](n.name+"Style",t.stylePath+this.stylesheet,null,"link"),this.tf=t}return e.prototype.init=function(){this.initialized||(this.buildUI(),this.initialized=!0)},e.prototype.buildUI=function(){var e=this,t=this.tf,n=l["default"].create("span",["id",this.prfx+t.id]);n.className=this.contCssClass,this.targetId||t.setToolbar();var i=this.targetId?l["default"].id(this.targetId):t.rDiv;if(this.targetId)i.appendChild(n);else{var s=i.firstChild;s.parentNode.insertBefore(n,s)}var o=void 0;this.btnHtml?(n.innerHTML=this.btnHtml,o=n.firstChild):(o=l["default"].create("a",["href","javascript:void(0);"]),o.className=this.btnCssClass,o.title=this.btnText||this.defaultText,o.innerHTML=this.collapseBtnHtml,n.appendChild(o)),c["default"].add(o,"click",function(){return e.toggle()}),this.contEl=n,this.btnEl=o,this.visibleAtStart||this.toggle()},e.prototype.toggle=function(){var e=this.tf,t=e.gridLayout?e.feature("gridLayout").headTbl:e.tbl,n=t.rows[this.filtersRowIndex],i=n.style.display;this.onBeforeShow&&""!==i&&this.onBeforeShow.call(this,this),this.onBeforeHide&&""===i&&this.onBeforeHide.call(null,this),n.style.display=""===i?"none":"",this.enableIcon&&!this.btnHtml&&(this.btnEl.innerHTML=""===i?this.expandBtnHtml:this.collapseBtnHtml),this.onAfterShow&&""!==i&&this.onAfterShow.call(null,this),this.onAfterHide&&""===i&&this.onAfterHide.call(null,this)},e.prototype.destroy=function(){(this.btnEl||this.contEl)&&(this.btnEl.innerHTML="",l["default"].remove(this.btnEl),this.btnEl=null,this.contEl.innerHTML="",l["default"].remove(this.contEl),this.contEl=null,this.initialized=!1)},e}();t["default"]=u},35:function(e,t,n){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e){return w["default"].removeNbFormat(e,"us")}function l(e){return w["default"].removeNbFormat(e,"eu")}function a(e,t){return v["default"].format(e,t)}function r(e){return a(e,"DMY")}function d(e){return a(e,"MDY")}function c(e){return a(e,"YMD")}function u(e){return a(e,"DDMMMYYYY")}function h(e){var t=e.split(".");for(var n in t){for(var i=t[n];3>i.length;)i="0"+i;t[n]=i}return t.join(".")}function f(e,t){var n=h(e.value.toLowerCase()),i=h(t.value.toLowerCase());return n==i?0:i>n?-1:1}Object.defineProperty(t,"__esModule",{value:!0});var p=n(3),b=i(p),m=n(2),y=i(m),g=n(1),T=i(g),_=n(5),v=i(_),C=n(6),w=i(C),S=function(){function e(t,n){s(this,e),this.initialized=!1,this.name=n.name,this.desc=n.description||"Sortable table",this.sorted=!1,this.sortTypes=b["default"].isArray(n.types)?n.types:[],this.sortColAtStart=b["default"].isArray(n.sort_col_at_start)?n.sort_col_at_start:null,this.asyncSort=Boolean(n.async_sort),this.triggerIds=b["default"].isArray(n.trigger_ids)?n.trigger_ids:[],this.imgPath=n.images_path||t.themesPath,this.imgBlank=n.image_blank||"blank.png",this.imgClassName=n.image_class_name||"sort-arrow",this.imgAscClassName=n.image_asc_class_name||"ascending",this.imgDescClassName=n.image_desc_class_name||"descending",this.customKey=n.custom_key||"data-tf-sortKey",this.onSortLoaded=b["default"].isFn(n.on_sort_loaded)?n.on_sort_loaded:null,this.onBeforeSort=b["default"].isFn(n.on_before_sort)?n.on_before_sort:null,this.onAfterSort=b["default"].isFn(n.on_after_sort)?n.on_after_sort:null,this.tf=t,this.emitter=t.emitter}return e.prototype.init=function(){var e=this,t=this.tf,n=this;if(b["default"].isUndef(SortableTable))throw new Error("SortableTable class not found.");this.overrideSortableTable(),this.setSortTypes();var i=n.sortColAtStart;i&&this.stt.sort(i[0],i[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,i){return e.sortByColumnIndex(n,i)}),this.initialized=!0,this.emitter.emit("sort-initialized",t,this)},e.prototype.sortByColumnIndex=function(e,t){this.stt.sort(e,t)},e.prototype.overrideSortableTable=function(){var e=this,t=this.tf;SortableTable.prototype.headerOnclick=function(t){if(e.initialized){for(var n=t.target||t.srcElement;"TD"!==n.tagName&&"TH"!==n.tagName;)n=n.parentNode;this.sort(SortableTable.msie?SortableTable.getCellIndex(n):n.cellIndex)}},SortableTable.getCellIndex=function(e){var t=e.parentNode.cells,n=t.length,i=void 0;for(i=0;t[i]!=e&&n>i;i++);return i},SortableTable.prototype.initHeader=function(n){var i=this;if(!i.tHead){if(!t.gridLayout)return;i.tHead=t.feature("gridLayout").headTbl.tHead}i.headersRow=t.headersRow;var s=i.tHead.rows[i.headersRow].cells;i.sortTypes=n||[];for(var o=s.length,l=void 0,a=void 0,r=0;o>r;r++)a=s[r],null!==i.sortTypes[r]&&"None"!==i.sortTypes[r]?(a.style.cursor="pointer",l=y["default"].create("img",["src",e.imgPath+e.imgBlank]),a.appendChild(l),null!==i.sortTypes[r]&&a.setAttribute("_sortType",i.sortTypes[r]),T["default"].add(a,"click",i._headerOnclick)):(a.setAttribute("_sortType",n[r]),a._sortType="None");i.updateHeaderArrows()},SortableTable.prototype.updateHeaderArrows=function(){var t=this,n=void 0,i=void 0,s=void 0;if(e.asyncSort&&e.triggerIds.length>0){var o=e.triggerIds;n=[],i=o.length;for(var l=0;la;a++){var r=n[a].getAttribute("_sortType");null!==r&&"None"!==r&&(s=n[a].lastChild||n[a],"img"!==s.nodeName.toLowerCase()&&(s=y["default"].create("img",["src",e.imgPath+e.imgBlank]),n[a].appendChild(s)),a===t.sortColumn?s.className=e.imgClassName+" "+(this.descending?e.imgDescClassName:e.imgAscClassName):s.className=e.imgClassName)}},SortableTable.prototype.getRowValue=function(e,t,n){var i=this,s=i._sortTypeInfo[t];if(s&&s.getRowValue)return s.getRowValue(e,n);var o=e.cells[n],l=SortableTable.getInnerText(o);return i.getValueFromString(l,t)},SortableTable.getInnerText=function(t){return t?t.getAttribute(e.customKey)?t.getAttribute(e.customKey):y["default"].getText(t):void 0}},e.prototype.addSortType=function(){var e=arguments;SortableTable.prototype.addSortType(e[0],e[1],e[2],e[3])},e.prototype.setSortTypes=function(){for(var e=this,t=this.tf,n=this.sortTypes,i=[],s=0;s0&&!function(){for(var t=e.triggerIds,n=0;n descending, false -> ascending\nSortableTable.prototype.defaultDescending = false;\n\n// shared between all instances. This is intentional to allow external files\n// to modify the prototype\nSortableTable.prototype._sortTypeInfo = {};\n\nSortableTable.prototype.setTable = function (oTable) {\n if ( this.tHead )\n this.uninitHeader();\n this.element = oTable;\n this.setTHead( oTable.tHead );\n this.setTBody( oTable.tBodies[0] );\n};\n\nSortableTable.prototype.setTHead = function (oTHead) {\n if (this.tHead && this.tHead != oTHead )\n this.uninitHeader();\n this.tHead = oTHead;\n this.initHeader( this.sortTypes );\n};\n\nSortableTable.prototype.setTBody = function (oTBody) {\n this.tBody = oTBody;\n};\n\nSortableTable.prototype.setSortTypes = function ( oSortTypes ) {\n if ( this.tHead )\n this.uninitHeader();\n this.sortTypes = oSortTypes || [];\n if ( this.tHead )\n this.initHeader( this.sortTypes );\n};\n\n// adds arrow containers and events\n// also binds sort type to the header cells so that reordering columns does\n// not break the sort types\nSortableTable.prototype.initHeader = function (oSortTypes) {\n if (!this.tHead) return;\n var cells = this.tHead.rows[0].cells;\n var doc = this.tHead.ownerDocument || this.tHead.document;\n this.sortTypes = oSortTypes || [];\n var l = cells.length;\n var img, c;\n for (var i = 0; i < l; i++) {\n c = cells[i];\n if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {\n img = doc.createElement("IMG");\n img.src = "images/blank.png";\n c.appendChild(img);\n if (this.sortTypes[i] != null)\n c._sortType = this.sortTypes[i];\n if (typeof c.addEventListener != "undefined")\n c.addEventListener("click", this._headerOnclick, false);\n else if (typeof c.attachEvent != "undefined")\n c.attachEvent("onclick", this._headerOnclick);\n else\n c.onclick = this._headerOnclick;\n }\n else\n {\n c.setAttribute( "_sortType", oSortTypes[i] );\n c._sortType = "None";\n }\n }\n this.updateHeaderArrows();\n};\n\n// remove arrows and events\nSortableTable.prototype.uninitHeader = function () {\n if (!this.tHead) return;\n var cells = this.tHead.rows[0].cells;\n var l = cells.length;\n var c;\n for (var i = 0; i < l; i++) {\n c = cells[i];\n if (c._sortType != null && c._sortType != "None") {\n c.removeChild(c.lastChild);\n if (typeof c.removeEventListener != "undefined")\n c.removeEventListener("click", this._headerOnclick, false);\n else if (typeof c.detachEvent != "undefined")\n c.detachEvent("onclick", this._headerOnclick);\n c._sortType = null;\n c.removeAttribute( "_sortType" );\n }\n }\n};\n\nSortableTable.prototype.updateHeaderArrows = function () {\n if (!this.tHead) return;\n var cells = this.tHead.rows[0].cells;\n var l = cells.length;\n var img;\n for (var i = 0; i < l; i++) {\n if (cells[i]._sortType != null && cells[i]._sortType != "None") {\n img = cells[i].lastChild;\n if (i == this.sortColumn)\n img.className = "sort-arrow " + (this.descending ? "descending" : "ascending");\n else\n img.className = "sort-arrow";\n }\n }\n};\n\nSortableTable.prototype.headerOnclick = function (e) {\n // find TD element\n var el = e.target || e.srcElement;\n while (el.tagName != "TD")\n el = el.parentNode;\n\n this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex);\n};\n\n// IE returns wrong cellIndex when columns are hidden\nSortableTable.getCellIndex = function (oTd) {\n var cells = oTd.parentNode.childNodes\n var l = cells.length;\n var i;\n for (i = 0; cells[i] != oTd && i < l; i++)\n ;\n return i;\n};\n\nSortableTable.prototype.getSortType = function (nColumn) {\n return this.sortTypes[nColumn] || "String";\n};\n\n// only nColumn is required\n// if bDescending is left out the old value is taken into account\n// if sSortType is left out the sort type is found from the sortTypes array\n\nSortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {\n if (!this.tBody) return;\n if (sSortType == null)\n sSortType = this.getSortType(nColumn);\n\n // exit if None\n if (sSortType == "None")\n return;\n\n if (bDescending == null) {\n if (this.sortColumn != nColumn)\n this.descending = this.defaultDescending;\n else\n this.descending = !this.descending;\n }\n else\n this.descending = bDescending;\n\n this.sortColumn = nColumn;\n\n if (typeof this.onbeforesort == "function")\n this.onbeforesort();\n\n var f = this.getSortFunction(sSortType, nColumn);\n var a = this.getCache(sSortType, nColumn);\n var tBody = this.tBody;\n\n a.sort(f);\n\n if (this.descending)\n a.reverse();\n\n if (SortableTable.removeBeforeSort) {\n // remove from doc\n var nextSibling = tBody.nextSibling;\n var p = tBody.parentNode;\n p.removeChild(tBody);\n }\n\n // insert in the new order\n var l = a.length;\n for (var i = 0; i < l; i++)\n tBody.appendChild(a[i].element);\n\n if (SortableTable.removeBeforeSort) {\n // insert into doc\n p.insertBefore(tBody, nextSibling);\n }\n\n this.updateHeaderArrows();\n\n this.destroyCache(a);\n\n if (typeof this.onsort == "function")\n this.onsort();\n};\n\nSortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) {\n var oThis = this;\n this._asyncsort = function () {\n oThis.sort(nColumn, bDescending, sSortType);\n };\n window.setTimeout(this._asyncsort, 1);\n};\n\nSortableTable.prototype.getCache = function (sType, nColumn) {\n if (!this.tBody) return [];\n var rows = this.tBody.rows;\n var l = rows.length;\n var a = new Array(l);\n var r;\n for (var i = 0; i < l; i++) {\n r = rows[i];\n a[i] = {\n value: this.getRowValue(r, sType, nColumn),\n element: r\n };\n };\n return a;\n};\n\nSortableTable.prototype.destroyCache = function (oArray) {\n var l = oArray.length;\n for (var i = 0; i < l; i++) {\n oArray[i].value = null;\n oArray[i].element = null;\n oArray[i] = null;\n }\n};\n\nSortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {\n // if we have defined a custom getRowValue use that\n if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)\n return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);\n\n var s;\n var c = oRow.cells[nColumn];\n if (typeof c.innerText != "undefined")\n s = c.innerText;\n else\n s = SortableTable.getInnerText(c);\n return this.getValueFromString(s, sType);\n};\n\nSortableTable.getInnerText = function (oNode) {\n var s = "";\n var cs = oNode.childNodes;\n var l = cs.length;\n for (var i = 0; i < l; i++) {\n switch (cs[i].nodeType) {\n case 1: //ELEMENT_NODE\n s += SortableTable.getInnerText(cs[i]);\n break;\n case 3: //TEXT_NODE\n s += cs[i].nodeValue;\n break;\n }\n }\n return s;\n};\n\nSortableTable.prototype.getValueFromString = function (sText, sType) {\n if (this._sortTypeInfo[sType])\n return this._sortTypeInfo[sType].getValueFromString( sText );\n return sText;\n /*\n switch (sType) {\n case "Number":\n return Number(sText);\n case "CaseInsensitiveString":\n return sText.toUpperCase();\n case "Date":\n var parts = sText.split("-");\n var d = new Date(0);\n d.setFullYear(parts[0]);\n d.setDate(parts[2]);\n d.setMonth(parts[1] - 1);\n return d.valueOf();\n }\n return sText;\n */\n };\n\nSortableTable.prototype.getSortFunction = function (sType, nColumn) {\n if (this._sortTypeInfo[sType])\n return this._sortTypeInfo[sType].compare;\n return SortableTable.basicCompare;\n};\n\nSortableTable.prototype.destroy = function () {\n this.uninitHeader();\n var win = this.document.parentWindow;\n if (win && typeof win.detachEvent != "undefined") { // only IE needs this\n win.detachEvent("onunload", this._onunload);\n }\n this._onunload = null;\n this.element = null;\n this.tHead = null;\n this.tBody = null;\n this.document = null;\n this._headerOnclick = null;\n this.sortTypes = null;\n this._asyncsort = null;\n this.onsort = null;\n};\n\n// Adds a sort type to all instance of SortableTable\n// sType : String - the identifier of the sort type\n// fGetValueFromString : function ( s : string ) : T - A function that takes a\n// string and casts it to a desired format. If left out the string is just\n// returned\n// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort\n// compare function. Takes two values and compares them. If left out less than,\n// <, compare is used\n// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function\n// that takes the row and the column index and returns the value used to compare.\n// If left out then the innerText is first taken for the cell and then the\n// fGetValueFromString is used to convert that string the desired value and type\n\nSortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) {\n this._sortTypeInfo[sType] = {\n type: sType,\n getValueFromString: fGetValueFromString || SortableTable.idFunction,\n compare: fCompareFunction || SortableTable.basicCompare,\n getRowValue: fGetRowValue\n };\n};\n\n// this removes the sort type from all instances of SortableTable\nSortableTable.prototype.removeSortType = function (sType) {\n delete this._sortTypeInfo[sType];\n};\n\nSortableTable.basicCompare = function compare(n1, n2) {\n if (n1.value < n2.value)\n return -1;\n if (n2.value < n1.value)\n return 1;\n return 0;\n};\n\nSortableTable.idFunction = function (x) {\n return x;\n};\n\nSortableTable.toUpperCase = function (s) {\n return s.toUpperCase();\n};\n\nSortableTable.toDate = function (s) {\n var parts = s.split("-");\n var d = new Date(0);\n d.setFullYear(parts[0]);\n d.setDate(parts[2]);\n d.setMonth(parts[1] - 1);\n return d.valueOf();\n};\n\n\n// add sort types\nSortableTable.prototype.addSortType("Number", Number);\nSortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase);\nSortableTable.prototype.addSortType("Date", SortableTable.toDate);\nSortableTable.prototype.addSortType("String");\n// None is a special case\n'}}); \ No newline at end of file +webpackJsonp([1],{29:function(e,t,n){function r(e){return n(i(e))}function i(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var s={"./array":16,"./array.js":16,"./cookie":9,"./cookie.js":9,"./date":5,"./date.js":5,"./dom":2,"./dom.js":2,"./emitter":7,"./emitter.js":7,"./event":1,"./event.js":1,"./extensions/advancedGrid/adapterEzEditTable":30,"./extensions/advancedGrid/adapterEzEditTable.js":30,"./extensions/advancedGrid/advancedGrid":31,"./extensions/advancedGrid/advancedGrid.js":31,"./extensions/colOps/colOps":32,"./extensions/colOps/colOps.js":32,"./extensions/colsVisibility/colsVisibility":33,"./extensions/colsVisibility/colsVisibility.js":33,"./extensions/filtersVisibility/filtersVisibility":34,"./extensions/filtersVisibility/filtersVisibility.js":34,"./extensions/sort/adapterSortabletable":35,"./extensions/sort/adapterSortabletable.js":35,"./extensions/sort/sort":36,"./extensions/sort/sort.js":36,"./helpers":6,"./helpers.js":6,"./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/feature":11,"./modules/feature.js":11,"./modules/gridLayout":10,"./modules/gridLayout.js":10,"./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,"./modules/store":8,"./modules/store.js":8,"./sort":17,"./sort.js":17,"./string":4,"./string.js":4,"./types":3,"./types.js":3};r.keys=function(){return Object.keys(s)},r.resolve=i,e.exports=r,r.id=29},30:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=n(2),o=r(s),l=function(){function e(t,n){i(this,e),this.initialized=!1,this.desc=n.description||"ezEditTable adapter",this.filename=n.filename||"ezEditTable.js",this.vendorPath=n.vendor_path,this.loadStylesheet=Boolean(n.load_stylesheet),this.stylesheet=n.stylesheet||this.vendorPath+"ezEditTable.css",this.stylesheetName=n.stylesheet_name||"ezEditTableCss",this.err='Failed to instantiate EditTable object.\n"ezEditTable" dependency not found.',n.scroll_into_view=n.scroll_into_view===!1?!1:t.gridLayout,this._ezEditTable=null,this.cfg=n,this.tf=t,this.emitter=t.emitter}return e.prototype.init=function(){var e=this,t=this.tf;if(window.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()})},e.prototype._setAdvancedGrid=function(){var e,t=this.tf,n=this.cfg,r=o["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 i=n.editable,s=n.selection;s&&(n.default_selection=n.default_selection||"row"),n.active_cell_css=n.active_cell_css||"ezETSelectedCell";var l=0,a=0;if(s){var d=function(e,n,r){var i=e.Selection,s=function(r){if("row"===e.defaultSelection)i.SelectRowByIndex(r);else{e.ClearSelections();var s=n.cellIndex,o=t.tbl.rows[r];"both"===e.defaultSelection&&i.SelectRowByIndex(r),o&&i.SelectCell(o.cells[s])}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 o,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"),m=34===f||33===f?b&&b.pagingLength||e.nbRowsPerPage:1;if(p)34!==f&&33!==f?(l=d.indexOf(u.rowIndex),a=u.rowIndex):(o=34===f?c-1>=l+m?d[l+m]:[c-1]:l-m<=d[0]?d[0]:d[l-m],a=o,l=d.indexOf(o),s(o));else{if(u.rowIndex>a)if(u.rowIndex>=d[c-1])o=d[c-1];else{var y=l+m;o=y>c-1?d[c-1]:d[y]}else if(u.rowIndex<=d[0])o=d[0];else{var g=d[l-m];o=g?g:d[0]}a=u.rowIndex,s(o)}}},c=function(e,n){var r="row"!==e.defaultSelection?n.parentNode:n;if(t.paging&&t.feature("paging").nbPages>1){var i=t.feature("paging");e.nbRowsPerPage=i.pagingLength;var s=t.validRowsIndex,o=s.length,l=parseInt(i.startPagingRow,10)+parseInt(i.pagingLength,10),a=r.rowIndex;a===s[o-1]&&i.currentPageNb!==i.nbPages?i.setPage("last"):a==s[0]&&1!==i.currentPageNb?i.setPage("first"):a>s[l-1]&&as[0]&&i.setPage("previous")}};if(t.paging&&(t.feature("paging").onAfterChangePage=function(e){var t=e.tf.extension("advancedGrid"),n=t._ezEditTable,r=n.Selection,i=r.GetActiveRow();i&&i.scrollIntoView(!1);var s=r.GetActiveCell();s&&s.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 h=n.on_after_selected_row;n.on_after_selected_row=function(){d(arguments[0],arguments[1],arguments[2]),h&&h.call(null,arguments[0],arguments[1],arguments[2])}}else{var f=n.on_before_selected_cell;n.on_before_selected_cell=function(){c(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])};var p=n.on_after_selected_cell;n.on_after_selected_cell=function(){d(arguments[0],arguments[1],arguments[2]),p&&p.call(null,arguments[0],arguments[1],arguments[2])}}}if(i){var b=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(),b&&b.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(y){throw new Error(this.err)}this.initialized=!0},e.prototype.reset=function(){var e=this._ezEditTable;e&&(this.cfg.selection&&e.Selection.Set(),this.cfg.editable&&e.Editable.Set())},e.prototype.toggle=function(){var e=this._ezEditTable;e.editable?e.Editable.Remove():e.Editable.Set(),e.selection?e.Selection.Remove():e.Selection.Set()},e.prototype._toggleForInputFilter=function(){var e=this.tf;if(e.getActiveFilterId()){var t=e.getColumnIndexFromFilterId(e.getActiveFilterId()),n=e.getFilterType(t);n===e.fltTypeInp&&this.toggle()}},e.prototype.destroy=function(){var e=this,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},e}();t["default"]=l},31:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(30),s=r(i);t["default"]=s["default"]},32: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")}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},_dom=__webpack_require__(2),_dom2=_interopRequireDefault(_dom),_string=__webpack_require__(4),_string2=_interopRequireDefault(_string),_types=__webpack_require__(3),_types2=_interopRequireDefault(_types),ColOps=function(){function ColOps(e,t){_classCallCheck(this,ColOps),this.onBeforeOperation=_types2["default"].isFn(t.on_before_operation)?t.on_before_operation:null,this.onAfterOperation=_types2["default"].isFn(t.on_after_operation)?t.on_after_operation:null,this.opts=t,this.tf=e}return ColOps.prototype.init=function(){var e=this;this.tf.emitter.on(["after-filtering"],function(){return e.calc()}),this.calc()},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=_types2["default"].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("object"==_string2["default"].lower("undefined"==typeof labelId?"undefined":_typeof(labelId))&&"object"==_string2["default"].lower("undefined"==typeof colIndex?"undefined":_typeof(colIndex))&&"object"==_string2["default"].lower("undefined"==typeof operation?"undefined":_typeof(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.tf.emitter.off(["after-filtering"],function(){return e.calc()})},ColOps}();exports["default"]=ColOps},33:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var s=n(2),o=r(s),l=n(3),a=r(l),d=n(1),c=r(d),u=function(){function e(t,n){i(this,e);var r=t.config();this.initialized=!1,this.name=n.name,this.desc=n.description||"Columns visibility manager",this.spanEl=null,this.btnEl=null,this.contEl=null,this.tickToHide=n.tick_to_hide!==!1,this.manager=n.manager!==!1,this.headersTbl=n.headers_table||!1,this.headersIndex=n.headers_index||1,this.contElTgtId=n.container_target_id||null,this.headersText=n.headers_text||null,this.btnTgtId=n.btn_target_id||null,this.btnText=n.btn_text||"Columns▼",this.btnHtml=n.btn_html||null,this.btnCssClass=n.btn_css_class||"colVis",this.btnCloseText=n.btn_close_text||"Close",this.btnCloseHtml=n.btn_close_html||null,this.btnCloseCssClass=n.btn_close_css_class||this.btnCssClass,this.stylesheet=n.stylesheet||"colsVisibility.css",this.prfx="colVis_",this.spanCssClass=n.span_css_class||"colVisSpan",this.prfxCont=this.prfx+"Cont_",this.contCssClass=n.cont_css_class||"colVisCont",this.listCssClass=r.list_css_class||"cols_checklist",this.listItemCssClass=r.checklist_item_css_class||"cols_checklist_item",this.listSlcItemCssClass=r.checklist_selected_item_css_class||"cols_checklist_slc_item",this.text=n.text||(this.tickToHide?"Hide: ":"Show: "),this.atStart=n.at_start||null,this.enableHover=Boolean(n.enable_hover),this.enableTickAll=Boolean(n.enable_tick_all),this.tickAllText=n.tick_all_text||"Select all:",this.hiddenCols=[],this.tblHasColTag=o["default"].tag(t.tbl,"col").length>0,this.onLoaded=a["default"].isFn(n.on_loaded)?n.on_loaded:null,this.onBeforeOpen=a["default"].isFn(n.on_before_open)?n.on_before_open:null,this.onAfterOpen=a["default"].isFn(n.on_after_open)?n.on_after_open:null,this.onBeforeClose=a["default"].isFn(n.on_before_close)?n.on_before_close:null,this.onAfterClose=a["default"].isFn(n.on_after_close)?n.on_after_close:null,this.onBeforeColHidden=a["default"].isFn(n.on_before_col_hidden)?n.on_before_col_hidden:null,this.onAfterColHidden=a["default"].isFn(n.on_after_col_hidden)?n.on_after_col_hidden:null,this.onBeforeColDisplayed=a["default"].isFn(n.on_before_col_displayed)?n.on_before_col_displayed:null,this.onAfterColDisplayed=a["default"].isFn(n.on_after_col_displayed)?n.on_after_col_displayed:null,t.gridLayout&&(this.headersTbl=t.feature("gridLayout").headTbl,this.headersIndex=0,this.onAfterColDisplayed=function(){},this.onAfterColHidden=function(){}),t["import"](n.name+"Style",t.stylePath+this.stylesheet,null,"link"),this.tf=t,this.emitter=t.emitter}return e.prototype.toggle=function(){var e=this.contEl.style.display,t=this.onBeforeOpen,n=this.onBeforeClose,r=this.onAfterOpen,i=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),i&&"inline"===e&&i.call(null,this)},e.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?o["default"].addClass(t,this.listSlcItemCssClass):o["default"].removeClass(t,this.listSlcItemCssClass);var i=!1;(this.tickToHide&&n||!this.tickToHide&&!n)&&(i=!0),this.setHidden(r,i)}},e.prototype.init=function(){var e=this;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",tf,this),this._hideAtStart())},e.prototype.buildBtn=function(){var e=this;if(!this.btnEl){var t=this.tf,n=o["default"].create("span",["id",this.prfx+t.id]);n.className=this.spanCssClass,this.btnTgtId||t.setToolbar();var r=this.btnTgtId?o["default"].id(this.btnTgtId):t.rDiv;if(this.btnTgtId)r.appendChild(n);else{var i=r.firstChild;i.parentNode.insertBefore(n,i)}if(this.btnHtml){n.innerHTML=this.btnHtml;var s=n.firstChild;this.enableHover?c["default"].add(s,"mouseover",function(t){return e.toggle(t)}):c["default"].add(s,"click",function(t){return e.toggle(t)})}else{var l=o["default"].create("a",["href","javascript:;"]);l.className=this.btnCssClass,l.title=this.desc,l.innerHTML=this.btnText,n.appendChild(l),this.enableHover?c["default"].add(l,"mouseover",function(t){return e.toggle(t)}):c["default"].add(l,"click",function(t){return e.toggle(t)})}this.spanEl=n,this.btnEl=this.spanEl.firstChild,this.onLoaded&&this.onLoaded.call(null,this)}},e.prototype.buildManager=function(){var e=this,t=this.tf,n=this.contElTgtId?o["default"].id(this.contElTgtId):o["default"].create("div",["id",this.prfxCont+t.id]);n.className=this.contCssClass;var r=o["default"].create("p");r.innerHTML=this.text,n.appendChild(r);var i=o["default"].create("ul",["id","ul"+this.name+"_"+t.id]);i.className=this.listCssClass;var s=this.headersTbl?this.headersTbl:t.tbl,l=this.headersTbl?this.headersIndex:t.getHeadersRowIndex(),a=s.rows[l];this.enableTickAll&&!function(){var n=o["default"].createCheckItem("col__"+t.id,e.tickAllText,e.tickAllText);o["default"].addClass(n,e.listItemCssClass),i.appendChild(n),n.check.checked=!e.tickToHide,c["default"].add(n.check,"click",function(){for(var e=0;e',this.icnCollapseHtml='Collapse filters',this.defaultText="Toggle filters",this.targetId=n.target_id||null,this.enableIcon=n.enable_icon!==!1,this.btnText=n.btn_text||"",this.collapseBtnHtml=this.enableIcon?this.icnCollapseHtml+this.btnText:this.btnText||this.defaultText,this.expandBtnHtml=this.enableIcon?this.icnExpandHtml+this.btnText:this.btnText||this.defaultText,this.btnHtml=n.btn_html||null,this.btnCssClass=n.btn_css_class||"btnExpClpFlt",this.contCssClass=n.cont_css_class||"expClpFlt",this.filtersRowIndex=a["default"].isUndef(n.filters_row_index)?t.getFiltersRowIndex():n.filters_row_index,this.visibleAtStart=a["default"].isUndef(n.visible_at_start)?!0:Boolean(n.visible_at_start),this.prfx="fltsVis_",this.onBeforeShow=a["default"].isFn(n.on_before_show)?n.on_before_show:null,this.onAfterShow=a["default"].isFn(n.on_after_show)?n.on_after_show:null,this.onBeforeHide=a["default"].isFn(n.on_before_hide)?n.on_before_hide:null,this.onAfterHide=a["default"].isFn(n.on_after_hide)?n.on_after_hide:null,t["import"](n.name+"Style",t.stylePath+this.stylesheet,null,"link"),this.tf=t}return e.prototype.init=function(){this.initialized||(this.buildUI(),this.initialized=!0)},e.prototype.buildUI=function(){var e=this,t=this.tf,n=o["default"].create("span",["id",this.prfx+t.id]);n.className=this.contCssClass,this.targetId||t.setToolbar();var r=this.targetId?o["default"].id(this.targetId):t.rDiv;if(this.targetId)r.appendChild(n);else{var i=r.firstChild;i.parentNode.insertBefore(n,i)}var s=void 0;this.btnHtml?(n.innerHTML=this.btnHtml,s=n.firstChild):(s=o["default"].create("a",["href","javascript:void(0);"]),s.className=this.btnCssClass,s.title=this.btnText||this.defaultText,s.innerHTML=this.collapseBtnHtml,n.appendChild(s)),c["default"].add(s,"click",function(){return e.toggle()}),this.contEl=n,this.btnEl=s,this.visibleAtStart||this.toggle()},e.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.onBeforeShow&&""!==r&&this.onBeforeShow.call(this,this),this.onBeforeHide&&""===r&&this.onBeforeHide.call(null,this),n.style.display=""===r?"none":"",this.enableIcon&&!this.btnHtml&&(this.btnEl.innerHTML=""===r?this.expandBtnHtml:this.collapseBtnHtml),this.onAfterShow&&""!==r&&this.onAfterShow.call(null,this),this.onAfterHide&&""===r&&this.onAfterHide.call(null,this)},e.prototype.destroy=function(){(this.btnEl||this.contEl)&&(this.btnEl.innerHTML="",o["default"].remove(this.btnEl),this.btnEl=null,this.contEl.innerHTML="",o["default"].remove(this.contEl),this.contEl=null,this.initialized=!1)},e}();t["default"]=u},35:function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){return w["default"].removeNbFormat(e,"us")}function o(e){return w["default"].removeNbFormat(e,"eu")}function l(e,t){return v["default"].format(e,t)}function a(e){return l(e,"DMY")}function d(e){return l(e,"MDY")}function c(e){return l(e,"YMD")}function u(e){return l(e,"DDMMMYYYY")}function h(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 f(e,t){var n=h(e.value.toLowerCase()),r=h(t.value.toLowerCase());return n==r?0:r>n?-1:1}Object.defineProperty(t,"__esModule",{value:!0});var p=n(3),b=r(p),m=n(2),y=r(m),g=n(1),T=r(g),_=n(5),v=r(_),C=n(6),w=r(C),S=function(){function e(t,n){i(this,e),this.initialized=!1,this.name=n.name,this.desc=n.description||"Sortable table",this.sorted=!1,this.sortTypes=b["default"].isArray(n.types)?n.types:[],this.sortColAtStart=b["default"].isArray(n.sort_col_at_start)?n.sort_col_at_start:null,this.asyncSort=Boolean(n.async_sort),this.triggerIds=b["default"].isArray(n.trigger_ids)?n.trigger_ids:[],this.imgPath=n.images_path||t.themesPath,this.imgBlank=n.image_blank||"blank.png",this.imgClassName=n.image_class_name||"sort-arrow",this.imgAscClassName=n.image_asc_class_name||"ascending",this.imgDescClassName=n.image_desc_class_name||"descending",this.customKey=n.custom_key||"data-tf-sortKey",this.onSortLoaded=b["default"].isFn(n.on_sort_loaded)?n.on_sort_loaded:null,this.onBeforeSort=b["default"].isFn(n.on_before_sort)?n.on_before_sort:null,this.onAfterSort=b["default"].isFn(n.on_after_sort)?n.on_after_sort:null,this.tf=t,this.emitter=t.emitter}return e.prototype.init=function(){var e=this,t=this.tf,n=this;if(b["default"].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)},e.prototype.sortByColumnIndex=function(e,t){this.stt.sort(e,t)},e.prototype.overrideSortableTable=function(){var e=this,t=this.tf;SortableTable.prototype.headerOnclick=function(t){if(e.initialized){for(var n=t.target||t.srcElement;"TD"!==n.tagName&&"TH"!==n.tagName;)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 i=r.tHead.rows[r.headersRow].cells;r.sortTypes=n||[];for(var s=i.length,o=void 0,l=void 0,a=0;s>a;a++)l=i[a],null!==r.sortTypes[a]&&"None"!==r.sortTypes[a]?(l.style.cursor="pointer",o=y["default"].create("img",["src",e.imgPath+e.imgBlank]),l.appendChild(o),null!==r.sortTypes[a]&&l.setAttribute("_sortType",r.sortTypes[a]),T["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,i=void 0;if(e.asyncSort&&e.triggerIds.length>0){var s=e.triggerIds;n=[],r=s.length;for(var o=0;ol;l++){var a=n[l].getAttribute("_sortType");null!==a&&"None"!==a&&(i=n[l].lastChild||n[l],"img"!==i.nodeName.toLowerCase()&&(i=y["default"].create("img",["src",e.imgPath+e.imgBlank]),n[l].appendChild(i)),l===t.sortColumn?i.className=e.imgClassName+" "+(this.descending?e.imgDescClassName:e.imgAscClassName):i.className=e.imgClassName)}},SortableTable.prototype.getRowValue=function(e,t,n){var r=this,i=r._sortTypeInfo[t];if(i&&i.getRowValue)return i.getRowValue(e,n);var s=e.cells[n],o=SortableTable.getInnerText(s);return r.getValueFromString(o,t)},SortableTable.getInnerText=function(t){return t?t.getAttribute(e.customKey)?t.getAttribute(e.customKey):y["default"].getText(t):void 0}},e.prototype.addSortType=function(){var e=arguments;SortableTable.prototype.addSortType(e[0],e[1],e[2],e[3])},e.prototype.setSortTypes=function(){for(var e=this,t=this.tf,n=this.sortTypes,r=[],i=0;i0&&!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