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

2 lines
7.7 KiB
JavaScript
Raw Normal View History

/*! Widget: filter, html5 formatter functions - updated 7/17/2014 (v2.17.5) */
2017-05-16 20:33:15 +00:00
!function(e){"use strict";var t=e.tablesorter||{},a=".compare-select",n=t.filterFormatter=e.extend({},t.filterFormatter,{addCompare:function(t,n,i){if(i.compare&&e.isArray(i.compare)&&i.compare.length>1){var l="",d=[a.slice(1)," "+a.slice(1),""],r=i.cellText?'<label class="'+d.join("-label")+n+'">'+i.cellText+"</label>":"";e.each(i.compare,function(e,t){l+="<option "+(i.selected===e?"selected":"")+">"+t+"</option>"}),t.wrapInner('<div class="'+d.join("-wrapper")+n+'" />').prepend(r+'<select class="'+d.join("")+n+'" />').find("select").append(l)}},updateCompare:function(t,n,i){var l=n.val()||"",d=l.replace(/\s*?[><=]\s*?/g,""),r=l.match(/[><=]/g)||"";return i.compare&&(e.isArray(i.compare)&&(r=(r||[]).join("")||i.compare[i.selected||0]),t.find(a).val(r)),[l,d]},html5Number:function(i,l,d){var r,c,o=e.extend({value:0,min:0,max:100,step:1,delayed:!0,disabled:!1,addToggle:!1,exactMatch:!1,cellText:"",compare:"",skipTest:!1},d),s=e('<input type="number" style="visibility:hidden;" value="test">').appendTo(i),p=o.skipTest||"number"===s.attr("type")&&"test"!==s.val(),u=[],f=i.closest("table")[0].config,m=function(t,n){var l=!o.addToggle||i.find(".toggle").is(":checked"),d=i.find(".number").val(),r=(e.isArray(o.compare)?i.find(a).val()||o.compare[o.selected||0]:o.compare)||"",s=!f.$table[0].hasInitialized||(t||o.delayed||"");c.val(!o.addToggle||l?(r||(o.exactMatch?"=":""))+d:"").trigger(n?"":"search",s).end().find(".number").val(d),i.find(".number").length&&(i.find(".number")[0].disabled=o.disabled||!l),u.length&&(u.find(".number").val(d)[0].disabled=o.disabled||!l,u.find(a).val(r),o.addToggle&&(u.find(".toggle")[0].checked=l))};return s.remove(),p&&(r=o.addToggle?'<div class="button"><input id="html5button'+l+'" type="checkbox" class="toggle" /><label for="html5button'+l+'"></label></div>':"",r+='<input class="number" type="number" min="'+o.min+'" max="'+o.max+'" value="'+o.value+'" step="'+o.step+'" />',i.append(r+'<input type="hidden" />').find(".toggle, .number").bind("change",function(){m()}).closest("thead").find("th[data-column="+l+"]").addClass("filter-parsed").closest("table").bind("filterReset",function(){e.isArray(o.compare)&&i.add(u).find(a).val(o.compare[o.selected||0]),o.addToggle&&(i.find(".toggle")[0].checked=!1,u.length&&(u.find(".toggle")[0].checked=!1)),i.find(".number").val(o.value),setTimeout(function(){m()},0)}),c=i.find("input[type=hidden]").bind("change",function(){i.find(".number").val(this.value),m()}),f.$table.bind("filterFomatterUpdate",function(){var e=n.updateCompare(i,c,o)[0]||o.value;i.find(".number").val(((e||"")+"").replace(/[><=]/g,"")),m(!1,!0),t.filter.formatterUpdated(i,l)}),o.compare&&(n.addCompare(i,l,o),i.find(a).bind("change",function(){m()})),f.$table.bind("stickyHeadersInit",function(){(u=f.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(l).empty()).append(r).find(".toggle, .number").bind("change",function(){i.find(".number").val(e(this).val()),m()}),o.compare&&(n.addCompare(u,l,o),u.find(a).bind("change",function(){i.find(a).val(e(this).val()),m()})),m()}),m()),p?i.find('input[type="hidden"]'):e('<input type="search">')},html5Range:function(i,l,d){var r,c=e.extend({value:0,min:0,max:100,step:1,delayed:!0,valueToHeader:!0,exactMatch:!0,cellText:"",compare:"",allText:"all",skipTest:!1},d),o=e('<input type="range" style="visibility:hidden;" value="test">').appendTo(i),s=c.skipTest||"range"===o.attr("type")&&"test"!==o.val(),p=[],u=i.closest("table")[0].config,f=function(t,n,d){t=(void 0===t?r.val():t).toString().replace(/[<>=]/g,"")||c.value;var o=(e.isArray(c.compare)?i.find(a).val()||c.compare[c.selected||0]:c.compare)||"",s=" ("+(o?o+t:t==c.min?c.allText:t)+")",f=!u.$table[0].hasInitialized||(n||c.delayed||"");i.find("input[type=hidden]").val(o?o+t:t==c.min?"":(c.exactMatch?"=":"")+t).trigger(d?"":"search",f).end().find(".range").val(t),i.closest("thead").find("th[data-column="+l+"]").find(".curvalue").html(s),p.length&&(p.find(".range").val(t).end().find(a).val(o),p.closest("thead").find("th[data-column="+l+"]").find(".curvalue").html(s))};return o.remove(),s&&(i.