{"version":3,"sources":["kendo.multiselect.js"],"names":["f","define","$","undefined","compare","a","b","length","kendo","window","ui","List","keys","extend","A","activeElement","_activeElement","ObservableArray","data","proxy","ID","LI","ACCEPT","FILTER","REBIND","OPEN","CLOSE","CHANGE","PROGRESS","SELECT","DESELECT","ARIA_DISABLED","ARIA_READONLY","FOCUSEDCLASS","SELECTEDCLASS","HIDDENCLASS","HOVERCLASS","STATEDISABLED","NOCLICKCLASS","DISABLED","READONLY","AUTOCOMPLETEVALUE","ns","CLICK","KEYDOWN","MOUSEENTER","MOUSELEAVE","HOVEREVENTS","quotRegExp","isArray","Array","styles","MultiSelect","init","element","options","id","disabled","that","this","fn","call","_optionsMap","_customOptions","_wrapper","_tagList","_input","_textContainer","_loader","_clearButton","_arrowButton","_tabindex","input","attr","hide","placeholder","_tagID","tagList","_initialOpen","_aria","_ariaSetLive","_dataSource","_ignoreCase","_popup","_tagTemplate","requireValueMapper","_initList","_reset","_enable","_placeholder","autoBind","dataSource","fetch","value","_preselect","parents","is","enable","_ariaSetSize","notify","_toggleCloseVisibility","name","tagMode","enabled","autoClose","highlightFirst","dataTextField","dataValueField","filter","ignoreCase","minLength","messages","singleTag","clear","deleteTag","noData","downArrow","enforceMinLength","delay","maxSelectedItems","height","animation","virtual","itemTemplate","tagTemplate","groupTemplate","fixedGroupTemplate","clearButton","autoWidth","popup","events","setDataSource","_state","persistTagList","listView","setOptions","listOptions","_listOptions","_accessors","currentTag","candidate","_currentTag","removeClass","removeAttr","find","addClass","dataItems","selectedDataItems","destroy","clearTimeout","_busy","_typingTimeout","wrapper","off","_clear","ul","aria-owns","aria-controls","aria-live","_isFilterEnabled","aria-multiselectable","_ariaLabel","_activateItem","visible","selectedItemChange","_selectedItemChange","selectable","template","expr","_setListValue","_initialValues","slice","_listChange","e","i","flatView","optionsMap","valueGetter","_value","added","dataItem","_render","_selectValue","removed","context","idx","items","children","eq","index","first","html","tagTextTemplate","item","_wrapperMousedown","removeButton","notInput","target","nodeName","toLowerCase","closeButton","hasClass","closest","support","mobileOS","cancelable","preventDefault","toggle","trigger","open","_inputFocus","_inputFocusout","close","skipUpdate","bound","isFiltered","_clearFilter","_removeTag","tag","shouldTrigger","option","listViewChild","done","state","position","customIndex","listViewChildren","_close","_change","select","selected","removeAt","_removedAddedIndexes","splice","classList","remove","_updateTagListHTML","_tagListClick","stopPropagation","currentTarget","_clearValue","_clearSingleTagValue","each","val","_search","focus","_hideClear","tags","_focusHandler","active","isActive","_editable","disable","readonly","toggleClass","prop","on","_toggleHover","_keydown","_filterSource","force","_retrieveData","_activeItem","listViewFilterValue","filterValue","listViewFilter","filters","_request","_open","_focusItem","_allowOpening","isPlainObject","_hovered","refresh","_listBound","_renderFooter","_renderNoData","_toggleNoData","_resizePopup","_updateItemFocus","_touchScroller","reset","_hideBusy","skip","isFirstPage","focusFirst","_inputValue","inputValue","oldValue","clearFilters","_normalizeValues","_old","_valueBeforeCascade","_fetchData","ObservableObject","_setOption","hasItems","view","isEmptyArray","_fetch","read","_isBound","fields","field","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","DataSource","create","bind","formId","form","_resetHandler","setTimeout","_form","_initValue","map","_click","_select","_getActiveItem","_getSelectedIndices","_selectedIndices","_selectedIndexes","activeItemIdx","activeIndex","currentIndex","direction","key","keyCode","hasValue","isRtl","dir","ENTER","_multipleSelection","DOWN","shiftKey","getElementIndex","focusNext","_selectRange","focusLast","UP","focusPrev","LEFT","RIGHT","prev","lastChild","next","ctrlKey","altKey","SPACEBAR","ESC","HOME","firstChild","END","DELETE","BACKSPACE","PAGEDOWN","PAGEUP","_scale","scrollWith","screenHeight","_loading","_showBusyHandler","show","skipCaret","caretPos","_prev","caret","textWidth","wrapperWidth","width","span","_span","text","appendTo","document","documentElement","_option","dataValue","dataText","indexOf","replace","htmlEncode","selectedIndex","custom","selectedItems","values","_buildSelectedItems","_selectedItemIndex","_text","valueField","textField","result","push","search","_showClear","_allowSelection","max","_angularTagItems","cmd","angular","elements","updatePersistTagList","removedItem","addedItem","total","getter","removeChild","append","_maxTotal","maxTotal","currentTotal","isSelected","resolved","Deferred","resolve","dataItemByIndex","startIndex","endIndex","indices","indicesToSelect","selectIndices","forEach","accessKey","_inputWrapper","autocomplete","_focused","role","title","aria-autocomplete","defaultTemplate","hasDataSource","isMultiple","useWithBlock","insertAfter","arrowTitle","arrow","_arrow","tabIndex","computedStyles","getComputedStyles","visibility","top","left","css","parent","wrap","style","cssText","aria-expanded","insertBefore","className","_closeHandler","_openHandler","_adjustListWidth","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.multiselect.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.multiselect', [\n 'kendo.list',\n 'kendo.mobile.scroller',\n 'kendo.virtuallist'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'multiselect',\n name: 'MultiSelect',\n category: 'web',\n description: 'The MultiSelect widget allows the selection from pre-defined values.',\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, keys = $.extend({ A: 65 }, kendo.keys), activeElement = kendo._activeElement, ObservableArray = kendo.data.ObservableArray, proxy = $.proxy, ID = 'id', LI = 'li', ACCEPT = 'accept', FILTER = 'filter', REBIND = 'rebind', OPEN = 'open', CLOSE = 'close', CHANGE = 'change', PROGRESS = 'progress', SELECT = 'select', DESELECT = 'deselect', ARIA_DISABLED = 'aria-disabled', ARIA_READONLY = 'aria-readonly', FOCUSEDCLASS = 'k-state-focused', SELECTEDCLASS = 'k-state-selected', HIDDENCLASS = 'k-hidden', HOVERCLASS = 'k-state-hover', STATEDISABLED = 'k-state-disabled', NOCLICKCLASS = 'k-no-click', DISABLED = 'disabled', READONLY = 'readonly', AUTOCOMPLETEVALUE = 'off', ns = '.kendoMultiSelect', CLICK = 'click' + ns, KEYDOWN = 'keydown' + ns, MOUSEENTER = 'mouseenter' + ns, MOUSELEAVE = 'mouseleave' + ns, HOVEREVENTS = MOUSEENTER + ' ' + MOUSELEAVE, quotRegExp = /\"/g, isArray = Array.isArray, styles = [\n 'font-family',\n 'font-size',\n 'font-stretch',\n 'font-style',\n 'font-weight',\n 'letter-spacing',\n 'text-transform',\n 'line-height'\n ];\n var MultiSelect = List.extend({\n init: function (element, options) {\n var that = this, id, disabled;\n that.ns = ns;\n List.fn.init.call(that, element, options);\n that._optionsMap = {};\n that._customOptions = {};\n that._wrapper();\n that._tagList();\n that._input();\n that._textContainer();\n that._loader();\n that._clearButton();\n that._arrowButton();\n that._tabindex(that.input);\n element = that.element.attr('multiple', 'multiple').hide();\n options = that.options;\n if (!options.placeholder) {\n options.placeholder = element.data('placeholder');\n }\n id = element.attr(ID);\n if (id) {\n that._tagID = id + '_tag_active';\n id = id + '_taglist';\n that.tagList.attr(ID, id);\n that.input.attr('aria-describedby', id);\n }\n that._initialOpen = true;\n that._aria();\n that._ariaSetLive();\n that._dataSource();\n that._ignoreCase();\n that._popup();\n that._tagTemplate();\n that.requireValueMapper(that.options);\n that._initList();\n that._reset();\n that._enable();\n that._placeholder();\n if (options.autoBind) {\n that.dataSource.fetch();\n } else if (options.value) {\n that._preselect(options.value);\n }\n disabled = $(that.element).parents('fieldset').is(':disabled');\n if (disabled) {\n that.enable(false);\n }\n that._ariaSetSize(that.value().length);\n kendo.notify(that);\n that._toggleCloseVisibility();\n },\n options: {\n name: 'MultiSelect',\n tagMode: 'multiple',\n enabled: true,\n autoBind: true,\n autoClose: true,\n highlightFirst: true,\n dataTextField: '',\n dataValueField: '',\n filter: 'startswith',\n ignoreCase: true,\n minLength: 1,\n messages: {\n 'singleTag': 'item(s) selected',\n 'clear': 'clear',\n 'deleteTag': 'delete',\n 'noData': 'No data found.',\n 'downArrow': 'select'\n },\n enforceMinLength: false,\n delay: 100,\n value: null,\n maxSelectedItems: null,\n placeholder: '',\n height: 200,\n animation: {},\n virtual: false,\n itemTemplate: '',\n tagTemplate: '',\n groupTemplate: '#:data#',\n fixedGroupTemplate: '#:data#',\n clearButton: true,\n autoWidth: false,\n popup: null\n },\n events: [\n OPEN,\n CLOSE,\n CHANGE,\n SELECT,\n DESELECT,\n 'filtering',\n 'dataBinding',\n 'dataBound'\n ],\n setDataSource: function (dataSource) {\n this.options.dataSource = dataSource;\n this._state = '';\n this._dataSource();\n this.persistTagList = false;\n this.listView.setDataSource(this.dataSource);\n if (this.options.autoBind) {\n this.dataSource.fetch();\n }\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._tagTemplate();\n this._placeholder();\n this._clearButton();\n this._arrowButton();\n },\n currentTag: function (candidate) {\n var that = this;\n if (candidate !== undefined) {\n if (that._currentTag) {\n that._currentTag.removeClass(FOCUSEDCLASS).removeAttr(ID);\n that._currentTag.find('.k-select').attr('aria-hidden', true);\n that.input.removeAttr('aria-activedescendant');\n }\n if (candidate) {\n candidate.addClass(FOCUSEDCLASS).attr(ID, that._tagID);\n candidate.find('.k-select').removeAttr('aria-hidden');\n that.input.attr('aria-activedescendant', that._tagID);\n }\n that._currentTag = candidate;\n } else {\n return that._currentTag;\n }\n },\n dataItems: function () {\n return this.listView.selectedDataItems();\n },\n destroy: function () {\n var that = this, ns = that.ns;\n clearTimeout(that._busy);\n clearTimeout(that._typingTimeout);\n that.wrapper.off(ns);\n that.tagList.off(ns);\n that.input.off(ns);\n that._clear.off(ns);\n List.fn.destroy.call(that);\n },\n _aria: function () {\n var that = this, element = that.wrapper.find('.k-multiselect-wrap'), id = that.ul[0].id;\n element.attr({\n 'aria-owns': id,\n 'aria-controls': id\n });\n that.ul.attr({\n 'aria-live': !that._isFilterEnabled() ? 'off' : 'polite',\n 'aria-multiselectable': true\n });\n that.input.attr('aria-controls', id);\n that._ariaLabel();\n },\n _activateItem: function () {\n if (this.popup.visible()) {\n List.fn._activateItem.call(this);\n }\n this.currentTag(null);\n },\n _listOptions: function (options) {\n var that = this;\n var listOptions = List.fn._listOptions.call(that, $.extend(options, {\n selectedItemChange: proxy(that._selectedItemChange, that),\n selectable: 'multiple'\n }));\n var itemTemplate = this.options.itemTemplate || this.options.template;\n var template = listOptions.itemTemplate || itemTemplate || listOptions.template;\n if (!template) {\n template = '#:' + kendo.expr(listOptions.dataTextField, 'data') + '#';\n }\n listOptions.template = template;\n return listOptions;\n },\n _setListValue: function () {\n List.fn._setListValue.call(this, this._initialValues.slice(0));\n },\n _listChange: function (e) {\n var data = this.dataSource.flatView();\n var optionsMap = this._optionsMap;\n var valueGetter = this._value;\n if (this._state === REBIND) {\n this._state = '';\n }\n for (var i = 0; i < e.added.length; i++) {\n if (optionsMap[valueGetter(e.added[i].dataItem)] === undefined) {\n this._render(data);\n break;\n }\n }\n this._selectValue(e.added, e.removed);\n },\n _selectedItemChange: function (e) {\n var items = e.items;\n var context;\n var idx;\n for (idx = 0; idx < items.length; idx++) {\n context = items[idx];\n this.tagList.children().eq(context.index).children('span').first().html(this.tagTextTemplate(context.item));\n }\n },\n _wrapperMousedown: function (e) {\n var that = this;\n var notInput = e.target.nodeName.toLowerCase() !== 'input';\n var target = $(e.target);\n var closeButton = target.hasClass('k-select') || target.hasClass('k-icon'), removeButton;\n if (closeButton) {\n closeButton = target.closest('.k-select').children('.k-i-arrow-60-down').length;\n removeButton = !target.closest('.k-select').children('.k-i-arrow-60-down').length;\n }\n if (notInput && !(removeButton && kendo.support.mobileOS) && e.cancelable) {\n e.preventDefault();\n }\n if (!removeButton) {\n if (closeButton && that.popup.visible()) {\n that.toggle(false);\n } else {\n if (that.input[0] !== activeElement() && notInput) {\n that.input.trigger('focus');\n }\n if (that.options.minLength === 1 && !that.popup.visible()) {\n that.open();\n }\n }\n }\n },\n _inputFocus: function () {\n this._placeholder(false, true);\n this.wrapper.addClass(FOCUSEDCLASS);\n },\n _inputFocusout: function () {\n var that = this;\n clearTimeout(that._typingTimeout);\n that.wrapper.removeClass(FOCUSEDCLASS);\n that._placeholder(!that.listView.selectedDataItems()[0], true);\n that.close();\n if (that._state === FILTER) {\n that._state = ACCEPT;\n that.listView.skipUpdate(true);\n }\n if (that.listView.bound() && that.listView.isFiltered()) {\n that.persistTagList = true;\n that._clearFilter();\n }\n that.element.trigger('blur');\n },\n _removeTag: function (tag, shouldTrigger) {\n var that = this;\n var state = that._state;\n var position = tag.index();\n var listView = that.listView;\n var value = listView.value()[position];\n var dataItem = that.listView.selectedDataItems()[position];\n var customIndex = that._customOptions[value];\n var listViewChildren = listView.element[0].children;\n var option;\n var listViewChild;\n if (that.trigger(DESELECT, {\n dataItem: dataItem,\n item: tag\n })) {\n that._close();\n return;\n }\n if (customIndex === undefined && (state === ACCEPT || state === FILTER)) {\n customIndex = that._optionsMap[value];\n }\n var done = function () {\n that.currentTag(null);\n if (shouldTrigger) {\n that._change();\n }\n that._close();\n };\n if (customIndex === undefined && listView.select().length) {\n that.persistTagList = false;\n listView.select(listView.select()[position]).done(done);\n } else {\n option = that.element[0].children[customIndex];\n if (option) {\n option.selected = false;\n }\n listView.removeAt(position);\n if (listView._removedAddedIndexes) {\n listView._removedAddedIndexes.splice(position, 1);\n }\n listViewChild = listViewChildren[customIndex];\n if (listViewChild) {\n listViewChildren[customIndex].classList.remove('k-state-selected');\n }\n if (that.options.tagMode !== 'single') {\n tag.remove();\n } else {\n that._updateTagListHTML();\n }\n done();\n }\n },\n _tagListClick: function (e) {\n e.preventDefault();\n e.stopPropagation();\n var target = $(e.currentTarget);\n if (!target.children('.k-i-arrow-60-down').length) {\n this._removeTag(target.closest(LI), true);\n }\n },\n _clearValue: function () {\n var that = this;\n if (that.options.tagMode === 'single') {\n that._clearSingleTagValue();\n } else {\n that.tagList.children().each(function (index, tag) {\n that._removeTag($(tag), false);\n });\n }\n that.input.val('');\n that._search();\n that._change();\n that.focus();\n that._hideClear();\n if (that._state === FILTER) {\n that._state = ACCEPT;\n }\n },\n _clearSingleTagValue: function () {\n var that = this;\n var items = that.dataItems();\n var tags = that.tagList.children();\n var persistTagList = that.persistTagList;\n for (var i = 0; i < items.length; i += 1) {\n if (that.trigger(DESELECT, {\n dataItem: items[i],\n item: tags.first()\n })) {\n that._close();\n return;\n }\n }\n if (persistTagList) {\n that.persistTagList = false;\n }\n that.listView.value([]);\n that.persistTagList = persistTagList;\n },\n _focusHandler: function () {\n var input = this.input;\n var active = activeElement();\n var isActive = input[0] === active;\n if (!isActive) {\n this.input.trigger('focus');\n }\n },\n _editable: function (options) {\n var that = this, disable = options.disable, readonly = options.readonly, wrapper = that.wrapper.off(ns), tagList = that.tagList.off(ns), input = that.input.off(ns);\n if (!readonly && !disable) {\n wrapper.removeClass(STATEDISABLED).removeClass(NOCLICKCLASS).on(HOVEREVENTS, that._toggleHover).on('mousedown' + ns + ' touchend' + ns, proxy(that._wrapperMousedown, that)).on(CLICK, proxy(that._focusHandler, that));\n that.input.on(KEYDOWN, proxy(that._keydown, that)).on('paste' + ns, proxy(that._search, that)).on('input' + ns, proxy(that._search, that)).on('focus' + ns, proxy(that._inputFocus, that)).on('focusout' + ns, proxy(that._inputFocusout, that));\n that._clear.on(CLICK + ' touchend' + ns, proxy(that._clearValue, that));\n input.prop(DISABLED, false).prop(READONLY, false).attr(ARIA_DISABLED, false).attr(ARIA_READONLY, false);\n that.element.prop(DISABLED, false);\n tagList.on(MOUSEENTER, LI, function () {\n $(this).addClass(HOVERCLASS);\n }).on(MOUSELEAVE, LI, function () {\n $(this).removeClass(HOVERCLASS);\n }).on(CLICK + ' touchend' + ns, 'li.k-button .k-select', proxy(that._tagListClick, that));\n } else {\n wrapper.toggleClass(STATEDISABLED, disable).toggleClass(NOCLICKCLASS, readonly);\n input.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable).attr(ARIA_READONLY, readonly);\n that.element.prop(DISABLED, disable);\n }\n },\n _close: function () {\n var that = this;\n if (that.options.autoClose) {\n that.close();\n } else {\n that.popup.position();\n }\n },\n _filterSource: function (filter, force) {\n if (!force) {\n force = this._retrieveData;\n }\n this._retrieveData = false;\n List.fn._filterSource.call(this, filter, force);\n },\n close: function () {\n this._activeItem = null;\n this.input.removeAttr('aria-activedescendant');\n this.popup.close();\n },\n open: function () {\n var that = this, filterValue = that.input.val().toLowerCase(), listViewFilter = that.listView.dataSource.filter(), listViewFilterValue;\n if (listViewFilter && listViewFilter.filters.length > 0) {\n listViewFilterValue = listViewFilter.filters[0].value.toString().toLowerCase();\n }\n if (that._request) {\n that._retrieveData = false;\n }\n if (that._retrieveData || !that.listView.bound() || that._state === ACCEPT && filterValue !== listViewFilterValue) {\n that._open = true;\n that._state = REBIND;\n that.listView.skipUpdate(true);\n that.persistTagList = that._initialOpen && !that.listView.bound() ? false : true;\n that._filterSource();\n that._focusItem();\n } else if (that._allowOpening()) {\n if (that._initialOpen && !that.options.autoBind && !that.options.virtual && that.options.value && !$.isPlainObject(that.options.value[0])) {\n that.value(that.value() || that._initialValues);\n }\n that.popup._hovered = true;\n that._initialOpen = false;\n that.popup.open();\n that._focusItem();\n }\n },\n toggle: function (toggle) {\n toggle = toggle !== undefined ? toggle : !this.popup.visible();\n this[toggle ? OPEN : CLOSE]();\n },\n refresh: function () {\n this.listView.refresh();\n },\n _listBound: function () {\n var that = this;\n var data = that.dataSource.flatView();\n that._render(data);\n that._renderFooter();\n that._renderNoData();\n that._toggleNoData(!data.length);\n that._resizePopup();\n if (that._open) {\n that._open = false;\n that.toggle(that._allowOpening());\n }\n that.popup.position();\n that._updateItemFocus();\n if (that._touchScroller) {\n that._touchScroller.reset();\n }\n that._hideBusy();\n that.trigger('dataBound');\n },\n _updateItemFocus: function () {\n var that = this, data = that.dataSource.flatView(), skip = that.listView.skip(), isFirstPage = skip === undefined || skip === 0;\n if (data.length && isFirstPage) {\n if (!that.options.highlightFirst) {\n that.listView.focus(-1);\n } else {\n that.listView.focusFirst();\n }\n }\n },\n _inputValue: function () {\n var that = this;\n var inputValue = that.input.val();\n if (that.options.placeholder === inputValue) {\n inputValue = '';\n }\n return inputValue;\n },\n value: function (value) {\n var that = this;\n var listView = that.listView;\n var oldValue = listView.value().slice();\n var maxSelectedItems = that.options.maxSelectedItems;\n var clearFilters = listView.bound() && listView.isFiltered();\n if (value === undefined) {\n return oldValue;\n }\n that.persistTagList = false;\n that.requireValueMapper(that.options, value);\n value = that._normalizeValues(value);\n if (maxSelectedItems !== null && value.length > maxSelectedItems) {\n value = value.slice(0, maxSelectedItems);\n }\n if (clearFilters) {\n that._clearFilter();\n }\n listView.value(value);\n that._old = that._valueBeforeCascade = value.slice();\n if (!clearFilters) {\n that._fetchData();\n }\n that._ariaSetSize(that.value().length);\n that._toggleCloseVisibility();\n },\n _preselect: function (data, value) {\n var that = this;\n if (!isArray(data) && !(data instanceof kendo.data.ObservableArray)) {\n data = [data];\n }\n if ($.isPlainObject(data[0]) || data[0] instanceof kendo.data.ObservableObject || !that.options.dataValueField) {\n that.dataSource.data(data);\n that.value(value || that._initialValues);\n that._retrieveData = true;\n }\n },\n _setOption: function (value, selected) {\n var option = this.element[0].children[this._optionsMap[value]];\n if (option) {\n option.selected = selected;\n }\n },\n _fetchData: function () {\n var that = this;\n var hasItems = !!that.dataSource.view().length;\n var isEmptyArray = that.listView.value().length === 0;\n if (isEmptyArray || that._request) {\n return;\n }\n if (that._retrieveData || !that._fetch && !hasItems) {\n that._fetch = true;\n that._retrieveData = false;\n that.dataSource.read().done(function () {\n that._fetch = false;\n });\n }\n },\n _isBound: function () {\n return this.listView.bound() && !this._retrieveData;\n },\n _dataSource: function () {\n var that = this, element = that.element, options = that.options, dataSource = options.dataSource || {};\n dataSource = isArray(dataSource) ? { data: dataSource } : dataSource;\n dataSource.select = element;\n dataSource.fields = [\n { field: options.dataTextField },\n { field: options.dataValueField }\n ];\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 = kendo.data.DataSource.create(dataSource).bind(PROGRESS, that._progressHandler).bind('error', that._errorHandler);\n },\n _reset: function () {\n var that = this, element = that.element, formId = element.attr('form'), form = formId ? $('#' + formId) : element.closest('form');\n if (form[0]) {\n that._resetHandler = function () {\n setTimeout(function () {\n that.value(that._initialValues);\n that._placeholder();\n });\n };\n that._form = form.on('reset', that._resetHandler);\n }\n },\n _initValue: function () {\n var value = this.options.value || this.element.val();\n this._old = this._initialValues = this._normalizeValues(value);\n },\n _normalizeValues: function (value) {\n var that = this;\n if (value === null) {\n value = [];\n } else if (value && $.isPlainObject(value)) {\n value = [that._value(value)];\n } else if (value && $.isPlainObject(value[0])) {\n value = $.map(value, function (dataItem) {\n return that._value(dataItem);\n });\n } else if (!isArray(value) && !(value instanceof ObservableArray)) {\n value = [value];\n } else if (isArray(value)) {\n value = value.slice();\n }\n return value;\n },\n _change: function () {\n var that = this, value = that.value();\n if (!compare(value, that._old)) {\n that._old = value.slice();\n that.trigger(CHANGE);\n that.element.trigger(CHANGE);\n }\n that.popup.position();\n that._ariaSetSize(value.length);\n that._toggleCloseVisibility();\n },\n _click: function (e) {\n var that = this;\n var item = e.item;\n e.preventDefault();\n that._select(item).done(function () {\n that._activeItem = item;\n that._change();\n that._close();\n });\n },\n _getActiveItem: function () {\n return this._activeItem || $(this.listView.items()[this._getSelectedIndices().length - 1]) || this.listView.focus();\n },\n _getSelectedIndices: function () {\n return this.listView._selectedIndices || this.listView._selectedIndexes;\n },\n _keydown: function (e) {\n var that = this;\n var key = e.keyCode;\n var tag = that._currentTag;\n var listView = that.listView;\n var hasValue = that.input.val();\n var isRtl = kendo.support.isRtl(that.wrapper);\n var visible = that.popup.visible();\n var dir = 0;\n var activeItemIdx;\n if (key !== keys.ENTER) {\n this._multipleSelection = false;\n }\n if (key === keys.DOWN) {\n e.preventDefault();\n if (!visible) {\n that.open();\n if (!listView.focus()) {\n listView.focusFirst();\n }\n return;\n }\n if (listView.focus()) {\n if (!that._activeItem && e.shiftKey) {\n that._activeItem = listView.focus();\n dir = -1;\n }\n activeItemIdx = listView.getElementIndex(that._getActiveItem().first());\n listView.focusNext();\n if (!listView.focus()) {\n listView.focusLast();\n } else {\n if (e.shiftKey && !that.options.virtual) {\n this._multipleSelection = true;\n that._selectRange(activeItemIdx, listView.getElementIndex(listView.focus().first()) + dir);\n }\n }\n } else {\n listView.focusFirst();\n }\n } else if (key === keys.UP) {\n if (visible) {\n if (!that._activeItem && e.shiftKey) {\n that._activeItem = listView.focus();\n dir = 1;\n }\n activeItemIdx = listView.getElementIndex(that._getActiveItem().first());\n listView.focusPrev();\n if (!listView.focus()) {\n that.close();\n } else {\n if (e.shiftKey && !that.options.virtual) {\n this._multipleSelection = true;\n that._selectRange(activeItemIdx, listView.getElementIndex(listView.focus().first()) + dir);\n }\n }\n }\n e.preventDefault();\n } else if (key === keys.LEFT && !isRtl || key === keys.RIGHT && isRtl) {\n if (!hasValue) {\n tag = tag ? tag.prev() : $(that.tagList[0].lastChild);\n if (tag[0]) {\n that.currentTag(tag);\n }\n }\n } else if (key === keys.RIGHT && !isRtl || key === keys.LEFT && isRtl) {\n if (!hasValue && tag) {\n tag = tag.next();\n that.currentTag(tag[0] ? tag : null);\n }\n } else if (e.ctrlKey && !e.altKey && key === keys.A && visible && !that.options.virtual) {\n this._multipleSelection = true;\n if (this._getSelectedIndices().length === listView.items().length) {\n that._activeItem = null;\n }\n if (listView.items().length) {\n that._selectRange(0, listView.items().length - 1);\n }\n } else if (key === keys.ENTER && visible) {\n if (!listView.focus()) {\n return;\n }\n e.preventDefault();\n if (this._multipleSelection) {\n this._multipleSelection = false;\n if (listView.focus().hasClass(SELECTEDCLASS)) {\n that._close();\n return;\n }\n }\n that._select(listView.focus()).done(function () {\n that._change();\n that._close();\n });\n } else if (key === keys.SPACEBAR && e.ctrlKey && visible) {\n if (that._activeItem && listView.focus() && listView.focus()[0] === that._activeItem[0]) {\n that._activeItem = null;\n }\n if (!$(listView.focus()).hasClass(SELECTEDCLASS)) {\n that._activeItem = listView.focus();\n }\n that._select(listView.focus()).done(function () {\n that._change();\n });\n e.preventDefault();\n } else if (key === keys.SPACEBAR && e.shiftKey && visible && !that.options.virtual) {\n var activeIndex = listView.getElementIndex(that._getActiveItem());\n var currentIndex = listView.getElementIndex(listView.focus());\n if (activeIndex !== undefined && currentIndex !== undefined) {\n that._selectRange(activeIndex, currentIndex);\n }\n e.preventDefault();\n } else if (key === keys.ESC) {\n if (visible) {\n e.preventDefault();\n } else {\n that.tagList.children().each(function (index, tag) {\n that._removeTag($(tag), false);\n });\n that._change();\n }\n that.close();\n } else if (key === keys.HOME) {\n if (visible) {\n if (!listView.focus()) {\n that.close();\n } else {\n if (e.ctrlKey && e.shiftKey && !that.options.virtual) {\n that._selectRange(listView.getElementIndex(listView.focus()[0]), 0);\n }\n listView.focusFirst();\n }\n } else if (!hasValue) {\n tag = that.tagList[0].firstChild;\n if (tag) {\n that.currentTag($(tag));\n }\n }\n } else if (key === keys.END) {\n if (visible) {\n if (!listView.focus()) {\n that.close();\n } else {\n if (e.ctrlKey && e.shiftKey && !that.options.virtual) {\n that._selectRange(listView.getElementIndex(listView.focus()[0]), listView.element.children().length - 1);\n }\n listView.focusLast();\n }\n } else if (!hasValue) {\n tag = that.tagList[0].lastChild;\n if (tag) {\n that.currentTag($(tag));\n }\n }\n } else if ((key === keys.DELETE || key === keys.BACKSPACE) && !hasValue) {\n that._state = ACCEPT;\n if (that.options.tagMode === 'single') {\n that._clearSingleTagValue();\n that._change();\n that._close();\n return;\n }\n if (key === keys.BACKSPACE && !tag) {\n tag = $(that.tagList[0].lastChild);\n }\n if (tag && tag[0]) {\n that._removeTag(tag, true);\n }\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 clearTimeout(that._typingTimeout);\n setTimeout(function () {\n that._scale();\n });\n that._search();\n }\n },\n _hideBusy: function () {\n var that = this;\n clearTimeout(that._busy);\n that.input.attr('aria-busy', false);\n that._loading.addClass(HIDDENCLASS);\n that._request = false;\n that._busy = null;\n that._toggleCloseVisibility();\n },\n _showBusyHandler: function () {\n this.input.attr('aria-busy', true);\n this._loading.removeClass(HIDDENCLASS);\n this._hideClear();\n },\n _showBusy: function () {\n var that = this;\n that._request = true;\n if (that._busy) {\n return;\n }\n that._busy = setTimeout(proxy(that._showBusyHandler, that), 100);\n },\n _placeholder: function (show, skipCaret) {\n var that = this;\n var input = that.input;\n var active = activeElement();\n var placeholder = that.options.placeholder;\n var inputValue = input.val();\n var isActive = input[0] === active;\n var caretPos = inputValue.length;\n if (!isActive || that.options.autoClose || inputValue === placeholder) {\n caretPos = 0;\n inputValue = '';\n }\n if (show === undefined) {\n show = false;\n if (input[0] !== active) {\n show = !that.listView.selectedDataItems()[0];\n }\n }\n that._prev = inputValue;\n input.toggleClass('k-readonly', show).val(show ? placeholder : inputValue);\n if (isActive && !skipCaret) {\n kendo.caret(input[0], caretPos, caretPos);\n }\n that._scale();\n },\n _scale: function () {\n var that = this, wrapper = that.wrapper.find('.k-multiselect-wrap'), wrapperWidth = wrapper.width(), span = that._span.text(that.input.val()), textWidth;\n if (!wrapper.is(':visible')) {\n span.appendTo(document.documentElement);\n wrapperWidth = textWidth = span.width() + 25;\n span.appendTo(wrapper);\n } else {\n textWidth = span.width() + 25;\n }\n that.input.width(textWidth > wrapperWidth ? wrapperWidth : textWidth);\n },\n _option: function (dataValue, dataText, selected) {\n var option = ' this.listView.value().length;\n },\n _angularTagItems: function (cmd) {\n var that = this;\n that.angular(cmd, function () {\n return {\n elements: that.tagList[0].children,\n data: $.map(that.dataItems(), function (dataItem) {\n return { dataItem: dataItem };\n })\n };\n });\n },\n updatePersistTagList: function (added, removed) {\n if (this.persistTagList.added && this.persistTagList.added.length === removed.length && this.persistTagList.removed && this.persistTagList.removed.length === added.length) {\n this.persistTagList = false;\n } else {\n this.listView._removedAddedIndexes = this._old.slice();\n this.persistTagList = {\n added: added,\n removed: removed\n };\n }\n },\n _selectValue: function (added, removed) {\n var that = this;\n var total = that.dataSource.total();\n var tagList = that.tagList;\n var getter = that._value;\n var removedItem;\n var addedItem;\n var idx;\n if (this.persistTagList) {\n this.updatePersistTagList(added, removed);\n return;\n }\n that._angularTagItems('cleanup');\n if (that.options.tagMode === 'multiple') {\n for (idx = removed.length - 1; idx > -1; idx--) {\n removedItem = removed[idx];\n if (tagList.children().length) {\n tagList[0].removeChild(tagList[0].children[removedItem.position]);\n that._setOption(getter(removedItem.dataItem), false);\n }\n }\n for (idx = 0; idx < added.length; idx++) {\n addedItem = added[idx];\n tagList.append(that.tagTemplate(addedItem.dataItem));\n that._setOption(getter(addedItem.dataItem), true);\n }\n } else {\n if (!that._maxTotal || that._maxTotal < total) {\n that._maxTotal = total;\n }\n this._updateTagListHTML();\n for (idx = removed.length - 1; idx > -1; idx--) {\n that._setOption(getter(removed[idx].dataItem), false);\n }\n for (idx = 0; idx < added.length; idx++) {\n that._setOption(getter(added[idx].dataItem), true);\n }\n }\n that._angularTagItems('compile');\n that._placeholder();\n },\n _updateTagListHTML: function () {\n var that = this;\n var values = that.value();\n var total = that.dataSource.total();\n var tagList = that.tagList;\n tagList.html('');\n if (values.length) {\n tagList.append(that.tagTemplate({\n values: values,\n dataItems: that.dataItems(),\n maxTotal: that._maxTotal,\n currentTotal: total\n }));\n }\n },\n _select: function (candidate) {\n var resolved = $.Deferred().resolve();\n if (!candidate) {\n return resolved;\n }\n var that = this;\n var listView = that.listView;\n var dataItem = listView.dataItemByIndex(listView.getElementIndex(candidate));\n var isSelected = candidate.hasClass('k-state-selected');\n if (that._state === REBIND) {\n that._state = '';\n }\n if (!that._allowSelection() && !isSelected) {\n return resolved;\n }\n if (that.trigger(isSelected ? DESELECT : SELECT, {\n dataItem: dataItem,\n item: candidate\n })) {\n that._close();\n return resolved;\n }\n that.persistTagList = false;\n return listView.select(candidate).done(function () {\n that._placeholder();\n if (that._state === FILTER) {\n that._state = ACCEPT;\n listView.skipUpdate(true);\n }\n });\n },\n _selectRange: function (startIndex, endIndex) {\n var that = this;\n var listView = this.listView;\n var maxSelectedItems = this.options.maxSelectedItems;\n var indices = this._getSelectedIndices().slice();\n var indicesToSelect = [];\n var i;\n var selectIndices = function (indices) {\n listView.select(indices).done(function () {\n indices.forEach(function (index) {\n var dataItem = listView.dataItemByIndex(index);\n var candidate = listView.element.children()[index];\n var isSelected = $(candidate).hasClass('k-state-selected');\n that.trigger(isSelected ? SELECT : DESELECT, {\n dataItem: dataItem,\n item: $(candidate)\n });\n });\n that._change();\n });\n };\n if (indices.length - 1 === endIndex - startIndex) {\n return selectIndices(indices);\n }\n if (startIndex < endIndex) {\n for (i = startIndex; i <= endIndex; i++) {\n indicesToSelect.push(i);\n }\n } else {\n for (i = startIndex; i >= endIndex; i--) {\n indicesToSelect.push(i);\n }\n }\n if (maxSelectedItems !== null && indicesToSelect.length > maxSelectedItems) {\n indicesToSelect = indicesToSelect.slice(0, maxSelectedItems);\n }\n for (i = 0; i < indicesToSelect.length; i++) {\n var index = indicesToSelect[i];\n if (this._getSelectedIndices().indexOf(index) == -1) {\n indices.push(index);\n } else {\n indices.splice(indices.indexOf(index), 1);\n }\n }\n if (!indices.length) {\n return;\n }\n that.persistTagList = false;\n return selectIndices(indices);\n },\n _input: function () {\n var that = this;\n var element = that.element;\n var accessKey = element[0].accessKey;\n var input = that._inputWrapper.children('input.k-input');\n var autocomplete = this.options.filter === 'none' ? 'none' : 'list';\n if (!input[0]) {\n input = $('').appendTo(that._inputWrapper);\n }\n element.removeAttr('accesskey');\n that._focused = that.input = input.attr({\n 'autocomplete': AUTOCOMPLETEVALUE,\n 'role': 'textbox',\n 'title': element[0].title,\n 'aria-autocomplete': autocomplete\n });\n if (accessKey) {\n that._focused.attr('accesskey', accessKey);\n }\n },\n _tagList: function () {\n var that = this, tagList = that._inputWrapper.children('ul');\n if (!tagList[0]) {\n tagList = $('