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

5 lines
106 KiB
JavaScript
Raw Normal View History

2015-06-05 15:10:25 +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)+"-"+{1:"9803ed6151473186f605"}[t]+".js",i.appendChild(a)}},e.m=t,e.c=i,e.p="/dist/tablefilter/",e(0)}([function(t,e,s){"use strict";var i=function(t){return t&&t.__esModule?t:{"default":t}},l=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=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 r=s(2),n=i(r),o=s(3),h=i(o),u=s(4),d=i(u),p=s(5),f=i(p),c=s(6),g=i(c),v=s(7),C=i(v),b=s(8),m=i(b),_=s(9),y=i(_),w=s(10),x=s(11),T=s(12),k=s(13),I=s(14),F=s(15),R=s(16),P=s(17),S=s(18),L=s(19),E=s(20),D=s(21),B=s(22),N=s(23),O=window,M=m["default"].isValid,A=m["default"].format,H=O.document,V=function(){function t(e){if(l(this,t),0!==arguments.length){if(this.id=e,this.version="0.0.1",this.year=(new Date).getFullYear(),this.tbl=h["default"].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"!==d["default"].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,i=arguments.length;i>s;s++){var a=arguments[s],r=typeof a;switch(d["default"].lower(r)){case"number":this.startRow=a;break;case"object":this.cfg=a}}var o=this.cfg;this.refRow=null===this.startRow?2:this.startRow+1;try{this.nbCells=this.getCellsNb(this.refRow)}catch(u){this.nbCells=this.getCellsNb(0)}this.basePath=o.base_path||"tablefilter/",this.extensionsPath=o.extensions_path||this.basePath+"extensions/",this.fltTypeInp="input",this.fltTypeSlc="select",this.fltTypeMulti="multiple",this.fltTypeCheckList="checklist",this.fltTypeNone="none",this.fltGrid=o.grid===!1?!1:!0,this.gridLayout=Boolean(o.grid_layout),this.sourceTblHtml=null,this.gridLayout&&(this.sourceTblHtml=this.tbl.outerHTML),this.filtersRowIndex=o.filters_row_index||0,this.headersRow=o.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"!==o.filters_cell_tag||"td"!==o.filters_cell_tag?"td":o.filters_cell_tag,this.fltIds=[],this.fltElms=[],this.searchArgs=null,this.tblData=[],this.validRowsIndex=null,this.fltGridEl=null,this.isFirstLoad=!0,this.infDiv=null,this.lDiv=null,this.rDiv=null,this.mDiv=null,this.contDiv=null,this.infDivCssClass=o.inf_div_css_class||"inf",this.lDivCssClass=o.left_div_css_class||"ldiv",this.rDivCssClass=o.right_div_css_class||"rdiv",this.mDivCssClass=o.middle_div_css_class||"mdiv",this.contDivCssClass=o.content_div_css_class||"cont",this.stylesheet=o.stylesheet||this.basePath+"tablefilter.css",this.stylesheetId=this.id+"_style",this.fltsRowCssClass=o.flts_row_css_class||"fltrow",this.enableIcons=o.enable_icons===!1?!1:!0,this.alternateBgs=Boolean(o.alternate_rows),this.hasColWidths=g["default"].isArray(o.col_widths),this.colWidths=this.hasColWidths?o.col_wid
var u=d["default"].lower(this.getCellData(h,n[h])),p=this.colNbFormat?this.colNbFormat[t]:null,f=e?y["default"].removeNbFormat(u,p):u;l.push(f)}}return l}}},{key:"getFilterValue",value:function(t){if(this.fltGrid){var e=void 0,s=this.getFilterElement(t);if(!s)return"";var i=this.getFilterType(t);if(i!==this.fltTypeMulti&&i!==this.fltTypeCheckList)e=s.value;else if(i===this.fltTypeMulti){e="";for(var l=0,a=s.options.length;a>l;l++)s.options[l].selected&&(e=e.concat(s.options[l].value+" "+this.orOperator+" "));e=e.substr(0,e.length-4)}else i===this.fltTypeCheckList&&(null!==s.getAttribute("value")?(e=s.getAttribute("value"),e=e.substr(0,e.length-3)):e="");return e}}},{key:"getFiltersValue",value:function(){if(this.fltGrid){for(var t=[],e=0,s=this.fltIds.length;s>e;e++)t.push(d["default"].trim(d["default"].matchCase(this.getFilterValue(e),this.caseSensitive)));return t}}},{key:"getFilterId",value:function(t){return this.fltGrid?this.fltIds[t]:void 0}},{key:"getFiltersByType",value:function(t,e){if(this.fltGrid){for(var s=[],i=0,l=this.fltIds.length;l>i;i++){var a=this.getFilterType(i);if(a===d["default"].lower(t)){var r=e?i:this.fltIds[i];s.push(r)}}return s}}},{key:"getFilterElement",value:function(t){var e=this.fltIds[t];return h["default"].id(e)}},{key:"getCellsNb",value:function(){var t=void 0===arguments[0]?0:arguments[0],e=this.tbl.rows[t];return e.cells.length}},{key:"getRowsNb",value:function(t){var e=g["default"].isUndef(this.refRow)?0:this.refRow,s=this.tbl.rows.length;return t&&(e=0),parseInt(s-e,10)}},{key:"getCellData",value:function(t,e){return void 0!==t&&e?this.customCellData&&C["default"].has(this.customCellDataCols,t)?this.customCellData.call(null,this,e,t):h["default"].getText(e):""}},{key:"getTableData",value:function(){for(var t=this.tbl.rows,e=this.refRow;e<this.nbRows;e++){for(var s=[e,[]],i=t[e].cells,l=0,a=i.length;a>l;l++){var r=this.getCellData(l,i[l]);s[1].push(r)}this.tblData.push(s)}return this.tblData}},{key:"getFilteredData",value:function(t){if(!this.validRowsIndex)return[];var e=this.tbl.rows,s=[];if(t){for(var i=this.gridLayout?this.Cpt.gridLayout.headTbl:this.tbl,l=i.rows[this.headersRow],a=[l.rowIndex,[]],r=0;r<this.nbCells;r++){var n=this.getCellData(r,l.cells[r]);a[1].push(n)}s.push(a)}for(var o=this.getValidRows(!0),h=0;h<o.length;h++){for(var u=[this.validRowsIndex[h],[]],d=e[this.validRowsIndex[h]].cells,p=0;p<d.length;p++){var f=this.getCellData(p,d[p]);u[1].push(f)}s.push(u)}return s}},{key:"getFilteredDataCol",value:function(t){if(void 0===t)return[];for(var e=this.getFilteredData(),s=[],i=0,l=e.length;l>i;i++){var a=e[i],r=a[1],n=r[t];s.push(n)}return s}},{key:"getRowDisplay",value:function(t){return this.fltGrid&&g["default"].isObj(t)?t.style.display:void 0}},{key:"validateRow",value:function(t,e){var s=this.tbl.rows[t];if(s&&"boolean"===d["default"].lower(typeof e)){this.hasVisibleRows&&C["default"].has(this.visibleRows,t)&&!this.paging&&(e=!0);var i=e?"":"none",l=e?"true":"false";s.style.display=i,this.paging&&s.setAttribute("validRow",l)}}},{key:"validateAllRows",value:function(){if(this._hasGrid){this.validRowsIndex=[];for(var t=this.refRow;t<this.nbFilterableRows;t++)this.validateRow(t,!0),this.validRowsIndex.push(t)}}},{key:"setFilterValue",value:function(t){var e=void 0===arguments[1]?"":arguments[1];if((this.fltGrid||this.isFirstLoad)&&this.getFilterElement(t)){var s=this.getFilterElement(t),i=this.getFilterType(t);if(i!==this.fltTypeMulti&&i!=this.fltTypeCheckList)s.value=e;else if(i===this.fltTypeMulti)for(var l=e.split(" "+this.orOperator+" "),a=0,r=s.options.length;r>a;a++){var n=s.options[a];(""===l||""===l[0])&&(n.selected=!1),""===n.value&&(n.selected=!1),""!==n.value&&C["default"].has(l,n.value,!0)&&(n.selected=!0)}else if(i===this.fltTypeCheckList){e=d["default"].matchCase(e,this.caseSensitive);var o=e.split(" "+this.orOperator+" "),u=h["default"].tag(s,"li").length;s.setAttribute("value",""),s.setAttribute("indexes","");for(var p=0;u>p;p++){var f=h["default"].tag(s,"li")[p],c=h["default"].tag(f,"label")[0],g=h["default"].tag(f,"input")[0],v=d["default"].match
2015-06-05 09:46:48 +02:00
2015-06-05 15:10:25 +02:00
s&&(s.style.display="none")}}},{key:"buildIcons",value:function(){for(var t=0;t<this.popUpFltImgs.length;t++)this.buildIcon(t,!1)}},{key:"buildIcon",value:function(t,e){this.popUpFltImgs[t]&&(this.popUpFltImgs[t].src=e?this.popUpImgFltActive:this.popUpImgFlt)}},{key:"destroy",value:function(){this.popUpFltElmCache=[];for(var t=0;t<this.popUpFltElms.length;t++){var e=this.popUpFltElms[t],s=this.popUpFltSpans[t],i=this.popUpFltImgs[t];e&&(e.parentNode.removeChild(e),this.popUpFltElmCache[t]=e),e=null,s&&s.parentNode.removeChild(s),s=null,i&&i.parentNode.removeChild(i),i=null}this.popUpFltElms=[],this.popUpFltSpans=[],this.popUpFltImgs=[]}}]),e}();e.PopupFilter=c}).call(e,function(){return this}())},function(t,e,s){"use strict";var i=function(t){return t&&t.__esModule?t:{"default":t}},l=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=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 r=s(3),n=i(r),o=s(7),h=i(o),u=s(4),d=i(u),p=s(24),f=i(p),c=function(){function t(e){l(this,t);var s=e.config();this.enableSlcResetFilter=s.enable_slc_reset_filter===!1?!1:!0,this.nonEmptyText=s.non_empty_text||"(Non empty)",this.slcFillingMethod=s.slc_filling_method||"createElement",this.activateSlcTooltip=s.activate_slc_tooltip||"Click to activate",this.multipleSlcTooltip=s.multiple_slc_tooltip||"Use Ctrl key for multiple selections",this.isCustom=null,this.opts=null,this.optsTxt=null,this.slcInnerHtml=null,this.tf=e}return a(t,[{key:"build",value:function(t,e,s,i){var l=this.tf;l.EvtManager(l.Evt.name.dropdown,{slcIndex:t,slcRefreshed:e,slcExternal:s,slcId:i})}},{key:"_build",value:function(t){var e=void 0===arguments[1]?!1:arguments[1],s=void 0===arguments[2]?!1:arguments[2],i=void 0===arguments[3]?null:arguments[3],l=this.tf;t=parseInt(t,10),this.opts=[],this.optsTxt=[],this.slcInnerHtml="";var a=l.fltIds[t];if((n["default"].id(a)||s)&&(n["default"].id(i)||!s)){var r=n["default"].id(s?i:a),o=l.tbl.rows,u=l.matchCase;this.isCustom=l.isCustomOptions(t);var p;e&&l.activeFilterId&&(p=l.activeFilterId.split("_")[0],p=p.split(l.prfxFlt)[1]);var c=[],g=[];l.rememberGridValues&&(c=l.Cpt.store.getFilterValues(l.fltsValuesCookie),c&&!d["default"].isEmpty(c.toString())&&(this.isCustom?g.push(c[t]):g=c[t].split(" "+l.orOperator+" ")));var v=null,C=null;e&&l.disableExcludedOptions&&(v=[],C=[]);for(var b=l.refRow;b<l.nbRows;b++)if(!l.hasVisibleRows||!h["default"].has(l.visibleRows,b)||l.paging){var m=o[b].cells,_=m.length;if(_===l.nbCells&&!this.isCustom)for(var y=0;_>y;y++)if(t===y&&(!e||e&&l.disableExcludedOptions)||t==y&&e&&(""===o[b].style.display&&!l.paging||l.paging&&(!l.validRowsIndex||l.validRowsIndex&&h["default"].has(l.validRowsIndex,b))&&(void 0===p||p==t||p!=t&&h["default"].has(l.validRowsIndex,b)))){var w=l.getCellData(y,m[y]),x=d["default"].matchCase(w,u);if(h["default"].has(this.opts,x,u)||this.opts.push(w),e&&l.disableExcludedOptions){var T=C[y];T||(T=this.GetFilteredDataCol(y)),h["default"].has(T,x,u)||h["default"].has(v,x,u)||this.isFirstLoad||v.push(w)}}}if(this.isCustom){var k=l.getCustomOptions(t);this.opts=k[0],this.optsTxt=k[1]}if(l.sortSlc&&!this.isCustom&&(u?(this.opts.sort(),v&&v.sort()):(this.opts.sort(f["default"].ignoreCase),v&&v.sort(f["default"].ignoreCase))),l.sortNumAsc&&h["default"].has(l.sortNumAsc,t))try{this.opts.sort(numSortAsc),v&&v.sort(numSortAsc),this.isCustom&&this.optsTxt.sort(numSortAsc)}catch(I){this.opts.sort(),v&&v.sort(),this.isCustom&&this.optsTxt.sort()}if(l.sortNumDesc&&h["default"].has(l.sortNumDesc,t))try{this.opts.sort(numSortDesc),v&&v.sort(numSortDesc),this.isCustom&&this.optsTxt.sort(numSortDesc)}catch(I){this.opts.sort(),v&&v.sort(),this.isCustom&&this.optsTxt.sort()}this.addOptions(t,r,e,v,c,g)}}},{key:"addOptions",value:function(t,e,s,i,l,a){var r=this.tf,o=d["default"].lower(this.slcFillingMethod),u=e.valu
this.btnResetHtml=s.btn_reset_html||(e.enableIcons?'<input type="button" value="" class="'+e.btnResetCssClass+'" title="'+this.btnResetTooltip+'" />':null),this.prfxResetSpan="resetspan_",this.tf=e}return a(t,[{key:"onClick",value:function(){this.tf.clearFilters()}},{key:"init",value:function(){var t=this,e=this.tf;if(e.hasGrid()||e.isFirstLoad||!e.btnResetEl){var s=n["default"].create("span",["id",this.prfxResetSpan+e.id]);this.btnResetTgtId||e.setToolbar();var i=this.btnResetTgtId?n["default"].id(this.btnResetTgtId):e.rDiv;if(i.appendChild(s),this.btnResetHtml){s.innerHTML=this.btnResetHtml;var l=s.firstChild;h["default"].add(l,"click",function(){t.onClick()})}else{var a=n["default"].create("a",["href","javascript:void(0);"]);a.className=e.btnResetCssClass,a.appendChild(n["default"].text(this.btnResetText)),s.appendChild(a),h["default"].add(a,"click",function(){t.onClick()})}this.btnResetEl=s.firstChild}}},{key:"destroy",value:function(){var t=this.tf;if(t.hasGrid()&&this.btnResetEl){var e=n["default"].id(t.prfxResetSpan+t.id);e&&e.parentNode.removeChild(e),this.btnResetEl=null}}}]),t}();e.ClearButton=u},function(t,e,s){"use strict";var i=function(t){return t&&t.__esModule?t:{"default":t}},l=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},a=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 r=s(3),n=i(r),o=s(2),h=i(o),u=function(){function t(e){l(this,t);var s=e.config();this.helpInstrTgtId=s.help_instructions_target_id||null,this.helpInstrContTgtId=s.help_instructions_container_target_id||null,this.helpInstrText=s.help_instructions_text?s.help_instructions_text:'Use the filters above each column to filter and limit table data. Avanced searches can be performed by using the following operators: <br /><b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>=</b>, <b>*</b>, <b>!</b>, <b>{</b>, <b>}</b>, <b>||</b>,<b>&amp;&amp;</b>, <b>[empty]</b>, <b>[nonempty]</b>, <b>rgx:</b><br/> These operators are described here:<br/><a href="http://tablefilter.free.fr/#operators" target="_blank">http://tablefilter.free.fr/#operators</a><hr/>',this.helpInstrHtml=s.help_instructions_html||null,this.helpInstrBtnText=s.help_instructions_btn_text||"?",this.helpInstrBtnHtml=s.help_instructions_btn_html||null,this.helpInstrBtnCssClass=s.help_instructions_btn_css_class||"helpBtn",this.helpInstrContCssClass=s.help_instructions_container_css_class||"helpCont",this.helpInstrBtnEl=null,this.helpInstrContEl=null,this.helpInstrDefaultHtml='<div class="helpFooter"><h4>HTML Table Filter Generator v. '+e.version+'</h4><a href="http://tablefilter.free.fr" target="_blank">http://tablefilter.free.fr</a><br/><span>&copy;2009-'+e.year+' Max Guglielmi.</span><div align="center" style="margin-top:8px;"><a href="javascript:void(0);">Close</a></div></div>',this.prfxHelpSpan="helpSpan_",this.prfxHelpDiv="helpDiv_",this.tf=e}return a(t,[{key:"init",value:function(){var t=this;if(!this.helpInstrBtnEl){var e=this.tf,s=n["default"].create("span",["id",this.prfxHelpSpan+e.id]),i=n["default"].create("div",["id",this.prfxHelpDiv+e.id]);this.helpInstrTgtId||e.setToolbar();var l=this.helpInstrTgtId?n["default"].id(this.helpInstrTgtId):e.rDiv;l.appendChild(s);var a=this.helpInstrContTgtId?n["default"].id(this.helpInstrContTgtId):s;if(this.helpInstrBtnHtml){s.innerHTML=this.helpInstrBtnHtml;var r=s.firstChild;h["default"].add(r,"click",function(){t.toggle()}),a.appendChild(i)}else{a.appendChild(i);var o=n["default"].create("a",["href","javascript:void(0);"]);o.className=this.helpInstrBtnCssClass,o.appendChild(n["default"].text(this.helpInstrBtnText)),s.appendChild(o),h["default"].add(o,"click",function(){t.toggle()})}this.helpInstrHtml?(this.helpInstrContTgtId&&a.appendChild(i),i.innerHTML=this.helpInstrHtml,this.helpInstrContTgtId||(i.className=this.helpInstrContCssClass,h["default