{"version":3,"sources":["kendo.combobox.js"],"names":["f","define","$","undefined","kendo","window","ui","List","Select","caret","support","placeholderSupported","placeholder","activeElement","_activeElement","keys","ns","nsFocusEvent","CLICK","MOUSEDOWN","DISABLED","READONLY","CHANGE","LOADING","DEFAULT","FOCUSED","STATEDISABLED","ARIA_DISABLED","STATE_FILTER","STATE_ACCEPT","STATE_REBIND","HOVEREVENTS","proxy","newLineRegEx","ComboBox","extend","init","element","options","text","disabled","that","this","isArray","dataSource","fn","call","on","_focusHandler","attr","_reset","_wrapper","_input","_clearButton","_tabindex","input","_popup","_dataSource","_ignoreCase","_enable","_attachFocusEvents","_oldIndex","selectedIndex","_aria","_initialIndex","index","requireValueMapper","_initList","_cascade","autoBind","_filterSource","_isSelect","children","_setText","_placeholder","parents","is","enable","notify","_toggleCloseVisibility","name","enabled","value","delay","dataTextField","dataValueField","minLength","enforceMinLength","height","highlightFirst","filter","suggest","cascadeFrom","cascadeFromField","cascadeFromParentField","ignoreCase","animation","virtual","template","groupTemplate","fixedGroupTemplate","clearButton","syncValueAndText","autoWidth","events","setOptions","listOptions","_listOptions","listView","_accessors","destroy","off","_inputWrapper","clearTimeout","_pasteTimeout","_arrow","_clear","_change","hasText","_oldText","isCustom","_old","_typing","trigger","_inputFocus","_inputFocusout","focus","_arrowClick","_toggle","addClass","item","dataItem","_userTriggered","removeClass","_typingTimeout","_focus","dataItemByIndex","getElementIndex","_blur","blur","_inputPaste","setTimeout","search","_editable","disable","readonly","wrapper","add","arrow","clear","_toggleHover","removeAttr","e","preventDefault","_clearValue","_keydown","_search","open","state","_state","isFiltered","filters","length","reinitialized","ul","find","popup","visible","bound","_open","refresh","_openPopup","_allowOpening","_hovered","_focusItem","_scrollToFocusedItem","scrollToIndex","one","_updateSelectionState","_accessor","val","_buildOptions","data","custom","_customOption","_options","selected","_emptySearch","_custom","_updateSelection","initialIndex","hasInitialIndex","filtered","_fetch","select","selectedDataItems","_value","_text","_selectValue","_updateItemFocus","focusIndex","_listBound","isActive","flatView","skip","groupsLength","_group","isFirstPage","_presetValue","_renderFooter","_renderNoData","_toggleNoData","_toggleHeader","_resizePopup","position","_makeUnselectable","close","toggle","_hideBusy","_listChange","_get","candidate","found","idx","_select","keepState","done","_valueBeforeCascade","_dataValue","_setDomInputValue","_triggerCascade","caretStart","mobile","currentCaret","_prev","mobileOS","wp","android","setSelectionRange","preventShow","_showClear","_hideClear","word","caretIdx","key","_last","BACKSPACE","DELETE","view","inArray","toLowerCase","indexOf","substring","loweredText","replace","unifyType","_cascadeTriggered","_isFilterEnabled","_clearFilter","_fetchData","_selectedDataItems","_busy","_arrowIcon","_focused","_click","shouldTrigger","_syncValueAndText","_inputValue","_searchByWord","current","predicate","firstChild","focusFirst","fetch","maxLength","accessKey","SELECTOR","append","style","cssText","title","parseInt","prop","className","css","width","role","aria-expanded","show","tabIndex","id","insertAfter","keyCode","HOME","_firstItem","END","_lastItem","ENTER","TAB","_move","ESC","toggleClass","parent","hide","wrap","_clearSelection","hasValue","_selectedValue","_preselect","setValue","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.combobox.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.combobox', [\n 'kendo.list',\n 'kendo.mobile.scroller',\n 'kendo.virtuallist'\n ], f);\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'],\n features: [\n {\n id: 'mobile-scroller',\n name: 'Mobile scroller',\n description: 'Support for kinetic scrolling in mobile device',\n depends: ['mobile.scroller']\n },\n {\n id: 'virtualization',\n name: 'VirtualList',\n description: 'Support for virtualization',\n depends: ['virtuallist']\n }\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, List = ui.List, Select = ui.Select, caret = kendo.caret, support = kendo.support, placeholderSupported = support.placeholder, activeElement = kendo._activeElement, keys = kendo.keys, ns = '.kendoComboBox', nsFocusEvent = ns + 'FocusEvent', CLICK = 'click' + ns, MOUSEDOWN = 'mousedown' + ns, DISABLED = 'disabled', READONLY = 'readonly', CHANGE = 'change', LOADING = 'k-i-loading', DEFAULT = 'k-state-default', FOCUSED = 'k-state-focused', STATEDISABLED = 'k-state-disabled', ARIA_DISABLED = 'aria-disabled', STATE_FILTER = 'filter', STATE_ACCEPT = 'accept', STATE_REBIND = 'rebind', HOVEREVENTS = 'mouseenter' + ns + ' mouseleave' + ns, proxy = $.proxy, newLineRegEx = /(\\r\\n|\\n|\\r)/gm;\n var ComboBox = Select.extend({\n init: function (element, options) {\n var that = this, text, disabled;\n that.ns = ns;\n options = $.isArray(options) ? { dataSource: options } : options;\n Select.fn.init.call(that, element, options);\n options = that.options;\n element = that.element.on('focus' + ns, proxy(that._focusHandler, that));\n options.placeholder = options.placeholder || element.attr('placeholder');\n that._reset();\n that._wrapper();\n that._input();\n that._clearButton();\n that._tabindex(that.input);\n that._popup();\n that._dataSource();\n that._ignoreCase();\n that._enable();\n that._attachFocusEvents();\n that._oldIndex = that.selectedIndex = -1;\n that._aria();\n that._initialIndex = options.index;\n that.requireValueMapper(that.options);\n that._initList();\n that._cascade();\n if (options.autoBind) {\n that._filterSource();\n } else {\n text = options.text;\n if (!text && that._isSelect) {\n text = element.children(':selected').text();\n }\n if (text) {\n that._setText(text);\n }\n }\n if (!text) {\n that._placeholder();\n }\n disabled = $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n }\n kendo.notify(that);\n that._toggleCloseVisibility();\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 ignoreCase: true,\n animation: {},\n virtual: false,\n template: null,\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n clearButton: true,\n syncValueAndText: true,\n autoWidth: false\n },\n events: [\n 'open',\n 'close',\n CHANGE,\n 'select',\n 'filtering',\n 'dataBinding',\n 'dataBound',\n 'cascade',\n 'set'\n ],\n setOptions: function (options) {\n var listOptions = this._listOptions(options);\n Select.fn.setOptions.call(this, options);\n this.listView.setOptions(listOptions);\n this._accessors();\n this._aria();\n this._clearButton();\n },\n destroy: function () {\n var that = this;\n that.input.off(ns);\n that.input.off(nsFocusEvent);\n that.element.off(ns);\n that._inputWrapper.off(ns);\n clearTimeout(that._pasteTimeout);\n that._arrow.off(CLICK + ' ' + MOUSEDOWN);\n that._clear.off(CLICK + ' ' + MOUSEDOWN);\n Select.fn.destroy.call(that);\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 if (!that.options.syncValueAndText && !that.value() && isCustom && hasText) {\n that._old = '';\n that._oldIndex = index;\n that._oldText = text;\n if (!that._typing) {\n that.element.trigger(CHANGE);\n }\n that.trigger(CHANGE);\n that._typing = false;\n return;\n }\n Select.fn._change.call(that);\n that._toggleCloseVisibility();\n },\n _attachFocusEvents: function () {\n var that = this;\n that.input.on('focus' + nsFocusEvent, proxy(that._inputFocus, that)).on('focusout' + nsFocusEvent, proxy(that._inputFocusout, that));\n },\n _focusHandler: function () {\n this.input.focus();\n },\n _arrowClick: function () {\n this._toggle();\n },\n _inputFocus: function () {\n this._inputWrapper.addClass(FOCUSED);\n this._placeholder(false);\n },\n _inputFocusout: function () {\n var that = this;\n var value = that.value();\n that._userTriggered = true;\n that._inputWrapper.removeClass(FOCUSED);\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\n that.text(that.text());\n var item = that._focus();\n var dataItem = this.listView.dataItemByIndex(this.listView.getElementIndex(item));\n if (value !== that.value() && that.trigger('select', {\n dataItem: dataItem,\n item: item\n })) {\n that.value(value);\n return;\n }\n that._placeholder();\n that._blur();\n that.element.blur();\n },\n _inputPaste: function () {\n var that = this;\n clearTimeout(that._pasteTimeout);\n that._pasteTimeout = null;\n that._pasteTimeout = setTimeout(function () {\n that.search();\n });\n },\n _editable: function (options) {\n var that = this, disable = options.disable, readonly = options.readonly, wrapper = that._inputWrapper.off(ns), input = that.element.add(that.input.off(ns)), arrow = that._arrow.off(CLICK + ' ' + MOUSEDOWN), clear = that._clear;\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n input.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false);\n arrow.on(CLICK, proxy(that._arrowClick, that)).on(MOUSEDOWN, function (e) {\n e.preventDefault();\n });\n clear.on(CLICK + ' touchend' + ns, proxy(that._clearValue, that)).on(MOUSEDOWN, function (e) {\n e.preventDefault();\n });\n that.input.on('keydown' + ns, proxy(that._keydown, that)).on('input' + ns, proxy(that._search, that)).on('paste' + ns, proxy(that._inputPaste, that));\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n input.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable);\n }\n that._toggleCloseVisibility();\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 if (that.popup.visible()) {\n return;\n }\n if (!that.listView.bound() && state !== STATE_FILTER || state === STATE_ACCEPT) {\n that._open = true;\n that._state = STATE_REBIND;\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 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 _scrollToFocusedItem: function () {\n var listView = this.listView;\n listView.scrollToIndex(listView.getElementIndex(listView.focus()));\n },\n _openPopup: function () {\n this.popup.one('activate', proxy(this._scrollToFocusedItem, this));\n this.popup.open();\n },\n _updateSelectionState: function () {\n var that = this;\n var text = that.options.text;\n var value = that.options.value;\n if (that.listView.isFiltered()) {\n return;\n }\n if (that.selectedIndex === -1) {\n if (text === undefined || text === null) {\n text = value;\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 _buildOptions: function (data) {\n var that = this;\n if (!that._isSelect) {\n return;\n }\n var custom = that._customOption;\n if (that._state === STATE_REBIND) {\n that._state = '';\n }\n that._customOption = undefined;\n that._options(data, '', that.value());\n if (custom && custom[0].selected && !that.listView._emptySearch) {\n that._custom(custom.val());\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 if (filtered) {\n $(listView.focus()).removeClass('k-state-selected');\n return;\n }\n if (that._fetch) {\n return;\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 that._initialIndex = null;\n var dataItem = listView.selectedDataItems()[0];\n if (!dataItem) {\n return;\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 if (that.text() && that.text() !== that._text(dataItem)) {\n that._selectValue(dataItem);\n }\n },\n _updateItemFocus: function () {\n var listView = this.listView;\n if (!this.options.highlightFirst) {\n listView.focus(-1);\n } else if (!listView.focus() && !listView.focusIndex()) {\n listView.focus(0);\n }\n },\n _listBound: function () {\n var that = this;\n var isActive = that.input[0] === activeElement();\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 || skip === 0;\n that._presetValue = false;\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n that._resizePopup();\n that.popup.position();\n that._buildOptions(data);\n that._makeUnselectable();\n that._updateSelection();\n if (data.length && isFirstPage) {\n that._updateItemFocus();\n if (that.options.suggest && isActive && that.input.val()) {\n that.suggest(data[0]);\n }\n }\n if (that._open) {\n that._open = false;\n if (that._typingTimeout && !isActive) {\n that.popup.close();\n } else {\n that.toggle(that._allowOpening());\n }\n that._typingTimeout = null;\n }\n that._hideBusy();\n that.trigger('dataBound');\n },\n _listChange: function () {\n this._selectValue(this.listView.selectedDataItems()[0]);\n if (this._presetValue) {\n this._oldIndex = this.selectedIndex;\n }\n },\n _get: function (candidate) {\n var data, found, idx;\n if (typeof candidate === 'function') {\n data = this.dataSource.flatView();\n for (idx = 0; idx < data.length; idx++) {\n if (candidate(data[idx])) {\n candidate = idx;\n found = true;\n break;\n }\n }\n if (!found) {\n candidate = -1;\n }\n }\n return candidate;\n },\n _select: function (candidate, keepState) {\n var that = this;\n candidate = that._get(candidate);\n if (candidate === -1) {\n that.input[0].value = '';\n that._accessor('');\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 _selectValue: function (dataItem) {\n var idx = this.listView.select();\n var value = '';\n var text = '';\n idx = idx[idx.length - 1];\n if (idx === undefined) {\n idx = -1;\n }\n this.selectedIndex = idx;\n if (this.listView.isFiltered() && idx !== -1) {\n this._valueBeforeCascade = this._old;\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 } 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 if (value === null) {\n value = '';\n }\n }\n this._setDomInputValue(text);\n this._accessor(value !== undefined ? value : text, idx);\n this._placeholder();\n this._triggerCascade();\n },\n _setDomInputValue: function (text) {\n var that = this;\n var currentCaret = caret(this.input);\n var caretStart;\n if (currentCaret && currentCaret.length) {\n caretStart = currentCaret[0];\n }\n this._prev = this.input[0].value = text;\n if (caretStart && this.selectedIndex === -1) {\n var mobile = support.mobileOS;\n if (mobile.wp || mobile.android) {\n setTimeout(function () {\n that.input[0].setSelectionRange(caretStart, caretStart);\n }, 0);\n } else {\n this.input[0].setSelectionRange(caretStart, caretStart);\n }\n }\n },\n refresh: function () {\n this.listView.refresh();\n },\n _toggleCloseVisibility: function () {\n var preventShow = this.element.is(':disabled') || this.element.is('[readonly]');\n if (this.text() && !preventShow) {\n this._showClear();\n } else {\n this._hideClear();\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 if (key == keys.BACKSPACE || key == keys.DELETE) {\n that._last = undefined;\n return;\n }\n word = word || '';\n if (typeof word !== 'string') {\n if (word[0]) {\n word = that.dataSource.view()[List.inArray(word[0], that.ul[0])];\n }\n word = word ? that._text(word) : '';\n }\n if (caretIdx <= 0) {\n caretIdx = value.toLowerCase().indexOf(word.toLowerCase()) + 1;\n }\n if (word) {\n word = word.toString();\n idx = word.toLowerCase().indexOf(value.toLowerCase());\n if (idx > -1) {\n value += word.substring(idx + value.length);\n }\n } else {\n value = value.substring(0, caretIdx);\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 text: function (text) {\n text = text === null ? '' : text;\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 if (text === undefined) {\n return input.value;\n }\n if (that.options.autoBind === false && !that.listView.bound()) {\n that._setText(text);\n return;\n }\n dataItem = that.dataItem();\n if (dataItem && that._text(dataItem).replace && that._text(dataItem).replace(newLineRegEx, '') === text) {\n value = that._value(dataItem);\n if (value === List.unifyType(that._old, typeof value)) {\n that._triggerCascade();\n return;\n }\n }\n if (ignoreCase) {\n loweredText = loweredText.toLowerCase();\n }\n that._select(function (data) {\n data = that._text(data);\n if (ignoreCase) {\n data = (data + '').toLowerCase();\n }\n return data === loweredText;\n }).done(function () {\n if (that.selectedIndex < 0) {\n input.value = text;\n if (that.options.syncValueAndText) {\n that._accessor(text);\n }\n that._cascadeTriggered = true;\n that._triggerCascade();\n }\n that._prev = input.value;\n });\n that._toggleCloseVisibility();\n },\n toggle: function (toggle) {\n this._toggle(toggle, true);\n },\n value: function (value) {\n var that = this;\n var options = that.options;\n var listView = that.listView;\n if (value === undefined) {\n value = that._accessor() || that.listView.value()[0];\n return value === undefined || value === null ? '' : value;\n }\n that.requireValueMapper(that.options, value);\n that.trigger('set', { value: value });\n if (value === options.value && that.input.val() === options.text) {\n return;\n }\n that._accessor(value);\n if (that._isFilterEnabled() && listView.bound() && listView.isFiltered()) {\n that._clearFilter();\n } else {\n that._fetchData();\n }\n listView.value(value).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 that._old = that._accessor();\n that._oldIndex = that.selectedIndex;\n that._prev = that.input.val();\n if (that._state === STATE_FILTER) {\n that._state = STATE_ACCEPT;\n }\n that._toggleCloseVisibility();\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 _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 if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n if (!shouldTrigger) {\n that.input.val(that._text(dataItem));\n }\n }\n if (shouldTrigger && that.trigger('select', {\n dataItem: dataItem,\n item: item\n })) {\n that.close();\n return;\n }\n that._userTriggered = true;\n that._select(item).done(function () {\n that._blur();\n });\n },\n _syncValueAndText: function () {\n return this.options.syncValueAndText;\n },\n _inputValue: function () {\n return this.text();\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) {\n text = text + '';\n if (text !== '' && word === '') {\n return false;\n }\n if (ignoreCase) {\n text = text.toLowerCase();\n }\n return text.indexOf(word) === 0;\n }\n };\n if (ignoreCase) {\n word = word.toLowerCase();\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 this.listView.focus(this._get(predicate));\n var current = this.listView.focus();\n if (current) {\n if (options.suggest) {\n that.suggest(current);\n }\n this.open();\n }\n if (this.options.highlightFirst && !word) {\n this.listView.focusFirst();\n }\n },\n _input: function () {\n var that = this, element = that.element.removeClass('k-input')[0], accessKey = element.accessKey, wrapper = that.wrapper, SELECTOR = 'input.k-input', name = element.name || '', input, maxLength;\n if (name) {\n name = 'name=\"' + name + '_input\" ';\n }\n input = wrapper.find(SELECTOR);\n if (!input[0]) {\n wrapper.append('').append(that.element);\n input = wrapper.find(SELECTOR);\n }\n input[0].style.cssText = element.style.cssText;\n input[0].title = element.title;\n maxLength = parseInt(this.element.prop('maxlength') || this.element.attr('maxlength'), 10);\n if (maxLength > -1) {\n input[0].maxLength = maxLength;\n }\n input.addClass(element.className).css({\n width: '',\n height: element.style.height\n }).attr({\n 'role': 'combobox',\n 'aria-expanded': false\n }).show();\n if (placeholderSupported) {\n input.attr('placeholder', that.options.placeholder);\n }\n if (accessKey) {\n element.accessKey = '';\n input[0].accessKey = accessKey;\n }\n that._focused = that.input = input;\n that._inputWrapper = $(wrapper[0].firstChild);\n that._arrow = wrapper.find('.k-select').attr({\n 'role': 'button',\n 'tabIndex': -1\n });\n that._arrowIcon = that._arrow.find('.k-icon');\n if (element.id) {\n that._arrow.attr('aria-controls', that.ul[0].id);\n }\n },\n _clearButton: function () {\n List.fn._clearButton.call(this);\n if (this.options.clearButton) {\n this._clear.insertAfter(this.input);\n this.wrapper.addClass('k-combobox-clearable');\n }\n },\n _keydown: function (e) {\n var that = this, key = e.keyCode;\n that._last = key;\n clearTimeout(that._typingTimeout);\n that._typingTimeout = null;\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) {\n var current = that.listView.focus();\n var dataItem = that.dataItem();\n var shouldTrigger = true;\n if (!that.popup.visible() && (!dataItem || that.text() !== that._text(dataItem))) {\n current = null;\n }\n if (current) {\n if (that.popup.visible()) {\n e.preventDefault();\n }\n dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(current));\n if (dataItem) {\n shouldTrigger = that._value(dataItem) !== List.unifyType(that.value(), typeof that._value(dataItem));\n }\n if (shouldTrigger && that.trigger('select', {\n dataItem: dataItem,\n item: current\n })) {\n return;\n }\n that._userTriggered = true;\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 that._accessor(that.input.val());\n }\n that.listView.value(that.input.val());\n that._blur();\n }\n } else if (key != keys.TAB && !that._move(e)) {\n that._search();\n } else if (key === keys.ESC && !that.popup.visible() && that.text()) {\n that._clearValue();\n }\n },\n _placeholder: function (show) {\n if (placeholderSupported) {\n return;\n }\n var that = this, input = that.input, placeholder = that.options.placeholder, value;\n if (placeholder) {\n value = that.value();\n if (show === undefined) {\n show = !value;\n }\n input.toggleClass('k-readonly', show);\n if (!show) {\n if (!value) {\n placeholder = '';\n } else {\n return;\n }\n }\n input.val(placeholder);\n if (!placeholder && input[0] === activeElement()) {\n caret(input[0], 0, 0);\n }\n }\n },\n _search: function () {\n var that = this;\n that._typingTimeout = setTimeout(function () {\n var value = that.text();\n if (that._prev !== value) {\n that._prev = value;\n if (that.options.filter === 'none' && that.options.virtual) {\n that.listView.select(-1);\n }\n that.search(value);\n that._toggleCloseVisibility();\n }\n that._typingTimeout = null;\n }, that.options.delay);\n },\n _setText: function (text) {\n this.input.val(text);\n this._prev = text;\n },\n _wrapper: function () {\n var that = this, element = that.element, wrapper = element.parent();\n if (!wrapper.is('span.k-widget')) {\n wrapper = element.hide().wrap('').parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n that.wrapper = wrapper.addClass('k-widget k-combobox k-header').addClass(element[0].className).css('display', '');\n },\n _clearSelection: function (parent, isFiltered) {\n var that = this;\n var hasValue = parent.value();\n var custom = hasValue && parent.selectedIndex === -1;\n if (this.selectedIndex == -1 && this.value()) {\n return;\n }\n if (isFiltered || !hasValue || custom) {\n that.options.value = '';\n that.value('');\n that._selectedValue = null;\n }\n },\n _preselect: function (value, text) {\n this.input.val(text);\n this._accessor(value);\n this._old = this._accessor();\n this._oldIndex = this.selectedIndex;\n this.listView.setValue(value);\n this._placeholder();\n this._initialIndex = null;\n this._presetValue = true;\n this._toggleCloseVisibility();\n }\n });\n ui.plugin(ComboBox);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}