kendo.combobox.min.js
13.6 KB
/**
* Kendo UI v2016.1.112 (http://www.telerik.com/kendo-ui)
* Copyright 2016 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define("kendo.combobox.min",["kendo.list.min","kendo.mobile.scroller.min"],e)}(function(){return function(e,t){var i=window.kendo,s=i.ui,n=s.List,a=s.Select,o=i.caret,l=i.support,r=l.placeholder,u=i._activeElement,c=i.keys,d=".kendoComboBox",p="click"+d,_="mousedown"+d,h="disabled",f="readonly",v="change",g="k-state-default",m="k-state-focused",x="k-state-disabled",w="aria-disabled",y="aria-readonly",b="filter",k="accept",C="rebind",I="mouseenter"+d+" mouseleave"+d,V=e.proxy,T=a.extend({init:function(t,s){var n,o,l=this;l.ns=d,s=e.isArray(s)?{dataSource:s}:s,a.fn.init.call(l,t,s),s=l.options,t=l.element.on("focus"+d,V(l._focusHandler,l)),s.placeholder=s.placeholder||t.attr("placeholder"),l._reset(),l._wrapper(),l._input(),l._tabindex(l.input),l._popup(),l._dataSource(),l._ignoreCase(),l._enable(),l._oldIndex=l.selectedIndex=-1,l._aria(),l._initialIndex=s.index,l._initList(),l._cascade(),s.autoBind?l._filterSource():(n=s.text,!n&&l._isSelect&&(n=t.children(":selected").text()),n&&l._setText(n)),n||l._placeholder(),o=e(l.element).parents("fieldset").is(":disabled"),o&&l.enable(!1),i.notify(l)},options:{name:"ComboBox",enabled:!0,index:-1,text:null,value:null,autoBind:!0,delay:200,dataTextField:"",dataValueField:"",minLength:0,height:200,highlightFirst:!0,filter:"none",placeholder:"",suggest:!1,cascadeFrom:"",cascadeFromField:"",ignoreCase:!0,animation:{},virtual:!1,template:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#"},events:["open","close",v,"select","filtering","dataBinding","dataBound","cascade"],setOptions:function(e){a.fn.setOptions.call(this,e),this.listView.setOptions(e),this._accessors(),this._aria()},destroy:function(){var e=this;e.input.off(d),e.element.off(d),e._inputWrapper.off(d),e._arrow.parent().off(p+" "+_),a.fn.destroy.call(e)},_focusHandler:function(){this.input.focus()},_arrowClick:function(){this._toggle()},_inputFocus:function(){this._inputWrapper.addClass(m),this._placeholder(!1)},_inputFocusout:function(){var e=this,i=e.value();return e._inputWrapper.removeClass(m),clearTimeout(e._typingTimeout),e._typingTimeout=null,e.text(e.text()),i!==e.value()&&e.trigger("select",{item:e._focus()})?(e.value(i),t):(e._placeholder(),e._blur(),e.element.blur(),t)},_editable:function(e){var t=this,i=e.disable,s=e.readonly,n=t._inputWrapper.off(d),a=t.element.add(t.input.off(d)),o=t._arrow.parent().off(p+" "+_);s||i?(n.addClass(i?x:g).removeClass(i?g:x),a.attr(h,i).attr(f,s).attr(w,i).attr(y,s)):(n.addClass(g).removeClass(x).on(I,t._toggleHover),a.removeAttr(h).removeAttr(f).attr(w,!1).attr(y,!1),o.on(p,V(t._arrowClick,t)).on(_,function(e){e.preventDefault()}),t.input.on("keydown"+d,V(t._keydown,t)).on("focus"+d,V(t._inputFocus,t)).on("focusout"+d,V(t._inputFocusout,t)))},open:function(){var e=this,t=e._state;e.popup.visible()||(!e.listView.bound()&&t!==b||t===k?(e._open=!0,e._state=C,e._filterSource()):(e.popup.open(),e._focusItem()))},_updateSelectionState:function(){var e=this,i=e.options.text,s=e.options.value;e.listView.isFiltered()||(-1===e.selectedIndex?((i===t||null===i)&&(i=s),e._accessor(s),e.input.val(i||e.input.val()),e._placeholder()):-1===e._oldIndex&&(e._oldIndex=e.selectedIndex))},_buildOptions:function(e){var i,s,n=this;n._isSelect&&(i=n._customOption,s=n.element[0].children[0],n._state===C&&(n._state=""),n._customOption=t,n._options(e,"",n.value()),i&&i[0].selected?n._custom(i.val()):s||n._custom(""))},_updateSelection:function(){var i,s=this,n=s.listView,a=s._initialIndex,o=null!==a&&a>-1,l=s._state===b;return l?(e(n.focus()).removeClass("k-state-selected"),t):(s._fetch||(n.value().length||(o?s.select(a):s._accessor()&&n.value(s._accessor())),s._initialIndex=null,i=n.selectedDataItems()[0],i&&(s._custom(s._value(i)||""),s.text()&&s.text()!==s._text(i)&&s._selectValue(i))),t)},_updateItemFocus:function(){var e=this.listView;this.options.highlightFirst?e.focus()||e.focusIndex()||e.focus(0):e.focus(-1)},_listBound:function(){var e=this,i=e.input[0]===u(),s=e.dataSource.flatView(),n=e.listView.skip(),a=n===t||0===n;e._angularItems("compile"),e._presetValue=!1,e._resizePopup(),e.popup.position(),e._buildOptions(s),e._makeUnselectable(),e._updateSelection(),s.length&&a&&(e._updateItemFocus(),e.options.suggest&&i&&e.input.val()&&e.suggest(s[0])),e._open&&(e._open=!1,e._typingTimeout&&!i?e.popup.close():e.toggle(!!s.length),e._typingTimeout=null),e._hideBusy(),e.trigger("dataBound")},_listChange:function(){this._selectValue(this.listView.selectedDataItems()[0]),this._presetValue&&(this._oldIndex=this.selectedIndex)},_get:function(e){var t,i,s;if("function"==typeof e){for(t=this.dataSource.flatView(),s=0;t.length>s;s++)if(e(t[s])){e=s,i=!0;break}i||(e=-1)}return e},_select:function(e,t){e=this._get(e),-1===e&&(this.input[0].value="",this._accessor("")),this.listView.select(e),t||this._state!==b||(this._state=k)},_selectValue:function(e){var i=this.listView.select(),s="",n="";i=i[i.length-1],i===t&&(i=-1),this.selectedIndex=i,-1===i?(s=n=this.input[0].value,this.listView.focus(-1)):(e&&(s=this._dataValue(e),n=this._text(e)),null===s&&(s="")),this._prev=this.input[0].value=n,this._accessor(s!==t?s:n,i),this._placeholder(),this._triggerCascade()},refresh:function(){this.listView.refresh()},suggest:function(e){var i,s=this,a=s.input[0],l=s.text(),r=o(a)[0],d=s._last;return d==c.BACKSPACE||d==c.DELETE?(s._last=t,t):(e=e||"","string"!=typeof e&&(e[0]&&(e=s.dataSource.view()[n.inArray(e[0],s.ul[0])]),e=e?s._text(e):""),0>=r&&(r=l.toLowerCase().indexOf(e.toLowerCase())+1),e?(e=""+e,i=e.toLowerCase().indexOf(l.toLowerCase()),i>-1&&(l+=e.substring(i+l.length))):l=l.substring(0,r),l.length===r&&e||(a.value=l,a===u()&&o(a,r,l.length)),t)},text:function(e){var i,s,a,o,l,r;return e=null===e?"":e,i=this,s=i.input[0],a=i.options.ignoreCase,o=e,e===t?s.value:i.options.autoBind!==!1||i.listView.bound()?(l=i.dataItem(),l&&i._text(l)===e&&(r=i._value(l),r===n.unifyType(i._old,typeof r))?(i._triggerCascade(),t):(a&&(o=o.toLowerCase()),i._select(function(e){return e=i._text(e),a&&(e=(e+"").toLowerCase()),e===o}),0>i.selectedIndex&&(i._accessor(e),s.value=e,i._triggerCascade()),i._prev=s.value,t)):(i._setText(e),t)},toggle:function(e){this._toggle(e,!0)},value:function(e){var i=this,s=i.options,n=i.listView;return e===t?(e=i._accessor()||i.listView.value()[0],e===t||null===e?"":e):((e!==s.value||i.input.val()!==s.text)&&(i._accessor(e),n.bound()&&n.isFiltered()?(n.bound(!1),i._filterSource()):i._fetchData(),n.value(e).done(function(){i._selectValue(n.selectedDataItems()[0]),-1===i.selectedIndex&&(i._accessor(e),i.input.val(e),i._placeholder(!0)),i._old=i._accessor(),i._oldIndex=i.selectedIndex,i._prev=i.input.val(),i._state===b&&(i._state=k)})),t)},_click:function(e){var i=e.item;return e.preventDefault(),this.trigger("select",{item:i})?(this.close(),t):(this._userTriggered=!0,this._select(i),this._blur(),t)},_filter:function(e){var i,s=this,n=s.options,a=s.dataSource,o=n.ignoreCase,l=function(i){var n=s._text(i);return n!==t?(n+="",""!==n&&""===e?!1:(o&&(n=n.toLowerCase()),0===n.indexOf(e))):t};return o&&(e=e.toLowerCase()),s.ul[0].firstChild?(this.listView.focus(this._get(l)),i=this.listView.focus(),i&&(n.suggest&&s.suggest(i),this.open()),this.options.highlightFirst&&!e&&this.listView.focusFirst(),t):(a.one(v,function(){a.view()[0]&&s.search(e)}).fetch(),t)},_input:function(){var t,i=this,s=i.element.removeClass("k-input")[0],n=s.accessKey,a=i.wrapper,o="input.k-input",l=s.name||"";l&&(l='name="'+l+'_input" '),t=a.find(o),t[0]||(a.append('<span tabindex="-1" unselectable="on" class="k-dropdown-wrap k-state-default"><input '+l+'class="k-input" type="text" autocomplete="off"/><span tabindex="-1" unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow-s">select</span></span></span>').append(i.element),t=a.find(o)),t[0].style.cssText=s.style.cssText,t[0].title=s.title,s.maxLength>-1&&(t[0].maxLength=s.maxLength),t.addClass(s.className).val(this.options.text||s.value).css({width:"100%",height:s.style.height}).attr({role:"combobox","aria-expanded":!1}).show(),r&&t.attr("placeholder",i.options.placeholder),n&&(s.accessKey="",t[0].accessKey=n),i._focused=i.input=t,i._inputWrapper=e(a[0].firstChild),i._arrow=a.find(".k-icon").attr({role:"button",tabIndex:-1}),s.id&&i._arrow.attr("aria-controls",i.ul[0].id)},_keydown:function(e){var t=this,i=e.keyCode;t._last=i,clearTimeout(t._typingTimeout),t._typingTimeout=null,i==c.TAB||t._move(e)||t._search()},_placeholder:function(e){if(!r){var i,s=this,n=s.input,a=s.options.placeholder;if(a){if(i=s.value(),e===t&&(e=!i),n.toggleClass("k-readonly",e),!e){if(i)return;a=""}n.val(a),a||n[0]!==u()||o(n[0],0,0)}}},_search:function(){var e=this;e._typingTimeout=setTimeout(function(){var t=e.text();e._prev!==t&&(e._prev=t,"none"===e.options.filter&&e.listView.value(""),e.search(t)),e._typingTimeout=null},e.options.delay)},_setText:function(e){this.input.val(e),this._prev=e},_wrapper:function(){var e=this,t=e.element,i=t.parent();i.is("span.k-widget")||(i=t.hide().wrap("<span />").parent(),i[0].style.cssText=t[0].style.cssText),e.wrapper=i.addClass("k-widget k-combobox k-header").addClass(t[0].className).css("display","")},_clearSelection:function(e,t){var i=this,s=e.value(),n=s&&-1===e.selectedIndex;-1==this.selectedIndex&&this.value()||(t||!s||n)&&(i.options.value="",i.value(""))},_preselect:function(e,t){this.input.val(t),this._accessor(e),this._old=this._accessor(),this._oldIndex=this.selectedIndex,this.listView.setValue(e),this._placeholder(),this._initialIndex=null,this._presetValue=!0}});s.plugin(T)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()});
//# sourceMappingURL=kendo.combobox.min.js.map