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

10 lines
109 KiB
JavaScript
Raw Normal View History

/*------------------------------------------------------------------------
- TableFilter v3.0.0 by Max Guglielmi
2015-02-20 14:46:57 +01:00
- build date: Sat Feb 21 2015 00:45:41
- http://tablefilter.free.fr
- Copyright (c) 2014, Licensed under the MIT License
------------------------------------------------------------------------*/
2015-02-17 12:17:17 +01:00
!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b:a.TableFilter=b()}(this,function(){var requirejs,require,define;return function(a){function b(a,b){return r.call(a,b)}function c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=p.map,q=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,p.nodeIdCompat&&t.test(a[g])&&(a[g]=a[g].replace(t,"")),a=n.concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||q)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function d(b,c){return function(){var d=s.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),k.apply(a,d.concat([b,c]))}}function e(a){return function(b){return c(b,a)}}function f(a){return function(b){n[a]=b}}function g(c){if(b(o,c)){var d=o[c];delete o[c],q[c]=!0,j.apply(a,d)}if(!b(n,c)&&!b(q,c))throw new Error("No "+c);return n[c]}function h(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function i(a){return function(){return p&&p.config&&p.config[a]||{}}}var j,k,l,m,n={},o={},p={},q={},r=Object.prototype.hasOwnProperty,s=[].slice,t=/\.js$/;l=function(a,b){var d,f=h(a),i=f[0];return a=f[1],i&&(i=c(i,b),d=g(i)),i?a=d&&d.normalize?d.normalize(a,e(b)):c(a,b):(a=c(a,b),f=h(a),i=f[0],a=f[1],i&&(d=g(i))),{f:i?i+"!"+a:a,n:a,pr:i,p:d}},m={require:function(a){return d(a)},exports:function(a){var b=n[a];return"undefined"!=typeof b?b:n[a]={}},module:function(a){return{id:a,uri:"",exports:n[a],config:i(a)}}},j=function(c,e,h,i){var j,k,p,r,s,t,u=[],v=typeof h;if(i=i||c,"undefined"===v||"function"===v){for(e=!e.length&&h.length?["require","exports","module"]:e,s=0;s<e.length;s+=1)if(r=l(e[s],i),k=r.f,"require"===k)u[s]=m.require(c);else if("exports"===k)u[s]=m.exports(c),t=!0;else if("module"===k)j=u[s]=m.module(c);else if(b(n,k)||b(o,k)||b(q,k))u[s]=g(k);else{if(!r.p)throw new Error(c+" missing "+k);r.p.load(r.n,d(i,!0),f(k),{}),u[s]=n[k]}p=h?h.apply(n[c],u):void 0,c&&(j&&j.exports!==a&&j.exports!==n[c]?n[c]=j.exports:p===a&&t||(n[c]=p))}else c&&(n[c]=h)},requirejs=require=k=function(b,c,d,e,f){if("string"==typeof b)return m[b]?m[b](c):g(l(b,c).f);if(!b.splice){if(p=b,p.deps&&k(p.deps,p.callback),!c)return;c.splice?(b=c,c=d,d=null):b=a}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?j(a,b,c,d):setTimeout(function(){j(a,b,c,d)},4),k},k.config=function(a){return k(a)},requirejs._defined=n,define=function(a,c,d){c.splice||(d=c,c=[]),!b(n,a)&&!b(o,a)&&(o[a]=[a,c,d])},define.amd={jQuery:!0}}(),define("../libs/almond/almond",function(){}),define("event",["exports"],function(a){var b={add:function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c},remove:function(a,b,c,d){a.detachEvent?a.detachEvent("on"+b,c):a.removeEventListener?a.removeEventListener(b,c,d):a["on"+b]=null},stop:function(a){a||(a=window.event),a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},cancel:function(a){a||(a=window.event),a.preventDefault?a.preventDefault():a.returnValue=!1}};a.Event=b}),define("dom",["exports"],function(a){function b(){return document.documentElement.classList}var c={};c.getText=function(a){var b=a.textContent||a.innerText||a.innerHTML.replace(/<[^<>]+>/g,"");return b=b.replace(/^\s+/,"").replace(/\s+$/,"")},c.create=function(a){if(a&&""!==a){var b=document.createElement(a),c=arguments;if(c.length>1)for(var d=0;d<c.length;d++){var e=typeof c[d];"object"===e.toLowerCase()&&2===c[d].length&&b.setAttribute(c[d][0],c[d][1])}return b}},c.text=function(a){return document.createTextNode(a)},c.position=function(a){var b=0,c=0;if(a&&a.offsetParent)do b+=a.offsetLeft,c+=a.offsetTop;while(a==a.
2015-02-20 14:46:57 +01:00
if(f.className=this.checkListItemCssClass,b.appendChild(f),l.add(f.check,"click",function(a){c.optionClick(a)}),this.enableCheckListResetFilter||(f.style.display="none"),d.enableEmptyOption){var g=h.createCheckItem(d.fltIds[a]+"_1",d.emOperator,d.emptyText);g.className=this.checkListItemCssClass,b.appendChild(g),l.add(g.check,"click",function(a){c.optionClick(a)}),e++}if(d.enableNonEmptyOption){var i=h.createCheckItem(d.fltIds[a]+"_2",d.nmOperator,d.nonEmptyText);i.className=this.checkListItemCssClass,b.appendChild(i),l.add(i.check,"click",function(a){c.optionClick(a)}),e++}return e}},setCheckListValues:{writable:!0,value:function(a){if(a){for(var b=this.tf,c=a.value,d=parseInt(a.id.split("_")[2],10),e="ul",f="li",g=a;j.lower(g.nodeName)!==e;)g=g.parentNode;var i=g.childNodes[d],k=g.getAttribute("colIndex"),l=g.getAttribute("value"),m=g.getAttribute("indexes");if(a.checked){if(""===c){if(m&&""!==m)for(var n=m.split(b.separator),o=0;o<n.length;o++){var p=h.id(b.fltIds[k]+"_"+n[o]);p&&(p.checked=!1,h.removeClass(g.childNodes[n[o]],this.checkListSlcItemCssClass))}g.setAttribute("value",""),g.setAttribute("indexes","")}else l=l?l:"",c=j.trim(l+" "+c+" "+b.orOperator),d=m+d+b.separator,g.setAttribute("value",c),g.setAttribute("indexes",d),h.id(b.fltIds[k]+"_0")&&(h.id(b.fltIds[k]+"_0").checked=!1);j.lower(i.nodeName)===f&&(h.removeClass(g.childNodes[0],this.checkListSlcItemCssClass),h.addClass(i,this.checkListSlcItemCssClass))}else{if(""!==c){var q=new RegExp(j.rgxEsc(c+" "+b.orOperator));l=l.replace(q,""),g.setAttribute("value",j.trim(l));var r=new RegExp(j.rgxEsc(d+b.separator));m=m.replace(r,""),g.setAttribute("indexes",m)}j.lower(i.nodeName)===f&&h.removeClass(i,this.checkListSlcItemCssClass)}}}}}),a}();a.CheckList=m}),define("modules/rowsCounter",["exports","../dom","../types","../helpers"],function(a,b,c,d){var e=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},f=b.Dom,g=c.Types,h=d.Helpers,i=function(){var a=function(a){var b=a.fObj;this.rowsCounterTgtId=b.rows_counter_target_id||null,this.rowsCounterDiv=null,this.rowsCounterSpan=null,this.rowsCounterText=b.rows_counter_text||"Rows: ",this.fromToTextSeparator=b.from_to_text_separator||"-",this.overText=b.over_text||" / ",this.totRowsCssClass=b.tot_rows_css_class||"tot",this.onBeforeRefreshCounter=g.isFn(b.on_before_refresh_counter)?b.on_before_refresh_counter:null,this.onAfterRefreshCounter=g.isFn(b.on_after_refresh_counter)?b.on_after_refresh_counter:null,this.tf=a};return e(a,null,{init:{writable:!0,value:function(){var a=this.tf;if((a.hasGrid||a.isFirstLoad)&&!this.rowsCounterSpan){var b=f.create("div",["id",a.prfxCounter+a.id]);b.className=this.totRowsCssClass;var c=f.create("span",["id",a.prfxTotRows+a.id]),d=f.create("span",["id",a.prfxTotRowsTxt+a.id]);d.appendChild(f.text(this.rowsCounterText)),this.rowsCounterTgtId||a.SetTopDiv();var e=this.rowsCounterTgtId?f.id(this.rowsCounterTgtId):a.lDiv;this.rowsCounterDiv&&h.isIE()&&(this.rowsCounterDiv.outerHTML=""),this.rowsCounterTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.rowsCounterDiv=b,this.rowsCounterSpan=c,this.refresh()}}},refresh:{writable:!0,value:function(a){if(this.rowsCounterSpan){var b=this.tf;this.onBeforeRefreshCounter&&this.onBeforeRefreshCounter.call(null,b,this.rowsCounterSpan);var c;if(b.paging){var d=b.Cpt.paging;if(d){var e=parseInt(d.startPagingRow,10)+(b.nbVisibleRows>0?1:0),f=e+d.pagingLength-1<=b.nbVisibleRows?e+d.pagingLength-1:b.nbVisibleRows;c=e+this.fromToTextSeparator+f+this.overText+b.nbVisibleRows}}else c=a&&""!==a?a:b.nbFilterableRows-b.nbHiddenRows-(b.hasVisibleRows?b.visibleRows.length:0);this.rowsCounterSpan.innerHTML=c,this.onAfterRefreshCounter&&this.onAfterRefreshCounter.call(null,b,this.rowsCounterSpan,c)}}},destroy:{writable:!0,value:function(){var a=this.tf;a.hasGrid&&this.rowsCounterSpan&&(!this.rowsCounterTgtId&&this.rowsCounterDiv?h.isIE()?this.rowsCounterDiv.outerHTML="":this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv):f.id(this.rowsCounterTgtId).innerHTML="",t
},this.sortConfig.sortTypes=m.isArray(this.sortConfig.sort_types)?i.sort_config.sort_types:[],this.sortConfig.sortCol=void 0!==this.sortConfig.sort_col?i.sort_config.sort_col:null,this.sortConfig.asyncSort=this.sortConfig.async_sort===!0?!0:!1,this.sortConfig.triggerIds=m.isArray(this.sortConfig.sort_trigger_ids)?i.sort_config.sort_trigger_ids:[],this.selectable=i.selectable===!0?!0:!1,this.editable=i.editable===!0?!0:!1,this.ezEditTableConfig=i.ezEditTable_config||{},this.ezEditTableConfig.name=void 0!==this.ezEditTableConfig.name?i.ezEditTable_config.name:"ezedittable",this.ezEditTableConfig.src=void 0!==this.ezEditTableConfig.src?i.ezEditTable_config.src:this.basePath+"ezEditTable/ezEditTable.js",this.ezEditTableConfig.loadStylesheet=this.ezEditTableConfig.loadStylesheet===!0?!0:!1,this.ezEditTableConfig.stylesheet=this.ezEditTableConfig.stylesheet||this.basePath+"ezEditTable/ezEditTable.css",this.ezEditTableConfig.stylesheetName=void 0!==this.ezEditTableConfig.stylesheetName?i.ezEditTable_config.stylesheetName:"ezEditTableCss",this.ezEditTableConfig.err='Failed to instantiate EditTable object.\n"ezEditTable" module may not be available.',this.onKeyUp=i.on_keyup===!0?!0:!1,this.onKeyUpDelay=isNaN(i.on_keyup_delay)?900:i.on_keyup_delay,this.isUserTyping=null,this.onKeyUpTimer=void 0,this.highlightKeywords=i.highlight_keywords===!0?!0:!1,this.defaultDateType=i.default_date_type||"DMY",this.thousandsSeparator=i.thousands_separator||",",this.decimalSeparator=i.decimal_separator||".",this.hasColNbFormat=i.col_number_format===!0?!0:!1,this.colNbFormat=m.isArray(this.hasColNbFormat)?i.col_number_format:null,this.hasColDateType=i.col_date_type===!0?!0:!1,this.colDateType=m.isArray(this.hasColDateType)?i.col_date_type:null,this.msgFilter=i.msg_filter||"Filtering data...",this.msgPopulate=i.msg_populate||"Populating filter...",this.msgPopulateCheckList=i.msg_populate_checklist||"Populating list...",this.msgChangePage=i.msg_change_page||"Collecting paging data...",this.msgClear=i.msg_clear||"Clearing filters...",this.msgChangeResults=i.msg_change_results||"Changing results per page...",this.msgResetValues=i.msg_reset_grid_values||"Re-setting filters values...",this.msgResetPage=i.msg_reset_page||"Re-setting page...",this.msgResetPageLength=i.msg_reset_page_length||"Re-setting page length...",this.msgSort=i.msg_sort||"Sorting data...",this.msgLoadExtensions=i.msg_load_extensions||"Loading extensions...",this.msgLoadThemes=i.msg_load_themes||"Loading theme(s)...",this.prfxTf="TF",this.prfxFlt="flt",this.prfxValButton="btn",this.prfxInfDiv="inf_",this.prfxLDiv="ldiv_",this.prfxRDiv="rdiv_",this.prfxMDiv="mdiv_",this.prfxContentDiv="cont_",this.prfxCheckListDiv="chkdiv_",this.prfxSlcPages="slcPages_",this.prfxSlcResults="slcResults_",this.prfxSlcResultsTxt="slcResultsTxt_",this.prfxBtnNextSpan="btnNextSpan_",this.prfxBtnPrevSpan="btnPrevSpan_",this.prfxBtnLastSpan="btnLastSpan_",this.prfxBtnFirstSpan="btnFirstSpan_",this.prfxBtnNext="btnNext_",this.prfxBtnPrev="btnPrev_",this.prfxBtnLast="btnLast_",this.prfxBtnFirst="btnFirst_",this.prfxPgSpan="pgspan_",this.prfxPgBeforeSpan="pgbeforespan_",this.prfxPgAfterSpan="pgafterspan_",this.prfxCounter="counter_",this.prfxTotRows="totrows_span_",this.prfxTotRowsTxt="totRowsTextSpan_",this.prfxResetSpan="resetspan_",this.prfxLoader="load_",this.prfxStatus="status_",this.prfxStatusSpan="statusSpan_",this.prfxStatusTxt="statusText_",this.prfxCookieFltsValues="tf_flts_",this.prfxCookiePageNb="tf_pgnb_",this.prfxCookiePageLen="tf_pglen_",this.prfxMainTblCont="gridCont_",this.prfxTblCont="tblCont_",this.prfxHeadTblCont="tblHeadCont_",this.prfxHeadTbl="tblHead_",this.prfxGridFltTd="_td_",this.prfxGridTh="tblHeadTh_",this.prfxHelpSpan="helpSpan_",this.prfxHelpDiv="helpDiv_",this.prfxPopUpSpan="popUpSpan_",this.prfxPopUpDiv="popUpDiv_",this.hasStoredValues=!1,this.rememberGridValues=i.remember_grid_values===!0?!0:!1,this.fltsValuesCookie=this.prfxCookieFltsValues+this.id,this.rememberPageNb=this.paging&&i.remember_page_number?!0:!1,this.pgNbCookie=this.prfxCookiePageNb+this.id,this.rememberPageLen=th
}}this.singleSearchFlt&&G&&(F=!0),F?(this.SetRowValidation(B,!0),this.validRowsIndex.push(B),this.alternateBgs&&this.Cpt.alternateRows.setRowBg(B,this.validRowsIndex.length),this.onRowValidated&&this.onRowValidated.call(null,this,B)):(this.SetRowValidation(B,!1),this.hasVisibleRows&&n.has(this.visibleRows,B)&&!this.paging?this.validRowsIndex.push(B):f++)}}this.nbVisibleRows=this.validRowsIndex.length,this.nbHiddenRows=f,this.isStartBgAlternate=!1,this.rememberGridValues&&this.Cpt.store.saveFilterValues(this.fltsValuesCookie),this.paging?(this.startPagingRow=0,this.currentPageNb=1,this.Cpt.paging.setPagingInfo(this.validRowsIndex)):this.ApplyGridProps(),this.onAfterFilter&&this.onAfterFilter.call(null,this)}},ApplyGridProps:function(){this.activeFlt&&k.lower(this.activeFlt.nodeName)===this.fltTypeSlc&&!this.popUpFilters&&(this.activeFlt.blur(),this.activeFlt.parentNode&&this.activeFlt.parentNode.focus()),this.visibleRows&&this.SetVisibleRows(),this.hasColOperation&&this.Cpt.colOps.calc(),this.refreshFilters&&this.RefreshFiltersGrid();var a=!this.paging&&this.hasVisibleRows?this.nbVisibleRows-this.visibleRows.length:this.nbVisibleRows;this.rowsCounter&&this.Cpt.rowsCounter.refresh(a),""!==this.inpWatermark&&this.SetWatermark(!0),this.popUpFilters&&this.Cpt.popupFilter.closeAll()},GetColValues:function(a,b,d){if(this.fltGrid){for(var e=this.tbl.rows,f=[],g=this.refRow;g<this.nbRows;g++){var h=!1;d&&m.isArray(d)&&(h=n.has(d,g));var i=e[g].cells,j=i.length;if(j==this.nbCells&&!h)for(var l=0;j>l;l++)if(l===a&&""===e[g].style.display){var o=k.lower(this.GetCellData(l,i[l])),p=this.colNbFormat?this.colNbFormat[a]:null,q=b?c(o,p):o;f.push(q)}}return f}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(!c)return"";var d=this.fltCol[a];if(d!==this.fltTypeMulti&&d!==this.fltTypeCheckList)b=c.value;else if(d===this.fltTypeMulti){b="";for(var e=0;e<c.options.length;e++)c.options[e].selected&&(b=b.concat(c.options[e].value+" "+this.orOperator+" "));b=b.substr(0,b.length-4)}else d===this.fltTypeCheckList&&(null!==c.getAttribute("value")?(b=c.getAttribute("value"),b=b.substr(0,b.length-3)):b="");return b}},GetFiltersValue:function(){if(this.fltGrid){for(var a=[],b=0;b<this.fltIds.length;b++)a.push(k.trim(k.matchCase(this.GetFilterValue(b),this.matchCase)));return a}},GetFilterId:function(){return this.fltGrid?this.fltIds[i]:void 0},GetFiltersByType:function(a,b){if(this.fltGrid){for(var c=[],d=0;d<this.fltIds.length;d++){var e=this["col"+d];if(e===k.lower(a)){var f=b?d:this.fltIds[d];c.push(f)}}return c}},GetFilterElement:function(a){return this.fltGrid?h.id(this.fltIds[a]):null},GetCellsNb:function(a){var b=a?this.tbl.rows[a]:this.tbl.rows[0];return b.cells.length},GetRowsNb:function(a){var b=this.refRow?this.refRow:0,c=this.tbl.rows.length;return a&&(b=0),parseInt(c-b,10)},GetCellData:function(a,b){return void 0!==a&&b?this.customCellData&&n.has(this.customCellDataCols,a)?this.customCellData.call(null,this,b,a):h.getText(b):""},GetTableData:function(){for(var a=this.tbl.rows,b=this.refRow;b<this.nbRows;b++){for(var c=[b,[]],d=a[b].cells,e=0;e<d.length;e++){var f=this.GetCellData(e,d[e]);c[1].push(f)}this.tblData.push(c)}return this.tblData},GetFilteredData:function(a){if(!this.validRowsIndex)return[];var b=this.tbl.rows,c=[];if(a){for(var d=this.gridLayout?this.headTbl:this.tbl,e=d.rows[this.headersRow],f=[e.rowIndex,[]],g=0;g<this.nbCells;g++){var h=this.GetCellData(g,e.cells[g]);f[1].push(h)}c.push(f)}for(var i=this.GetValidRowsIndex(!0),j=0;j<i.length;j++){for(var k=[this.validRowsIndex[j],[]],l=b[this.validRowsIndex[j]].cells,m=0;m<l.length;m++){var n=this.GetCellData(m,l[m]);k[1].push(n)}c.push(k)}return c},GetFilteredDataCol:function(a){if(void 0===a)return[];for(var b=this.GetFilteredData(),c=[],d=0;d<b.length;d++){var e=b[d],f=e[1],g=f[a];c.push(g)}return c},GetRowDisplay:function(a){return this.fltGrid||m.isObj(a)?a.style.display:void 0},SetRowValidation:function(a,b){var c=this.tbl.rows[a];if(c&&"boolean"===k.lower(typeof b)){this.hasVisibleRows&&n.has(this.visibleRows,a)&&!this.paging&&(b=!0);