{"version":3,"sources":["kendo.multiselect.js"],"names":["f","define","$","undefined","compare","a","b","length","kendo","window","ui","List","keys","activeElement","_activeElement","ObservableArray","data","proxy","ID","LI","ACCEPT","FILTER","REBIND","OPEN","CLOSE","CHANGE","PROGRESS","SELECT","ARIA_DISABLED","ARIA_READONLY","FOCUSEDCLASS","HIDDENCLASS","HOVERCLASS","STATEDISABLED","DISABLED","READONLY","ns","CLICK","KEYDOWN","MOUSEENTER","MOUSELEAVE","HOVEREVENTS","quotRegExp","isArray","styles","MultiSelect","extend","init","element","options","id","disabled","that","this","fn","call","_optionsMap","_customOptions","_wrapper","_tagList","_input","_textContainer","_loader","_tabindex","input","attr","hide","placeholder","_tagID","tagList","_aria","_dataSource","_ignoreCase","_popup","_tagTemplate","_initList","_reset","_enable","_placeholder","autoBind","dataSource","fetch","value","_preselect","parents","is","enable","notify","name","tagMode","enabled","autoClose","highlightFirst","dataTextField","dataValueField","filter","ignoreCase","minLength","delay","maxSelectedItems","height","animation","virtual","itemTemplate","tagTemplate","groupTemplate","fixedGroupTemplate","events","setDataSource","_state","listView","setOptions","listOptions","_listOptions","_accessors","currentTag","candidate","_currentTag","removeClass","removeAttr","addClass","dataItems","selectedDataItems","destroy","clearTimeout","_busy","_typingTimeout","wrapper","off","_activateItem","selectedItemChange","_selectedItemChange","selectable","template","expr","_setListValue","_initialValues","slice","_listChange","e","added","_selectValue","removed","context","idx","items","children","eq","index","html","tagTextTemplate","item","_wrapperMousedown","notInput","target","nodeName","toLowerCase","closeButton","hasClass","closest","support","mobileOS","preventDefault","focus","open","_inputFocus","_inputFocusout","close","skipUpdate","blur","_removeTag","tag","option","state","position","customIndex","removeAttribute","selected","removeAt","remove","select","_change","_close","_tagListClick","currentTarget","_editable","disable","readonly","add","on","_toggleHover","_keydown","_search","popup","_filterSource","force","_retrieveData","_request","bound","_open","_allowSelection","_focusItem","toggle","visible","refresh","_angularItems","cmd","angular","elements","map","flatView","dataItem","_listBound","skip","_render","_resizePopup","focusFirst","_touchScroller","reset","_hideBusy","_makeUnselectable","trigger","search","word","expression","field","inputValue","val","operator","oldValue","clearFilters","isFiltered","_normalizeValues","_clearFilter","_old","_fetchData","isPlainObject","ObservableObject","_setOption","setAttribute","hasItems","view","isEmptyArray","_fetch","read","done","_isBound","fields","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","DataSource","create","bind","formId","form","_resetHandler","setTimeout","_form","_initValue","_value","_click","_select","key","keyCode","current","hasValue","isRtl","DOWN","focusNext","focusLast","UP","focusPrev","LEFT","RIGHT","prev","lastChild","next","ENTER","ESC","HOME","firstChild","END","DELETE","BACKSPACE","_scale","_loading","_showBusyHandler","show","skipCaret","active","_prev","toggleClass","caret","textWidth","wrapperWidth","width","span","_span","text","appendTo","document","documentElement","_option","dataValue","dataText","indexOf","replace","htmlEncode","selectedIndex","custom","optionsMap","selectedItems","values","_buildSelectedItems","_selectedItemIndex","splice","_text","valueField","textField","result","push","valueGetter","max","_angularTagItems","removedItem","addedItem","total","getter","removeChild","append","_maxTotal","maxTotal","currentTotal","accessKey","_innerWrapper","_focused","accesskey","autocomplete","role","aria-expanded","defaultTemplate","hasDataSource","isMultiple","useWithBlock","insertAfter","computedStyles","getComputedStyles","visibility","top","left","css","parent","wrap","style","cssText","title","insertBefore","className","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 ], 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 = 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', ARIA_DISABLED = 'aria-disabled', ARIA_READONLY = 'aria-readonly', FOCUSEDCLASS = 'k-state-focused', HIDDENCLASS = 'k-loading-hidden', HOVERCLASS = 'k-state-hover', STATEDISABLED = 'k-state-disabled', DISABLED = 'disabled', READONLY = 'readonly', ns = '.kendoMultiSelect', CLICK = 'click' + ns, KEYDOWN = 'keydown' + ns, MOUSEENTER = 'mouseenter' + ns, MOUSELEAVE = 'mouseleave' + ns, HOVEREVENTS = MOUSEENTER + ' ' + MOUSELEAVE, quotRegExp = /\"/g, isArray = $.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._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 }\n that._aria(id);\n that._dataSource();\n that._ignoreCase();\n that._popup();\n that._tagTemplate();\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 kendo.notify(that);\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: 0,\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 },\n events: [\n OPEN,\n CLOSE,\n CHANGE,\n SELECT,\n 'filtering',\n 'dataBinding',\n 'dataBound'\n ],\n setDataSource: function (dataSource) {\n this.options.dataSource = dataSource;\n this._state = '';\n this._dataSource();\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(this.tagList.attr(ID));\n this._tagTemplate();\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.input.removeAttr('aria-activedescendant');\n }\n if (candidate) {\n candidate.addClass(FOCUSEDCLASS).attr(ID, that._tagID);\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 List.fn.destroy.call(that);\n },\n _activateItem: function () {\n List.fn._activateItem.call(this);\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 if (this._state === REBIND) {\n this._state = '';\n e.added = [];\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');\n if (closeButton) {\n closeButton = !target.closest('.k-select').children('.k-i-arrow-s').length;\n }\n if (notInput && !(closeButton && kendo.support.mobileOS)) {\n e.preventDefault();\n }\n if (!closeButton) {\n if (that.input[0] !== activeElement() && notInput) {\n that.input.focus();\n }\n if (that.options.minLength === 0) {\n that.open();\n }\n }\n },\n _inputFocus: function () {\n this._placeholder(false);\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 that.element.blur();\n },\n _removeTag: function (tag) {\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 customIndex = that._customOptions[value];\n var option;\n if (customIndex === undefined && (state === ACCEPT || state === FILTER)) {\n customIndex = that._optionsMap[value];\n }\n if (customIndex !== undefined) {\n option = that.element[0].children[customIndex];\n option.removeAttribute('selected');\n option.selected = false;\n listView.removeAt(position);\n tag.remove();\n } else {\n listView.select(listView.select()[position]);\n }\n that.currentTag(null);\n that._change();\n that._close();\n },\n _tagListClick: function (e) {\n var target = $(e.currentTarget);\n if (!target.children('.k-i-arrow-s').length) {\n this._removeTag(target.closest(LI));\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.element.add(that.input.off(ns));\n if (!readonly && !disable) {\n wrapper.removeClass(STATEDISABLED).on(HOVEREVENTS, that._toggleHover).on('mousedown' + ns + ' touchend' + ns, proxy(that._wrapperMousedown, that));\n that.input.on(KEYDOWN, proxy(that._keydown, that)).on('paste' + ns, proxy(that._search, that)).on('focus' + ns, proxy(that._inputFocus, that)).on('focusout' + ns, proxy(that._inputFocusout, that));\n input.removeAttr(DISABLED).removeAttr(READONLY).attr(ARIA_DISABLED, false).attr(ARIA_READONLY, false);\n tagList.on(MOUSEENTER, LI, function () {\n $(this).addClass(HOVERCLASS);\n }).on(MOUSELEAVE, LI, function () {\n $(this).removeClass(HOVERCLASS);\n }).on(CLICK, 'li.k-button .k-select', proxy(that._tagListClick, that));\n } else {\n if (disable) {\n wrapper.addClass(STATEDISABLED);\n } else {\n wrapper.removeClass(STATEDISABLED);\n }\n input.attr(DISABLED, disable).attr(READONLY, readonly).attr(ARIA_DISABLED, disable).attr(ARIA_READONLY, readonly);\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.popup.close();\n },\n open: function () {\n var that = this;\n if (that._request) {\n that._retrieveData = false;\n }\n if (that._retrieveData || !that.listView.bound() || that._state === ACCEPT) {\n that._open = true;\n that._state = REBIND;\n that.listView.skipUpdate(true);\n that._filterSource();\n } else if (that._allowSelection()) {\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 _angularItems: function (cmd) {\n var that = this;\n that.angular(cmd, function () {\n return {\n elements: that.items(),\n data: $.map(that.dataSource.flatView(), function (dataItem) {\n return { dataItem: dataItem };\n })\n };\n });\n },\n _listBound: function () {\n var that = this;\n var data = that.dataSource.flatView();\n var skip = that.listView.skip();\n var length = data.length;\n that._angularItems('compile');\n that._render(data);\n that._resizePopup();\n if (that._open) {\n that._open = false;\n that.toggle(length);\n }\n that.popup.position();\n if (that.options.highlightFirst && (skip === undefined || skip === 0)) {\n that.listView.focusFirst();\n }\n if (that._touchScroller) {\n that._touchScroller.reset();\n }\n that._hideBusy();\n that._makeUnselectable();\n that.trigger('dataBound');\n },\n search: function (word) {\n var that = this;\n var options = that.options;\n var ignoreCase = options.ignoreCase;\n var field = options.dataTextField;\n var inputValue = that.input.val();\n var expression;\n var length;\n if (options.placeholder === inputValue) {\n inputValue = '';\n }\n clearTimeout(that._typingTimeout);\n word = typeof word === 'string' ? word : inputValue;\n length = word.length;\n if (!length || length >= options.minLength) {\n that._state = FILTER;\n that._open = true;\n expression = {\n value: ignoreCase ? word.toLowerCase() : word,\n field: field,\n operator: options.filter,\n ignoreCase: ignoreCase\n };\n that._filterSource(expression);\n }\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 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 = value;\n if (!clearFilters) {\n that._fetchData();\n }\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 if (selected) {\n option.setAttribute('selected', 'selected');\n } else {\n option.removeAttribute('selected');\n }\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 }\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 },\n _click: function (e) {\n var item = e.item;\n e.preventDefault();\n if (this.trigger(SELECT, { item: item })) {\n this._close();\n return;\n }\n this._select(item);\n this._change();\n this._close();\n },\n _keydown: function (e) {\n var that = this;\n var key = e.keyCode;\n var tag = that._currentTag;\n var current = that.listView.focus();\n var hasValue = that.input.val();\n var isRtl = kendo.support.isRtl(that.wrapper);\n var visible = that.popup.visible();\n if (key === keys.DOWN) {\n e.preventDefault();\n if (!visible) {\n that.open();\n if (!current) {\n this.listView.focusFirst();\n }\n return;\n }\n if (current) {\n this.listView.focusNext();\n if (!this.listView.focus()) {\n this.listView.focusLast();\n }\n } else {\n this.listView.focusFirst();\n }\n } else if (key === keys.UP) {\n if (visible) {\n if (current) {\n this.listView.focusPrev();\n }\n if (!this.listView.focus()) {\n that.close();\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 (key === keys.ENTER && visible) {\n if (current) {\n if (that.trigger(SELECT, { item: current })) {\n that._close();\n return;\n }\n that._select(current);\n }\n that._change();\n that._close();\n e.preventDefault();\n } else if (key === keys.ESC) {\n if (visible) {\n e.preventDefault();\n } else {\n that.currentTag(null);\n }\n that.close();\n } else if (key === keys.HOME) {\n if (visible) {\n this.listView.focusFirst();\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 this.listView.focusLast();\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 if (key === keys.BACKSPACE && !tag) {\n tag = $(that.tagList[0].lastChild);\n }\n if (tag && tag[0]) {\n that._removeTag(tag);\n }\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 },\n _showBusyHandler: function () {\n this.input.attr('aria-busy', true);\n this._loading.removeClass(HIDDENCLASS);\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, input = that.input, active = activeElement();\n if (show === undefined) {\n show = false;\n if (input[0] !== active) {\n show = !that.listView.selectedDataItems()[0];\n }\n }\n that._prev = '';\n input.toggleClass('k-readonly', show).val(show ? that.options.placeholder : '');\n if (input[0] === active && !skipCaret) {\n kendo.caret(input[0], 0, 0);\n }\n that._scale();\n },\n _scale: function () {\n var that = this, wrapper = that.wrapper, 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 _selectValue: function (added, removed) {\n var that = this;\n var values = that.value();\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 that._angularTagItems('cleanup');\n if (that.options.tagMode === 'multiple') {\n for (idx = removed.length - 1; idx > -1; idx--) {\n removedItem = removed[idx];\n tagList[0].removeChild(tagList[0].children[removedItem.position]);\n that._setOption(getter(removedItem.dataItem), false);\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 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 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 _select: function (candidate) {\n var that = this;\n if (that._state === REBIND) {\n that._state = '';\n }\n if (!that._allowSelection()) {\n return;\n }\n this.listView.select(candidate);\n that._placeholder();\n if (that._state === FILTER) {\n that._state = ACCEPT;\n that.listView.skipUpdate(true);\n }\n },\n _input: function () {\n var that = this, accessKey = that.element[0].accessKey, input = that._innerWrapper.children('input.k-input');\n if (!input[0]) {\n input = $('').appendTo(that._innerWrapper);\n }\n that.element.removeAttr('accesskey');\n that._focused = that.input = input.attr({\n 'accesskey': accessKey,\n 'autocomplete': 'off',\n 'role': 'listbox',\n 'aria-expanded': false\n });\n },\n _tagList: function () {\n var that = this, tagList = that._innerWrapper.children('ul');\n if (!tagList[0]) {\n tagList = $('