{"version":3,"file":"kendo.multiselect.min.js","names":["factory","define","amd","$","undefined$1","kendo","ui","List","html","keys","activeElement","ObservableArray","ID","CHIP","ACCEPT","FILTER","REBIND","OPEN","CLOSE","CHANGE","SELECT","DESELECT","ARIA_DISABLED","ARIA_READONLY","ARIA_EXPANDED","ARIA_HIDDEN","ARIA_ACTIVEDESCENDANT","ARIA_BUSY","FOCUSEDCLASS","SELECTEDCLASS","HIDDENCLASS","HOVERCLASS","STATEDISABLED","NOCLICKCLASS","DISABLED","READONLY","ns","CLICK","MOUSEENTER","MOUSELEAVE","quotRegExp","isArray","styles","MultiSelect","window","jQuery","extend","A","_activeElement","data","Array","init","element","options","id","that","this","fn","call","_optionsMap","_customOptions","_wrapper","_tagList","_input","_textContainer","_loader","_clearButton","_arrowButton","_tabindex","input","attr","hide","placeholder","guid","_tagID","tagList","_initialOpen","label","_label","_aria","_dataSource","_ignoreCase","_popup","_tagTemplate","requireValueMapper","_initList","_reset","_enable","_placeholder","autoBind","dataSource","fetch","value","_preselect","parents","is","enable","_toggleCloseVisibility","_applyCssClasses","notify","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","size","fillMode","rounded","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","autocomplete","tagListId","role","_ariaLabel","_focused","_activateItem","visible","selectedItemChange","_selectedItemChange","bind","selectable","template","expr","_setListValue","_initialValues","slice","_listChange","e","flatView","optionsMap","valueGetter","_value","i","added","length","dataItem","_render","_selectValue","removed","context","idx","items","children","eq","index","first","tagTextTemplate","item","_wrapperMousedown","notInput","target","nodeName","toLowerCase","closeButton","closest","removeButton","support","mobileOS","cancelable","preventDefault","toggle","trigger","open","_inputFocus","_inputFocusout","close","skipUpdate","bound","isFiltered","_clearFilter","_removeTag","tag","shouldTrigger","option","state","position","customIndex","listViewChildren","_close","done","_change","select","selected","removeAt","_removedAddedIndexes","splice","classList","remove","_updateTagListHTML","_tagListClick","stopPropagation","currentTarget","_clearValue","_clearSingleTagValue","each","val","_search","focus","_hideClear","tags","_focusHandler","active","_editable","disable","readonly","toggleClass","prop","on","_toggleHover","_keydown","_filterSource","force","_retrieveData","_activeItem","listViewFilterValue","filterValue","listViewFilter","filters","toString","_request","_open","_focusItem","_allowOpening","isPlainObject","_hovered","refresh","_floatCheck","_listBound","_renderFooter","_renderNoData","_toggleNoData","_resizePopup","_updateItemFocus","_touchScroller","reset","_hideBusy","skip","isFirstPage","focusFirst","_inputValue","inputValue","oldValue","clearFilters","_normalizeValues","_old","_valueBeforeCascade","_fetchData","ObservableObject","_setOption","hasItems","view","_fetch","read","_isBound","fields","field","_refreshHandler","_unbindDataSource","_progressHandler","_showBusy","_errorHandler","DataSource","create","formId","form","_resetHandler","setTimeout","_form","_initValue","map","a","b","compare","_click","_select","_getActiveItem","_getSelectedIndices","_selectedIndices","_selectedIndexes","activeItemIdx","key","keyCode","hasValue","isRtl","dir","ENTER","_multipleSelection","DOWN","shiftKey","getElementIndex","focusNext","_selectRange","focusLast","UP","focusPrev","LEFT","RIGHT","prev","last","next","ctrlKey","altKey","hasClass","SPACEBAR","activeIndex","currentIndex","ESC","HOME","END","DELETE","BACKSPACE","PAGEDOWN","PAGEUP","direction","scrollWith","screenHeight","_loading","_showBusyHandler","show","skipCaret","isActive","caretPos","_prev","caret","_option","dataValue","dataText","indexOf","replace","htmlEncode","selectedIndex","selectedItems","values","_buildSelectedItems","custom","_selectedItemIndex","_text","valueField","textField","result","push","search","_showClear","_allowSelection","max","_angularTagItems","cmd","angular","elements","updatePersistTagList","removedItem","addedItem","total","getter","removeChild","before","_maxTotal","_refreshFloatingLabel","maxTotal","currentTotal","resolved","Deferred","resolve","dataItemByIndex","isSelected","startIndex","endIndex","indices","indicesToSelect","selectIndices","forEach","accessKey","appendTo","title","renderChipList","defaultTemplate","hasDataSource","isMultiple","useWithBlock","renderChip","themeColor","text","unselectable","removable","removableAttr","icon","iconAttr","insertAfter","arrowTitle","arrow","renderButton","_arrow","tabIndex","computedStyles","getComputedStyles","visibility","top","left","_span","css","parent","wrap","style","cssText","className","_closeHandler","_openHandler","_adjustListWidth","plugin","cssProperties","registerPrefix","registerValues","roundedValues","concat"],"sources":["kendo.multiselect.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.list', 'kendo.mobile.scroller', 'kendo.virtuallist', 'kendo.html.chip', 'kendo.html.chiplist', 'kendo.html.button'], factory) :\n factory();\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\", \"html.chip\", \"html.chiplist\", \"html.button\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n List = ui.List,\n html = kendo.html,\n keys = $.extend({ A: 65 }, kendo.keys),\n activeElement = kendo._activeElement,\n ObservableArray = kendo.data.ObservableArray,\n ID = \"id\",\n CHIP = \".k-chip\",\n ACCEPT = \"accept\",\n FILTER = \"filter\",\n REBIND = \"rebind\",\n OPEN = \"open\",\n CLOSE = \"close\",\n CHANGE = \"change\",\n PROGRESS = \"progress\",\n SELECT = \"select\",\n DESELECT = \"deselect\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_READONLY = \"aria-readonly\",\n ARIA_EXPANDED = \"aria-expanded\",\n ARIA_HIDDEN = \"aria-hidden\",\n ARIA_ACTIVEDESCENDANT = \"aria-activedescendant\",\n ARIA_BUSY = \"aria-busy\",\n FOCUSEDCLASS = \"k-focus\",\n SELECTEDCLASS = \"k-selected\",\n HIDDENCLASS = \"k-hidden\",\n HOVERCLASS = \"k-hover\",\n STATEDISABLED = \"k-disabled\",\n NOCLICKCLASS = \"k-no-click\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n AUTOCOMPLETEVALUE = \"off\",\n ns = \".kendoMultiSelect\",\n CLICK = \"click\" + ns,\n KEYDOWN = \"keydown\" + ns,\n MOUSEENTER = \"mouseenter\" + ns,\n MOUSELEAVE = \"mouseleave\" + ns,\n HOVEREVENTS = MOUSEENTER + \" \" + MOUSELEAVE,\n quotRegExp = /\"/g,\n isArray = Array.isArray,\n styles = [\"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\n that.ns = ns;\n List.fn.init.call(that, element, options);\n\n that._optionsMap = {};\n that._customOptions = {};\n\n that._wrapper();\n that._tagList();\n that._input();\n that._textContainer();\n that._loader();\n that._clearButton();\n that._arrowButton();\n\n that._tabindex(that.input);\n\n element = that.element.attr(\"multiple\", \"multiple\").hide();\n options = that.options;\n\n if (!options.placeholder) {\n options.placeholder = element.data(\"placeholder\");\n }\n\n id = element.attr(ID);\n\n if (!id) {\n id = kendo.guid();\n }\n\n if (id) {\n that._tagID = id + \"_tag_active\";\n id = id + \"_taglist\";\n that.tagList.attr(ID, id);\n }\n\n that._initialOpen = true;\n\n if (options.label) {\n this._label();\n }\n\n that._aria();\n\n that._dataSource();\n that._ignoreCase();\n that._popup();\n\n that._tagTemplate();\n that.requireValueMapper(that.options);\n that._initList();\n\n that._reset();\n that._enable();\n that._placeholder();\n\n if (options.autoBind) {\n that.dataSource.fetch();\n } else if (options.value) {\n that._preselect(options.value);\n }\n\n disabled = $(that.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n that.enable(false);\n }\n\n that._toggleCloseVisibility();\n that._applyCssClasses();\n\n kendo.notify(that);\n },\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 size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n label: null\n },\n\n events: [\n OPEN,\n CLOSE,\n CHANGE,\n SELECT,\n DESELECT,\n \"filtering\",\n \"dataBinding\",\n \"dataBound\"\n ],\n\n setDataSource: function(dataSource) {\n this.options.dataSource = dataSource;\n\n this._state = \"\";\n this._dataSource();\n\n this.persistTagList = false;\n this.listView.setDataSource(this.dataSource);\n\n if (this.options.autoBind) {\n this.dataSource.fetch();\n }\n },\n\n setOptions: function(options) {\n var listOptions = this._listOptions(options);\n\n List.fn.setOptions.call(this, options);\n\n this.listView.setOptions(listOptions);\n\n\n this._accessors();\n this._aria();\n this._tagTemplate();\n this._placeholder();\n this._clearButton();\n this._arrowButton();\n },\n\n currentTag: function(candidate) {\n var that = this;\n\n if (candidate !== undefined$1) {\n if (that._currentTag) {\n that._currentTag\n .removeClass(FOCUSEDCLASS)\n .removeAttr(ID);\n\n that._currentTag.find(\".k-chip-action\").attr(ARIA_HIDDEN, true);\n\n that.input.removeAttr(ARIA_ACTIVEDESCENDANT);\n }\n\n if (candidate) {\n candidate.addClass(FOCUSEDCLASS).attr(ID, that._tagID);\n\n candidate.find(\".k-chip-action\").removeAttr(ARIA_HIDDEN);\n\n that.input.attr(ARIA_ACTIVEDESCENDANT, that._tagID);\n }\n\n that._currentTag = candidate;\n } else {\n return that._currentTag;\n }\n },\n\n dataItems: function() {\n return this.listView.selectedDataItems();\n },\n\n destroy: function() {\n var that = this,\n ns = that.ns;\n\n clearTimeout(that._busy);\n clearTimeout(that._typingTimeout);\n\n that.wrapper.off(ns);\n that.tagList.off(ns);\n that.input.off(ns);\n that._clear.off(ns);\n\n List.fn.destroy.call(that);\n },\n\n _aria: function() {\n var that = this,\n id = that.ul[0].id,\n autocomplete = this.options.filter === \"none\" ? \"none\" : \"list\",\n tagListId = that.tagList.attr(ID);\n\n that.input.attr({\n \"role\": \"combobox\",\n \"aria-expanded\": false,\n \"aria-controls\": id,\n \"aria-autocomplete\": autocomplete,\n \"aria-describedby\": tagListId\n });\n\n that._ariaLabel(that._focused);\n },\n\n _activateItem: function() {\n if (this.popup.visible()) {\n List.fn._activateItem.call(this);\n }\n this.currentTag(null);\n },\n\n _listOptions: function(options) {\n var that = this;\n var listOptions = List.fn._listOptions.call(that, $.extend(options, {\n selectedItemChange: that._selectedItemChange.bind(that),\n selectable: \"multiple\"\n }));\n\n var itemTemplate = this.options.itemTemplate || this.options.template;\n var template = listOptions.itemTemplate || itemTemplate || listOptions.template;\n\n if (!template) {\n template = \"#:\" + kendo.expr(listOptions.dataTextField, \"data\") + \"#\";\n }\n\n listOptions.template = template;\n\n return listOptions;\n },\n\n _setListValue: function() {\n List.fn._setListValue.call(this, this._initialValues.slice(0));\n },\n\n _listChange: function(e) {\n var data = this.dataSource.flatView();\n var optionsMap = this._optionsMap;\n var valueGetter = this._value;\n\n if (this._state === REBIND) {\n this._state = \"\";\n }\n\n for (var i = 0; i < e.added.length; i++) {\n if (optionsMap[valueGetter(e.added[i].dataItem)] === undefined$1) {\n this._render(data); //render select element \";\n },\n\n _render: function(data) {\n var selectedItems = this.listView.selectedDataItems();\n var values = this.listView.value();\n var length = data.length;\n var selectedIndex;\n var options = \"\";\n var dataItem;\n var value;\n var idx;\n\n if (values.length !== selectedItems.length) {\n selectedItems = this._buildSelectedItems(values);\n }\n\n var custom = {};\n var optionsMap = {};\n\n for (idx = 0; idx < length; idx++) {\n dataItem = data[idx];\n value = this._value(dataItem);\n\n selectedIndex = this._selectedItemIndex(value, selectedItems);\n if (selectedIndex !== -1) {\n selectedItems.splice(selectedIndex, 1);\n }\n\n optionsMap[value] = idx;\n options += this._option(value, this._text(dataItem), selectedIndex !== -1);\n }\n\n if (selectedItems.length) {\n for (idx = 0; idx < selectedItems.length; idx++) {\n dataItem = selectedItems[idx];\n\n value = this._value(dataItem);\n custom[value] = length;\n optionsMap[value] = length;\n\n length += 1;\n options += this._option(value, this._text(dataItem), true);\n }\n }\n\n this._customOptions = custom;\n this._optionsMap = optionsMap;\n\n this.element.html(options);\n },\n\n _buildSelectedItems: function(values) {\n var valueField = this.options.dataValueField;\n var textField = this.options.dataTextField;\n var result = [];\n var item;\n\n for (var idx = 0; idx < values.length; idx++) {\n item = {};\n item[valueField] = values[idx];\n item[textField] = values[idx];\n\n result.push(item);\n }\n\n return result;\n },\n\n _selectedItemIndex: function(value, selectedItems) {\n var valueGetter = this._value;\n var idx = 0;\n\n for (; idx < selectedItems.length; idx++) {\n if (value === valueGetter(selectedItems[idx])) {\n return idx;\n }\n }\n\n return -1;\n },\n\n _search: function() {\n var that = this;\n\n clearTimeout(that._typingTimeout);\n\n that._typingTimeout = setTimeout(function() {\n var value = that._inputValue();\n if (that._prev !== value) {\n that._prev = value;\n that.search(value);\n that._toggleCloseVisibility();\n }\n }, that.options.delay);\n },\n\n _toggleCloseVisibility: function() {\n if (this.value().length || (this.input.val() && this.input.val() !== this.options.placeholder)) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n _allowOpening: function() {\n return this._allowSelection() && List.fn._allowOpening.call(this);\n },\n\n _allowSelection: function() {\n var max = this.options.maxSelectedItems;\n return max === null || max > this.listView.value().length;\n },\n\n _angularTagItems: function(cmd) {\n var that = this;\n\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\n updatePersistTagList: function(added, removed) {\n if (this.persistTagList.added &&\n this.persistTagList.added.length === removed.length &&\n this.persistTagList.removed &&\n 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\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\n if (this.persistTagList) {\n this.updatePersistTagList(added, removed);\n\n return;\n }\n\n that._angularTagItems(\"cleanup\");\n\n if (that.options.tagMode === \"multiple\") {\n for (idx = removed.length - 1; idx > -1; idx--) {\n removedItem = removed[idx];\n\n if (tagList.children(CHIP).length) {\n tagList[0].removeChild(tagList[0].children[removedItem.position]);\n that._setOption(getter(removedItem.dataItem), false);\n }\n }\n\n for (idx = 0; idx < added.length; idx++) {\n addedItem = added[idx];\n\n that.input.before(that.tagTemplate(addedItem.dataItem));\n\n that._setOption(getter(addedItem.dataItem), true);\n }\n } else {\n if (!that._maxTotal || that._maxTotal < total) {\n that._maxTotal = total;\n }\n\n this._updateTagListHTML();\n\n for (idx = removed.length - 1; idx > -1; idx--) {\n that._setOption(getter(removed[idx].dataItem), false);\n }\n\n for (idx = 0; idx < added.length; idx++) {\n that._setOption(getter(added[idx].dataItem), true);\n }\n }\n\n that._refreshFloatingLabel();\n\n that._angularTagItems(\"compile\");\n that._placeholder();\n },\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\n tagList.children(CHIP).each(function(index, tag) {\n $(tag).remove();\n });\n\n if (values.length) {\n that.input.before(that.tagTemplate({\n values: values,\n dataItems: that.dataItems(),\n maxTotal: that._maxTotal,\n currentTotal: total\n }));\n }\n },\n\n _select: function(candidate) {\n var resolved = $.Deferred().resolve();\n\n if (!candidate) {\n return resolved;\n }\n\n var that = this;\n var listView = that.listView;\n var dataItem = listView.dataItemByIndex(listView.getElementIndex(candidate));\n var isSelected = candidate.hasClass(\"k-selected\");\n\n if (that._state === REBIND) {\n that._state = \"\";\n }\n\n if (!that._allowSelection() && !isSelected) {\n return resolved;\n }\n\n if (that.trigger(isSelected ? DESELECT : SELECT, { dataItem: dataItem, item: candidate })) {\n that._close();\n return resolved;\n }\n\n that.persistTagList = false;\n return listView.select(candidate).done(function() {\n that._placeholder();\n\n if (that._state === FILTER) {\n that._state = ACCEPT;\n listView.skipUpdate(true);\n }\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\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-selected\");\n\n that.trigger(isSelected ? SELECT : DESELECT, { dataItem: dataItem, item: $(candidate) });\n });\n that._change();\n });\n };\n\n if (indices.length - 1 === endIndex - startIndex) {\n return selectIndices(indices);\n }\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\n if (maxSelectedItems !== null && indicesToSelect.length > maxSelectedItems) {\n indicesToSelect = indicesToSelect.slice(0, maxSelectedItems);\n }\n\n for (i = 0; i < indicesToSelect.length; i++) {\n var index = indicesToSelect[i];\n\n if (this._getSelectedIndices().indexOf(index) == -1) {\n indices.push(index);\n } else {\n indices.splice(indices.indexOf(index), 1);\n }\n }\n\n if (!indices.length) {\n return;\n }\n\n that.persistTagList = false;\n return selectIndices(indices);\n },\n\n _input: function() {\n var that = this;\n var element = that.element;\n var accessKey = element[0].accessKey;\n var input = that.tagList.children(\"input.k-input-inner\");\n\n if (!input[0]) {\n input = $('').appendTo(that.tagList);\n }\n\n element.removeAttr(\"accesskey\");\n\n that._focused = that.input = input.attr({\n \"autocomplete\": AUTOCOMPLETEVALUE,\n \"title\": element[0].title\n });\n\n if (accessKey) {\n that._focused.attr(\"accesskey\", accessKey);\n }\n },\n\n _tagList: function() {\n var that = this,\n options = that.options,\n tagList = that.wrapper.children(\".k-input-values\");\n\n if (!tagList[0]) {\n tagList = $(html.renderChipList('
', $.extend({}, options))).appendTo(that.wrapper);\n }\n\n that.tagList = tagList;\n },\n\n _tagTemplate: function() {\n var that = this;\n var options = that.options;\n var tagTemplate = options.tagTemplate;\n var hasDataSource = options.dataSource;\n var isMultiple = options.tagMode === \"multiple\";\n var singleTag = options.messages.singleTag;\n var defaultTemplate;\n\n if (that.element[0].length && !hasDataSource) {\n options.dataTextField = options.dataTextField || \"text\";\n options.dataValueField = options.dataValueField || \"value\";\n }\n\n defaultTemplate = isMultiple ? kendo.template(\"#:\" + kendo.expr(options.dataTextField, \"data\") + \"#\", { useWithBlock: false }) : kendo.template(\"#:values.length# \" + singleTag);\n\n that.tagTextTemplate = tagTemplate = tagTemplate ? kendo.template(tagTemplate) : defaultTemplate;\n\n that.tagTemplate = function(data) {\n return html.renderChip('' +\n '', $.extend({}, options, {\n fillMode: \"solid\",\n rounded: \"medium\",\n themeColor: \"base\",\n text: tagTemplate(data),\n attr: {\n unselectable: \"on\"\n },\n removable: isMultiple,\n removableAttr: {\n unselectable: \"on\",\n \"aria-hidden\": true,\n \"aria-label\": that.options.messages.deleteTag,\n title: that.options.messages.deleteTag\n },\n icon: !isMultiple ? \"arrow-s\" : \"\",\n iconAttr: {\n unselectable: \"on\",\n \"aria-hidden\": true,\n \"aria-label\": 'open'\n }\n })\n );\n };\n },\n\n _loader: function() {\n this._loading = $('').insertAfter(this.tagList);\n },\n\n _clearButton: function() {\n List.fn._clearButton.call(this);\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.tagList);\n this.wrapper.addClass(\"k-multiselect-clearable\");\n }\n },\n\n _arrowButton: function() {\n var arrowTitle = this.options.messages.downArrow,\n arrow = $(html.renderButton('', $.extend({}, this.options, {\n icon: \"arrow-s\"\n })));\n\n if (this._arrow) {\n this._arrow.remove();\n this._arrow = null;\n }\n\n if (this.options.downArrow) {\n this._arrow = arrow.attr({\n \"tabIndex\": -1\n });\n\n this._arrow.appendTo(this.wrapper);\n }\n },\n\n _textContainer: function() {\n var computedStyles = kendo.getComputedStyles(this.input[0], styles);\n\n computedStyles.position = \"absolute\";\n computedStyles.visibility = \"hidden\";\n computedStyles.top = -3333;\n computedStyles.left = -3333;\n\n this._span = $(\"\").css(computedStyles).appendTo(this.wrapper);\n },\n\n _wrapper: function() {\n var that = this,\n element = that.element,\n wrapper = element.parent(\"span.k-multiselect\");\n\n if (!wrapper[0]) {\n wrapper = element.wrap('').parent();\n wrapper[0].style.cssText = element[0].style.cssText;\n }\n\n that.wrapper = wrapper\n .addClass(element[0].className)\n .removeClass('input-validation-error').css(\"display\", \"\");\n },\n\n _closeHandler: function(e) {\n if (this.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n this.input.attr(ARIA_EXPANDED, false);\n this.ul.attr(ARIA_HIDDEN, true);\n }\n },\n\n _openHandler: function(e) {\n this._adjustListWidth();\n\n if (this.trigger(OPEN)) {\n e.preventDefault();\n } else {\n this.input.attr(ARIA_EXPANDED, true);\n this.ul.attr(ARIA_HIDDEN, false);\n }\n }\n });\n\n function compare(a, b) {\n var length;\n\n if ((a === null && b !== null) || (a !== null && b === null)) {\n return false;\n }\n\n length = a.length;\n if (length !== b.length) {\n return false;\n }\n\n while (length--) {\n if (a[length] !== b[length]) {\n return false;\n }\n }\n\n return true;\n }\n\n ui.plugin(MultiSelect);\n\n kendo.cssProperties.registerPrefix(\"MultiSelect\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"MultiSelect\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n\n })(window.kendo.jQuery);\n\n}));\n"]}