File: /var/www/admin.javaapp.co.uk/public/plugins/bootstrap-multiselect/bootstrap-multiselect.min.js
/**
* bootstrap-multiselect.js 1.0.0
* https://github.com/davidstutz/bootstrap-multiselect
*
* Copyright 2012, 2013 David Stutz
*
* Dual licensed under the BSD-3-Clause and the Apache License, Version 2.0.
* See the README.
*/
!function(b){if(typeof ko!="undefined"&&ko.bindingHandlers&&!ko.bindingHandlers.multiselect){ko.bindingHandlers.multiselect={init:function(e,f,g,d,c){},update:function(f,g,h,e,c){var d=b(f).data("multiselect");if(!d){b(f).multiselect(ko.utils.unwrapObservable(g()))}else{if(h().options&&h().options().length!==d.originalOptions.length){d.updateOriginalOptions();b(f).multiselect("rebuild")}}}}}function a(c,d){this.options=this.getOptions(d);this.$select=b(c);this.originalOptions=this.$select.clone()[0].options;this.query="";this.searchTimeout=null;this.options.multiple=this.$select.attr("multiple")=="multiple";this.$container=b(this.options.buttonContainer).append('<button type="button" class="multiselect dropdown-toggle '+this.options.buttonClass+'" data-toggle="dropdown">'+this.options.buttonText(this.getSelected(),this.$select)+"</button>").append('<ul class="multiselect-container dropdown-menu'+(this.options.dropRight?" pull-right":"")+'"></ul>');if(this.options.buttonWidth){b("button",this.$container).css({width:this.options.buttonWidth})}var f=this.$select.attr("tabindex");if(f){b("button",this.$container).attr("tabindex",f)}if(this.options.maxHeight){b(".multiselect-container",this.$container).css({"max-height":this.options.maxHeight+"px","overflow-y":"auto","overflow-x":"hidden"})}if(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering){var e=Math.max(this.options.enableFiltering,this.options.enableCaseInsensitiveFiltering);if(this.$select.find("option").length>=e){this.buildFilter()}}this.buildSelectAll();this.buildDropdown();this.updateButtonText();this.$select.hide().after(this.$container)}a.prototype={defaults:{buttonText:function(d,c){if(d.length==0){return this.nonSelectedText+'<b class="caret"></b>'}else{if(d.length>3){return d.length+" "+this.nSelectedText+' <b class="caret"></b>'}else{var e="";d.each(function(){var f=(b(this).attr("label")!==undefined)?b(this).attr("label"):b(this).html();e+=f+", "});return e.substr(0,e.length-2)+' <b class="caret"></b>'}}},buttonTitle:function(d,c){var e="";d.each(function(){e+=b(this).text()+", "});return e.substr(0,e.length-2)},onChange:function(c,d){},buttonClass:"btn",dropRight:false,selectedClass:"active",buttonWidth:"auto",buttonContainer:'<div class="btn-group" />',maxHeight:false,includeSelectAllOption:false,selectAllText:" Select all",selectAllValue:"multiselect-all",enableFiltering:false,enableCaseInsensitiveFiltering:false,filterPlaceholder:"Search",filterBehavior:"text",preventInputChangeEvent:false,nonSelectedText:"None selected",nSelectedText:"selected"},constructor:a,createOptionValue:function(d){if(b(d).is(":selected")){b(d).attr("selected","selected").prop("selected",true)}var c=b(d).attr("label")||b(d).html();var h=b(d).val();var g=this.options.multiple?"checkbox":"radio";var i=b('<li><a href="javascript:void(0);"><label class="'+g+'"><input type="'+g+'" /></label></a></li>');var f=b(d).prop("selected")||false;var e=b("input",i);e.val(h);if(h==this.options.selectAllValue){e.parent().parent().addClass("multiselect-all")}b("label",i).append(" "+c);b(".multiselect-container",this.$container).append(i);if(b(d).is(":disabled")){e.attr("disabled","disabled").prop("disabled",true).parents("li").addClass("disabled")}e.prop("checked",f);if(f&&this.options.selectedClass){e.parents("li").addClass(this.options.selectedClass)}},toggleActiveState:function(c){if(this.$select.attr("disabled")==undefined){b("button.multiselect.dropdown-toggle",this.$container).removeClass("disabled")}else{b("button.multiselect.dropdown-toggle",this.$container).addClass("disabled")}},buildSelectAll:function(){var c=this.$select[0][0]?this.$select[0][0].value==this.options.selectAllValue:false;if(this.options.includeSelectAllOption&&this.options.multiple&&!c){this.$select.prepend('<option value="'+this.options.selectAllValue+'">'+this.options.selectAllText+"</option>")}},buildDropdown:function(){this.toggleActiveState();this.$select.children().each(b.proxy(function(d,e){var c=b(e).prop("tagName").toLowerCase();if(c=="optgroup"){var f=e;var h=b(f).prop("label");var g=b('<li><label class="multiselect-group"></label></li>');b("label",g).text(h);b(".multiselect-container",this.$container).append(g);b("option",f).each(b.proxy(function(i,j){this.createOptionValue(j)},this))}else{if(c=="option"){this.createOptionValue(e)}else{}}},this));b(".multiselect-container li input",this.$container).on("change",b.proxy(function(f){var e=b(f.target).prop("checked")||false;var c=b(f.target).val()==this.options.selectAllValue;if(this.options.selectedClass){if(e){b(f.target).parents("li").addClass(this.options.selectedClass)}else{b(f.target).parents("li").removeClass(this.options.selectedClass)}}var g=b("option",this.$select).filter(function(){return b(this).val()==b(f.target).val()});var h=b("option",this.$select).not(g);var d=b("input",this.$container).not(b(f.target));if(c){d.filter(function(){return b(this).is(":checked")!=e}).trigger("click")}if(e){g.prop("selected",true);if(this.options.multiple){g.attr("selected","selected")}else{if(this.options.selectedClass){b(d).parents("li").removeClass(this.options.selectedClass)}b(d).prop("checked",false);h.removeAttr("selected").prop("selected",false);b(this.$container).find(".multiselect.dropdown-toggle").click()}if(this.options.selectedClass=="active"){h.parents("a").css("outline","")}}else{g.removeAttr("selected").prop("selected",false)}this.updateButtonText();this.options.onChange(g,e);this.$select.change();if(this.options.preventInputChangeEvent){return false}},this));b(".multiselect-container li a",this.$container).on("touchstart click",function(c){c.stopPropagation();b(c.target).blur()});this.$container.on("keydown",b.proxy(function(f){if(b('input[type="text"]',this.$container).is(":focus")){return}if((f.keyCode==9||f.keyCode==27)&&this.$container.hasClass("open")){b(this.$container).find(".multiselect.dropdown-toggle").click()}else{var g=b(this.$container).find("li:not(.divider):visible a");if(!g.length){return}var c=g.index(g.filter(":focus"));if(f.keyCode==38&&c>0){c--}else{if(f.keyCode==40&&c<g.length-1){c++}else{if(!~c){c=0}}}var e=g.eq(c);e.focus();if(this.options.selectedClass=="active"){e.css("outline","thin dotted #0e1726").css("outline","5px auto -webkit-focus-ring-color");g.not(e).css("outline","")}if(f.keyCode==32||f.keyCode==13){var d=e.find("input");d.prop("checked",!d.prop("checked"));d.change()}f.stopPropagation();f.preventDefault()}},this))},buildFilter:function(){b(".multiselect-container",this.$container).prepend('<div class="input-prepend"><span class="add-on"><i class="icon-search"></i></span><input class="multiselect-search" type="text" placeholder="'+this.options.filterPlaceholder+'"></div>');b(".multiselect-search",this.$container).val(this.query).on("click",function(c){c.stopPropagation()}).on("keydown",b.proxy(function(c){clearTimeout(this.searchTimeout);this.searchTimeout=this.asyncFunction(b.proxy(function(){if(this.query!=c.target.value){this.query=c.target.value;b.each(b(".multiselect-container li",this.$container),b.proxy(function(e,f){var h=b("input",f).val();if(h!=this.options.selectAllValue){var i=b("label",f).text();var h=b("input",f).val();if(h&&i&&h!=this.options.selectAllValue){var g=false;var d="";if((this.options.filterBehavior=="text"||this.options.filterBehavior=="both")){d=i}if((this.options.filterBehavior=="value"||this.options.filterBehavior=="both")){d=h}if(this.options.enableCaseInsensitiveFiltering&&d.toLowerCase().indexOf(this.query.toLowerCase())>-1){g=true}else{if(d.indexOf(this.query)>-1){g=true}}if(g){b(f).show()}else{b(f).hide()}}}},this))}},this),300,this)},this))},destroy:function(){this.$container.remove();this.$select.show()},refresh:function(){b("option",this.$select).each(b.proxy(function(c,d){var e=b(".multiselect-container li input",this.$container).filter(function(){return b(this).val()==b(d).val()});if(b(d).is(":selected")){e.prop("checked",true);if(this.options.selectedClass){e.parents("li").addClass(this.options.selectedClass)}}else{e.prop("checked",false);if(this.options.selectedClass){e.parents("li").removeClass(this.options.selectedClass)}}if(b(d).is(":disabled")){e.attr("disabled","disabled").prop("disabled",true).parents("li").addClass("disabled")}else{e.removeAttr("disabled").prop("disabled",false).parents("li").removeClass("disabled")}},this));this.updateButtonText()},select:function(d){var e=b("option",this.$select).filter(function(){return b(this).val()==d});var c=b(".multiselect-container li input",this.$container).filter(function(){return b(this).val()==d});if(this.options.selectedClass){c.parents("li").addClass(this.options.selectedClass)}c.prop("checked",true);e.attr("selected","selected").prop("selected",true);this.updateButtonText();this.options.onChange(e,true)},deselect:function(d){var e=b("option",this.$select).filter(function(){return b(this).val()==d});var c=b(".multiselect-container li input",this.$container).filter(function(){return b(this).val()==d});if(this.options.selectedClass){c.parents("li").removeClass(this.options.selectedClass)}c.prop("checked",false);e.removeAttr("selected").prop("selected",false);this.updateButtonText();this.options.onChange(e,false)},rebuild:function(){b(".multiselect-container",this.$container).html("");this.buildSelectAll();this.buildDropdown(this.$select,this.options);this.updateButtonText();if(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering){this.buildFilter()}},getOptions:function(c){return b.extend({},this.defaults,c)},updateButtonText:function(){var c=this.getSelected();b("button",this.$container).html(this.options.buttonText(c,this.$select));b("button",this.$container).attr("title",this.options.buttonTitle(c,this.$select))},getSelected:function(){return b('option:selected[value!="'+this.options.selectAllValue+'"]',this.$select)},updateOriginalOptions:function(){this.originalOptions=this.$select.clone()[0].options},asyncFunction:function(f,e,c){var d=Array.prototype.slice.call(arguments,3);return setTimeout(function(){f.apply(c||window,d)},e)}};b.fn.multiselect=function(c,d){return this.each(function(){var f=b(this).data("multiselect"),e=typeof c=="object"&&c;if(!f){b(this).data("multiselect",(f=new a(this,e)))}if(typeof c=="string"){f[c](d)}})};b.fn.multiselect.Constructor=a;b(function(){b("select[data-role=multiselect]").multiselect()})}(window.jQuery);