@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 15.5 kB
JavaScript
module.exports=function(e){function t(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return e[s].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1114)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1076:function(e,t){e.exports=require("./kendo.list")},1077:function(e,t){e.exports=require("./kendo.mobile.scroller")},1078:function(e,t){e.exports=require("./kendo.virtuallist")},1114:function(e,t,i){var s,o,n;!function(a,define){o=[i(1076),i(1077),i(1078)],s=a,n="function"==typeof s?s.apply(t,o):s,!(void 0!==n&&(e.exports=n))}(function(){return function(e,t){var i=window.kendo,s=i.ui,o=s.List,n=s.Select,a=i.caret,l=i.support,r=l.placeholder,u=i._activeElement,c=i.keys,d=".kendoComboBox",p=d+"FocusEvent",_="click"+d,h="mousedown"+d,f="disabled",g="readonly",v="change",x="k-i-loading",m="k-state-default",w="k-state-focused",y="k-state-disabled",V="aria-disabled",T="aria-readonly",b="off",I="filter",C="accept",k="rebind",F="mouseenter"+d+" mouseleave"+d,S=e.proxy,B=/(\r\n|\n|\r)/gm,L=[16,17,18,19,20,33,34,37,39,45,91,92,144,145],E=n.extend({init:function(t,s){var o,a,l=this;l.ns=d,s=Array.isArray(s)?{dataSource:s}:s,n.fn.init.call(l,t,s),s=l.options,t=l.element.on("focus"+d,S(l._focusHandler,l)),s.placeholder=s.placeholder||t.attr("placeholder"),l._reset(),l._wrapper(),l._input(),l._clearButton(),l._tabindex(l.input),l._popup(),l._dataSource(),l._ignoreCase(),l._enable(),l._attachFocusEvents(),l._oldIndex=l.selectedIndex=-1,l._aria(),l._initialIndex=s.index,l.requireValueMapper(l.options),l._initList(),l._cascade(),s.autoBind?l._filterSource():(o=s.text,!o&&l._isSelect&&(o=t.children(":selected").text()),o&&l._setText(o)),o||l._placeholder(),a=e(l.element).parents("fieldset").is(":disabled"),a&&l.enable(!1),i.notify(l),l._toggleCloseVisibility()},options:{name:"ComboBox",enabled:!0,index:-1,text:null,value:null,autoBind:!0,delay:200,dataTextField:"",dataValueField:"",minLength:1,enforceMinLength:!1,height:200,highlightFirst:!0,filter:"none",placeholder:"",suggest:!1,cascadeFrom:"",cascadeFromField:"",cascadeFromParentField:"",ignoreCase:!0,animation:{},virtual:!1,template:null,groupTemplate:"#:data#",fixedGroupTemplate:"#:data#",clearButton:!0,syncValueAndText:!0,autoWidth:!1,popup:null},events:["open","close",v,"select","filtering","dataBinding","dataBound","cascade","set"],setOptions:function(e){var t=this._listOptions(e);n.fn.setOptions.call(this,e),this.listView.setOptions(t),this._accessors(),this._aria(),this._clearButton()},destroy:function(){var e=this;e.input.off(d),e.input.off(p),e.element.off(d),e.wrapper.off(d),e._inputWrapper.off(d),clearTimeout(e._pasteTimeout),e._arrow.off(_+" "+h),e._clear.off(_+" "+h),n.fn.destroy.call(e)},_isValueChanged:function(e){return e!==o.unifyType(this._old,typeof e)&&e!==o.unifyType(this._oldText,typeof e)},_change:function(){var e=this,i=e.text(),s=i&&i!==e._oldText&&i!==e.options.placeholder,o=e.selectedIndex,a=o===-1;return!e.options.syncValueAndText&&!e.value()&&a&&s?(e._old="",e._oldIndex=o,e._oldText=i,e._typing||e.element.trigger(v),e.trigger(v),e._typing=!1,t):(n.fn._change.call(e),e._oldText=e.text&&e.text(),e._toggleCloseVisibility(),t)},_attachFocusEvents:function(){var e=this;e.input.on("focus"+p,S(e._inputFocus,e)).on("focusout"+p,S(e._inputFocusout,e))},_focusHandler:function(e){e.target===this.element[0]&&this.input.trigger("focus")},_arrowClick:function(){this._toggle()},_inputFocus:function(){this._inputWrapper.addClass(w),this._placeholder(!1)},_inputFocusout:function(i){var s,o,n=this,a=n.value(),l=!e(i.relatedTarget).closest(".k-clear-value").length;return n._userTriggered=!0,n._inputWrapper.removeClass(w),clearTimeout(n._typingTimeout),n._typingTimeout=null,l&&n.text(n.text()),s=n._focus(),o=this.listView.dataItemByIndex(this.listView.getElementIndex(s)),a!==n.value()&&n.trigger("select",{dataItem:o,item:s})?(n.value(a),t):(n._placeholder(),n._valueBeforeCascade=n._old,l&&(n._blur(),n.element.trigger("blur")),t)},_inputPaste:function(){var e=this;clearTimeout(e._pasteTimeout),e._pasteTimeout=null,e._pasteTimeout=setTimeout(function(){e.search()})},_editable:function(e){var t=this,i=e.disable,s=e.readonly,o=t._inputWrapper.off(d),n=t.element.add(t.input.off(d)),a=t._arrow.off(_+" "+h),l=t._clear;s||i?(o.addClass(i?y:m).removeClass(i?m:y),n.attr(f,i).attr(g,s).attr(V,i).attr(T,s)):(o.addClass(m).removeClass(y).on(F,t._toggleHover),n.prop(f,!1).prop(g,!1).attr(V,!1).attr(T,!1),a.on(_,S(t._arrowClick,t)).on(h,function(e){e.preventDefault()}),l.on(_+" touchend"+d,S(t._clearValue,t)),t.input.on("keydown"+d,S(t._keydown,t)).on("input"+d,S(t._search,t)).on("paste"+d,S(t._inputPaste,t)),t.wrapper.on(_+d,S(t._focusHandler,t))),t._toggleCloseVisibility()},open:function(){var e=this,t=e._state,i=!!e.dataSource.filter()&&e.dataSource.filter().filters.length>0,s=!e.ul.find(e.listView.focus()).length;e.popup.visible()||(!e.listView.bound()&&t!==I||t===C?(e._open=!0,e._state=k,1!==e.options.minLength&&!i||i&&e.value()&&e.selectedIndex===-1?(e.refresh(),e._openPopup(),this.options.virtual||e.listView.bound(!1)):e._filterSource()):e._allowOpening()&&(e.popup._hovered=!0,e._openPopup(),e.options.virtual?e._focusItem():s&&e.options.highlightFirst&&e.listView.focus(0)))},_scrollToFocusedItem:function(){var e=this.listView;e.scrollToIndex(e.getElementIndex(e.focus()))},_openPopup:function(){this.popup.one("activate",S(this._scrollToFocusedItem,this)),this.popup.open()},_updateSelectionState:function(){var e=this,i=e.options.text,s=e.options.value;e.listView.isFiltered()||(e.selectedIndex===-1?(i!==t&&null!==i||(i=s),e._accessor(s),e.input.val(i||e.input.val()),e._placeholder()):e._oldIndex===-1&&(e._oldIndex=e.selectedIndex))},_buildOptions:function(e){var i,s=this;s._isSelect&&(i=s._customOption,s._state===k&&(s._state=""),s._customOption=t,s._options(e,"",s.value()),i&&i[0].selected&&!s.listView._emptySearch&&s._custom(i.val()))},_updateSelection:function(){var i,s=this,o=s.listView,n=s._initialIndex,a=null!==n&&n>-1,l=s._state===I;return l?(e(o.focus()).removeClass("k-state-selected"),t):(s._fetch||(o.value().length||(a?s.select(n):s._accessor()&&o.value(s._accessor())),s._initialIndex=null,i=o.selectedDataItems()[0],i&&(s._value(i)!==s.value()?s._custom(s._value(i)):s._value(i)!==s.element[0].value&&s._accessor(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(),o=e.listView.skip(),n=s.length,a=e.dataSource._group?e.dataSource._group.length:0,l=o===t||0===o;e._presetValue=!1,e._renderFooter(),e._renderNoData(),e._toggleNoData(!n),e._toggleHeader(!!a&&!!n),e._resizePopup(),e.popup.position(),e._buildOptions(s),e._updateSelection(),s.length&&l&&(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(e._allowOpening()),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;s<t.length;s++)if(e(t[s])){e=s,i=!0;break}i||(e=-1)}return this.dataSource.total()||e||(e=-1),e},_select:function(e,t){var i=this;return e=i._get(e),e===-1&&(i.input[0].value="",i._accessor("")),i.listView.select(e).done(function(){t||i._state!==I||(i._state=C),i._toggleCloseVisibility()})},_selectValue:function(e){var i=this.listView.select(),s="",o="";i=i[i.length-1],i===t&&(i=-1),this.selectedIndex=i,this.listView.isFiltered()&&i!==-1&&(this._valueBeforeCascade=this._old),i!==-1||e?((e||0===e)&&(s=this._dataValue(e),o=this._text(e)),null===s&&(s="")):(this.options.syncValueAndText?(o=this.options.dataTextField===this.options.dataValueField?this._accessor():this.input[0].value,s=o):o=this.text(),this.listView.focus(-1)),this._setDomInputValue(o),this._accessor(s!==t?s:o,i),this._placeholder(),this._triggerCascade()},_setDomInputValue:function(e){var t,i,s=this,o=a(this.input);o&&o.length&&(t=o[0]),this._prev=this.input[0].value=e,t&&this.selectedIndex===-1&&(i=l.mobileOS,i.wp||i.android?setTimeout(function(){s.input[0].setSelectionRange(t,t)},0):this.input[0].setSelectionRange(t,t))},refresh:function(){this.listView.refresh()},_toggleCloseVisibility:function(){var e=this.element.is(":disabled")||this.element.is("[readonly]");this.text()&&!e?this._showClear():this._hideClear()},suggest:function(e){var i,s=this,n=s.input[0],l=s.text(),r=a(n)[0],d=s._last,p=s.dataSource.options.accentFoldingFiltering;return d==c.BACKSPACE||d==c.DELETE?(s._last=t,t):(e=e||"","string"!=typeof e&&(e[0]&&(e=s.dataSource.view()[o.inArray(e[0],s.ul[0])]),e=e?s._text(e):""),r<=0&&(r=(p?l.toLocaleLowerCase(p):l.toLowerCase()).indexOf(p?e.toLocaleLowerCase(p):e.toLowerCase())+1),e?(e=""+e,i=(p?e.toLocaleLowerCase(p):e.toLowerCase()).indexOf(p?l.toLocaleLowerCase(p):l.toLowerCase()),i>-1&&(l+=e.substring(i+l.length))):l=l.substring(0,r),l.length===r&&e||(n.value=l,n===u()&&a(n,r,l.length)),t)},text:function(e){var i,s,n,a,l,r;return e=null===e?"":e,i=this,s=i.input[0],n=i.options.ignoreCase,a=e,e===t?s.value:i.options.autoBind!==!1||i.listView.bound()?(l=i.dataItem(),l&&i._text(l).replace&&i._text(l).replace(B,"")===e&&(r=i._value(l),r===o.unifyType(i._old,typeof r))?(i._triggerCascade(),t):(n&&(a=a.toLowerCase()),i.dataItem()&&i._text(i.dataItem())===e||(i._select(function(e){return e=i._text(e),n&&(e=(e+"").toLowerCase()),e===a}).done(function(){i.selectedIndex<0&&(s.value=e,i.options.syncValueAndText&&i._accessor(e),i._cascadeTriggered=!0,i._triggerCascade()),i._prev=s.value}),i._toggleCloseVisibility()),t)):(i._setText(e),t)},toggle:function(e){this._toggle(e,!0)},value:function(e){var i=this,s=i.options,o=i.listView;return e===t?(e=i._accessor()||i.listView.value()[0],e===t||null===e?"":e):(i.requireValueMapper(i.options,e),i.trigger("set",{value:e}),(e!==s.value||i.input.val()!==s.text||i.options.cascadeFrom)&&(i._accessor(e),i._isFilterEnabled()&&o.bound()&&o.isFiltered()?i._clearFilter():i._fetchData(),o.value(e).done(function(){i.selectedIndex!==-1||o._selectedDataItems&&o._selectedDataItems.length||(i._accessor(e),i.input.val(e),i._placeholder(!0)),i._old=i._userTriggered?i._accessor():i._valueBeforeCascade=i._accessor(),i._oldIndex=i.selectedIndex,i._prev=i._oldText=i.input.val(),i._state===I&&(i._state=C),i._toggleCloseVisibility()})),t)},_hideBusy:function(){var e=this;clearTimeout(e._busy),e._arrowIcon.removeClass(x),e._focused.attr("aria-busy",!1),e._busy=null,e._toggleCloseVisibility()},_click:function(e){var i=this,s=e.item,n=i.listView.dataItemByIndex(i.listView.getElementIndex(s)),a=!0;return e.preventDefault(),n&&(a=i._value(n)!==o.unifyType(i.value(),typeof i._value(n)),a||i.input.val(i._text(n))),a&&i.trigger("select",{dataItem:n,item:s})?(i.close(),t):(i._userTriggered=!0,i._select(s).done(function(){i._blur()}),t)},_syncValueAndText:function(){return this.options.syncValueAndText},_inputValue:function(){return this.text()},_searchByWord:function(e){var i,s=this,o=s.options,n=s.dataSource,a=o.ignoreCase,l=function(i){var o=s._text(i);if(o!==t)return o+="",(""===o||""!==e)&&(a&&(o=o.toLowerCase()),0===o.indexOf(e))};return a&&(e=e.toLowerCase()),s.ul[0].firstChild?(this.listView.focus(this._get(l)),i=this.listView.focus(),i&&(o.suggest&&s.suggest(i),this.open()),this.options.highlightFirst&&!e&&this.listView.focusFirst(),t):(n.one(v,function(){n.view()[0]&&s.search(e)}).fetch(),t)},_input:function(){var t,i,s=this,o=s.element.removeClass("k-input")[0],n=o.accessKey,a=s.wrapper,l="input.k-input",u=o.name||"";u&&(u='name="'+u+'_input" '),t=a.find(l),t[0]||(a.append('<span tabindex="-1" unselectable="on" class="k-dropdown-wrap k-state-default"><input '+u+'class="k-input" type="text" autocomplete="'+b+'"/><span unselectable="on" class="k-select" aria-label="select"><span class="k-icon k-i-arrow-60-down"></span></span></span>').append(s.element),t=a.find(l)),t[0].style.cssText=o.style.cssText,t[0].title=o.title,i=parseInt(this.element.prop("maxlength")||this.element.attr("maxlength"),10),i>-1&&(t[0].maxLength=i),t.addClass(o.className).css({width:"",height:o.style.height,position:""}).attr({role:"combobox","aria-expanded":!1}).show(),r&&t.attr("placeholder",s.options.placeholder),n&&(o.accessKey="",t[0].accessKey=n),s._focused=s.input=t,s._inputWrapper=e(a[0].firstChild),s._arrow=a.find(".k-select").attr({role:"button",tabIndex:-1}),s._arrowIcon=s._arrow.find(".k-icon"),o.id&&s._arrow.attr("aria-controls",s.ul[0].id)},_clearButton:function(){o.fn._clearButton.call(this),this.options.clearButton&&(this._clear.insertAfter(this.input),this.wrapper.addClass("k-combobox-clearable"))},_keydown:function(e){var t,i,s,n=this,a=e.keyCode,l=n.options.dataTextField||"text",r=a>=112&&a<=135,u=L.indexOf(a)>-1;if(n._last=a,clearTimeout(n._typingTimeout),n._typingTimeout=null,a===c.HOME)n._firstItem();else if(a===c.END)n._lastItem();else if(a===c.ENTER||a===c.TAB&&n.popup.visible())if(t=n.listView.focus(),i=n.dataItem(),s=!0,n.popup.visible()||i&&n.text()===n._text(i)||(t=null),t){if(n.popup.visible()&&e.preventDefault(),i=n.listView.dataItemByIndex(n.listView.getElementIndex(t)),i&&(s=n._value(i)!==o.unifyType(n.value(),typeof n._value(i))),s&&n.trigger("select",{dataItem:i,item:t}))return;n._userTriggered=!0,n._select(t).done(function(){n._blur(),n._valueBeforeCascade=n._old=n.value()})}else(n._syncValueAndText()||n._isSelect)&&(n.dataItem()&&n.dataItem()[l]===n.input.val()||n._accessor(n.input.val())),n.options.highlightFirst?(n.listView.value(n.input.val()),n._blur()):n._oldText=n.text();else a==c.TAB||n._move(e)||u||r||e.ctrlKey?a===c.ESC&&!n.popup.visible()&&n.text()&&n._clearValue():n._search()},_placeholder:function(e){if(!r){var i,s=this,o=s.input,n=s.options.placeholder;if(n){if(i=s.value(),e===t&&(e=!i),o.toggleClass("k-readonly",e),!e){if(i)return;n=""}o.val(n),n||o[0]!==u()||a(o[0],0,0)}}},_search:function(){var e=this;clearTimeout(e._typingTimeout),e._typingTimeout=setTimeout(function(){var i=e.text();""!==i&&e._prev!==i?(e._prev=i,"none"===e.options.filter&&e.options.virtual&&e.listView.select(-1),e.search(i),e._toggleCloseVisibility()):""===i&&""!==e._prev&&e._prev!==t&&(e._clearValue(),e._open=!0,e._state=k),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").addClass(t[0].className).removeClass("input-validation-error").css("display","")},_clearSelection:function(e,t){var i=this,s=e.value(),o=s&&e.selectedIndex===-1;this.selectedIndex==-1&&this.value()||(t||!s||o)&&(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,this._toggleCloseVisibility()},_clearText:function(){this._old=this.value(),this.text("")},_clearValue:function(){n.fn._clearValue.call(this),this.input.trigger("focus")}});s.plugin(E)}(window.kendo.jQuery),window.kendo},i(3))}});