1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-06-04 23:12:22 +02:00
TableFilter/dist/tablefilter/tablefilter.js

7 lines
110 KiB
JavaScript
Raw Normal View History

2015-05-14 12:08:19 +02:00
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var s=e();for(var i in s)("object"==typeof exports?exports:t)[i]=s[i]}}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var l=i[s]={exports:{},id:s,loaded:!1};return t[s].call(l.exports,l,l.exports,e),l.loaded=!0,l.exports}var s=window.webpackJsonp;window.webpackJsonp=function(i,a){for(var r,n,o=0,h=[];o<i.length;o++)n=i[o],l[n]&&h.push.apply(h,l[n]),l[n]=0;for(r in a)t[r]=a[r];for(s&&s(i,a);h.length;)h.shift().call(null,e)};var i={},l={0:0};return e.e=function(t,s){if(0===l[t])return s.call(null,e);if(void 0!==l[t])l[t].push(s);else{l[t]=[s];var i=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.src=e.p+""+({}[t]||t)+".js",i.appendChild(a)}},e.m=t,e.c=i,e.p="/dist/tablefilter/",e(0)}([function(t,e,s){"use strict";function l(t,e){if(t){e||(e="us");var s=t;return s="us"===p.Str.lower(e)?+s.replace(/[^\d\.-]/g,""):+s.replace(/[^\d\,-]/g,"").replace(",",".")}}function a(){if(P.body.__defineGetter__&&HTMLElement){var t=HTMLElement.prototype;t.__defineGetter__&&t.__defineGetter__("outerHTML",function(){var t=this.parentNode,e=h.Dom.create(t.tagName);e.appendChild(this);var s=e.innerHTML;return t.appendChild(this),s}),t.__defineSetter__&&HTMLElement.prototype.__defineSetter__("outerHTML",function(t){var e=this.ownerDocument.createRange();e.setStartBefore(this);var s=e.createContextualFragment(t);return this.parentNode.replaceChild(s,this),t})}}var r=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},n=function(){function t(t,e){for(var s=0;s<e.length;s++){var i=e[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,s,i){return s&&t(e.prototype,s),i&&t(e,i),e}}();Object.defineProperty(e,"__esModule",{value:!0});var o=s(2),h=s(3),p=s(4),d=s(5),c=s(6),u=s(7),f=(s(8),s(9)),g=(s(10),s(11)),v=s(12),m=s(13),b=s(14),C=s(15),_=s(16),y=s(17),w=s(18),x=s(19),T=s(20),k=s(21),I=s(22),R=s(23),S=s(24),D=window,F=f.DateHelper.isValid,E=f.DateHelper.format,P=D.document,L=function(){function t(e){if(r(this,t),0!==arguments.length){if(this.id=e,this.version="0.0.1",this.year=(new Date).getFullYear(),this.tbl=h.Dom.id(e),this.startRow=null,this.refRow=null,this.headersRow=null,this.cfg={},this.nbFilterableRows=null,this.nbRows=null,this.nbCells=null,this._hasGrid=!1,this.enableModules=!1,!this.tbl||"table"!==p.Str.lower(this.tbl.nodeName)||0===this.getRowsNb())throw new Error("Could not instantiate TableFilter class: HTML table not found.");if(arguments.length>1)for(var s=0;s<arguments.length;s++){var i=arguments[s],l=typeof i;switch(p.Str.lower(l)){case"number":this.startRow=i;break;case"object":this.cfg=i}}var n=this.cfg;this.refRow=null===this.startRow?2:this.startRow+1;try{this.nbCells=this.getCellsNb(this.refRow)}catch(o){this.nbCells=this.getCellsNb(0)}this.basePath=void 0!==n.base_path?n.base_path:"tablefilter/",this.extensionsPath=n.extensions_path||this.basePath+"extensions/",this.fltTypeInp="input",this.fltTypeSlc="select",this.fltTypeMulti="multiple",this.fltTypeCheckList="checklist",this.fltTypeNone="none",this.fltCol=[];for(var d=0;d<this.nbCells;d++){var u=n["col_"+d],f=u?p.Str.lower(u):this.fltTypeInp;this.fltCol.push(f),this["col"+d]=f}this.publicMethods=void 0!==n.public_methods?n.public_methods:!1,this.fltGrid=n.grid===!1?!1:!0,this.gridLayout=n.grid_layout?!0:!1,this.sourceTblHtml=null,this.gridLayout&&(void 0===this.tbl.outerHTML&&a(),this.sourceTblHtml=this.tbl.outerHTML),this.filtersRowIndex=n.filters_row_index||0,this.headersRow=n.headers_row_index||(0===this.filtersRowIndex?1:0),this.gridLayout&&(this.headersRow>1?this.filtersRowIndex=this.headersRow+1:(this.filtersRowIndex=1,this.headersRow=0)),this.fltCellTag="th"!==n.filters_cell_tag||"td"!==n.filters_cell_tag?"td":n.filters_cell_tag,this.fltIds=[],this.fltElms=[],this.searchArgs=null,this.tblDa
}},{key:"resetGridValues",value:function(t){if(this.fillSlcOnDemand){var e=this.Cpt.store.getFilterValues(t),s=this.getFiltersByType(this.fltTypeSlc,!0),i=this.getFiltersByType(this.fltTypeMulti,!0);if(Number(e[e.length-1])===this.fltIds.length){for(var l=0;l<e.length-1;l++)if(" "!==e[l]){var a,r;if(this["col"+l]===this.fltTypeSlc||this["col"+l]===this.fltTypeMulti){var n=h.Dom.id(this.fltIds[l]);if(n.options[0].selected=!1,u.Arr.has(s,l)&&(r=h.Dom.createOpt(e[l],e[l],!0),n.appendChild(r),this.hasStoredValues=!0),u.Arr.has(i,l))for(a=e[l].split(" "+this.orOperator+" "),j=0;j<a.length;j++)""!==a[j]&&(r=h.Dom.createOpt(a[j],a[j],!0),n.appendChild(r),this.hasStoredValues=!0)}else if(this["col"+l]==this.fltTypeCheckList){var o=this.Cpt.checkList,p=o.checkListDiv[l];p.title=p.innerHTML,p.innerHTML="";var d=h.Dom.create("ul",["id",this.fltIds[l]],["colIndex",l]);d.className=o.checkListCssClass;var c=h.Dom.createCheckItem(this.fltIds[l]+"_0","",this.displayAllText);for(c.className=o.checkListItemCssClass,d.appendChild(c),p.appendChild(d),a=e[l].split(" "+this.orOperator+" "),j=0;j<a.length;j++)if(""!==a[j]){var f=h.Dom.createCheckItem(this.fltIds[l]+"_"+(j+1),a[j],a[j]);f.className=o.checkListItemCssClass,d.appendChild(f),f.check.checked=!0,o.setCheckListValues(f.check),this.hasStoredValues=!0}}}!this.hasStoredValues&&this.paging&&this.Cpt.paging.setPagingInfo()}}}},{key:"filter",value:function(){this.EvtManager(this.Evt.name.filter)}},{key:"_filter",value:function(){function t(t,e,s){if(r.highlightKeywords&&e){t=t.replace(m,""),t=t.replace(b,""),t=t.replace(C,""),t=t.replace(_,"");var i=t;(d.test(t)||c.test(t)||f.test(t)||g.test(t)||v.test(t))&&(i=h.Dom.getText(s)),""!==i&&r.Cpt.highlightKeyword.highlight(s,i,r.Cpt.highlightKeyword.highlightCssClass)}}function e(t,e,s){var a,h,u,k=f.test(t),I=d.test(t),R=g.test(t),S=c.test(t),D=v.test(t),P=b.test(t),L=m.test(t),N=(y.test(t),C.test(t)),B=_.test(t),O=w===t,M=x===t,V=T.test(t),H=k&&F(t.replace(f,""),A),U=I&&F(t.replace(d,""),A),j=R&&F(t.replace(g,""),A),G=S&&F(t.replace(c,""),A),z=D&&F(t.replace(v,""),A),K=P&&F(t.replace(b,""),A);if(F(e,A))h=E(e,A),H?(u=E(t.replace(f,""),A),a=u>h):U?(u=E(t.replace(d,""),A),a=u>=h):G?(u=E(t.replace(c,""),A),a=h>=u):j?(u=E(t.replace(g,""),A),a=h>u):z?(u=E(t.replace(v,""),A),a=h.toString()!=u.toString()):K?(u=E(t.replace(b,""),A),a=h.toString()==u.toString()):m.test(t)?a=r._containsStr(t.replace(m,""),e,null,!1):F(t,A)?(u=E(t,A),a=h.toString()==u.toString()):O?a=p.Str.isEmpty(e):M&&(a=!p.Str.isEmpty(e));else if(r.hasColNbFormat&&r.colNbFormat[s]?(n=l(e,r.colNbFormat[s]),o=r.colNbFormat[s]):","===r.thousandsSeparator&&"."===r.decimalSeparator?(n=l(e,"us"),o="us"):(n=l(e,"eu"),o="eu"),I)a=n<=l(t.replace(d,""),o);else if(S)a=n>=l(t.replace(c,""),o);else if(k)a=n<l(t.replace(f,""),o);else if(R)a=n>l(t.replace(g,""),o);else if(D)a=r._containsStr(t.replace(v,""),e)?!1:!0;else if(L)a=r._containsStr(t.replace(m,""),e,null,!1);else if(P)a=r._containsStr(t.replace(b,""),e,null,!0);else if(N)a=0===e.indexOf(t.replace(C,""))?!0:!1;else if(B){var W=t.replace(_,"");a=e.lastIndexOf(W,e.length-1)===e.length-1-(W.length-1)&&e.lastIndexOf(W,e.length-1)>-1?!0:!1}else if(O)a=p.Str.isEmpty(e);else if(M)a=!p.Str.isEmpty(e);else if(V)try{var $=t.replace(T,""),q=new RegExp($);a=q.test(e)}catch(Y){a=!1}else{var J=i["col_"+s];a=r._containsStr(t,e,J?J:r.fltTypeInp)}return a}if(this.fltGrid&&(this._hasGrid||this.isFirstLoad)){this.onBeforeFilter&&this.onBeforeFilter.call(null,this);var s=this.tbl.rows,i=this.cfg,a=0;this.validRowsIndex=[];var r=this;this.highlightKeywords&&this.Cpt.highlightKeyword.unhighlightAll(),this.popUpFilters&&this.Cpt.popupFilter.buildIcons(),this.markActiveColumns&&this.clearActiveColumns(),this.searchArgs=this.getFiltersValue();for(var n,o,d=new RegExp(this.leOperator),c=new RegExp(this.geOperator),f=new RegExp(this.lwOperator),g=new RegExp(this.grOperator),v=new RegExp(this.dfOperator),m=new RegExp(p.Str.rgxEsc(this.lkOperator)),b=new RegExp(this.eqOperator),C=new RegExp(this.stOperator),_=new RegExp(this.enOperator),y=new RegExp(this.anOperator),w
this.loaderTgtId?n.appendChild(l):n.insertBefore(l,e.tbl),this.loaderDiv=a.Dom.id(this.prfxLoader+e.id),this.loaderHtml?this.loaderDiv.innerHTML=this.loaderHtml:this.loaderDiv.appendChild(a.Dom.text(this.loaderText))}return l(t,[{key:"show",value:function(t){var e=this;if(this.tf.loader&&this.loaderDiv&&this.loaderDiv.style.display!==t){var s=function(){e.loaderDiv&&(e.onShowLoader&&"none"!==t&&e.onShowLoader.call(null,e),e.loaderDiv.style.display=t,e.onHideLoader&&"none"===t&&e.onHideLoader.call(null,e))},i="none"===t?this.loaderCloseDelay:1;n.setTimeout(s,i)}}},{key:"remove",value:function(){if(this.loaderDiv){var t=this.tf,e=this.loaderTgtId?a.Dom.id(this.loaderTgtId):t.gridLayout?t.Cpt.gridLayout.tblCont:t.tbl.parentNode;e.removeChild(this.loaderDiv),this.loaderDiv=null}}}]),t}();e.Loader=o},function(t,e,s){"use strict";var i=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,e){for(var s=0;s<e.length;s++){var i=e[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,s,i){return s&&t(e.prototype,s),i&&t(e,i),e}}();Object.defineProperty(e,"__esModule",{value:!0});var a=s(3),r=s(4),n=function(){function t(e){i(this,t);var s=e.config();this.highlightCssClass=s.highlight_css_class||"keyword",this.highlightedNodes=[],this.tf=e}return l(t,[{key:"highlight",value:function(t,e,s){if(t.hasChildNodes)for(var i=t.childNodes,l=0;l<i.length;l++)this.highlight(i[l],e,s);if(3===t.nodeType){var n=r.Str.lower(t.nodeValue),o=r.Str.lower(e);if(-1!=n.indexOf(o)){var h=t.parentNode;if(h&&h.className!=s){var p=t.nodeValue,d=n.indexOf(o),c=a.Dom.text(p.substr(0,d)),u=p.substr(d,e.length),f=a.Dom.text(p.substr(d+e.length)),g=a.Dom.text(u),v=a.Dom.create("span");v.className=s,v.appendChild(g),h.insertBefore(c,t),h.insertBefore(v,t),h.insertBefore(f,t),h.removeChild(t),this.highlightedNodes.push(v.firstChild)}}}}},{key:"unhighlight",value:function(t,e){for(var s=[],i=this.highlightedNodes,l=0;l<i.length;l++){var a=i[l];if(a){var n=r.Str.lower(a.nodeValue),o=r.Str.lower(t);if(-1!==n.indexOf(o)){var h=a.parentNode;if(h&&h.className===e){var p=h.previousSibling,d=h.nextSibling;if(!p||!d)continue;d.nodeValue=p.nodeValue+a.nodeValue+d.nodeValue,p.nodeValue="",a.nodeValue="",s.push(l)}}}}for(var c=0;c<s.length;c++)i.splice(s[c],1)}},{key:"unhighlightAll",value:function(){if(this.tf.highlightKeywords&&this.tf.searchArgs){for(var t=0;t<this.tf.searchArgs.length;t++)this.unhighlight(this.tf.searchArgs[t],this.highlightCssClass);this.highlightedNodes=[]}}}]),t}();e.HighlightKeyword=n},function(t,e,s){(function(t){"use strict";var i=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},l=function(){function t(t,e){for(var s=0;s<e.length;s++){var i=e[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,s,i){return s&&t(e.prototype,s),i&&t(e,i),e}}();Object.defineProperty(e,"__esModule",{value:!0});var a=s(6),r=s(3),n=s(2),o=s(8),h=function(){function e(t){i(this,e);var s=t.config();t.isExternalFlt=!0,t.externalFltTgtIds=[],this.popUpImgFlt=s.popup_filters_image||t.themesPath+"icn_filter.gif",this.popUpImgFltActive=s.popup_filters_image_active||t.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=s.popup_filters_image_html||'<img src="'+this.popUpImgFlt+'" alt="Column filter" />',this.popUpDivCssClass=s.popup_div_css_class||"popUpFilter",this.onBeforePopUpOpen=a.Types.isFn(s.on_before_popup_filter_open)?s.on_before_popup_filter_open:null,this.onAfterPopUpOpen=a.Types.isFn(s.on_after_popup_filter_open)?s.on_after_popup_filter_open:null,this.onBeforePopUpClose=a.Types.isFn(s.on_before_popup_filter_close)?s.on_before_popup_filter_close:null,this.onAfterPopUpClose=a.Types.isFn(s.on_after_popup_filter_close)?s.on_after_popup_filter_close:null,this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache||[],this.popUpFltAdjustToContainer=!0,this.prfxPopUpSpan="popUpSpan_",thi
var l=this.resultsPerPage[0],r=this.resultsPerPage[1],n=a.Dom.create("span",["id",this.prfxSlcResultsTxt+e.id]);n.className=this.resultsSpanCssClass,this.resultsPerPageTgtId||e.setToolbar();var h=this.resultsPerPageTgtId?a.Dom.id(this.resultsPerPageTgtId):e.rDiv;n.appendChild(a.Dom.text(l)),h.appendChild(n),h.appendChild(i),this.resultsPerPageSlc=a.Dom.id(this.prfxSlcResults+e.id);for(var p=0;p<r.length;p++){var d=new Option(r[p],r[p],!1,!1);this.resultsPerPageSlc.options[p]=d}o.Event.add(i,"change",s.slcResultsChange)}}},{key:"removeResultsPerPage",value:function(){var t=this.tf;if(t.hasGrid()&&this.resultsPerPageSlc&&this.resultsPerPage){var e=this.resultsPerPageSlc,s=a.Dom.id(this.prfxSlcResultsTxt+t.id);e&&e.parentNode.removeChild(e),s&&s.parentNode.removeChild(s),this.resultsPerPageSlc=null}}},{key:"changePage",value:function(t){var e=this.tf,s=e.Evt;e.EvtManager(s.name.changepage,{pgIndex:t})}},{key:"changeResultsPerPage",value:function(){var t=this.tf,e=t.Evt;t.EvtManager(e.name.changeresultsperpage)}},{key:"resetPage",value:function(){var t=this.tf,e=t.Evt;t.EvtManager(e.name.resetpage)}},{key:"resetPageLength",value:function(){var t=this.tf,e=t.Evt;t.EvtManager(e.name.resetpagelength)}},{key:"_changePage",value:function(t){var e=this.tf;e.paging&&(null===t&&(t=this.pageSelectorType===e.fltTypeSlc?this.pagingSlc.options.selectedIndex:this.pagingSlc.value-1),t>=0&&t<=this.nbPages-1&&(this.onBeforeChangePage&&this.onBeforeChangePage.call(null,this,t),this.currentPageNb=parseInt(t,10)+1,this.pageSelectorType===e.fltTypeSlc?this.pagingSlc.options[t].selected=!0:this.pagingSlc.value=this.currentPageNb,e.rememberPageNb&&e.Cpt.store.savePageNb(e.pgNbCookie),this.startPagingRow=this.pageSelectorType===e.fltTypeSlc?this.pagingSlc.value:t*this.pagingLength,this.groupByPage(),this.onAfterChangePage&&this.onAfterChangePage.call(null,this,t)))}},{key:"_changeResultsPerPage",value:function(){var t=this.tf;if(t.paging){var e=this.resultsPerPageSlc,s=this.pageSelectorType===t.fltTypeSlc?this.pagingSlc.selectedIndex:parseInt(this.pagingSlc.value-1,10);if(this.pagingLength=parseInt(e.options[e.selectedIndex].value,10),this.startPagingRow=this.pagingLength*s,!isNaN(this.pagingLength)){if(this.startPagingRow>=t.nbFilterableRows&&(this.startPagingRow=t.nbFilterableRows-this.pagingLength),this.setPagingInfo(),this.pageSelectorType===t.fltTypeSlc){var i=this.pagingSlc.options.length-1<=s?this.pagingSlc.options.length-1:s;this.pagingSlc.options[i].selected=!0}t.rememberPageLen&&t.Cpt.store.savePageLength(t.pgLenCookie)}}}},{key:"_resetPage",value:function(t){var e=this.tf,s=e.Cpt.store.getPageNb(t);""!==s&&this.changePage(s-1)}},{key:"_resetPageLength",value:function(t){var e=this.tf;if(e.paging){var s=e.Cpt.store.getPageLength(t);""!==s&&(this.resultsPerPageSlc.options[s].selected=!0,this.changeResultsPerPage())}}},{key:"destroy",value:function(){var t=this.tf;if(t.hasGrid()){var e,s,i,l,r,n,h;e=a.Dom.id(this.prfxBtnNextSpan+t.id),s=a.Dom.id(this.prfxBtnPrevSpan+t.id),i=a.Dom.id(this.prfxBtnLastSpan+t.id),l=a.Dom.id(this.prfxBtnFirstSpan+t.id),r=a.Dom.id(this.prfxPgBeforeSpan+t.id),n=a.Dom.id(this.prfxPgAfterSpan+t.id),h=a.Dom.id(this.prfxPgSpan+t.id);var p=this.evt;this.pagingSlc&&(this.pageSelectorType===t.fltTypeSlc?o.Event.remove(this.pagingSlc,"change",p.slcPagesChange):this.pageSelectorType===t.fltTypeInp&&o.Event.remove(this.pagingSlc,"keypress",p._detectKey),this.pagingSlc.parentNode.removeChild(this.pagingSlc)),e&&(o.Event.remove(e,"click",p.next),e.parentNode.removeChild(e)),s&&(o.Event.remove(s,"click",p.prev),s.parentNode.removeChild(s)),i&&(o.Event.remove(i,"click",p.last),i.parentNode.removeChild(i)),l&&(o.Event.remove(l,"click",p.first),l.parentNode.removeChild(l)),r&&r.parentNode.removeChild(r),n&&n.parentNode.removeChild(n),h&&h.parentNode.removeChild(h),this.hasResultsPerPage&&this.removeResultsPerPage(),this.pagingSlc=null,this.nbPages=0,this.isPagingRemoved=!0,t.paging=!1}}}]),t}();e.Paging=h},function(t,e,s){"use strict";var i=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a functio