diff --git a/dist/filtergrid.css b/dist/filtergrid.css index daf9a291..107a8cbd 100644 --- a/dist/filtergrid.css +++ b/dist/filtergrid.css @@ -1,6 +1,6 @@ /*------------------------------------------------------------------------ - TableFilter stylesheet by Max Guglielmi - - (build date: Sat Dec 13 2014 20:02:51) + - (build date: Sat Dec 13 2014 09:10:14) - Edit below for your projects' needs ------------------------------------------------------------------------*/ diff --git a/src/array.js.map b/src/array.js.map index cc5b2ba6..30bb7e54 100644 --- a/src/array.js.map +++ b/src/array.js.map @@ -1 +1 @@ -{"version":3,"sources":["src-es6/array.js"],"names":[],"mappings":";;;MAIQ,GAAG,WAAH,GAAG;;;MAEP,GAAG,GAAG;AACN,mBAAc,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAClC,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,IAAI,CAAC;SACf;OACJ;AACD,aAAO,KAAK,CAAC;;AAEjB,4BAAuB,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC;AAC3C,UAAI,KAAK,GAAG,aAAa;AACzB,WAAK,IAAI,CAAC,UAAM,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC5B,YAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,EAAC;AAC9C,iBAAO,CAAC,CAAC;SACZ;OACJ;AACD,aAAO,CAAC,CAAC,CAAC;;GAEjB,CAAC;;SAEK,CAAC,GAAG,GAAG,GAAG,CAAC","file":"src-es6/array.js","sourcesContent":["/**\r\n * Array utilities\r\n */\r\n\r\nimport {Str} from 'string';\r\n\r\nvar Arr = {\r\n has: function(arr, val, caseSensitive){\r\n var sCase = caseSensitive===undefined ? false : caseSensitive;\r\n for (var i=0; i2){\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 +{"version":3,"sources":["src-es6/date.js"],"names":[],"mappings":"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","file":"src-es6/date.js","sourcesContent":["/**\n * Date utilities\n */\n\nvar DateHelper = {\n isValid: function(dateStr, format){\n if(!format) {\n format = 'DMY';\n }\n format = format.toUpperCase();\n if(format.length != 3) {\n if(format==='DDMMMYYYY'){\n var d = this.format(dateStr, format);\n dateStr = d.getDate() +'/'+ (d.getMonth()+1) +'/'+\n d.getFullYear();\n format = 'DMY';\n }\n }\n if((format.indexOf('M') === -1) || (format.indexOf('D') === -1) ||\n (format.indexOf('Y') === -1)){\n format = 'DMY';\n }\n var reg1, reg2;\n // If the year is first\n if(format.substring(0, 1) == 'Y') {\n reg1 = /^\\d{2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$/;\n reg2 = /^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$/;\n } else if(format.substring(1, 2) == 'Y') { // If the year is second\n reg1 = /^\\d{1,2}(\\-|\\/|\\.)\\d{2}\\1\\d{1,2}$/;\n reg2 = /^\\d{1,2}(\\-|\\/|\\.)\\d{4}\\1\\d{1,2}$/;\n } else { // The year must be third\n reg1 = /^\\d{1,2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{2}$/;\n reg2 = /^\\d{1,2}(\\-|\\/|\\.)\\d{1,2}\\1\\d{4}$/;\n }\n // If it doesn't conform to the right format (with either a 2 digit year or\n // 4 digit year), fail\n if(reg1.test(dateStr) === false && reg2.test(dateStr) === false) {\n return false;\n }\n // Split into 3 parts based on what the divider was\n var parts = dateStr.split(RegExp.$1);\n var mm, dd, yy;\n // Check to see if the 3 parts end up making a valid date\n if(format.substring(0, 1) === 'M'){\n mm = parts[0];\n } else if(format.substring(1, 2) === 'M'){\n mm = parts[1];\n } else {\n mm = parts[2];\n }\n if(format.substring(0, 1) === 'D'){\n dd = parts[0];\n } else if(format.substring(1, 2) === 'D'){\n dd = parts[1];\n } else {\n dd = parts[2];\n }\n if(format.substring(0, 1) === 'Y'){\n yy = parts[0];\n } else if(format.substring(1, 2) === 'Y'){\n yy = parts[1];\n } else {\n yy = parts[2];\n }\n if(parseInt(yy, 10) <= 50){\n yy = (parseInt(yy, 10) + 2000).toString();\n }\n if(parseInt(yy, 10) <= 99){\n yy = (parseInt(yy, 10) + 1900).toString();\n }\n var dt = new Date(\n parseInt(yy, 10), parseInt(mm, 10)-1, parseInt(dd, 10),\n 0, 0, 0, 0);\n if(parseInt(dd, 10) != dt.getDate()){\n return false;\n }\n if(parseInt(mm, 10)-1 != dt.getMonth()){\n return false;\n }\n return true;\n },\n format: function(dateStr, format){\n if(!format){\n format = 'DMY';\n }\n if(!dateStr || dateStr === ''){\n return new Date(1001, 0, 1);\n }\n var oDate, parts;\n\n function y2kDate(yr){\n if(yr === undefined){\n return 0;\n }\n if(yr.length>2){\n return yr;\n }\n var y;\n //>50 belong to 1900\n if(yr <= 99 && yr>50){\n y = '19' + yr;\n }\n //<50 belong to 2000\n if(yr<50 || yr === '00'){\n y = '20' + yr;\n }\n return y;\n }\n\n function mmm2mm(mmm){\n if(mmm === undefined){\n return 0;\n }\n var mondigit;\n var MONTH_NAMES = [\n 'january','february','march','april','may','june','july',\n 'august','september','october','november','december',\n 'jan','feb','mar','apr','may','jun','jul','aug','sep','oct',\n 'nov','dec'\n ];\n for(var m_i=0; m_i < MONTH_NAMES.length; m_i++){\n var month_name = MONTH_NAMES[m_i];\n if (mmm.toLowerCase() === month_name){\n mondigit = m_i+1;\n break;\n }\n }\n if(mondigit > 11 || mondigit < 23){\n mondigit = mondigit - 12;\n }\n if(mondigit < 1 || mondigit > 12){\n return 0;\n }\n return mondigit;\n }\n\n switch(format.toUpperCase()){\n case 'DDMMMYYYY':\n parts = dateStr.replace(/[- \\/.]/g,' ').split(' ');\n oDate = new Date(y2kDate(parts[2]),mmm2mm(parts[1])-1,parts[0]);\n break;\n case 'DMY':\n parts = dateStr.replace(\n /^(0?[1-9]|[12][0-9]|3[01])([- \\/.])(0?[1-9]|1[012])([- \\/.])((\\d\\d)?\\d\\d)$/,'$1 $3 $5').split(' ');\n oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);\n break;\n case 'MDY':\n parts = dateStr.replace(\n /^(0?[1-9]|1[012])([- \\/.])(0?[1-9]|[12][0-9]|3[01])([- \\/.])((\\d\\d)?\\d\\d)$/,'$1 $3 $5').split(' ');\n oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]);\n break;\n case 'YMD':\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(' ');\n oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]);\n break;\n default: //in case format is not correct\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(' ');\n oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);\n break;\n }\n return oDate;\n }\n};\n\nexports.DateHelper = DateHelper;\n"]} \ No newline at end of file diff --git a/src/dom.js.map b/src/dom.js.map index 89d33d92..6ce71826 100644 --- a/src/dom.js.map +++ b/src/dom.js.map @@ -1 +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]+>/g, '');\n s = s.replace(/^\\s+/, '').replace(/\\s+$/, '');\n return s;\n};\n\n/**\n * Creates an html element with given collection of attributes\n * @param {String} tag a string of the html tag to create\n * @param {Array} an undetermined number of arrays containing the with 2\n * items, the attribute name and its value ['id','myId']\n * @return {Object} created element\n */\nDom.create = function(tag){\n if(!tag || tag===''){\n return;\n }\n\n var el = document.createElement(tag),\n args = arguments;\n\n if(args.length > 1){\n for(var i=0; i maxValue ? parseFloat(cvalue) : maxValue; - } - } - } - } //for j - if (meanFlag === 1) { - meanValue = sumValue / nbvalues; + if (!isNaN(cvalue)) { + nbvalues++; + if (sumFlag === 1 || meanFlag === 1) { + sumValue += parseFloat(cvalue); } - if (medFlag === 1) { - var aux = 0; - if (nbvalues % 2 === 1) { - aux = Math.floor(nbvalues / 2); - medValue = theList[aux]; + if (minFlag === 1) { + if (minValue === null) { + minValue = parseFloat(cvalue); } else { - medValue = (theList[nbvalues / 2] + theList[((nbvalues / 2) - 1)]) / 2; + minValue = parseFloat(cvalue) < minValue ? parseFloat(cvalue) : minValue; } } - var posa; - if (q1Flag === 1) { - posa = 0; - posa = Math.floor(nbvalues / 4); - if (4 * posa == nbvalues) { - q1Value = (theList[posa - 1] + theList[posa]) / 2; + if (maxFlag === 1) { + if (maxValue === null) { + maxValue = parseFloat(cvalue); } else { - q1Value = theList[posa]; - } - } - if (q3Flag === 1) { - posa = 0; - var posb = 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]; + maxValue = parseFloat(cvalue) > maxValue ? 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; + } + } + var posa; + if (q1Flag === 1) { + posa = 0; + posa = Math.floor(nbvalues / 4); + if (4 * posa == nbvalues) { + q1Value = (theList[posa - 1] + theList[posa]) / 2; + } else { + q1Value = theList[posa]; + } + } + if (q3Flag === 1) { + posa = 0; + var posb = 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; - } + 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 = !isNaN(decThisCol[i]) ? decThisCol[i] : 2; + var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2; - //if outputType is defined - if (oTypeThisCol && result) { - result = result.toFixed(precision); + //if outputType is defined + if (oTypeThisCol && result) { + result = result.toFixed(precision); - if (Dom.id(labThisCol[i])) { - switch (Str.lower(oTypeThisCol)) { - case "innerhtml": - if (isNaN(result) || !isFinite(result) || nbvalues === 0) { - Dom.id(labThisCol[i]).innerHTML = "."; - } else { - Dom.id(labThisCol[i]).innerHTML = result; - } - break; - case "setvalue": - Dom.id(labThisCol[i]).value = result; - break; - case "createtextnode": - var oldnode = Dom.id(labThisCol[i]).firstChild; - var txtnode = Dom.text(result); - Dom.id(labThisCol[i]).replaceChild(txtnode, oldnode); - break; - } //switch - } - } else { - try { + if (Dom.id(labThisCol[i])) { + switch (Str.lower(oTypeThisCol)) { + case "innerhtml": if (isNaN(result) || !isFinite(result) || nbvalues === 0) { Dom.id(labThisCol[i]).innerHTML = "."; } else { - Dom.id(labThisCol[i]).innerHTML = result.toFixed(precision); + Dom.id(labThisCol[i]).innerHTML = result; } - } catch (e) {} //catch - } //else - } //for i - - // row(s) with result are always visible - var totRow = totRowIndex && totRowIndex[ucol] ? row[totRowIndex[ucol]] : null; - if (totRow) { - totRow.style.display = ""; + break; + case "setvalue": + Dom.id(labThisCol[i]).value = result; + break; + case "createtextnode": + var oldnode = Dom.id(labThisCol[i]).firstChild; + var txtnode = Dom.text(result); + Dom.id(labThisCol[i]).replaceChild(txtnode, oldnode); + break; + } //switch } - } //for ucol - } //if typeof + } else { + try { + if (isNaN(result) || !isFinite(result) || nbvalues === 0) { + Dom.id(labThisCol[i]).innerHTML = "."; + } else { + Dom.id(labThisCol[i]).innerHTML = result.toFixed(precision); + } + } catch (e) {} //catch + } //else + } //for i - if (this.tf.onAfterOperation) { - this.tf.onAfterOperation.call(null, this.tf); + // row(s) with result are always visible + var totRow = totRowIndex && totRowIndex[ucol] ? row[totRowIndex[ucol]] : null; + if (totRow) { + totRow.style.display = ""; } - } + } //for ucol + } //if typeof + + if (this.tf.onAfterOperation) { + this.tf.onAfterOperation.call(null, this.tf); } - }); + }; return ColOps; })(); diff --git a/src/modules/colOps.js.map b/src/modules/colOps.js.map index 48c9a61a..ccd44b3f 100644 --- a/src/modules/colOps.js.map +++ b/src/modules/colOps.js.map @@ -1 +1 @@ -{"version":3,"sources":["src-es6/modules/colOps.js"],"names":[],"mappings":"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","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 +{"version":3,"sources":["src-es6/modules/colOps.js"],"names":[],"mappings":"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","file":"src-es6/modules/colOps.js","sourcesContent":["import {Dom} from '../dom';\nimport {Str} from '../string';\n\nexport class ColOps{\n\n /**\n * Column calculations\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n var f = tf.fObj;\n this.colOperation = f.col_operation;\n\n this.tf = tf;\n }\n\n /**\n * Calculates columns' values\n * Configuration options are stored in 'colOperation' property\n * - 'id' contains ids of elements showing result (array)\n * - 'col' contains the columns' indexes (array)\n * - 'operation' contains operation type (array, values: 'sum', 'mean',\n * 'min', 'max', 'median', 'q1', 'q3')\n * - 'write_method' array defines which method to use for displaying the\n * result (innerHTML, setValue, createTextNode) - default: 'innerHTML'\n * - 'tot_row_index' defines in which row results are displayed\n * (integers array)\n *\n * - changes made by Nuovella:\n * (1) optimized the routine (now it will only process each column once),\n * (2) added calculations for the median, lower and upper quartile.\n */\n calc() {\n if(!this.tf.isFirstLoad && !this.tf.hasGrid){\n return;\n }\n\n if(this.tf.onBeforeOperation){\n this.tf.onBeforeOperation.call(null, this.tf);\n }\n\n var colOperation = this.colOperation,\n labelId = colOperation.id,\n colIndex = colOperation.col,\n operation = colOperation.operation,\n outputType = colOperation.write_method,\n totRowIndex = colOperation.tot_row_index,\n excludeRow = colOperation.exclude_row,\n decimalPrecision = colOperation.decimal_precision !== undefined ?\n colOperation.decimal_precision : 2;\n\n //nuovella: determine unique list of columns to operate on\n var ucolIndex = [],\n ucolMax = 0;\n ucolIndex[ucolMax] = colIndex[0];\n\n for(var ii=1; ii maxValue ?\n parseFloat( cvalue ): maxValue;\n }\n }\n }\n }//for j\n if(meanFlag===1){\n meanValue = sumValue/nbvalues;\n }\n if(medFlag===1){\n var aux = 0;\n if(nbvalues%2 === 1){\n aux = Math.floor(nbvalues/2);\n medValue = theList[aux];\n } else{\n medValue =\n (theList[nbvalues/2] + theList[((nbvalues/2)-1)])/2;\n }\n }\n var posa;\n if(q1Flag===1){\n posa=0.0;\n posa = Math.floor(nbvalues/4);\n if(4*posa == nbvalues){\n q1Value = (theList[posa-1] + theList[posa])/2;\n } else {\n q1Value = theList[posa];\n }\n }\n if (q3Flag===1){\n posa=0.0;\n var posb=0.0;\n posa = Math.floor(nbvalues/4);\n if (4*posa === nbvalues){\n posb = 3*posa;\n q3Value = (theList[posb] + theList[posb-1])/2;\n } else {\n q3Value = theList[nbvalues-posa-1];\n }\n }\n\n for(var i=0; i<=mThisCol; i++){\n switch( opsThisCol[i] ){\n case 'mean':\n result=meanValue;\n break;\n case 'sum':\n result=sumValue;\n break;\n case 'min':\n result=minValue;\n break;\n case 'max':\n result=maxValue;\n break;\n case 'median':\n result=medValue;\n break;\n case 'q1':\n result=q1Value;\n break;\n case 'q3':\n result=q3Value;\n break;\n }\n\n var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;\n\n //if outputType is defined\n if(oTypeThisCol && result){\n result = result.toFixed( precision );\n\n if(Dom.id(labThisCol[i])){\n switch( Str.lower(oTypeThisCol) ){\n case 'innerhtml':\n if (isNaN(result) || !isFinite(result) ||\n nbvalues===0){\n Dom.id(labThisCol[i]).innerHTML = '.';\n } else{\n Dom.id(labThisCol[i]).innerHTML = result;\n }\n break;\n case 'setvalue':\n Dom.id( labThisCol[i] ).value = result;\n break;\n case 'createtextnode':\n var oldnode = Dom.id(labThisCol[i])\n .firstChild;\n var txtnode = Dom.text(result);\n Dom.id(labThisCol[i])\n .replaceChild(txtnode, oldnode);\n break;\n }//switch\n }\n } else {\n try{\n if(isNaN(result) || !isFinite(result) ||\n nbvalues===0){\n Dom.id(labThisCol[i]).innerHTML = '.';\n } else {\n Dom.id(labThisCol[i]).innerHTML =\n result.toFixed(precision);\n }\n } catch(e) {}//catch\n }//else\n }//for i\n\n // row(s) with result are always visible\n var totRow = totRowIndex && totRowIndex[ucol] ?\n row[totRowIndex[ucol]] : null;\n if(totRow){\n totRow.style.display = '';\n }\n }//for ucol\n }//if typeof\n\n if(this.tf.onAfterOperation){\n this.tf.onAfterOperation.call(null, this.tf);\n }\n }\n\n}"]} \ No newline at end of file diff --git a/src/modules/gridLayout.js b/src/modules/gridLayout.js index 7f6c39b6..86772c35 100644 --- a/src/modules/gridLayout.js +++ b/src/modules/gridLayout.js @@ -1,17 +1,18 @@ define(["exports", "../dom", "../types", "../helpers", "../event"], function (exports, _dom, _types, _helpers, _event) { "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 Event = _event.Event; var GridLayout = (function () { - var GridLayout = function GridLayout(tf) { + var GridLayout = + + /** + * Grid layout, table with fixed headers + * @param {Object} tf TableFilter instance + */ + function GridLayout(tf) { var f = tf.fObj; //defines grid width @@ -44,345 +45,338 @@ define(["exports", "../dom", "../types", "../helpers", "../event"], function (ex this.tf = tf; }; - _classProps(GridLayout, null, { - init: { - writable: true, - value: function () { - var tf = this.tf; - var f = tf.fObj; - var tbl = tf.tbl; + GridLayout.prototype.init = function () { + var tf = this.tf; + var f = tf.fObj; + var tbl = tf.tbl; - if (!tf.gridLayout) { - return; - } + if (!tf.gridLayout) { + return; + } - tf.isExternalFlt = true; + tf.isExternalFlt = true; - // default width of 100px if column widths not set - if (!tf.hasColWidth) { - tf.colWidth = []; - for (var k = 0; k < tf.nbCells; k++) { - var colW, cell = tbl.rows[this.gridHeadRowIndex].cells[k]; - if (cell.width !== "") { - colW = cell.width; - } else if (cell.style.width !== "") { - colW = parseInt(cell.style.width, 10); - } else { - colW = this.gridDefaultColWidth; - } - tf.colWidth[k] = colW; - } - tf.hasColWidth = true; - } - tf.SetColWidths(this.gridHeadRowIndex); - - var tblW; //initial table width - if (tbl.width !== "") { - tblW = tbl.width; - } else if (tbl.style.width !== "") { - tblW = parseInt(tbl.style.width, 10); + // default width of 100px if column widths not set + if (!tf.hasColWidth) { + tf.colWidth = []; + for (var k = 0; k < tf.nbCells; k++) { + var colW, cell = tbl.rows[this.gridHeadRowIndex].cells[k]; + if (cell.width !== "") { + colW = cell.width; + } else if (cell.style.width !== "") { + colW = parseInt(cell.style.width, 10); } else { - tblW = tbl.clientWidth; + colW = this.gridDefaultColWidth; } - - //Main container: it will contain all the elements - this.tblMainCont = Dom.create("div", ["id", tf.prfxMainTblCont + tf.id]); - this.tblMainCont.className = this.gridMainContCssClass; - if (this.gridWidth) { - this.tblMainCont.style.width = this.gridWidth; - } - tbl.parentNode.insertBefore(this.tblMainCont, tbl); - - //Table container: div wrapping content table - this.tblCont = Dom.create("div", ["id", tf.prfxTblCont + tf.id]); - this.tblCont.className = this.gridContCssClass; - if (this.gridWidth) { - this.tblCont.style.width = this.gridWidth; - } - if (this.gridHeight) { - this.tblCont.style.height = this.gridHeight; - } - tbl.parentNode.insertBefore(this.tblCont, tbl); - var t = tbl.parentNode.removeChild(tbl); - this.tblCont.appendChild(t); - - //In case table width is expressed in % - if (tbl.style.width === "") { - tbl.style.width = (tf.__containsStr("%", tblW) ? tbl.clientWidth : tblW) + "px"; - } - - var d = this.tblCont.parentNode.removeChild(this.tblCont); - this.tblMainCont.appendChild(d); - - //Headers table container: div wrapping headers table - this.headTblCont = Dom.create("div", ["id", tf.prfxHeadTblCont + tf.id]); - this.headTblCont.className = this.gridHeadContCssClass; - if (this.gridWidth) { - this.headTblCont.style.width = this.gridWidth; - } - - //Headers table - this.headTbl = Dom.create("table", ["id", tf.prfxHeadTbl + tf.id]); - var tH = Dom.create("tHead"); //IE<7 needs it - - //1st row should be headers row, ids are added if not set - //Those ids are used by the sort feature - var hRow = tbl.rows[this.gridHeadRowIndex]; - var sortTriggers = []; - for (var n = 0; n < tf.nbCells; n++) { - var c = hRow.cells[n]; - var thId = c.getAttribute("id"); - if (!thId || thId === "") { - thId = tf.prfxGridTh + n + "_" + tf.id; - c.setAttribute("id", thId); - } - sortTriggers.push(thId); - } - - //Filters row is created - var filtersRow = Dom.create("tr"); - if (this.gridEnableFilters && tf.fltGrid) { - tf.externalFltTgtIds = []; - for (var j = 0; j < tf.nbCells; j++) { - var fltTdId = tf.prfxFlt + j + tf.prfxGridFltTd + tf.id; - var cl = Dom.create(tf.fltCellTag, ["id", fltTdId]); - filtersRow.appendChild(cl); - tf.externalFltTgtIds[j] = fltTdId; - } - } - //Headers row are moved from content table to headers table - for (var i = 0; i < this.gridHeadRows.length; i++) { - var headRow = tbl.rows[this.gridHeadRows[0]]; - tH.appendChild(headRow); - } - this.headTbl.appendChild(tH); - if (tf.filtersRowIndex === 0) { - tH.insertBefore(filtersRow, hRow); - } else { - tH.appendChild(filtersRow); - } - - this.headTblCont.appendChild(this.headTbl); - this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont); - - //THead needs to be removed in content table for sort feature - var thead = Dom.tag(tbl, "thead"); - if (thead.length > 0) { - tbl.removeChild(thead[0]); - } - - //Headers table style - this.headTbl.style.width = tbl.style.width; - this.headTbl.style.tableLayout = "fixed"; - tbl.style.tableLayout = "fixed"; - this.headTbl.cellPadding = tbl.cellPadding; - this.headTbl.cellSpacing = tbl.cellSpacing; - - //content table without headers needs col widths to be reset - tf.SetColWidths(); - - //Headers container width - this.headTblCont.style.width = this.tblCont.clientWidth + "px"; - - tbl.style.width = ""; - // if(Helpers.isIE()){ - // this.headTbl.style.width = ''; - // } - - //scroll synchronisation - var o = this; - - Event.add(this.tblCont, "scroll", function (evt) { - //this = scroll element - var scrollLeft = this.scrollLeft; - o.headTblCont.scrollLeft = scrollLeft; - //New pointerX calc taking into account scrollLeft - if (!o.isPointerXOverwritten) { - try { - o.Evt.pointerX = function (evt) { - var e = evt || global.event; - var bdScrollLeft = tf_StandardBody().scrollLeft + scrollLeft; - return (e.pageX + scrollLeft) || (e.clientX + bdScrollLeft); - }; - o.isPointerXOverwritten = true; - } catch (err) { - o.isPointerXOverwritten = false; - } - } - }); - - //Sort is enabled if not specified in config object - if (f.sort !== false) { - tf.sort = true; - tf.sortConfig.asyncSort = true; - tf.sortConfig.triggerIds = sortTriggers; - } - - if (this.gridEnableColResizer) { - if (!tf.hasExtensions) { - tf.extensions = { - name: ["ColumnsResizer_" + tf.id], - src: [this.gridColResizerPath], - description: ["Columns Resizing"], - initialize: [function (o) { - o.SetColsResizer("ColumnsResizer_" + o.id); - }] - }; - tf.hasExtensions = true; - } else { - if (!tf.__containsStr("colsresizer", Str.lower(tf.extensions.src.toString()))) { - tf.extensions.name.push("ColumnsResizer_" + tf.id); - tf.extensions.src.push(tf.gridColResizerPath); - tf.extensions.description.push("Columns Resizing"); - tf.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 = Dom.tag(tbl, "col").length > 0 ? true : false; - - // if(!Helpers.isIE()){ - //Col elements are enough to keep column widths after sorting and - //filtering - var createColTags = function (o) { - if (!o) { - return; - } - for (var k = (tf.nbCells - 1); k >= 0; k--) { - var col = Dom.create("col", ["id", tf.id + "_col_" + k]); - tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild); - col.style.width = tf.colWidth[k]; - o.gridColElms[k] = col; - } - o.tblHasColTag = true; - }; - if (!o.tblHasColTag) { - createColTags(o); - } else { - var cols = Dom.tag(tbl, "col"); - for (var ii = 0; ii < tf.nbCells; ii++) { - cols[ii].setAttribute("id", tf.id + "_col_" + ii); - cols[ii].style.width = tf.colWidth[ii]; - o.gridColElms.push(cols[ii]); - } - } - // } - - //IE <= 7 needs an additional row for widths as col element width is - //not enough... - // if(Helpers.isIE()){ - // var tbody = Dom.tag(tbl,'tbody'), - // r; - // if( tbody.length>0 ){ - // r = tbody[0].insertRow(0); - // } else{ - // r = tbl.insertRow(0); - // } - // r.style.height = '0px'; - // for(var x=0; x0){ - // tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0); - // } else { - // tbl.moveRow(o.leadColWidthsRow.rowIndex, 0); - // } - // } - // if(afterSortFn){ - // afterSortFn.call(null, o, colIndex); - // } - // }; - // } - - var afterColResizedFn = Types.isFn(f.on_after_col_resized) ? f.on_after_col_resized : null; - f.on_after_col_resized = function (o, colIndex) { - if (!colIndex) { - 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(Helpers.isIE()){ - // tbl.style.width = o.headTbl.clientWidth+'px'; - // } - - if (thCW != tdCW /*&& !Helpers.isIE()*/) { - o.headTbl.style.width = tbl.clientWidth + "px"; - } - - if (afterColResizedFn) { - afterColResizedFn.call(null, o, colIndex); - } - }; - - if (tbl.clientWidth !== this.headTbl.clientWidth) { - tbl.style.width = this.headTbl.clientWidth + "px"; - } - - // Re-adjust reference row - //tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0; + tf.colWidth[k] = colW; } - }, - destroy: { - writable: true, - value: function () { - var tf = this.tf; - var tbl = tf.tbl; + tf.hasColWidth = true; + } + tf.SetColWidths(this.gridHeadRowIndex); - if (!tf.gridLayout) { - return; - } - var t = tbl.parentNode.removeChild(tbl); - this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont); - this.tblMainCont.parentNode.removeChild(this.tblMainCont); + var tblW; //initial table width + if (tbl.width !== "") { + tblW = tbl.width; + } else if (tbl.style.width !== "") { + tblW = parseInt(tbl.style.width, 10); + } else { + tblW = tbl.clientWidth; + } - this.tblMainCont = null; - this.headTblCont = null; - this.headTbl = null; - this.tblCont = null; + //Main container: it will contain all the elements + this.tblMainCont = Dom.create("div", ["id", tf.prfxMainTblCont + tf.id]); + this.tblMainCont.className = this.gridMainContCssClass; + if (this.gridWidth) { + this.tblMainCont.style.width = this.gridWidth; + } + tbl.parentNode.insertBefore(this.tblMainCont, tbl); - tbl.outerHTML = tf.sourceTblHtml; - //needed to keep reference of table element - tbl = Dom.id(tf.id); + //Table container: div wrapping content table + this.tblCont = Dom.create("div", ["id", tf.prfxTblCont + tf.id]); + this.tblCont.className = this.gridContCssClass; + if (this.gridWidth) { + this.tblCont.style.width = this.gridWidth; + } + if (this.gridHeight) { + this.tblCont.style.height = this.gridHeight; + } + tbl.parentNode.insertBefore(this.tblCont, tbl); + var t = tbl.parentNode.removeChild(tbl); + this.tblCont.appendChild(t); + + //In case table width is expressed in % + if (tbl.style.width === "") { + tbl.style.width = (tf.__containsStr("%", tblW) ? tbl.clientWidth : tblW) + "px"; + } + + var d = this.tblCont.parentNode.removeChild(this.tblCont); + this.tblMainCont.appendChild(d); + + //Headers table container: div wrapping headers table + this.headTblCont = Dom.create("div", ["id", tf.prfxHeadTblCont + tf.id]); + this.headTblCont.className = this.gridHeadContCssClass; + if (this.gridWidth) { + this.headTblCont.style.width = this.gridWidth; + } + + //Headers table + this.headTbl = Dom.create("table", ["id", tf.prfxHeadTbl + tf.id]); + var tH = Dom.create("tHead"); //IE<7 needs it + + //1st row should be headers row, ids are added if not set + //Those ids are used by the sort feature + var hRow = tbl.rows[this.gridHeadRowIndex]; + var sortTriggers = []; + for (var n = 0; n < tf.nbCells; n++) { + var c = hRow.cells[n]; + var thId = c.getAttribute("id"); + if (!thId || thId === "") { + thId = tf.prfxGridTh + n + "_" + tf.id; + c.setAttribute("id", thId); + } + sortTriggers.push(thId); + } + + //Filters row is created + var filtersRow = Dom.create("tr"); + if (this.gridEnableFilters && tf.fltGrid) { + tf.externalFltTgtIds = []; + for (var j = 0; j < tf.nbCells; j++) { + var fltTdId = tf.prfxFlt + j + tf.prfxGridFltTd + tf.id; + var cl = Dom.create(tf.fltCellTag, ["id", fltTdId]); + filtersRow.appendChild(cl); + tf.externalFltTgtIds[j] = fltTdId; } } - }); + //Headers row are moved from content table to headers table + for (var i = 0; i < this.gridHeadRows.length; i++) { + var headRow = tbl.rows[this.gridHeadRows[0]]; + tH.appendChild(headRow); + } + this.headTbl.appendChild(tH); + if (tf.filtersRowIndex === 0) { + tH.insertBefore(filtersRow, hRow); + } else { + tH.appendChild(filtersRow); + } + + this.headTblCont.appendChild(this.headTbl); + this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont); + + //THead needs to be removed in content table for sort feature + var thead = Dom.tag(tbl, "thead"); + if (thead.length > 0) { + tbl.removeChild(thead[0]); + } + + //Headers table style + this.headTbl.style.width = tbl.style.width; + this.headTbl.style.tableLayout = "fixed"; + tbl.style.tableLayout = "fixed"; + this.headTbl.cellPadding = tbl.cellPadding; + this.headTbl.cellSpacing = tbl.cellSpacing; + + //content table without headers needs col widths to be reset + tf.SetColWidths(); + + //Headers container width + this.headTblCont.style.width = this.tblCont.clientWidth + "px"; + + tbl.style.width = ""; + // if(Helpers.isIE()){ + // this.headTbl.style.width = ''; + // } + + //scroll synchronisation + var o = this; + + Event.add(this.tblCont, "scroll", function (evt) { + //this = scroll element + var scrollLeft = this.scrollLeft; + o.headTblCont.scrollLeft = scrollLeft; + //New pointerX calc taking into account scrollLeft + if (!o.isPointerXOverwritten) { + try { + o.Evt.pointerX = function (evt) { + var e = evt || global.event; + var bdScrollLeft = tf_StandardBody().scrollLeft + scrollLeft; + return (e.pageX + scrollLeft) || (e.clientX + bdScrollLeft); + }; + o.isPointerXOverwritten = true; + } catch (err) { + o.isPointerXOverwritten = false; + } + } + }); + + //Sort is enabled if not specified in config object + if (f.sort !== false) { + tf.sort = true; + tf.sortConfig.asyncSort = true; + tf.sortConfig.triggerIds = sortTriggers; + } + + if (this.gridEnableColResizer) { + if (!tf.hasExtensions) { + tf.extensions = { + name: ["ColumnsResizer_" + tf.id], + src: [this.gridColResizerPath], + description: ["Columns Resizing"], + initialize: [function (o) { + o.SetColsResizer("ColumnsResizer_" + o.id); + }] + }; + tf.hasExtensions = true; + } else { + if (!tf.__containsStr("colsresizer", Str.lower(tf.extensions.src.toString()))) { + tf.extensions.name.push("ColumnsResizer_" + tf.id); + tf.extensions.src.push(tf.gridColResizerPath); + tf.extensions.description.push("Columns Resizing"); + tf.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 = Dom.tag(tbl, "col").length > 0 ? true : false; + + // if(!Helpers.isIE()){ + //Col elements are enough to keep column widths after sorting and + //filtering + var createColTags = function (o) { + if (!o) { + return; + } + for (var k = (tf.nbCells - 1); k >= 0; k--) { + var col = Dom.create("col", ["id", tf.id + "_col_" + k]); + tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild); + col.style.width = tf.colWidth[k]; + o.gridColElms[k] = col; + } + o.tblHasColTag = true; + }; + if (!o.tblHasColTag) { + createColTags(o); + } else { + var cols = Dom.tag(tbl, "col"); + for (var ii = 0; ii < tf.nbCells; ii++) { + cols[ii].setAttribute("id", tf.id + "_col_" + ii); + cols[ii].style.width = tf.colWidth[ii]; + o.gridColElms.push(cols[ii]); + } + } + // } + + //IE <= 7 needs an additional row for widths as col element width is + //not enough... + // if(Helpers.isIE()){ + // var tbody = Dom.tag(tbl,'tbody'), + // r; + // if( tbody.length>0 ){ + // r = tbody[0].insertRow(0); + // } else{ + // r = tbl.insertRow(0); + // } + // r.style.height = '0px'; + // for(var x=0; x0){ + // tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0); + // } else { + // tbl.moveRow(o.leadColWidthsRow.rowIndex, 0); + // } + // } + // if(afterSortFn){ + // afterSortFn.call(null, o, colIndex); + // } + // }; + // } + + var afterColResizedFn = Types.isFn(f.on_after_col_resized) ? f.on_after_col_resized : null; + f.on_after_col_resized = function (o, colIndex) { + if (!colIndex) { + 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(Helpers.isIE()){ + // tbl.style.width = o.headTbl.clientWidth+'px'; + // } + + if (thCW != tdCW /*&& !Helpers.isIE()*/) { + o.headTbl.style.width = tbl.clientWidth + "px"; + } + + if (afterColResizedFn) { + afterColResizedFn.call(null, o, colIndex); + } + }; + + if (tbl.clientWidth !== this.headTbl.clientWidth) { + tbl.style.width = this.headTbl.clientWidth + "px"; + } + + // Re-adjust reference row + //tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0; + }; + + GridLayout.prototype.destroy = function () { + var tf = this.tf; + var tbl = tf.tbl; + + if (!tf.gridLayout) { + return; + } + var t = tbl.parentNode.removeChild(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; + + tbl.outerHTML = tf.sourceTblHtml; + //needed to keep reference of table element + tbl = Dom.id(tf.id); + }; return GridLayout; })(); diff --git a/src/modules/gridLayout.js.map b/src/modules/gridLayout.js.map index ff6b5814..27ba79aa 100644 --- a/src/modules/gridLayout.js.map +++ b/src/modules/gridLayout.js.map @@ -1 +1 @@ -{"version":3,"sources":["src-es6/modules/gridLayout.js"],"names":[],"mappings":"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","file":"src-es6/modules/gridLayout.js","sourcesContent":["import {Dom} from '../dom';\r\nimport {Types} from '../types';\r\nimport {Helpers} from '../helpers';\r\nimport {Event} from '../event';\r\n\r\nexport class GridLayout{\r\n\r\n /**\r\n * Grid layout, table with fixed headers\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n\r\n //defines grid width\r\n this.gridWidth = f.grid_width || null;\r\n //defines grid height\r\n this.gridHeight = f.grid_height || null;\r\n //defines css class for main container\r\n this.gridMainContCssClass = f.grid_cont_css_class || 'grd_Cont';\r\n //defines css class for div containing table\r\n this.gridContCssClass = f.grid_tbl_cont_css_class || 'grd_tblCont';\r\n //defines css class for div containing headers' table\r\n this.gridHeadContCssClass = f.grid_tblHead_cont_css_class ||\r\n 'grd_headTblCont';\r\n //defines css class for div containing rows counter, paging etc.\r\n this.gridInfDivCssClass = f.grid_inf_grid_css_class || 'grd_inf';\r\n //defines which row contains column headers\r\n this.gridHeadRowIndex = f.grid_headers_row_index || 0;\r\n //array of headers row indexes to be placed in header table\r\n this.gridHeadRows = f.grid_headers_rows || [0];\r\n //generate filters in table headers\r\n this.gridEnableFilters = f.grid_enable_default_filters!==undefined ?\r\n f.grid_enable_default_filters : true;\r\n //default col width\r\n this.gridDefaultColWidth = f.grid_default_col_width || '100px';\r\n //enables/disables columns resizer\r\n this.gridEnableColResizer = f.grid_enable_cols_resizer!==undefined ?\r\n f.grid_enable_cols_resizer : false;\r\n //defines col resizer script path\r\n this.gridColResizerPath = f.grid_cont_col_resizer_path ||\r\n this.basePath+'TFExt_ColsResizer/TFExt_ColsResizer.js';\r\n\r\n this.gridColElms = [];\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * Generates a grid with fixed headers\r\n */\r\n init(){\r\n var tf = this.tf;\r\n var f = tf.fObj;\r\n var tbl = tf.tbl;\r\n\r\n if(!tf.gridLayout){\r\n return;\r\n }\r\n\r\n tf.isExternalFlt = true;\r\n\r\n // default width of 100px if column widths not set\r\n if(!tf.hasColWidth){\r\n tf.colWidth = [];\r\n for(var k=0; k0){\r\n tbl.removeChild(thead[0]);\r\n }\r\n\r\n //Headers table style\r\n this.headTbl.style.width = tbl.style.width;\r\n this.headTbl.style.tableLayout = 'fixed';\r\n tbl.style.tableLayout = 'fixed';\r\n this.headTbl.cellPadding = tbl.cellPadding;\r\n this.headTbl.cellSpacing = tbl.cellSpacing;\r\n\r\n //content table without headers needs col widths to be reset\r\n tf.SetColWidths();\r\n\r\n //Headers container width\r\n this.headTblCont.style.width = this.tblCont.clientWidth+'px';\r\n\r\n tbl.style.width = '';\r\n // if(Helpers.isIE()){\r\n // this.headTbl.style.width = '';\r\n // }\r\n\r\n //scroll synchronisation\r\n var o = this;\r\n\r\n Event.add(this.tblCont, 'scroll', function(evt){\r\n //this = scroll element\r\n var scrollLeft = this.scrollLeft;\r\n o.headTblCont.scrollLeft = scrollLeft;\r\n //New pointerX calc taking into account scrollLeft\r\n if(!o.isPointerXOverwritten){\r\n try{\r\n o.Evt.pointerX = function(evt){\r\n var e = evt || global.event;\r\n var bdScrollLeft = tf_StandardBody().scrollLeft +\r\n scrollLeft;\r\n return (e.pageX + scrollLeft) ||\r\n (e.clientX + bdScrollLeft);\r\n };\r\n o.isPointerXOverwritten = true;\r\n } catch(err) {\r\n o.isPointerXOverwritten = false;\r\n }\r\n }\r\n });\r\n\r\n //Sort is enabled if not specified in config object\r\n if(f.sort !== false){\r\n tf.sort = true;\r\n tf.sortConfig.asyncSort = true;\r\n tf.sortConfig.triggerIds = sortTriggers;\r\n }\r\n\r\n if(this.gridEnableColResizer){\r\n if(!tf.hasExtensions){\r\n tf.extensions = {\r\n name:['ColumnsResizer_'+tf.id],\r\n src:[this.gridColResizerPath],\r\n description:['Columns Resizing'],\r\n initialize:[function(o){\r\n o.SetColsResizer('ColumnsResizer_'+o.id);}]\r\n };\r\n tf.hasExtensions = true;\r\n } else {\r\n if(!tf.__containsStr(\r\n 'colsresizer',\r\n Str.lower(tf.extensions.src.toString())) ){\r\n tf.extensions.name.push('ColumnsResizer_'+tf.id);\r\n tf.extensions.src.push(tf.gridColResizerPath);\r\n tf.extensions.description.push('Columns Resizing');\r\n tf.extensions.initialize.push(function(o){\r\n o.SetColsResizer('ColumnsResizer_'+o.id);});\r\n }\r\n }\r\n }\r\n\r\n //Default columns resizer properties for grid layout\r\n f.col_resizer_cols_headers_table = this.headTbl.getAttribute('id');\r\n f.col_resizer_cols_headers_index = this.gridHeadRowIndex;\r\n f.col_resizer_width_adjustment = 0;\r\n f.col_enable_text_ellipsis = false;\r\n\r\n //Cols generation for all browsers excepted IE<=7\r\n o.tblHasColTag = Dom.tag(tbl, 'col').length > 0 ? true : false;\r\n\r\n // if(!Helpers.isIE()){\r\n //Col elements are enough to keep column widths after sorting and\r\n //filtering\r\n var createColTags = function(o){\r\n if(!o){\r\n return;\r\n }\r\n for(var k=(tf.nbCells-1); k>=0; k--){\r\n var col = Dom.create('col', ['id', tf.id+'_col_'+k]);\r\n tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);\r\n col.style.width = tf.colWidth[k];\r\n o.gridColElms[k] = col;\r\n }\r\n o.tblHasColTag = true;\r\n };\r\n if(!o.tblHasColTag){\r\n createColTags(o);\r\n } else {\r\n var cols = Dom.tag(tbl, 'col');\r\n for(var ii=0; ii0 ){\r\n // r = tbody[0].insertRow(0);\r\n // } else{\r\n // r = tbl.insertRow(0);\r\n // }\r\n // r.style.height = '0px';\r\n // for(var x=0; x0){\r\n // tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0);\r\n // } else {\r\n // tbl.moveRow(o.leadColWidthsRow.rowIndex, 0);\r\n // }\r\n // }\r\n // if(afterSortFn){\r\n // afterSortFn.call(null, o, colIndex);\r\n // }\r\n // };\r\n // }\r\n\r\n var afterColResizedFn = Types.isFn(f.on_after_col_resized) ?\r\n f.on_after_col_resized : null;\r\n f.on_after_col_resized = function(o,colIndex){\r\n if(!colIndex){\r\n return;\r\n }\r\n var w = o.crWColsRow.cells[colIndex].style.width;\r\n var col = o.gridColElms[colIndex];\r\n col.style.width = w;\r\n\r\n var thCW = o.crWColsRow.cells[colIndex].clientWidth;\r\n var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;\r\n\r\n // if(Helpers.isIE()){\r\n // tbl.style.width = o.headTbl.clientWidth+'px';\r\n // }\r\n\r\n if(thCW != tdCW /*&& !Helpers.isIE()*/){\r\n o.headTbl.style.width = tbl.clientWidth+'px';\r\n }\r\n\r\n if(afterColResizedFn){\r\n afterColResizedFn.call(null,o,colIndex);\r\n }\r\n };\r\n\r\n if(tbl.clientWidth !== this.headTbl.clientWidth){\r\n tbl.style.width = this.headTbl.clientWidth+'px';\r\n }\r\n\r\n // Re-adjust reference row\r\n //tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0;\r\n }\r\n\r\n /**\r\n * Removes the grid layout\r\n */\r\n destroy(){\r\n var tf = this.tf;\r\n var tbl = tf.tbl;\r\n\r\n if(!tf.gridLayout){\r\n return;\r\n }\r\n var t = tbl.parentNode.removeChild(tbl);\r\n this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);\r\n this.tblMainCont.parentNode.removeChild(this.tblMainCont);\r\n\r\n this.tblMainCont = null;\r\n this.headTblCont = null;\r\n this.headTbl = null;\r\n this.tblCont = null;\r\n\r\n tbl.outerHTML = tf.sourceTblHtml;\r\n //needed to keep reference of table element\r\n tbl = Dom.id(tf.id);\r\n }\r\n}"]} \ No newline at end of file +{"version":3,"sources":["src-es6/modules/gridLayout.js"],"names":[],"mappings":"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","file":"src-es6/modules/gridLayout.js","sourcesContent":["import {Dom} from '../dom';\nimport {Types} from '../types';\nimport {Helpers} from '../helpers';\nimport {Event} from '../event';\n\nexport class GridLayout{\n\n /**\n * Grid layout, table with fixed headers\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n var f = tf.fObj;\n\n //defines grid width\n this.gridWidth = f.grid_width || null;\n //defines grid height\n this.gridHeight = f.grid_height || null;\n //defines css class for main container\n this.gridMainContCssClass = f.grid_cont_css_class || 'grd_Cont';\n //defines css class for div containing table\n this.gridContCssClass = f.grid_tbl_cont_css_class || 'grd_tblCont';\n //defines css class for div containing headers' table\n this.gridHeadContCssClass = f.grid_tblHead_cont_css_class ||\n 'grd_headTblCont';\n //defines css class for div containing rows counter, paging etc.\n this.gridInfDivCssClass = f.grid_inf_grid_css_class || 'grd_inf';\n //defines which row contains column headers\n this.gridHeadRowIndex = f.grid_headers_row_index || 0;\n //array of headers row indexes to be placed in header table\n this.gridHeadRows = f.grid_headers_rows || [0];\n //generate filters in table headers\n this.gridEnableFilters = f.grid_enable_default_filters!==undefined ?\n f.grid_enable_default_filters : true;\n //default col width\n this.gridDefaultColWidth = f.grid_default_col_width || '100px';\n //enables/disables columns resizer\n this.gridEnableColResizer = f.grid_enable_cols_resizer!==undefined ?\n f.grid_enable_cols_resizer : false;\n //defines col resizer script path\n this.gridColResizerPath = f.grid_cont_col_resizer_path ||\n this.basePath+'TFExt_ColsResizer/TFExt_ColsResizer.js';\n\n this.gridColElms = [];\n\n this.tf = tf;\n }\n\n /**\n * Generates a grid with fixed headers\n */\n init(){\n var tf = this.tf;\n var f = tf.fObj;\n var tbl = tf.tbl;\n\n if(!tf.gridLayout){\n return;\n }\n\n tf.isExternalFlt = true;\n\n // default width of 100px if column widths not set\n if(!tf.hasColWidth){\n tf.colWidth = [];\n for(var k=0; k0){\n tbl.removeChild(thead[0]);\n }\n\n //Headers table style\n this.headTbl.style.width = tbl.style.width;\n this.headTbl.style.tableLayout = 'fixed';\n tbl.style.tableLayout = 'fixed';\n this.headTbl.cellPadding = tbl.cellPadding;\n this.headTbl.cellSpacing = tbl.cellSpacing;\n\n //content table without headers needs col widths to be reset\n tf.SetColWidths();\n\n //Headers container width\n this.headTblCont.style.width = this.tblCont.clientWidth+'px';\n\n tbl.style.width = '';\n // if(Helpers.isIE()){\n // this.headTbl.style.width = '';\n // }\n\n //scroll synchronisation\n var o = this;\n\n Event.add(this.tblCont, 'scroll', function(evt){\n //this = scroll element\n var scrollLeft = this.scrollLeft;\n o.headTblCont.scrollLeft = scrollLeft;\n //New pointerX calc taking into account scrollLeft\n if(!o.isPointerXOverwritten){\n try{\n o.Evt.pointerX = function(evt){\n var e = evt || global.event;\n var bdScrollLeft = tf_StandardBody().scrollLeft +\n scrollLeft;\n return (e.pageX + scrollLeft) ||\n (e.clientX + bdScrollLeft);\n };\n o.isPointerXOverwritten = true;\n } catch(err) {\n o.isPointerXOverwritten = false;\n }\n }\n });\n\n //Sort is enabled if not specified in config object\n if(f.sort !== false){\n tf.sort = true;\n tf.sortConfig.asyncSort = true;\n tf.sortConfig.triggerIds = sortTriggers;\n }\n\n if(this.gridEnableColResizer){\n if(!tf.hasExtensions){\n tf.extensions = {\n name:['ColumnsResizer_'+tf.id],\n src:[this.gridColResizerPath],\n description:['Columns Resizing'],\n initialize:[function(o){\n o.SetColsResizer('ColumnsResizer_'+o.id);}]\n };\n tf.hasExtensions = true;\n } else {\n if(!tf.__containsStr(\n 'colsresizer',\n Str.lower(tf.extensions.src.toString())) ){\n tf.extensions.name.push('ColumnsResizer_'+tf.id);\n tf.extensions.src.push(tf.gridColResizerPath);\n tf.extensions.description.push('Columns Resizing');\n tf.extensions.initialize.push(function(o){\n o.SetColsResizer('ColumnsResizer_'+o.id);});\n }\n }\n }\n\n //Default columns resizer properties for grid layout\n f.col_resizer_cols_headers_table = this.headTbl.getAttribute('id');\n f.col_resizer_cols_headers_index = this.gridHeadRowIndex;\n f.col_resizer_width_adjustment = 0;\n f.col_enable_text_ellipsis = false;\n\n //Cols generation for all browsers excepted IE<=7\n o.tblHasColTag = Dom.tag(tbl, 'col').length > 0 ? true : false;\n\n // if(!Helpers.isIE()){\n //Col elements are enough to keep column widths after sorting and\n //filtering\n var createColTags = function(o){\n if(!o){\n return;\n }\n for(var k=(tf.nbCells-1); k>=0; k--){\n var col = Dom.create('col', ['id', tf.id+'_col_'+k]);\n tbl.firstChild.parentNode.insertBefore(col, tbl.firstChild);\n col.style.width = tf.colWidth[k];\n o.gridColElms[k] = col;\n }\n o.tblHasColTag = true;\n };\n if(!o.tblHasColTag){\n createColTags(o);\n } else {\n var cols = Dom.tag(tbl, 'col');\n for(var ii=0; ii0 ){\n // r = tbody[0].insertRow(0);\n // } else{\n // r = tbl.insertRow(0);\n // }\n // r.style.height = '0px';\n // for(var x=0; x0){\n // tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0);\n // } else {\n // tbl.moveRow(o.leadColWidthsRow.rowIndex, 0);\n // }\n // }\n // if(afterSortFn){\n // afterSortFn.call(null, o, colIndex);\n // }\n // };\n // }\n\n var afterColResizedFn = Types.isFn(f.on_after_col_resized) ?\n f.on_after_col_resized : null;\n f.on_after_col_resized = function(o,colIndex){\n if(!colIndex){\n return;\n }\n var w = o.crWColsRow.cells[colIndex].style.width;\n var col = o.gridColElms[colIndex];\n col.style.width = w;\n\n var thCW = o.crWColsRow.cells[colIndex].clientWidth;\n var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;\n\n // if(Helpers.isIE()){\n // tbl.style.width = o.headTbl.clientWidth+'px';\n // }\n\n if(thCW != tdCW /*&& !Helpers.isIE()*/){\n o.headTbl.style.width = tbl.clientWidth+'px';\n }\n\n if(afterColResizedFn){\n afterColResizedFn.call(null,o,colIndex);\n }\n };\n\n if(tbl.clientWidth !== this.headTbl.clientWidth){\n tbl.style.width = this.headTbl.clientWidth+'px';\n }\n\n // Re-adjust reference row\n //tf.refRow = Helpers.isIE() ? (tf.refRow+1) : 0;\n }\n\n /**\n * Removes the grid layout\n */\n destroy(){\n var tf = this.tf;\n var tbl = tf.tbl;\n\n if(!tf.gridLayout){\n return;\n }\n var t = tbl.parentNode.removeChild(tbl);\n this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);\n this.tblMainCont.parentNode.removeChild(this.tblMainCont);\n\n this.tblMainCont = null;\n this.headTblCont = null;\n this.headTbl = null;\n this.tblCont = null;\n\n tbl.outerHTML = tf.sourceTblHtml;\n //needed to keep reference of table element\n tbl = Dom.id(tf.id);\n }\n}"]} \ No newline at end of file diff --git a/src/modules/highlightKeywords.js b/src/modules/highlightKeywords.js new file mode 100644 index 00000000..7d6191a6 --- /dev/null +++ b/src/modules/highlightKeywords.js @@ -0,0 +1,95 @@ +define(["exports", "../dom", "../string"], function (exports, _dom, _string) { + "use strict"; + + var Dom = _dom.Dom; + var Str = _string.Str; + var HighlightKeyword = (function () { + var HighlightKeyword = + + /** + * HighlightKeyword, highlight matched keyword + * @param {Object} tf TableFilter instance + */ + function HighlightKeyword(tf) { + var f = tf.fObj; + //defines css class for highlighting + this.highlightCssClass = f.highlight_css_class || "keyword"; + this.highlightedNodes = []; + + this.tf = tf; + }; + + HighlightKeyword.prototype.highlight = function (node, word, cssClass) { + // Iterate into this nodes childNodes + if (node.hasChildNodes) { + var children = node.childNodes; + for (var i = 0; i < children.length; i++) { + this.highlight(children[i], word, cssClass); + } + } + + if (node.nodeType === 3) { + var tempNodeVal = Str.lower(node.nodeValue); + var tempWordVal = Str.lower(word); + if (tempNodeVal.indexOf(tempWordVal) != -1) { + var pn = node.parentNode; + if (pn && pn.className != cssClass) { + // word not highlighted yet + var nv = node.nodeValue, ni = tempNodeVal.indexOf(tempWordVal), + // Create a load of replacement nodes + before = Dom.text(nv.substr(0, ni)), docWordVal = nv.substr(ni, word.length), after = Dom.text(nv.substr(ni + word.length)), hiwordtext = Dom.text(docWordVal), hiword = Dom.create("span"); + hiword.className = cssClass; + hiword.appendChild(hiwordtext); + pn.insertBefore(before, node); + pn.insertBefore(hiword, node); + pn.insertBefore(after, node); + pn.removeChild(node); + this.highlightedNodes.push(hiword.firstChild); + } + } + } + }; + + HighlightKeyword.prototype.unhighlight = function (word, cssClass) { + var arrRemove = []; + var highlightedNodes = this.highlightedNodes; + for (var i = 0; i < highlightedNodes.length; i++) { + var n = highlightedNodes[i]; + if (!n) { + continue; + } + var tempNodeVal = Str.lower(n.nodeValue), tempWordVal = Str.lower(word); + if (tempNodeVal.indexOf(tempWordVal) !== -1) { + var pn = n.parentNode; + if (pn && pn.className === cssClass) { + var prevSib = pn.previousSibling, nextSib = pn.nextSibling; + if (!prevSib || !nextSib) { + continue; + } + nextSib.nodeValue = prevSib.nodeValue + n.nodeValue + nextSib.nodeValue; + prevSib.nodeValue = ""; + n.nodeValue = ""; + arrRemove.push(i); + } + } + } + for (var k = 0; k < arrRemove.length; k++) { + highlightedNodes.splice(arrRemove[k], 1); + } + }; + + HighlightKeyword.prototype.unhighlightAll = function () { + if (!this.tf.highlightKeywords || !this.tf.searchArgs) { + return; + } + for (var y = 0; y < this.tf.searchArgs.length; y++) { + this.unhighlight(this.tf.searchArgs[y], this.highlightCssClass); + } + this.highlightedNodes = []; + }; + + return HighlightKeyword; + })(); + + exports.HighlightKeyword = HighlightKeyword; +}); \ No newline at end of file diff --git a/src/modules/highlightKeywords.js.map b/src/modules/highlightKeywords.js.map new file mode 100644 index 00000000..0f246134 --- /dev/null +++ b/src/modules/highlightKeywords.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["src-es6/modules/highlightKeywords.js"],"names":[],"mappings":"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","file":"src-es6/modules/highlightKeywords.js","sourcesContent":["import {Dom} from '../dom';\nimport {Str} from '../string';\n\nexport class HighlightKeyword{\n\n /**\n * HighlightKeyword, highlight matched keyword\n * @param {Object} tf TableFilter instance\n */\n constructor(tf) {\n var f = tf.fObj;\n //defines css class for highlighting\n this.highlightCssClass = f.highlight_css_class || 'keyword';\n this.highlightedNodes = [];\n\n this.tf = tf;\n }\n\n /**\n * highlight occurences of searched term in passed node\n * @param {Node} node\n * @param {String} word Searched term\n * @param {String} cssClass Css class name\n */\n highlight(node, word, cssClass){\n // Iterate into this nodes childNodes\n if(node.hasChildNodes){\n var children = node.childNodes;\n for(var i=0; i {\r\n if(!this.loaderDiv){\r\n return;\r\n }\r\n if(this.onShowLoader && p!=='none'){\r\n this.onShowLoader.call(null, this);\r\n }\r\n this.loaderDiv.style.display = p;\r\n if(this.onHideLoader && p==='none'){\r\n this.onHideLoader.call(null, this);\r\n }\r\n };\r\n\r\n var t = p==='none' ? this.loaderCloseDelay : 1;\r\n global.setTimeout(displayLoader, t);\r\n }\r\n\r\n remove(){\r\n if(!this.loaderDiv){\r\n return;\r\n }\r\n var targetEl = !this.loaderTgtId ?\r\n (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode):\r\n Dom.id(this.loaderTgtId);\r\n targetEl.removeChild(this.loaderDiv);\r\n this.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":["\nimport {Dom} from '../dom';\nimport {Types} from '../types';\n\nvar global = window;\n\n/**\n * Loading message/spinner\n * @param {Object} tf TableFilter instance\n */\nexport class Loader{\n\n constructor(tf){\n\n // TableFilter configuration\n var f = tf.fObj;\n //id of container element\n this.loaderTgtId = f.loader_target_id || null;\n //div containing loader\n this.loaderDiv = null;\n //defines loader text\n this.loaderText = f.loader_text || 'Loading...';\n //defines loader innerHtml\n this.loaderHtml = f.loader_html || null;\n //defines css class for loader div\n this.loaderCssClass = f.loader_css_class || 'loader';\n //delay for hiding loader\n this.loaderCloseDelay = 200;\n //callback function before loader is displayed\n this.onShowLoader = Types.isFn(f.on_show_loader) ?\n f.on_show_loader : null;\n //callback function after loader is closed\n this.onHideLoader = Types.isFn(f.on_hide_loader) ?\n f.on_hide_loader : null;\n\n this.tf = tf;\n\n var containerDiv = Dom.create('div', ['id', tf.prfxLoader+tf.id]);\n containerDiv.className = this.loaderCssClass;\n\n var targetEl = !this.loaderTgtId ?\n tf.tbl.parentNode : Dom.id(this.loaderTgtId);\n if(!this.loaderTgtId){\n targetEl.insertBefore(containerDiv, tf.tbl);\n } else {\n targetEl.appendChild(containerDiv);\n }\n this.loaderDiv = Dom.id(tf.prfxLoader+tf.id);\n if(!this.loaderHtml){\n this.loaderDiv.appendChild(Dom.text(this.loaderText));\n } else {\n this.loaderDiv.innerHTML = this.loaderHtml;\n }\n }\n\n show(p) {\n if(!this.tf.loader || !this.loaderDiv ||\n this.loaderDiv.style.display===p){\n return;\n }\n\n var displayLoader = () => {\n if(!this.loaderDiv){\n return;\n }\n if(this.onShowLoader && p!=='none'){\n this.onShowLoader.call(null, this);\n }\n this.loaderDiv.style.display = p;\n if(this.onHideLoader && p==='none'){\n this.onHideLoader.call(null, this);\n }\n };\n\n var t = p==='none' ? this.loaderCloseDelay : 1;\n global.setTimeout(displayLoader, t);\n }\n\n remove(){\n if(!this.loaderDiv){\n return;\n }\n var targetEl = !this.loaderTgtId ?\n (this.tf.gridLayout ? this.tf.tblCont : this.tf.tbl.parentNode):\n Dom.id(this.loaderTgtId);\n targetEl.removeChild(this.loaderDiv);\n this.loaderDiv = null;\n }\n}\n"]} \ No newline at end of file diff --git a/src/modules/rowsCounter.js b/src/modules/rowsCounter.js index 691e2282..9c8480bc 100644 --- a/src/modules/rowsCounter.js +++ b/src/modules/rowsCounter.js @@ -1,16 +1,17 @@ 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) { + var RowsCounter = + + /** + * Rows counter + * @param {Object} tf TableFilter instance + */ + function RowsCounter(tf) { // TableFilter configuration var f = tf.fObj; @@ -34,108 +35,99 @@ define(["exports", "../dom", "../types", "../helpers"], function (exports, _dom, this.tf = tf; }; - _classProps(RowsCounter, null, { - init: { - writable: true, - value: function () { - var tf = this.tf; + RowsCounter.prototype.init = 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; - } + 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(); + }; + + RowsCounter.prototype.refresh = 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); + } + }; + + RowsCounter.prototype.destroy = 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; })(); diff --git a/src/modules/rowsCounter.js.map b/src/modules/rowsCounter.js.map index 960ddc2c..39b1efb4 100644 --- a/src/modules/rowsCounter.js.map +++ b/src/modules/rowsCounter.js.map @@ -1 +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 /**\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 = 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 +{"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';\nimport {Types} from '../types';\nimport {Helpers} from '../helpers';\n\nexport class RowsCounter{\n\n /**\n * Rows counter\n * @param {Object} tf TableFilter instance\n */\n constructor(tf){\n // TableFilter configuration\n var f = tf.fObj;\n\n //id of custom container element\n this.rowsCounterTgtId = f.rows_counter_target_id || null;\n //element containing tot nb rows\n this.rowsCounterDiv = null;\n //element containing tot nb rows label\n this.rowsCounterSpan = null;\n //defines rows counter text\n this.rowsCounterText = f.rows_counter_text || 'Rows: ';\n this.fromToTextSeparator = f.from_to_text_separator || '-';\n this.overText = f.over_text || ' / ';\n //defines css class rows counter\n this.totRowsCssClass = f.tot_rows_css_class || 'tot';\n //callback raised before counter is refreshed\n this.onBeforeRefreshCounter = Types.isFn(f.on_before_refresh_counter) ?\n f.on_before_refresh_counter : null;\n //callback raised after counter is refreshed\n this.onAfterRefreshCounter = Types.isFn(f.on_after_refresh_counter) ?\n f.on_after_refresh_counter : null;\n\n this.tf = tf;\n }\n\n init(){\n var tf = this.tf;\n\n if((!tf.hasGrid && !tf.isFirstLoad) || this.rowsCounterSpan){\n return;\n }\n\n //rows counter container\n var countDiv = Dom.create('div', ['id', tf.prfxCounter+tf.id]);\n countDiv.className = this.totRowsCssClass;\n //rows counter label\n var countSpan = Dom.create('span', ['id', tf.prfxTotRows+tf.id]);\n var countText = Dom.create('span', ['id', tf.prfxTotRowsTxt+tf.id]);\n countText.appendChild(Dom.text(this.rowsCounterText));\n\n // counter is added to defined element\n if(!this.rowsCounterTgtId){\n tf.SetTopDiv();\n }\n var targetEl = !this.rowsCounterTgtId ?\n tf.lDiv : Dom.id( this.rowsCounterTgtId );\n\n //IE only: clears all for sure\n if(this.rowsCounterDiv && Helpers.isIE()){\n this.rowsCounterDiv.outerHTML = '';\n }\n //default container: 'lDiv'\n if(!this.rowsCounterTgtId){\n countDiv.appendChild(countText);\n countDiv.appendChild(countSpan);\n targetEl.appendChild(countDiv);\n }\n else{\n //custom container, no need to append statusDiv\n targetEl.appendChild(countText);\n targetEl.appendChild(countSpan);\n }\n this.rowsCounterDiv = countDiv;\n this.rowsCounterSpan = countSpan;\n\n this.refresh();\n }\n\n refresh(p){\n if(!this.rowsCounterSpan){\n return;\n }\n\n var tf = this.tf;\n\n if(this.onBeforeRefreshCounter){\n this.onBeforeRefreshCounter.call(null, tf, this.rowsCounterSpan);\n }\n\n var totTxt;\n if(!tf.paging){\n if(p && p !== ''){\n totTxt = p;\n } else{\n totTxt = tf.nbFilterableRows - tf.nbHiddenRows -\n (tf.hasVisibleRows ? tf.visibleRows.length : 0);\n }\n } else {\n //paging start row\n var paging_start_row = parseInt(tf.startPagingRow, 10) +\n ((tf.nbVisibleRows>0) ? 1 : 0);\n var paging_end_row = (paging_start_row+tf.pagingLength)-1 <=\n tf.nbVisibleRows ? paging_start_row+tf.pagingLength-1 :\n tf.nbVisibleRows;\n totTxt = paging_start_row + this.fromToTextSeparator +\n paging_end_row + this.overText + tf.nbVisibleRows;\n }\n this.rowsCounterSpan.innerHTML = totTxt;\n if(this.onAfterRefreshCounter){\n this.onAfterRefreshCounter.call(\n null, tf, this.rowsCounterSpan, totTxt);\n }\n }\n\n destroy(){\n var tf = this.tf;\n if(!tf.hasGrid){\n return;\n }\n if(!this.rowsCounterSpan){\n return;\n }\n\n if(!this.rowsCounterTgtId && this.rowsCounterDiv){\n //IE only: clears all for sure\n if(Helpers.isIE()){\n this.rowsCounterDiv.outerHTML = '';\n } else {\n this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv);\n }\n } else {\n Dom.id( this.rowsCounterTgtId ).innerHTML = '';\n }\n this.rowsCounterSpan = null;\n this.rowsCounterDiv = null;\n }\n}"]} \ No newline at end of file diff --git a/src/modules/store.js b/src/modules/store.js index 6775a100..1001d793 100644 --- a/src/modules/store.js +++ b/src/modules/store.js @@ -1,14 +1,15 @@ define(["exports", "../cookie"], function (exports, _cookie) { "use strict"; - var _classProps = function (child, staticProps, instanceProps) { - if (staticProps) Object.defineProperties(child, staticProps); - if (instanceProps) Object.defineProperties(child.prototype, instanceProps); - }; - var Cookie = _cookie.Cookie; var Store = (function () { - var Store = function Store(tf) { + var Store = + + /** + * Store, persistence manager + * @param {Object} tf TableFilter instance + */ + function Store(tf) { var f = tf.fObj; this.duration = !isNaN(f.set_cookie_duration) ? parseInt(f.set_cookie_duration, 10) : 100000; @@ -16,61 +17,46 @@ define(["exports", "../cookie"], function (exports, _cookie) { this.tf = tf; }; - _classProps(Store, null, { - saveFilterValues: { - writable: true, - value: function (name) { - var tf = this.tf; - var fltValues = []; - //store filters' values - for (var i = 0; i < tf.fltIds.length; i++) { - var value = tf.GetFilterValue(i); - if (value === "") { - value = " "; - } - fltValues.push(value); - } - //adds array size - fltValues.push(tf.fltIds.length); - - //writes cookie - Cookie.write(name, fltValues.join(tf.separator), this.duration); - } - }, - getFilterValues: { - writable: true, - value: function (name) { - var flts = Cookie.read(name); - var rgx = new RegExp(this.tf.separator, "g"); - // filters' values array - return flts.split(rgx); - } - }, - savePageNb: { - writable: true, - value: function (name) { - Cookie.write(name, this.tf.currentPageNb, this.duration); - } - }, - getPageNb: { - writable: true, - value: function (name) { - return Cookie.read(name); - } - }, - savePageLength: { - writable: true, - value: function (name) { - Cookie.write(name, this.tf.resultsPerPageSlc.selectedIndex, this.duration); - } - }, - getPageLength: { - writable: true, - value: function (name) { - return Cookie.read(name); + Store.prototype.saveFilterValues = function (name) { + var tf = this.tf; + var fltValues = []; + //store filters' values + for (var i = 0; i < tf.fltIds.length; i++) { + var value = tf.GetFilterValue(i); + if (value === "") { + value = " "; } + fltValues.push(value); } - }); + //adds array size + fltValues.push(tf.fltIds.length); + + //writes cookie + Cookie.write(name, fltValues.join(tf.separator), this.duration); + }; + + Store.prototype.getFilterValues = function (name) { + var flts = Cookie.read(name); + var rgx = new RegExp(this.tf.separator, "g"); + // filters' values array + return flts.split(rgx); + }; + + Store.prototype.savePageNb = function (name) { + Cookie.write(name, this.tf.currentPageNb, this.duration); + }; + + Store.prototype.getPageNb = function (name) { + return Cookie.read(name); + }; + + Store.prototype.savePageLength = function (name) { + Cookie.write(name, this.tf.resultsPerPageSlc.selectedIndex, this.duration); + }; + + Store.prototype.getPageLength = function (name) { + return Cookie.read(name); + }; return Store; })(); diff --git a/src/modules/store.js.map b/src/modules/store.js.map index d50fc542..95672679 100644 --- a/src/modules/store.js.map +++ b/src/modules/store.js.map @@ -1 +1 @@ -{"version":3,"sources":["src-es6/modules/store.js"],"names":[],"mappings":";;;;;;;;MAAQ,MAAM,WAAN,MAAM;MAED,KAAK;QAAL,KAAK,GAMH,SANF,KAAK,CAMF,EAAE,EAAE;AACZ,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;AAEhB,UAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,GACzC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC;;AAEjD,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;;gBAbQ,KAAK;AAmBd,sBAAgB;;eAAA,UAAC,IAAI,EAAC;AAClB,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjB,cAAI,SAAS,GAAG,EAAE,CAAC;;AAEnB,eAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC;AACA,8BAAiB;AACb,mBAAK,GAAG,GAAG,CAAC;;AAEhB;WACH;;AAED,mBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;;AAGjC,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAC5B,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,qBAAe;;eAAA,UAAC,IAAI,EAAC;AACjB,cAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,cAAI,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;AAE7C,iBAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC1B;;AAMD,gBAAU;;eAAA,UAAC,IAAI,EAAC;AACZ,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,eAAS;;eAAA,UAAC,IAAI,EAAC;AACX,iBAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;AAMD,oBAAc;;eAAA,UAAC,IAAI,EAAC;AAChB,gBAAM,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,aAAa,EACvC,IAAI,CAAC,QAAQ,CAChB,CAAC;SACL;;AAOD,mBAAa;;eAAA,UAAC,IAAI,EAAC;AACf,iBAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;;;;WA7FQ,KAAK;;;UAAL,KAAK,GAAL,KAAK","file":"src-es6/modules/store.js","sourcesContent":["import {Cookie} from '../cookie';\r\n\r\nexport class Store{\r\n\r\n /**\r\n * Store, persistence manager\r\n * @param {Object} tf TableFilter instance\r\n */\r\n constructor(tf) {\r\n var f = tf.fObj;\r\n\r\n this.duration = !isNaN(f.set_cookie_duration) ?\r\n parseInt(f.set_cookie_duration, 10) : 100000;\r\n\r\n this.tf = tf;\r\n }\r\n\r\n /**\r\n * Store filters' values in cookie\r\n * @param {String} cookie name\r\n */\r\n saveFilterValues(name){\r\n var tf = this.tf;\r\n var fltValues = [];\r\n //store filters' values\r\n for(var i=0; i