{"version":3,"sources":["kendo.autocomplete.js"],"names":["f","define","$","undefined","indexOfWordAtCaret","caretIdx","text","separator","substring","split","length","wordAtCaret","replaceWordAtCaret","word","defaultSeparator","words","splice","push","join","kendo","window","support","caret","activeElement","_activeElement","placeholderSupported","placeholder","ui","List","keys","DataSource","data","ARIA_DISABLED","ARIA_READONLY","CHANGE","DEFAULT","DISABLED","READONLY","FOCUSED","SELECTED","STATEDISABLED","HOVER","ns","HOVEREVENTS","proxy","AutoComplete","extend","init","element","options","wrapper","disabled","that","this","isArray","dataSource","fn","call","attr","_wrapper","_loader","_clearButton","_dataSource","_ignoreCase","type","_popup","addClass","on","_keydown","_keypress","_search","_prev","_accessor","_oldText","_placeholder","_change","close","removeClass","autocomplete","role","aria-haspopup","_clear","_clearValue","_enable","_old","id","ul","_aria","_initList","parents","is","enable","listView","bind","e","preventDefault","_resetFocusItemHandler","_resetFocusItem","notify","_toggleCloseVisibility","name","enabled","suggest","template","groupTemplate","fixedGroupTemplate","dataTextField","minLength","enforceMinLength","delay","height","filter","ignoreCase","highlightFirst","animation","virtual","value","clearButton","autoWidth","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","_hideBusy","create","setDataSource","events","setOptions","listOptions","_listOptions","_accessors","skipUpdateOnBind","dataValueField","selectedItemChange","_editable","off","readonly","disable","_toggleHover","removeAttr","current","focus","popup","destroy","refresh","select","li","_select","search","_separator","clearTimeout","_typingTimeout","_open","_mute","_filterSource","toLowerCase","operator","field","one","_unifySeparators","idx","key","_last","wordIndex","selectionEnd","BACKSPACE","DELETE","view","inArray","_text","indexOf","lastIndexOf","_click","item","dataItem","dataItemByIndex","getElementIndex","_active","trigger","val","done","_blur","_clearText","noop","index","scrollTo","_listBound","action","flatView","groupsLength","_group","isActive","_renderFooter","_renderNoData","_toggleNoData","_toggleHeader","_resizePopup","position","_allowOpening","unbind","_touchScroller","reset","_makeUnselectable","callback","_muted","_listChange","_selectValue","selectedDataItems","_defaultSeparator","_preselect","_inputValue","oldText","setValue","unifyType","valueUpdated","_typing","itemSelected","typing","className","direction","keyCode","visible","DOWN","_move","open","UP","HOME","END","ENTER","TAB","ESC","PAGEDOWN","PAGEUP","_hovered","scrollWith","screenHeight","_busy","_loading","hide","_showClear","setTimeout","show","_hideClear","toggleClass","document","Array","RegExp","candidate","insertAfter","currentTarget","DOMelement","parent","wrap","style","cssText","css","width","_focused","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.autocomplete.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.autocomplete', [\n 'kendo.list',\n 'kendo.mobile.scroller',\n 'kendo.virtuallist'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'autocomplete',\n name: 'AutoComplete',\n category: 'web',\n description: 'The AutoComplete widget provides suggestions depending on the typed text.It also allows multiple value entries.',\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, support = kendo.support, caret = kendo.caret, activeElement = kendo._activeElement, placeholderSupported = support.placeholder, ui = kendo.ui, List = ui.List, keys = kendo.keys, DataSource = kendo.data.DataSource, ARIA_DISABLED = 'aria-disabled', ARIA_READONLY = 'aria-readonly', CHANGE = 'change', DEFAULT = 'k-state-default', DISABLED = 'disabled', READONLY = 'readonly', FOCUSED = 'k-state-focused', SELECTED = 'k-state-selected', STATEDISABLED = 'k-state-disabled', HOVER = 'k-state-hover', ns = '.kendoAutoComplete', HOVEREVENTS = 'mouseenter' + ns + ' mouseleave' + ns, proxy = $.proxy;\n function indexOfWordAtCaret(caretIdx, text, separator) {\n return separator ? text.substring(0, caretIdx).split(separator).length - 1 : 0;\n }\n function wordAtCaret(caretIdx, text, separator) {\n return text.split(separator)[indexOfWordAtCaret(caretIdx, text, separator)];\n }\n function replaceWordAtCaret(caretIdx, text, word, separator, defaultSeparator) {\n var words = text.split(separator);\n words.splice(indexOfWordAtCaret(caretIdx, text, separator), 1, word);\n if (separator && words[words.length - 1] !== '') {\n words.push('');\n }\n return words.join(defaultSeparator);\n }\n var AutoComplete = List.extend({\n init: function (element, options) {\n var that = this, wrapper, disabled;\n that.ns = ns;\n options = $.isArray(options) ? { dataSource: options } : options;\n List.fn.init.call(that, element, options);\n element = that.element;\n options = that.options;\n options.placeholder = options.placeholder || element.attr('placeholder');\n if (placeholderSupported) {\n element.attr('placeholder', options.placeholder);\n }\n that._wrapper();\n that._loader();\n that._clearButton();\n that._dataSource();\n that._ignoreCase();\n element[0].type = 'text';\n wrapper = that.wrapper;\n that._popup();\n element.addClass('k-input').on('keydown' + ns, proxy(that._keydown, that)).on('keypress' + ns, proxy(that._keypress, that)).on('input' + ns, proxy(that._search, that)).on('paste' + ns, proxy(that._search, that)).on('focus' + ns, function () {\n that._prev = that._accessor();\n that._oldText = that._prev;\n that._placeholder(false);\n wrapper.addClass(FOCUSED);\n }).on('focusout' + ns, function () {\n that._change();\n that._placeholder();\n that.close();\n wrapper.removeClass(FOCUSED);\n }).attr({\n autocomplete: 'off',\n role: 'textbox',\n 'aria-haspopup': true\n });\n that._clear.on('click' + ns + ' touchend' + ns, proxy(that._clearValue, that));\n that._enable();\n that._old = that._accessor();\n if (element[0].id) {\n element.attr('aria-owns', that.ul[0].id);\n }\n that._aria();\n that._placeholder();\n that._initList();\n disabled = $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n }\n that.listView.bind('click', function (e) {\n e.preventDefault();\n });\n that._resetFocusItemHandler = $.proxy(that._resetFocusItem, that);\n kendo.notify(that);\n that._toggleCloseVisibility();\n },\n options: {\n name: 'AutoComplete',\n enabled: true,\n suggest: false,\n template: '',\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n dataTextField: '',\n minLength: 1,\n enforceMinLength: false,\n delay: 200,\n height: 200,\n filter: 'startswith',\n ignoreCase: true,\n highlightFirst: false,\n separator: null,\n placeholder: '',\n animation: {},\n virtual: false,\n value: null,\n clearButton: true,\n autoWidth: false\n },\n _dataSource: function () {\n var that = this;\n if (that.dataSource && that._refreshHandler) {\n that._unbindDataSource();\n } else {\n that._progressHandler = proxy(that._showBusy, that);\n that._errorHandler = proxy(that._hideBusy, that);\n }\n that.dataSource = DataSource.create(that.options.dataSource).bind('progress', that._progressHandler).bind('error', that._errorHandler);\n },\n setDataSource: function (dataSource) {\n this.options.dataSource = dataSource;\n this._dataSource();\n this.listView.setDataSource(this.dataSource);\n },\n events: [\n 'open',\n 'close',\n CHANGE,\n 'select',\n 'filtering',\n 'dataBinding',\n 'dataBound'\n ],\n setOptions: function (options) {\n var listOptions = this._listOptions(options);\n List.fn.setOptions.call(this, options);\n this.listView.setOptions(listOptions);\n this._accessors();\n this._aria();\n this._clearButton();\n },\n _listOptions: function (options) {\n var listOptions = List.fn._listOptions.call(this, $.extend(options, { skipUpdateOnBind: true }));\n listOptions.dataValueField = listOptions.dataTextField;\n listOptions.selectedItemChange = null;\n return listOptions;\n },\n _editable: function (options) {\n var that = this, element = that.element, wrapper = that.wrapper.off(ns), readonly = options.readonly, disable = options.disable;\n if (!readonly && !disable) {\n wrapper.addClass(DEFAULT).removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover);\n element.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false).attr(ARIA_READONLY, false);\n } else {\n wrapper.addClass(disable ? STATEDISABLED : DEFAULT).removeClass(disable ? DEFAULT : STATEDISABLED);\n element.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable).attr(ARIA_READONLY, readonly);\n }\n },\n close: function () {\n var that = this;\n var current = that.listView.focus();\n if (current) {\n current.removeClass(SELECTED);\n }\n that.popup.close();\n },\n destroy: function () {\n var that = this;\n that.element.off(ns);\n that._clear.off(ns);\n that.wrapper.off(ns);\n List.fn.destroy.call(that);\n },\n refresh: function () {\n this.listView.refresh();\n },\n select: function (li) {\n this._select(li);\n },\n search: function (word) {\n var that = this, options = that.options, ignoreCase = options.ignoreCase, separator = that._separator(), length;\n word = word || that._accessor();\n clearTimeout(that._typingTimeout);\n if (separator) {\n word = wordAtCaret(caret(that.element)[0], word, separator);\n }\n length = word.length;\n if (!options.enforceMinLength && !length || length >= options.minLength) {\n that._open = true;\n that._mute(function () {\n this.listView.value([]);\n });\n that._filterSource({\n value: ignoreCase ? word.toLowerCase() : word,\n operator: options.filter,\n field: options.dataTextField,\n ignoreCase: ignoreCase\n });\n that.one('close', $.proxy(that._unifySeparators, that));\n }\n that._toggleCloseVisibility();\n },\n suggest: function (word) {\n var that = this, key = that._last, value = that._accessor(), element = that.element[0], caretIdx = caret(element)[0], separator = that._separator(), words = value.split(separator), wordIndex = indexOfWordAtCaret(caretIdx, value, separator), selectionEnd = caretIdx, 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 idx = value.substring(0, caretIdx).lastIndexOf(separator);\n idx = idx > -1 ? caretIdx - (idx + separator.length) : caretIdx;\n value = words[wordIndex].substring(0, idx);\n if (word) {\n word = word.toString();\n idx = word.toLowerCase().indexOf(value.toLowerCase());\n if (idx > -1) {\n word = word.substring(idx + value.length);\n selectionEnd = caretIdx + word.length;\n value += word;\n }\n if (separator && words[words.length - 1] !== '') {\n words.push('');\n }\n }\n words[wordIndex] = value;\n that._accessor(words.join(separator || ''));\n if (element === activeElement()) {\n caret(element, caretIdx, selectionEnd);\n }\n },\n value: function (value) {\n if (value !== undefined) {\n this.listView.value(value);\n this._accessor(value);\n this._old = this._accessor();\n this._oldText = this._accessor();\n } else {\n return this._accessor();\n }\n this._toggleCloseVisibility();\n },\n _click: function (e) {\n var item = e.item;\n var that = this;\n var element = that.element;\n var dataItem = that.listView.dataItemByIndex(that.listView.getElementIndex(item));\n e.preventDefault();\n that._active = true;\n if (that.trigger('select', {\n dataItem: dataItem,\n item: item\n })) {\n that.close();\n return;\n }\n that._oldText = element.val();\n that._select(item).done(function () {\n that._blur();\n caret(element, element.val().length);\n });\n },\n _clearText: $.noop,\n _resetFocusItem: function () {\n var index = this.options.highlightFirst ? 0 : -1;\n if (this.options.virtual) {\n this.listView.scrollTo(0);\n }\n this.listView.focus(index);\n },\n _listBound: function () {\n var that = this;\n var popup = that.popup;\n var options = that.options;\n var data = that.dataSource.flatView();\n var length = data.length;\n var groupsLength = that.dataSource._group.length;\n var isActive = that.element[0] === activeElement();\n var action;\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!length);\n that._toggleHeader(!!groupsLength && !!length);\n that._resizePopup();\n popup.position();\n if (length) {\n if (options.suggest && isActive) {\n that.suggest(data[0]);\n }\n }\n if (that._open) {\n that._open = false;\n action = that._allowOpening() ? 'open' : 'close';\n if (that._typingTimeout && !isActive) {\n action = 'close';\n }\n if (length) {\n that._resetFocusItem();\n if (options.virtual) {\n that.popup.unbind('activate', that._resetFocusItemHandler).one('activate', that._resetFocusItemHandler);\n }\n }\n popup[action]();\n that._typingTimeout = undefined;\n }\n if (that._touchScroller) {\n that._touchScroller.reset();\n }\n that._hideBusy();\n that._makeUnselectable();\n that.trigger('dataBound');\n },\n _mute: function (callback) {\n this._muted = true;\n callback.call(this);\n this._muted = false;\n },\n _listChange: function () {\n var isActive = this._active || this.element[0] === activeElement();\n if (isActive && !this._muted) {\n this._selectValue(this.listView.selectedDataItems()[0]);\n }\n },\n _selectValue: function (dataItem) {\n var separator = this._separator();\n var text = '';\n if (dataItem) {\n text = this._text(dataItem);\n }\n if (text === null) {\n text = '';\n }\n if (separator) {\n text = replaceWordAtCaret(caret(this.element)[0], this._accessor(), text, separator, this._defaultSeparator());\n }\n this._prev = text;\n this._accessor(text);\n this._placeholder();\n },\n _unifySeparators: function () {\n this._accessor(this.value().split(this._separator()).join(this._defaultSeparator()));\n return this;\n },\n _preselect: function (value, text) {\n this._inputValue(text);\n this._accessor(value);\n this._old = this.oldText = this._accessor();\n this.listView.setValue(value);\n this._placeholder();\n },\n _change: function () {\n var that = this;\n var value = that._unifySeparators().value();\n var trigger = value !== List.unifyType(that._old, typeof value);\n var valueUpdated = trigger && !that._typing;\n var itemSelected = that._oldText !== value;\n that._old = value;\n that._oldText = value;\n if (valueUpdated || itemSelected) {\n that.element.trigger(CHANGE);\n }\n if (trigger) {\n that.trigger(CHANGE);\n }\n that.typing = false;\n that._toggleCloseVisibility();\n },\n _accessor: function (value) {\n var that = this, element = that.element[0];\n if (value !== undefined) {\n element.value = value === null ? '' : value;\n that._placeholder();\n } else {\n value = element.value;\n if (element.className.indexOf('k-readonly') > -1) {\n if (value === that.options.placeholder) {\n return '';\n } else {\n return value;\n }\n }\n return value;\n }\n },\n _keydown: function (e) {\n var that = this;\n var key = e.keyCode;\n var listView = that.listView;\n var visible = that.popup.visible();\n var current = listView.focus();\n that._last = key;\n if (key === keys.DOWN) {\n if (visible) {\n this._move(current ? 'focusNext' : 'focusFirst');\n } else if (that.value()) {\n that._filterSource({\n value: that.ignoreCase ? that.value().toLowerCase() : that.value(),\n operator: that.options.filter,\n field: that.options.dataTextField,\n ignoreCase: that.ignoreCase\n }).done(function () {\n that._resetFocusItem();\n that.popup.open();\n });\n }\n e.preventDefault();\n } else if (key === keys.UP) {\n if (visible) {\n this._move(current ? 'focusPrev' : 'focusLast');\n }\n e.preventDefault();\n } else if (key === keys.HOME) {\n this._move('focusFirst');\n } else if (key === keys.END) {\n this._move('focusLast');\n } else if (key === keys.ENTER || key === keys.TAB) {\n if (key === keys.ENTER && visible) {\n e.preventDefault();\n }\n if (visible && current) {\n var dataItem = listView.dataItemByIndex(listView.getElementIndex(current));\n if (that.trigger('select', {\n dataItem: dataItem,\n item: current\n })) {\n return;\n }\n this._select(current);\n }\n this._blur();\n } else if (key === keys.ESC) {\n if (visible) {\n e.preventDefault();\n } else {\n that._clearValue();\n }\n that.close();\n } else if (that.popup.visible() && (key === keys.PAGEDOWN || key === keys.PAGEUP)) {\n e.preventDefault();\n var direction = key === keys.PAGEDOWN ? 1 : -1;\n listView.scrollWith(direction * listView.screenHeight());\n } else {\n that.popup._hovered = true;\n that._search();\n }\n },\n _keypress: function () {\n this._oldText = this.element.val();\n this._typing = true;\n },\n _move: function (action) {\n this.listView[action]();\n if (this.options.suggest) {\n this.suggest(this.listView.focus());\n }\n },\n _hideBusy: function () {\n var that = this;\n clearTimeout(that._busy);\n that._loading.hide();\n that.element.attr('aria-busy', false);\n that._busy = null;\n that._showClear();\n },\n _showBusy: function () {\n var that = this;\n if (that._busy) {\n return;\n }\n that._busy = setTimeout(function () {\n that.element.attr('aria-busy', true);\n that._loading.show();\n that._hideClear();\n }, 100);\n },\n _placeholder: function (show) {\n if (placeholderSupported) {\n return;\n }\n var that = this, element = that.element, placeholder = that.options.placeholder, value;\n if (placeholder) {\n value = element.val();\n if (show === undefined) {\n show = !value;\n }\n if (!show) {\n if (value !== placeholder) {\n placeholder = value;\n } else {\n placeholder = '';\n }\n }\n if (value === that._old && !show) {\n return;\n }\n element.toggleClass('k-readonly', show).val(placeholder);\n if (!placeholder && element[0] === document.activeElement) {\n caret(element[0], 0, 0);\n }\n }\n },\n _separator: function () {\n var separator = this.options.separator;\n if (separator instanceof Array) {\n return new RegExp(separator.join('|'), 'gi');\n }\n return separator;\n },\n _defaultSeparator: function () {\n var separator = this.options.separator;\n if (separator instanceof Array) {\n return separator[0];\n }\n return separator;\n },\n _inputValue: function () {\n return this.element.val();\n },\n _search: function () {\n var that = this;\n clearTimeout(that._typingTimeout);\n that._typingTimeout = setTimeout(function () {\n if (that._prev !== that._accessor()) {\n that._prev = that._accessor();\n that.search();\n }\n }, that.options.delay);\n },\n _select: function (candidate) {\n var that = this;\n that._active = true;\n return that.listView.select(candidate).done(function () {\n that._active = false;\n });\n },\n _loader: function () {\n this._loading = $('').insertAfter(this.element);\n },\n _clearButton: function () {\n List.fn._clearButton.call(this);\n if (this.options.clearButton) {\n this._clear.insertAfter(this.element);\n this.wrapper.addClass('k-autocomplete-clearable');\n }\n },\n _toggleHover: function (e) {\n $(e.currentTarget).toggleClass(HOVER, e.type === 'mouseenter');\n },\n _toggleCloseVisibility: function () {\n if (this.value()) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n _wrapper: function () {\n var that = this, element = that.element, DOMelement = element[0], wrapper;\n wrapper = element.parent();\n if (!wrapper.is('span.k-widget')) {\n wrapper = element.wrap('').parent();\n }\n wrapper.attr('tabindex', -1);\n wrapper.attr('role', 'presentation');\n wrapper[0].style.cssText = DOMelement.style.cssText;\n element.css({\n width: '',\n height: DOMelement.style.height\n });\n that._focused = that.element;\n that.wrapper = wrapper.addClass('k-widget k-autocomplete k-header').addClass(DOMelement.className);\n }\n });\n ui.plugin(AutoComplete);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}