{"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","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","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","_hideBusy","create","setDataSource","events","setOptions","listOptions","_listOptions","_accessors","skipUpdateOnBind","dataValueField","selectedItemChange","_editable","off","readonly","disable","_toggleHover","removeAttr","close","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","unifyType","valueUpdated","_typing","itemSelected","typing","className","direction","keyCode","visible","DOWN","_move","UP","ENTER","TAB","ESC","PAGEDOWN","PAGEUP","scrollWith","screenHeight","_busy","_loading","hide","_showClear","setTimeout","show","_hideClear","toggleClass","document","Array","RegExp","_inputValue","candidate","insertAfter","tabIndex","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 ], 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('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 wrapper.removeClass(FOCUSED);\n }).attr({\n autocomplete: 'off',\n role: 'textbox',\n 'aria-haspopup': true\n });\n that._clear.on('click' + 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 },\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 },\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 },\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 _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 }\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.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 }\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._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 this._clear = $('').attr({\n 'role': 'button',\n 'tabIndex': -1\n });\n if (this.options.clearButton) {\n this._clear.insertAfter(this.element);\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: '100%',\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}));"]}