1
Fork 0
lorchess.ru/assets/js/jquery.tablesorter.widgets-...

7 lines
20 KiB
JavaScript
Raw Normal View History

/*! Filter widget formatter functions - updated 3/12/2014 (v2.15.9)
* requires: tableSorter 2.15+ and jQuery 1.4.3+
* jQuery UI spinner, silder, range slider & datepicker (range)
* HTML5 number (spinner), range slider & color selector
*/
;(function(k){var s=k.tablesorter||{},n=s.filterFormatter={addCompare:function(b,e,h){if(h.compare&&k.isArray(h.compare)&&1<h.compare.length){var a="",c=[".compare-select".slice(1)," "+".compare-select".slice(1),""],m=h.cellText?'<label class="'+c.join("-label")+e+'">'+h.cellText+"</label>":"";k.each(h.compare,function(b,c){a+="<option "+(h.selected===b?"selected":"")+">"+c+"</option>"});b.wrapInner('<div class="'+c.join("-wrapper")+e+'" />').prepend(m+'<select class="'+c.join("")+e+'" />').find("select").append(a)}}, updateCompare:function(b,e,h){e=e.val()||"";var a=e.replace(/\s*?[><=]\s*?/g,""),c=e.match(/[><=]/g)||"";h.compare&&(k.isArray(h.compare)&&(c=(c||[]).join("")||h.compare[h.selected||0]),b.find(".compare-select").val(c));return[e,a]},uiSpinner:function(b,e,h){var a=k.extend({delayed:!0,addToggle:!0,exactMatch:!0,value:1,cellText:"",compare:"",min:0,max:100,step:1,disabled:!1},h),c=b.closest("table")[0].config,m=k('<input class="filter" type="hidden">').appendTo(b).bind("change"+c.namespace+"filter", function(){d({value:this.value,delayed:!1})}),f=[],d=function(d,g){var p=!0,e,r=d&&d.value&&s.formatFloat((d.value+"").replace(/[><=]/g,""))||b.find(".spinner").val()||a.value,t=(k.isArray(a.compare)?b.find(".compare-select").val()||a.compare[a.selected||0]:a.compare)||"",h=d&&"boolean"===typeof d.delayed?d.delayed:c.$table[0].hasInitialized?a.delayed:!0;a.addToggle&&(p=b.find(".toggle").is(":checked"));e=a.disabled||!p?"disable":"enable";b.find(".filter").val(p?(t?t:a.exactMatch?"=":"")+r:"").trigger(g? "":"search",h).end().find(".spinner").spinner(e).val(r);f.length&&(f.find(".spinner").spinner(e).val(r).end().find(".compare-select").val(t),a.addToggle&&(f.find(".toggle")[0].checked=p))};a.oldcreate=a.create;a.oldspin=a.spin;a.create=function(b,c){d();"function"===typeof a.oldcreate&&a.oldcreate(b,c)};a.spin=function(b,c){d(c);"function"===typeof a.oldspin&&a.oldspin(b,c)};a.addToggle&&k('<div class="button"><input id="uispinnerbutton'+e+'" type="checkbox" class="toggle" /><label for="uispinnerbutton'+ e+'"></label></div>').appendTo(b).find(".toggle").bind("change",function(){d()});b.closest("thead").find("th[data-column="+e+"]").addClass("filter-parsed");k('<input class="spinner spinner'+e+'" />').val(a.value).appendTo(b).spinner(a).bind("change keyup",function(){d()});c.$table.bind("filterFomatterUpdate",function(){var c=n.updateCompare(b,m,a)[0];b.find(".spinner").val(c);d({value:c},!0)});a.compare&&(n.addCompare(b,e,a),b.find(".compare-select").bind("change",function(){d()}));c.$table.bind("stickyHeadersInit", function(){f=c.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(e).empty();a.addToggle&&k('<div class="button"><input id="stickyuispinnerbutton'+e+'" type="checkbox" class="toggle" /><label for="stickyuispinnerbutton'+e+'"></label></div>').appendTo(f).find(".toggle").bind("change",function(){b.find(".toggle")[0].checked=this.checked;d()});k('<input class="spinner spinner'+e+'" />').val(a.value).appendTo(f).spinner(a).bind("change keyup",function(){b.find(".spinner").val(this.value); d()});a.compare&&(n.addCompare(f,e,a),f.find(".compare-select").bind("change",function(){b.find(".compare-select").val(k(this).val());d()}))});c.$table.bind("filterReset",function(){k.isArray(a.compare)&&b.add(f).find(".compare-select").val(a.compare[a.selected||0]);a.addToggle&&(b.find(".toggle")[0].checked=!1);b.find(".spinner").spinner("value",a.value);setTimeout(function(){d()},0)});d();return m},uiSlider:function(b,e,h){var a=k.extend({delayed:!0,valueToHeader:!1,exactMatch:!0,cellText:"",compare:"", allText:"all",value:0,min:0,max:100,step:1,range:"min"},h),c=b.closest("table")[0].config,m=k('<input class="filter" type="hidden">').appendTo(b).bind("change"+c.namespace+"filter",function(){d({value:this.value})}),f=[],d=function(d,g){var p="undefined"!==typeof d?s.formatFloat((d.value+"").replace(/[><=]/g,""))||a.value:a.value,q=a.compare?p:p===a.min?a.allText:p,r=(k.isArray(a.compare)?b.find(".compare-select").val()||a.compare[a.selected||0]:a.compare)||"",q=r+q,h=d&&"boolean"===typeof d.delayed? d