tablesorter/dist/js/widgets/widget-filter.min.js

2 lines
30 KiB
JavaScript
Raw Normal View History

2017-04-19 00:50:08 +00:00
/*! Widget: filter - updated 4/18/2017 (v2.28.8) */
2017-05-16 20:33:15 +00:00
!function(e){"use strict";var t,r,i=e.tablesorter||{},l=i.css,a=i.keyCodes;e.extend(l,{filterRow:"tablesorter-filter-row",filter:"tablesorter-filter",filterDisabled:"disabled",filterRowHide:"hideme"}),e.extend(a,{backSpace:8,escape:27,space:32,left:37,down:40}),i.addWidget({id:"filter",priority:50,options:{filter_cellFilter:"",filter_childRows:!1,filter_childByColumn:!1,filter_childWithSibs:!0,filter_columnAnyMatch:!0,filter_columnFilters:!0,filter_cssFilter:"",filter_defaultAttrib:"data-value",filter_defaultFilter:{},filter_excludeFilter:{},filter_external:"",filter_filteredRow:"filtered",filter_formatter:null,filter_functions:null,filter_hideEmpty:!0,filter_hideFilters:!1,filter_ignoreCase:!0,filter_liveSearch:!0,filter_matchType:{input:"exact",select:"exact"},filter_onlyAvail:"filter-onlyAvail",filter_placeholder:{search:"",select:""},filter_reset:null,filter_resetOnEsc:!0,filter_saveFilters:!1,filter_searchDelay:300,filter_searchFiltered:!0,filter_selectSource:null,filter_selectSourceSeparator:"|",filter_serversideFiltering:!1,filter_startsWith:!1,filter_useParsedData:!1},format:function(e,r,i){r.$table.hasClass("hasFilters")||t.init(e,r,i)},remove:function(t,r,a,n){var s,o,c=r.$table,f=r.$tbodies,d="addRows updateCell update updateRows updateComplete appendCache filterReset filterAndSortReset filterEnd search ".split(" ").join(r.namespace+"filter ");if(c.removeClass("hasFilters").unbind(d.replace(i.regex.spaces," ")).find("."+l.filterRow).remove(),a.filter_initialized=!1,!n){for(s=0;s<f.length;s++)(o=i.processTbody(t,f.eq(s),!0)).children().removeClass(a.filter_filteredRow).show(),i.processTbody(t,o,!1);a.filter_reset&&e(document).undelegate(a.filter_reset,"click"+r.namespace+"filter")}}}),t=i.filter={regex:{regex:/^\/((?:\\\/|[^\/])+)\/([migyu]{0,5})?$/,child:/tablesorter-childRow/,filtered:/filtered/,type:/undefined|number/,exact:/(^[\"\'=]+)|([\"\'=]+$)/g,operators:/[<>=]/g,query:"(q|query)",wild01:/\?/g,wild0More:/\*/g,quote:/\"/g,isNeg1:/(>=?\s*-\d)/,isNeg2:/(<=?\s*\d)/},types:{or:function(i,l,a){if((r.orTest.test(l.iFilter)||r.orSplit.test(l.filter))&&!r.regex.test(l.filter)){var n,s,o,c,f=e.extend({},l),d=l.filter.split(r.orSplit),u=l.iFilter.split(r.orSplit),h=d.length;for(n=0;n<h;n++){f.nestedFilters=!0,f.filter=""+(t.parseFilter(i,d[n],l)||""),f.iFilter=""+(t.parseFilter(i,u[n],l)||""),o="("+(t.parseFilter(i,f.filter,l)||"")+")";try{if(c=new RegExp(l.isMatch?o:"^"+o+"$",i.widgetOptions.filter_ignoreCase?"i":""),s=c.test(f.exact)||t.processTypes(i,f,a))return s}catch(e){return null}}return s||!1}return null},and:function(i,l,a){if(r.andTest.test(l.filter)){var n,s,o,c,f=e.extend({},l),d=l.filter.split(r.andSplit),u=l.iFilter.split(r.andSplit),h=d.length;for(n=0;n<h;n++){f.nestedFilters=!0,f.filter=""+(t.parseFilter(i,d[n],l)||""),f.iFilter=""+(t.parseFilter(i,u[n],l)||""),c=("("+(t.parseFilter(i,f.filter,l)||"")+")").replace(r.wild01,"\\S{1}").replace(r.wild0More,"\\S*");try{o=new RegExp(l.isMatch?c:"^"+c+"$",i.widgetOptions.filter_ignoreCase?"i":"").test(f.exact)||t.processTypes(i,f,a),s=0===n?o:s&&o}catch(e){return null}}return s||!1}return null},regex:function(e,t){if(r.regex.test(t.filter)){var i,l=t.filter_regexCache[t.index]||r.regex.exec(t.filter),a=l instanceof RegExp;try{a||(t.filter_regexCache[t.index]=l=new RegExp(l[1],l[2])),i=l.test(t.exact)}catch(e){i=!1}return i}return null},operators:function(l,a){if(r.operTest.test(a.iFilter)&&""!==a.iExact){var n,s,o,c=l.table,f=a.parsed[a.index],d=i.formatFloat(a.iFilter.replace(r.operators,""),c),u=l.parsers[a.index]||{},h=d;return(f||"numeric"===u.type)&&(o=e.trim(""+a.iFilter.replace(r.operators,"")),d="number"!=typeof(s=t.parseFilter(l,o,a,!0))||""===s||isNaN(s)?d:s),!f&&"numeric"!==u.type||isNaN(d)||void 0===a.cache?(o=isNaN(a.iExact)?a.iExact.replace(i.regex.nondigit,""):a.iExact,n=i.formatFloat(o,c)):n=a.cache,r.gtTest.test(a.iFilter)?s=r.gteTest.test(a.iFilter)?n>=d:n>d:r.ltTest.test(a.iFilter)&&(s=r.lteTest.test(a.iFilter)?n<=d:n<d),s||""!==h||(s=!0),s}return null},notMatch:function(i,l){if(r.notTest.test(l.iFilter)){var a,n=l.iFilter.replace("!