{"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","popup","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","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","accentFoldingFiltering","BACKSPACE","DELETE","view","inArray","toLocaleLowerCase","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 popup: null\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 var accentFoldingFiltering = that.dataSource.options.accentFoldingFiltering;\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 = (accentFoldingFiltering ? value.toLocaleLowerCase(accentFoldingFiltering) : value.toLowerCase()).indexOf(accentFoldingFiltering ? word.toLocaleLowerCase(accentFoldingFiltering) : word.toLowerCase()) + 1;\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 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._valueBeforeCascade = 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 && that.popup.visible()) {\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 clearTimeout(that._typingTimeout);\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').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}));"]}