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

7 lines
9.3 KiB
JavaScript
Raw Normal View History

2013-05-27 13:53:35 +00:00
/*! Filter widget formatter functions - updated 5/27/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
*/
2013-05-27 13:53:35 +00:00
;(function(g){g.tablesorter=g.tablesorter||{};g.tablesorter.filterFormatter={uiSpinner:function(b,e,d){var a=g.extend({min:0,max:100,step:1,value:1,delayed:!0,addToggle:!0,disabled:!1,exactMatch:!0,compare:""},d);d=g('<input class="filter" type="hidden">').appendTo(b);var c=function(h){var c=!0;h=h&&h.value||b.find(".spinner").val()||a.value;a.addToggle&&(c=b.find(".toggle").is(":checked"));b.find(".filter").val(c?(a.compare?a.compare:a.exactMatch?"=":"")+h:"").trigger("search",a.delayed).end().find(".spinner").spinner(a.disabled|| !c?"disable":"enable")};a.oldcreate=a.create;a.oldspin=a.spin;a.create=function(b,f){c();"function"===typeof a.oldcreate&&a.oldcreate(b,f)};a.spin=function(b,f){c(f);"function"===typeof a.oldspin&&a.oldspin(b,f)};a.addToggle&&g('<div class="button"><input id="button'+e+'" type="checkbox" class="toggle" /><label for="button'+e+'"></label></div>').appendTo(b).find(".toggle").bind("change",function(){c()});b.closest("thead").find("th[data-column="+e+"]").addClass("filter-parsed");g('<input class="spinner spinner'+ e+'" />').val(a.value).appendTo(b).spinner(a).bind("change keyup",function(){c()});b.closest("table").bind("filterReset",function(){b.find(".toggle")[0].checked=!1;c()});c();return d},uiSlider:function(b,e,d){var a=g.extend({value:0,min:0,max:100,step:1,range:"min",delayed:!0,valueToHeader:!1,exactMatch:!0,compare:"",allText:"all"},d);d=g('<input class="filter" type="hidden">').appendTo(b);var c=function(c){c="undefined"!==typeof c?c.value:a.value;var f=a.compare?c:c===a.min?a.allText:c;a.valueToHeader? b.closest("thead").find("th[data-column="+e+"]").find(".curvalue").html(" ("+a.compare+f+")"):b.find(".ui-slider-handle").addClass("value-popup").attr("data-value",a.compare+f);b.find(".filter").val(a.compare?a.compare+c:c===a.min?"":(a.exactMatch?"=":"")+c).trigger("search",a.delayed)};b.closest("thead").find("th[data-column="+e+"]").addClass("filter-parsed");a.valueToHeader&&b.closest("thead").find("th[data-column="+e+"]").find(".tablesorter-header-inner").append('<span class="curvalue" />');a.oldcreate= a.create;a.oldslide=a.slide;a.create=function(b,f){c();"function"===typeof a.oldcreate&&a.oldcreate(b,f)};a.slide=function(b,f){c(f);"function"===typeof a.oldslide&&a.oldslide(b,f)};g('<div class="slider slider'+e+'"/>').appendTo(b).slider(a);b.closest("table").bind("filterReset",function(){b.find(".slider").slider("value",a.value);c()});return d},uiRange:function(b,e,d){var a=g.extend({values:[0,100],min:0,max:100,range:!0,delayed:!0,valueToHeader:!1},d);d=g('<input class="filter" type="hidden">').appendTo(b); var c=function(c){c="undefined"!==typeof c&&c.values||a.values;var f=c[0]===a.min&&c[1]===a.max?"":c[0]+" - "+c[1];a.valueToHeader?b.closest("thead").find("th[data-column="+e+"]").find(".currange").html(" ("+c[0]+" - "+c[1]+")"):b.find(".ui-slider-handle").addClass("value-popup").eq(0).attr("data-value",c[0]).end().eq(1).attr("data-value",c[1]);b.find(".filter").val(f).trigger("search",a.delayed)};b.closest("thead").find("th[data-column="+e+"]").addClass("filter-parsed");a.valueToHeader&&b.closest("thead").find("th[data-column="+ e+"]").find(".tablesorter-header-inner").append('<span class="currange"/>');a.oldcreate=a.create;a.oldslide=a.slide;a.create=function(b,f){c();"function"===typeof a.oldcreate&&a.oldcreate(b,f)};a.slide=function(b,f){c(f);"function"===typeof a.oldslide&&a.oldslide(b,f)};g('<div id="range'+e+'"/>').appendTo(b).slider(a);b.closest("table").bind("filterReset",function(){b.find('div[id*="range"]').slider("values",a.values);c()});return d},uiDateCompare:function(b,e,d){var a=g.extend({defaultDate:"",cellText:"", changeMonth:!0,changeYear:!0,numberOfMonths:1,compare:""},d);e=b.closest("thead").find("th[data-column="+e+"]");d=g('<input class="dateCompare" type="hidden">').appendTo(b);e.addClass("filter-parsed");g("<span>"+a.cellText+'<input type="text" class="date" placeholder="'+(e.data("placeholder")||e.attr("data-placeholder")||"")+'" />').appendTo(b);a.oldonClose=a.onClose;a.defaultDate=a.defaultDate||new Date;a.onClose=function(c,d){var f=(new Date(c)).ge