All Downloads are FREE. Search and download functionalities are using the official Maven repository.

template.js.plugins.jquery.combobox.min.js Maven / Gradle / Ivy

There is a newer version: 5.0.4
Show newest version
(function(a){a.widget("s2j.combobox",{options:{icon:false},_create:function(){this.wrapper=a("").addClass("s2j-combobox").insertAfter(this.element);this.element.hide();this._createAutocomplete();if(this.options.icon===true){this._createShowAllButton()}},_createAutocomplete:function(){var b=this.element;var c=this.element.children(":selected"),d=c.val()?c.text():"";this.input=a("").appendTo(this.wrapper).val(d).attr("title","").addClass("s2j-combobox-input").autocomplete({delay:0,minLength:0,source:a.proxy(this,"_source")});this._on(this.input,{autocompleteselect:function(e,f){f.item.option.selected=true;this._trigger("select",e,{item:f.item.option});e.ui=f;if(this.options.onselecttopics){a.each(this.options.onselecttopics.split(","),function(g,h){b.publish(h,{item:f.item},e)})}},autocompletefocus:function(e,f){this._trigger("focus",e,{item:f.item});e.ui=f;if(this.options.onfocustopics){a.each(this.options.onfocustopics.split(","),function(g,h){b.publish(h,{item:f.item},e)})}},autocompletechange:function(f,g){this._removeIfInvalid(f,g);if(!g.item){var h=new RegExp("^"+a.ui.autocomplete.escapeRegex(this.input.val())+"$","i"),e=false;b.children("option").each(function(){if(this.value.match(h)){this.selected=e=true;return false}});if(!e){a(this).val("");b.val("");return false}}this._trigger("change",f,{item:g.item});f.ui=g;if(this.options.oncha){a.each(this.options.oncha.split(","),function(j,k){b.publish(k,{item:g.item},f)})}}})},_createShowAllButton:function(){var b=this.input,c=false;a("").attr("tabIndex",-1).appendTo(this.wrapper).button({icons:{primary:"ui-icon-triangle-1-s"},text:false}).removeClass("ui-corner-all").addClass("s2j-combobox-toggle ui-corner-right").mousedown(function(){c=b.autocomplete("widget").is(":visible")}).click(function(){b.focus();if(c){return}b.autocomplete("search","")})},_source:function(c,b){var d=new RegExp(a.ui.autocomplete.escapeRegex(c.term),"i");b(this.element.children("option").map(function(){var e=a(this).text();if(this.value&&(!c.term||d.test(e))){return{label:e,value:e,option:this}}}))},_removeIfInvalid:function(d,f){if(f.item){return}var e=this.input.val(),b=e.toLowerCase(),c=false;this.element.children("option").each(function(){if(a(this).text().toLowerCase()===b){this.selected=c=true;return false}});if(c){return}this.input.val("");this.element.val("");this.input.data("ui-autocomplete").term=""},_destroy:function(){this.wrapper.remove();this.element.show()}})})(jQuery);




© 2015 - 2024 Weber Informatics LLC | Privacy Policy