{"version":3,"file":"kendo.combobox.min.js","names":["factory","define","amd","$","undefined$1","kendo","encode","ui","html","List","Select","caret","support","placeholderSupported","activeElement","keys","ns","nsFocusEvent","CLICK","MOUSEDOWN","DISABLED","READONLY","CHANGE","FOCUSED","STATEDISABLED","ARIA_DISABLED","ARIA_READONLY","STATE_FILTER","STATE_ACCEPT","STATE_REBIND","HOVEREVENTS","newLineRegEx","NON_PRINTABLE_KEYS","ComboBox","window","jQuery","htmlEncode","placeholder","_activeElement","extend","init","element","options","text","that","this","Array","isArray","dataSource","fn","call","on","_focusHandler","bind","attr","_reset","_wrapper","_input","_clearButton","_tabindex","input","_popup","_dataSource","_ignoreCase","_enable","_attachFocusEvents","_oldIndex","selectedIndex","_initialIndex","index","requireValueMapper","_initList","_cascade","autoBind","_filterSource","_isSelect","children","_setText","_placeholder","parents","is","enable","notify","_toggleCloseVisibility","_applyCssClasses","label","_label","_aria","name","enabled","value","delay","dataTextField","dataValueField","minLength","enforceMinLength","height","highlightFirst","filter","suggest","cascadeFrom","cascadeFromField","cascadeFromParentField","cascadeOnCustomValue","ignoreCase","animation","virtual","template","groupTemplate","data","fixedGroupTemplate","clearButton","syncValueAndText","autoWidth","popup","size","fillMode","rounded","clearOnEscape","events","setOptions","listOptions","_listOptions","listView","_accessors","destroy","off","wrapper","clearTimeout","_pasteTimeout","_arrow","_clear","_isValueChanged","unifyType","_old","_oldText","_change","hasText","isCustom","_typing","trigger","_inputFocus","_inputFocusout","e","target","_arrowClick","_toggle","addClass","isClearButton","relatedTarget","closest","length","_userTriggered","removeClass","_typingTimeout","item","_focus","dataItem","dataItemByIndex","getElementIndex","_valueBeforeCascade","_blur","_inputPaste","setTimeout","search","_editable","disable","readonly","add","arrow","clear","_toggleHover","prop","preventDefault","_clearValue","_keydown","_search","open","state","_state","isFiltered","filters","reinitialized","ul","find","focus","visible","bound","_open","refresh","_openPopup","_allowOpening","_hovered","_focusItem","_scrollToFocusedItem","scrollToIndex","one","_updateSelectionState","_accessor","val","_buildOptions","custom","_customOption","_options","selected","_emptySearch","_custom","_updateSelection","initialIndex","hasInitialIndex","_fetch","select","selectedDataItems","_value","_text","_selectValue","_updateItemFocus","focusIndex","_listBound","isActive","flatView","skip","groupsLength","_group","isFirstPage","_presetValue","_renderFooter","_renderNoData","_toggleNoData","_toggleHeader","_resizePopup","position","close","toggle","_hideBusy","_listChange","_get","candidate","found","idx","total","_select","keepState","done","_dataValue","_setDomInputValue","_triggerCascade","caretStart","currentCaret","_prev","mobile","mobileOS","wp","android","setSelectionRange","preventShow","_showClear","_hideClear","word","caretIdx","key","_last","accentFoldingFiltering","BACKSPACE","DELETE","view","inArray","toLocaleLowerCase","toLowerCase","indexOf","toString","substring","loweredText","replace","_cascadeTriggered","_refreshFloatingLabel","_isFilterEnabled","_clearFilter","_fetchData","_selectedDataItems","_busy","_arrowIcon","_focused","_click","shouldTrigger","_syncValueAndText","_inputValue","_searchByWord","firstChild","current","focusFirst","fetch","maxLength","arrowBtn","accessKey","SELECTOR","renderButton","icon","shape","append","style","cssText","title","parseInt","className","css","width","role","show","tabIndex","insertAfter","keyCode","textField","isFkey","isNonPrintableKey","HOME","_firstItem","END","_lastItem","ENTER","TAB","_move","ctrlKey","ESC","toggleClass","parent","hide","wrap","_clearSelection","hasValue","_preselect","setValue","_clearText","plugin","cssProperties","registerPrefix","registerValues","values","roundedValues","concat"],"sources":["kendo.combobox.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.list', 'kendo.mobile.scroller', 'kendo.virtuallist', 'kendo.html.button'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"combobox\",\n name: \"ComboBox\",\n category: \"web\",\n description: \"The ComboBox widget allows the selection from pre-defined values or entering a new value.\",\n depends: [ \"list\", \"html.button\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n encode = kendo.htmlEncode,\n ui = kendo.ui,\n html = kendo.html,\n List = ui.List,\n Select = ui.Select,\n caret = kendo.caret,\n support = kendo.support,\n placeholderSupported = support.placeholder,\n activeElement = kendo._activeElement,\n keys = kendo.keys,\n ns = \".kendoComboBox\",\n nsFocusEvent = ns + \"FocusEvent\",\n CLICK = \"click\" + ns,\n MOUSEDOWN = \"mousedown\" + ns,\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n CHANGE = \"change\",\n LOADING = \"k-i-loading k-input-loading-icon\",\n FOCUSED = \"k-focus\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n AUTOCOMPLETEVALUE = \"off\",\n STATE_FILTER = \"filter\",\n STATE_ACCEPT = \"accept\",\n STATE_REBIND = \"rebind\",\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns,\n newLineRegEx = /(\\r\\n|\\n|\\r)/gm,\n NON_PRINTABLE_KEYS = [16,17,18,19,20,33,34,37,39,45,91,92,144,145];\n\n var ComboBox = Select.extend({\n init: function(element, options) {\n var that = this, text, disabled;\n\n that.ns = ns;\n\n options = Array.isArray(options) ? { dataSource: options } : options;\n\n Select.fn.init.call(that, element, options);\n\n options = that.options;\n element = that.element.on(\"focus\" + ns, that._focusHandler.bind(that));\n\n options.placeholder = options.placeholder || element.attr(\"placeholder\");\n\n that._reset();\n\n that._wrapper();\n\n that._input();\n\n that._clearButton();\n\n that._tabindex(that.input);\n\n that._popup();\n\n that._dataSource();\n that._ignoreCase();\n\n that._enable();\n\n that._attachFocusEvents();\n\n that._oldIndex = that.selectedIndex = -1;\n\n that._initialIndex = options.index;\n\n that.requireValueMapper(that.options);\n that._initList();\n\n that._cascade();\n\n if (options.autoBind) {\n that._filterSource();\n } else {\n text = options.text;\n\n if (!text && that._isSelect) {\n text = element.children(\":selected\").text();\n }\n\n if (text) {\n that._setText(text);\n }\n }\n\n if (!text) {\n that._placeholder();\n }\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\n\n kendo.notify(that);\n that._toggleCloseVisibility();\n that._applyCssClasses();\n\n if (options.label) {\n that._label();\n }\n\n that._aria();\n },\n\n options: {\n name: \"ComboBox\",\n enabled: true,\n index: -1,\n text: null,\n value: null,\n autoBind: true,\n delay: 200,\n dataTextField: \"\",\n dataValueField: \"\",\n minLength: 1,\n enforceMinLength: false,\n height: 200,\n highlightFirst: true,\n filter: \"none\",\n placeholder: \"\",\n suggest: false,\n cascadeFrom: \"\",\n cascadeFromField: \"\",\n cascadeFromParentField: \"\",\n cascadeOnCustomValue: false,\n ignoreCase: true,\n animation: {},\n virtual: false,\n template: null,\n groupTemplate: function (data) { return encode(data); },\n fixedGroupTemplate: function (data) { return encode(data); },\n clearButton: true,\n syncValueAndText: true,\n autoWidth: false,\n popup: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n label: null,\n clearOnEscape: true\n },\n\n events: [\n \"open\",\n \"close\",\n CHANGE,\n \"select\",\n \"filtering\",\n \"dataBinding\",\n \"dataBound\",\n \"cascade\",\n \"set\"\n ],\n\n setOptions: function(options) {\n var listOptions = this._listOptions(options);\n\n Select.fn.setOptions.call(this, options);\n\n this.listView.setOptions(listOptions);\n\n this._accessors();\n this._aria();\n this._clearButton();\n },\n\n destroy: function() {\n var that = this;\n\n that.input.off(ns);\n that.input.off(nsFocusEvent);\n that.element.off(ns);\n that.wrapper.off(ns);\n clearTimeout(that._pasteTimeout);\n\n that._arrow.off(CLICK + \" \" + MOUSEDOWN);\n that._clear.off(CLICK + \" \" + MOUSEDOWN);\n\n Select.fn.destroy.call(that);\n },\n\n _isValueChanged: function(value) {\n return value !== List.unifyType(this._old, typeof value) &&\n value !== List.unifyType(this._oldText, typeof value);\n },\n\n _change: function() {\n var that = this;\n var text = that.text();\n var hasText = text && text !== that._oldText && text !== that.options.placeholder;\n var index = that.selectedIndex;\n var isCustom = index === -1;\n\n if (!that.options.syncValueAndText && !that.value() && isCustom && hasText) {\n that._old = \"\";\n that._oldIndex = index;\n that._oldText = text;\n\n if (!that._typing) {\n // trigger the DOM change event so any subscriber gets notified\n that.element.trigger(CHANGE);\n }\n\n that.trigger(CHANGE);\n that._typing = false;\n return;\n }\n\n Select.fn._change.call(that);\n\n that._oldText = that.text && that.text();\n\n that._toggleCloseVisibility();\n },\n\n _attachFocusEvents: function() {\n var that = this;\n that.input.on(\"focus\" + nsFocusEvent, that._inputFocus.bind(that))\n .on(\"focusout\" + nsFocusEvent, that._inputFocusout.bind(that));\n },\n\n _focusHandler: function(e) {\n if (e.target === this.element[0]) {\n this.input.trigger(\"focus\");\n }\n },\n\n _arrowClick: function() {\n this._toggle();\n },\n\n _inputFocus: function() {\n this.wrapper.addClass(FOCUSED);\n this._placeholder(false);\n },\n\n _inputFocusout: function(e) {\n var that = this;\n var value = that.value();\n var isClearButton = !$(e.relatedTarget).closest('.k-clear-value').length;\n\n that._userTriggered = true;\n that.wrapper.removeClass(FOCUSED);\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (isClearButton) {\n that.text(that.text());\n }\n\n var item = that._focus();\n var dataItem = this.listView.dataItemByIndex(this.listView.getElementIndex(item));\n\n if (value !== that.value() && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.value(value);\n return;\n }\n\n that._placeholder();\n that._valueBeforeCascade = that._old;\n\n if (isClearButton) {\n that._blur();\n\n that.element.trigger(\"blur\");\n }\n },\n\n _inputPaste: function() {\n var that = this;\n clearTimeout(that._pasteTimeout);\n that._pasteTimeout = null;\n\n that._pasteTimeout = setTimeout(function() {\n that.search();\n });\n },\n\n _editable: function(options) {\n var that = this,\n disable = options.disable,\n readonly = options.readonly,\n wrapper = that.wrapper.off(ns),\n input = that.element.add(that.input.off(ns)),\n arrow = that._arrow.off(CLICK + \" \" + MOUSEDOWN),\n clear = that._clear;\n\n if (!readonly && !disable) {\n wrapper\n .removeClass(STATEDISABLED)\n .on(HOVEREVENTS, that._toggleHover);\n\n input.prop(DISABLED, false)\n .prop(READONLY, false)\n .attr(ARIA_DISABLED, false)\n .attr(ARIA_READONLY, false);\n\n arrow.on(CLICK, that._arrowClick.bind(that))\n .on(MOUSEDOWN, function(e) { e.preventDefault(); });\n\n clear.on(CLICK + \" touchend\" + ns, that._clearValue.bind(that));\n\n that.input\n .on(\"keydown\" + ns, that._keydown.bind(that))\n .on(\"input\" + ns, that._search.bind(that))\n .on(\"paste\" + ns, that._inputPaste.bind(that));\n\n that.wrapper.on(CLICK + ns, that._focusHandler.bind(that));\n } else {\n wrapper\n .addClass(disable ? STATEDISABLED : \"\")\n .removeClass(disable ? \"\" : STATEDISABLED);\n\n input.attr(DISABLED, disable)\n .attr(READONLY, readonly)\n .attr(ARIA_DISABLED, disable)\n .attr(ARIA_READONLY, readonly);\n }\n\n that._toggleCloseVisibility();\n },\n\n open: function() {\n var that = this;\n var state = that._state;\n var isFiltered = that.dataSource.filter() ? that.dataSource.filter().filters.length > 0 : false;\n var reinitialized = !that.ul.find(that.listView.focus()).length;\n\n if (that.popup.visible()) {\n return;\n }\n\n if ((!that.listView.bound() && state !== STATE_FILTER) || state === STATE_ACCEPT) {\n that._open = true;\n that._state = STATE_REBIND;\n\n if ((that.options.minLength !== 1 && !isFiltered) || (isFiltered && that.value() && that.selectedIndex === -1 )) {\n that.refresh();\n that._openPopup();\n if (!this.options.virtual) {\n that.listView.bound(false);\n }\n } else {\n that._filterSource();\n }\n } else if (that._allowOpening()) {\n // In some cases when the popup is opened resize is triggered which will cause it to close\n // Setting the below flag will prevent this from happening\n that.popup._hovered = true;\n that._openPopup();\n if (that.options.virtual) {\n that._focusItem();\n } else if (reinitialized && that.options.highlightFirst) {\n that.listView.focus(0);\n }\n }\n },\n\n _scrollToFocusedItem: function() {\n var listView = this.listView;\n\n listView.scrollToIndex(listView.getElementIndex(listView.focus()));\n },\n\n _openPopup: function() {\n this.popup.one(\"activate\", this._scrollToFocusedItem.bind(this));\n this.popup.open();\n },\n\n _updateSelectionState: function() {\n var that = this;\n var text = that.options.text;\n var value = that.options.value;\n\n if (that.listView.isFiltered()) {\n return;\n }\n\n if (that.selectedIndex === -1) {\n if (text === undefined$1 || text === null) {\n text = value;\n }\n\n that._accessor(value);\n that.input.val(text || that.input.val());\n that._placeholder();\n } else if (that._oldIndex === -1) {\n that._oldIndex = that.selectedIndex;\n }\n },\n\n _buildOptions: function(data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n\n var custom = that._customOption;\n\n if (that._state === STATE_REBIND) {\n that._state = \"\";\n }\n\n that._customOption = undefined$1;\n that._options(data, \"\", that.value());\n\n if (custom && custom[0].selected && !that.listView._emptySearch) {\n that._custom(custom.val());\n }\n },\n\n _updateSelection: function() {\n var that = this;\n var listView = that.listView;\n var initialIndex = that._initialIndex;\n var hasInitialIndex = initialIndex !== null && initialIndex > -1;\n var filtered = that._state === STATE_FILTER;\n\n if (filtered) {\n $(listView.focus()).removeClass(\"k-selected\");\n return;\n }\n\n if (that._fetch) {\n return;\n }\n\n if (!listView.value().length) {\n if (hasInitialIndex) {\n that.select(initialIndex);\n } else if (that._accessor()) {\n listView.value(that._accessor());\n }\n }\n\n that._initialIndex = null;\n var dataItem = listView.selectedDataItems()[0];\n\n if (!dataItem) {\n return;\n }\n\n if (that._value(dataItem) !== that.value()) {\n that._custom(that._value(dataItem));\n } else if (that._value(dataItem) !== that.element[0].value) {\n that._accessor(that._value(dataItem));\n }\n\n if (that.text() && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n },\n\n _updateItemFocus: function() {\n var listView = this.listView;\n\n if (!this.options.highlightFirst) {\n listView.focus(-1);\n } else if (!listView.focus() && !listView.focusIndex()) {\n listView.focus(0);\n }\n },\n\n _listBound: function() {\n var that = this;\n var isActive = that.input[0] === activeElement();\n\n var data = that.dataSource.flatView();\n var skip = that.listView.skip();\n var length = data.length;\n var groupsLength = that.dataSource._group ? that.dataSource._group.length : 0;\n var isFirstPage = skip === undefined$1 || skip === 0;\n\n that._presetValue = false;\n\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n\n that._resizePopup();\n\n that.popup.position();\n\n that._buildOptions(data);\n\n that._updateSelection();\n\n if (data.length && isFirstPage) {\n that._updateItemFocus();\n\n if (that.options.suggest && isActive && that.input.val()) {\n that.suggest(data[0]);\n }\n }\n\n if (that._open) {\n that._open = false;\n\n if (that._typingTimeout && !isActive) {\n that.popup.close();\n } else {\n that.toggle(that._allowOpening());\n }\n\n that._typingTimeout = null;\n }\n\n that._hideBusy();\n that.trigger(\"dataBound\");\n },\n\n _listChange: function() {\n this._selectValue(this.listView.selectedDataItems()[0]);\n\n if (this._presetValue) {\n this._oldIndex = this.selectedIndex;\n }\n },\n\n _get: function(candidate) {\n var data, found, idx;\n\n if (typeof candidate === \"function\") {\n data = this.dataSource.flatView();\n\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n\n if (!found) {\n candidate = -1;\n }\n }\n\n if (!this.dataSource.total() && !candidate) {\n candidate = -1;\n }\n\n return candidate;\n },\n\n _select: function(candidate, keepState) {\n var that = this;\n\n candidate = that._get(candidate);\n\n if (candidate === -1) {\n that.input[0].value = \"\";\n that._accessor(\"\");\n }\n\n return that.listView.select(candidate).done(function() {\n if (!keepState && that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n });\n },\n\n _selectValue: function(dataItem) {\n var idx = this.listView.select();\n var value = \"\";\n var text = \"\";\n\n idx = idx[idx.length - 1];\n if (idx === undefined$1) {\n idx = -1;\n }\n\n this.selectedIndex = idx;\n\n if (this.listView.isFiltered() && idx !== -1) {\n this._valueBeforeCascade = this._old;\n }\n\n if (idx === -1 && !dataItem) {\n if (this.options.syncValueAndText) {\n if (this.options.dataTextField === this.options.dataValueField) {\n text = this._accessor();\n } else {\n text = this.input[0].value;\n }\n value = text;\n }\n else {\n text = this.text();\n }\n this.listView.focus(-1);\n } else {\n if (dataItem || dataItem === 0) {\n value = this._dataValue(dataItem);\n text = this._text(dataItem);\n }\n\n if (value === null) {\n value = \"\";\n }\n }\n\n this._setDomInputValue(text);\n this._accessor(value !== undefined$1 ? value : text, idx);\n\n this._placeholder();\n this._triggerCascade();\n },\n\n _setDomInputValue: function(text) {\n var that = this;\n var currentCaret = caret(this.input);\n var caretStart;\n\n if (currentCaret && currentCaret.length) {\n caretStart = currentCaret[0];\n }\n\n this._prev = this.input[0].value = text;\n\n if (caretStart && this.selectedIndex === -1) {\n var mobile = support.mobileOS;\n if (mobile.wp || mobile.android) {// without the timeout the caret is at the end of the input\n setTimeout(function() { that.input[0].setSelectionRange(caretStart, caretStart); }, 0);\n }\n else {\n this.input[0].setSelectionRange(caretStart, caretStart);\n }\n }\n },\n\n refresh: function() {\n this.listView.refresh();\n },\n\n _toggleCloseVisibility: function() {\n var preventShow = this.element.is(\":disabled\") || this.element.is(\"[readonly]\");\n\n if (this.text() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n suggest: function(word) {\n var that = this;\n var element = that.input[0];\n var value = that.text();\n var caretIdx = caret(element)[0];\n var key = that._last;\n var idx;\n var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\n\n if (key == keys.BACKSPACE || key == keys.DELETE) {\n that._last = undefined$1;\n return;\n }\n\n word = word || \"\";\n\n if (typeof word !== \"string\") {\n if (word[0]) {\n word = that.dataSource.view()[List.inArray(word[0], that.ul[0])];\n }\n\n word = word ? that._text(word) : \"\";\n }\n\n if (caretIdx <= 0) {\n caretIdx = (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()).indexOf(accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) + 1;\n }\n\n if (word) {\n word = word.toString();\n idx = (accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()).indexOf(accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase());\n if (idx > -1) {\n value += word.substring(idx + value.length);\n }\n } else {\n value = value.substring(0, caretIdx);\n }\n\n if (value.length !== caretIdx || !word) {\n element.value = value;\n if (element === activeElement()) {\n caret(element, caretIdx, value.length);\n }\n }\n },\n\n text: function(text) {\n text = text === null ? \"\" : text;\n\n var that = this;\n var input = that.input[0];\n var ignoreCase = that.options.ignoreCase;\n var loweredText = text;\n var dataItem;\n var value;\n\n if (text === undefined$1) {\n return input.value;\n }\n\n if (that.options.autoBind === false && !that.listView.bound()) {\n that._setText(text);\n return;\n }\n\n dataItem = that.dataItem();\n\n if (dataItem && that._text(dataItem).replace && that._text(dataItem).replace(newLineRegEx,\"\") === text) {\n value = that._value(dataItem);\n\n if (value === List.unifyType(that._old, typeof value)) {\n that._triggerCascade();\n return;\n }\n }\n\n if (ignoreCase) {\n loweredText = loweredText.toLowerCase();\n }\n\n if (that.dataItem() && that._text(that.dataItem()) === text) {\n return;\n }\n\n that._select(function(data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + \"\").toLowerCase();\n }\n\n return data === loweredText;\n }).done(function() {\n if (that.selectedIndex < 0) {\n input.value = text;\n\n if (that.options.syncValueAndText) {\n that._accessor(text);\n }\n\n that._cascadeTriggered = true;\n that._triggerCascade();\n that._refreshFloatingLabel();\n }\n\n that._prev = input.value;\n });\n\n that._toggleCloseVisibility();\n },\n\n toggle: function(toggle) {\n this._toggle(toggle, true);\n },\n\n value: function(value) {\n var that = this;\n var options = that.options;\n var listView = that.listView;\n\n if (value === undefined$1) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined$1 || value === null ? \"\" : value;\n }\n\n that.requireValueMapper(that.options, value);\n\n that.trigger(\"set\", { value: value });\n\n if (value === options.value && that.input.val() === options.text &&\n !that.options.cascadeFrom) {\n return;\n }\n\n that._accessor(value);\n\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n\n listView\n .value(value)\n .done(function() {\n if (that.selectedIndex === -1 && (!listView._selectedDataItems || !listView._selectedDataItems.length)) {\n that._accessor(value);\n that.input.val(value);\n that._placeholder(true);\n }\n\n if (that._userTriggered) {\n that._old = that._accessor();\n } else {\n that._old = that._valueBeforeCascade = that._accessor();\n }\n\n that._oldIndex = that.selectedIndex;\n\n that._prev = that._oldText = that.input.val();\n\n if (that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\n\n that._refreshFloatingLabel();\n });\n },\n\n _hideBusy: function() {\n var that = this;\n clearTimeout(that._busy);\n that._arrowIcon.removeClass(LOADING);\n that._focused.attr(\"aria-busy\", false);\n that._busy = null;\n that._toggleCloseVisibility();\n },\n\n _click: function(e) {\n var that = this;\n var item = e.item;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n var shouldTrigger = true;\n e.preventDefault();\n\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n\n if (!shouldTrigger) {\n that.input.val(that._text(dataItem));\n }\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: item })) {\n that.close();\n return;\n }\n\n that._userTriggered = true;\n\n that._select(item).done(function() {\n that._blur();\n });\n },\n\n _syncValueAndText: function() {\n return this.options.syncValueAndText;\n },\n\n _inputValue: function() {\n return this.text();\n },\n\n _searchByWord: function(word) {\n var that = this;\n var options = that.options;\n var dataSource = that.dataSource;\n var ignoreCase = options.ignoreCase;\n var predicate = function(dataItem) {\n var text = that._text(dataItem);\n if (text !== undefined$1) {\n text = text + \"\";\n if (text !== \"\" && word === \"\") {\n return false;\n }\n\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n\n return text.indexOf(word) === 0;\n }\n };\n\n if (ignoreCase) {\n word = word.toLowerCase();\n }\n\n if (!that.ul[0].firstChild) {\n dataSource.one(CHANGE, function() {\n if (dataSource.view()[0]) {\n that.search(word);\n }\n }).fetch();\n return;\n }\n\n this.listView.focus(this._get(predicate));\n\n var current = this.listView.focus();\n\n if (current) {\n if (options.suggest) {\n that.suggest(current);\n }\n\n this.open();\n }\n\n if (this.options.highlightFirst && !word) {\n this.listView.focusFirst();\n }\n },\n\n _input: function() {\n var that = this,\n element = that.element.removeClass(\"k-input-inner\")[0],\n accessKey = element.accessKey,\n wrapper = that.wrapper,\n SELECTOR = \"input.k-input-inner\",\n name = element.name || \"\",\n options = that.options,\n input,\n maxLength,\n arrowBtn;\n\n if (name) {\n name = 'name=\"' + name + '_input\" ';\n }\n\n input = wrapper.find(SELECTOR);\n\n if (!input[0]) {\n arrowBtn = html.renderButton('', {\n icon: \"caret-alt-down\",\n size: options.size,\n fillMode: options.fillMode,\n shape: \"none\",\n rounded: \"none\",\n });\n\n wrapper.append('')\n .append(arrowBtn)\n .append(that.element);\n\n input = wrapper.find(SELECTOR);\n }\n\n input[0].style.cssText = element.style.cssText;\n input[0].title = element.title;\n\n maxLength = parseInt(this.element.prop(\"maxlength\") || this.element.attr(\"maxlength\"), 10);\n if (maxLength > -1) {\n input[0].maxLength = maxLength;\n }\n\n input.addClass(element.className)\n .css({\n width: \"\",\n height: element.style.height,\n position: \"\"\n })\n .attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false\n })\n .show();\n\n if (placeholderSupported) {\n input.attr(\"placeholder\", that.options.placeholder);\n }\n\n if (accessKey) {\n element.accessKey = \"\";\n input[0].accessKey = accessKey;\n }\n\n that._focused = that.input = input;\n that._arrow = wrapper.find(\".k-input-button\")\n .attr({\n \"role\": \"button\",\n \"tabIndex\": -1\n });\n that._arrowIcon = that._arrow.find(\".k-icon, .k-svg-icon\");\n },\n\n _clearButton: function() {\n List.fn._clearButton.call(this);\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.input);\n this.wrapper.addClass(\"k-combobox-clearable\");\n }\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode,\n textField = that.options.dataTextField || \"text\",\n isFkey = key >= 112 && key <= 135,\n isNonPrintableKey = NON_PRINTABLE_KEYS.indexOf(key) > -1;\n\n that._last = key;\n\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n\n if (key === keys.HOME) {\n that._firstItem();\n } else if (key === keys.END) {\n that._lastItem();\n } else if (key === keys.ENTER || (key === keys.TAB && that.popup.visible())) {\n var current = that.listView.focus();\n var dataItem = that.dataItem();\n var shouldTrigger = true;\n\n if (!that.popup.visible() && (!dataItem || that.text() !== that._text(dataItem))) {\n current = null;\n }\n\n if (current) {\n if (that.popup.visible()) {\n e.preventDefault();\n }\n\n dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(current));\n\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n }\n\n if (shouldTrigger && that.trigger(\"select\", { dataItem: dataItem, item: current })) {\n return;\n }\n\n that._userTriggered = true;\n\n that._select(current).done(function() {\n that._blur();\n that._valueBeforeCascade = that._old = that.value();\n });\n } else {\n if (that._syncValueAndText() || that._isSelect) {\n if (!that.dataItem() || that.dataItem()[textField] !== that.input.val()) {\n that._accessor(that.input.val());\n }\n }\n\n if (that.options.highlightFirst) {\n that.listView.value(that.input.val());\n that._blur();\n } else {\n that._oldText = that.text();\n }\n }\n } else if (key != keys.TAB && !that._move(e) && !isNonPrintableKey && !isFkey && !e.ctrlKey) {\n that._search();\n } else if (that.options.clearOnEscape && key === keys.ESC && !that.popup.visible() && that.text()) {\n that._clearValue();\n }\n },\n\n _placeholder: function(show) {\n if (placeholderSupported) {\n return;\n }\n\n var that = this,\n input = that.input,\n placeholder = that.options.placeholder,\n value;\n\n if (placeholder) {\n value = that.value();\n\n if (show === undefined$1) {\n show = !value;\n }\n\n input.toggleClass(\"k-readonly\", show);\n\n if (!show) {\n if (!value) {\n placeholder = \"\";\n } else {\n return;\n }\n }\n\n input.val(placeholder);\n\n if (!placeholder && input[0] === activeElement()) {\n caret(input[0], 0, 0);\n }\n }\n },\n\n _search: function() {\n var that = this;\n\n clearTimeout(that._typingTimeout);\n\n that._typingTimeout = setTimeout(function() {\n var value = that.text();\n\n if (value !== \"\" && that._prev !== value) {\n that._prev = value;\n\n if (that.options.filter === \"none\" && that.options.virtual) {\n that.listView.select(-1);\n }\n\n that.search(value);\n\n that._toggleCloseVisibility();\n }\n else if (value === \"\" && that._prev !== \"\" && that._prev !== undefined$1) {\n that._clearValue();\n that._open = true;\n that._state = STATE_REBIND;\n }\n\n that._typingTimeout = null;\n }, that.options.delay);\n },\n\n _setText: function(text) {\n this.input.val(text);\n this._prev = text;\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n wrapper = element.parent();\n\n if (!wrapper.is(\"span.k-input\")) {\n wrapper = element.hide().wrap(\"\").parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n\n that.wrapper = wrapper.addClass(\"k-input k-combobox\")\n .addClass(element[0].className)\n .removeClass('input-validation-error')\n .css(\"display\", \"\");\n },\n\n _clearSelection: function(parent, isFiltered) {\n var that = this;\n var hasValue = parent.value();\n var custom = hasValue && parent.selectedIndex === -1;\n\n if (this.selectedIndex == -1 && this.value()) {\n return;\n }\n\n if (isFiltered || !hasValue || custom) {\n that.options.value = \"\";\n that.value(\"\");\n }\n },\n\n _preselect: function(value, text) {\n this.input.val(text);\n this._accessor(value);\n\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n\n this.listView.setValue(value);\n this._placeholder();\n\n this._initialIndex = null;\n this._presetValue = true;\n this._toggleCloseVisibility();\n },\n\n _clearText: function() {\n this._old = this.value();\n this.text(\"\");\n },\n\n _clearValue: function() {\n Select.fn._clearValue.call(this);\n this.input.trigger(\"focus\");\n }\n });\n\n ui.plugin(ComboBox);\n\n kendo.cssProperties.registerPrefix(\"ComboBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"ComboBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n })(window.kendo.jQuery);\n\n}));\n"]}