diff options
Diffstat (limited to 'web/vendor/jquery.multi-select.min.js')
-rw-r--r-- | web/vendor/jquery.multi-select.min.js | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/web/vendor/jquery.multi-select.min.js b/web/vendor/jquery.multi-select.min.js index 81a199ede..8b6fad748 100644 --- a/web/vendor/jquery.multi-select.min.js +++ b/web/vendor/jquery.multi-select.min.js @@ -1,10 +1,11 @@ -(function(c){function f(a,b){this.b=c(a);this.a=c.extend({},g,b);this.J()}var g={containerHTML:'<div class="multi-select-container">',menuHTML:'<div class="multi-select-menu">',buttonHTML:'<span class="multi-select-button">',menuItemsHTML:'<div class="multi-select-menuitems">',menuItemHTML:'<label class="multi-select-menuitem">',presetsHTML:'<div class="multi-select-presets">',modalHTML:void 0,activeClass:"multi-select-container--open",noneText:"-- Select --",allText:void 0,presets:void 0,positionedMenuClass:"multi-select-container--positioned", -positionMenuWithin:void 0,viewportBottomGutter:20,menuMinHeight:200};c.extend(f.prototype,{J:function(){this.w();this.I();this.B();this.A();this.C();this.G();this.L();this.M();this.b.hide()},w:function(){if(!1===this.b.is("select[multiple]"))throw Error("$.multiSelect only works on <select multiple> elements");},I:function(){this.l=c('label[for="'+this.b.attr("id")+'"]')},B:function(){this.f=c(this.a.containerHTML);this.b.data("multi-select-container",this.f);this.f.insertAfter(this.b)},A:function(){var a= -this;this.g=c(this.a.buttonHTML);this.g.attr({role:"button","aria-haspopup":"true",tabindex:0,"aria-label":this.l.eq(0).text()}).on("keydown.multiselect",function(b){b=b.which;13!==b&&32!==b||a.g.click()}).on("click.multiselect",function(){a.o()}).appendTo(this.f);this.b.on("change.multiselect",function(){a.s()});this.s()},s:function(){var a=[],b=[];this.b.children("option").each(function(){var d=c(this).text();a.push(d);c(this).is(":selected")&&b.push(c.trim(d))});this.g.empty();0==b.length?this.g.text(this.a.noneText): -b.length===a.length&&this.a.allText?this.g.text(this.a.allText):this.g.text(b.join(", "))},C:function(){var a=this;this.c=c(this.a.menuHTML);this.c.attr({role:"menu"}).on("keyup.multiselect",function(b){27===b.which&&a.h()}).appendTo(this.f);this.F();this.a.presets&&this.H()},F:function(){var a=this;this.i=c(this.a.menuItemsHTML);this.c.append(this.i);this.b.on("change.multiselect",function(b,c){!0!==c&&a.u()});this.u()},u:function(){var a=this;this.i.empty();this.b.children("option").each(function(b, -d){b=a.D(c(d),b);a.i.append(b)})},H:function(){var a=this;this.j=c(this.a.presetsHTML);this.c.prepend(this.j);c.each(this.a.presets,function(b,d){b=a.b.attr("name")+"_preset_"+b;var h=c(a.a.menuItemHTML).attr({"for":b,role:"menuitem"}).text(" "+d.name).appendTo(a.j);c("<input>").attr({type:"radio",name:a.b.attr("name")+"_presets",id:b}).prependTo(h).on("change.multiselect",function(){a.b.val(d.options);a.b.trigger("change")})});this.b.on("change.multiselect",function(){a.v()});this.v()},v:function(){var a= -this;c.each(this.a.presets,function(b,c){b=a.b.attr("name")+"_preset_"+b;b=a.j.find("#"+b);a:{c=c.options||[];var d=a.b.val()||[];if(c.length!=d.length)c=!1;else{c.sort();d.sort();for(var e=0;e<c.length;e++)if(c[e]!==d[e]){c=!1;break a}c=!0}}c?b.prop("checked",!0):b.prop("checked",!1)})},D:function(a,b){var d=this.b.attr("name")+"_"+b;b=c(this.a.menuItemHTML).attr({"for":d,role:"menuitem"}).text(" "+a.text());d=c("<input>").attr({type:"checkbox",id:d,value:a.val()}).prependTo(b);a.is(":disabled")&& -d.attr("disabled","disabled");a.is(":selected")&&d.prop("checked","checked");d.on("change.multiselect",function(){c(this).prop("checked")?a.prop("selected",!0):a.prop("selected",!1);a.trigger("change",[!0])});return b},G:function(){var a=this;this.a.modalHTML&&(this.m=c(this.a.modalHTML),this.m.on("click.multiselect",function(){a.h()}),this.m.insertBefore(this.c))},L:function(){var a=this;c("html").on("click.multiselect",function(){a.h()});this.f.on("click.multiselect",function(a){a.stopPropagation()})}, -M:function(){var a=this;this.l.on("click.multiselect",function(b){b.preventDefault();b.stopPropagation();a.o()})},K:function(){c("html").trigger("click.multiselect");this.f.addClass(this.a.activeClass);if(this.a.positionMenuWithin&&this.a.positionMenuWithin instanceof c){var a=this.c.offset().left+this.c.outerWidth(),b=this.a.positionMenuWithin.offset().left+this.a.positionMenuWithin.outerWidth();a>b&&(this.c.css("width",b-this.c.offset().left),this.f.addClass(this.a.positionedMenuClass))}a=this.c.offset().top+ -this.c.outerHeight();b=c(window).scrollTop()+c(window).height();a>b-this.a.viewportBottomGutter?this.c.css({maxHeight:Math.max(b-this.a.viewportBottomGutter-this.c.offset().top,this.a.menuMinHeight),overflow:"scroll"}):this.c.css({maxHeight:"",overflow:""})},h:function(){this.f.removeClass(this.a.activeClass);this.f.removeClass(this.a.positionedMenuClass);this.c.css("width","auto")},o:function(){this.f.hasClass(this.a.activeClass)?this.h():this.K()}});c.fn.multiSelect=function(a){return this.each(function(){c.data(this, -"plugin_multiSelect")||c.data(this,"plugin_multiSelect",new f(this,a))})}})(jQuery); +(function(d){function g(a,b){this.b=d(a);this.a=d.extend({},h,b);this.L()}var h={containerHTML:'<div class="multi-select-container">',menuHTML:'<div class="multi-select-menu">',buttonHTML:'<span class="multi-select-button">',menuItemsHTML:'<div class="multi-select-menuitems">',menuItemHTML:'<label class="multi-select-menuitem">',presetsHTML:'<div class="multi-select-presets">',modalHTML:void 0,activeClass:"multi-select-container--open",noneText:"-- Select --",allText:void 0,presets:void 0,positionedMenuClass:"multi-select-container--positioned", +positionMenuWithin:void 0,viewportBottomGutter:20,menuMinHeight:200};d.extend(g.prototype,{L:function(){this.B();this.K();this.D();this.C();this.F();this.I();this.M();this.N();this.b.hide()},B:function(){if(!1===this.b.is("select[multiple]"))throw Error("$.multiSelect only works on <select multiple> elements");},K:function(){this.l=d('label[for="'+this.b.attr("id")+'"]')},D:function(){this.f=d(this.a.containerHTML);this.b.data("multi-select-container",this.f);this.f.insertAfter(this.b)},C:function(){var a= +this;this.g=d(this.a.buttonHTML);this.g.attr({role:"button","aria-haspopup":"true",tabindex:0,"aria-label":this.l.eq(0).text()}).on("keydown.multiselect",function(b){var c=b.which;13===c||32===c?(b.preventDefault(),a.g.click()):40===c?(b.preventDefault(),a.o(),(a.h||a.i).children(":first").focus()):27===c&&a.j()}).on("click.multiselect",function(){a.s()}).appendTo(this.f);this.b.on("change.multiselect",function(){a.v()});this.v()},v:function(){var a=[],b=[];this.b.children("option").each(function(){var c= +d(this).text();a.push(c);d(this).is(":selected")&&b.push(d.trim(c))});this.g.empty();0==b.length?this.g.text(this.a.noneText):b.length===a.length&&this.a.allText?this.g.text(this.a.allText):this.g.text(b.join(", "))},F:function(){var a=this;this.c=d(this.a.menuHTML);this.c.attr({role:"menu"}).on("keyup.multiselect",function(b){27===b.which&&(a.j(),a.g.focus())}).appendTo(this.f);this.H();this.a.presets&&this.J()},H:function(){var a=this;this.i=d(this.a.menuItemsHTML);this.c.append(this.i);this.b.on("change.multiselect", +function(b,c){!0!==c&&a.w()});this.w()},w:function(){var a=this;this.i.empty();this.b.children("option").each(function(b,c){b=a.G(d(c),b);a.i.append(b)})},u:function(a,b){var c=b.which;38===c?(b.preventDefault(),b=d(b.currentTarget).prev(),b.length?b.focus():this.h&&"menuitem"===a?this.h.children(":last").focus():this.g.focus()):40===c&&(b.preventDefault(),b=d(b.currentTarget).next(),b.length||"menuitem"===a?b.focus():this.i.children(":first").focus())},J:function(){var a=this;this.h=d(this.a.presetsHTML); +this.c.prepend(this.h);d.each(this.a.presets,function(b,c){b=a.b.attr("name")+"_preset_"+b;var e=d(a.a.menuItemHTML).attr({"for":b,role:"menuitem"}).text(" "+c.name).on("keydown.multiselect",a.u.bind(a,"preset")).appendTo(a.h);d("<input>").attr({type:"radio",name:a.b.attr("name")+"_presets",id:b}).prependTo(e).on("change.multiselect",function(){a.b.val(c.options);a.b.trigger("change")})});this.b.on("change.multiselect",function(){a.A()});this.A()},A:function(){var a=this;d.each(this.a.presets,function(b, +c){b=a.b.attr("name")+"_preset_"+b;b=a.h.find("#"+b);a:{c=c.options||[];var e=a.b.val()||[];if(c.length!=e.length)c=!1;else{c.sort();e.sort();for(var f=0;f<c.length;f++)if(c[f]!==e[f]){c=!1;break a}c=!0}}c?b.prop("checked",!0):b.prop("checked",!1)})},G:function(a,b){var c=this.b.attr("name")+"_"+b;b=d(this.a.menuItemHTML).attr({"for":c,role:"menuitem"}).on("keydown.multiselect",this.u.bind(this,"menuitem")).text(" "+a.text());c=d("<input>").attr({type:"checkbox",id:c,value:a.val()}).prependTo(b); +a.is(":disabled")&&c.attr("disabled","disabled");a.is(":selected")&&c.prop("checked","checked");c.on("change.multiselect",function(){d(this).prop("checked")?a.prop("selected",!0):a.prop("selected",!1);a.trigger("change",[!0])});return b},I:function(){var a=this;this.a.modalHTML&&(this.m=d(this.a.modalHTML),this.m.on("click.multiselect",function(){a.j()}),this.m.insertBefore(this.c))},M:function(){var a=this;d("html").on("click.multiselect",function(){a.j()});this.f.on("click.multiselect",function(b){b.stopPropagation()})}, +N:function(){var a=this;this.l.on("click.multiselect",function(b){b.preventDefault();b.stopPropagation();a.s()})},o:function(){d("html").trigger("click.multiselect");this.f.addClass(this.a.activeClass);if(this.a.positionMenuWithin&&this.a.positionMenuWithin instanceof d){var a=this.c.offset().left+this.c.outerWidth(),b=this.a.positionMenuWithin.offset().left+this.a.positionMenuWithin.outerWidth();a>b&&(this.c.css("width",b-this.c.offset().left),this.f.addClass(this.a.positionedMenuClass))}a=this.c.offset().top+ +this.c.outerHeight();b=d(window).scrollTop()+d(window).height();a>b-this.a.viewportBottomGutter?this.c.css({maxHeight:Math.max(b-this.a.viewportBottomGutter-this.c.offset().top,this.a.menuMinHeight),overflow:"scroll"}):this.c.css({maxHeight:"",overflow:""})},j:function(){this.f.removeClass(this.a.activeClass);this.f.removeClass(this.a.positionedMenuClass);this.c.css("width","auto")},s:function(){this.f.hasClass(this.a.activeClass)?this.j():this.o()}});d.fn.multiSelect=function(a){return this.each(function(){d.data(this, +"plugin_multiSelect")||d.data(this,"plugin_multiSelect",new g(this,a))})}})(jQuery); |