Lidarr/NzbDrone.Web/Scripts/2010.3.1110/telerik.combobox.min.js

1 line
4.8 KiB
JavaScript

(function(a){var b=a.telerik;b.combobox=function(c,d){a.extend(this,d);var e=a(c);this.element=c;this.$element=e;this.loader=new b.list.loader(this);this.trigger=new b.list.trigger(this);this.$text=e.find("> .t-dropdown-wrap > .t-input").attr("autocomplete","off");var h=this.$input=this.$element.find("input:last");var f=e.find("> .t-dropdown-wrap > .t-select");if(!h.attr("disabled")){f.bind("click",a.proxy(k,this))}this.filtering=new b.list.filtering(this);this.filtering.autoFill=function(l,m){if(l.autoFill&&(l.lastKeyCode!=8&&l.lastKeyCode!=46)){var n=l.$text[0];var r=b.caretPos(n);var q=n.value.substring(0,r);var p=m.toLowerCase().indexOf(q.toLowerCase());if(p!=-1){var o=m.substring(p+q.length);n.value=q+o;b.list.selection(n,r,r+o.length)}}};this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onOpen:a.proxy(function(){var m=this.data;var l=this.dropDown;if(m.length==0){return}var o=this.$text.val();var n=this.selectedIndex;if(n!=-1&&this.isFiltered){if(o==m[n].Text){this.filteredDataIndexes=[];l.onItemCreate=null;l.dataBind(this.data);this.select(l.$items[n])}else{this.filters[this.filter](this,this.data,o)}this.isFiltered=false}},this),onClick:a.proxy(function(l){this.select(l.item);this.trigger.change();this.trigger.close()},this)});this.dropDown.$element.css("direction",e.closest(".t-rtl").length?"rtl":"");this.enable=function(){e.removeClass("t-state-disabled").find(".t-input").removeAttr("disabled");f.bind("click",a.proxy(k,this))};this.disable=function(){e.addClass("t-state-disabled").find(".t-input").attr("disabled","disabled");f.unbind("click")};this.fill=function(m){function o(u){var t=u.value();if(t){u.select(function(A){return t==(A.Value||A.Text)});return}var v=l.$items;var x=u.index;var w=v.filter(".t-state-selected");var y=w.length;var z=x!=-1&&x<v.length?v[x]:y>0?w[y-1]:null;if(z){u.select(z)}else{u.selectedIndex=-1;if(u.highlightFirst){u.highlight(v[0])}}}var p=this.loader;var l=this.dropDown;var r=this.minChars;var q=this.text();var n=q.length;if(!l.$items&&!p.ajaxError){if(p.isAjax()&&n>=r){var s={};s[this.queryString.text]=q;p.ajaxRequest(function(t){this.data=t;this.dataBind(t,true);o(this);b.trigger(this.element,"dataBound");this.trigger.change();if(m){m()}},{data:s})}else{this.dataBind(this.data,true);o(this);if(m){m()}}}};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(m){var l=this.highlight(m);if(l==-1){return l}var n=this.filteredDataIndexes;this.selectedIndex=(n&&n.length)>0?n[l]:l;b.list.updateTextAndValue(this,a(this.dropDown.$items[l]).text(),this.data[this.selectedIndex].Value)};this.text=function(){return this.$text.val.apply(this.$text,arguments)};this.value=function(){if(arguments.length){var m=arguments[0];var l=this.select(function(n){return m==n.Value});if(l==-1){this.$input.val(m);this.text(m)}this.previousValue=this.$input.val()}else{return this.$input.val()}};b.list.common.call(this);b.list.filters.call(this);b.list.initialize.call(this);this.$text.bind({change:a.proxy(function(l){l.stopPropagation()},this),keydown:a.proxy(i,this),keypress:a.proxy(j,this),focus:a.proxy(function(o){var m=this.trigger;var l=this.dropDown;if(!l.$items){this.fill(m.open)}else{m.open()}var n=this.$text;b.list.selection(n[0],0,n.val().length)},this)});function k(l){this.loader.ajaxError=false;if(!this.dropDown.isOpened()){this.$text[0].focus()}else{this.trigger.close()}}function g(l){clearTimeout(l.timeout);l.timeout=setTimeout(function(){l.filtering.filter(l)},l.delay)}function i(t){var o=this.trigger;var m=this.dropDown;var q=t.keyCode||t.which;this.lastKeyCode=q;if(t.altKey&&q==38){o.close();return}if(t.altKey&&q==40){o.open();return}if(!t.shiftKey&&(q==38||q==40)){t.preventDefault();if(!m.$items){this.fill()}var n=m.$items;var r=n.filter(".t-state-selected:first");var l=r.length==0||n.length==1?n.first():(q==38)?r.prev():(q==40)?r.next():[];if(l.length){var u=l[0];this.select(u);m.scrollTo(u);if(!m.isOpened()){o.change()}}}if(q==8||q==46){var p=this.$text;if(p.val()!=""){g(this)}setTimeout(a.proxy(function(){if(p.val()==""){this.selectedIndex=-1;this.$input.val("")}else{this.$input.val(this.$text.val())}},this),0)}if(q==13){if(m.isOpened()){t.preventDefault()}var s=m.$items.filter(".t-state-selected:first");if(s.length>0){this.select(s[0])}else{this.$input.val(this.$text.val())}o.change();o.close();b.list.moveToEnd(this.$text[0])}if(q==27||q==9){o.change();o.close();if(q==27){this.$text.blur()}}}function j(m){var l=m.keyCode||m.charCode;if(l==0||a.inArray(l,b.list.keycodes)!=-1){return true}setTimeout(a.proxy(function(){this.$input.val(this.$text.val())},this),0);g(this)}};a.fn.tComboBox=function(c){return b.create(this,{name:"tComboBox",init:function(d,e){return new b.combobox(d,e)},options:c})};a.fn.tComboBox.defaults={effects:b.fx.slide.defaults(),index:-1,autoFill:true,highlightFirst:true,filter:0,delay:200,minChars:0,cache:true,queryString:{text:"text"}}})(jQuery);