From 5a3a989af05375df99652a4b3e49feadb44fb0a9 Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Sun, 16 Nov 2014 11:29:07 +1100 Subject: [PATCH] added src-es6 folder --- Gruntfile.js | 21 +- dist/TF_Modules/tf_alternateRows.js | 71 ++++ dist/TF_Modules/tf_colOps.js | 271 +++++++++++++++ dist/TF_Modules/tf_cookies.js | 163 +++++++++ dist/TF_Modules/tf_extensions.js | 53 +++ dist/TF_Modules/tf_ezEditTable.js | 253 ++++++++++++++ dist/TF_Modules/tf_fixedHeaders.js | 95 ++++++ dist/TF_Modules/tf_gridLayout.js | 307 +++++++++++++++++ dist/TF_Modules/tf_highlightKeywords.js | 97 ++++++ dist/TF_Modules/tf_loader.js | 72 ++++ dist/filtergrid.css | 2 +- dist/tablefilter.js | 10 +- example/index.html | 1 + src-es6/array.js | 28 ++ src-es6/cookie.js | 58 ++++ src-es6/date.js | 165 +++++++++ src-es6/dom.js | 159 +++++++++ src-es6/helpers.js | 11 + .../modules}/alternateRows.js | 10 +- .../es6-modules => src-es6/modules}/colOps.js | 36 +- .../es6-modules => src-es6/modules}/loader.js | 18 +- src-es6/modules/rowsCounter.js | 138 ++++++++ src-es6/string.js | 46 +++ src-es6/types.js | 55 +++ src/array.js | 51 ++- src/array.js.map | 1 + src/cookie.js | 106 +++--- src/cookie.js.map | 1 + src/core.js | 176 ++-------- src/date.js | 321 +++++++++--------- src/date.js.map | 1 + src/dom.js | 307 ++++++++--------- src/dom.js.map | 1 + src/helpers.js | 24 +- src/helpers.js.map | 1 + src/index.html | 3 +- src/modules/alternateRows.js | 10 +- src/modules/alternateRows.js.map | 2 +- src/modules/colOps.js | 32 +- src/modules/colOps.js.map | 2 +- src/modules/loader.js | 18 +- src/modules/loader.js.map | 2 +- src/modules/rowsCounter.js | 144 ++++++++ src/modules/rowsCounter.js.map | 1 + src/string.js | 80 ++--- src/string.js.map | 1 + src/types.js | 102 +++--- src/types.js.map | 1 + test/test-col-ops.js | 2 +- test/test-loader.js | 2 +- test/test-rows-counter.html | 82 +++++ test/test-rows-counter.js | 26 ++ 52 files changed, 2896 insertions(+), 744 deletions(-) create mode 100644 dist/TF_Modules/tf_alternateRows.js create mode 100644 dist/TF_Modules/tf_colOps.js create mode 100644 dist/TF_Modules/tf_cookies.js create mode 100644 dist/TF_Modules/tf_extensions.js create mode 100644 dist/TF_Modules/tf_ezEditTable.js create mode 100644 dist/TF_Modules/tf_fixedHeaders.js create mode 100644 dist/TF_Modules/tf_gridLayout.js create mode 100644 dist/TF_Modules/tf_highlightKeywords.js create mode 100644 dist/TF_Modules/tf_loader.js create mode 100644 src-es6/array.js create mode 100644 src-es6/cookie.js create mode 100644 src-es6/date.js create mode 100644 src-es6/dom.js create mode 100644 src-es6/helpers.js rename {src/es6-modules => src-es6/modules}/alternateRows.js (93%) rename {src/es6-modules => src-es6/modules}/colOps.js (91%) rename {src/es6-modules => src-es6/modules}/loader.js (83%) create mode 100644 src-es6/modules/rowsCounter.js create mode 100644 src-es6/string.js create mode 100644 src-es6/types.js create mode 100644 src/array.js.map create mode 100644 src/cookie.js.map create mode 100644 src/date.js.map create mode 100644 src/dom.js.map create mode 100644 src/helpers.js.map create mode 100644 src/modules/rowsCounter.js create mode 100644 src/modules/rowsCounter.js.map create mode 100644 src/string.js.map create mode 100644 src/types.js.map create mode 100644 test/test-rows-counter.html create mode 100644 test/test-rows-counter.js diff --git a/Gruntfile.js b/Gruntfile.js index d439f2aa..e3514f7a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -18,6 +18,7 @@ module.exports = function (grunt) { watch: { files: [ + 'src-es6/**/*.js', 'src/**/*.js', 'src/**/*.css', 'src/**/*.html' @@ -100,20 +101,6 @@ module.exports = function (grunt) { copy: { main: { files: [ - //{ src: ['<%= source_folder %>tablefilter_all.js'], dest: '<%= dist_folder %>tablefilter_all-uncompressed.js' }, - //{ src: ['<%= source_folder %>tablefilter.js'], dest: '<%= dist_folder %>tablefilter-uncompressed.js' }, - // { src: ['<%= source_folder %>filtergrid.css'], dest: '<%= dist_folder %>filtergrid-uncompressed.css' }, - // { src: ['<%= source_folder %>tf-main.js'], dest: '<%= dist_folder %>tf-main.js' }, - // { src: ['<%= source_folder %>string.js'], dest: '<%= dist_folder %>string.js' }, - // { src: ['<%= source_folder %>array.js'], dest: '<%= dist_folder %>array.js' }, - // { src: ['<%= source_folder %>cookie.js'], dest: '<%= dist_folder %>cookie.js' }, - // { src: ['<%= source_folder %>date.js'], dest: '<%= dist_folder %>date.js' }, - // { src: ['<%= source_folder %>dom.js'], dest: '<%= dist_folder %>dom.js' }, - // { src: ['<%= source_folder %>event.js'], dest: '<%= dist_folder %>event.js' }, - // { src: ['<%= source_folder %>types.js'], dest: '<%= dist_folder %>types.js' }, - // { src: ['**'], cwd: '<%= source_folder %>modules/', dest: '<%= dist_folder %>modules/', expand: true }, - // { src: ['<%= source_folder %>/*.js'], dest: '<%= dist_folder %>', flatten: true, expand: false }, - // { src: ['libs/requirejs/require.js'], dest: '<%= dist_folder %>/libs/require.js' }, { src: ['**'], cwd: '<%= source_folder %>TF_Modules/', dest: '<%= dist_folder %>TF_Modules/', expand: true }, { src: ['**'], cwd: '<%= source_folder %>TF_Themes/', dest: '<%= dist_folder %>TF_Themes/', expand: true } ] @@ -133,9 +120,9 @@ module.exports = function (grunt) { build:{ files: [{ expand: true, - cwd: '<%= source_folder %>es6-modules', + cwd: 'src-es6', src: ['**/*.js'], - dest: '<%= source_folder %>modules' + dest: '<%= source_folder %>' }] } } @@ -154,7 +141,7 @@ module.exports = function (grunt) { // This is the default task being executed if Grunt // is called without any further parameter. - grunt.registerTask('default', ['jshint', 'requirejs', 'concat', 'uglify', 'cssmin', 'copy', 'qunit']); + grunt.registerTask('default', ['jshint', '6to5', 'requirejs', 'concat', 'uglify', 'cssmin', 'copy', 'qunit']); grunt.registerTask('dev', ['jshint', '6to5', 'concat', 'cssmin', 'copy']); grunt.registerTask('toes5', ['6to5']); grunt.registerTask('test', ['qunit']); diff --git a/dist/TF_Modules/tf_alternateRows.js b/dist/TF_Modules/tf_alternateRows.js new file mode 100644 index 00000000..2e40da77 --- /dev/null +++ b/dist/TF_Modules/tf_alternateRows.js @@ -0,0 +1,71 @@ +/*------------------------------------------------------------------------ + - HTML Table Filter Generator + - Alternating rows color feature v1.0 + - By Max Guglielmi (tablefilter.free.fr) + - Licensed under the MIT License +-------------------------------------------------------------------------*/ + +TF.prototype.SetRowBg = function(rIndex,index) +/*==================================================== + - sets row background color + - Params: + - rIndex: row index (numeric value) + - index: valid row collection index needed to + calculate bg color +=====================================================*/ +{ + if(!this.alternateBgs || isNaN(rIndex)) return; + var rows = this.tbl.rows; + var i = (index==undefined) ? rIndex : index; + this.RemoveRowBg(rIndex); + tf_AddClass( + rows[rIndex], + (i%2) ? this.rowBgEvenCssClass : this.rowBgOddCssClass + ); +} + +TF.prototype.RemoveRowBg = function(index) +/*==================================================== + - removes row background color + - Params: + - index: row index (numeric value) +=====================================================*/ +{ + if(isNaN(index)) return; + var rows = this.tbl.rows; + tf_RemoveClass(rows[index],this.rowBgOddCssClass); + tf_RemoveClass(rows[index],this.rowBgEvenCssClass); +} + +TF.prototype.SetAlternateRows = function() +/*==================================================== + - alternates row colors for better readability +=====================================================*/ +{ + if( !this.hasGrid && !this.isFirstLoad ) return; + var rows = this.tbl.rows; + var noValidRowsIndex = this.validRowsIndex==null; + var beginIndex = (noValidRowsIndex) ? this.refRow : 0; //1st index + var indexLen = (noValidRowsIndex) // nb indexes + ? (this.nbFilterableRows+beginIndex) : this.validRowsIndex.length; + + var idx = 0; + for(var j=beginIndex; jmaxValue? parseFloat( cvalue ): maxValue;} + } + } + }//for j + if (meanFlag==1) meanValue = sumValue/nbvalues; + if (medFlag==1) + { + var aux = 0; + if(nbvalues%2 == 1) + { + aux = Math.floor(nbvalues/2); + medValue = theList[aux]; + } + else medValue = (theList[nbvalues/2]+theList[((nbvalues/2)-1)])/2; + } + if (q1Flag==1) + { + var posa=0.0; + posa = Math.floor(nbvalues/4); + if (4*posa == nbvalues) {q1Value = (theList[posa-1] + theList[posa])/2;} + else {q1Value = theList[posa];} + } + if (q3Flag==1) + { + var posa=0.0; + var posb=0.0; + posa = Math.floor(nbvalues/4); + if (4*posa == nbvalues) + { + posb = 3*posa; + q3Value = (theList[posb] + theList[posb-1])/2; + } + else + q3Value = theList[nbvalues-posa-1]; + } + + for(var i=0; i<=mThisCol; 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; + break; + } + + var precision = decThisCol[i]!=undefined && !isNaN( decThisCol[i] ) + ? decThisCol[i] : 2; + + if(oTypeThisCol!=null && result) + {//if outputType is defined + result = result.toFixed( precision ); + if( tf_Id( labThisCol[i] )!=undefined ) + { + switch( oTypeThisCol.tf_LCase() ) + { + case 'innerhtml': + if (isNaN(result) || !isFinite(result) || (nbvalues==0)) + tf_Id( labThisCol[i] ).innerHTML = '.'; + else + tf_Id( labThisCol[i] ).innerHTML = result; + break; + case 'setvalue': + tf_Id( labThisCol[i] ).value = result; + break; + case 'createtextnode': + var oldnode = tf_Id( labThisCol[i] ).firstChild; + var txtnode = tf_CreateText( result ); + tf_Id( labThisCol[i] ).replaceChild( txtnode,oldnode ); + break; + }//switch + } + } else { + try + { + if (isNaN(result) || !isFinite(result) || (nbvalues==0)) + tf_Id( labThisCol[i] ).innerHTML = '.'; + else + tf_Id( labThisCol[i] ).innerHTML = result.toFixed( precision ); + } catch(e){ }//catch + }//else + }//for i + //eventual row(s) with result are always visible + if(totRowIndex!=undefined && row[totRowIndex[ucol]]) + row[totRowIndex[ucol]].style.display = ''; + }//for ucol + }//if typeof + + if(this.onAfterOperation) this.onAfterOperation.call(null,this); +} + diff --git a/dist/TF_Modules/tf_cookies.js b/dist/TF_Modules/tf_cookies.js new file mode 100644 index 00000000..25891993 --- /dev/null +++ b/dist/TF_Modules/tf_cookies.js @@ -0,0 +1,163 @@ +/*------------------------------------------------------------------------ + - HTML Table Filter Generator + - Remember values features (cookies) v1.1 + - By Max Guglielmi (tablefilter.free.fr) + - Licensed under the MIT License +-------------------------------------------------------------------------*/ + +TF.prototype.RememberFiltersValue = function( name ) +/*============================================== + - stores filters' values in a cookie + when Filter() method is called + - Params: + - name: cookie name (string) + - credits to Florent Hirchy +===============================================*/ +{ + var flt_values = []; + for(var i=0; i 0 && !o.ezEditTableConfig.startRow) startRow = undefined; + //otherwise startRow config property if any or TableFilter refRow + else startRow = o.ezEditTableConfig.startRow || o.refRow; + + //Enables scroll into view feature if not defined + o.ezEditTableConfig.scroll_into_view = o.ezEditTableConfig.scroll_into_view!=undefined ? o.ezEditTableConfig.scroll_into_view : true; + o.ezEditTableConfig.base_path = o.ezEditTableConfig.base_path!=undefined ? o.ezEditTableConfig.base_path : o.basePath + 'ezEditTable/'; + o.ezEditTableConfig.editable = o.editable; + o.ezEditTableConfig.selection = o.selectable; + if(o.selectable) + o.ezEditTableConfig.default_selection = o.ezEditTableConfig.default_selection!=undefined ? o.ezEditTableConfig.default_selection : 'row'; + //CSS Styles + o.ezEditTableConfig.active_cell_css = o.ezEditTableConfig.active_cell_css!=undefined ? o.ezEditTableConfig.active_cell_css : 'ezETSelectedCell'; + + o._lastValidRowIndex = 0; + o._lastRowIndex = 0; + + if(o.selectable){ + //Row navigation needs to be calculated according to TableFilter's validRowsIndex array + function onAfterSelection(et, selecteElm, e){ + if(!o.validRowsIndex) return; //table is not filtered + var row = et.defaultSelection != 'row' ? selecteElm.parentNode : selecteElm; + var cell = selecteElm.nodeName=='TD' ? selecteElm : null; //cell for default_selection = 'both' or 'cell' + var keyCode = e != undefined ? et.Event.GetKey(e) : 0; + var isRowValid = o.validRowsIndex.tf_Has(row.rowIndex); + var nextRowIndex; + var d = (keyCode == 34 || keyCode == 33 ? (o.pagingLength || et.nbRowsPerPage) : 1); //pgup/pgdown keys + + //If next row is not valid, next valid filtered row needs to be calculated + if(!isRowValid){ + //Selection direction up/down + if(row.rowIndex>o._lastRowIndex){ + if(row.rowIndex >= o.validRowsIndex[o.validRowsIndex.length-1]) //last row + nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1]; + else{ + var calcRowIndex = (o._lastValidRowIndex + d); + if(calcRowIndex > (o.validRowsIndex.length-1)) + nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1]; + else nextRowIndex = o.validRowsIndex[calcRowIndex]; + } + } else{ + if(row.rowIndex < o.validRowsIndex[0]) nextRowIndex = o.validRowsIndex[0];//first row + else{ + var v = o.validRowsIndex[o._lastValidRowIndex - d]; + nextRowIndex = v ? v : o.validRowsIndex[0]; + } + } + o._lastRowIndex = row.rowIndex; + DoSelection(nextRowIndex); + } else{ + //If filtered row is valid, special calculation for pgup/pgdown keys + if(keyCode!=34 && keyCode!=33){ + o._lastValidRowIndex = o.validRowsIndex.tf_IndexByValue(row.rowIndex); + o._lastRowIndex = row.rowIndex; + } else { + if(keyCode == 34){ //pgdown + if((o._lastValidRowIndex + d) <= (o.validRowsIndex.length-1)) //last row + nextRowIndex = o.validRowsIndex[o._lastValidRowIndex + d]; + else nextRowIndex = o.validRowsIndex[o.validRowsIndex.length-1]; + } else { //pgup + if((o._lastValidRowIndex - d) < (o.validRowsIndex[0])) //first row + nextRowIndex = o.validRowsIndex[0]; + else nextRowIndex = o.validRowsIndex[o._lastValidRowIndex - d]; + } + o._lastRowIndex = nextRowIndex; + o._lastValidRowIndex = o.validRowsIndex.tf_IndexByValue(nextRowIndex); + DoSelection(nextRowIndex); + } + } + + //Next valid filtered row needs to be selected + function DoSelection(nextRowIndex){ + if(et.defaultSelection == 'row'){ + et.Selection.SelectRowByIndex(nextRowIndex); + } else { + et.ClearSelections(); + var cellIndex = selecteElm.cellIndex; + var row = o.tbl.rows[nextRowIndex]; + if(et.defaultSelection == 'both') et.Selection.SelectRowByIndex(nextRowIndex); + if(row) et.Selection.SelectCell(row.cells[cellIndex]); + } + //Table is filtered + if(o.validRowsIndex.length != o.GetRowsNb()){ + var row = o.tbl.rows[nextRowIndex]; + if(row) row.scrollIntoView(false); + if(cell){ + if(cell.cellIndex==(o.GetCellsNb()-1) && o.gridLayout) o.tblCont.scrollLeft = 100000000; + else if(cell.cellIndex==0 && o.gridLayout) o.tblCont.scrollLeft = 0; + else cell.scrollIntoView(false); + } + } + } + } + + //Page navigation has to be enforced whenever selected row is out of the current page range + function onBeforeSelection(et, selecteElm, e){ + var row = et.defaultSelection != 'row' ? selecteElm.parentNode : selecteElm; + if(o.paging){ + if(o.nbPages>1){ + et.nbRowsPerPage = o.pagingLength; //page length is re-assigned in case it has changed + var pagingEndRow = parseInt(o.startPagingRow) + parseInt(o.pagingLength); + var rowIndex = row.rowIndex; + if((rowIndex == o.validRowsIndex[o.validRowsIndex.length-1]) && o.currentPageNb!=o.nbPages) o.SetPage('last'); + else if((rowIndex == o.validRowsIndex[0]) && o.currentPageNb!=1) o.SetPage('first'); + else if(rowIndex > o.validRowsIndex[pagingEndRow-1] && rowIndex < o.validRowsIndex[o.validRowsIndex.length-1]) o.SetPage('next'); + else if(rowIndex < o.validRowsIndex[o.startPagingRow] && rowIndex > o.validRowsIndex[0]) o.SetPage('previous'); + } + } + } + + //Selected row needs to be visible when paging is activated + if(o.paging){ + o.onAfterChangePage = function(tf, i){ + var row = tf.ezEditTable.Selection.GetActiveRow(); + if(row) row.scrollIntoView(false); + var cell = tf.ezEditTable.Selection.GetActiveCell(); + if(cell) cell.scrollIntoView(false); + } + } + + //Rows navigation when rows are filtered is performed with the EditTable row selection callback events + if(o.ezEditTableConfig.default_selection=='row'){ + var fnB = o.ezEditTableConfig.on_before_selected_row; + o.ezEditTableConfig.on_before_selected_row = function(){ + onBeforeSelection(arguments[0], arguments[1], arguments[2]); + if(fnB) fnB.call(null, arguments[0], arguments[1], arguments[2]); + }; + var fnA = o.ezEditTableConfig.on_after_selected_row; + o.ezEditTableConfig.on_after_selected_row = function(){ + onAfterSelection(arguments[0], arguments[1], arguments[2]); + if(fnA) fnA.call(null, arguments[0], arguments[1], arguments[2]); + }; + } else { + var fnB = o.ezEditTableConfig.on_before_selected_cell; + o.ezEditTableConfig.on_before_selected_cell = function(){ + onBeforeSelection(arguments[0], arguments[1], arguments[2]); + if(fnB) fnB.call(null, arguments[0], arguments[1], arguments[2]); + }; + var fnA = o.ezEditTableConfig.on_after_selected_cell; + o.ezEditTableConfig.on_after_selected_cell = function(){ + onAfterSelection(arguments[0], arguments[1], arguments[2]); + if(fnA) fnA.call(null, arguments[0], arguments[1], arguments[2]); + }; + } + } + if(o.editable){ + //Added or removed rows, TF rows number needs to be re-calculated + var fnC = o.ezEditTableConfig.on_added_dom_row; + o.ezEditTableConfig.on_added_dom_row = function(){ + o.nbFilterableRows++; + if(!o.paging){ o.RefreshNbRows(); } + else { + o.nbRows++; o.nbVisibleRows++; o.nbFilterableRows++; + o.paging=false; o.RemovePaging(); o.AddPaging(false); + } + if(o.alternateBgs) o.SetAlternateRows(); + if(fnC) fnC.call(null, arguments[0], arguments[1], arguments[2]); + }; + if(o.ezEditTableConfig.actions && o.ezEditTableConfig.actions['delete']){ + var fnD = o.ezEditTableConfig.actions['delete'].on_after_submit; + o.ezEditTableConfig.actions['delete'].on_after_submit = function(){ + o.nbFilterableRows--; + if(!o.paging){ o.RefreshNbRows(); } + else { + o.nbRows--; o.nbVisibleRows--; o.nbFilterableRows--; + o.paging=false; o.RemovePaging(); o.AddPaging(false); + } + if(o.alternateBgs) o.SetAlternateRows(); + if(fnD) fnD.call(null, arguments[0], arguments[1]); + } + } + } + + try{ + o.ezEditTable = new EditTable(o.id, o.ezEditTableConfig, startRow); + o.ezEditTable.Init(); + } catch(e) { alert(o.ezEditTableConfig.err); } +} \ No newline at end of file diff --git a/dist/TF_Modules/tf_fixedHeaders.js b/dist/TF_Modules/tf_fixedHeaders.js new file mode 100644 index 00000000..2ab4659d --- /dev/null +++ b/dist/TF_Modules/tf_fixedHeaders.js @@ -0,0 +1,95 @@ +/*------------------------------------------------------------------------ + - HTML Table Filter Generator + - Fixed headers feature v1.0 - Deprecated! + - By Max Guglielmi (tablefilter.free.fr) + - Licensed under the MIT License +-------------------------------------------------------------------------*/ + +TF.prototype.SetFixedHeaders = function() +/*==================================================== + - CSS solution making headers fixed +=====================================================*/ +{ + if((!this.hasGrid && !this.isFirstLoad) || !this.fixedHeaders) return; + if(this.contDiv) return; + var thead = tf_Tag(this.tbl,'thead'); + if( thead.length==0 ) return; + var tbody = tf_Tag(this.tbl,'tbody'); + if( tbody[0].clientHeight!=0 ) + {//firefox returns tbody height + //previous values + this.prevTBodyH = tbody[0].clientHeight; + this.prevTBodyOverflow = tbody[0].style.overflow; + this.prevTBodyOverflowX = tbody[0].style.overflowX; + + tbody[0].style.height = this.tBodyH+'px'; + tbody[0].style.overflow = 'auto'; + tbody[0].style.overflowX = 'hidden'; + } else { //IE returns 0 + // cont div is added to emulate fixed headers behaviour + var contDiv = tf_CreateElm( 'div',['id',this.prfxContentDiv+this.id] ); + contDiv.className = this.contDivCssClass; + this.tbl.parentNode.insertBefore(contDiv, this.tbl); + contDiv.appendChild(this.tbl); + this.contDiv = tf_Id(this.prfxContentDiv+this.id); + //prevents headers moving during window scroll (IE) + this.contDiv.style.position = 'relative'; + + var theadH = 0; + var theadTr = tf_Tag(thead[0],'tr'); + for(var i=0; i= ' + + 'offsetParent.offsetHeight ? 0 - parentNode.parentNode.offsetHeight + '+ + 'offsetParent.offsetHeight + offsetParent.scrollTop : 0);'; + } +} + +TF.prototype.RemoveFixedHeaders = function() +/*==================================================== + - Removes fixed headers +=====================================================*/ +{ + if(!this.hasGrid || !this.fixedHeaders ) return; + if( this.contDiv )//IE additional div + { + this.contDiv.parentNode.insertBefore(this.tbl, this.contDiv); + this.contDiv.parentNode.removeChild( this.contDiv ); + this.contDiv = null; + var thead = tf_Tag(this.tbl,'thead'); + if( thead.length==0 ) return; + var theadTr = tf_Tag(thead[0],'tr'); + if( theadTr.length==0 ) return; + for(var i=0; i0 ) this.tbl.removeChild(thead[0]); + + //Headers table style + this.headTbl.style.width = this.tbl.style.width; + this.headTbl.style.tableLayout = 'fixed'; + this.tbl.style.tableLayout = 'fixed'; + this.headTbl.cellPadding = this.tbl.cellPadding; + this.headTbl.cellSpacing = this.tbl.cellSpacing; + + //Headers container width + this.headTblCont.style.width = this.tblCont.clientWidth+'px'; + + //content table without headers needs col widths to be reset + this.SetColWidths(); + + this.tbl.style.width = ''; + if(tf_isIE || tf_isIE7) this.headTbl.style.width = ''; + + //scroll synchronisation + var o = this; //TF object + this.tblCont.onscroll = function(){ + o.headTblCont.scrollLeft = this.scrollLeft; + var _o = this; //this = scroll element + //New pointerX calc taking into account scrollLeft + if(!o.isPointerXOverwritten){ + try{ + TF.Evt.pointerX = function(e) + { + e = e || window.event; + var scrollLeft = tf_StandardBody().scrollLeft + _o.scrollLeft; + return (e.pageX + _o.scrollLeft) || (e.clientX + scrollLeft); + } + o.isPointerXOverwritten = true; + } catch(ee) { + o.isPointerXOverwritten = false; + } + } + } + + /*** Default behaviours activation ***/ + var f = this.fObj==undefined ? {} : this.fObj; + + //Sort is enabled if not specified in config object + if(f.sort != false){ + this.sort = true; + this.sortConfig.asyncSort = true; + this.sortConfig.triggerIds = sortTriggers; + } + + if(this.gridEnableColResizer){ + if(!this.hasExtensions){ + this.extensions = { + name:['ColumnsResizer_'+this.id], + src:[this.gridColResizerPath], + description:['Columns Resizing'], + initialize:[function(o){ o.SetColsResizer('ColumnsResizer_'+o.id); }] + } + this.hasExtensions = true; + } else { + if(!this.__containsStr('colsresizer',this.extensions.src.toString().tf_LCase())){ + this.extensions.name.push('ColumnsResizer_'+this.id); + this.extensions.src.push(this.gridColResizerPath); + this.extensions.description.push('Columns Resizing'); + this.extensions.initialize.push(function(o){o.SetColsResizer('ColumnsResizer_'+o.id);}); + } + } + } + + //Default columns resizer properties for grid layout + f.col_resizer_cols_headers_table = this.headTbl.getAttribute('id'); + f.col_resizer_cols_headers_index = this.gridHeadRowIndex; + f.col_resizer_width_adjustment = 0; + f.col_enable_text_ellipsis = false; + + //Cols generation for all browsers excepted IE<=7 + o.tblHasColTag = (tf_Tag(o.tbl,'col').length > 0) ? true : false; + if(!tf_isIE && !tf_isIE7){ + //Col elements are enough to keep column widths after sorting and filtering + function createColTags(o) + { + if(!o) return; + for(var k=(o.nbCells-1); k>=0; k--) + { + var col = tf_CreateElm( 'col', ['id', o.id+'_col_'+k]); + o.tbl.firstChild.parentNode.insertBefore(col,o.tbl.firstChild); + col.style.width = o.colWidth[k]; + o.gridColElms[k] = col; + } + o.tblHasColTag = true; + } + if(!o.tblHasColTag) createColTags(o); + else{ + var cols = tf_Tag(o.tbl,'col'); + for(var i=0; i0 ) r = tbody[0].insertRow(0); + else r = o.tbl.insertRow(0); + r.style.height = '0px'; + for(var i=0; i0 ) + tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0); + else o.tbl.moveRow(o.leadColWidthsRow.rowIndex, 0); + } + if(afterSortFn!=null) afterSortFn.call(null,o,colIndex); + } + } + + var afterColResizedFn = tf_IsFn(f.on_after_col_resized) ? f.on_after_col_resized : null; + f.on_after_col_resized = function(o,colIndex){ + if(colIndex==undefined) return; + var w = o.crWColsRow.cells[colIndex].style.width; + var col = o.gridColElms[colIndex]; + col.style.width = w; + + var thCW = o.crWColsRow.cells[colIndex].clientWidth; + var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth; + + if(tf_isIE || tf_isIE7) + o.tbl.style.width = o.headTbl.clientWidth+'px'; + + if(thCW != tdCW && !tf_isIE && !tf_isIE7) + o.headTbl.style.width = o.tbl.clientWidth+'px'; + + if(afterColResizedFn!=null) afterColResizedFn.call(null,o,colIndex); + } + + if(this.tbl.clientWidth != this.headTbl.clientWidth) + this.tbl.style.width = this.headTbl.clientWidth+'px'; + +} + +TF.prototype.RemoveGridLayout = function() +/*==================================================== + - removes the grid layout +=====================================================*/ +{ + if(!this.gridLayout) return; + var t = this.tbl.parentNode.removeChild(this.tbl); + this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont); + this.tblMainCont.parentNode.removeChild( this.tblMainCont ); + + this.tblMainCont = null; + this.headTblCont = null; + this.headTbl = null; + this.tblCont = null; + + this.tbl.outerHTML = this.sourceTblHtml; + this.tbl = tf_Id(this.id); //needed to keep reference +} \ No newline at end of file diff --git a/dist/TF_Modules/tf_highlightKeywords.js b/dist/TF_Modules/tf_highlightKeywords.js new file mode 100644 index 00000000..4d59c6ac --- /dev/null +++ b/dist/TF_Modules/tf_highlightKeywords.js @@ -0,0 +1,97 @@ +/*------------------------------------------------------------------------ + - HTML Table Filter Generator + - Highlight keywords feature v1.2 + - By Max Guglielmi (tablefilter.free.fr) + - Licensed under the MIT License +-------------------------------------------------------------------------*/ + +TF.prototype.UnhighlightAll = function() +/*==================================================== + - removes keyword highlighting +=====================================================*/ +{ + if( this.highlightKeywords && this.searchArgs!=null ){ + for(var y=0; y0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||q)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function d(b,c){return function(){var d=s.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),k.apply(a,d.concat([b,c]))}}function e(a){return function(b){return c(b,a)}}function f(a){return function(b){n[a]=b}}function g(c){if(b(o,c)){var d=o[c];delete o[c],q[c]=!0,j.apply(a,d)}if(!b(n,c)&&!b(q,c))throw new Error("No "+c);return n[c]}function h(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function i(a){return function(){return p&&p.config&&p.config[a]||{}}}var j,k,l,m,n={},o={},p={},q={},r=Object.prototype.hasOwnProperty,s=[].slice,t=/\.js$/;l=function(a,b){var d,f=h(a),i=f[0];return a=f[1],i&&(i=c(i,b),d=g(i)),i?a=d&&d.normalize?d.normalize(a,e(b)):c(a,b):(a=c(a,b),f=h(a),i=f[0],a=f[1],i&&(d=g(i))),{f:i?i+"!"+a:a,n:a,pr:i,p:d}},m={require:function(a){return d(a)},exports:function(a){var b=n[a];return"undefined"!=typeof b?b:n[a]={}},module:function(a){return{id:a,uri:"",exports:n[a],config:i(a)}}},j=function(c,e,h,i){var j,k,p,r,s,t,u=[],v=typeof h;if(i=i||c,"undefined"===v||"function"===v){for(e=!e.length&&h.length?["require","exports","module"]:e,s=0;s]+>/g,"");return b=b.replace(/^\s+/,"").replace(/\s+$/,"")},b.create=function(a){if(a&&""!==a){var b=document.createElement(a),c=arguments;if(c.length>1)for(var d=0;d0){var d=document.cookie,e=d.indexOf(c);if(-1!==e){e+=c.length;var f=d.indexOf(";",e);-1===f&&(f=d.length),b=unescape(d.substring(e,f))}}return b},a.remove=function(a){this.write(a,"",-1)},a.valueToArray=function(a,b){b||(b=",");var c=this.read(a),d=c.split(b);return d},a.getValueByIndex=function(a,b,c){c||(c=",");var d=this.valueToArray(a,c);return d[b]},a}),define("types",[],function(){var a={},b=void 0;return a.isObj=function(a){var b=!1;return"string"==typeof a?window[a]&&"object"==typeof window[a]&&(b=!0):a&&"object"==typeof a&&(b=!0),b},a.isFn=function(a){return a&&a.constructor==Function},a.isArray=function(a){return a&&a.constructor==Array},a.isUndef=function(a){return a===b},a}),define("array",["require","./string"],function(a){var b=a("./string"),c={has:function(a,c,d){for(var e=void 0===d?!1:d,f=0;f2)return a;var b;return 99>=a&&a>50&&(b="19"+a),(50>a||"00"===a)&&(b="20"+a),b}function d(a){if(void 0===a)return 0;for(var b,c=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],d=0;d11||23>b)&&(b-=12),1>b||b>12?0:b}if(b||(b="DMY"),!a||""===a)return new Date(1001,0,1);var e,f;switch(b.toUpperCase()){case"DDMMMYYYY":f=a.replace(/[- \/.]/g," ").split(" "),e=new Date(c(f[2]),d(f[1])-1,f[0]);break;case"DMY":f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0]);break;case"MDY":f=a.replace(/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[0]-1,f[1]);break;case"YMD":f=a.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,"$1 $4 $6").split(" "),e=new Date(c(f[0]),f[1]-1,f[2]);break;default:f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0])}return e}};return a}),define("modules/loader",["exports","../dom","../types"],function(a,b,c){var d=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},e=b,f=c,g=window,h=function(){var a=function(a){var b=a.fObj;a.loaderTgtId=b.loader_target_id||null,a.loaderDiv=null,a.loaderText=b.loader_text||"Loading...",a.loaderHtml=b.loader_html||null,a.loaderCssClass=b.loader_css_class||"loader",a.loaderCloseDelay=200,a.onShowLoader=f.isFn(b.on_show_loader)?b.on_show_loader:null,a.onHideLoader=f.isFn(b.on_hide_loader)?b.on_hide_loader:null,this.tf=a;var c=e.create("div",["id",a.prfxLoader+a.id]);c.className=a.loaderCssClass;var d=a.loaderTgtId?e.id(a.loaderTgtId):a.gridLayout?a.tblCont:a.tbl.parentNode;a.loaderTgtId?d.appendChild(c):d.insertBefore(c,a.tbl),a.loaderDiv=e.id(a.prfxLoader+a.id),a.loaderHtml?a.loaderDiv.innerHTML=a.loaderHtml:a.loaderDiv.appendChild(e.text(a.loaderText))};return d(a,null,{show:{writable:!0,value:function(a){function b(){c.loaderDiv&&(c.onShowLoader&&"none"!==a&&c.onShowLoader.call(null,c),c.loaderDiv.style.display=a,c.onHideLoader&&"none"===a&&c.onHideLoader.call(null,c))}if(this.tf.loader&&this.tf.loaderDiv&&this.tf.loaderDiv.style.display!==a){var c=this.tf,d="none"===a?this.tf.loaderCloseDelay:1;g.setTimeout(b,d)}}},remove:{writable:!0,value:function(){if(this.tf.loaderDiv){var a=this.tf.loaderTgtId?e.id(this.tf.loaderTgtId):this.tf.gridLayout?this.tf.tblCont:this.tf.tbl.parentNode;a.removeChild(this.tf.loaderDiv),this.tf.loaderDiv=null}}}}),a}();a.Loader=h}),define("modules/alternateRows",["exports","../dom"],function(a,b){var c=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},d=b,e=function(){var a=function(a){var b=a.fObj;this.evenCss=b.even_row_css_class||"even",this.oddCss=b.odd_row_css_class||"odd",this.tf=a};return c(a,null,{set:{writable:!0,value:function(){if(this.tf.hasGrid||this.tf.isFirstLoad)for(var a=(this.tf.tbl.rows,null===this.tf.validRowsIndex),b=a?this.tf.refRow:0,c=a?this.tf.nbFilterableRows+b:this.tf.validRowsIndex.length,d=0,e=b;c>e;e++){var f=a?e:this.tf.validRowsIndex[e];this.setRowBg(f,d),d++}}},setRowBg:{writable:!0,value:function(a,b){if(this.tf.alternateBgs&&!isNaN(a)){var c=this.tf.tbl.rows,e=b?b:a;this.removeRowBg(a),d.addClass(c[a],e%2?this.evenCss:this.oddCss)}}},removeRowBg:{writable:!0,value:function(a){if(!isNaN(a)){var b=this.tf.tbl.rows;d.removeClass(b[a],this.oddCss),d.removeClass(b[a],this.evenCss)}}},remove:{writable:!0,value:function(){if(this.tf.hasGrid){for(var a=(this.tf.tbl.rows,this.tf.refRow);a=jj;jj++)ucolIndex[jj]===colIndex[ii]&&(saved=1);0===saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[ii])}if("object"==str.lower(typeof labelId)&&"object"==str.lower(typeof colIndex)&&"object"==str.lower(typeof operation))for(var row=this.tf.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(this.tf.GetColValues(ucolIndex[ucol],!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),dom.id(labThisCol[i]))switch(str.lower(oTypeThisCol)){case"innerhtml":dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result;break;case"setvalue":dom.id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=dom.id(labThisCol[i]).firstChild,txtnode=dom.text(result);dom.id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result.toFixed(precision)}catch(e){}}var totRow=totRowIndex&&totRowIndex[ucol]?row[totRowIndex[ucol]]:null;totRow&&(totRow.style.display="")}this.tf.onAfterOperation&&this.tf.onAfterOperation.call(null,this.tf)}}}}),ColOps}();exports.ColOps=ColOps}),define("core",["require","event","dom","string","cookie","types","array","helpers","date","date","modules/loader","modules/alternateRows","modules/colOps"],function(a){function b(a){if(0!==arguments.length){if(this.id=a,this.version="3.0",this.year=(new Date).getFullYear(),this.tbl=n.id(a),this.startRow=null,this.refRow=null,this.headersRow=null,this.fObj=null,this.nbFilterableRows=null,this.nbRows=null,this.nbCells=null,this.hasGrid=!1,this.enableModules=!1,!this.tbl||"table"!==o.lower(this.tbl.nodeName)||0===this.GetRowsNb())throw new Error("Could not instantiate TF object: HTML table not found.");if(arguments.length>1)for(var b=0;b1?this.filtersRowIndex=this.headersRow+1:(this.filtersRowIndex=1,this.headersRow=0)),this.fltCellTag="th"!==e.filters_cell_tag||"td"!==e.filters_cell_tag?"td":e.filters_cell_tag,this.fltIds=[],this.fltElms=[],this.searchArgs=null,this.tblData=[],this.validRowsIndex=null,this.fltGridEl=null,this.isFirstLoad=!0,this.infDiv=null,this.lDiv=null,this.rDiv=null,this.mDiv=null,this.contDiv=null,this.infDivCssClass=e.inf_div_css_class||"inf",this.lDivCssClass=e.left_div_css_class||"ldiv",this.rDivCssClass=e.right_div_css_class||"rdiv",this.mDivCssClass=e.middle_div_css_class||"mdiv",this.contDivCssClass=e.content_div_css_class||"cont",this.stylesheet=e.stylesheet||this.basePath+"filtergrid.css",this.stylesheetId=this.id+"_style",this.fltsRowCssClass=e.flts_row_css_class||"fltrow",this.enableIcons=e.enable_icons===!1?!1:!0,this.alternateBgs=e.alternate_rows===!0?!0:!1,this.hasColWidth=e.col_width===!0?!0:!1,this.colWidth=this.hasColWidth?e.col_width:null,this.fixedHeaders=e.fixed_headers===!0?!0:!1,this.tBodyH=isNaN(e.tbody_height)?200:e.tbody_height,this.fltCssClass=e.flt_css_class||"flt",this.fltMultiCssClass=e.flt_multi_css_class||"flt_multi",this.fltSmallCssClass=e.flt_small_css_class||"flt_s",this.singleFltCssClass=e.single_flt_css_class||"single_flt",this.isStartBgAlternate=!0,this.enterKey=e.enter_key===!1?!1:!0,this.isModFilterFn=e.mod_filter_fn===!0?!0:!1,this.modFilterFn=this.isModFilterFn?e.mod_filter_fn:null,this.onBeforeFilter=q.isFn(e.on_before_filter)?e.on_before_filter:null,this.onAfterFilter=q.isFn(e.on_after_filter)?e.on_after_filter:null,this.matchCase=e.match_case===!0?!0:!1,this.exactMatch=e.exact_match===!0?!0:!1,this.refreshFilters=e.refresh_filters===!0?!0:!1,this.disableExcludedOptions=e.disable_excluded_options===!0?!0:!1,this.activeFlt=null,this.activeFilterId=null,this.hasColOperation=e.col_operation?!0:!1,this.colOperation=null,this.hasVisibleRows=e.rows_always_visible?!0:!1,this.visibleRows=this.hasVisibleRows?e.rows_always_visible:[],this.searchType=e.search_type||"include",this.isExternalFlt=e.external_flt_grid===!0?!0:!1,this.externalFltTgtIds=e.external_flt_grid_ids||null,this.externalFltEls=[],this.execDelay=isNaN(e.exec_delay)?100:parseInt(e.exec_delay,10),this.status=e.status===!0?!0:!1,this.onFiltersLoaded=q.isFn(e.on_filters_loaded)?e.on_filters_loaded:null,this.singleSearchFlt=e.single_search_filter===!0?!0:!1,this.onRowValidated=q.isFn(e.on_row_validated)?e.on_row_validated:null,this.customCellDataCols=e.custom_cell_data_cols?e.custom_cell_data_cols:[],this.customCellData=q.isFn(e.custom_cell_data)?e.custom_cell_data:null,this.inpWatermark=e.input_watermark||"",this.inpWatermarkCssClass=e.input_watermark_css_class||"fltWatermark",this.isInpWatermarkArray=q.isArray(e.input_watermark),this.toolBarTgtId=e.toolbar_target_id||null,this.helpInstructions=e.help_instructions||null,this.popUpFilters=e.popup_filters===!0?!0:!1,this.markActiveColumns=e.mark_active_columns===!0?!0:!1,this.activeColumnsCssClass=e.active_columns_css_class||"activeHeader",this.onBeforeActiveColumn=q.isFn(e.on_before_active_column)?e.on_before_active_column:null,this.onAfterActiveColumn=q.isFn(e.on_after_active_column)?e.on_after_active_column:null,this.displayAllText=e.display_all_text||"",this.enableSlcResetFilter=e.enable_slc_reset_filter===!1?!1:!0,this.enableEmptyOption=e.enable_empty_option===!0?!0:!1,this.emptyText=e.empty_text||"(Empty)",this.enableNonEmptyOption=e.enable_non_empty_option===!0?!0:!1,this.nonEmptyText=e.non_empty_text||"(Non empty)",this.onSlcChange=e.on_change===!1?!1:!0,this.sortSlc=e.sort_select===!1?!1:!0,this.isSortNumAsc=e.sort_num_asc===!0?!0:!1,this.sortNumAsc=this.isSortNumAsc?e.sort_num_asc:null,this.isSortNumDesc=e.sort_num_desc===!0?!0:!1,this.sortNumDesc=this.isSortNumDesc?e.sort_num_desc:null,this.slcFillingMethod=e.slc_filling_method||"createElement",this.fillSlcOnDemand=e.fill_slc_on_demand===!0?!0:!1,this.activateSlcTooltip=e.activate_slc_tooltip||"Click to activate",this.multipleSlcTooltip=e.multiple_slc_tooltip||"Use Ctrl key for multiple selections",this.hasCustomSlcOptions=q.isObj(e.custom_slc_options)?!0:!1,this.customSlcOptions=q.isArray(e.custom_slc_options)?e.custom_slc_options:null,this.onBeforeOperation=q.isFn(e.on_before_operation)?e.on_before_operation:null,this.onAfterOperation=q.isFn(e.on_after_operation)?e.on_after_operation:null,this.checkListDiv=[],this.checkListDivCssClass=e.div_checklist_css_class||"div_checklist",this.checkListCssClass=e.checklist_css_class||"flt_checklist",this.checkListItemCssClass=e.checklist_item_css_class||"flt_checklist_item",this.checkListSlcItemCssClass=e.checklist_selected_item_css_class||"flt_checklist_slc_item",this.activateCheckListTxt=e.activate_checklist_text||"Click to load filter data",this.checkListItemDisabledCssClass=e.checklist_item_disabled_css_class||"flt_checklist_item_disabled",this.enableCheckListResetFilter=e.enable_checklist_reset_filter===!1?!1:!0,this.rgxOperator=e.regexp_operator||"rgx:",this.emOperator=e.empty_operator||"[empty]",this.nmOperator=e.nonempty_operator||"[nonempty]",this.orOperator=e.or_operator||"||",this.anOperator=e.and_operator||"&&",this.grOperator=e.greater_operator||">",this.lwOperator=e.lower_operator||"<",this.leOperator=e.lower_equal_operator||"<=",this.geOperator=e.greater_equal_operator||">=",this.dfOperator=e.different_operator||"!",this.lkOperator=e.like_operator||"*",this.eqOperator=e.equal_operator||"=",this.stOperator=e.start_with_operator||"{",this.enOperator=e.end_with_operator||"}",this.curExp=e.cur_exp||"^[¥£€$]",this.separator=e.separator||",",this.rowsCounter=e.rows_counter===!0?!0:!1,this.statusBar=e.status_bar===!0?!0:!1,this.loader=e.loader===!0?!0:!1,this.displayBtn=e.btn===!0?!0:!1,this.btnText=e.btn_text||(this.enableIcons?"":"Go"),this.btnCssClass=e.btn_css_class||(this.enableIcons?"btnflt_icon":"btnflt"),this.btnReset=e.btn_reset===!0?!0:!1,this.btnResetCssClass=e.btn_reset_css_class||"reset",this.onBeforeReset=q.isFn(e.on_before_reset)?e.on_before_reset:null,this.onAfterReset=q.isFn(e.on_after_reset)?e.on_after_reset:null,this.paging=e.paging===!0?!0:!1,this.hasResultsPerPage=e.results_per_page===!0?!0:!1,this.btnPageCssClass=e.paging_btn_css_class||"pgInp",this.pagingSlc=null,this.resultsPerPage=null,this.resultsPerPageSlc=null,this.isPagingRemoved=!1,this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.currentPageNb=1,this.sort=e.sort===!0?!0:!1,this.isSortEnabled=!1,this.sorted=!1,this.sortConfig=e.sort_config||{},this.sortConfig.name=void 0!==this.sortConfig.name?e.sort_config.name:"sortabletable",this.sortConfig.src=void 0!==this.sortConfig.src?e.sort_config.src:this.basePath+"sortabletable.js",this.sortConfig.adapterSrc=void 0!==this.sortConfig.adapter_src?e.sort_config.adapter_src:this.basePath+"tfAdapter.sortabletable.js",this.sortConfig.initialize=void 0!==this.sortConfig.initialize?e.sort_config.initialize:function(a){a.SetSortTable&&a.SetSortTable()},this.sortConfig.sortTypes=q.isArray(this.sortConfig.sort_types)?e.sort_config.sort_types:[],this.sortConfig.sortCol=void 0!==this.sortConfig.sort_col?e.sort_config.sort_col:null,this.sortConfig.asyncSort=this.sortConfig.async_sort===!0?!0:!1,this.sortConfig.triggerIds=q.isArray(this.sortConfig.sort_trigger_ids)?e.sort_config.sort_trigger_ids:[],this.selectable=e.selectable===!0?!0:!1,this.editable=e.editable===!0?!0:!1,this.ezEditTableConfig=e.ezEditTable_config||{},this.ezEditTableConfig.name=void 0!==this.ezEditTableConfig.name?e.ezEditTable_config.name:"ezedittable",this.ezEditTableConfig.src=void 0!==this.ezEditTableConfig.src?e.ezEditTable_config.src:this.basePath+"ezEditTable/ezEditTable.js",this.ezEditTableConfig.loadStylesheet=this.ezEditTableConfig.loadStylesheet===!0?!0:!1,this.ezEditTableConfig.stylesheet=this.ezEditTableConfig.stylesheet||this.basePath+"ezEditTable/ezEditTable.css",this.ezEditTableConfig.stylesheetName=void 0!==this.ezEditTableConfig.stylesheetName?e.ezEditTable_config.stylesheetName:"ezEditTableCss",this.ezEditTableConfig.err='Failed to instantiate EditTable object.\n"ezEditTable" module may not be available.',this.onKeyUp=e.on_keyup===!0?!0:!1,this.onKeyUpDelay=isNaN(e.on_keyup_delay)?900:e.on_keyup_delay,this.isUserTyping=null,this.onKeyUpTimer=void 0,this.highlightKeywords=e.highlight_keywords===!0?!0:!1,this.highlightCssClass=e.highlight_css_class||"keyword",this.highlightedNodes=[],this.defaultDateType=e.default_date_type||"DMY",this.thousandsSeparator=e.thousands_separator||",",this.decimalSeparator=e.decimal_separator||".",this.hasColNbFormat=e.col_number_format===!0?!0:!1,this.colNbFormat=q.isArray(this.hasColNbFormat)?e.col_number_format:null,this.hasColDateType=e.col_date_type===!0?!0:!1,this.colDateType=q.isArray(this.hasColDateType)?e.col_date_type:null,this.msgFilter=e.msg_filter||"Filtering data...",this.msgPopulate=e.msg_populate||"Populating filter...",this.msgPopulateCheckList=e.msg_populate_checklist||"Populating list...",this.msgChangePage=e.msg_change_page||"Collecting paging data...",this.msgClear=e.msg_clear||"Clearing filters...",this.msgChangeResults=e.msg_change_results||"Changing results per page...",this.msgResetValues=e.msg_reset_grid_values||"Re-setting filters values...",this.msgResetPage=e.msg_reset_page||"Re-setting page...",this.msgResetPageLength=e.msg_reset_page_length||"Re-setting page length...",this.msgSort=e.msg_sort||"Sorting data...",this.msgLoadExtensions=e.msg_load_extensions||"Loading extensions...",this.msgLoadThemes=e.msg_load_themes||"Loading theme(s)...",this.prfxTf="TF",this.prfxFlt="flt",this.prfxValButton="btn",this.prfxInfDiv="inf_",this.prfxLDiv="ldiv_",this.prfxRDiv="rdiv_",this.prfxMDiv="mdiv_",this.prfxContentDiv="cont_",this.prfxCheckListDiv="chkdiv_",this.prfxSlcPages="slcPages_",this.prfxSlcResults="slcResults_",this.prfxSlcResultsTxt="slcResultsTxt_",this.prfxBtnNextSpan="btnNextSpan_",this.prfxBtnPrevSpan="btnPrevSpan_",this.prfxBtnLastSpan="btnLastSpan_",this.prfxBtnFirstSpan="btnFirstSpan_",this.prfxBtnNext="btnNext_",this.prfxBtnPrev="btnPrev_",this.prfxBtnLast="btnLast_",this.prfxBtnFirst="btnFirst_",this.prfxPgSpan="pgspan_",this.prfxPgBeforeSpan="pgbeforespan_",this.prfxPgAfterSpan="pgafterspan_",this.prfxCounter="counter_",this.prfxTotRows="totrows_span_",this.prfxTotRowsTxt="totRowsTextSpan_",this.prfxResetSpan="resetspan_",this.prfxLoader="load_",this.prfxStatus="status_",this.prfxStatusSpan="statusSpan_",this.prfxStatusTxt="statusText_",this.prfxCookieFltsValues="tf_flts_",this.prfxCookiePageNb="tf_pgnb_",this.prfxCookiePageLen="tf_pglen_",this.prfxMainTblCont="gridCont_",this.prfxTblCont="tblCont_",this.prfxHeadTblCont="tblHeadCont_",this.prfxHeadTbl="tblHead_",this.prfxGridFltTd="_td_",this.prfxGridTh="tblHeadTh_",this.prfxHelpSpan="helpSpan_",this.prfxHelpDiv="helpDiv_",this.prfxPopUpSpan="popUpSpan_",this.prfxPopUpDiv="popUpDiv_",this.hasStoredValues=!1,this.rememberGridValues=e.remember_grid_values===!0?!0:!1,this.fltsValuesCookie=this.prfxCookieFltsValues+this.id,this.rememberPageNb=this.paging&&e.remember_page_number?!0:!1,this.pgNbCookie=this.prfxCookiePageNb+this.id,this.rememberPageLen=this.paging&&e.remember_page_length?!0:!1,this.pgLenCookie=this.prfxCookiePageLen+this.id,this.cookieDuration=isNaN(e.set_cookie_duration)?1e5:parseInt(e.set_cookie_duration,10),this.hasExtensions=e.extensions===!0?!0:!1,this.extensions=this.hasExtensions?e.extensions:null,this.enableDefaultTheme=e.enable_default_theme===!0?!0:!1,this.hasThemes=e.enable_default_theme||e.themes&&q.isObj(e.themes)?!0:!1,this.themes=this.hasThemes?e.themes:null,this.themesPath=e.themes_path||this.basePath+"TF_Themes/",this.Cpt={loader:null,alternateRows:null,colOps:null};var l=this;this.Evt={name:{filter:"Filter",populateselect:"Populate",populatechecklist:"PopulateCheckList",changepage:"ChangePage",clear:"Clear",changeresultsperpage:"ChangeResults",resetvalues:"ResetValues",resetpage:"ResetPage",resetpagelength:"ResetPageLength",sort:"Sort",loadextensions:"LoadExtensions",loadthemes:"LoadThemes"},getKeyCode:function(a){return a.charCode?a.charCode:a.keyCode?a.keyCode:a.which?a.which:0},_DetectKey:function(a){if(l.enterKey){var b=a||k.event;if(b){var c=l.Evt.getKeyCode(b);13===c?(l._Filter(),m.cancel(b),m.stop(b)):(l.isUserTyping=!0,k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0)}}},_OnKeyUp:function(a){function b(){k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0,l.isUserTyping||(l.Filter(),l.isUserTyping=null)}if(l.onKeyUp){var c=a||k.event,d=l.Evt.getKeyCode(c);l.isUserTyping=!1,13!==d&&9!==d&&27!==d&&38!==d&&40!==d?void 0===l.onKeyUpTimer&&(l.onKeyUpTimer=k.setInterval(b,l.onKeyUpDelay)):(k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0)}},_OnKeyDown:function(){l.onKeyUp&&(l.isUserTyping=!0)},_OnInpBlur:function(){l.onKeyUp&&(l.isUserTyping=!1,k.clearInterval(l.onKeyUpTimer)),""===this.value&&""!==l.inpWatermark&&(this.value=l.isInpWatermarkArray?l.inpWatermark[this.getAttribute("ct")]:l.inpWatermark,n.addClass(this,l.inpWatermarkCssClass)),l.ezEditTable&&(l.editable&&l.ezEditTable.Editable.Set(),l.selectable&&l.ezEditTable.Selection.Set())},_OnInpFocus:function(a){var b=a||k.event;if(l.activeFilterId=this.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId),l.isInpWatermarkArray){var c=l.inpWatermark[this.getAttribute("ct")];this.value===c&&""!==c&&(this.value="",n.removeClass(this,l.inpWatermarkCssClass))}else this.value===l.inpWatermark&&""!==l.inpWatermark&&(this.value="",n.removeClass(this,l.inpWatermarkCssClass));l.popUpFilters&&(m.cancel(b),m.stop(b)),l.ezEditTable&&(l.editable&&l.ezEditTable.Editable.Remove(),l.selectable&&l.ezEditTable.Selection.Remove())},_OnSlcFocus:function(a){var b=a||k.event;if(l.activeFilterId=this.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId),l.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var c=this.getAttribute("ct"); -l.PopulateSelect(c),s.isIE()||this.setAttribute("filled","1")}l.popUpFilters&&(m.cancel(b),m.stop(b))},_OnSlcChange:function(a){var b=l.activeFlt.getAttribute("colIndex");if(!l.activeFlt||!b||l["col"+b]!==l.fltTypeCheckList||l.Evt._OnSlcChange.caller){var c=a||k.event;l.popUpFilters&&m.stop(c),l.onSlcChange&&l.Filter()}},_OnSlcBlur:function(){},_OnCheckListChange:function(a){l.Evt._OnCheckListChange.caller&&l.Evt._OnSlcChange(a)},_OnCheckListClick:function(){if(l.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var a=this.getAttribute("ct");l.PopulateCheckList(a),l.checkListDiv[a].onclick=null,l.checkListDiv[a].title=""}},_OnCheckListFocus:function(){l.activeFilterId=this.firstChild.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId)},_OnCheckListBlur:function(){},_OnBtnClick:function(){l.Filter()},_OnSlcPagesChangeEvt:null,_EnableSlc:function(){this.firstChild.disabled=!1,this.firstChild.focus(),this.onclick=null},_Clear:function(){l.ClearFilters()},_OnHelpBtnClick:function(){l._ToggleHelp()},_Paging:{nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}}}function c(a,b){return a-b}function d(a,b){return b-a}function e(a,b){var c=o.lower(a),d=o.lower(b);return d>c?-1:c>d?1:0}function f(a,b){if(a){b||(b="us");var c=a;return c="us"===o.lower(b)?+c.replace(/[^\d\.-]/g,""):+c.replace(/[^\d\,-]/g,"").replace(",",".")}}function g(a,b){for(var c=!1,d=b?b:"script",e="script"==d?"src":"href",f=n.tag(v,d),g=0;g0?g[0].insertRow(this.filtersRowIndex):this.tbl.insertRow(this.filtersRowIndex),this.headersRow>1&&this.filtersRowIndex<=this.headersRow&&!this.popUpFilters&&this.headersRow++,this.popUpFilters&&this.headersRow++,this.fixedHeaders&&this.SetFixedHeaders(),f.className=this.fltsRowCssClass,this.isExternalFlt&&(!this.gridLayout||this.popUpFilters)&&(f.style.display="none")}this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.tbl.rows.length;for(var h=0;d>h;h++){var i=n.create(this.fltCellTag),j=this["col"+h],k=this.isExternalFlt&&this.externalFltTgtIds?this.externalFltTgtIds[h]:null;if(this.singleSearchFlt&&(i.colSpan=this.nbCells),this.gridLayout||f.appendChild(i),b=h==d-1&&this.displayBtn?this.fltSmallCssClass:this.fltCssClass,this.popUpFilters&&this.SetPopupFilter(h),void 0===j&&(j=void 0===c["col_"+h]?this.fltTypeInp:o.lower(c["col_"+h])),this.singleSearchFlt&&(j=this.fltTypeInp,b=this.singleFltCssClass),j===this.fltTypeSlc||j===this.fltTypeMulti){var l=n.create(this.fltTypeSlc,["id",this.prfxFlt+h+"_"+this.id],["ct",h],["filled","0"]);if(j===this.fltTypeMulti&&(l.multiple=this.fltTypeMulti,l.title=this.multipleSlcTooltip),l.className=o.lower(j)===this.fltTypeSlc?b:this.fltMultiCssClass,k?(n.id(k).appendChild(l),this.externalFltEls.push(l)):i.appendChild(l),this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateSelect(h),l.onkeypress=this.Evt._DetectKey,l.onchange=this.Evt._OnSlcChange,l.onfocus=this.Evt._OnSlcFocus,l.onblur=this.Evt._OnSlcBlur,this.fillSlcOnDemand){var m=n.createOpt(this.displayAllText,"");l.appendChild(m)}this.fillSlcOnDemand&&s.isIE()&&(l.disabled=!0,l.title=this.activateSlcTooltip,l.parentNode.onclick=this.Evt._EnableSlc,j===this.fltTypeMulti&&this.__deferMultipleSelection(l,0))}else if(j===this.fltTypeCheckList){var q=n.create("div",["id",this.prfxCheckListDiv+h+"_"+this.id],["ct",h],["filled","0"]);q.className=this.checkListDivCssClass,k?(n.id(k).appendChild(q),this.externalFltEls.push(q)):i.appendChild(q),this.checkListDiv[h]=q,this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateCheckList(h),q.onclick=this.Evt._OnCheckListFocus,this.fillSlcOnDemand&&(q.onclick=this.Evt._OnCheckListClick,q.appendChild(n.text(this.activateCheckListTxt)))}else{var r=j===this.fltTypeInp?"text":"hidden",t=n.create(this.fltTypeInp,["id",this.prfxFlt+h+"_"+this.id],["type",r],["ct",h]);if("hidden"!=r&&(t.value=this.isInpWatermarkArray?this.inpWatermark[h]:this.inpWatermark),t.className=b,""!==this.inpWatermark&&n.addClass(t,this.inpWatermarkCssClass),t.onfocus=this.Evt._OnInpFocus,k?(n.id(k).appendChild(t),this.externalFltEls.push(t)):i.appendChild(t),this.fltIds.push(this.prfxFlt+h+"_"+this.id),t.onkeypress=this.Evt._DetectKey,t.onkeydown=this.Evt._OnKeyDown,t.onkeyup=this.Evt._OnKeyUp,t.onblur=this.Evt._OnInpBlur,this.rememberGridValues){var u=p.read(this.fltsValuesCookie),v=new RegExp(this.separator,"g"),w=u.split(v);" "!=w[h]&&this.SetFilterValue(h,w[h],!1)}}if(h==d-1&&this.displayBtn){var x=n.create(this.fltTypeInp,["id",this.prfxValButton+h+"_"+this.id],["type","button"],["value",this.btnText]);x.className=this.btnCssClass,k?n.id(k).appendChild(x):i.appendChild(x),x.onclick=this.Evt._OnBtnClick}}}else this.__resetGrid();else this.refRow=this.refRow-1,this.gridLayout&&(this.refRow=0),this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.nbFilterableRows+this.refRow;if(this.rowsCounter&&this.SetRowsCounter(),this.statusBar&&this.SetStatusBar(),this.fixedHeaders&&!this.isFirstLoad&&this.SetFixedHeaders(),this.paging&&this.SetPaging(),this.hasResultsPerPage&&this.paging&&this.SetResultsPerPage(),this.btnReset&&this.SetResetBtn(),this.helpInstructions&&this.SetHelpInstructions(),this.hasColWidth&&!this.gridLayout&&this.SetColWidths(),this.alternateBgs&&this.isStartBgAlternate){var y=a("modules/alternateRows").AlternateRows;this.Cpt.alternateRows=new y(this),this.Cpt.alternateRows.set()}if(this.hasColOperation){var z=a("modules/colOps").ColOps;this.Cpt.colOps=new z(this),this.Cpt.colOps.set()}(this.sort||this.gridLayout)&&this.SetSort(),(this.selectable||this.editable)&&this.SetEditable(),this.isFirstLoad=!1,this.hasGrid=!0,(this.rememberGridValues||this.rememberPageLen||this.rememberPageNb)&&this.ResetValues(),this.gridLayout||n.addClass(this.tbl,this.prfxTf),this.loader&&this.Cpt.loader.show("none"),this.hasExtensions&&this.LoadExtensions(),this.onFiltersLoaded&&this.onFiltersLoaded.call(null,this)}},EvtManager:function(a,b){function c(){if(a){switch(a){case d.Evt.name.filter:d.isModFilterFn?d.modFilterFn.call(null,d):d._Filter();break;case d.Evt.name.populateselect:d.refreshFilters?d._PopulateSelect(e,!0):d._PopulateSelect(e,!1,f,g);break;case d.Evt.name.populatechecklist:d._PopulateCheckList(e,f,g);break;case d.Evt.name.changepage:d._ChangePage(h);break;case d.Evt.name.clear:d._ClearFilters(),d._Filter();break;case d.Evt.name.changeresultsperpage:d._ChangeResultsPerPage();break;case d.Evt.name.resetvalues:d._ResetValues(),d._Filter();break;case d.Evt.name.resetpage:d._ResetPage(d.pgNbCookie);break;case d.Evt.name.resetpagelength:d._ResetPageLength(d.pgLenCookie);break;case d.Evt.name.sort:break;case d.Evt.name.loadextensions:d._LoadExtensions();break;case d.Evt.name.loadthemes:d._LoadThemes();break;default:d["_"+a].call(null,d,b)}(d.status||d.statusBar)&&d.StatusMsg(""),d.loader&&d.Cpt.loader.show("none")}}var d=this,e=b&&void 0!==b.slcIndex?b.slcIndex:null,f=b&&void 0!==b.slcExternal?b.slcExternal:!1,g=b&&void 0!==b.slcId?b.slcId:null,h=b&&void 0!==b.pgIndex?b.pgIndex:null;if(this.loader||this.status||this.statusBar){try{this.Cpt.loader.show(""),this.StatusMsg(d["msg"+a])}catch(i){}k.setTimeout(c,this.execDelay)}else c()},ImportModule:function(a){a.path&&a.name&&this.IncludeFile(a.name,a.path,a.init)},LoadExtensions:function(){if(!this.Ext){var a=this;this.Ext={list:{},add:function(b,c,d,e){var f=d.split("/")[d.split("/").length-1],g=new RegExp(f),h=d.replace(g,"");a.Ext.list[b]={name:b,description:c,file:f,path:h,callback:e}}}}this.EvtManager(this.Evt.name.loadextensions)},_LoadExtensions:function(){if(this.hasExtensions&&q.isArray(this.extensions.name)&&q.isArray(this.extensions.src))for(var a=this.extensions,b=0;b',this.btnPrevPageHtml='',this.btnNextPageHtml='',this.btnFirstPageHtml='',this.btnLastPageHtml='',this.loader=!0,this.loaderHtml='
',this.loaderText=null}},RemoveGrid:function(){if(this.fltGrid&&this.hasGrid){var a=this.tbl.rows;this.paging&&this.RemovePaging(),this.statusBar&&this.RemoveStatusBar(),this.rowsCounter&&this.RemoveRowsCounter(),this.btnReset&&this.RemoveResetBtn(),(this.helpInstructions||!this.helpInstructions)&&this.RemoveHelpInstructions(),this.paging&&this.RemoveResultsPerPage(),this.isExternalFlt&&!this.popUpFilters&&this.RemoveExternalFlts(),this.fixedHeaders&&this.RemoveFixedHeaders(),this.infDiv&&this.RemoveTopDiv(),this.highlightKeywords&&this.UnhighlightAll(),this.sort&&this.RemoveSort(),this.loader&&this.Cpt.loader.remove(),this.popUpFilters&&this.RemovePopupFilters(),this.markActiveColumns&&this.ClearActiveColumns(),(this.editable||this.selectable)&&this.RemoveEditable();for(var b=this.refRow;b0&&!c.startRow?void 0:c.startRow||a.refRow,c.scroll_into_view=c.scroll_into_view===!1?!1:!0,c.base_path=c.base_path||a.basePath+"ezEditTable/",c.editable=a.editable=a.fObj.editable,c.selection=a.selectable=a.fObj.selectable,a.selectable&&(c.default_selection=c.default_selection||"row"),c.active_cell_css=c.active_cell_css||"ezETSelectedCell",a._lastValidRowIndex=0,a._lastRowIndex=0,a.selectable){var e=function(b,c,d){if(a.validRowsIndex){var e,f=a.validRowsIndex,g=f.length,h="row"!==b.defaultSelection?c.parentNode:c,i="TD"===c.nodeName?c:null,j=void 0!==d?b.Event.GetKey(d):0,k=r.has(f,h.rowIndex),l=34===j||33===j?a.pagingLength||b.nbRowsPerPage:1;if(k)34!==j&&33!==j?(a._lastValidRowIndex=r.indexByValue(f,h.rowIndex),a._lastRowIndex=h.rowIndex):(e=34===j?a._lastValidRowIndex+l<=g-1?f[a._lastValidRowIndex+l]:[g-1]:a._lastValidRowIndex-l<=f[0]?f[0]:f[a._lastValidRowIndex-l],a._lastRowIndex=e,a._lastValidRowIndex=r.indexByValue(f,e),o(e));else{if(h.rowIndex>a._lastRowIndex)if(h.rowIndex>=f[g-1])e=f[g-1];else{var m=a._lastValidRowIndex+l;e=m>g-1?f[g-1]:f[m]}else if(h.rowIndex<=f[0])e=f[0];else{var n=f[a._lastValidRowIndex-l];e=n?n:f[0]}a._lastRowIndex=h.rowIndex,o(e)}var o=function(d){if("row"===b.defaultSelection)b.Selection.SelectRowByIndex(d);else{b.ClearSelections();var e=c.cellIndex,f=a.tbl.rows[d];"both"===b.defaultSelection&&b.Selection.SelectRowByIndex(d),f&&b.Selection.SelectCell(f.cells[e])}if(a.validRowsIndex.length!==a.GetRowsNb()){var g=a.tbl.rows[d];g&&g.scrollIntoView(!1),i&&(i.cellIndex===a.GetCellsNb()-1&&a.gridLayout?a.tblCont.scrollLeft=1e8:0===i.cellIndex&&a.gridLayout?a.tblCont.scrollLeft=0:i.scrollIntoView(!1))}}}},f=function(b,c){var d="row"!==b.defaultSelection?c.parentNode:c;if(a.paging&&a.nbPages>1){b.nbRowsPerPage=a.pagingLength;var e=a.validRowsIndex,f=e.length,g=parseInt(a.startPagingRow,10)+parseInt(a.pagingLength,10),h=d.rowIndex;h===e[f-1]&&a.currentPageNb!=a.nbPages?a.SetPage("last"):h==e[0]&&1!==a.currentPageNb?a.SetPage("first"):h>e[g-1]&&he[0]&&a.SetPage("previous")}};if(a.paging&&(a.onAfterChangePage=function(a){var b=a.ezEditTable,c=b.Selection.GetActiveRow();c&&c.scrollIntoView(!1);var d=b.Selection.GetActiveCell();d&&d.scrollIntoView(!1)}),"row"===c.default_selection){var g=c.on_before_selected_row;c.on_before_selected_row=function(){f(arguments[0],arguments[1],arguments[2]),g&&g.call(null,arguments[0],arguments[1],arguments[2])};var h=c.on_after_selected_row;c.on_after_selected_row=function(){e(arguments[0],arguments[1],arguments[2]),h&&h.call(null,arguments[0],arguments[1],arguments[2])}}else{var i=c.on_before_selected_cell;c.on_before_selected_cell=function(){f(arguments[0],arguments[1],arguments[2]),i&&i.call(null,arguments[0],arguments[1],arguments[2])};var j=c.on_after_selected_cell;c.on_after_selected_cell=function(){e(arguments[0],arguments[1],arguments[2]),j&&j.call(null,arguments[0],arguments[1],arguments[2])}}}if(a.editable){var k=c.on_added_dom_row;if(c.on_added_dom_row=function(){a.nbFilterableRows++,a.paging?(a.nbRows++,a.nbVisibleRows++,a.nbFilterableRows++,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.RefreshNbRows(),a.alternateBgs&&a.Cpt.alternateRows.set(),k&&k.call(null,arguments[0],arguments[1],arguments[2])},c.actions&&c.actions["delete"]){var l=c.actions["delete"].on_after_submit;c.actions["delete"].on_after_submit=function(){a.nbFilterableRows--,a.paging?(a.nbRows--,a.nbVisibleRows--,a.nbFilterableRows--,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.RefreshNbRows(),a.alternateBgs&&a.Cpt.alternateRows.set(),l&&l.call(null,arguments[0],arguments[1])}}}try{a.ezEditTable=new EditTable(a.id,c,b),a.ezEditTable.Init()}catch(m){console.log(c.err)}},SetPaging:function(){if((this.hasGrid||this.isFirstLoad)&&this.paging&&(this.isPagingRemoved||this.isFirstLoad)){var a=this.fObj;this.pagingTgtId=a.paging_target_id||null,this.pagingLength=isNaN(a.paging_length)?10:a.paging_length,this.resultsPerPageTgtId=a.results_per_page_target_id||null,this.pgSlcCssClass=a.paging_slc_css_class||"pgSlc",this.pgInpCssClass=a.paging_inp_css_class||"pgNbInp",this.resultsSlcCssClass=a.results_slc_css_class||"rspg",this.resultsSpanCssClass=a.results_span_css_class||"rspgSpan",this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.btnNextPageText=a.btn_next_page_text||">",this.btnPrevPageText=a.btn_prev_page_text||"<",this.btnLastPageText=a.btn_last_page_text||">|",this.btnFirstPageText=a.btn_first_page_text||"|<",this.btnNextPageHtml=a.btn_next_page_html||(this.enableIcons?'':null),this.btnPrevPageHtml=a.btn_prev_page_html||(this.enableIcons?'':null),this.btnFirstPageHtml=a.btn_first_page_html||(this.enableIcons?'':null),this.btnLastPageHtml=a.btn_last_page_html||(this.enableIcons?'':null),this.pageText=a.page_text||" Page ",this.ofText=a.of_text||" of ",this.nbPgSpanCssClass=a.nb_pages_css_class||"nbpg",this.hasPagingBtns=a.paging_btns===!1?!1:!0,this.pagingBtnEvents=null,this.pageSelectorType=a.page_selector_type||this.fltTypeSlc,this.onBeforeChangePage=q.isFn(a.on_before_change_page)?a.on_before_change_page:null,this.onAfterChangePage=q.isFn(a.on_after_change_page)?a.on_after_change_page:null;var b=this.refRow,c=this.nbRows;if(this.nbPages=Math.ceil((c-b)/this.pagingLength),!this.Evt._Paging.next){var d=this;this.Evt._Paging={slcIndex:function(){return d.pageSelectorType===d.fltTypeSlc?d.pagingSlc.options.selectedIndex:parseInt(d.pagingSlc.value,10)-1},nbOpts:function(){return d.pageSelectorType===d.fltTypeSlc?parseInt(d.pagingSlc.options.length,10)-1:d.nbPages-1},next:function(){d.Evt._Paging.nextEvt&&d.Evt._Paging.nextEvt();var a=d.Evt._Paging.slcIndex()0?d.Evt._Paging.slcIndex()-1:d.Evt._Paging.nbOpts();d.ChangePage(a)},last:function(){d.Evt._Paging.lastEvt&&d.Evt._Paging.lastEvt(),d.ChangePage(d.Evt._Paging.nbOpts())},first:function(){d.Evt._Paging.firstEvt&&d.Evt._Paging.firstEvt(),d.ChangePage(0)},_detectKey:function(a){var b=a||k.event;if(b){var c=d.Evt.getKeyCode(a);13===c&&(d.sorted?(d.Filter(),d.ChangePage(d.Evt._Paging.slcIndex())):d.ChangePage(),this.blur())}},nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}this.Evt._OnSlcPagesChange||(this.Evt._OnSlcPagesChange=function(){d.Evt._Paging._OnSlcPagesChangeEvt&&d.Evt._Paging._OnSlcPagesChangeEvt(),d.ChangePage(),this.blur(),this.parentNode&&s.isIE()&&this.parentNode.focus()});var e;this.pageSelectorType===this.fltTypeSlc&&(e=n.create(this.fltTypeSlc,["id",this.prfxSlcPages+this.id]),e.className=this.pgSlcCssClass,e.onchange=this.Evt._OnSlcPagesChange),this.pageSelectorType===this.fltTypeInp&&(e=n.create(this.fltTypeInp,["id",this.prfxSlcPages+this.id],["value",this.currentPageNb]),e.className=this.pgInpCssClass,e.onkeypress=this.Evt._Paging._detectKey);var f=n.create("span",["id",this.prfxBtnNextSpan+this.id]),g=n.create("span",["id",this.prfxBtnPrevSpan+this.id]),h=n.create("span",["id",this.prfxBtnLastSpan+this.id]),i=n.create("span",["id",this.prfxBtnFirstSpan+this.id]);if(this.hasPagingBtns){if(this.btnNextPageHtml)f.innerHTML=this.btnNextPageHtml,f.onclick=this.Evt._Paging.next;else{var j=n.create(this.fltTypeInp,["id",this.prfxBtnNext+this.id],["type","button"],["value",this.btnNextPageText],["title","Next"]);j.className=this.btnPageCssClass,j.onclick=this.Evt._Paging.next,f.appendChild(j)}if(this.btnPrevPageHtml)g.innerHTML=this.btnPrevPageHtml,g.onclick=this.Evt._Paging.prev;else{var l=n.create(this.fltTypeInp,["id",this.prfxBtnPrev+this.id],["type","button"],["value",this.btnPrevPageText],["title","Previous"]);l.className=this.btnPageCssClass,l.onclick=this.Evt._Paging.prev,g.appendChild(l)}if(this.btnLastPageHtml)h.innerHTML=this.btnLastPageHtml,h.onclick=this.Evt._Paging.last;else{var m=n.create(this.fltTypeInp,["id",this.prfxBtnLast+this.id],["type","button"],["value",this.btnLastPageText],["title","Last"]);m.className=this.btnPageCssClass,m.onclick=this.Evt._Paging.last,h.appendChild(m)}if(this.btnFirstPageHtml)i.innerHTML=this.btnFirstPageHtml,i.onclick=this.Evt._Paging.first;else{var o=n.create(this.fltTypeInp,["id",this.prfxBtnFirst+this.id],["type","button"],["value",this.btnFirstPageText],["title","First"]);o.className=this.btnPageCssClass,o.onclick=this.Evt._Paging.first,i.appendChild(o)}}this.pagingTgtId||this.SetTopDiv();var p=this.pagingTgtId?n.id(this.pagingTgtId):this.mDiv;""!==p.innerHTML&&(p.innerHTML=""),p.appendChild(i),p.appendChild(g);var r=n.create("span",["id",this.prfxPgBeforeSpan+this.id]);r.appendChild(n.text(this.pageText)),r.className=this.nbPgSpanCssClass,p.appendChild(r),p.appendChild(e);var t=n.create("span",["id",this.prfxPgAfterSpan+this.id]);t.appendChild(n.text(this.ofText)),t.className=this.nbPgSpanCssClass,p.appendChild(t);var u=n.create("span",["id",this.prfxPgSpan+this.id]);u.className=this.nbPgSpanCssClass,u.appendChild(n.text(" "+this.nbPages+" ")),p.appendChild(u),p.appendChild(f),p.appendChild(h),this.pagingSlc=n.id(this.prfxSlcPages+this.id),(!this.rememberGridValues||this.isPagingRemoved)&&this.SetPagingInfo(),this.fltGrid||(this.ValidateAllRows(),this.SetPagingInfo(this.validRowsIndex)),this.pagingBtnEvents=this.Evt._Paging,this.isPagingRemoved=!1}},RemovePaging:function(){if(this.hasGrid&&this.pagingSlc){var a,b,c,d,e,f,g;a=n.id(this.prfxBtnNextSpan+this.id),b=n.id(this.prfxBtnPrevSpan+this.id),c=n.id(this.prfxBtnLastSpan+this.id),d=n.id(this.prfxBtnFirstSpan+this.id),e=n.id(this.prfxPgBeforeSpan+this.id),f=n.id(this.prfxPgAfterSpan+this.id),g=n.id(this.prfxPgSpan+this.id),this.pagingSlc.parentNode.removeChild(this.pagingSlc),a&&a.parentNode.removeChild(a),b&&b.parentNode.removeChild(b),c&&c.parentNode.removeChild(c),d&&d.parentNode.removeChild(d),e&&e.parentNode.removeChild(e),f&&f.parentNode.removeChild(f),g&&g.parentNode.removeChild(g),this.pagingBtnEvents=null,this.pagingSlc=null,this.isPagingRemoved=!0}},SetPagingInfo:function(a){var b=this.tbl.rows,c=this.pagingTgtId?n.id(this.pagingTgtId):this.mDiv,d=n.id(this.prfxPgSpan+this.id);if(a&&a.length>0)this.validRowsIndex=a;else{this.validRowsIndex=[];for(var e=this.refRow;e0)if(c.style.visibility="visible",this.pageSelectorType===this.fltTypeSlc)for(var h=0;h=this.startPagingRow&&c>d?("true"!==e.getAttribute("validRow")&&e.getAttribute("validRow")||(e.style.display=""),this.alternateBgs&&this.Cpt.alternateRows(this.validRowsIndex[d],d)):(e.style.display="none",this.alternateBgs&&this.Cpt.alternateRows.removeRowBg(this.validRowsIndex[d]))}this.nbVisibleRows=this.validRowsIndex.length,this.isStartBgAlternate=!1,this.ApplyGridProps()},SetPage:function(a){if(this.hasGrid&&this.paging){var b=this.pagingBtnEvents,c=typeof a;if("string"===c)switch(o.lower(a)){case"next":b.next();break;case"previous":b.prev();break;case"last":b.last();break;case"first":b.first();break;default:b.next()}"number"===c&&this.ChangePage(a-1)}},SetResultsPerPage:function(){if((this.hasGrid||this.isFirstLoad)&&!this.resultsPerPageSlc&&this.resultsPerPage){if(!this.Evt._OnSlcResultsChange){var a=this;this.Evt._OnSlcResultsChange=function(){a.ChangeResultsPerPage(),this.blur(),this.parentNode&&s.isIE()&&this.parentNode.focus()}}var b=n.create(this.fltTypeSlc,["id",this.prfxSlcResults+this.id]);b.className=this.resultsSlcCssClass;var c=this.resultsPerPage[0],d=this.resultsPerPage[1],e=n.create("span",["id",this.prfxSlcResultsTxt+this.id]);e.className=this.resultsSpanCssClass,this.resultsPerPageTgtId||this.SetTopDiv();var f=this.resultsPerPageTgtId?n.id(this.resultsPerPageTgtId):this.rDiv;e.appendChild(n.text(c)),f.appendChild(e),f.appendChild(b),this.resultsPerPageSlc=n.id(this.prfxSlcResults+this.id);for(var g=0;g<, <=, >, >=, =, *, !, {, }, ||,&&, [empty], [nonempty], rgx:
These operators are described here:
http://tablefilter.free.fr/#operators
',this.helpInstrHtml=a.help_instructions_html||null,this.helpInstrBtnText=a.help_instructions_btn_text||"?",this.helpInstrBtnHtml=a.help_instructions_btn_html||null,this.helpInstrBtnCssClass=a.help_instructions_btn_css_class||"helpBtn",this.helpInstrContCssClass=a.help_instructions_container_css_class||"helpCont",this.helpInstrBtnEl=null,this.helpInstrContEl=null,this.helpInstrDefaultHtml='

HTML Table Filter Generator v. '+this.version+'

http://tablefilter.free.fr
©2009-'+this.year+' Max Guglielmi.
";var b=n.create("span",["id",this.prfxHelpSpan+this.id]),c=n.create("div",["id",this.prfxHelpDiv+this.id]);this.helpInstrTgtId||this.SetTopDiv();var d=this.helpInstrTgtId?n.id(this.helpInstrTgtId):this.rDiv;d.appendChild(b);var e=this.helpInstrContTgtId?n.id(this.helpInstrContTgtId):b;if(this.helpInstrBtnHtml){b.innerHTML=this.helpInstrBtnHtml;var f=b.firstChild;f.onclick=this.Evt._OnHelpBtnClick,e.appendChild(c)}else{e.appendChild(c);var g=n.create("a",["href","javascript:void(0);"]);g.className=this.helpInstrBtnCssClass,g.appendChild(n.text(this.helpInstrBtnText)),b.appendChild(g),g.onclick=this.Evt._OnHelpBtnClick}this.helpInstrHtml?(this.helpInstrContTgtId&&e.appendChild(c),c.innerHTML=this.helpInstrHtml,this.helpInstrContTgtId||(c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick)):(c.innerHTML=this.helpInstrText,c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick),c.innerHTML+=this.helpInstrDefaultHtml,this.helpInstrContEl=c,this.helpInstrBtnEl=b}},RemoveHelpInstructions:function(){this.helpInstrBtnEl&&(this.helpInstrBtnEl.parentNode.removeChild(this.helpInstrBtnEl),this.helpInstrBtnEl=null,this.helpInstrContEl&&(this.helpInstrContEl.parentNode.removeChild(this.helpInstrContEl),this.helpInstrContEl=null))},_ToggleHelp:function(){if(this.helpInstrContEl){var a=this.helpInstrContEl.style.display;if(""===a||"none"===a){this.helpInstrContEl.style.display="block";var b=n.position(this.helpInstrBtnEl).left;this.helpInstrContTgtId||(this.helpInstrContEl.style.left=b-this.helpInstrContEl.clientWidth+25+"px")}else this.helpInstrContEl.style.display="none"}},ChangePage:function(a){this.EvtManager(this.Evt.name.changepage,{pgIndex:a})},_ChangePage:function(a){this.paging&&(a||(a=this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.options.selectedIndex:this.pagingSlc.value-1),a>=0&&a<=this.nbPages-1&&(this.onBeforeChangePage&&this.onBeforeChangePage.call(null,this,a),this.currentPageNb=parseInt(a,10)+1,this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.options[a].selected=!0:this.pagingSlc.value=this.currentPageNb,this.rememberPageNb&&this.RememberPageNb(this.pgNbCookie),this.startPagingRow=this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.value:a*this.pagingLength,this.GroupByPage(),this.onAfterChangePage&&this.onAfterChangePage.call(null,this,a)))},ChangeResultsPerPage:function(){this.EvtManager(this.Evt.name.changeresultsperpage) -},_ChangeResultsPerPage:function(){if(this.paging){var a=this.resultsPerPageSlc,b=this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.selectedIndex:parseInt(this.pagingSlc.value-1,10);if(this.pagingLength=parseInt(a.options[a.selectedIndex].value,10),this.startPagingRow=this.pagingLength*b,!isNaN(this.pagingLength)){if(this.startPagingRow>=this.nbFilterableRows&&(this.startPagingRow=this.nbFilterableRows-this.pagingLength),this.SetPagingInfo(),this.pageSelectorType===this.fltTypeSlc){var c=this.pagingSlc.options.length-1<=b?this.pagingSlc.options.length-1:b;this.pagingSlc.options[c].selected=!0}this.rememberPageLen&&this.RememberPageLength(this.pgLenCookie)}}},ResetPage:function(){this.EvtManager(this.Evt.name.resetpage)},_ResetPage:function(a){var b=p.read(a);""!==b&&this.ChangePage(b-1)},ResetPageLength:function(){this.EvtManager(this.Evt.name.resetpagelength)},_ResetPageLength:function(a){if(this.paging){var b=p.read(a);""!==b&&(this.resultsPerPageSlc.options[b].selected=!0,this.ChangeResultsPerPage())}},AddPaging:function(a){this.hasGrid&&!this.paging&&(this.paging=!0,this.isPagingRemoved=!0,this.SetPaging(),this.ResetValues(),a&&this.Filter())},PopulateSelect:function(a,b,c){this.EvtManager(this.Evt.name.populateselect,{slcIndex:a,slcExternal:b,slcId:c})},_PopulateSelect:function(a,b,f,g){function h(){if("innerhtml"===t)v+='";else{var a=n.createOpt(m.enableSlcResetFilter?m.displayAllText:"","");if(m.enableSlcResetFilter||(a.style.display="none"),l.appendChild(a),m.enableEmptyOption){var b=n.createOpt(m.emptyText,m.emOperator);l.appendChild(b)}if(m.enableNonEmptyOption){var c=n.createOpt(m.nonEmptyText,m.nmOperator);l.appendChild(c)}}}function i(){var c=l.value;l.innerHTML="",h();for(var d=0;d"+f+""}else{var j;j=m.fillSlcOnDemand&&c==u[d]&&m["col"+a]===m.fltTypeSlc?n.createOpt(f,e,!0):m["col"+a]!=m.fltTypeMulti?n.createOpt(f,e," "!==y[a]&&e==y[a]?!0:!1):n.createOpt(f,e,r.has(z,o.matchCase(u[d],m.matchCase),m.matchCase)||-1!==z.toString().indexOf(e)?!0:!1),g&&(j.disabled=!0),l.appendChild(j)}}"innerhtml"===t&&(l.innerHTML+=v),l.setAttribute("filled","1")}f=void 0===f?!1:f;var j=this.fltIds[a];if((n.id(j)||f)&&(n.id(g)||!f)){var k,l=n.id(f?g:j),m=this,q=this.tbl.rows,s=this.matchCase,t=o.lower(this.slcFillingMethod),u=[],v="",w=this.hasCustomSlcOptions&&r.has(this.customSlcOptions.cols,a),x=[];b&&this.activeFilterId&&(k=this.activeFilterId.split("_")[0],k=k.split(this.prfxFlt)[1]);var y=[],z=[];this.rememberGridValues&&(y=p.valueToArray(this.fltsValuesCookie,this.separator),y&&!o.isEmpty(y.toString())&&(w?z.push(y[a]):z=y[a].split(" "+m.orOperator+" ")));var A=null,B=null;b&&this.disableExcludedOptions&&(A=[],B=[]);for(var C=this.refRow;CF;F++)if(a===F&&(!b||b&&this.disableExcludedOptions)||a==F&&b&&(""===q[C].style.display&&!this.paging||this.paging&&(!this.validRowsIndex||this.validRowsIndex&&r.has(this.validRowsIndex,C))&&(void 0===k||k==a||k!=a&&r.has(this.validRowsIndex,C)))){var G=this.GetCellData(F,D[F]),H=o.matchCase(G,s);if(r.has(u,H,s)||u.push(G),b&&this.disableExcludedOptions){var I=B[F];I||(I=this.GetFilteredDataCol(F)),!r.has(I,H,s)&&!r.has(A,H,s)&&!this.isFirstLoad&&A.push(G)}}}if(w){var J=this.__getCustomValues(a);u=J[0],x=J[1]}if(this.sortSlc&&!w&&(s?(u.sort(),A&&A.sort()):(u.sort(e),A&&A.sort(e))),this.sortNumAsc&&r.has(this.sortNumAsc,a))try{u.sort(c),A&&A.sort(c),w&&x.sort(c)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}if(this.sortNumDesc&&r.has(this.sortNumDesc,a))try{u.sort(d),A&&A.sort(d),w&&x.sort(d)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}i()}},__deferMultipleSelection:function(a,b,c){if("select"===o.lower(a.nodeName)){var d=void 0===c?!1:c,e=this;k.setTimeout(function(){a.options[0].selected=!1,""===a.options[b].value?a.options[b].selected=!1:(a.options[b].selected=!0,d&&e.Filter())},.1)}},__getCustomValues:function(a){if(a){var b=this.hasCustomSlcOptions&&r.has(this.customSlcOptions.cols,a);if(b){for(var c=[],d=[],e=r.indexByValue(this.customSlcOptions.cols,a),f=this.customSlcOptions.values[e],g=this.customSlcOptions.texts[e],h=this.customSlcOptions.sorts[e],i=0;i0&&(m.hasCustomSlcOptions&&r.has(m.customSlcOptions.cols,a)?f.push(h):f=h.split(" "+m.orOperator+" "));for(var i=0;iB;B++)if(a===B&&(!this.refreshFilters||this.refreshFilters&&this.disableExcludedOptions)||a===B&&this.refreshFilters&&(""===q[y].style.display&&!this.paging||this.paging&&(!l||l===a||l!=a&&r.has(this.validRowsIndex,y)))){var C=this.GetCellData(B,z[B]),D=o.matchCase(C,this.matchCase);r.has(t,D,this.matchCase)||t.push(C);var E=x[B];this.refreshFilters&&this.disableExcludedOptions&&(E||(x[B]=this.GetFilteredDataCol(B)),!r.has(E,D,this.matchCase)&&!r.has(w,D,this.matchCase)&&!this.isFirstLoad&&w.push(C))}}if(u){var F=this.__getCustomValues(a);t=F[0],v=F[1]}if(this.sortSlc&&!u&&(this.matchCase?(t.sort(),w&&w.sort()):(t.sort(e),w&&w.sort(e))),this.sortNumAsc&&r.has(this.sortNumAsc,a))try{t.sort(c),w&&w.sort(c),u&&v.sort(c)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(this.sortNumDesc&&r.has(this.sortNumDesc,a))try{t.sort(d),w&&w.sort(d),u&&v.sort(d)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(h(this.separator),this.fillSlcOnDemand&&(j.innerHTML=""),j.appendChild(k),j.setAttribute("filled","1"),m.rememberGridValues&&s.isIE()){var H=k.getAttribute("indexes");if(H)for(var I=H.split(","),J=0;J':null);var b=n.create("span",["id",this.prfxResetSpan+this.id]);this.btnResetTgtId||this.SetTopDiv();var c=this.btnResetTgtId?n.id(this.btnResetTgtId):this.rDiv;if(c.appendChild(b),this.btnResetHtml){b.innerHTML=this.btnResetHtml;var d=b.firstChild;d.onclick=this.Evt._Clear}else{var e=n.create("a",["href","javascript:void(0);"]);e.className=this.btnResetCssClass,e.appendChild(n.text(this.btnResetText)),b.appendChild(e),e.onclick=this.Evt._Clear}this.btnResetEl=n.id(this.prfxResetSpan+this.id).firstChild}},RemoveResetBtn:function(){if(this.hasGrid&&this.btnResetEl){var a=n.id(this.prfxResetSpan+this.id);a&&a.parentNode.removeChild(a),this.btnResetEl=null}},SetStatusBar:function(){if(this.hasGrid||this.isFirstLoad){var a=this.fObj;this.statusBarTgtId=a.status_bar_target_id||null,this.statusBarDiv=null,this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarText=a.status_bar_text||"",this.statusBarCssClass=a.status_bar_css_class||"status",this.statusBarCloseDelay=250;var b=n.create("div",["id",this.prfxStatus+this.id]);b.className=this.statusBarCssClass;var c=n.create("span",["id",this.prfxStatusSpan+this.id]),d=n.create("span",["id",this.prfxStatusTxt+this.id]);d.appendChild(n.text(this.statusBarText)),this.onBeforeShowMsg=q.isFn(a.on_before_show_msg)?a.on_before_show_msg:null,this.onAfterShowMsg=q.isFn(a.on_after_show_msg)?a.on_after_show_msg:null,this.statusBarTgtId||this.SetTopDiv();var e=this.statusBarTgtId?n.id(this.statusBarTgtId):this.lDiv;this.statusBarDiv&&s.isIE()&&(this.statusBarDiv.outerHTML=""),this.statusBarTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.statusBarDiv=n.id(this.prfxStatus+this.id),this.statusBarSpan=n.id(this.prfxStatusSpan+this.id),this.statusBarSpanText=n.id(this.prfxStatusTxt+this.id)}},RemoveStatusBar:function(){(this.hasGrid||this.statusBarDiv)&&(this.statusBarDiv.innerHTML="",this.statusBarDiv.parentNode.removeChild(this.statusBarDiv),this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarDiv=null)},StatusMsg:function(a){a||this.StatusMsg(""),this.status&&this.WinStatusMsg(a),this.statusBar&&this.StatusBarMsg(a)},WinStatusMsg:function(a){this.status&&(this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a),k.status=a,this.onAfterShowMsg&&this.onAfterShowMsg.call(null,this,a))},StatusBarMsg:function(a){function b(){c.statusBarSpan.innerHTML=a,c.onAfterShowMsg&&c.onAfterShowMsg.call(null,c,a)}if(this.statusBar&&this.statusBarSpan){this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a);var c=this,d=""===a?this.statusBarCloseDelay:1;k.setTimeout(b,d)}},SetRowsCounter:function(){if((this.hasGrid||this.isFirstLoad)&&!this.rowsCounterSpan){var a=this.fObj;this.rowsCounterTgtId=a.rows_counter_target_id||null,this.rowsCounterDiv=null,this.rowsCounterSpan=null,this.rowsCounterText=a.rows_counter_text||"Rows: ",this.fromToTextSeparator=a.from_to_text_separator||"-",this.overText=a.over_text||" / ",this.totRowsCssClass=a.tot_rows_css_class||"tot",this.onBeforeRefreshCounter=q.isFn(a.on_before_refresh_counter)?a.on_before_refresh_counter:null,this.onAfterRefreshCounter=q.isFn(a.on_after_refresh_counter)?a.on_after_refresh_counter:null;var b=n.create("div",["id",this.prfxCounter+this.id]);b.className=this.totRowsCssClass;var c=n.create("span",["id",this.prfxTotRows+this.id]),d=n.create("span",["id",this.prfxTotRowsTxt+this.id]);d.appendChild(n.text(this.rowsCounterText)),this.rowsCounterTgtId||this.SetTopDiv();var e=this.rowsCounterTgtId?n.id(this.rowsCounterTgtId):this.lDiv;this.rowsCounterDiv&&s.isIE()&&(this.rowsCounterDiv.outerHTML=""),this.rowsCounterTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.rowsCounterDiv=n.id(this.prfxCounter+this.id),this.rowsCounterSpan=n.id(this.prfxTotRows+this.id),this.RefreshNbRows()}},RemoveRowsCounter:function(){this.hasGrid&&this.rowsCounterSpan&&(!this.rowsCounterTgtId&&this.rowsCounterDiv?s.isIE()?this.rowsCounterDiv.outerHTML="":this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv):n.id(this.rowsCounterTgtId).innerHTML="",this.rowsCounterSpan=null,this.rowsCounterDiv=null)},RefreshNbRows:function(a){if(this.rowsCounterSpan){this.onBeforeRefreshCounter&&this.onBeforeRefreshCounter.call(null,this,this.rowsCounterSpan);var b;if(this.paging){var c=parseInt(this.startPagingRow,10)+(this.nbVisibleRows>0?1:0),d=c+this.pagingLength-1<=this.nbVisibleRows?c+this.pagingLength-1:this.nbVisibleRows;b=c+this.fromToTextSeparator+d+this.overText+this.nbVisibleRows}else b=a&&""!==a?a:this.nbFilterableRows-this.nbHiddenRows-(this.hasVisibleRows?this.visibleRows.length:0);this.rowsCounterSpan.innerHTML=b,this.onAfterRefreshCounter&&this.onAfterRefreshCounter.call(null,this,this.rowsCounterSpan,b)}},SetWatermark:function(a){if(this.fltGrid||""!==this.inpWatermark){a=void 0===a?!0:a;for(var b=0;b0&&this.tbl.removeChild(z[0]),this.headTbl.style.width=this.tbl.style.width,this.headTbl.style.tableLayout="fixed",this.tbl.style.tableLayout="fixed",this.headTbl.cellPadding=this.tbl.cellPadding,this.headTbl.cellSpacing=this.tbl.cellSpacing,this.headTblCont.style.width=this.tblCont.clientWidth+"px",this.SetColWidths(),this.tbl.style.width="",s.isIE()&&(this.headTbl.style.width="");var A=this;if(this.tblCont.onscroll=function(){A.headTblCont.scrollLeft=this.scrollLeft;var a=this;if(!A.isPointerXOverwritten)try{l.Evt.pointerX=function(b){b=b||k.event;var c=tf_StandardBody().scrollLeft+a.scrollLeft;return b.pageX+a.scrollLeft||b.clientX+c},A.isPointerXOverwritten=!0}catch(b){A.isPointerXOverwritten=!1}},a.sort!==!1&&(this.sort=!0,this.sortConfig.asyncSort=!0,this.sortConfig.triggerIds=j),this.gridEnableColResizer&&(this.hasExtensions?this.__containsStr("colsresizer",o.lower(this.extensions.src.toString()))||(this.extensions.name.push("ColumnsResizer_"+this.id),this.extensions.src.push(this.gridColResizerPath),this.extensions.description.push("Columns Resizing"),this.extensions.initialize.push(function(a){a.SetColsResizer("ColumnsResizer_"+a.id)})):(this.extensions={name:["ColumnsResizer_"+this.id],src:[this.gridColResizerPath],description:["Columns Resizing"],initialize:[function(a){a.SetColsResizer("ColumnsResizer_"+a.id)}]},this.hasExtensions=!0)),a.col_resizer_cols_headers_table=this.headTbl.getAttribute("id"),a.col_resizer_cols_headers_index=this.gridHeadRowIndex,a.col_resizer_width_adjustment=0,a.col_enable_text_ellipsis=!1,A.tblHasColTag=n.tag(A.tbl,"col").length>0?!0:!1,!s.isIE()){var B=function(a){if(a){for(var b=a.nbCells-1;b>=0;b--){var c=n.create("col",["id",a.id+"_col_"+b]);a.tbl.firstChild.parentNode.insertBefore(c,a.tbl.firstChild),c.style.width=a.colWidth[b],a.gridColElms[b]=c}a.tblHasColTag=!0}};if(A.tblHasColTag)for(var C=n.tag(A.tbl,"col"),D=0;D0?F[0].insertRow(0):A.tbl.insertRow(0),E.style.height="0px";for(var G=0;G0?F[0].moveRow(a.leadColWidthsRow.rowIndex,0):a.tbl.moveRow(a.leadColWidthsRow.rowIndex,0)}J&&J.call(null,a,b)}}var K=q.isFn(a.on_after_col_resized)?a.on_after_col_resized:null;a.on_after_col_resized=function(a,b){if(b){var c=a.crWColsRow.cells[b].style.width,d=a.gridColElms[b];d.style.width=c;var e=a.crWColsRow.cells[b].clientWidth,f=a.crWRowDataTbl.cells[b].clientWidth;s.isIE()&&(a.tbl.style.width=a.headTbl.clientWidth+"px"),e!=f&&!s.isIE()&&(a.headTbl.style.width=a.tbl.clientWidth+"px"),K&&K.call(null,a,b)}},this.tbl.clientWidth!==this.headTbl.clientWidth&&(this.tbl.style.width=this.headTbl.clientWidth+"px")}},RemoveGridLayout:function(){if(this.gridLayout){var a=this.tbl.parentNode.removeChild(this.tbl);this.tblMainCont.parentNode.insertBefore(a,this.tblMainCont),this.tblMainCont.parentNode.removeChild(this.tblMainCont),this.tblMainCont=null,this.headTblCont=null,this.headTbl=null,this.tblCont=null,this.tbl.outerHTML=this.sourceTblHtml,this.tbl=n.id(this.id)}},SetPopupFilterIcons:function(){function a(a){var b=a||k.event,d=parseInt(this.getAttribute("ci"),10);if(c.CloseAllPopupFilters(d),c.TogglePopupFilter(d),c.popUpFltAdjustToContainer){var e=c.popUpFltElms[d],f=c.GetHeaderElement(d),g=.95*f.clientWidth;if(s.isIE()){var h=n.position(f).left;e.style.left=h+"px"}e.style.width=parseInt(g,10)+"px"}b.cancel(b),b.stop(b)}if(this.popUpFilters){this.isExternalFlt=!0;var b=this.fObj;this.popUpImgFlt=b.popup_filters_image||this.themesPath+"icn_filter.gif",this.popUpImgFltActive=b.popup_filters_image_active||this.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=b.popup_filters_image_html||'Column filter',this.popUpDivCssClass=b.popup_div_css_class||"popUpFilter",this.onBeforePopUpOpen=q.isFn(b.on_before_popup_filter_open)?b.on_before_popup_filter_open:null,this.onAfterPopUpOpen=q.isFn(b.on_after_popup_filter_open)?b.on_after_popup_filter_open:null,this.onBeforePopUpClose=q.isFn(b.on_before_popup_filter_close)?b.on_before_popup_filter_close:null,this.onAfterPopUpClose=q.isFn(b.on_after_popup_filter_close)?b.on_after_popup_filter_close:null,this.externalFltTgtIds=[],this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache||[],this.popUpFltAdjustToContainer=!0;for(var c=this,d=0;d= offsetParent.offsetHeight ? 0 - parentNode.parentNode.offsetHeight + offsetParent.offsetHeight + offsetParent.scrollTop : 0);"}}}},RemoveFixedHeaders:function(){if(this.hasGrid&&this.fixedHeaders)if(this.contDiv){this.contDiv.parentNode.insertBefore(this.tbl,this.contDiv),this.contDiv.parentNode.removeChild(this.contDiv),this.contDiv=null;var a=n.tag(this.tbl,"thead");if(0===a.length)return;var b=n.tag(a[0],"tr");if(0===b.length)return;for(var c=0;cn):P?(r=u(a.replace(j,""),J),e=r>=n):R?(r=u(a.replace(k,""),J),e=n>=r):Q?(r=u(a.replace(m,""),J),e=n>r):S?(r=u(a.replace(p,""),J),e=n.toString()!=r.toString()):T?(r=u(a.replace(s,""),J),e=n.toString()==r.toString()):q.test(a)?e=g.__containsStr(a.replace(q,""),b,null,!1):t(a,J)?(r=u(a,J),e=n.toString()==r.toString()):L?e=o.isEmpty(b):M&&(e=!o.isEmpty(b));else if(g.hasColNbFormat&&g.colNbFormat[c]?(h=f(b,g.colNbFormat[c]),i=g.colNbFormat[c]):","===g.thousandsSeparator&&"."===g.decimalSeparator?(h=f(b,"us"),i="us"):(h=f(b,"eu"),i="eu"),C)e=h<=f(a.replace(j,""),i);else if(E)e=h>=f(a.replace(k,""),i);else if(B)e=hf(a.replace(m,""),i);else if(F)e=g.__containsStr(a.replace(p,""),b)?!1:!0;else if(H)e=g.__containsStr(a.replace(q,""),b,null,!1);else if(G)e=g.__containsStr(a.replace(s,""),b,null,!0);else if(I)e=0===b.indexOf(a.replace(v,""))?!0:!1;else if(K){var U=a.replace(w,"");e=b.lastIndexOf(U,b.length-1)===b.length-1-(U.length-1)&&b.lastIndexOf(U,b.length-1)>-1?!0:!1}else if(L)e=o.isEmpty(b);else if(M)e=!o.isEmpty(b);else if(N)try{var V=a.replace(A,""),W=new RegExp(V);e=W.test(b)}catch(X){e=!1}else{var Y=d["col_"+c];e=g.__containsStr(a,b,Y?Y:this.fltTypeInp)}return e}if(this.fltGrid&&(this.hasGrid||this.isFirstLoad)){this.onBeforeFilter&&this.onBeforeFilter.call(null,this),""!==this.inpWatermark&&this.SetWatermark(!1);var c=this.tbl.rows,d=this.fObj||{},e=0;this.validRowsIndex=[];var g=this;this.highlightKeywords&&this.UnhighlightAll(),this.popUpFilters&&this.SetAllPopupFiltersIcon(),this.markActiveColumns&&this.ClearActiveColumns(),this.searchArgs=this.GetFiltersValue();for(var h,i,j=new RegExp(this.leOperator),k=new RegExp(this.geOperator),l=new RegExp(this.lwOperator),m=new RegExp(this.grOperator),p=new RegExp(this.dfOperator),q=new RegExp(o.rgxEsc(this.lkOperator)),s=new RegExp(this.eqOperator),v=new RegExp(this.stOperator),w=new RegExp(this.enOperator),x=new RegExp(this.anOperator),y=(new RegExp(this.curExp),this.emOperator),z=this.nmOperator,A=new RegExp(o.rgxEsc(this.rgxOperator)),B=this.refRow;BH;H++){var I=this.searchArgs[this.singleSearchFlt?0:H],J=this.hasColDateType?this.colDateType[H]:this.defaultDateType;if(""!==I){var K=o.matchCase(this.GetCellData(H,C[H]),this.matchCase),L=I.split(this.orOperator),M=L.length>1?!0:!1,N=I.split(this.anOperator),O=N.length>1?!0:!1;if(M||O){for(var P,Q=!1,R=M?L:N,S=0;Sk;k++)if(k===a&&""===d[g].style.display){var l=o.lower(this.GetCellData(k,i[k])),m=this.colNbFormat?this.colNbFormat[a]:null,n=b?f(l,m):l;e.push(n)}}return e}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(!c)return"";var d=this.fltCol[a];if(d!==this.fltTypeMulti&&d!==this.fltTypeCheckList)b=c.value;else if(d===this.fltTypeMulti){b="";for(var e=0;e0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||q)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function d(b,c){return function(){var d=s.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),k.apply(a,d.concat([b,c]))}}function e(a){return function(b){return c(b,a)}}function f(a){return function(b){n[a]=b}}function g(c){if(b(o,c)){var d=o[c];delete o[c],q[c]=!0,j.apply(a,d)}if(!b(n,c)&&!b(q,c))throw new Error("No "+c);return n[c]}function h(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function i(a){return function(){return p&&p.config&&p.config[a]||{}}}var j,k,l,m,n={},o={},p={},q={},r=Object.prototype.hasOwnProperty,s=[].slice,t=/\.js$/;l=function(a,b){var d,f=h(a),i=f[0];return a=f[1],i&&(i=c(i,b),d=g(i)),i?a=d&&d.normalize?d.normalize(a,e(b)):c(a,b):(a=c(a,b),f=h(a),i=f[0],a=f[1],i&&(d=g(i))),{f:i?i+"!"+a:a,n:a,pr:i,p:d}},m={require:function(a){return d(a)},exports:function(a){var b=n[a];return"undefined"!=typeof b?b:n[a]={}},module:function(a){return{id:a,uri:"",exports:n[a],config:i(a)}}},j=function(c,e,h,i){var j,k,p,r,s,t,u=[],v=typeof h;if(i=i||c,"undefined"===v||"function"===v){for(e=!e.length&&h.length?["require","exports","module"]:e,s=0;s]+>/g,"");return b=b.replace(/^\s+/,"").replace(/\s+$/,"")},c.create=function(a){if(a&&""!==a){var b=document.createElement(a),c=arguments;if(c.length>1)for(var d=0;d0){var d=document.cookie,e=d.indexOf(c);if(-1!==e){e+=c.length;var f=d.indexOf(";",e);-1===f&&(f=d.length),b=unescape(d.substring(e,f))}}return b},b.remove=function(a){this.write(a,"",-1)},b.valueToArray=function(a,b){b||(b=",");var c=this.read(a),d=c.split(b);return d},b.getValueByIndex=function(a,b,c){c||(c=",");var d=this.valueToArray(a,c);return d[b]},a.Cookie=b}),define("types",["exports"],function(a){var b={},c=void 0;b.isObj=function(a){var b=!1;return"string"==typeof a?window[a]&&"object"==typeof window[a]&&(b=!0):a&&"object"==typeof a&&(b=!0),b},b.isFn=function(a){return a&&a.constructor==Function},b.isArray=function(a){return a&&a.constructor==Array},b.isUndef=function(a){return a===c},a.Types=b}),define("array",["exports","string"],function(a,b){var c=b.Str,d={has:function(a,b,d){for(var e=void 0===d?!1:d,f=0;f2)return a;var b;return 99>=a&&a>50&&(b="19"+a),(50>a||"00"===a)&&(b="20"+a),b}function d(a){if(void 0===a)return 0;for(var b,c=["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],d=0;d11||23>b)&&(b-=12),1>b||b>12?0:b}if(b||(b="DMY"),!a||""===a)return new Date(1001,0,1);var e,f;switch(b.toUpperCase()){case"DDMMMYYYY":f=a.replace(/[- \/.]/g," ").split(" "),e=new Date(c(f[2]),d(f[1])-1,f[0]);break;case"DMY":f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0]);break;case"MDY":f=a.replace(/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[0]-1,f[1]);break;case"YMD":f=a.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,"$1 $4 $6").split(" "),e=new Date(c(f[0]),f[1]-1,f[2]);break;default:f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0])}return e}};a.DateHelper=b}),define("modules/loader",["exports","../dom","../types"],function(a,b,c){var d=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},e=b.Dom,f=c.Types,g=window,h=function(){var a=function(a){var b=a.fObj;a.loaderTgtId=b.loader_target_id||null,a.loaderDiv=null,a.loaderText=b.loader_text||"Loading...",a.loaderHtml=b.loader_html||null,a.loaderCssClass=b.loader_css_class||"loader",a.loaderCloseDelay=200,a.onShowLoader=f.isFn(b.on_show_loader)?b.on_show_loader:null,a.onHideLoader=f.isFn(b.on_hide_loader)?b.on_hide_loader:null,this.tf=a;var c=e.create("div",["id",a.prfxLoader+a.id]);c.className=a.loaderCssClass;var d=a.loaderTgtId?e.id(a.loaderTgtId):a.gridLayout?a.tblCont:a.tbl.parentNode;a.loaderTgtId?d.appendChild(c):d.insertBefore(c,a.tbl),a.loaderDiv=e.id(a.prfxLoader+a.id),a.loaderHtml?a.loaderDiv.innerHTML=a.loaderHtml:a.loaderDiv.appendChild(e.text(a.loaderText))};return d(a,null,{show:{writable:!0,value:function(a){function b(){c.loaderDiv&&(c.onShowLoader&&"none"!==a&&c.onShowLoader.call(null,c),c.loaderDiv.style.display=a,c.onHideLoader&&"none"===a&&c.onHideLoader.call(null,c))}if(this.tf.loader&&this.tf.loaderDiv&&this.tf.loaderDiv.style.display!==a){var c=this.tf,d="none"===a?this.tf.loaderCloseDelay:1;g.setTimeout(b,d)}}},remove:{writable:!0,value:function(){if(this.tf.loaderDiv){var a=this.tf.loaderTgtId?e.id(this.tf.loaderTgtId):this.tf.gridLayout?this.tf.tblCont:this.tf.tbl.parentNode;a.removeChild(this.tf.loaderDiv),this.tf.loaderDiv=null}}}}),a}();a.Loader=h}),define("modules/rowsCounter",["exports","../dom","../types","../helpers"],function(a,b,c,d){var e=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},f=b.Dom,g=c.Types,h=d.Helpers,i=function(){var a=function(a){var b=a.fObj;this.rowsCounterTgtId=b.rows_counter_target_id||null,this.rowsCounterDiv=null,this.rowsCounterSpan=null,this.rowsCounterText=b.rows_counter_text||"Rows: ",this.fromToTextSeparator=b.from_to_text_separator||"-",this.overText=b.over_text||" / ",this.totRowsCssClass=b.tot_rows_css_class||"tot",this.onBeforeRefreshCounter=g.isFn(b.on_before_refresh_counter)?b.on_before_refresh_counter:null,this.onAfterRefreshCounter=g.isFn(b.on_after_refresh_counter)?b.on_after_refresh_counter:null,this.tf=a};return e(a,null,{init:{writable:!0,value:function(){var a=this.tf;if((a.hasGrid||a.isFirstLoad)&&!this.rowsCounterSpan){var b=f.create("div",["id",a.prfxCounter+a.id]);b.className=this.totRowsCssClass;var c=f.create("span",["id",a.prfxTotRows+a.id]),d=f.create("span",["id",a.prfxTotRowsTxt+a.id]);d.appendChild(f.text(this.rowsCounterText)),this.rowsCounterTgtId||a.SetTopDiv();var e=this.rowsCounterTgtId?f.id(this.rowsCounterTgtId):a.lDiv;this.rowsCounterDiv&&h.isIE()&&(this.rowsCounterDiv.outerHTML=""),this.rowsCounterTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.rowsCounterDiv=b,this.rowsCounterSpan=c,this.refresh()}}},refresh:{writable:!0,value:function(a){if(this.rowsCounterSpan){var b=this.tf;this.onBeforeRefreshCounter&&this.onBeforeRefreshCounter.call(null,b,this.rowsCounterSpan);var c;if(b.paging){var d=parseInt(b.startPagingRow,10)+(b.nbVisibleRows>0?1:0),e=d+b.pagingLength-1<=b.nbVisibleRows?d+b.pagingLength-1:b.nbVisibleRows;c=d+this.fromToTextSeparator+e+this.overText+b.nbVisibleRows}else c=a&&""!==a?a:b.nbFilterableRows-b.nbHiddenRows-(b.hasVisibleRows?b.visibleRows.length:0);this.rowsCounterSpan.innerHTML=c,this.onAfterRefreshCounter&&this.onAfterRefreshCounter.call(null,b,this.rowsCounterSpan,c)}}},destroy:{writable:!0,value:function(){var a=this.tf;a.hasGrid&&this.rowsCounterSpan&&(!this.rowsCounterTgtId&&this.rowsCounterDiv?h.isIE()?this.rowsCounterDiv.outerHTML="":this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv):f.id(this.rowsCounterTgtId).innerHTML="",this.rowsCounterSpan=null,this.rowsCounterDiv=null)}}}),a}();a.RowsCounter=i}),define("modules/alternateRows",["exports","../dom"],function(a,b){var c=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},d=b.Dom,e=function(){var a=function(a){var b=a.fObj;this.evenCss=b.even_row_css_class||"even",this.oddCss=b.odd_row_css_class||"odd",this.tf=a};return c(a,null,{init:{writable:!0,value:function(){if(this.tf.hasGrid||this.tf.isFirstLoad)for(var a=(this.tf.tbl.rows,null===this.tf.validRowsIndex),b=a?this.tf.refRow:0,c=a?this.tf.nbFilterableRows+b:this.tf.validRowsIndex.length,d=0,e=b;c>e;e++){var f=a?e:this.tf.validRowsIndex[e];this.setRowBg(f,d),d++}}},setRowBg:{writable:!0,value:function(a,b){if(this.tf.alternateBgs&&!isNaN(a)){var c=this.tf.tbl.rows,e=b?b:a;this.removeRowBg(a),d.addClass(c[a],e%2?this.evenCss:this.oddCss)}}},removeRowBg:{writable:!0,value:function(a){if(!isNaN(a)){var b=this.tf.tbl.rows;d.removeClass(b[a],this.oddCss),d.removeClass(b[a],this.evenCss)}}},remove:{writable:!0,value:function(){if(this.tf.hasGrid){for(var a=(this.tf.tbl.rows,this.tf.refRow);a=jj;jj++)ucolIndex[jj]===colIndex[ii]&&(saved=1);0===saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[ii])}if("object"==Str.lower(typeof labelId)&&"object"==Str.lower(typeof colIndex)&&"object"==Str.lower(typeof operation))for(var row=this.tf.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(this.tf.GetColValues(ucolIndex[ucol],!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),Dom.id(labThisCol[i]))switch(Str.lower(oTypeThisCol)){case"innerhtml":Dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result;break;case"setvalue":Dom.id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=Dom.id(labThisCol[i]).firstChild,txtnode=Dom.text(result);Dom.id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{Dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result.toFixed(precision)}catch(e){}}var totRow=totRowIndex&&totRowIndex[ucol]?row[totRowIndex[ucol]]:null;totRow&&(totRow.style.display="")}this.tf.onAfterOperation&&this.tf.onAfterOperation.call(null,this.tf)}}}}),ColOps}();exports.ColOps=ColOps}),define("core",["require","event","dom","string","cookie","types","array","helpers","date","modules/loader","modules/rowsCounter","modules/alternateRows","modules/colOps"],function(a){function b(a){if(0!==arguments.length){if(this.id=a,this.version="3.0",this.year=(new Date).getFullYear(),this.tbl=m.id(a),this.startRow=null,this.refRow=null,this.headersRow=null,this.fObj=null,this.nbFilterableRows=null,this.nbRows=null,this.nbCells=null,this.hasGrid=!1,this.enableModules=!1,!this.tbl||"table"!==n.lower(this.tbl.nodeName)||0===this.GetRowsNb())throw new Error("Could not instantiate TF object: HTML table not found.");if(arguments.length>1)for(var b=0;b1?this.filtersRowIndex=this.headersRow+1:(this.filtersRowIndex=1,this.headersRow=0)),this.fltCellTag="th"!==e.filters_cell_tag||"td"!==e.filters_cell_tag?"td":e.filters_cell_tag,this.fltIds=[],this.fltElms=[],this.searchArgs=null,this.tblData=[],this.validRowsIndex=null,this.fltGridEl=null,this.isFirstLoad=!0,this.infDiv=null,this.lDiv=null,this.rDiv=null,this.mDiv=null,this.contDiv=null,this.infDivCssClass=e.inf_div_css_class||"inf",this.lDivCssClass=e.left_div_css_class||"ldiv",this.rDivCssClass=e.right_div_css_class||"rdiv",this.mDivCssClass=e.middle_div_css_class||"mdiv",this.contDivCssClass=e.content_div_css_class||"cont",this.stylesheet=e.stylesheet||this.basePath+"filtergrid.css",this.stylesheetId=this.id+"_style",this.fltsRowCssClass=e.flts_row_css_class||"fltrow",this.enableIcons=e.enable_icons===!1?!1:!0,this.alternateBgs=e.alternate_rows===!0?!0:!1,this.hasColWidth=e.col_width===!0?!0:!1,this.colWidth=this.hasColWidth?e.col_width:null,this.fixedHeaders=e.fixed_headers===!0?!0:!1,this.tBodyH=isNaN(e.tbody_height)?200:e.tbody_height,this.fltCssClass=e.flt_css_class||"flt",this.fltMultiCssClass=e.flt_multi_css_class||"flt_multi",this.fltSmallCssClass=e.flt_small_css_class||"flt_s",this.singleFltCssClass=e.single_flt_css_class||"single_flt",this.isStartBgAlternate=!0,this.enterKey=e.enter_key===!1?!1:!0,this.isModFilterFn=e.mod_filter_fn===!0?!0:!1,this.modFilterFn=this.isModFilterFn?e.mod_filter_fn:null,this.onBeforeFilter=p.isFn(e.on_before_filter)?e.on_before_filter:null,this.onAfterFilter=p.isFn(e.on_after_filter)?e.on_after_filter:null,this.matchCase=e.match_case===!0?!0:!1,this.exactMatch=e.exact_match===!0?!0:!1,this.refreshFilters=e.refresh_filters===!0?!0:!1,this.disableExcludedOptions=e.disable_excluded_options===!0?!0:!1,this.activeFlt=null,this.activeFilterId=null,this.hasColOperation=e.col_operation?!0:!1,this.colOperation=null,this.hasVisibleRows=e.rows_always_visible?!0:!1,this.visibleRows=this.hasVisibleRows?e.rows_always_visible:[],this.searchType=e.search_type||"include",this.isExternalFlt=e.external_flt_grid===!0?!0:!1,this.externalFltTgtIds=e.external_flt_grid_ids||null,this.externalFltEls=[],this.execDelay=isNaN(e.exec_delay)?100:parseInt(e.exec_delay,10),this.status=e.status===!0?!0:!1,this.onFiltersLoaded=p.isFn(e.on_filters_loaded)?e.on_filters_loaded:null,this.singleSearchFlt=e.single_search_filter===!0?!0:!1,this.onRowValidated=p.isFn(e.on_row_validated)?e.on_row_validated:null,this.customCellDataCols=e.custom_cell_data_cols?e.custom_cell_data_cols:[],this.customCellData=p.isFn(e.custom_cell_data)?e.custom_cell_data:null,this.inpWatermark=e.input_watermark||"",this.inpWatermarkCssClass=e.input_watermark_css_class||"fltWatermark",this.isInpWatermarkArray=p.isArray(e.input_watermark),this.toolBarTgtId=e.toolbar_target_id||null,this.helpInstructions=e.help_instructions||null,this.popUpFilters=e.popup_filters===!0?!0:!1,this.markActiveColumns=e.mark_active_columns===!0?!0:!1,this.activeColumnsCssClass=e.active_columns_css_class||"activeHeader",this.onBeforeActiveColumn=p.isFn(e.on_before_active_column)?e.on_before_active_column:null,this.onAfterActiveColumn=p.isFn(e.on_after_active_column)?e.on_after_active_column:null,this.displayAllText=e.display_all_text||"",this.enableSlcResetFilter=e.enable_slc_reset_filter===!1?!1:!0,this.enableEmptyOption=e.enable_empty_option===!0?!0:!1,this.emptyText=e.empty_text||"(Empty)",this.enableNonEmptyOption=e.enable_non_empty_option===!0?!0:!1,this.nonEmptyText=e.non_empty_text||"(Non empty)",this.onSlcChange=e.on_change===!1?!1:!0,this.sortSlc=e.sort_select===!1?!1:!0,this.isSortNumAsc=e.sort_num_asc===!0?!0:!1,this.sortNumAsc=this.isSortNumAsc?e.sort_num_asc:null,this.isSortNumDesc=e.sort_num_desc===!0?!0:!1,this.sortNumDesc=this.isSortNumDesc?e.sort_num_desc:null,this.slcFillingMethod=e.slc_filling_method||"createElement",this.fillSlcOnDemand=e.fill_slc_on_demand===!0?!0:!1,this.activateSlcTooltip=e.activate_slc_tooltip||"Click to activate",this.multipleSlcTooltip=e.multiple_slc_tooltip||"Use Ctrl key for multiple selections",this.hasCustomSlcOptions=p.isObj(e.custom_slc_options)?!0:!1,this.customSlcOptions=p.isArray(e.custom_slc_options)?e.custom_slc_options:null,this.onBeforeOperation=p.isFn(e.on_before_operation)?e.on_before_operation:null,this.onAfterOperation=p.isFn(e.on_after_operation)?e.on_after_operation:null,this.checkListDiv=[],this.checkListDivCssClass=e.div_checklist_css_class||"div_checklist",this.checkListCssClass=e.checklist_css_class||"flt_checklist",this.checkListItemCssClass=e.checklist_item_css_class||"flt_checklist_item",this.checkListSlcItemCssClass=e.checklist_selected_item_css_class||"flt_checklist_slc_item",this.activateCheckListTxt=e.activate_checklist_text||"Click to load filter data",this.checkListItemDisabledCssClass=e.checklist_item_disabled_css_class||"flt_checklist_item_disabled",this.enableCheckListResetFilter=e.enable_checklist_reset_filter===!1?!1:!0,this.rgxOperator=e.regexp_operator||"rgx:",this.emOperator=e.empty_operator||"[empty]",this.nmOperator=e.nonempty_operator||"[nonempty]",this.orOperator=e.or_operator||"||",this.anOperator=e.and_operator||"&&",this.grOperator=e.greater_operator||">",this.lwOperator=e.lower_operator||"<",this.leOperator=e.lower_equal_operator||"<=",this.geOperator=e.greater_equal_operator||">=",this.dfOperator=e.different_operator||"!",this.lkOperator=e.like_operator||"*",this.eqOperator=e.equal_operator||"=",this.stOperator=e.start_with_operator||"{",this.enOperator=e.end_with_operator||"}",this.curExp=e.cur_exp||"^[¥£€$]",this.separator=e.separator||",",this.rowsCounter=e.rows_counter===!0?!0:!1,this.statusBar=e.status_bar===!0?!0:!1,this.loader=e.loader===!0?!0:!1,this.displayBtn=e.btn===!0?!0:!1,this.btnText=e.btn_text||(this.enableIcons?"":"Go"),this.btnCssClass=e.btn_css_class||(this.enableIcons?"btnflt_icon":"btnflt"),this.btnReset=e.btn_reset===!0?!0:!1,this.btnResetCssClass=e.btn_reset_css_class||"reset",this.onBeforeReset=p.isFn(e.on_before_reset)?e.on_before_reset:null,this.onAfterReset=p.isFn(e.on_after_reset)?e.on_after_reset:null,this.paging=e.paging===!0?!0:!1,this.hasResultsPerPage=e.results_per_page===!0?!0:!1,this.btnPageCssClass=e.paging_btn_css_class||"pgInp",this.pagingSlc=null,this.resultsPerPage=null,this.resultsPerPageSlc=null,this.isPagingRemoved=!1,this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.currentPageNb=1,this.sort=e.sort===!0?!0:!1,this.isSortEnabled=!1,this.sorted=!1,this.sortConfig=e.sort_config||{},this.sortConfig.name=void 0!==this.sortConfig.name?e.sort_config.name:"sortabletable",this.sortConfig.src=void 0!==this.sortConfig.src?e.sort_config.src:this.basePath+"sortabletable.js",this.sortConfig.adapterSrc=void 0!==this.sortConfig.adapter_src?e.sort_config.adapter_src:this.basePath+"tfAdapter.sortabletable.js",this.sortConfig.initialize=void 0!==this.sortConfig.initialize?e.sort_config.initialize:function(a){a.SetSortTable&&a.SetSortTable()},this.sortConfig.sortTypes=p.isArray(this.sortConfig.sort_types)?e.sort_config.sort_types:[],this.sortConfig.sortCol=void 0!==this.sortConfig.sort_col?e.sort_config.sort_col:null,this.sortConfig.asyncSort=this.sortConfig.async_sort===!0?!0:!1,this.sortConfig.triggerIds=p.isArray(this.sortConfig.sort_trigger_ids)?e.sort_config.sort_trigger_ids:[],this.selectable=e.selectable===!0?!0:!1,this.editable=e.editable===!0?!0:!1,this.ezEditTableConfig=e.ezEditTable_config||{},this.ezEditTableConfig.name=void 0!==this.ezEditTableConfig.name?e.ezEditTable_config.name:"ezedittable",this.ezEditTableConfig.src=void 0!==this.ezEditTableConfig.src?e.ezEditTable_config.src:this.basePath+"ezEditTable/ezEditTable.js",this.ezEditTableConfig.loadStylesheet=this.ezEditTableConfig.loadStylesheet===!0?!0:!1,this.ezEditTableConfig.stylesheet=this.ezEditTableConfig.stylesheet||this.basePath+"ezEditTable/ezEditTable.css",this.ezEditTableConfig.stylesheetName=void 0!==this.ezEditTableConfig.stylesheetName?e.ezEditTable_config.stylesheetName:"ezEditTableCss",this.ezEditTableConfig.err='Failed to instantiate EditTable object.\n"ezEditTable" module may not be available.',this.onKeyUp=e.on_keyup===!0?!0:!1,this.onKeyUpDelay=isNaN(e.on_keyup_delay)?900:e.on_keyup_delay,this.isUserTyping=null,this.onKeyUpTimer=void 0,this.highlightKeywords=e.highlight_keywords===!0?!0:!1,this.highlightCssClass=e.highlight_css_class||"keyword",this.highlightedNodes=[],this.defaultDateType=e.default_date_type||"DMY",this.thousandsSeparator=e.thousands_separator||",",this.decimalSeparator=e.decimal_separator||".",this.hasColNbFormat=e.col_number_format===!0?!0:!1,this.colNbFormat=p.isArray(this.hasColNbFormat)?e.col_number_format:null,this.hasColDateType=e.col_date_type===!0?!0:!1,this.colDateType=p.isArray(this.hasColDateType)?e.col_date_type:null,this.msgFilter=e.msg_filter||"Filtering data...",this.msgPopulate=e.msg_populate||"Populating filter...",this.msgPopulateCheckList=e.msg_populate_checklist||"Populating list...",this.msgChangePage=e.msg_change_page||"Collecting paging data...",this.msgClear=e.msg_clear||"Clearing filters...",this.msgChangeResults=e.msg_change_results||"Changing results per page...",this.msgResetValues=e.msg_reset_grid_values||"Re-setting filters values...",this.msgResetPage=e.msg_reset_page||"Re-setting page...",this.msgResetPageLength=e.msg_reset_page_length||"Re-setting page length...",this.msgSort=e.msg_sort||"Sorting data...",this.msgLoadExtensions=e.msg_load_extensions||"Loading extensions...",this.msgLoadThemes=e.msg_load_themes||"Loading theme(s)...",this.prfxTf="TF",this.prfxFlt="flt",this.prfxValButton="btn",this.prfxInfDiv="inf_",this.prfxLDiv="ldiv_",this.prfxRDiv="rdiv_",this.prfxMDiv="mdiv_",this.prfxContentDiv="cont_",this.prfxCheckListDiv="chkdiv_",this.prfxSlcPages="slcPages_",this.prfxSlcResults="slcResults_",this.prfxSlcResultsTxt="slcResultsTxt_",this.prfxBtnNextSpan="btnNextSpan_",this.prfxBtnPrevSpan="btnPrevSpan_",this.prfxBtnLastSpan="btnLastSpan_",this.prfxBtnFirstSpan="btnFirstSpan_",this.prfxBtnNext="btnNext_",this.prfxBtnPrev="btnPrev_",this.prfxBtnLast="btnLast_",this.prfxBtnFirst="btnFirst_",this.prfxPgSpan="pgspan_",this.prfxPgBeforeSpan="pgbeforespan_",this.prfxPgAfterSpan="pgafterspan_",this.prfxCounter="counter_",this.prfxTotRows="totrows_span_",this.prfxTotRowsTxt="totRowsTextSpan_",this.prfxResetSpan="resetspan_",this.prfxLoader="load_",this.prfxStatus="status_",this.prfxStatusSpan="statusSpan_",this.prfxStatusTxt="statusText_",this.prfxCookieFltsValues="tf_flts_",this.prfxCookiePageNb="tf_pgnb_",this.prfxCookiePageLen="tf_pglen_",this.prfxMainTblCont="gridCont_",this.prfxTblCont="tblCont_",this.prfxHeadTblCont="tblHeadCont_",this.prfxHeadTbl="tblHead_",this.prfxGridFltTd="_td_",this.prfxGridTh="tblHeadTh_",this.prfxHelpSpan="helpSpan_",this.prfxHelpDiv="helpDiv_",this.prfxPopUpSpan="popUpSpan_",this.prfxPopUpDiv="popUpDiv_",this.hasStoredValues=!1,this.rememberGridValues=e.remember_grid_values===!0?!0:!1,this.fltsValuesCookie=this.prfxCookieFltsValues+this.id,this.rememberPageNb=this.paging&&e.remember_page_number?!0:!1,this.pgNbCookie=this.prfxCookiePageNb+this.id,this.rememberPageLen=this.paging&&e.remember_page_length?!0:!1,this.pgLenCookie=this.prfxCookiePageLen+this.id,this.cookieDuration=isNaN(e.set_cookie_duration)?1e5:parseInt(e.set_cookie_duration,10),this.hasExtensions=e.extensions===!0?!0:!1,this.extensions=this.hasExtensions?e.extensions:null,this.enableDefaultTheme=e.enable_default_theme===!0?!0:!1,this.hasThemes=e.enable_default_theme||e.themes&&p.isObj(e.themes)?!0:!1,this.themes=this.hasThemes?e.themes:null,this.themesPath=e.themes_path||this.basePath+"TF_Themes/",this.Cpt={loader:null,alternateRows:null,colOps:null,rowsCounter:null}; +var o=this;this.Evt={name:{filter:"Filter",populateselect:"Populate",populatechecklist:"PopulateCheckList",changepage:"ChangePage",clear:"Clear",changeresultsperpage:"ChangeResults",resetvalues:"ResetValues",resetpage:"ResetPage",resetpagelength:"ResetPageLength",sort:"Sort",loadextensions:"LoadExtensions",loadthemes:"LoadThemes"},getKeyCode:function(a){return a.charCode?a.charCode:a.keyCode?a.keyCode:a.which?a.which:0},_DetectKey:function(a){if(o.enterKey){var b=a||k.event;if(b){var c=o.Evt.getKeyCode(b);13===c?(o._Filter(),l.cancel(b),l.stop(b)):(o.isUserTyping=!0,k.clearInterval(o.onKeyUpTimer),o.onKeyUpTimer=void 0)}}},_OnKeyUp:function(a){function b(){k.clearInterval(o.onKeyUpTimer),o.onKeyUpTimer=void 0,o.isUserTyping||(o.Filter(),o.isUserTyping=null)}if(o.onKeyUp){var c=a||k.event,d=o.Evt.getKeyCode(c);o.isUserTyping=!1,13!==d&&9!==d&&27!==d&&38!==d&&40!==d?void 0===o.onKeyUpTimer&&(o.onKeyUpTimer=k.setInterval(b,o.onKeyUpDelay)):(k.clearInterval(o.onKeyUpTimer),o.onKeyUpTimer=void 0)}},_OnKeyDown:function(){o.onKeyUp&&(o.isUserTyping=!0)},_OnInpBlur:function(){o.onKeyUp&&(o.isUserTyping=!1,k.clearInterval(o.onKeyUpTimer)),""===this.value&&""!==o.inpWatermark&&(this.value=o.isInpWatermarkArray?o.inpWatermark[this.getAttribute("ct")]:o.inpWatermark,m.addClass(this,o.inpWatermarkCssClass)),o.ezEditTable&&(o.editable&&o.ezEditTable.Editable.Set(),o.selectable&&o.ezEditTable.Selection.Set())},_OnInpFocus:function(a){var b=a||k.event;if(o.activeFilterId=this.getAttribute("id"),o.activeFlt=m.id(o.activeFilterId),o.isInpWatermarkArray){var c=o.inpWatermark[this.getAttribute("ct")];this.value===c&&""!==c&&(this.value="",m.removeClass(this,o.inpWatermarkCssClass))}else this.value===o.inpWatermark&&""!==o.inpWatermark&&(this.value="",m.removeClass(this,o.inpWatermarkCssClass));o.popUpFilters&&(l.cancel(b),l.stop(b)),o.ezEditTable&&(o.editable&&o.ezEditTable.Editable.Remove(),o.selectable&&o.ezEditTable.Selection.Remove())},_OnSlcFocus:function(a){var b=a||k.event;if(o.activeFilterId=this.getAttribute("id"),o.activeFlt=m.id(o.activeFilterId),o.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var c=this.getAttribute("ct");o.PopulateSelect(c),r.isIE()||this.setAttribute("filled","1")}o.popUpFilters&&(l.cancel(b),l.stop(b))},_OnSlcChange:function(a){var b=o.activeFlt.getAttribute("colIndex");if(!o.activeFlt||!b||o["col"+b]!==o.fltTypeCheckList||o.Evt._OnSlcChange.caller){var c=a||k.event;o.popUpFilters&&l.stop(c),o.onSlcChange&&o.Filter()}},_OnSlcBlur:function(){},_OnCheckListChange:function(a){o.Evt._OnCheckListChange.caller&&o.Evt._OnSlcChange(a)},_OnCheckListClick:function(){if(o.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var a=this.getAttribute("ct");o.PopulateCheckList(a),o.checkListDiv[a].onclick=null,o.checkListDiv[a].title=""}},_OnCheckListFocus:function(){o.activeFilterId=this.firstChild.getAttribute("id"),o.activeFlt=m.id(o.activeFilterId)},_OnCheckListBlur:function(){},_OnBtnClick:function(){o.Filter()},_OnSlcPagesChangeEvt:null,_EnableSlc:function(){this.firstChild.disabled=!1,this.firstChild.focus(),this.onclick=null},_Clear:function(){o.ClearFilters()},_OnHelpBtnClick:function(){o._ToggleHelp()},_Paging:{nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}}}function c(a,b){return a-b}function d(a,b){return b-a}function e(a,b){var c=n.lower(a),d=n.lower(b);return d>c?-1:c>d?1:0}function f(a,b){if(a){b||(b="us");var c=a;return c="us"===n.lower(b)?+c.replace(/[^\d\.-]/g,""):+c.replace(/[^\d\,-]/g,"").replace(",",".")}}function g(a,b){for(var c=!1,d=b?b:"script",e="script"==d?"src":"href",f=m.tag(v,d),g=0;g0?g[0].insertRow(this.filtersRowIndex):this.tbl.insertRow(this.filtersRowIndex),this.headersRow>1&&this.filtersRowIndex<=this.headersRow&&!this.popUpFilters&&this.headersRow++,this.popUpFilters&&this.headersRow++,this.fixedHeaders&&this.SetFixedHeaders(),f.className=this.fltsRowCssClass,this.isExternalFlt&&(!this.gridLayout||this.popUpFilters)&&(f.style.display="none")}this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.tbl.rows.length;for(var h=0;d>h;h++){var i=m.create(this.fltCellTag),j=this["col"+h],k=this.isExternalFlt&&this.externalFltTgtIds?this.externalFltTgtIds[h]:null;if(this.singleSearchFlt&&(i.colSpan=this.nbCells),this.gridLayout||f.appendChild(i),b=h==d-1&&this.displayBtn?this.fltSmallCssClass:this.fltCssClass,this.popUpFilters&&this.SetPopupFilter(h),void 0===j&&(j=void 0===c["col_"+h]?this.fltTypeInp:n.lower(c["col_"+h])),this.singleSearchFlt&&(j=this.fltTypeInp,b=this.singleFltCssClass),j===this.fltTypeSlc||j===this.fltTypeMulti){var l=m.create(this.fltTypeSlc,["id",this.prfxFlt+h+"_"+this.id],["ct",h],["filled","0"]);if(j===this.fltTypeMulti&&(l.multiple=this.fltTypeMulti,l.title=this.multipleSlcTooltip),l.className=n.lower(j)===this.fltTypeSlc?b:this.fltMultiCssClass,k?(m.id(k).appendChild(l),this.externalFltEls.push(l)):i.appendChild(l),this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateSelect(h),l.onkeypress=this.Evt._DetectKey,l.onchange=this.Evt._OnSlcChange,l.onfocus=this.Evt._OnSlcFocus,l.onblur=this.Evt._OnSlcBlur,this.fillSlcOnDemand){var p=m.createOpt(this.displayAllText,"");l.appendChild(p)}this.fillSlcOnDemand&&r.isIE()&&(l.disabled=!0,l.title=this.activateSlcTooltip,l.parentNode.onclick=this.Evt._EnableSlc,j===this.fltTypeMulti&&this.__deferMultipleSelection(l,0))}else if(j===this.fltTypeCheckList){var q=m.create("div",["id",this.prfxCheckListDiv+h+"_"+this.id],["ct",h],["filled","0"]);q.className=this.checkListDivCssClass,k?(m.id(k).appendChild(q),this.externalFltEls.push(q)):i.appendChild(q),this.checkListDiv[h]=q,this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateCheckList(h),q.onclick=this.Evt._OnCheckListFocus,this.fillSlcOnDemand&&(q.onclick=this.Evt._OnCheckListClick,q.appendChild(m.text(this.activateCheckListTxt)))}else{var s=j===this.fltTypeInp?"text":"hidden",t=m.create(this.fltTypeInp,["id",this.prfxFlt+h+"_"+this.id],["type",s],["ct",h]);if("hidden"!=s&&(t.value=this.isInpWatermarkArray?this.inpWatermark[h]:this.inpWatermark),t.className=b,""!==this.inpWatermark&&m.addClass(t,this.inpWatermarkCssClass),t.onfocus=this.Evt._OnInpFocus,k?(m.id(k).appendChild(t),this.externalFltEls.push(t)):i.appendChild(t),this.fltIds.push(this.prfxFlt+h+"_"+this.id),t.onkeypress=this.Evt._DetectKey,t.onkeydown=this.Evt._OnKeyDown,t.onkeyup=this.Evt._OnKeyUp,t.onblur=this.Evt._OnInpBlur,this.rememberGridValues){var u=o.read(this.fltsValuesCookie),v=new RegExp(this.separator,"g"),w=u.split(v);" "!=w[h]&&this.SetFilterValue(h,w[h],!1)}}if(h==d-1&&this.displayBtn){var x=m.create(this.fltTypeInp,["id",this.prfxValButton+h+"_"+this.id],["type","button"],["value",this.btnText]);x.className=this.btnCssClass,k?m.id(k).appendChild(x):i.appendChild(x),x.onclick=this.Evt._OnBtnClick}}}else this.__resetGrid();else this.refRow=this.refRow-1,this.gridLayout&&(this.refRow=0),this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.nbFilterableRows+this.refRow;if(this.rowsCounter){var y=a("modules/rowsCounter").RowsCounter;this.Cpt.rowsCounter=new y(this),this.Cpt.rowsCounter.init()}if(this.statusBar&&this.SetStatusBar(),this.fixedHeaders&&!this.isFirstLoad&&this.SetFixedHeaders(),this.paging&&this.SetPaging(),this.hasResultsPerPage&&this.paging&&this.SetResultsPerPage(),this.btnReset&&this.SetResetBtn(),this.helpInstructions&&this.SetHelpInstructions(),this.hasColWidth&&!this.gridLayout&&this.SetColWidths(),this.alternateBgs&&this.isStartBgAlternate){var z=a("modules/alternateRows").AlternateRows;this.Cpt.alternateRows=new z(this),this.Cpt.alternateRows.init()}if(this.hasColOperation){var A=a("modules/colOps").ColOps;this.Cpt.colOps=new A(this),this.Cpt.colOps.calc()}(this.sort||this.gridLayout)&&this.SetSort(),(this.selectable||this.editable)&&this.SetEditable(),this.isFirstLoad=!1,this.hasGrid=!0,(this.rememberGridValues||this.rememberPageLen||this.rememberPageNb)&&this.ResetValues(),this.gridLayout||m.addClass(this.tbl,this.prfxTf),this.loader&&this.Cpt.loader.show("none"),this.hasExtensions&&this.LoadExtensions(),this.onFiltersLoaded&&this.onFiltersLoaded.call(null,this)}},EvtManager:function(a,b){function c(){if(a){switch(a){case d.Evt.name.filter:d.isModFilterFn?d.modFilterFn.call(null,d):d._Filter();break;case d.Evt.name.populateselect:d.refreshFilters?d._PopulateSelect(e,!0):d._PopulateSelect(e,!1,f,g);break;case d.Evt.name.populatechecklist:d._PopulateCheckList(e,f,g);break;case d.Evt.name.changepage:d._ChangePage(h);break;case d.Evt.name.clear:d._ClearFilters(),d._Filter();break;case d.Evt.name.changeresultsperpage:d._ChangeResultsPerPage();break;case d.Evt.name.resetvalues:d._ResetValues(),d._Filter();break;case d.Evt.name.resetpage:d._ResetPage(d.pgNbCookie);break;case d.Evt.name.resetpagelength:d._ResetPageLength(d.pgLenCookie);break;case d.Evt.name.sort:break;case d.Evt.name.loadextensions:d._LoadExtensions();break;case d.Evt.name.loadthemes:d._LoadThemes();break;default:d["_"+a].call(null,d,b)}(d.status||d.statusBar)&&d.StatusMsg(""),d.loader&&d.Cpt.loader.show("none")}}var d=this,e=b&&void 0!==b.slcIndex?b.slcIndex:null,f=b&&void 0!==b.slcExternal?b.slcExternal:!1,g=b&&void 0!==b.slcId?b.slcId:null,h=b&&void 0!==b.pgIndex?b.pgIndex:null;if(this.loader||this.status||this.statusBar){try{this.Cpt.loader.show(""),this.StatusMsg(d["msg"+a])}catch(i){}k.setTimeout(c,this.execDelay)}else c()},ImportModule:function(a){a.path&&a.name&&this.IncludeFile(a.name,a.path,a.init)},LoadExtensions:function(){if(!this.Ext){var a=this;this.Ext={list:{},add:function(b,c,d,e){var f=d.split("/")[d.split("/").length-1],g=new RegExp(f),h=d.replace(g,"");a.Ext.list[b]={name:b,description:c,file:f,path:h,callback:e}}}}this.EvtManager(this.Evt.name.loadextensions)},_LoadExtensions:function(){if(this.hasExtensions&&p.isArray(this.extensions.name)&&p.isArray(this.extensions.src))for(var a=this.extensions,b=0;b',this.btnPrevPageHtml='',this.btnNextPageHtml='',this.btnFirstPageHtml='',this.btnLastPageHtml='',this.loader=!0,this.loaderHtml='
',this.loaderText=null}},RemoveGrid:function(){if(this.fltGrid&&this.hasGrid){var a=this.tbl.rows;this.paging&&this.RemovePaging(),this.statusBar&&this.RemoveStatusBar(),this.rowsCounter&&this.Cpt.rowsCounter.destroy(),this.btnReset&&this.RemoveResetBtn(),(this.helpInstructions||!this.helpInstructions)&&this.RemoveHelpInstructions(),this.paging&&this.RemoveResultsPerPage(),this.isExternalFlt&&!this.popUpFilters&&this.RemoveExternalFlts(),this.fixedHeaders&&this.RemoveFixedHeaders(),this.infDiv&&this.RemoveTopDiv(),this.highlightKeywords&&this.UnhighlightAll(),this.sort&&this.RemoveSort(),this.loader&&this.Cpt.loader.remove(),this.popUpFilters&&this.RemovePopupFilters(),this.markActiveColumns&&this.ClearActiveColumns(),(this.editable||this.selectable)&&this.RemoveEditable();for(var b=this.refRow;b0&&!c.startRow?void 0:c.startRow||a.refRow,c.scroll_into_view=c.scroll_into_view===!1?!1:!0,c.base_path=c.base_path||a.basePath+"ezEditTable/",c.editable=a.editable=a.fObj.editable,c.selection=a.selectable=a.fObj.selectable,a.selectable&&(c.default_selection=c.default_selection||"row"),c.active_cell_css=c.active_cell_css||"ezETSelectedCell",a._lastValidRowIndex=0,a._lastRowIndex=0,a.selectable){var e=function(b,c,d){if(a.validRowsIndex){var e,f=a.validRowsIndex,g=f.length,h="row"!==b.defaultSelection?c.parentNode:c,i="TD"===c.nodeName?c:null,j=void 0!==d?b.Event.GetKey(d):0,k=q.has(f,h.rowIndex),l=34===j||33===j?a.pagingLength||b.nbRowsPerPage:1;if(k)34!==j&&33!==j?(a._lastValidRowIndex=q.indexByValue(f,h.rowIndex),a._lastRowIndex=h.rowIndex):(e=34===j?a._lastValidRowIndex+l<=g-1?f[a._lastValidRowIndex+l]:[g-1]:a._lastValidRowIndex-l<=f[0]?f[0]:f[a._lastValidRowIndex-l],a._lastRowIndex=e,a._lastValidRowIndex=q.indexByValue(f,e),o(e));else{if(h.rowIndex>a._lastRowIndex)if(h.rowIndex>=f[g-1])e=f[g-1];else{var m=a._lastValidRowIndex+l;e=m>g-1?f[g-1]:f[m]}else if(h.rowIndex<=f[0])e=f[0];else{var n=f[a._lastValidRowIndex-l];e=n?n:f[0]}a._lastRowIndex=h.rowIndex,o(e)}var o=function(d){if("row"===b.defaultSelection)b.Selection.SelectRowByIndex(d);else{b.ClearSelections();var e=c.cellIndex,f=a.tbl.rows[d];"both"===b.defaultSelection&&b.Selection.SelectRowByIndex(d),f&&b.Selection.SelectCell(f.cells[e])}if(a.validRowsIndex.length!==a.GetRowsNb()){var g=a.tbl.rows[d];g&&g.scrollIntoView(!1),i&&(i.cellIndex===a.GetCellsNb()-1&&a.gridLayout?a.tblCont.scrollLeft=1e8:0===i.cellIndex&&a.gridLayout?a.tblCont.scrollLeft=0:i.scrollIntoView(!1))}}}},f=function(b,c){var d="row"!==b.defaultSelection?c.parentNode:c;if(a.paging&&a.nbPages>1){b.nbRowsPerPage=a.pagingLength;var e=a.validRowsIndex,f=e.length,g=parseInt(a.startPagingRow,10)+parseInt(a.pagingLength,10),h=d.rowIndex;h===e[f-1]&&a.currentPageNb!=a.nbPages?a.SetPage("last"):h==e[0]&&1!==a.currentPageNb?a.SetPage("first"):h>e[g-1]&&he[0]&&a.SetPage("previous")}};if(a.paging&&(a.onAfterChangePage=function(a){var b=a.ezEditTable,c=b.Selection.GetActiveRow();c&&c.scrollIntoView(!1);var d=b.Selection.GetActiveCell();d&&d.scrollIntoView(!1)}),"row"===c.default_selection){var g=c.on_before_selected_row;c.on_before_selected_row=function(){f(arguments[0],arguments[1],arguments[2]),g&&g.call(null,arguments[0],arguments[1],arguments[2])};var h=c.on_after_selected_row;c.on_after_selected_row=function(){e(arguments[0],arguments[1],arguments[2]),h&&h.call(null,arguments[0],arguments[1],arguments[2])}}else{var i=c.on_before_selected_cell;c.on_before_selected_cell=function(){f(arguments[0],arguments[1],arguments[2]),i&&i.call(null,arguments[0],arguments[1],arguments[2])};var j=c.on_after_selected_cell;c.on_after_selected_cell=function(){e(arguments[0],arguments[1],arguments[2]),j&&j.call(null,arguments[0],arguments[1],arguments[2])}}}if(a.editable){var k=c.on_added_dom_row;if(c.on_added_dom_row=function(){a.nbFilterableRows++,a.paging?(a.nbRows++,a.nbVisibleRows++,a.nbFilterableRows++,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.Cpt.rowsCounter.refresh(),a.alternateBgs&&a.Cpt.alternateRows.init(),k&&k.call(null,arguments[0],arguments[1],arguments[2])},c.actions&&c.actions["delete"]){var l=c.actions["delete"].on_after_submit;c.actions["delete"].on_after_submit=function(){a.nbFilterableRows--,a.paging?(a.nbRows--,a.nbVisibleRows--,a.nbFilterableRows--,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.Cpt.rowsCounter.refresh(),a.alternateBgs&&a.Cpt.alternateRows.init(),l&&l.call(null,arguments[0],arguments[1])}}}try{a.ezEditTable=new EditTable(a.id,c,b),a.ezEditTable.Init()}catch(n){console.log(c.err)}},SetPaging:function(){if((this.hasGrid||this.isFirstLoad)&&this.paging&&(this.isPagingRemoved||this.isFirstLoad)){var a=this.fObj;this.pagingTgtId=a.paging_target_id||null,this.pagingLength=isNaN(a.paging_length)?10:a.paging_length,this.resultsPerPageTgtId=a.results_per_page_target_id||null,this.pgSlcCssClass=a.paging_slc_css_class||"pgSlc",this.pgInpCssClass=a.paging_inp_css_class||"pgNbInp",this.resultsSlcCssClass=a.results_slc_css_class||"rspg",this.resultsSpanCssClass=a.results_span_css_class||"rspgSpan",this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.btnNextPageText=a.btn_next_page_text||">",this.btnPrevPageText=a.btn_prev_page_text||"<",this.btnLastPageText=a.btn_last_page_text||">|",this.btnFirstPageText=a.btn_first_page_text||"|<",this.btnNextPageHtml=a.btn_next_page_html||(this.enableIcons?'':null),this.btnPrevPageHtml=a.btn_prev_page_html||(this.enableIcons?'':null),this.btnFirstPageHtml=a.btn_first_page_html||(this.enableIcons?'':null),this.btnLastPageHtml=a.btn_last_page_html||(this.enableIcons?'':null),this.pageText=a.page_text||" Page ",this.ofText=a.of_text||" of ",this.nbPgSpanCssClass=a.nb_pages_css_class||"nbpg",this.hasPagingBtns=a.paging_btns===!1?!1:!0,this.pagingBtnEvents=null,this.pageSelectorType=a.page_selector_type||this.fltTypeSlc,this.onBeforeChangePage=p.isFn(a.on_before_change_page)?a.on_before_change_page:null,this.onAfterChangePage=p.isFn(a.on_after_change_page)?a.on_after_change_page:null;var b=this.refRow,c=this.nbRows;if(this.nbPages=Math.ceil((c-b)/this.pagingLength),!this.Evt._Paging.next){var d=this;this.Evt._Paging={slcIndex:function(){return d.pageSelectorType===d.fltTypeSlc?d.pagingSlc.options.selectedIndex:parseInt(d.pagingSlc.value,10)-1},nbOpts:function(){return d.pageSelectorType===d.fltTypeSlc?parseInt(d.pagingSlc.options.length,10)-1:d.nbPages-1},next:function(){d.Evt._Paging.nextEvt&&d.Evt._Paging.nextEvt();var a=d.Evt._Paging.slcIndex()0?d.Evt._Paging.slcIndex()-1:d.Evt._Paging.nbOpts();d.ChangePage(a)},last:function(){d.Evt._Paging.lastEvt&&d.Evt._Paging.lastEvt(),d.ChangePage(d.Evt._Paging.nbOpts())},first:function(){d.Evt._Paging.firstEvt&&d.Evt._Paging.firstEvt(),d.ChangePage(0)},_detectKey:function(a){var b=a||k.event;if(b){var c=d.Evt.getKeyCode(a);13===c&&(d.sorted?(d.Filter(),d.ChangePage(d.Evt._Paging.slcIndex())):d.ChangePage(),this.blur())}},nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}this.Evt._OnSlcPagesChange||(this.Evt._OnSlcPagesChange=function(){d.Evt._Paging._OnSlcPagesChangeEvt&&d.Evt._Paging._OnSlcPagesChangeEvt(),d.ChangePage(),this.blur(),this.parentNode&&r.isIE()&&this.parentNode.focus()});var e;this.pageSelectorType===this.fltTypeSlc&&(e=m.create(this.fltTypeSlc,["id",this.prfxSlcPages+this.id]),e.className=this.pgSlcCssClass,e.onchange=this.Evt._OnSlcPagesChange),this.pageSelectorType===this.fltTypeInp&&(e=m.create(this.fltTypeInp,["id",this.prfxSlcPages+this.id],["value",this.currentPageNb]),e.className=this.pgInpCssClass,e.onkeypress=this.Evt._Paging._detectKey);var f=m.create("span",["id",this.prfxBtnNextSpan+this.id]),g=m.create("span",["id",this.prfxBtnPrevSpan+this.id]),h=m.create("span",["id",this.prfxBtnLastSpan+this.id]),i=m.create("span",["id",this.prfxBtnFirstSpan+this.id]);if(this.hasPagingBtns){if(this.btnNextPageHtml)f.innerHTML=this.btnNextPageHtml,f.onclick=this.Evt._Paging.next;else{var j=m.create(this.fltTypeInp,["id",this.prfxBtnNext+this.id],["type","button"],["value",this.btnNextPageText],["title","Next"]);j.className=this.btnPageCssClass,j.onclick=this.Evt._Paging.next,f.appendChild(j)}if(this.btnPrevPageHtml)g.innerHTML=this.btnPrevPageHtml,g.onclick=this.Evt._Paging.prev;else{var l=m.create(this.fltTypeInp,["id",this.prfxBtnPrev+this.id],["type","button"],["value",this.btnPrevPageText],["title","Previous"]);l.className=this.btnPageCssClass,l.onclick=this.Evt._Paging.prev,g.appendChild(l)}if(this.btnLastPageHtml)h.innerHTML=this.btnLastPageHtml,h.onclick=this.Evt._Paging.last;else{var n=m.create(this.fltTypeInp,["id",this.prfxBtnLast+this.id],["type","button"],["value",this.btnLastPageText],["title","Last"]);n.className=this.btnPageCssClass,n.onclick=this.Evt._Paging.last,h.appendChild(n)}if(this.btnFirstPageHtml)i.innerHTML=this.btnFirstPageHtml,i.onclick=this.Evt._Paging.first;else{var o=m.create(this.fltTypeInp,["id",this.prfxBtnFirst+this.id],["type","button"],["value",this.btnFirstPageText],["title","First"]);o.className=this.btnPageCssClass,o.onclick=this.Evt._Paging.first,i.appendChild(o)}}this.pagingTgtId||this.SetTopDiv();var q=this.pagingTgtId?m.id(this.pagingTgtId):this.mDiv;""!==q.innerHTML&&(q.innerHTML=""),q.appendChild(i),q.appendChild(g);var s=m.create("span",["id",this.prfxPgBeforeSpan+this.id]);s.appendChild(m.text(this.pageText)),s.className=this.nbPgSpanCssClass,q.appendChild(s),q.appendChild(e);var t=m.create("span",["id",this.prfxPgAfterSpan+this.id]);t.appendChild(m.text(this.ofText)),t.className=this.nbPgSpanCssClass,q.appendChild(t);var u=m.create("span",["id",this.prfxPgSpan+this.id]);u.className=this.nbPgSpanCssClass,u.appendChild(m.text(" "+this.nbPages+" ")),q.appendChild(u),q.appendChild(f),q.appendChild(h),this.pagingSlc=m.id(this.prfxSlcPages+this.id),(!this.rememberGridValues||this.isPagingRemoved)&&this.SetPagingInfo(),this.fltGrid||(this.ValidateAllRows(),this.SetPagingInfo(this.validRowsIndex)),this.pagingBtnEvents=this.Evt._Paging,this.isPagingRemoved=!1}},RemovePaging:function(){if(this.hasGrid&&this.pagingSlc){var a,b,c,d,e,f,g;a=m.id(this.prfxBtnNextSpan+this.id),b=m.id(this.prfxBtnPrevSpan+this.id),c=m.id(this.prfxBtnLastSpan+this.id),d=m.id(this.prfxBtnFirstSpan+this.id),e=m.id(this.prfxPgBeforeSpan+this.id),f=m.id(this.prfxPgAfterSpan+this.id),g=m.id(this.prfxPgSpan+this.id),this.pagingSlc.parentNode.removeChild(this.pagingSlc),a&&a.parentNode.removeChild(a),b&&b.parentNode.removeChild(b),c&&c.parentNode.removeChild(c),d&&d.parentNode.removeChild(d),e&&e.parentNode.removeChild(e),f&&f.parentNode.removeChild(f),g&&g.parentNode.removeChild(g),this.pagingBtnEvents=null,this.pagingSlc=null,this.isPagingRemoved=!0}},SetPagingInfo:function(a){var b=this.tbl.rows,c=this.pagingTgtId?m.id(this.pagingTgtId):this.mDiv,d=m.id(this.prfxPgSpan+this.id);if(a&&a.length>0)this.validRowsIndex=a;else{this.validRowsIndex=[];for(var e=this.refRow;e0)if(c.style.visibility="visible",this.pageSelectorType===this.fltTypeSlc)for(var h=0;h=this.startPagingRow&&c>d?("true"!==e.getAttribute("validRow")&&e.getAttribute("validRow")||(e.style.display=""),this.alternateBgs&&this.Cpt.alternateRows.setRowBg(this.validRowsIndex[d],d)):(e.style.display="none",this.alternateBgs&&this.Cpt.alternateRows.removeRowBg(this.validRowsIndex[d]))}this.nbVisibleRows=this.validRowsIndex.length,this.isStartBgAlternate=!1,this.ApplyGridProps()},SetPage:function(a){if(this.hasGrid&&this.paging){var b=this.pagingBtnEvents,c=typeof a;if("string"===c)switch(n.lower(a)){case"next":b.next();break;case"previous":b.prev();break;case"last":b.last();break;case"first":b.first();break;default:b.next()}"number"===c&&this.ChangePage(a-1)}},SetResultsPerPage:function(){if((this.hasGrid||this.isFirstLoad)&&!this.resultsPerPageSlc&&this.resultsPerPage){if(!this.Evt._OnSlcResultsChange){var a=this;this.Evt._OnSlcResultsChange=function(){a.ChangeResultsPerPage(),this.blur(),this.parentNode&&r.isIE()&&this.parentNode.focus()}}var b=m.create(this.fltTypeSlc,["id",this.prfxSlcResults+this.id]);b.className=this.resultsSlcCssClass;var c=this.resultsPerPage[0],d=this.resultsPerPage[1],e=m.create("span",["id",this.prfxSlcResultsTxt+this.id]);e.className=this.resultsSpanCssClass,this.resultsPerPageTgtId||this.SetTopDiv();var f=this.resultsPerPageTgtId?m.id(this.resultsPerPageTgtId):this.rDiv;e.appendChild(m.text(c)),f.appendChild(e),f.appendChild(b),this.resultsPerPageSlc=m.id(this.prfxSlcResults+this.id);for(var g=0;g<, <=, >, >=, =, *, !, {, }, ||,&&, [empty], [nonempty], rgx:
These operators are described here:
http://tablefilter.free.fr/#operators
',this.helpInstrHtml=a.help_instructions_html||null,this.helpInstrBtnText=a.help_instructions_btn_text||"?",this.helpInstrBtnHtml=a.help_instructions_btn_html||null,this.helpInstrBtnCssClass=a.help_instructions_btn_css_class||"helpBtn",this.helpInstrContCssClass=a.help_instructions_container_css_class||"helpCont",this.helpInstrBtnEl=null,this.helpInstrContEl=null,this.helpInstrDefaultHtml='

HTML Table Filter Generator v. '+this.version+'

http://tablefilter.free.fr
©2009-'+this.year+' Max Guglielmi.
";var b=m.create("span",["id",this.prfxHelpSpan+this.id]),c=m.create("div",["id",this.prfxHelpDiv+this.id]); +this.helpInstrTgtId||this.SetTopDiv();var d=this.helpInstrTgtId?m.id(this.helpInstrTgtId):this.rDiv;d.appendChild(b);var e=this.helpInstrContTgtId?m.id(this.helpInstrContTgtId):b;if(this.helpInstrBtnHtml){b.innerHTML=this.helpInstrBtnHtml;var f=b.firstChild;f.onclick=this.Evt._OnHelpBtnClick,e.appendChild(c)}else{e.appendChild(c);var g=m.create("a",["href","javascript:void(0);"]);g.className=this.helpInstrBtnCssClass,g.appendChild(m.text(this.helpInstrBtnText)),b.appendChild(g),g.onclick=this.Evt._OnHelpBtnClick}this.helpInstrHtml?(this.helpInstrContTgtId&&e.appendChild(c),c.innerHTML=this.helpInstrHtml,this.helpInstrContTgtId||(c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick)):(c.innerHTML=this.helpInstrText,c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick),c.innerHTML+=this.helpInstrDefaultHtml,this.helpInstrContEl=c,this.helpInstrBtnEl=b}},RemoveHelpInstructions:function(){this.helpInstrBtnEl&&(this.helpInstrBtnEl.parentNode.removeChild(this.helpInstrBtnEl),this.helpInstrBtnEl=null,this.helpInstrContEl&&(this.helpInstrContEl.parentNode.removeChild(this.helpInstrContEl),this.helpInstrContEl=null))},_ToggleHelp:function(){if(this.helpInstrContEl){var a=this.helpInstrContEl.style.display;if(""===a||"none"===a){this.helpInstrContEl.style.display="block";var b=m.position(this.helpInstrBtnEl).left;this.helpInstrContTgtId||(this.helpInstrContEl.style.left=b-this.helpInstrContEl.clientWidth+25+"px")}else this.helpInstrContEl.style.display="none"}},ChangePage:function(a){this.EvtManager(this.Evt.name.changepage,{pgIndex:a})},_ChangePage:function(a){this.paging&&(a||(a=this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.options.selectedIndex:this.pagingSlc.value-1),a>=0&&a<=this.nbPages-1&&(this.onBeforeChangePage&&this.onBeforeChangePage.call(null,this,a),this.currentPageNb=parseInt(a,10)+1,this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.options[a].selected=!0:this.pagingSlc.value=this.currentPageNb,this.rememberPageNb&&this.RememberPageNb(this.pgNbCookie),this.startPagingRow=this.pageSelectorType===this.fltTypeSlc?this.pagingSlc.value:a*this.pagingLength,this.GroupByPage(),this.onAfterChangePage&&this.onAfterChangePage.call(null,this,a)))},ChangeResultsPerPage:function(){this.EvtManager(this.Evt.name.changeresultsperpage)},_ChangeResultsPerPage:function(){if(this.paging){var a=this.resultsPerPageSlc,b=this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.selectedIndex:parseInt(this.pagingSlc.value-1,10);if(this.pagingLength=parseInt(a.options[a.selectedIndex].value,10),this.startPagingRow=this.pagingLength*b,!isNaN(this.pagingLength)){if(this.startPagingRow>=this.nbFilterableRows&&(this.startPagingRow=this.nbFilterableRows-this.pagingLength),this.SetPagingInfo(),this.pageSelectorType===this.fltTypeSlc){var c=this.pagingSlc.options.length-1<=b?this.pagingSlc.options.length-1:b;this.pagingSlc.options[c].selected=!0}this.rememberPageLen&&this.RememberPageLength(this.pgLenCookie)}}},ResetPage:function(){this.EvtManager(this.Evt.name.resetpage)},_ResetPage:function(a){var b=o.read(a);""!==b&&this.ChangePage(b-1)},ResetPageLength:function(){this.EvtManager(this.Evt.name.resetpagelength)},_ResetPageLength:function(a){if(this.paging){var b=o.read(a);""!==b&&(this.resultsPerPageSlc.options[b].selected=!0,this.ChangeResultsPerPage())}},AddPaging:function(a){this.hasGrid&&!this.paging&&(this.paging=!0,this.isPagingRemoved=!0,this.SetPaging(),this.ResetValues(),a&&this.Filter())},PopulateSelect:function(a,b,c){this.EvtManager(this.Evt.name.populateselect,{slcIndex:a,slcExternal:b,slcId:c})},_PopulateSelect:function(a,b,f,g){function h(){if("innerhtml"===t)v+='";else{var a=m.createOpt(p.enableSlcResetFilter?p.displayAllText:"","");if(p.enableSlcResetFilter||(a.style.display="none"),l.appendChild(a),p.enableEmptyOption){var b=m.createOpt(p.emptyText,p.emOperator);l.appendChild(b)}if(p.enableNonEmptyOption){var c=m.createOpt(p.nonEmptyText,p.nmOperator);l.appendChild(c)}}}function i(){var c=l.value;l.innerHTML="",h();for(var d=0;d"+f+""}else{var j;j=p.fillSlcOnDemand&&c==u[d]&&p["col"+a]===p.fltTypeSlc?m.createOpt(f,e,!0):p["col"+a]!=p.fltTypeMulti?m.createOpt(f,e," "!==y[a]&&e==y[a]?!0:!1):m.createOpt(f,e,q.has(z,n.matchCase(u[d],p.matchCase),p.matchCase)||-1!==z.toString().indexOf(e)?!0:!1),g&&(j.disabled=!0),l.appendChild(j)}}"innerhtml"===t&&(l.innerHTML+=v),l.setAttribute("filled","1")}f=void 0===f?!1:f;var j=this.fltIds[a];if((m.id(j)||f)&&(m.id(g)||!f)){var k,l=m.id(f?g:j),p=this,r=this.tbl.rows,s=this.matchCase,t=n.lower(this.slcFillingMethod),u=[],v="",w=this.hasCustomSlcOptions&&q.has(this.customSlcOptions.cols,a),x=[];b&&this.activeFilterId&&(k=this.activeFilterId.split("_")[0],k=k.split(this.prfxFlt)[1]);var y=[],z=[];this.rememberGridValues&&(y=o.valueToArray(this.fltsValuesCookie,this.separator),y&&!n.isEmpty(y.toString())&&(w?z.push(y[a]):z=y[a].split(" "+p.orOperator+" ")));var A=null,B=null;b&&this.disableExcludedOptions&&(A=[],B=[]);for(var C=this.refRow;CF;F++)if(a===F&&(!b||b&&this.disableExcludedOptions)||a==F&&b&&(""===r[C].style.display&&!this.paging||this.paging&&(!this.validRowsIndex||this.validRowsIndex&&q.has(this.validRowsIndex,C))&&(void 0===k||k==a||k!=a&&q.has(this.validRowsIndex,C)))){var G=this.GetCellData(F,D[F]),H=n.matchCase(G,s);if(q.has(u,H,s)||u.push(G),b&&this.disableExcludedOptions){var I=B[F];I||(I=this.GetFilteredDataCol(F)),!q.has(I,H,s)&&!q.has(A,H,s)&&!this.isFirstLoad&&A.push(G)}}}if(w){var J=this.__getCustomValues(a);u=J[0],x=J[1]}if(this.sortSlc&&!w&&(s?(u.sort(),A&&A.sort()):(u.sort(e),A&&A.sort(e))),this.sortNumAsc&&q.has(this.sortNumAsc,a))try{u.sort(c),A&&A.sort(c),w&&x.sort(c)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}if(this.sortNumDesc&&q.has(this.sortNumDesc,a))try{u.sort(d),A&&A.sort(d),w&&x.sort(d)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}i()}},__deferMultipleSelection:function(a,b,c){if("select"===n.lower(a.nodeName)){var d=void 0===c?!1:c,e=this;k.setTimeout(function(){a.options[0].selected=!1,""===a.options[b].value?a.options[b].selected=!1:(a.options[b].selected=!0,d&&e.Filter())},.1)}},__getCustomValues:function(a){if(a){var b=this.hasCustomSlcOptions&&q.has(this.customSlcOptions.cols,a);if(b){for(var c=[],d=[],e=q.indexByValue(this.customSlcOptions.cols,a),f=this.customSlcOptions.values[e],g=this.customSlcOptions.texts[e],h=this.customSlcOptions.sorts[e],i=0;i0&&(p.hasCustomSlcOptions&&q.has(p.customSlcOptions.cols,a)?f.push(h):f=h.split(" "+p.orOperator+" "));for(var i=0;iB;B++)if(a===B&&(!this.refreshFilters||this.refreshFilters&&this.disableExcludedOptions)||a===B&&this.refreshFilters&&(""===s[y].style.display&&!this.paging||this.paging&&(!l||l===a||l!=a&&q.has(this.validRowsIndex,y)))){var C=this.GetCellData(B,z[B]),D=n.matchCase(C,this.matchCase);q.has(t,D,this.matchCase)||t.push(C);var E=x[B];this.refreshFilters&&this.disableExcludedOptions&&(E||(x[B]=this.GetFilteredDataCol(B)),!q.has(E,D,this.matchCase)&&!q.has(w,D,this.matchCase)&&!this.isFirstLoad&&w.push(C))}}if(u){var F=this.__getCustomValues(a);t=F[0],v=F[1]}if(this.sortSlc&&!u&&(this.matchCase?(t.sort(),w&&w.sort()):(t.sort(e),w&&w.sort(e))),this.sortNumAsc&&q.has(this.sortNumAsc,a))try{t.sort(c),w&&w.sort(c),u&&v.sort(c)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(this.sortNumDesc&&q.has(this.sortNumDesc,a))try{t.sort(d),w&&w.sort(d),u&&v.sort(d)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(h(this.separator),this.fillSlcOnDemand&&(j.innerHTML=""),j.appendChild(k),j.setAttribute("filled","1"),p.rememberGridValues&&r.isIE()){var H=k.getAttribute("indexes");if(H)for(var I=H.split(","),J=0;J':null);var b=m.create("span",["id",this.prfxResetSpan+this.id]);this.btnResetTgtId||this.SetTopDiv();var c=this.btnResetTgtId?m.id(this.btnResetTgtId):this.rDiv;if(c.appendChild(b),this.btnResetHtml){b.innerHTML=this.btnResetHtml;var d=b.firstChild;d.onclick=this.Evt._Clear}else{var e=m.create("a",["href","javascript:void(0);"]);e.className=this.btnResetCssClass,e.appendChild(m.text(this.btnResetText)),b.appendChild(e),e.onclick=this.Evt._Clear}this.btnResetEl=m.id(this.prfxResetSpan+this.id).firstChild}},RemoveResetBtn:function(){if(this.hasGrid&&this.btnResetEl){var a=m.id(this.prfxResetSpan+this.id);a&&a.parentNode.removeChild(a),this.btnResetEl=null}},SetStatusBar:function(){if(this.hasGrid||this.isFirstLoad){var a=this.fObj;this.statusBarTgtId=a.status_bar_target_id||null,this.statusBarDiv=null,this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarText=a.status_bar_text||"",this.statusBarCssClass=a.status_bar_css_class||"status",this.statusBarCloseDelay=250;var b=m.create("div",["id",this.prfxStatus+this.id]);b.className=this.statusBarCssClass;var c=m.create("span",["id",this.prfxStatusSpan+this.id]),d=m.create("span",["id",this.prfxStatusTxt+this.id]);d.appendChild(m.text(this.statusBarText)),this.onBeforeShowMsg=p.isFn(a.on_before_show_msg)?a.on_before_show_msg:null,this.onAfterShowMsg=p.isFn(a.on_after_show_msg)?a.on_after_show_msg:null,this.statusBarTgtId||this.SetTopDiv();var e=this.statusBarTgtId?m.id(this.statusBarTgtId):this.lDiv;this.statusBarDiv&&r.isIE()&&(this.statusBarDiv.outerHTML=""),this.statusBarTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.statusBarDiv=m.id(this.prfxStatus+this.id),this.statusBarSpan=m.id(this.prfxStatusSpan+this.id),this.statusBarSpanText=m.id(this.prfxStatusTxt+this.id)}},RemoveStatusBar:function(){(this.hasGrid||this.statusBarDiv)&&(this.statusBarDiv.innerHTML="",this.statusBarDiv.parentNode.removeChild(this.statusBarDiv),this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarDiv=null)},StatusMsg:function(a){a||this.StatusMsg(""),this.status&&this.WinStatusMsg(a),this.statusBar&&this.StatusBarMsg(a)},WinStatusMsg:function(a){this.status&&(this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a),k.status=a,this.onAfterShowMsg&&this.onAfterShowMsg.call(null,this,a))},StatusBarMsg:function(a){function b(){c.statusBarSpan.innerHTML=a,c.onAfterShowMsg&&c.onAfterShowMsg.call(null,c,a)}if(this.statusBar&&this.statusBarSpan){this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a);var c=this,d=""===a?this.statusBarCloseDelay:1;k.setTimeout(b,d)}},SetWatermark:function(a){if(this.fltGrid||""!==this.inpWatermark){a=void 0===a?!0:a;for(var b=0;b0&&this.tbl.removeChild(y[0]),this.headTbl.style.width=this.tbl.style.width,this.headTbl.style.tableLayout="fixed",this.tbl.style.tableLayout="fixed",this.headTbl.cellPadding=this.tbl.cellPadding,this.headTbl.cellSpacing=this.tbl.cellSpacing,this.headTblCont.style.width=this.tblCont.clientWidth+"px",this.SetColWidths(),this.tbl.style.width="",r.isIE()&&(this.headTbl.style.width="");var z=this;if(this.tblCont.onscroll=function(){z.headTblCont.scrollLeft=this.scrollLeft;var a=this;if(!z.isPointerXOverwritten)try{z.Evt.pointerX=function(b){b=b||k.event;var c=tf_StandardBody().scrollLeft+a.scrollLeft;return b.pageX+a.scrollLeft||b.clientX+c},z.isPointerXOverwritten=!0}catch(b){z.isPointerXOverwritten=!1}},a.sort!==!1&&(this.sort=!0,this.sortConfig.asyncSort=!0,this.sortConfig.triggerIds=j),this.gridEnableColResizer&&(this.hasExtensions?this.__containsStr("colsresizer",n.lower(this.extensions.src.toString()))||(this.extensions.name.push("ColumnsResizer_"+this.id),this.extensions.src.push(this.gridColResizerPath),this.extensions.description.push("Columns Resizing"),this.extensions.initialize.push(function(a){a.SetColsResizer("ColumnsResizer_"+a.id)})):(this.extensions={name:["ColumnsResizer_"+this.id],src:[this.gridColResizerPath],description:["Columns Resizing"],initialize:[function(a){a.SetColsResizer("ColumnsResizer_"+a.id)}]},this.hasExtensions=!0)),a.col_resizer_cols_headers_table=this.headTbl.getAttribute("id"),a.col_resizer_cols_headers_index=this.gridHeadRowIndex,a.col_resizer_width_adjustment=0,a.col_enable_text_ellipsis=!1,z.tblHasColTag=m.tag(z.tbl,"col").length>0?!0:!1,!r.isIE()){var A=function(a){if(a){for(var b=a.nbCells-1;b>=0;b--){var c=m.create("col",["id",a.id+"_col_"+b]);a.tbl.firstChild.parentNode.insertBefore(c,a.tbl.firstChild),c.style.width=a.colWidth[b],a.gridColElms[b]=c}a.tblHasColTag=!0}};if(z.tblHasColTag)for(var B=m.tag(z.tbl,"col"),C=0;C0?E[0].insertRow(0):z.tbl.insertRow(0),D.style.height="0px";for(var F=0;F0?E[0].moveRow(a.leadColWidthsRow.rowIndex,0):a.tbl.moveRow(a.leadColWidthsRow.rowIndex,0)}I&&I.call(null,a,b)}}var J=p.isFn(a.on_after_col_resized)?a.on_after_col_resized:null;a.on_after_col_resized=function(a,b){if(b){var c=a.crWColsRow.cells[b].style.width,d=a.gridColElms[b];d.style.width=c;var e=a.crWColsRow.cells[b].clientWidth,f=a.crWRowDataTbl.cells[b].clientWidth;r.isIE()&&(a.tbl.style.width=a.headTbl.clientWidth+"px"),e!=f&&!r.isIE()&&(a.headTbl.style.width=a.tbl.clientWidth+"px"),J&&J.call(null,a,b)}},this.tbl.clientWidth!==this.headTbl.clientWidth&&(this.tbl.style.width=this.headTbl.clientWidth+"px")}},RemoveGridLayout:function(){if(this.gridLayout){var a=this.tbl.parentNode.removeChild(this.tbl);this.tblMainCont.parentNode.insertBefore(a,this.tblMainCont),this.tblMainCont.parentNode.removeChild(this.tblMainCont),this.tblMainCont=null,this.headTblCont=null,this.headTbl=null,this.tblCont=null,this.tbl.outerHTML=this.sourceTblHtml,this.tbl=m.id(this.id)}},SetPopupFilterIcons:function(){function a(a){var b=a||k.event,d=parseInt(this.getAttribute("ci"),10);if(c.CloseAllPopupFilters(d),c.TogglePopupFilter(d),c.popUpFltAdjustToContainer){var e=c.popUpFltElms[d],f=c.GetHeaderElement(d),g=.95*f.clientWidth;if(r.isIE()){var h=m.position(f).left;e.style.left=h+"px"}e.style.width=parseInt(g,10)+"px"}b.cancel(b),b.stop(b)}if(this.popUpFilters){this.isExternalFlt=!0;var b=this.fObj;this.popUpImgFlt=b.popup_filters_image||this.themesPath+"icn_filter.gif",this.popUpImgFltActive=b.popup_filters_image_active||this.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=b.popup_filters_image_html||'Column filter',this.popUpDivCssClass=b.popup_div_css_class||"popUpFilter",this.onBeforePopUpOpen=p.isFn(b.on_before_popup_filter_open)?b.on_before_popup_filter_open:null,this.onAfterPopUpOpen=p.isFn(b.on_after_popup_filter_open)?b.on_after_popup_filter_open:null,this.onBeforePopUpClose=p.isFn(b.on_before_popup_filter_close)?b.on_before_popup_filter_close:null,this.onAfterPopUpClose=p.isFn(b.on_after_popup_filter_close)?b.on_after_popup_filter_close:null,this.externalFltTgtIds=[],this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache||[],this.popUpFltAdjustToContainer=!0;for(var c=this,d=0;d= offsetParent.offsetHeight ? 0 - parentNode.parentNode.offsetHeight + offsetParent.offsetHeight + offsetParent.scrollTop : 0);"}}}},RemoveFixedHeaders:function(){if(this.hasGrid&&this.fixedHeaders)if(this.contDiv){this.contDiv.parentNode.insertBefore(this.tbl,this.contDiv),this.contDiv.parentNode.removeChild(this.contDiv),this.contDiv=null;var a=m.tag(this.tbl,"thead");if(0===a.length)return;var b=m.tag(a[0],"tr");if(0===b.length)return;for(var c=0;cm):P?(q=u(a.replace(j,""),J),e=q>=m):R?(q=u(a.replace(k,""),J),e=m>=q):Q?(q=u(a.replace(o,""),J),e=m>q):S?(q=u(a.replace(p,""),J),e=m.toString()!=q.toString()):T?(q=u(a.replace(s,""),J),e=m.toString()==q.toString()):r.test(a)?e=g.__containsStr(a.replace(r,""),b,null,!1):t(a,J)?(q=u(a,J),e=m.toString()==q.toString()):L?e=n.isEmpty(b):M&&(e=!n.isEmpty(b));else if(g.hasColNbFormat&&g.colNbFormat[c]?(h=f(b,g.colNbFormat[c]),i=g.colNbFormat[c]):","===g.thousandsSeparator&&"."===g.decimalSeparator?(h=f(b,"us"),i="us"):(h=f(b,"eu"),i="eu"),C)e=h<=f(a.replace(j,""),i);else if(E)e=h>=f(a.replace(k,""),i);else if(B)e=hf(a.replace(o,""),i);else if(F)e=g.__containsStr(a.replace(p,""),b)?!1:!0;else if(H)e=g.__containsStr(a.replace(r,""),b,null,!1);else if(G)e=g.__containsStr(a.replace(s,""),b,null,!0);else if(I)e=0===b.indexOf(a.replace(v,""))?!0:!1;else if(K){var U=a.replace(w,"");e=b.lastIndexOf(U,b.length-1)===b.length-1-(U.length-1)&&b.lastIndexOf(U,b.length-1)>-1?!0:!1}else if(L)e=n.isEmpty(b);else if(M)e=!n.isEmpty(b);else if(N)try{var V=a.replace(A,""),W=new RegExp(V);e=W.test(b)}catch(X){e=!1}else{var Y=d["col_"+c];e=g.__containsStr(a,b,Y?Y:this.fltTypeInp)}return e}if(this.fltGrid&&(this.hasGrid||this.isFirstLoad)){this.onBeforeFilter&&this.onBeforeFilter.call(null,this),""!==this.inpWatermark&&this.SetWatermark(!1);var c=this.tbl.rows,d=this.fObj||{},e=0;this.validRowsIndex=[];var g=this;this.highlightKeywords&&this.UnhighlightAll(),this.popUpFilters&&this.SetAllPopupFiltersIcon(),this.markActiveColumns&&this.ClearActiveColumns(),this.searchArgs=this.GetFiltersValue();for(var h,i,j=new RegExp(this.leOperator),k=new RegExp(this.geOperator),l=new RegExp(this.lwOperator),o=new RegExp(this.grOperator),p=new RegExp(this.dfOperator),r=new RegExp(n.rgxEsc(this.lkOperator)),s=new RegExp(this.eqOperator),v=new RegExp(this.stOperator),w=new RegExp(this.enOperator),x=new RegExp(this.anOperator),y=(new RegExp(this.curExp),this.emOperator),z=this.nmOperator,A=new RegExp(n.rgxEsc(this.rgxOperator)),B=this.refRow;BH;H++){var I=this.searchArgs[this.singleSearchFlt?0:H],J=this.hasColDateType?this.colDateType[H]:this.defaultDateType;if(""!==I){var K=n.matchCase(this.GetCellData(H,C[H]),this.matchCase),L=I.split(this.orOperator),M=L.length>1?!0:!1,N=I.split(this.anOperator),O=N.length>1?!0:!1;if(M||O){for(var P,Q=!1,R=M?L:N,S=0;Sk;k++)if(k===a&&""===d[g].style.display){var l=n.lower(this.GetCellData(k,i[k])),m=this.colNbFormat?this.colNbFormat[a]:null,o=b?f(l,m):l;e.push(o)}}return e}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(!c)return"";var d=this.fltCol[a];if(d!==this.fltTypeMulti&&d!==this.fltTypeCheckList)b=c.value;else if(d===this.fltTypeMulti){b="";for(var e=0;e2){ + return yr; + } + var y; + //>50 belong to 1900 + if(yr <= 99 && yr>50){ + y = '19' + yr; + } + //<50 belong to 2000 + if(yr<50 || yr === '00'){ + y = '20' + yr; + } + return y; + } + + function mmm2mm(mmm){ + if(mmm === undefined){ + return 0; + } + var mondigit; + var MONTH_NAMES = [ + 'january','february','march','april','may','june','july', + 'august','september','october','november','december', + 'jan','feb','mar','apr','may','jun','jul','aug','sep','oct', + 'nov','dec' + ]; + for(var m_i=0; m_i < MONTH_NAMES.length; m_i++){ + var month_name = MONTH_NAMES[m_i]; + if (mmm.toLowerCase() === month_name){ + mondigit = m_i+1; + break; + } + } + if(mondigit > 11 || mondigit < 23){ + mondigit = mondigit - 12; + } + if(mondigit < 1 || mondigit > 12){ + return 0; + } + return mondigit; + } + + switch(format.toUpperCase()){ + case 'DDMMMYYYY': + parts = dateStr.replace(/[- \/.]/g,' ').split(' '); + oDate = new Date(y2kDate(parts[2]),mmm2mm(parts[1])-1,parts[0]); + break; + case 'DMY': + parts = dateStr.replace( + /^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); + oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]); + break; + case 'MDY': + parts = dateStr.replace( + /^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); + oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]); + break; + case 'YMD': + parts = dateStr.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,'$1 $4 $6').split(' '); + oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]); + break; + default: //in case format is not correct + parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); + oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]); + break; + } + return oDate; + } +}; + +exports.DateHelper = DateHelper; diff --git a/src-es6/dom.js b/src-es6/dom.js new file mode 100644 index 00000000..f131c23d --- /dev/null +++ b/src-es6/dom.js @@ -0,0 +1,159 @@ +/** + * DOM utilities + */ + +var Dom = {}; + +/** + * Returns text + text of children of given node + * @param {NodeElement} node + * @return {String} + */ +Dom.getText = function(node){ + var s = node.textContent || node.innerText || + node.innerHTML.replace(/<[^<>]+>/g, ''); + s = s.replace(/^\s+/, '').replace(/\s+$/, ''); + return s; +}; + +/** + * Creates an html element with given collection of attributes + * @param {String} tag a string of the html tag to create + * @param {Array} an undetermined number of arrays containing the with 2 + * items, the attribute name and its value ['id','myId'] + * @return {Object} created element + */ +Dom.create = function(tag){ + if(!tag || tag===''){ + return; + } + + var el = document.createElement(tag), + args = arguments; + + if(args.length > 1){ + for(var i=0; i0) ? 1 : 0); + var paging_end_row = (paging_start_row+tf.pagingLength)-1 <= + tf.nbVisibleRows ? paging_start_row+tf.pagingLength-1 : + tf.nbVisibleRows; + totTxt = paging_start_row + this.fromToTextSeparator + + paging_end_row + this.overText + tf.nbVisibleRows; + } + this.rowsCounterSpan.innerHTML = totTxt; + if(this.onAfterRefreshCounter){ + this.onAfterRefreshCounter.call( + null, tf, this.rowsCounterSpan, totTxt); + } + } + + destroy(){ + var tf = this.tf; + if(!tf.hasGrid){ + return; + } + if(!this.rowsCounterSpan){ + return; + } + + if(!this.rowsCounterTgtId && this.rowsCounterDiv){ + //IE only: clears all for sure + if(Helpers.isIE()){ + this.rowsCounterDiv.outerHTML = ''; + } else { + this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv); + } + } else { + Dom.id( this.rowsCounterTgtId ).innerHTML = ''; + } + this.rowsCounterSpan = null; + this.rowsCounterDiv = null; + } +} \ No newline at end of file diff --git a/src-es6/string.js b/src-es6/string.js new file mode 100644 index 00000000..dc5ee872 --- /dev/null +++ b/src-es6/string.js @@ -0,0 +1,46 @@ +/** + * String utilities + */ + +var Str = {}; + +Str.lower = function(text){ + return text.toLowerCase(); +}; + +Str.upper = function(text){ + return text.toUpperCase(); +}; + +Str.trim = function(text){ + if (text.trim){ + return text.trim(); + } + return text.replace(/^\s*|\s*$/g, ''); +}; + +Str.isEmpty = function(text){ + return this.trim(text) === ''; +}; + +Str.rgxEsc = function(text){ + function escape(e){ + var a = new RegExp('\\'+e,'g'); + text = text.replace(a,'\\'+e); + } + + var chars = ['\\','[','^','$','.','|','?','*','+','(',')']; + for(var e=0; e0) ? 1 : 0); - var paging_end_row = (paging_start_row+this.pagingLength)-1 <= - this.nbVisibleRows ? paging_start_row+this.pagingLength-1 : - this.nbVisibleRows; - totTxt = paging_start_row + this.fromToTextSeparator + - paging_end_row + this.overText + this.nbVisibleRows; - } - this.rowsCounterSpan.innerHTML = totTxt; - if(this.onAfterRefreshCounter){ - this.onAfterRefreshCounter.call( - null, this, this.rowsCounterSpan, totTxt); - } - }, - /*==================================================== - inserts or removes input watermark - Params: @@ -4130,7 +4012,7 @@ TableFilter.prototype = { //New pointerX calc taking into account scrollLeft if(!o.isPointerXOverwritten){ try{ - TF.Evt.pointerX = function(e){ + o.Evt.pointerX = function(e){ e = e || global.event; var scrollLeft = tf_StandardBody().scrollLeft + _o.scrollLeft; @@ -5196,7 +5078,7 @@ TableFilter.prototype = { } //makes operation on a col if(this.hasColOperation){ - this.Cpt.colOps.set(); + this.Cpt.colOps.calc(); } //re-populates drop-down filters if(this.refreshFilters){ @@ -5206,7 +5088,7 @@ TableFilter.prototype = { this.nbVisibleRows - this.visibleRows.length : this.nbVisibleRows; //refreshes rows counter if(this.rowsCounter){ - this.RefreshNbRows(nr); + this.Cpt.rowsCounter.refresh(nr); } if(this.inpWatermark !== ''){ diff --git a/src/date.js b/src/date.js index f214a51e..fc412f70 100644 --- a/src/date.js +++ b/src/date.js @@ -1,169 +1,160 @@ -/** - * Date utilities - */ +define(["exports"], function (exports) { + "use strict"; -define(function () { - 'use strict'; + /** + * Date utilities + */ - var DateHelper = { - isValid: function(dateStr, format){ - if(!format) { - format = 'DMY'; - } - format = format.toUpperCase(); - if(format.length != 3) { - if(format==='DDMMMYYYY'){ - var d = this.format(dateStr, format); - dateStr = d.getDate() +'/'+ (d.getMonth()+1) +'/'+ - d.getFullYear(); - format = 'DMY'; - } - } - if((format.indexOf('M') === -1) || (format.indexOf('D') === -1) || - (format.indexOf('Y') === -1)){ - format = 'DMY'; - } - var reg1, reg2; - // If the year is first - if(format.substring(0, 1) == 'Y') { - reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; - reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; - } else if(format.substring(1, 2) == 'Y') { // If the year is second - reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/; - reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/; - } else { // The year must be third - reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/; - reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/; - } - // If it doesn't conform to the right format (with either a 2 digit year or - // 4 digit year), fail - if(reg1.test(dateStr) === false && reg2.test(dateStr) === false) { - return false; - } - // Split into 3 parts based on what the divider was - var parts = dateStr.split(RegExp.$1); - var mm, dd, yy; - // Check to see if the 3 parts end up making a valid date - if(format.substring(0, 1) === 'M'){ - mm = parts[0]; - } else if(format.substring(1, 2) === 'M'){ - mm = parts[1]; - } else { - mm = parts[2]; - } - if(format.substring(0, 1) === 'D'){ - dd = parts[0]; - } else if(format.substring(1, 2) === 'D'){ - dd = parts[1]; - } else { - dd = parts[2]; - } - if(format.substring(0, 1) === 'Y'){ - yy = parts[0]; - } else if(format.substring(1, 2) === 'Y'){ - yy = parts[1]; - } else { - yy = parts[2]; - } - if(parseInt(yy, 10) <= 50){ - yy = (parseInt(yy, 10) + 2000).toString(); - } - if(parseInt(yy, 10) <= 99){ - yy = (parseInt(yy, 10) + 1900).toString(); - } - var dt = new Date( - parseInt(yy, 10), parseInt(mm, 10)-1, parseInt(dd, 10), - 0, 0, 0, 0); - if(parseInt(dd, 10) != dt.getDate()){ - return false; - } - if(parseInt(mm, 10)-1 != dt.getMonth()){ - return false; - } - return true; - }, - format: function(dateStr, format){ - if(!format){ - format = 'DMY'; - } - if(!dateStr || dateStr === ''){ - return new Date(1001, 0, 1); - } - var oDate, parts; - - function y2kDate(yr){ - if(yr === undefined){ - return 0; - } - if(yr.length>2){ - return yr; - } - var y; - //>50 belong to 1900 - if(yr <= 99 && yr>50){ - y = '19' + yr; - } - //<50 belong to 2000 - if(yr<50 || yr === '00'){ - y = '20' + yr; - } - return y; - } - - function mmm2mm(mmm){ - if(mmm === undefined){ - return 0; - } - var mondigit; - var MONTH_NAMES = [ - 'january','february','march','april','may','june','july', - 'august','september','october','november','december', - 'jan','feb','mar','apr','may','jun','jul','aug','sep','oct', - 'nov','dec' - ]; - for(var m_i=0; m_i < MONTH_NAMES.length; m_i++){ - var month_name = MONTH_NAMES[m_i]; - if (mmm.toLowerCase() === month_name){ - mondigit = m_i+1; - break; - } - } - if(mondigit > 11 || mondigit < 23){ - mondigit = mondigit - 12; - } - if(mondigit < 1 || mondigit > 12){ - return 0; - } - return mondigit; - } - - switch(format.toUpperCase()){ - case 'DDMMMYYYY': - parts = dateStr.replace(/[- \/.]/g,' ').split(' '); - oDate = new Date(y2kDate(parts[2]),mmm2mm(parts[1])-1,parts[0]); - break; - case 'DMY': - parts = dateStr.replace( - /^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); - oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]); - break; - case 'MDY': - parts = dateStr.replace( - /^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); - oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]); - break; - case 'YMD': - parts = dateStr.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,'$1 $4 $6').split(' '); - oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]); - break; - default: //in case format is not correct - parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' '); - oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]); - break; - } - return oDate; + var DateHelper = { + isValid: function (dateStr, format) { + if (!format) { + format = "DMY"; + } + format = format.toUpperCase(); + if (format.length != 3) { + if (format === "DDMMMYYYY") { + var d = this.format(dateStr, format); + dateStr = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear(); + format = "DMY"; } - }; + } + if ((format.indexOf("M") === -1) || (format.indexOf("D") === -1) || (format.indexOf("Y") === -1)) { + format = "DMY"; + } + var reg1, reg2; + // If the year is first + if (format.substring(0, 1) == "Y") { + reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; + reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; + } else if (format.substring(1, 2) == "Y") { + // If the year is second + reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/; + reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/; + } else { + // The year must be third + reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/; + reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/; + } + // If it doesn't conform to the right format (with either a 2 digit year or + // 4 digit year), fail + if (reg1.test(dateStr) === false && reg2.test(dateStr) === false) { + return false; + } + // Split into 3 parts based on what the divider was + var parts = dateStr.split(RegExp.$1); + var mm, dd, yy; + // Check to see if the 3 parts end up making a valid date + if (format.substring(0, 1) === "M") { + mm = parts[0]; + } else if (format.substring(1, 2) === "M") { + mm = parts[1]; + } else { + mm = parts[2]; + } + if (format.substring(0, 1) === "D") { + dd = parts[0]; + } else if (format.substring(1, 2) === "D") { + dd = parts[1]; + } else { + dd = parts[2]; + } + if (format.substring(0, 1) === "Y") { + yy = parts[0]; + } else if (format.substring(1, 2) === "Y") { + yy = parts[1]; + } else { + yy = parts[2]; + } + if (parseInt(yy, 10) <= 50) { + yy = (parseInt(yy, 10) + 2000).toString(); + } + if (parseInt(yy, 10) <= 99) { + yy = (parseInt(yy, 10) + 1900).toString(); + } + var dt = new Date(parseInt(yy, 10), parseInt(mm, 10) - 1, parseInt(dd, 10), 0, 0, 0, 0); + if (parseInt(dd, 10) != dt.getDate()) { + return false; + } + if (parseInt(mm, 10) - 1 != dt.getMonth()) { + return false; + } + return true; + }, + format: function (dateStr, format) { + if (!format) { + format = "DMY"; + } + if (!dateStr || dateStr === "") { + return new Date(1001, 0, 1); + } + var oDate, parts; - return DateHelper; -}); + function y2kDate(yr) { + if (yr === undefined) { + return 0; + } + if (yr.length > 2) { + return yr; + } + var y; + //>50 belong to 1900 + if (yr <= 99 && yr > 50) { + y = "19" + yr; + } + //<50 belong to 2000 + if (yr < 50 || yr === "00") { + y = "20" + yr; + } + return y; + } + + function mmm2mm(mmm) { + if (mmm === undefined) { + return 0; + } + var mondigit; + var MONTH_NAMES = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december", "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"]; + for (var m_i = 0; m_i < MONTH_NAMES.length; m_i++) { + var month_name = MONTH_NAMES[m_i]; + if (mmm.toLowerCase() === month_name) { + mondigit = m_i + 1; + break; + } + } + if (mondigit > 11 || mondigit < 23) { + mondigit = mondigit - 12; + } + if (mondigit < 1 || mondigit > 12) { + return 0; + } + return mondigit; + } + + switch (format.toUpperCase()) { + case "DDMMMYYYY": + parts = dateStr.replace(/[- \/.]/g, " ").split(" "); + oDate = new Date(y2kDate(parts[2]), mmm2mm(parts[1]) - 1, parts[0]); + break; + case "DMY": + parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/, "$1 $3 $5").split(" "); + oDate = new Date(y2kDate(parts[2]), parts[1] - 1, parts[0]); + break; + case "MDY": + parts = dateStr.replace(/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/, "$1 $3 $5").split(" "); + oDate = new Date(y2kDate(parts[2]), parts[0] - 1, parts[1]); + break; + case "YMD": + parts = dateStr.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/, "$1 $4 $6").split(" "); + oDate = new Date(y2kDate(parts[0]), parts[1] - 1, parts[2]); + break; + default: //in case format is not correct + parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/, "$1 $3 $5").split(" "); + oDate = new Date(y2kDate(parts[2]), parts[1] - 1, parts[0]); + break; + } + return oDate; + } + }; + + exports.DateHelper = DateHelper; +}); \ No newline at end of file diff --git a/src/date.js.map b/src/date.js.map new file mode 100644 index 00000000..6f1e244c --- /dev/null +++ b/src/date.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src-es6/date.js"],"names":[],"mappings":";;;;;;;AAIA,MAAI,UAAU,GAAG;AACb,WAAO,EAAE,UAAS,OAAO,EAAE,MAAM,EAAC;AAC9B,UAAG,CAAC,MAAM,EAAE;AACR,cAAM,GAAG,KAAK,CAAC;OAClB;AACD,YAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,UAAG,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;AACnB,YAAG,MAAM,KAAG,WAAW,EAAC;AACpB,cAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACrC,iBAAO,GAAG,CAAC,CAAC,OAAO,EAAE,GAAE,GAAG,GAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAE,GAAG,GAC7C,CAAC,CAAC,WAAW,EAAE,CAAC;AACpB,gBAAM,GAAG,KAAK,CAAC;SAClB;OACJ;AACD,UAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAC3D,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;AAC7B,cAAM,GAAG,KAAK,CAAC;OAClB;AACD,UAAI,IAAI,EAAE,IAAI,CAAC;;AAEf,UAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE;AAC5B,YAAI,GAAG,mCAAmC,CAAC;AAC3C,YAAI,GAAG,mCAAmC,CAAC;OAChD,MAAM,IAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE;;AACnC,YAAI,GAAG,mCAAmC,CAAC;AAC3C,YAAI,GAAG,mCAAmC,CAAC;OAChD,MAAM;;AACD,YAAI,GAAG,mCAAmC,CAAC;AAC3C,YAAI,GAAG,mCAAmC,CAAC;OAChD;;;AAGD,UAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;AAC7D,eAAO,KAAK,CAAC;OAChB;;AAED,UAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrC,UAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;;AAEf,UAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AAC9B,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM,IAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AACrC,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM;AACH,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB;AACD,UAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AAC9B,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM,IAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AACrC,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM;AACH,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB;AACD,UAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AAC9B,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM,IAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAC;AACrC,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB,MAAM;AACH,UAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;OACjB;AACD,UAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAC;AACtB,UAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;OAC7C;AACD,UAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAC;AACtB,UAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;OAC7C;AACD,UAAI,EAAE,GAAG,IAAI,IAAI,CACb,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EACtD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,UAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAC;AAChC,eAAO,KAAK,CAAC;OAChB;AACD,UAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,GAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAC;AACnC,eAAO,KAAK,CAAC;OAChB;AACD,aAAO,IAAI,CAAC;KACf;AACD,UAAM,EAAE,UAAS,OAAO,EAAE,MAAM,EAAC;AAC7B,UAAG,CAAC,MAAM,EAAC;AACP,cAAM,GAAG,KAAK,CAAC;OAClB;AACD,UAAG,CAAC,OAAO,IAAI,OAAO,KAAK,EAAE,EAAC;AAC1B,eAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;OAC/B;AACD,UAAI,KAAK,EAAE,KAAK,CAAC;;AAEjB,eAAS,OAAO,CAAC,EAAE,EAAC;AAChB,YAAG,EAAE,KAAK,SAAS,EAAC;AAChB,iBAAO,CAAC,CAAC;SACZ;AACD,YAAG,EAAE,CAAC,MAAM,GAAC,CAAC,EAAC;AACX,iBAAO,EAAE,CAAC;SACb;AACD,YAAI,CAAC,CAAC;;AAEN,YAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAC,EAAE,EAAC;AACjB,WAAC,GAAG,IAAI,GAAG,EAAE,CAAC;SACjB;;AAED,YAAG,EAAE,GAAC,EAAE,IAAI,EAAE,KAAK,IAAI,EAAC;AACpB,WAAC,GAAG,IAAI,GAAG,EAAE,CAAC;SACjB;AACD,eAAO,CAAC,CAAC;OACZ;;AAED,eAAS,MAAM,CAAC,GAAG,EAAC;AAChB,YAAG,GAAG,KAAK,SAAS,EAAC;AACjB,iBAAO,CAAC,CAAC;SACZ;AACD,YAAI,QAAQ,CAAC;AACb,YAAI,WAAW,GAAG,CACd,SAAS,EAAC,UAAU,EAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EACxD,QAAQ,EAAC,WAAW,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EACpD,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAC3D,KAAK,EAAC,KAAK,CACd,CAAC;AACF,aAAI,IAAI,GAAG,GAAC,CAAC,EAAE,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAC;AACvC,cAAI,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAClC,cAAI,GAAG,CAAC,WAAW,EAAE,KAAK,UAAU,EAAC;AACjC,oBAAQ,GAAG,GAAG,GAAC,CAAC,CAAC;AACjB,kBAAM;WACT;SACR;AACD,YAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,EAAC;AAC9B,kBAAQ,GAAG,QAAQ,GAAG,EAAE,CAAC;SAC5B;AACD,YAAG,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,EAAE,EAAC;AAC7B,iBAAO,CAAC,CAAC;SACZ;AACD,eAAO,QAAQ,CAAC;OACnB;;AAED,cAAO,MAAM,CAAC,WAAW,EAAE;AACvB,aAAK,WAAW;AACZ,eAAK,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnD,eAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,gBAAM;AAAA,AACN,aAAK,KAAK;AACN,eAAK,GAAG,OAAO,CAAC,OAAO,CACnB,4EAA4E,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxG,eAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,gBAAM;AAAA,AACN,aAAK,KAAK;AACN,eAAK,GAAG,OAAO,CAAC,OAAO,CACnB,4EAA4E,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxG,eAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,gBAAM;AAAA,AACN,aAAK,KAAK;AACN,eAAK,GAAG,OAAO,CAAC,OAAO,CAAC,4EAA4E,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5H,eAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,gBAAM;AAAA,AACN;AACI,eAAK,GAAG,OAAO,CAAC,OAAO,CAAC,4EAA4E,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5H,eAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,GAAC,CAAC,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,gBAAM;AAAA,OACT;AACD,aAAO,KAAK,CAAC;KAChB;GACJ,CAAC;;AAEF,SAAO,CAAC,UAAU,GAAG,UAAU,CAAC","file":"src-es6/date.js","sourcesContent":["/**\r\n * Date utilities\r\n */\r\n\r\nvar DateHelper = {\r\n isValid: function(dateStr, format){\r\n if(!format) {\r\n format = 'DMY';\r\n }\r\n format = format.toUpperCase();\r\n if(format.length != 3) {\r\n if(format==='DDMMMYYYY'){\r\n var d = this.format(dateStr, format);\r\n dateStr = d.getDate() +'/'+ (d.getMonth()+1) +'/'+\r\n d.getFullYear();\r\n format = 'DMY';\r\n }\r\n }\r\n if((format.indexOf('M') === -1) || (format.indexOf('D') === -1) ||\r\n (format.indexOf('Y') === -1)){\r\n format = 'DMY';\r\n }\r\n var reg1, reg2;\r\n // If the year is first\r\n if(format.substring(0, 1) == 'Y') {\r\n reg1 = /^\\d{2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$/;\r\n reg2 = /^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$/;\r\n } else if(format.substring(1, 2) == 'Y') { // If the year is second\r\n reg1 = /^\\d{1,2}(\\-|\\/|\\.)\\d{2}\\1\\d{1,2}$/;\r\n reg2 = /^\\d{1,2}(\\-|\\/|\\.)\\d{4}\\1\\d{1,2}$/;\r\n } else { // The year must be third\r\n reg1 = /^\\d{1,2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{2}$/;\r\n reg2 = /^\\d{1,2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{4}$/;\r\n }\r\n // If it doesn't conform to the right format (with either a 2 digit year or\r\n // 4 digit year), fail\r\n if(reg1.test(dateStr) === false && reg2.test(dateStr) === false) {\r\n return false;\r\n }\r\n // Split into 3 parts based on what the divider was\r\n var parts = dateStr.split(RegExp.$1);\r\n var mm, dd, yy;\r\n // Check to see if the 3 parts end up making a valid date\r\n if(format.substring(0, 1) === 'M'){\r\n mm = parts[0];\r\n } else if(format.substring(1, 2) === 'M'){\r\n mm = parts[1];\r\n } else {\r\n mm = parts[2];\r\n }\r\n if(format.substring(0, 1) === 'D'){\r\n dd = parts[0];\r\n } else if(format.substring(1, 2) === 'D'){\r\n dd = parts[1];\r\n } else {\r\n dd = parts[2];\r\n }\r\n if(format.substring(0, 1) === 'Y'){\r\n yy = parts[0];\r\n } else if(format.substring(1, 2) === 'Y'){\r\n yy = parts[1];\r\n } else {\r\n yy = parts[2];\r\n }\r\n if(parseInt(yy, 10) <= 50){\r\n yy = (parseInt(yy, 10) + 2000).toString();\r\n }\r\n if(parseInt(yy, 10) <= 99){\r\n yy = (parseInt(yy, 10) + 1900).toString();\r\n }\r\n var dt = new Date(\r\n parseInt(yy, 10), parseInt(mm, 10)-1, parseInt(dd, 10),\r\n 0, 0, 0, 0);\r\n if(parseInt(dd, 10) != dt.getDate()){\r\n return false;\r\n }\r\n if(parseInt(mm, 10)-1 != dt.getMonth()){\r\n return false;\r\n }\r\n return true;\r\n },\r\n format: function(dateStr, format){\r\n if(!format){\r\n format = 'DMY';\r\n }\r\n if(!dateStr || dateStr === ''){\r\n return new Date(1001, 0, 1);\r\n }\r\n var oDate, parts;\r\n\r\n function y2kDate(yr){\r\n if(yr === undefined){\r\n return 0;\r\n }\r\n if(yr.length>2){\r\n return yr;\r\n }\r\n var y;\r\n //>50 belong to 1900\r\n if(yr <= 99 && yr>50){\r\n y = '19' + yr;\r\n }\r\n //<50 belong to 2000\r\n if(yr<50 || yr === '00'){\r\n y = '20' + yr;\r\n }\r\n return y;\r\n }\r\n\r\n function mmm2mm(mmm){\r\n if(mmm === undefined){\r\n return 0;\r\n }\r\n var mondigit;\r\n var MONTH_NAMES = [\r\n 'january','february','march','april','may','june','july',\r\n 'august','september','october','november','december',\r\n 'jan','feb','mar','apr','may','jun','jul','aug','sep','oct',\r\n 'nov','dec'\r\n ];\r\n for(var m_i=0; m_i < MONTH_NAMES.length; m_i++){\r\n var month_name = MONTH_NAMES[m_i];\r\n if (mmm.toLowerCase() === month_name){\r\n mondigit = m_i+1;\r\n break;\r\n }\r\n }\r\n if(mondigit > 11 || mondigit < 23){\r\n mondigit = mondigit - 12;\r\n }\r\n if(mondigit < 1 || mondigit > 12){\r\n return 0;\r\n }\r\n return mondigit;\r\n }\r\n\r\n switch(format.toUpperCase()){\r\n case 'DDMMMYYYY':\r\n parts = dateStr.replace(/[- \\/.]/g,' ').split(' ');\r\n oDate = new Date(y2kDate(parts[2]),mmm2mm(parts[1])-1,parts[0]);\r\n break;\r\n case 'DMY':\r\n parts = dateStr.replace(\r\n /^(0?[1-9]|[12][0-9]|3[01])([- \\/.])(0?[1-9]|1[012])([- \\/.])((\\d\\d)?\\d\\d)$/,'$1 $3 $5').split(' ');\r\n oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);\r\n break;\r\n case 'MDY':\r\n parts = dateStr.replace(\r\n /^(0?[1-9]|1[012])([- \\/.])(0?[1-9]|[12][0-9]|3[01])([- \\/.])((\\d\\d)?\\d\\d)$/,'$1 $3 $5').split(' ');\r\n oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]);\r\n break;\r\n case 'YMD':\r\n parts = dateStr.replace(/^((\\d\\d)?\\d\\d)([- \\/.])(0?[1-9]|1[012])([- \\/.])(0?[1-9]|[12][0-9]|3[01])$/,'$1 $4 $6').split(' ');\r\n oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]);\r\n break;\r\n default: //in case format is not correct\r\n parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \\/.])(0?[1-9]|1[012])([- \\/.])((\\d\\d)?\\d\\d)$/,'$1 $3 $5').split(' ');\r\n oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);\r\n break;\r\n }\r\n return oDate;\r\n }\r\n};\r\n\r\nexports.DateHelper = DateHelper;\r\n"]} \ No newline at end of file diff --git a/src/dom.js b/src/dom.js index 71937106..f0f80123 100644 --- a/src/dom.js +++ b/src/dom.js @@ -1,163 +1,156 @@ -/** - * DOM utilities - */ +define(["exports"], function (exports) { + "use strict"; -define(function (require) { - 'use strict'; + /** + * DOM utilities + */ - var Dom = {}; + var Dom = {}; - /** - * Returns text + text of children of given node - * @param {NodeElement} node - * @return {String} - */ - Dom.getText = function(node){ - var s = node.textContent || node.innerText || - node.innerHTML.replace(/<[^<>]+>/g, ''); - s = s.replace(/^\s+/, '').replace(/\s+$/, ''); - return s; - }; + /** + * Returns text + text of children of given node + * @param {NodeElement} node + * @return {String} + */ + Dom.getText = function (node) { + var s = node.textContent || node.innerText || node.innerHTML.replace(/<[^<>]+>/g, ""); + s = s.replace(/^\s+/, "").replace(/\s+$/, ""); + return s; + }; - /** - * Creates an html element with given collection of attributes - * @param {String} tag a string of the html tag to create - * @param {Array} an undetermined number of arrays containing the with 2 - * items, the attribute name and its value ['id','myId'] - * @return {Object} created element - */ - Dom.create = function(tag){ - if(!tag || tag===''){ - return; - } - - var el = document.createElement(tag), - args = arguments; - - if(args.length > 1){ - for(var i=0; i 1) { + for (var i = 0; i < args.length; i++) { + var argtype = typeof args[i]; + if (argtype.toLowerCase() === "object" && args[i].length === 2) { + el.setAttribute(args[i][0], args[i][1]); + } + } + } + return el; + }; + + /** + * Returns a text node with given text + * @param {String} text + * @return {Object} + */ + Dom.text = function (text) { + return document.createTextNode(text); + }; + + /** + * Returns offset position of passed element + * @param {object} obj [description] + * @return {object} literal object with left and top values + */ + Dom.position = function (obj) { + var l = 0, t = 0; + if (obj && obj.offsetParent) { + do { + l += obj.offsetLeft; + t += obj.offsetTop; + } while (obj == obj.offsetParent); + } + return { left: l, top: t }; + }; + + Dom.hasClass = function (ele, cls) { + if (!ele) { + return false; + } + + if (supportsClassList()) { + return ele.classList.contains(cls); + } + return ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")); + }; + + Dom.addClass = function (ele, cls) { + if (!ele) { + return; + } + + if (supportsClassList()) { + ele.classList.add(cls); + return; + } + + if (ele.className === "") { + ele.className = cls; + } else if (!this.hasClass(ele, cls)) { + ele.className += " " + cls; + } + }; + + Dom.removeClass = function (ele, cls) { + if (!ele) { + return; + } + + if (supportsClassList()) { + ele.classList.remove(cls); + return; + } + var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)", "g"); + ele.className = ele.className.replace(reg, ""); + }; + + /** + * Creates and returns an option element + * @param {String} text option text + * @param {String} value option value + * @param {Boolean} isSel whether option is selected + * @return {Object} option element + */ + Dom.createOpt = function (text, value, isSel) { + var isSelected = isSel ? true : false, opt = isSelected ? this.create("option", ["value", value], ["selected", "true"]) : this.create("option", ["value", value]); + opt.appendChild(this.text(text)); + return opt; + }; + + /** + * Creates and returns a checklist item + * @param {Number} chkIndex index of check item + * @param {String} chkValue check item value + * @param {String} labelText check item label text + * @return {Object} li DOM element + */ + Dom.createCheckItem = function (chkIndex, chkValue, labelText) { + var li = this.create("li"), label = this.create("label", ["for", chkIndex]), check = this.create("input", ["id", chkIndex], ["name", chkIndex], ["type", "checkbox"], ["value", chkValue]); + label.appendChild(check); + label.appendChild(this.text(labelText)); + li.appendChild(label); + li.label = label; + li.check = check; + return li; + }; + + Dom.id = function (id) { + return document.getElementById(id); + }; + + Dom.tag = function (o, tagname) { + return o.getElementsByTagName(tagname); + }; + + // HTML5 classList API + function supportsClassList() { + return document.documentElement.classList; + } + + exports.Dom = Dom; +}); \ No newline at end of file diff --git a/src/dom.js.map b/src/dom.js.map new file mode 100644 index 00000000..89d33d92 --- /dev/null +++ b/src/dom.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src-es6/dom.js"],"names":[],"mappings":"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","file":"src-es6/dom.js","sourcesContent":["/**\r\n * DOM utilities\r\n */\r\n\r\nvar Dom = {};\r\n\r\n/**\r\n * Returns text + text of children of given node\r\n * @param {NodeElement} node\r\n * @return {String}\r\n */\r\nDom.getText = function(node){\r\n var s = node.textContent || node.innerText ||\r\n node.innerHTML.replace(/<[^<>]+>/g, '');\r\n s = s.replace(/^\\s+/, '').replace(/\\s+$/, '');\r\n return s;\r\n};\r\n\r\n/**\r\n * Creates an html element with given collection of attributes\r\n * @param {String} tag a string of the html tag to create\r\n * @param {Array} an undetermined number of arrays containing the with 2\r\n * items, the attribute name and its value ['id','myId']\r\n * @return {Object} created element\r\n */\r\nDom.create = function(tag){\r\n if(!tag || tag===''){\r\n return;\r\n }\r\n\r\n var el = document.createElement(tag),\r\n args = arguments;\r\n\r\n if(args.length > 1){\r\n for(var i=0; i maxValue ?\r\n parseFloat( cvalue ): maxValue;\r\n }\r\n }\r\n }\r\n }//for j\r\n if(meanFlag===1){\r\n meanValue = sumValue/nbvalues;\r\n }\r\n if(medFlag===1){\r\n var aux = 0;\r\n if(nbvalues%2 === 1){\r\n aux = Math.floor(nbvalues/2);\r\n medValue = theList[aux];\r\n } else{\r\n medValue =\r\n (theList[nbvalues/2] + theList[((nbvalues/2)-1)])/2;\r\n }\r\n }\r\n var posa;\r\n if(q1Flag===1){\r\n posa=0.0;\r\n posa = Math.floor(nbvalues/4);\r\n if(4*posa == nbvalues){\r\n q1Value = (theList[posa-1] + theList[posa])/2;\r\n } else {\r\n q1Value = theList[posa];\r\n }\r\n }\r\n if (q3Flag===1){\r\n posa=0.0;\r\n var posb=0.0;\r\n posa = Math.floor(nbvalues/4);\r\n if (4*posa === nbvalues){\r\n posb = 3*posa;\r\n q3Value = (theList[posb] + theList[posb-1])/2;\r\n } else {\r\n q3Value = theList[nbvalues-posa-1];\r\n }\r\n }\r\n\r\n for(var i=0; i<=mThisCol; i++){\r\n switch( opsThisCol[i] ){\r\n case 'mean':\r\n result=meanValue;\r\n break;\r\n case 'sum':\r\n result=sumValue;\r\n break;\r\n case 'min':\r\n result=minValue;\r\n break;\r\n case 'max':\r\n result=maxValue;\r\n break;\r\n case 'median':\r\n result=medValue;\r\n break;\r\n case 'q1':\r\n result=q1Value;\r\n break;\r\n case 'q3':\r\n result=q3Value;\r\n break;\r\n }\r\n\r\n var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;\r\n\r\n //if outputType is defined\r\n if(oTypeThisCol && result){\r\n result = result.toFixed( precision );\r\n\r\n if(dom.id(labThisCol[i])){\r\n switch( str.lower(oTypeThisCol) ){\r\n case 'innerhtml':\r\n if (isNaN(result) || !isFinite(result) ||\r\n nbvalues===0){\r\n dom.id(labThisCol[i]).innerHTML = '.';\r\n } else{\r\n dom.id(labThisCol[i]).innerHTML = result;\r\n }\r\n break;\r\n case 'setvalue':\r\n dom.id( labThisCol[i] ).value = result;\r\n break;\r\n case 'createtextnode':\r\n var oldnode = dom.id(labThisCol[i])\r\n .firstChild;\r\n var txtnode = dom.text(result);\r\n dom.id(labThisCol[i])\r\n .replaceChild(txtnode, oldnode);\r\n break;\r\n }//switch\r\n }\r\n } else {\r\n try{\r\n if(isNaN(result) || !isFinite(result) ||\r\n nbvalues===0){\r\n dom.id(labThisCol[i]).innerHTML = '.';\r\n } else {\r\n dom.id(labThisCol[i]).innerHTML =\r\n result.toFixed(precision);\r\n }\r\n } catch(e) {}//catch\r\n }//else\r\n }//for i\r\n\r\n // row(s) with result are always visible\r\n var totRow = totRowIndex && totRowIndex[ucol] ?\r\n row[totRowIndex[ucol]] : null;\r\n if(totRow){\r\n totRow.style.display = '';\r\n }\r\n }//for ucol\r\n }//if typeof\r\n\r\n if(this.tf.onAfterOperation){\r\n this.tf.onAfterOperation.call(null, this.tf);\r\n }\r\n }\r\n\r\n}"]} \ No newline at end of file +{"version":3,"sources":["src-es6/modules/colOps.js"],"names":[],"mappings":";;;;;;;;MAAQ,GAAG,QAAH,GAAG;MACH,GAAG,WAAH,GAAG;MAEE,MAAM;QAAN,MAAM,GAMJ,SANF,MAAM,CAMH,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;AAChB,UAAI,CAAC,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;;AAEpC,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;gBAXQ,MAAM;AA6Bf,UAAI;;eAAA,YAAG;AACH,cAAG,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAC;AACxC,mBAAO;WACV;;AAED,cAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAC;AACzB,gBAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;WACjD;;AAED,cAAI,YAAY,GAAG,IAAI,CAAC,YAAY,EAChC,OAAO,GAAG,YAAY,CAAC,EAAE,EACzB,QAAQ,GAAG,YAAY,CAAC,GAAG,EAC3B,SAAS,GAAG,YAAY,CAAC,SAAS,EAClC,UAAU,GAAG,YAAY,CAAC,YAAY,EACtC,WAAW,GAAG,YAAY,CAAC,aAAa,EACxC,UAAU,GAAG,YAAY,CAAC,WAAW,EACrC,gBAAgB,GAAG,YAAY,CAAC,iBAAiB,KAAK,SAAS,GAC3D,YAAY,CAAC,iBAAiB,GAAG,CAAC,CAAC;;;AAG3C,cAAI,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,CAAC,CAAC;AAChB,mBAAS,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;;AAEjC,eAAI,IAAI,EAAE,GAAC,CAAC,EAAE,EAAE,GAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,EAAC;AACnC,gBAAI,KAAK,GAAG,CAAC,CAAC;;AAEd,iBAAI,IAAI,EAAE,GAAC,CAAC,EAAE,EAAE,IAAE,OAAO,EAAE,EAAE,EAAE,EAAC;AAC5B,kBAAG,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAC;AAC9B,qBAAK,GAAG,CAAC,CAAC;eACb;aACJ;;AAED,gBAAI,KAAK,KAAK,CAAC,EAAC;AACZ,qBAAO,EAAE,CAAC;AACV,uBAAS,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;aACrC;WACJ;;AAED,cAAG,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,IAAE,QAAQ,IAClC,GAAG,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,IAAE,QAAQ,IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,IAAE,QAAQ,EAAC;AACtC,gBAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EACtB,SAAS,GAAG,EAAE,CAAC;;AAEnB,iBAAI,IAAI,IAAI,GAAC,CAAC,EAAE,IAAI,IAAE,OAAO,EAAE,IAAI,EAAE,EAAC;;;;AAIlC,uBAAS,CAAC,IAAI,CACV,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;;;AAG7D,kBAAI,MAAM,EACN,QAAQ,GAAC,CAAC,EACV,IAAI,EACJ,SAAS,GAAC,CAAC,EACX,QAAQ,GAAC,CAAC,EACV,QAAQ,GAAC,IAAI,EACb,QAAQ,GAAC,IAAI,EACb,OAAO,GAAC,IAAI,EACZ,QAAQ,GAAC,IAAI,EACb,OAAO,GAAC,IAAI,EACZ,QAAQ,GAAC,CAAC,EACV,OAAO,GAAC,CAAC,EACT,OAAO,GAAC,CAAC,EACT,OAAO,GAAC,CAAC,EACT,MAAM,GAAC,CAAC,EACR,OAAO,GAAC,CAAC,EACT,MAAM,GAAC,CAAC,EACR,OAAO,GAAC,EAAE,EACV,UAAU,GAAC,EAAE,EACb,UAAU,GAAC,EAAE,EACb,UAAU,GAAC,EAAE,EACb,YAAY,GAAC,EAAE,EACf,QAAQ,GAAC,CAAC,CAAC,CAAC;;AAEhB,mBAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC/B,oBAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,EAAC;AAChC,0BAAQ,EAAE,CAAC;AACX,4BAAU,CAAC,QAAQ,CAAC,GAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,4BAAU,CAAC,QAAQ,CAAC,GAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACzC,4BAAU,CAAC,QAAQ,CAAC,GAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,8BAAY,GAAG,UAAU,KAAK,SAAS,IACnC,GAAG,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,KAAG,QAAQ,GACvC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;;AAEzB,0BAAO,UAAU,CAAC,QAAQ,CAAC;AACvB,yBAAK,MAAM;AACP,8BAAQ,GAAC,CAAC,CAAC;AACf,4BAAM;AAAA,AACN,yBAAK,KAAK;AACN,6BAAO,GAAC,CAAC,CAAC;AACd,4BAAM;AAAA,AACN,yBAAK,KAAK;AACN,6BAAO,GAAC,CAAC,CAAC;AACd,4BAAM;AAAA,AACN,yBAAK,KAAK;AACN,6BAAO,GAAC,CAAC,CAAC;AACd,4BAAM;AAAA,AACN,yBAAK,QAAQ;AACT,6BAAO,GAAC,CAAC,CAAC;AACV,4BAAM;AAAA,AACV,yBAAK,IAAI;AACL,4BAAM,GAAC,CAAC,CAAC;AACb,4BAAM;AAAA,AACN,yBAAK,IAAI;AACL,4BAAM,GAAC,CAAC,CAAC;AACb,4BAAM;AAAA,mBACT;iBACJ;eACJ;;AAED,mBAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;;AAEvC,oBAAG,CAAC,MAAM,IAAE,CAAC,CAAC,IAAG,CAAC,MAAM,IAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAE,CAAC,CAAC,EAAC;AACzC,sBAAI,CAAC,GAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,GAAE,CAAC,EAAC;AAC5B,yBAAI,CAAC,GAAC,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,0BAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACzB,4BAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,iCAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,iCAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;uBAC7B;qBACJ;mBACJ;iBACJ;AACD,oBAAI,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,uBAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;;AAEhC,oBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC;AACd,0BAAQ,EAAE,CAAC;AACX,sBAAG,OAAO,KAAG,CAAC,IAAI,QAAQ,KAAG,CAAC,EAAC;AAC3B,4BAAQ,IAAI,UAAU,CAAE,MAAM,CAAE,CAAC;mBACpC;AACD,sBAAG,OAAO,KAAG,CAAC,EAAC;AACX,wBAAG,QAAQ,KAAG,IAAI,EAAC;AACf,8BAAQ,GAAG,UAAU,CAAE,MAAM,CAAE,CAAC;qBACnC,MAAK;AACF,8BAAQ,GAAG,UAAU,CAAE,MAAM,CAAE,GAAG,QAAQ,GACtC,UAAU,CAAE,MAAM,CAAE,GAAE,QAAQ,CAAC;qBACtC;mBACJ;AACD,sBAAG,OAAO,KAAG,CAAC,EAAC;AACX,wBAAI,QAAQ,KAAG,IAAI,EAAC;AAChB,8BAAQ,GAAG,UAAU,CAAE,MAAM,CAAE,CAAC;qBACnC,MAAM;AACH,8BAAQ,GAAG,UAAU,CAAE,MAAM,CAAE,GAAG,QAAQ,GACtC,UAAU,CAAE,MAAM,CAAE,GAAE,QAAQ,CAAC;qBACtC;mBACJ;iBACJ;eACJ;AACD,kBAAG,QAAQ,KAAG,CAAC,EAAC;AACZ,yBAAS,GAAG,QAAQ,GAAC,QAAQ,CAAC;eACjC;AACD,kBAAG,OAAO,KAAG,CAAC,EAAC;AACX,oBAAI,GAAG,GAAG,CAAC,CAAC;AACZ,oBAAG,QAAQ,GAAC,CAAC,KAAK,CAAC,EAAC;AAChB,qBAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAC,CAAC,CAAC,CAAC;AAC7B,0BAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;iBAC3B,MAAK;AACF,0BAAQ,GACJ,CAAC,OAAO,CAAC,QAAQ,GAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC;iBAC3D;eACJ;AACD,kBAAI,IAAI,CAAC;AACT,kBAAG,MAAM,KAAG,CAAC,EAAC;AACV,oBAAI,GAAC,CAAG,CAAC;AACT,oBAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAC,CAAC,CAAC,CAAC;AAC9B,oBAAG,CAAC,GAAC,IAAI,IAAI,QAAQ,EAAC;AAClB,yBAAO,GAAG,CAAC,OAAO,CAAC,IAAI,GAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC;iBACjD,MAAM;AACH,yBAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC3B;eACJ;AACD,kBAAI,MAAM,KAAG,CAAC,EAAC;AACX,oBAAI,GAAC,CAAG,CAAC;AACT,oBAAI,IAAI,GAAC,CAAG,CAAC;AACb,oBAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAC,CAAC,CAAC,CAAC;AAC9B,oBAAI,CAAC,GAAC,IAAI,KAAK,QAAQ,EAAC;AACpB,sBAAI,GAAG,CAAC,GAAC,IAAI,CAAC;AACd,yBAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC;iBACjD,MAAM;AACH,yBAAO,GAAG,OAAO,CAAC,QAAQ,GAAC,IAAI,GAAC,CAAC,CAAC,CAAC;iBACtC;eACJ;;AAED,mBAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,IAAE,QAAQ,EAAE,CAAC,EAAE,EAAC;AAC1B,wBAAQ,UAAU,CAAC,CAAC,CAAC;AACjB,uBAAK,MAAM;AACP,0BAAM,GAAC,SAAS,CAAC;AACrB,0BAAM;AAAA,AACN,uBAAK,KAAK;AACN,0BAAM,GAAC,QAAQ,CAAC;AACpB,0BAAM;AAAA,AACN,uBAAK,KAAK;AACN,0BAAM,GAAC,QAAQ,CAAC;AACpB,0BAAM;AAAA,AACN,uBAAK,KAAK;AACN,0BAAM,GAAC,QAAQ,CAAC;AACpB,0BAAM;AAAA,AACN,uBAAK,QAAQ;AACT,0BAAM,GAAC,QAAQ,CAAC;AAChB,0BAAM;AAAA,AACV,uBAAK,IAAI;AACL,0BAAM,GAAC,OAAO,CAAC;AACnB,0BAAM;AAAA,AACN,uBAAK,IAAI;AACL,0BAAM,GAAC,OAAO,CAAC;AACnB,0BAAM;AAAA,iBACT;;AAED,oBAAI,SAAS,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;;AAG1D,oBAAG,YAAY,IAAI,MAAM,EAAC;AACtB,wBAAM,GAAG,MAAM,CAAC,OAAO,CAAE,SAAS,CAAE,CAAC;;AAErC,sBAAG,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAC;AACrB,4BAAQ,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;AAC3B,2BAAK,WAAW;AACZ,4BAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAClC,QAAQ,KAAG,CAAC,EAAC;AACb,6BAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;yBACzC,MAAK;AACF,6BAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;yBAC5C;AACL,8BAAM;AAAA,AACN,2BAAK,UAAU;AACX,2BAAG,CAAC,EAAE,CAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,GAAG,MAAM,CAAC;AAC3C,8BAAM;AAAA,AACN,2BAAK,gBAAgB;AACjB,4BAAI,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC9B,UAAU,CAAC;AAChB,4BAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,2BAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAChB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,8BAAM;AAAA,qBACT;mBACJ;iBACJ,MAAM;AACH,sBAAG;AACC,wBAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IACjC,QAAQ,KAAG,CAAC,EAAC;AACb,yBAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;qBACzC,MAAM;AACH,yBAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;qBACjC;mBACJ,CAAC,OAAM,CAAC,EAAE,EAAE;AAAA,iBAChB;AAAA,eACJ;;;AAGD,kBAAI,MAAM,GAAG,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,GAC7B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9C,kBAAG,MAAM,EAAC;AACN,sBAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;eAC7B;aACJ;AAAA,WACJ;;AAED,cAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAC;AACxB,gBAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;WAChD;SACJ;;;;WAvSQ,MAAM;;;UAAN,MAAM,GAAN,MAAM","file":"src-es6/modules/colOps.js","sourcesContent":["import {Dom} from '../dom';\r\nimport {Str} from '../string';\r\n\r\nexport class ColOps{\r\n\r\n /**\r\n * Column calculations\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n this.colOperation = f.col_operation;\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * Calculates columns' values\r\n * Configuration options are stored in 'colOperation' property\r\n * - 'id' contains ids of elements showing result (array)\r\n * - 'col' contains the columns' indexes (array)\r\n * - 'operation' contains operation type (array, values: 'sum', 'mean',\r\n * 'min', 'max', 'median', 'q1', 'q3')\r\n * - 'write_method' array defines which method to use for displaying the\r\n * result (innerHTML, setValue, createTextNode) - default: 'innerHTML'\r\n * - 'tot_row_index' defines in which row results are displayed\r\n * (integers array)\r\n *\r\n * - changes made by Nuovella:\r\n * (1) optimized the routine (now it will only process each column once),\r\n * (2) added calculations for the median, lower and upper quartile.\r\n */\r\n calc() {\r\n if(!this.tf.isFirstLoad && !this.tf.hasGrid){\r\n return;\r\n }\r\n\r\n if(this.tf.onBeforeOperation){\r\n this.tf.onBeforeOperation.call(null, this.tf);\r\n }\r\n\r\n var colOperation = this.colOperation,\r\n labelId = colOperation.id,\r\n colIndex = colOperation.col,\r\n operation = colOperation.operation,\r\n outputType = colOperation.write_method,\r\n totRowIndex = colOperation.tot_row_index,\r\n excludeRow = colOperation.exclude_row,\r\n decimalPrecision = colOperation.decimal_precision !== undefined ?\r\n colOperation.decimal_precision : 2;\r\n\r\n //nuovella: determine unique list of columns to operate on\r\n var ucolIndex = [],\r\n ucolMax = 0;\r\n ucolIndex[ucolMax] = colIndex[0];\r\n\r\n for(var ii=1; ii maxValue ?\r\n parseFloat( cvalue ): maxValue;\r\n }\r\n }\r\n }\r\n }//for j\r\n if(meanFlag===1){\r\n meanValue = sumValue/nbvalues;\r\n }\r\n if(medFlag===1){\r\n var aux = 0;\r\n if(nbvalues%2 === 1){\r\n aux = Math.floor(nbvalues/2);\r\n medValue = theList[aux];\r\n } else{\r\n medValue =\r\n (theList[nbvalues/2] + theList[((nbvalues/2)-1)])/2;\r\n }\r\n }\r\n var posa;\r\n if(q1Flag===1){\r\n posa=0.0;\r\n posa = Math.floor(nbvalues/4);\r\n if(4*posa == nbvalues){\r\n q1Value = (theList[posa-1] + theList[posa])/2;\r\n } else {\r\n q1Value = theList[posa];\r\n }\r\n }\r\n if (q3Flag===1){\r\n posa=0.0;\r\n var posb=0.0;\r\n posa = Math.floor(nbvalues/4);\r\n if (4*posa === nbvalues){\r\n posb = 3*posa;\r\n q3Value = (theList[posb] + theList[posb-1])/2;\r\n } else {\r\n q3Value = theList[nbvalues-posa-1];\r\n }\r\n }\r\n\r\n for(var i=0; i<=mThisCol; i++){\r\n switch( opsThisCol[i] ){\r\n case 'mean':\r\n result=meanValue;\r\n break;\r\n case 'sum':\r\n result=sumValue;\r\n break;\r\n case 'min':\r\n result=minValue;\r\n break;\r\n case 'max':\r\n result=maxValue;\r\n break;\r\n case 'median':\r\n result=medValue;\r\n break;\r\n case 'q1':\r\n result=q1Value;\r\n break;\r\n case 'q3':\r\n result=q3Value;\r\n break;\r\n }\r\n\r\n var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;\r\n\r\n //if outputType is defined\r\n if(oTypeThisCol && result){\r\n result = result.toFixed( precision );\r\n\r\n if(Dom.id(labThisCol[i])){\r\n switch( Str.lower(oTypeThisCol) ){\r\n case 'innerhtml':\r\n if (isNaN(result) || !isFinite(result) ||\r\n nbvalues===0){\r\n Dom.id(labThisCol[i]).innerHTML = '.';\r\n } else{\r\n Dom.id(labThisCol[i]).innerHTML = result;\r\n }\r\n break;\r\n case 'setvalue':\r\n Dom.id( labThisCol[i] ).value = result;\r\n break;\r\n case 'createtextnode':\r\n var oldnode = Dom.id(labThisCol[i])\r\n .firstChild;\r\n var txtnode = Dom.text(result);\r\n Dom.id(labThisCol[i])\r\n .replaceChild(txtnode, oldnode);\r\n break;\r\n }//switch\r\n }\r\n } else {\r\n try{\r\n if(isNaN(result) || !isFinite(result) ||\r\n nbvalues===0){\r\n Dom.id(labThisCol[i]).innerHTML = '.';\r\n } else {\r\n Dom.id(labThisCol[i]).innerHTML =\r\n result.toFixed(precision);\r\n }\r\n } catch(e) {}//catch\r\n }//else\r\n }//for i\r\n\r\n // row(s) with result are always visible\r\n var totRow = totRowIndex && totRowIndex[ucol] ?\r\n row[totRowIndex[ucol]] : null;\r\n if(totRow){\r\n totRow.style.display = '';\r\n }\r\n }//for ucol\r\n }//if typeof\r\n\r\n if(this.tf.onAfterOperation){\r\n this.tf.onAfterOperation.call(null, this.tf);\r\n }\r\n }\r\n\r\n}"]} \ No newline at end of file diff --git a/src/modules/loader.js b/src/modules/loader.js index 52d53ca7..b8b64d8d 100644 --- a/src/modules/loader.js +++ b/src/modules/loader.js @@ -6,8 +6,8 @@ define(["exports", "../dom", "../types"], function (exports, _dom, _types) { if (instanceProps) Object.defineProperties(child.prototype, instanceProps); }; - var dom = _dom; - var types = _types; + var Dom = _dom.Dom; + var Types = _types.Types; var global = window; @@ -29,24 +29,24 @@ define(["exports", "../dom", "../types"], function (exports, _dom, _types) { //delay for hiding loader tf.loaderCloseDelay = 200; //callback function before loader is displayed - tf.onShowLoader = types.isFn(f.on_show_loader) ? f.on_show_loader : null; + tf.onShowLoader = Types.isFn(f.on_show_loader) ? f.on_show_loader : null; //callback function after loader is closed - tf.onHideLoader = types.isFn(f.on_hide_loader) ? f.on_hide_loader : null; + tf.onHideLoader = Types.isFn(f.on_hide_loader) ? f.on_hide_loader : null; this.tf = tf; - var containerDiv = dom.create("div", ["id", tf.prfxLoader + tf.id]); + var containerDiv = Dom.create("div", ["id", tf.prfxLoader + tf.id]); containerDiv.className = tf.loaderCssClass; - var targetEl = !tf.loaderTgtId ? (tf.gridLayout ? tf.tblCont : tf.tbl.parentNode) : dom.id(tf.loaderTgtId); + var targetEl = !tf.loaderTgtId ? (tf.gridLayout ? tf.tblCont : tf.tbl.parentNode) : Dom.id(tf.loaderTgtId); if (!tf.loaderTgtId) { targetEl.insertBefore(containerDiv, tf.tbl); } else { targetEl.appendChild(containerDiv); } - tf.loaderDiv = dom.id(tf.prfxLoader + tf.id); + tf.loaderDiv = Dom.id(tf.prfxLoader + tf.id); if (!tf.loaderHtml) { - tf.loaderDiv.appendChild(dom.text(tf.loaderText)); + tf.loaderDiv.appendChild(Dom.text(tf.loaderText)); } else { tf.loaderDiv.innerHTML = tf.loaderHtml; } @@ -84,7 +84,7 @@ define(["exports", "../dom", "../types"], function (exports, _dom, _types) { if (!this.tf.loaderDiv) { return; } - var targetEl = !this.tf.loaderTgtId ? (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode) : dom.id(this.tf.loaderTgtId); + var targetEl = !this.tf.loaderTgtId ? (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode) : Dom.id(this.tf.loaderTgtId); targetEl.removeChild(this.tf.loaderDiv); this.tf.loaderDiv = null; } diff --git a/src/modules/loader.js.map b/src/modules/loader.js.map index b9d5b688..78cdcee0 100644 --- a/src/modules/loader.js.map +++ b/src/modules/loader.js.map @@ -1 +1 @@ -{"version":3,"sources":["src/es6-modules/loader.js"],"names":[],"mappings":"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","file":"src/es6-modules/loader.js","sourcesContent":["\r\nimport * as dom from '../dom';\r\nimport * as types from '../types';\r\n\r\nvar global = window;\r\n\r\n/**\r\n * Loading message/spinner\r\n * @param {Object} tf TableFilter instance\r\n */\r\nexport class Loader{\r\n\r\n constructor(tf){\r\n\r\n // TableFilter configuration\r\n var f = tf.fObj;\r\n //id of container element\r\n tf.loaderTgtId = f.loader_target_id || null;\r\n //div containing loader\r\n tf.loaderDiv = null;\r\n //defines loader text\r\n tf.loaderText = f.loader_text || 'Loading...';\r\n //defines loader innerHtml\r\n tf.loaderHtml = f.loader_html || null;\r\n //defines css class for loader div\r\n tf.loaderCssClass = f.loader_css_class || 'loader';\r\n //delay for hiding loader\r\n tf.loaderCloseDelay = 200;\r\n //callback function before loader is displayed\r\n tf.onShowLoader = types.isFn(f.on_show_loader) ?\r\n f.on_show_loader : null;\r\n //callback function after loader is closed\r\n tf.onHideLoader = types.isFn(f.on_hide_loader) ?\r\n f.on_hide_loader : null;\r\n\r\n this.tf = tf;\r\n\r\n var containerDiv = dom.create('div', ['id', tf.prfxLoader+tf.id]);\r\n containerDiv.className = tf.loaderCssClass;\r\n\r\n var targetEl = !tf.loaderTgtId ?\r\n (tf.gridLayout ? tf.tblCont : tf.tbl.parentNode) :\r\n dom.id(tf.loaderTgtId);\r\n if(!tf.loaderTgtId){\r\n targetEl.insertBefore(containerDiv, tf.tbl);\r\n } else {\r\n targetEl.appendChild(containerDiv);\r\n }\r\n tf.loaderDiv = dom.id(tf.prfxLoader+tf.id);\r\n if(!tf.loaderHtml){\r\n tf.loaderDiv.appendChild(dom.text(tf.loaderText));\r\n } else {\r\n tf.loaderDiv.innerHTML = tf.loaderHtml;\r\n }\r\n }\r\n\r\n show(p) {\r\n if(!this.tf.loader || !this.tf.loaderDiv ||\r\n this.tf.loaderDiv.style.display===p){\r\n return;\r\n }\r\n var o = this.tf;\r\n\r\n function displayLoader(){\r\n if(!o.loaderDiv){\r\n return;\r\n }\r\n if(o.onShowLoader && p!=='none'){\r\n o.onShowLoader.call(null, o);\r\n }\r\n o.loaderDiv.style.display = p;\r\n if(o.onHideLoader && p==='none'){\r\n o.onHideLoader.call(null, o);\r\n }\r\n }\r\n\r\n var t = p==='none' ? this.tf.loaderCloseDelay : 1;\r\n global.setTimeout(displayLoader, t);\r\n }\r\n\r\n remove(){\r\n if(!this.tf.loaderDiv){\r\n return;\r\n }\r\n var targetEl = !this.tf.loaderTgtId ?\r\n (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode):\r\n dom.id(this.tf.loaderTgtId);\r\n targetEl.removeChild(this.tf.loaderDiv);\r\n this.tf.loaderDiv = null;\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["src-es6/modules/loader.js"],"names":[],"mappings":"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","file":"src-es6/modules/loader.js","sourcesContent":["\r\nimport {Dom} from '../dom';\r\nimport {Types} from '../types';\r\n\r\nvar global = window;\r\n\r\n/**\r\n * Loading message/spinner\r\n * @param {Object} tf TableFilter instance\r\n */\r\nexport class Loader{\r\n\r\n constructor(tf){\r\n\r\n // TableFilter configuration\r\n var f = tf.fObj;\r\n //id of container element\r\n tf.loaderTgtId = f.loader_target_id || null;\r\n //div containing loader\r\n tf.loaderDiv = null;\r\n //defines loader text\r\n tf.loaderText = f.loader_text || 'Loading...';\r\n //defines loader innerHtml\r\n tf.loaderHtml = f.loader_html || null;\r\n //defines css class for loader div\r\n tf.loaderCssClass = f.loader_css_class || 'loader';\r\n //delay for hiding loader\r\n tf.loaderCloseDelay = 200;\r\n //callback function before loader is displayed\r\n tf.onShowLoader = Types.isFn(f.on_show_loader) ?\r\n f.on_show_loader : null;\r\n //callback function after loader is closed\r\n tf.onHideLoader = Types.isFn(f.on_hide_loader) ?\r\n f.on_hide_loader : null;\r\n\r\n this.tf = tf;\r\n\r\n var containerDiv = Dom.create('div', ['id', tf.prfxLoader+tf.id]);\r\n containerDiv.className = tf.loaderCssClass;\r\n\r\n var targetEl = !tf.loaderTgtId ?\r\n (tf.gridLayout ? tf.tblCont : tf.tbl.parentNode) :\r\n Dom.id(tf.loaderTgtId);\r\n if(!tf.loaderTgtId){\r\n targetEl.insertBefore(containerDiv, tf.tbl);\r\n } else {\r\n targetEl.appendChild(containerDiv);\r\n }\r\n tf.loaderDiv = Dom.id(tf.prfxLoader+tf.id);\r\n if(!tf.loaderHtml){\r\n tf.loaderDiv.appendChild(Dom.text(tf.loaderText));\r\n } else {\r\n tf.loaderDiv.innerHTML = tf.loaderHtml;\r\n }\r\n }\r\n\r\n show(p) {\r\n if(!this.tf.loader || !this.tf.loaderDiv ||\r\n this.tf.loaderDiv.style.display===p){\r\n return;\r\n }\r\n var o = this.tf;\r\n\r\n function displayLoader(){\r\n if(!o.loaderDiv){\r\n return;\r\n }\r\n if(o.onShowLoader && p!=='none'){\r\n o.onShowLoader.call(null, o);\r\n }\r\n o.loaderDiv.style.display = p;\r\n if(o.onHideLoader && p==='none'){\r\n o.onHideLoader.call(null, o);\r\n }\r\n }\r\n\r\n var t = p==='none' ? this.tf.loaderCloseDelay : 1;\r\n global.setTimeout(displayLoader, t);\r\n }\r\n\r\n remove(){\r\n if(!this.tf.loaderDiv){\r\n return;\r\n }\r\n var targetEl = !this.tf.loaderTgtId ?\r\n (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode):\r\n Dom.id(this.tf.loaderTgtId);\r\n targetEl.removeChild(this.tf.loaderDiv);\r\n this.tf.loaderDiv = null;\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/src/modules/rowsCounter.js b/src/modules/rowsCounter.js new file mode 100644 index 00000000..691e2282 --- /dev/null +++ b/src/modules/rowsCounter.js @@ -0,0 +1,144 @@ +define(["exports", "../dom", "../types", "../helpers"], function (exports, _dom, _types, _helpers) { + "use strict"; + + var _classProps = function (child, staticProps, instanceProps) { + if (staticProps) Object.defineProperties(child, staticProps); + if (instanceProps) Object.defineProperties(child.prototype, instanceProps); + }; + + var Dom = _dom.Dom; + var Types = _types.Types; + var Helpers = _helpers.Helpers; + var RowsCounter = (function () { + var RowsCounter = function RowsCounter(tf) { + // TableFilter configuration + var f = tf.fObj; + + //id of custom container element + this.rowsCounterTgtId = f.rows_counter_target_id || null; + //element containing tot nb rows + this.rowsCounterDiv = null; + //element containing tot nb rows label + this.rowsCounterSpan = null; + //defines rows counter text + this.rowsCounterText = f.rows_counter_text || "Rows: "; + this.fromToTextSeparator = f.from_to_text_separator || "-"; + this.overText = f.over_text || " / "; + //defines css class rows counter + this.totRowsCssClass = f.tot_rows_css_class || "tot"; + //callback raised before counter is refreshed + this.onBeforeRefreshCounter = Types.isFn(f.on_before_refresh_counter) ? f.on_before_refresh_counter : null; + //callback raised after counter is refreshed + this.onAfterRefreshCounter = Types.isFn(f.on_after_refresh_counter) ? f.on_after_refresh_counter : null; + + this.tf = tf; + }; + + _classProps(RowsCounter, null, { + init: { + writable: true, + value: function () { + var tf = this.tf; + + if ((!tf.hasGrid && !tf.isFirstLoad) || this.rowsCounterSpan) { + return; + } + + //rows counter container + var countDiv = Dom.create("div", ["id", tf.prfxCounter + tf.id]); + countDiv.className = this.totRowsCssClass; + //rows counter label + var countSpan = Dom.create("span", ["id", tf.prfxTotRows + tf.id]); + var countText = Dom.create("span", ["id", tf.prfxTotRowsTxt + tf.id]); + countText.appendChild(Dom.text(this.rowsCounterText)); + + // counter is added to defined element + if (!this.rowsCounterTgtId) { + tf.SetTopDiv(); + } + var targetEl = !this.rowsCounterTgtId ? tf.lDiv : Dom.id(this.rowsCounterTgtId); + + //IE only: clears all for sure + if (this.rowsCounterDiv && Helpers.isIE()) { + this.rowsCounterDiv.outerHTML = ""; + } + //default container: 'lDiv' + if (!this.rowsCounterTgtId) { + countDiv.appendChild(countText); + countDiv.appendChild(countSpan); + targetEl.appendChild(countDiv); + } else { + //custom container, no need to append statusDiv + targetEl.appendChild(countText); + targetEl.appendChild(countSpan); + } + this.rowsCounterDiv = countDiv; + this.rowsCounterSpan = countSpan; + + this.refresh(); + } + }, + refresh: { + writable: true, + value: function (p) { + if (!this.rowsCounterSpan) { + return; + } + + var tf = this.tf; + + if (this.onBeforeRefreshCounter) { + this.onBeforeRefreshCounter.call(null, tf, this.rowsCounterSpan); + } + + var totTxt; + if (!tf.paging) { + if (p && p !== "") { + totTxt = p; + } else { + totTxt = tf.nbFilterableRows - tf.nbHiddenRows - (tf.hasVisibleRows ? tf.visibleRows.length : 0); + } + } else { + //paging start row + var paging_start_row = parseInt(tf.startPagingRow, 10) + ((tf.nbVisibleRows > 0) ? 1 : 0); + var paging_end_row = (paging_start_row + tf.pagingLength) - 1 <= tf.nbVisibleRows ? paging_start_row + tf.pagingLength - 1 : tf.nbVisibleRows; + totTxt = paging_start_row + this.fromToTextSeparator + paging_end_row + this.overText + tf.nbVisibleRows; + } + this.rowsCounterSpan.innerHTML = totTxt; + if (this.onAfterRefreshCounter) { + this.onAfterRefreshCounter.call(null, tf, this.rowsCounterSpan, totTxt); + } + } + }, + destroy: { + writable: true, + value: function () { + var tf = this.tf; + if (!tf.hasGrid) { + return; + } + if (!this.rowsCounterSpan) { + return; + } + + if (!this.rowsCounterTgtId && this.rowsCounterDiv) { + //IE only: clears all for sure + if (Helpers.isIE()) { + this.rowsCounterDiv.outerHTML = ""; + } else { + this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv); + } + } else { + Dom.id(this.rowsCounterTgtId).innerHTML = ""; + } + this.rowsCounterSpan = null; + this.rowsCounterDiv = null; + } + } + }); + + return RowsCounter; + })(); + + exports.RowsCounter = RowsCounter; +}); \ No newline at end of file diff --git a/src/modules/rowsCounter.js.map b/src/modules/rowsCounter.js.map new file mode 100644 index 00000000..c504694d --- /dev/null +++ b/src/modules/rowsCounter.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src-es6/modules/rowsCounter.js"],"names":[],"mappings":"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","file":"src-es6/modules/rowsCounter.js","sourcesContent":["import {Dom} from '../dom';\r\nimport {Types} from '../types';\r\nimport {Helpers} from '../helpers';\r\n\r\nexport class RowsCounter{\r\n /**\r\n * Rows counter\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf){\r\n // TableFilter configuration\r\n var f = tf.fObj;\r\n\r\n //id of custom container element\r\n this.rowsCounterTgtId = f.rows_counter_target_id || null;\r\n //element containing tot nb rows\r\n this.rowsCounterDiv = null;\r\n //element containing tot nb rows label\r\n this.rowsCounterSpan = null;\r\n //defines rows counter text\r\n this.rowsCounterText = f.rows_counter_text || 'Rows: ';\r\n this.fromToTextSeparator = f.from_to_text_separator || '-';\r\n this.overText = f.over_text || ' / ';\r\n //defines css class rows counter\r\n this.totRowsCssClass = f.tot_rows_css_class || 'tot';\r\n //callback raised before counter is refreshed\r\n this.onBeforeRefreshCounter =\r\n Types.isFn(f.on_before_refresh_counter) ?\r\n f.on_before_refresh_counter : null;\r\n //callback raised after counter is refreshed\r\n this.onAfterRefreshCounter = Types.isFn(f.on_after_refresh_counter) ?\r\n f.on_after_refresh_counter : null;\r\n\r\n this.tf = tf;\r\n }\r\n\r\n init(){\r\n var tf = this.tf;\r\n\r\n if((!tf.hasGrid && !tf.isFirstLoad) || this.rowsCounterSpan){\r\n return;\r\n }\r\n\r\n //rows counter container\r\n var countDiv = Dom.create('div', ['id', tf.prfxCounter+tf.id]);\r\n countDiv.className = this.totRowsCssClass;\r\n //rows counter label\r\n var countSpan = Dom.create('span', ['id', tf.prfxTotRows+tf.id]);\r\n var countText = Dom.create('span', ['id', tf.prfxTotRowsTxt+tf.id]);\r\n countText.appendChild(Dom.text(this.rowsCounterText));\r\n\r\n // counter is added to defined element\r\n if(!this.rowsCounterTgtId){\r\n tf.SetTopDiv();\r\n }\r\n var targetEl = !this.rowsCounterTgtId ?\r\n tf.lDiv : Dom.id( this.rowsCounterTgtId );\r\n\r\n //IE only: clears all for sure\r\n if(this.rowsCounterDiv && Helpers.isIE()){\r\n this.rowsCounterDiv.outerHTML = '';\r\n }\r\n //default container: 'lDiv'\r\n if(!this.rowsCounterTgtId){\r\n countDiv.appendChild(countText);\r\n countDiv.appendChild(countSpan);\r\n targetEl.appendChild(countDiv);\r\n }\r\n else{\r\n //custom container, no need to append statusDiv\r\n targetEl.appendChild(countText);\r\n targetEl.appendChild(countSpan);\r\n }\r\n this.rowsCounterDiv = countDiv;\r\n this.rowsCounterSpan = countSpan;\r\n\r\n this.refresh();\r\n }\r\n\r\n refresh(p){\r\n if(!this.rowsCounterSpan){\r\n return;\r\n }\r\n\r\n var tf = this.tf;\r\n\r\n if(this.onBeforeRefreshCounter){\r\n this.onBeforeRefreshCounter.call(null, tf, this.rowsCounterSpan);\r\n }\r\n\r\n var totTxt;\r\n if(!tf.paging){\r\n if(p && p !== ''){\r\n totTxt = p;\r\n } else{\r\n totTxt = tf.nbFilterableRows - tf.nbHiddenRows -\r\n (tf.hasVisibleRows ? tf.visibleRows.length : 0);\r\n }\r\n } else {\r\n //paging start row\r\n var paging_start_row = parseInt(tf.startPagingRow, 10) +\r\n ((tf.nbVisibleRows>0) ? 1 : 0);\r\n var paging_end_row = (paging_start_row+tf.pagingLength)-1 <=\r\n tf.nbVisibleRows ? paging_start_row+tf.pagingLength-1 :\r\n tf.nbVisibleRows;\r\n totTxt = paging_start_row + this.fromToTextSeparator +\r\n paging_end_row + this.overText + tf.nbVisibleRows;\r\n }\r\n this.rowsCounterSpan.innerHTML = totTxt;\r\n if(this.onAfterRefreshCounter){\r\n this.onAfterRefreshCounter.call(\r\n null, tf, this.rowsCounterSpan, totTxt);\r\n }\r\n }\r\n\r\n destroy(){\r\n var tf = this.tf;\r\n if(!tf.hasGrid){\r\n return;\r\n }\r\n if(!this.rowsCounterSpan){\r\n return;\r\n }\r\n\r\n if(!this.rowsCounterTgtId && this.rowsCounterDiv){\r\n //IE only: clears all for sure\r\n if(Helpers.isIE()){\r\n this.rowsCounterDiv.outerHTML = '';\r\n } else {\r\n this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv);\r\n }\r\n } else {\r\n Dom.id( this.rowsCounterTgtId ).innerHTML = '';\r\n }\r\n this.rowsCounterSpan = null;\r\n this.rowsCounterDiv = null;\r\n }\r\n}"]} \ No newline at end of file diff --git a/src/string.js b/src/string.js index ff0bface..0bf21372 100644 --- a/src/string.js +++ b/src/string.js @@ -1,50 +1,50 @@ -/** - * String utilities - */ +define(["exports"], function (exports) { + "use strict"; -define(function () { - 'use strict'; + /** + * String utilities + */ - var Str = {}; + var Str = {}; - Str.lower = function(text){ - return text.toLowerCase(); - }; + Str.lower = function (text) { + return text.toLowerCase(); + }; - Str.upper = function(text){ - return text.toUpperCase(); - }; + Str.upper = function (text) { + return text.toUpperCase(); + }; - Str.trim = function(text){ - if (text.trim){ - return text.trim(); - } - return text.replace(/^\s*|\s*$/g, ''); - }; + Str.trim = function (text) { + if (text.trim) { + return text.trim(); + } + return text.replace(/^\s*|\s*$/g, ""); + }; - Str.isEmpty = function(text){ - return this.trim(text) === ''; - }; + Str.isEmpty = function (text) { + return this.trim(text) === ""; + }; - Str.rgxEsc = function(text){ - function escape(e){ - var a = new RegExp('\\'+e,'g'); - text = text.replace(a,'\\'+e); - } + Str.rgxEsc = function (text) { + function escape(e) { + var a = new RegExp("\\" + e, "g"); + text = text.replace(a, "\\" + e); + } - var chars = ['\\','[','^','$','.','|','?','*','+','(',')']; - for(var e=0; e + + + + TableFilter alternate rows tests + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FromDestinationRoad Distance (km)By Air (hrs)By Rail (hrs)
SydneyAdelaide14121.425.3
SydneyBrisbane9821.516
SydneyCanberra286.64.3
SydneyMelbourne8721.110.5
AdelaidePerth27813.138
AdelaideAlice Springs1533220.25
AdelaideBrisbane20452.1540
+ + + +
+
+ + \ No newline at end of file diff --git a/test/test-rows-counter.js b/test/test-rows-counter.js new file mode 100644 index 00000000..f1670701 --- /dev/null +++ b/test/test-rows-counter.js @@ -0,0 +1,26 @@ +requirejs(['test-config', '../src/core'], function(config, TableFilter){ + + QUnit.start(); + + var dom = require('dom'), + RowsCounter = require('modules/rowsCounter').RowsCounter; + + var tf = new TableFilter('demo', { + rows_counter: true + }); + tf.init(); + + module('Sanity checks'); + test('RowsCounter component', function() { + deepEqual(tf.Cpt.rowsCounter instanceof RowsCounter, true, 'RowsCounter constructor'); + notEqual(tf.Cpt.rowsCounter, null, 'RowsCounter instanciated'); + equal(tf.Cpt.rowsCounter.rowsCounterSpan.innerHTML, 7, 'Counter value'); + }); + + test('RowsCounter component with paging', function() { + tf.AddPaging(); + equal(tf.Cpt.rowsCounter.rowsCounterSpan.innerHTML, '1-7 / 7', 'Counter value with paging'); + tf.RemovePaging(); + }); + +});