From 1b3f91a32c5ad06b16bacaba830d1282f8ac9b9f Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Sun, 16 Nov 2014 21:01:29 +1100 Subject: [PATCH] Added es-6 modules --- .jshintrc | 1 + dist/filtergrid.css | 2 +- src-es6/modules/loader.js | 65 +++++++++++++++---------------- src-es6/modules/rowsCounter.js | 6 +-- src/core.js | 71 +++++++++++++++++----------------- src/index.html | 2 +- src/modules/loader.js | 60 ++++++++++++++-------------- src/modules/loader.js.map | 2 +- src/modules/rowsCounter.js.map | 2 +- 9 files changed, 106 insertions(+), 105 deletions(-) diff --git a/.jshintrc b/.jshintrc index a9ba2182..b5e5b6ac 100644 --- a/.jshintrc +++ b/.jshintrc @@ -7,6 +7,7 @@ "-W061": true, "-W041": true, "curly": true, + //"indent": 4, //"eqeqeq": true, "es3": true, "esnext": true, diff --git a/dist/filtergrid.css b/dist/filtergrid.css index 967dbe27..cc178a38 100644 --- a/dist/filtergrid.css +++ b/dist/filtergrid.css @@ -1,6 +1,6 @@ /*------------------------------------------------------------------------ - TableFilter stylesheet by Max Guglielmi - - (build date: Sun Nov 16 2014 10:15:56) + - (build date: Sun Nov 16 2014 12:22:04) - Edit below for your projects' needs ------------------------------------------------------------------------*/ diff --git a/src-es6/modules/loader.js b/src-es6/modules/loader.js index e953218a..473a6e8b 100644 --- a/src-es6/modules/loader.js +++ b/src-es6/modules/loader.js @@ -15,77 +15,76 @@ export class Loader{ // TableFilter configuration var f = tf.fObj; //id of container element - tf.loaderTgtId = f.loader_target_id || null; + this.loaderTgtId = f.loader_target_id || null; //div containing loader - tf.loaderDiv = null; + this.loaderDiv = null; //defines loader text - tf.loaderText = f.loader_text || 'Loading...'; + this.loaderText = f.loader_text || 'Loading...'; //defines loader innerHtml - tf.loaderHtml = f.loader_html || null; + this.loaderHtml = f.loader_html || null; //defines css class for loader div - tf.loaderCssClass = f.loader_css_class || 'loader'; + this.loaderCssClass = f.loader_css_class || 'loader'; //delay for hiding loader - tf.loaderCloseDelay = 200; + this.loaderCloseDelay = 200; //callback function before loader is displayed - tf.onShowLoader = Types.isFn(f.on_show_loader) ? + this.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) ? + this.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]); - containerDiv.className = tf.loaderCssClass; + containerDiv.className = this.loaderCssClass; - var targetEl = !tf.loaderTgtId ? + var targetEl = !this.loaderTgtId ? (tf.gridLayout ? tf.tblCont : tf.tbl.parentNode) : - Dom.id(tf.loaderTgtId); - if(!tf.loaderTgtId){ + Dom.id(this.loaderTgtId); + if(!this.loaderTgtId){ targetEl.insertBefore(containerDiv, tf.tbl); } else { targetEl.appendChild(containerDiv); } - tf.loaderDiv = Dom.id(tf.prfxLoader+tf.id); - if(!tf.loaderHtml){ - tf.loaderDiv.appendChild(Dom.text(tf.loaderText)); + this.loaderDiv = Dom.id(tf.prfxLoader+tf.id); + if(!this.loaderHtml){ + this.loaderDiv.appendChild(Dom.text(this.loaderText)); } else { - tf.loaderDiv.innerHTML = tf.loaderHtml; + this.loaderDiv.innerHTML = this.loaderHtml; } } show(p) { - if(!this.tf.loader || !this.tf.loaderDiv || - this.tf.loaderDiv.style.display===p){ + if(!this.tf.loader || !this.loaderDiv || + this.loaderDiv.style.display===p){ return; } - var o = this.tf; - function displayLoader(){ - if(!o.loaderDiv){ + var displayLoader = () => { + if(!this.loaderDiv){ return; } - if(o.onShowLoader && p!=='none'){ - o.onShowLoader.call(null, o); + if(this.onShowLoader && p!=='none'){ + this.onShowLoader.call(null, this); } - o.loaderDiv.style.display = p; - if(o.onHideLoader && p==='none'){ - o.onHideLoader.call(null, o); + this.loaderDiv.style.display = p; + if(this.onHideLoader && p==='none'){ + this.onHideLoader.call(null, this); } - } + }; - var t = p==='none' ? this.tf.loaderCloseDelay : 1; + var t = p==='none' ? this.loaderCloseDelay : 1; global.setTimeout(displayLoader, t); } remove(){ - if(!this.tf.loaderDiv){ + if(!this.loaderDiv){ return; } - var targetEl = !this.tf.loaderTgtId ? + var targetEl = !this.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; + Dom.id(this.loaderTgtId); + targetEl.removeChild(this.loaderDiv); + this.loaderDiv = null; } } diff --git a/src-es6/modules/rowsCounter.js b/src-es6/modules/rowsCounter.js index f327585d..f8008c7c 100644 --- a/src-es6/modules/rowsCounter.js +++ b/src-es6/modules/rowsCounter.js @@ -3,6 +3,7 @@ import {Types} from '../types'; import {Helpers} from '../helpers'; export class RowsCounter{ + /** * Rows counter * @param {Object} tf TableFilter instance @@ -24,9 +25,8 @@ export class RowsCounter{ //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; + 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; diff --git a/src/core.js b/src/core.js index b6e0de57..f768b050 100644 --- a/src/core.js +++ b/src/core.js @@ -835,7 +835,8 @@ function TableFilter(id) { /*==================================================== - onchange event for select filters =====================================================*/ - _OnSlcChange: function(e) { + _OnSlcChange: function(e) {console.log(o, o.activeFlt); + if(!o.activeFlt){ return; } var colIndex = o.activeFlt.getAttribute('colIndex'); //Checks filter is a checklist and caller is not null if(o.activeFlt && colIndex && @@ -1096,14 +1097,14 @@ TableFilter.prototype = { select is disabled and by clicking on element (parent td), users enable drop-down and select is populated at same time. */ - if(this.fillSlcOnDemand && hlp.isIE()){ - slc.disabled = true; - slc.title = this.activateSlcTooltip; - slc.parentNode.onclick = this.Evt._EnableSlc; - if(col===this.fltTypeMulti){ - this.__deferMultipleSelection(slc,0); - } - } + // if(this.fillSlcOnDemand && hlp.isIE()){ + // slc.disabled = true; + // slc.title = this.activateSlcTooltip; + // slc.parentNode.onclick = this.Evt._EnableSlc; + // if(col===this.fltTypeMulti){ + // this.__deferMultipleSelection(slc,0); + // } + // } } // checklist else if(col===this.fltTypeCheckList){ @@ -3415,9 +3416,9 @@ TableFilter.prototype = { li0.style.display = 'none'; } //IE: label looses check capability - if(hlp.isIE()){ - li0.label.onclick = function(){ li0.check.click(); }; - } + // if(hlp.isIE()){ + // li0.label.onclick = function(){ li0.check.click(); }; + // } if(o.enableEmptyOption){ var li1 = dom.createCheckItem( @@ -3429,9 +3430,9 @@ TableFilter.prototype = { ul.onchange.call(null, e); }; //IE: label looses check capability - if(hlp.isIE()){ - li1.label.onclick = function(){ li1.check.click(); }; - } + // if(hlp.isIE()){ + // li1.label.onclick = function(){ li1.check.click(); }; + // } chkCt++; } @@ -3448,10 +3449,10 @@ TableFilter.prototype = { ul.onchange.call(null, e); }; //IE: label looses check capability - if(hlp.isIE()) - { - li2.label.onclick = function(){ li2.check.click(); }; - } + // if(hlp.isIE()) + // { + // li2.label.onclick = function(){ li2.check.click(); }; + // } chkCt++; } return chkCt; @@ -3511,9 +3512,9 @@ TableFilter.prototype = { } } //IE: label looses check capability - if(hlp.isIE()){ - li.label.onclick = labelClick; - } + // if(hlp.isIE()){ + // li.label.onclick = labelClick; + // } } function labelClick(){ this.firstChild.click(); @@ -3527,19 +3528,19 @@ TableFilter.prototype = { flt.setAttribute('filled','1'); /*** remember grid values IE only, items remain un-checked ***/ - if(o.rememberGridValues && hlp.isIE()){ - var slcIndexes = ul.getAttribute('indexes'); - if(slcIndexes){ - var indSplit = slcIndexes.split(',');//items indexes - for(var n=0; n {\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 diff --git a/src/modules/rowsCounter.js.map b/src/modules/rowsCounter.js.map index c504694d..9a48c6b3 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":";;;;;;;;MAAQ,GAAG,QAAH,GAAG;MACH,KAAK,UAAL,KAAK;MACL,OAAO,YAAP,OAAO;MAEF,WAAW;QAAX,WAAW,GAKT,SALF,WAAW,CAKR,EAAE,EAAC;;AAEX,UAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;;;AAGhB,UAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC;;AAEzD,UAAI,CAAC,cAAc,GAAG,IAAI,CAAC;;AAE3B,UAAI,CAAC,eAAe,GAAG,IAAI,CAAC;;AAE5B,UAAI,CAAC,eAAe,GAAG,CAAC,CAAC,iBAAiB,IAAI,QAAQ,CAAC;AACvD,UAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,sBAAsB,IAAI,GAAG,CAAC;AAC3D,UAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;;AAErC,UAAI,CAAC,eAAe,GAAG,CAAC,CAAC,kBAAkB,IAAI,KAAK,CAAC;;AAErD,UAAI,CAAC,sBAAsB,GACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,GACnC,CAAC,CAAC,yBAAyB,GAAG,IAAI,CAAC;;AAE3C,UAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAC/D,CAAC,CAAC,wBAAwB,GAAG,IAAI,CAAC;;AAEtC,UAAI,CAAC,EAAE,GAAG,EAAE,CAAC;;;gBA7BR,WAAW;AAgCpB,UAAI;;eAAA,YAAE;AACF,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;;AAEjB,cAAG,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,eAAe,EAAC;AACxD,mBAAO;WACV;;;AAGD,cAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,GAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,kBAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;;AAE1C,cAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,GAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,cAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,GAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,mBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;AAGtD,cAAG,CAAC,IAAI,CAAC,gBAAgB,EAAC;AACtB,cAAE,CAAC,SAAS,EAAE,CAAC;WAClB;AACD,cAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,gBAAgB,GAC7B,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAE,IAAI,CAAC,gBAAgB,CAAE,CAAC;;;AAGlD,cAAG,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE,EAAC;AACrC,gBAAI,CAAC,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;WACtC;;AAED,cAAG,CAAC,IAAI,CAAC,gBAAgB,EAAC;AACtB,oBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,oBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,oBAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;WAClC,MACG;;AAEA,oBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,oBAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;WACnC;AACD,cAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;AAC/B,cAAI,CAAC,eAAe,GAAG,SAAS,CAAC;;AAEjC,cAAI,CAAC,OAAO,EAAE,CAAC;SAClB;;AAED,aAAO;;eAAA,UAAC,CAAC,EAAC;AACN,cAAG,CAAC,IAAI,CAAC,eAAe,EAAC;AACrB,mBAAO;WACV;;AAED,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;;AAEjB,cAAG,IAAI,CAAC,sBAAsB,EAAC;AAC3B,gBAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;WACpE;;AAED,cAAI,MAAM,CAAC;AACX,cAAG,CAAC,EAAE,CAAC,MAAM,EAAC;AACV,gBAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAC;AACb,oBAAM,GAAG,CAAC,CAAC;aACd,MAAK;AACF,oBAAM,GAAG,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,YAAY,GAC1C,CAAC,EAAE,CAAC,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACvD;WACJ,MAAM;;AAEH,gBAAI,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,GAC9C,CAAC,CAAC,EAAE,CAAC,aAAa,GAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,gBAAI,cAAc,GAAG,CAAC,gBAAgB,GAAC,EAAE,CAAC,YAAY,CAAC,GAAC,CAAC,IACjD,EAAE,CAAC,aAAa,GAAG,gBAAgB,GAAC,EAAE,CAAC,YAAY,GAAC,CAAC,GACrD,EAAE,CAAC,aAAa,CAAC;AACzB,kBAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,GAChD,cAAc,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC;WACzD;AACD,cAAI,CAAC,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC;AACxC,cAAG,IAAI,CAAC,qBAAqB,EAAC;AAC1B,gBAAI,CAAC,qBAAqB,CAAC,IAAI,CAC3B,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;WAC/C;SACJ;;AAED,aAAO;;eAAA,YAAE;AACL,cAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjB,cAAG,CAAC,EAAE,CAAC,OAAO,EAAC;AACX,mBAAO;WACV;AACD,cAAG,CAAC,IAAI,CAAC,eAAe,EAAC;AACrB,mBAAO;WACV;;AAED,cAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAC;;AAE7C,gBAAG,OAAO,CAAC,IAAI,EAAE,EAAC;AACd,kBAAI,CAAC,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;aACtC,MAAM;AACH,kBAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACnE;WACJ,MAAM;AACH,eAAG,CAAC,EAAE,CAAE,IAAI,CAAC,gBAAgB,CAAE,CAAC,SAAS,GAAG,EAAE,CAAC;WAClD;AACD,cAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,cAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;;;;WApIQ,WAAW;;;UAAX,WAAW,GAAX,WAAW","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 +{"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 = 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