tablesorter/js/jquery.tablesorter.widgets-filter-formatter.min.js

7 lines
14 KiB
JavaScript
Raw Normal View History

/*! Filter widget formatter functions - updated 5/30/2013
2013-02-17 19:23:36 +00:00
* requires: tableSorter 2.7.7+ and jQuery 1.4.3+
* jQuery UI spinner, silder, range slider & datepicker (range)
* HTML5 number (spinner), range slider & color selector
*/
;(function(h){h.tablesorter=h.tablesorter||{};h.tablesorter.filterFormatter={uiSpinner:function(b,f,g){var a=h.extend({min:0,max:100,step:1,value:1,delayed:!0,addToggle:!0,disabled:!1,exactMatch:!0,compare:""},g);g=h('<input class="filter" type="hidden">').appendTo(b);var e=[],j=b.closest("table")[0].config,c=function(k){var d=!0,c=k&&k.value||b.find(".spinner").val()||a.value;a.addToggle&&(d=b.find(".toggle").is(":checked"));k=a.disabled||!d?"disable":"enable";b.find(".filter").val(d?(a.compare?a.compare: a.exactMatch?"=":"")+c:"").trigger("search",a.delayed).end().find(".spinner").spinner(k).val(c);e.length&&(e.find(".spinner").spinner(k).val(c),a.addToggle&&(e.find(".toggle")[0].checked=d))};a.oldcreate=a.create;a.oldspin=a.spin;a.create=function(b,d){c();"function"===typeof a.oldcreate&&a.oldcreate(b,d)};a.spin=function(b,d){c(d);"function"===typeof a.oldspin&&a.oldspin(b,d)};a.addToggle&&h('<div class="button"><input id="uispinnerbutton'+f+'" type="checkbox" class="toggle" /><label for="uispinnerbutton'+ f+'"></label></div>').appendTo(b).find(".toggle").bind("change",function(){c()});b.closest("thead").find("th[data-column="+f+"]").addClass("filter-parsed");h('<input class="spinner spinner'+f+'" />').val(a.value).appendTo(b).spinner(a).bind("change keyup",function(){c()});j.$table.bind("stickyHeadersInit",function(){e=j.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(f).empty();a.addToggle&&h('<div class="button"><input id="stickyuispinnerbutton'+f+'" type="checkbox" class="toggle" /><label for="stickyuispinnerbutton'+ f+'"></label></div>').appendTo(e).find(".toggle").bind("change",function(){b.find(".toggle")[0].checked=this.checked;c()});h('<input class="spinner spinner'+f+'" />').val(a.value).appendTo(e).spinner(a).bind("change keyup",function(){b.find(".spinner").val(this.value);c()})});j.$table.bind("filterReset",function(){a.addToggle&&(b.find(".toggle")[0].checked=!1);c()});c();return g},uiSlider:function(b,f,g){var a=h.extend({value:0,min:0,max:100,step:1,range:"min",delayed:!0,valueToHeader:!1,exactMatch:!0, compare:"",allText:"all"},g);g=h('<input class="filter" type="hidden">').appendTo(b);var e=[],j=b.closest("table")[0].config,c=function(c){c="undefined"!==typeof c?c.value:a.value;var d=a.compare+(a.compare?c:c===a.min?a.allText:c);a.valueToHeader?b.closest("thead").find("th[data-column="+f+"]").find(".curvalue").html(" ("+d+")"):b.find(".ui-slider-handle").addClass("value-popup").attr("data-value",d);b.find(".filter").val(a.compare?a.compare+c:c===a.min?"":(a.exactMatch?"=":"")+c).trigger("search", a.delayed).end().find(".slider").slider("value",c);e.length&&(e.find(".slider").slider("value",c),a.valueToHeader?e.closest("thead").find("th[data-column="+f+"]").find(".curvalue").html(" ("+d+")"):e.find(".ui-slider-handle").addClass("value-popup").attr("data-value",d))};b.closest("thead").find("th[data-column="+f+"]").addClass("filter-parsed");a.valueToHeader&&b.closest("thead").find("th[data-column="+f+"]").find(".tablesorter-header-inner").append('<span class="curvalue" />');a.oldcreate=a.create; a.oldslide=a.slide;a.create=function(b,d){c();"function"===typeof a.oldcreate&&a.oldcreate(b,d)};a.slide=function(b,d){c(d);"function"===typeof a.oldslide&&a.oldslide(b,d)};h('<div class="slider slider'+f+'"/>').appendTo(b).slider(a);j.$table.bind("filterReset",function(){b.find(".slider").slider("value",a.value);c()});j.$table.bind("stickyHeadersInit",function(){e=j.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(f).empty();h('<div class="slider slider'+f+'"/>').val(a.value).appendTo(e).slider(a).bind("change keyup", function(){b.find(".slider").val(this.value);c()})});return g},uiRange:function(b,f,g){var a=h.extend({values:[0,100],min:0,max:100,range:!0,delayed:!0,valueToHeader:!1},g);g=h('<input class="filter" type="hidden">').appendTo(b);var e=[],j=b.closest("table")[0].config,c=function(c){c="undefined"!==typeof c&&c.values||a.values;var d=c[0]+" - "+c[1],g=c[0]===a.min&&c[1]===a.max?"":d;a.valueToHeader?b.closest("thead").find("th[data-column="+f+"]").find(".curran