UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 25.7 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.list.js"),require("kendo.mobile.scroller.js"),require("kendo.virtuallist.js"),require("kendo.html.chip.js"),require("kendo.html.chiplist.js"),require("kendo.html.button.js"),require("kendo.prefix-suffix-containers.chunk.js")):"function"==typeof define&&define.amd?define(["exports","kendo.list.min","kendo.mobile.scroller.min","kendo.virtuallist.min","kendo.html.chip.min","kendo.html.chiplist.min","kendo.html.button.min","kendo.prefix-suffix-containers.chunk.min"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Multiselect={}),e.kendo._globals.List,e.kendo._globals.MobileScroller,e.kendo._globals.Virtuallist,e.kendo._globals.HtmlChip,e.kendo._globals.HtmlChiplist,e.kendo._globals.HtmlButton,e.kendo._globals.PrefixSuffixContainersChunk)}(this,(function(e,t,i,a,n,s,l,o){!function(e,t){var i=window.kendo,a=i.ui,n=a.List,s=i.htmlEncode,l=i.html,r=e.extend({A:65},i.keys),u=i._activeElement,c=i.data.ObservableArray,d="id",p=".k-chip",h="accept",_="filter",f="rebind",g="open",m="close",v="change",b="select",T="deselect",w="aria-disabled",I="aria-readonly",k="aria-expanded",x="aria-hidden",y="aria-activedescendant",V="k-focus",L="k-selected",S="k-hover",C="k-disabled",A="k-no-click",D="disabled",O="readonly",E=".kendoMultiSelect",F="click"+E,M="keydown"+E,B="mouseenter"+E,P="mouseleave"+E,H=B+" "+P,K=/"/g,j=Array.isArray,q=["font-family","font-size","font-stretch","font-style","font-weight","letter-spacing","text-transform","line-height"],R=n.extend({init:function(t,a){var s,l=this;l.ns=E,n.fn.init.call(l,t,a),l._optionsMap={},l._customOptions={},l.options.inputMode=l.options.inputMode||l.element.attr("inputmode")||"text",!i.isPresent(l.options.readonly)&&l.element.attr("readonly")?l.options.readonly=!0:i.isPresent(l.options.readonly)||(l.options.readonly=!1),l._wrapper(),l._inputValuesContainer(),l._tagList(),l._input(),l._textContainer(),l._clearButton(),l._arrowButton(),l._tabindex(l.input),t=l.element.attr("multiple","multiple").hide(),(a=l.options).placeholder||(a.placeholder=t.data("placeholder")),(s=t.attr(d))||(s=i.guid()),s&&(l._tagID=s+"_tag_active",s+="_taglist",l.tagList.attr(d,s)),l._initialOpen=!0,a.label&&this._label(),l._aria(),l._dataSource(),l._ignoreCase(),l._popup(),l._tagTemplate(),l.requireValueMapper(l.options),l._initList(),l._reset(),l._enable(),l._placeholder(),a.autoBind?l.dataSource.fetch():a.value&&l._preselect(a.value),e(l.element).parents("fieldset").is(":disabled")&&l.enable(!1),l._toggleCloseVisibility(),l._applyCssClasses(),o.a({widget:l,wrapper:l.wrapper,options:l.options,prefixInsertBefore:l._inputValuesContainer,suffixInsertAfter:a.clearButton?l._clear:l.element.find("k-input-values")}),l.floatingLabel&&l.floatingLabel.refresh(),i.notify(l)},options:{name:"MultiSelect",tagMode:"multiple",enabled:!0,autoBind:!0,autoClose:!0,readonly:null,highlightFirst:!0,dataTextField:"",dataValueField:"",filter:"startswith",ignoreCase:!0,minLength:1,messages:{singleTag:"item(s) selected",clear:"clear",deleteTag:"delete",noData:"No data found.",downArrow:"select"},enforceMinLength:!1,delay:100,downArrow:!1,value:null,maxSelectedItems:null,placeholder:"",height:200,animation:{},virtual:!1,itemTemplate:"",tagTemplate:"",groupTemplate:e=>s(e),fixedGroupTemplate:e=>s(e),prefixOptions:{separator:!0},suffixOptions:{separator:!0},clearButton:!0,autoWidth:!1,popup:null,size:"medium",fillMode:"solid",rounded:"medium",label:null,adaptiveTitle:null,adaptiveSubtitle:null},events:[g,m,v,b,T,"filtering","dataBinding","dataBound"],setDataSource:function(e){this.options.dataSource=e,this._state="",this._dataSource(),this.persistTagList=!1,this.listView.setDataSource(this.dataSource),this.options.autoBind&&this.dataSource.fetch()},setOptions:function(e){var t=this._listOptions(e);n.fn.setOptions.call(this,e),this.listView.setOptions(t),this._accessors(),this._aria(),this._tagTemplate(),this._placeholder(),this._clearButton(),this._arrowButton()},currentTag:function(e){var i=this;if(e===t)return i._currentTag;i._currentTag&&(i._currentTag.removeClass(V).removeAttr(d),i._currentTag.find(".k-chip-action").attr(x,!0),i.input.removeAttr(y)),e&&(e.addClass(V).attr(d,i._tagID),e.find(".k-chip-action").removeAttr(x),i.input.attr(y,i._tagID)),i._currentTag=e},dataItems:function(){return this.listView.selectedDataItems()},destroy:function(){var e=this,t=e.ns;clearTimeout(e._busy),clearTimeout(e._typingTimeout),e.filterInput&&e.filterInput.off(t),e.wrapper.off(t),e.tagList.off(t),e.input.off(t),e._clear.off(t),n.fn.destroy.call(e)},_onActionSheetCreate:function(){var e=this;e.filterInput.on("keydown"+E,e._keydown.bind(e)).on("input"+E,e._search.bind(e)).on("paste"+E,e._search.bind(e)).attr({role:"combobox","aria-expanded":!1,"aria-controls":e.input.attr("aria-controls"),"aria-autocomplete":e.input.attr("aria-autocomplete"),"aria-describedby":e.input.attr("aria-describedby"),placeholder:e.options.placeholder}),e.popup.bind("activate",(()=>{e.filterInput.val(e.input.val()),e.filterInput.trigger("focus")})),e.popup.bind("deactivate",(()=>{e.input.trigger("focus")}))},_aria:function(){var e=this,t=e.ul[0].id,i="none"===this.options.filter?"none":"list",a=e.tagList.attr(d);e.input.attr({role:"combobox","aria-expanded":!1,"aria-controls":t,"aria-autocomplete":i,"aria-describedby":a}),e._ariaLabel(e._focused)},_activateItem:function(){this.popup.visible()&&n.fn._activateItem.call(this),this.currentTag(null)},_listOptions:function(t){var a=this,l=n.fn._listOptions.call(a,e.extend(t,{selectedItemChange:a._selectedItemChange.bind(a),selectable:"multiple"})),o=this.options.itemTemplate||this.options.template,r=l.itemTemplate||o||l.template;return r||(r=e=>s(i.getter(l.dataTextField)(e))),l.template=r,l},_setListValue:function(){n.fn._setListValue.call(this,this._initialValues.slice(0))},_listChange:function(e){var i=this.dataSource.flatView(),a=this._optionsMap,n=this._value;this._state===f&&(this._state="");for(var s=0;s<e.added.length;s++)if(a[n(e.added[s].dataItem)]===t){this._render(i);break}this._selectValue(e.added,e.removed)},_selectedItemChange:function(e){var t,i,a=e.items;for(i=0;i<a.length;i++)t=a[i],this.tagList.children(p).eq(t.index).children("span").first().html(this.tagTextTemplate(t.item))},_wrapperMousedown:function(t){var a=this,n="input"!==t.target.nodeName.toLowerCase(),s=e(t.target),l=s.closest(".k-input-button, .k-chip").children("[class*='-i-caret-alt-down']")[0],o=s.closest("[class*='-i-x']")[0];!n||o&&i.support.mobileOS||!t.cancelable||t.preventDefault(),o||(l&&a.popup.visible()?a.toggle(!1):(a.input[0]!==u()&&n&&a.input.trigger("focus"),1!==a.options.minLength||a.popup.visible()||a.open()))},_inputFocus:function(){const e=this;e._hasActionSheet()?e.input.attr("readonly",!0):e.options.readonly||e.input.removeAttr("readonly"),e._placeholder(!1,!0),e.wrapper.addClass(V)},_inputFocusout:function(e){var t=this;t.filterInput&&e.relatedTarget===t.filterInput[0]||(clearTimeout(t._typingTimeout),t.wrapper.removeClass(V),t.tagList.children(p).removeClass(V),t._placeholder(!t.listView.selectedDataItems()[0],!0),t.close(),t._state===_&&(t._state=h,t.listView.skipUpdate(!0)),t.listView.bound()&&t.listView.isFiltered()&&(t.persistTagList=!0,t._clearFilter()),t.element.trigger("blur"))},_removeTag:function(e,i){var a,n=this,s=n._state,l=e.index(),o=n.listView,r=o.value()[l],u=n.listView.selectedDataItems()[l],c=n._customOptions[r],d=o.element[0].children;if(n.trigger(T,{dataItem:u,item:e}))n._close();else{c!==t||s!==h&&s!==_||(c=n._optionsMap[r]);var p=function(){n.currentTag(null),i&&n._change(),n._refreshTagListAria(),n._close()};c===t&&o.select().length?(n.persistTagList=!1,o.select(o.select()[l]).done(p)):((a=n.element[0].children[c])&&(a.selected=!1),o.removeAt(l),o._removedAddedIndexes&&o._removedAddedIndexes.splice(l,1),d[c]&&d[c].classList.remove("k-selected"),"single"!==n.options.tagMode?e.remove():n._updateTagListHTML(),p())}},_tagListClick:function(t){t.preventDefault(),t.stopPropagation();var i=e(t.currentTarget);i.is("[class*='-i-x-circle']")&&this._removeTag(i.closest(p),!0)},_clearValue:function(){var t=this;"single"===t.options.tagMode?t._clearSingleTagValue():t.tagList.children(p).each((function(i,a){t._removeTag(e(a),!1)})),t.input.val(""),t._search(!0),t._change(),t.focus(),t._hideClear(),t._state===_&&(t._state=h)},_clearSingleTagValue:function(){for(var e=this,t=e.dataItems(),i=e.tagList.children(p),a=e.persistTagList,n=0;n<t.length;n+=1)if(e.trigger(T,{dataItem:t[n],item:i.first()}))return void e._close();a&&(e.persistTagList=!1),e.listView.value([]),e.persistTagList=a},_focusHandler:function(){var e=this.input,t=u();e[0]===t||this.input.trigger("focus")},_editable:function(t){var i=this,a=t.disable,n=t.readonly,s=i.wrapper.off(E),l=i.tagList.off(E),o=i.input.off(E);n||a?(s.toggleClass(C,a).toggleClass(A,n),o.attr(D,a).attr(O,n).attr(w,a).attr(I,n),i.element.prop(D,a)):(s.removeClass(C).removeClass(A).on(H,i._toggleHover).on("mousedown"+E+" touchend"+E,i._wrapperMousedown.bind(i)).on(F,i._focusHandler.bind(i)),i.input.on(M,i._keydown.bind(i)).on("paste"+E,i._search.bind(i)).on("input"+E,i._search.bind(i)).on("focus"+E,i._inputFocus.bind(i)).on("focusout"+E,i._inputFocusout.bind(i)),i._clear.on(F+" touchend"+E,i._clearValue.bind(i)),o.prop(D,!1).prop(O,!1).attr(w,!1).attr(I,!1),i.element.prop(D,!1),l.on(B,p,(function(){e(this).addClass(S)})).on(P,p,(function(){e(this).removeClass(S)})).on(F+" touchend"+E,".k-chip .k-icon,.k-chip .k-svg-icon",i._tagListClick.bind(i)))},_close:function(){var e=this;e.options.autoClose?e.close():e.popup.position()},_filterSource:function(e,t){t||(t=this._retrieveData),this._retrieveData=!1,n.fn._filterSource.call(this,e,t)},close:function(){this._activeItem=null,this.input.removeAttr(y),this.popup.close()},open:function(){var t=this,i=t.input.val().toLowerCase(),a=t.listView.dataSource.filter(),n="";a&&a.filters.length>0&&(n=(a.filters[0].value||"").toString().toLowerCase()),t._request&&(t._retrieveData=!1),t._retrieveData||!t.listView.bound()||t._state===h&&i!==n?(t._open=!0,t._state=f,t.listView.skipUpdate(!0),t.persistTagList=!(t._initialOpen&&!t.listView.bound()),t._filterSource(),t._focusItem()):t._allowOpening()&&(!t._initialOpen||t.options.autoBind||t.options.virtual||!t.options.value||e.isPlainObject(t.options.value[0])||t.value(t.value()||t._initialValues),t.popup._hovered=!0,t._initialOpen=!1,t.popup.open({altTarget:t.wrapper.add(t.element).add(t.input)}),t._focusItem())},toggle:function(e){this[(e=e!==t?e:!this.popup.visible())?g:m]()},refresh:function(){this.listView.refresh()},_floatCheck:function(){return!this.listView||!(this.value()&&this.value().length)&&!this.popup.visible()},_listBound:function(){var e=this,t=e.dataSource.flatView();e._render(t),e._renderFooter(),e._renderNoData(),e._toggleNoData(!t.length),e._resizePopup(),e._open&&(e._open=!1,e.toggle(e._allowOpening())),e.popup.position(),e._updateItemFocus(),e._touchScroller&&e._touchScroller.reset(),e._hideBusy(),e.trigger("dataBound")},_updateItemFocus:function(){var e=this,i=e.dataSource.flatView(),a=e.listView.skip(),n=a===t||0===a;i.length&&n&&(e.options.highlightFirst?e.listView.focusFirst():e.listView.focus(-1))},_inputValue:function(){var e=this,t=e.filterInput&&u()===e.filterInput[0]?e.filterInput.val():e.input.val();return e.options.placeholder===t&&(t=""),t},value:function(e){var i=this,a=i.listView,n=a.value().slice(),s=i.options.maxSelectedItems,l=a.bound()&&a.isFiltered();if(e===t)return n;i.persistTagList=!1,i.requireValueMapper(i.options,e),e=i._normalizeValues(e),null!==s&&e.length>s&&(e=e.slice(0,s)),l&&i._clearFilter(),a.value(e),i._old=i._valueBeforeCascade=e.slice(),l||i._fetchData(),i._toggleCloseVisibility()},_preselect:function(t,a){var n=this;j(t)||t instanceof i.data.ObservableArray||(t=[t]),(e.isPlainObject(t[0])||t[0]instanceof i.data.ObservableObject||!n.options.dataValueField)&&(n.dataSource.data(t),n.value(a||n._initialValues),n._retrieveData=!0)},_setOption:function(e,t){var i=this.element[0].children[this._optionsMap[e]];i&&(i.selected=t)},_fetchData:function(){var e=this,t=!!e.dataSource.view().length;0===e.listView.value().length||e._request||(e._retrieveData||!e._fetch&&!t)&&(e._fetch=!0,e._retrieveData=!1,e.dataSource.read().done((function(){e._fetch=!1})))},_isBound:function(){return this.listView.bound()&&!this._retrieveData},_dataSource:function(){var e=this,t=e.element,a=e.options,n=a.dataSource||{};(n=j(n)?{data:n}:n).select=t,n.fields=[{field:a.dataTextField},{field:a.dataValueField}],e.dataSource&&e._refreshHandler?e._unbindDataSource():(e._progressHandler=e._showBusy,e._endRequestHandler=e._hideBusy,e._errorHandler=function(){e._hideBusy()}),e.dataSource=i.data.DataSource.create(n).bind("progress",e._progressHandler).bind("requestEnd",e._endRequestHandler).bind("error",e._errorHandler)},_reset:function(){var t=this,i=t.element,a=i.attr("form"),n=a?e("#"+a):i.closest("form");n[0]&&(t._resetHandler=function(){setTimeout((function(){t.value(t._initialValues),t._placeholder()}))},t._form=n.on("reset",t._resetHandler))},_initValue:function(){var e=this.options.value||this.element.val();this._old=this._initialValues=this._normalizeValues(e)},_normalizeValues:function(t){var i=this;return null===t?t=[]:t&&e.isPlainObject(t)?t=[i._value(t)]:t&&e.isPlainObject(t[0])?t=e.map(t,(function(e){return i._value(e)})):j(t)||t instanceof c?j(t)&&(t=t.slice()):t=[t],t},_change:function(){var e=this,t=e.value();(function(e,t){var i;if(null===e&&null!==t||null!==e&&null===t)return!1;if((i=e.length)!==t.length)return!1;for(;i--;)if(e[i]!==t[i])return!1;return!0})(t,e._old)||(e._old=t.slice(),e.trigger(v),e.element.trigger(v)),e.popup.position(),e._toggleCloseVisibility()},_click:function(e){var t=this,i=e.item;e.preventDefault(),t._select(i).done((function(){t._activeItem=i,t._change(),t._close()}))},_getActiveItem:function(){return this._activeItem||e(this.listView.items()[this._getSelectedIndices().length-1])||this.listView.focus()},_getSelectedIndices:function(){return this.listView._selectedIndices||this.listView._selectedIndexes},_keydown:function(a){var n,s=this,l=a.keyCode,o=s._currentTag,u=s.listView,c=s.input.val(),d=i.support.isRtl(s.wrapper),_=s.popup.visible(),f=0,g=!1;if(l!==r.ENTER&&(this._multipleSelection=!1),l===r.DOWN){if(a.preventDefault(),!_)return s.open(),u.focus()||u.focusFirst(),void a.stopPropagation();u.focus()?(!s._activeItem&&a.shiftKey&&(s._activeItem=u.focus(),f=-1),n=u.getElementIndex(s._getActiveItem().first()),u.focusNext(),u.focus()?a.shiftKey&&!s.options.virtual&&(this._multipleSelection=!0,s._selectRange(n,u.getElementIndex(u.focus().first())+f)):u.focusLast()):u.focusFirst(),g=!0}else if(l===r.UP)_&&(!s._activeItem&&a.shiftKey&&(s._activeItem=u.focus(),f=1),n=u.getElementIndex(s._getActiveItem().first()),u.focusPrev(),u.focus()?a.shiftKey&&!s.options.virtual&&(this._multipleSelection=!0,s._selectRange(n,u.getElementIndex(u.focus().first())+f)):s.close()),g=!0,a.preventDefault();else if(l===r.LEFT&&!d||l===r.RIGHT&&d)c||(o=o?o.prev(p):s.tagList.children(p).last())[0]&&s.currentTag(o),g=!0;else if(l===r.RIGHT&&!d||l===r.LEFT&&d)!c&&o&&(o=o.next(p),s.currentTag(o[0]?o:null)),g=!0;else if(a.ctrlKey&&!a.altKey&&l===r.A&&_&&!s.options.virtual)this._multipleSelection=!0,this._getSelectedIndices().length===u.items().length&&(s._activeItem=null),u.items().length&&s._selectRange(0,u.items().length-1),g=!0;else if(l===r.ENTER&&_){if(!u.focus())return void a.stopPropagation();if(a.preventDefault(),this._multipleSelection&&(this._multipleSelection=!1,u.focus().hasClass(L)))return s._close(),void a.stopPropagation();s._select(u.focus()).done((function(){s._change(),s._close()})),g=!0}else if(l===r.SPACEBAR&&a.ctrlKey&&_)s._activeItem&&u.focus()&&u.focus()[0]===s._activeItem[0]&&(s._activeItem=null),e(u.focus()).hasClass(L)||(s._activeItem=u.focus()),s._select(u.focus()).done((function(){s._change()})),g=!0,a.preventDefault();else if(l===r.SPACEBAR&&a.shiftKey&&_&&!s.options.virtual){var m=u.getElementIndex(s._getActiveItem()),v=u.getElementIndex(u.focus());m!==t&&v!==t&&s._selectRange(m,v),g=!0,a.preventDefault()}else if(l===r.ESC)_?a.preventDefault():(s.tagList.children(p).each((function(t,i){s._removeTag(e(i),!1)})),s._change()),s.close(),g=!0;else if(l===r.HOME)_?u.focus()?(a.ctrlKey&&a.shiftKey&&!s.options.virtual&&s._selectRange(u.getElementIndex(u.focus()[0]),0),u.focusFirst()):s.close():c||(o=s.tagList.children(p).first()[0])&&s.currentTag(e(o)),g=!0;else if(l===r.END)_?u.focus()?(a.ctrlKey&&a.shiftKey&&!s.options.virtual&&s._selectRange(u.getElementIndex(u.focus()[0]),u.element.children().length-1),u.focusLast()):s.close():c||(o=s.tagList.children(p).last()[0])&&s.currentTag(e(o)),g=!0;else if(l!==r.DELETE&&l!==r.BACKSPACE||c)if(!s.popup.visible()||l!==r.PAGEDOWN&&l!==r.PAGEUP)clearTimeout(s._typingTimeout),s._search(),g=!0;else{a.preventDefault();var b=l===r.PAGEDOWN?1:-1;u.scrollWith(b*u.screenHeight()),g=!0}else{if(s._state=h,"single"===s.options.tagMode)return s._clearSingleTagValue(),s._change(),s._close(),void a.stopPropagation();l!==r.BACKSPACE||o||(o=s.tagList.children(p).last()),o&&o[0]&&s._removeTag(o,!0),g=!0}g&&a.stopPropagation()},_placeholder:function(e,a){var n=this,s=n.input,l=u(),o=n.options.placeholder,r=s.val(),c=s[0]===l,d=r.length;c&&!n.options.autoClose&&r!==o||(d=0,r=""),e===t&&(e=!1,s[0]!==l&&(e=!n.listView.selectedDataItems()[0])),n._prev=r,s.toggleClass("k-readonly",e).val(e?o:r),c&&!a&&i.caret(s[0],d,d)},_option:function(e,a,n){var s="<option";return e!==t&&(-1!==(e+="").indexOf('"')&&(e=e.replace(K,"&quot;")),s+=' value="'+e+'"'),n&&(s+=" selected"),s+=">",a!==t&&(s+=i.htmlEncode(a)),s+"</option>"},_render:function(e){var t,i,a,n,s=this.listView.selectedDataItems(),l=this.listView.value(),o=e.length,r="";l.length!==s.length&&(s=this._buildSelectedItems(l));var u={},c={};for(n=0;n<o;n++)i=e[n],a=this._value(i),-1!==(t=this._selectedItemIndex(a,s))&&s.splice(t,1),c[a]=n,r+=this._option(a,this._text(i),-1!==t);if(s.length)for(n=0;n<s.length;n++)i=s[n],u[a=this._value(i)]=o,c[a]=o,o+=1,r+=this._option(a,this._text(i),!0);this._customOptions=u,this._optionsMap=c,this.element.html(r)},_buildSelectedItems:function(e){for(var t,i=this.options.dataValueField,a=this.options.dataTextField,n=[],s=0;s<e.length;s++)(t={})[i]=e[s],t[a]=e[s],n.push(t);return n},_selectedItemIndex:function(e,t){for(var i=this._value,a=0;a<t.length;a++)if(e===i(t[a]))return a;return-1},_search:function(e){let t=this;!0!==e?(clearTimeout(t._typingTimeout),t._typingTimeout=setTimeout((function(){t._performSearch()}),t.options.delay)):t._performSearch()},_performSearch:function(){var e=this,t=e._inputValue();e._prev!==t&&(e._prev=t,e.search(t),e._toggleCloseVisibility())},_toggleCloseVisibility:function(){this.value().length||this.input.val()&&this.input.val()!==this.options.placeholder?this._showClear():this._hideClear()},_allowOpening:function(){return this._allowSelection()&&n.fn._allowOpening.call(this)},_allowSelection:function(){var e=this.options.maxSelectedItems;return null===e||e>this.listView.value().length},updatePersistTagList:function(e,t){this.persistTagList.added&&this.persistTagList.added.length===t.length&&this.persistTagList.removed&&this.persistTagList.removed.length===e.length?this.persistTagList=!1:(this.listView._removedAddedIndexes=this._old.slice(),this.persistTagList={added:e,removed:t})},_selectValue:function(e,t){var a,n,s,l=this,o=l.dataSource.total(),r=l.tagList,u=l._value;if(this.persistTagList)return this.updatePersistTagList(e,t),void l._refreshTagListAria();if("multiple"===l.options.tagMode){for(s=t.length-1;s>-1;s--)a=t[s],r.children(p).length&&(r[0].removeChild(r[0].children[a.position]),l._setOption(u(a.dataItem),!1));for(s=0;s<e.length;s++)n=e[s],l.tagList.append(l.tagTemplate(n.dataItem)),l._setOption(u(n.dataItem),!0);i.applyStylesFromKendoAttributes(l.tagList,["background-color"])}else{for((!l._maxTotal||l._maxTotal<o)&&(l._maxTotal=o),this._updateTagListHTML(),s=t.length-1;s>-1;s--)l._setOption(u(t[s].dataItem),!1);for(s=0;s<e.length;s++)l._setOption(u(e[s].dataItem),!0)}l._refreshTagListAria(),l._refreshFloatingLabel(),l._placeholder()},_refreshTagListAria:function(){var t=this;l.renderChipList(t.tagList,e.extend({selectable:0===t.value().length?"none":"multiple"},t.options))},_updateTagListHTML:function(){var t=this,a=t.value(),n=t.dataSource.total();t.tagList.children(p).each((function(t,i){e(i).remove()})),a.length&&(t.tagList.append(t.tagTemplate({values:a,dataItems:t.dataItems(),maxTotal:t._maxTotal,currentTotal:n})),i.applyStylesFromKendoAttributes(t.tagList,["background-color"])),t._refreshTagListAria()},_select:function(t){var i=e.Deferred().resolve();if(!t)return i;var a=this,n=a.listView,s=n.dataItemByIndex(n.getElementIndex(t)),l=t.hasClass("k-selected");return a._state===f&&(a._state=""),a._allowSelection()||l?a.trigger(l?T:b,{dataItem:s,item:t})?(a._close(),i):(a.persistTagList=!1,n.select(t).done((function(){a._placeholder(),a._state===_&&(a._state=h,n.skipUpdate(!0))}))):i},_selectIndices:function(t){let i=this.listView,a=this;i.select(t).done((function(){t.forEach((function(t){var n=i.dataItemByIndex(t),s=i.element.children()[t],l=e(s).hasClass("k-selected");a.trigger(l?b:T,{dataItem:n,item:e(s)})})),a._change()}))},_selectRange:function(e,t){var i,a=this,n=this.options.maxSelectedItems,s=this._getSelectedIndices().slice(),l=[];if(s.length-1==t-e)return a._selectIndices(s);if(e<t)for(i=e;i<=t;i++)l.push(i);else for(i=e;i>=t;i--)l.push(i);for(null!==n&&l.length>n&&(l=l.slice(0,n)),i=0;i<l.length;i++){var o=l[i];-1==this._getSelectedIndices().indexOf(o)?s.push(o):s.splice(s.indexOf(o),1)}return s.length?(a.persistTagList=!1,a._selectIndices(s)):void 0},_input:function(){var t=this,i=t.element,a=i[0].accessKey,n=t._inputValuesContainer.children("input.k-input-inner");n[0]||(n=e('<input class="k-input-inner" />').appendTo(t._inputValuesContainer)),i.removeAttr("accesskey"),n.attr("data-validate","false"),n.attr("inputmode",t.options.inputMode),t._focused=t.input=n.attr({autocomplete:"off",title:i[0].title}),a&&t._focused.attr("accesskey",a)},_inputValuesContainer:function(){var t=this,i=t.wrapper.children(".k-input-values");i[0]||(i=e('<div class="k-input-values"></div>').appendTo(t.wrapper)),t._inputValuesContainer=i},_tagList:function(){var t=this,i=t.options,a=t._inputValuesContainer.children(".k-chip-list");a[0]||(a=e(l.renderChipList('<div unselectable="on" class="k-selection-multiple" />',e.extend({selectable:"none"},i))).appendTo(t._inputValuesContainer)),t.tagList=a},_tagTemplate:function(){var t,a=this,n=a.options,o=n.tagTemplate,r=n.dataSource,u="multiple"===n.tagMode,c=n.messages.singleTag;a.element[0].length&&!r&&(n.dataTextField=n.dataTextField||"text",n.dataValueField=n.dataValueField||"value"),t=u?e=>s(i.getter(n.dataTextField)(e)):({values:e})=>`${e.length} ${s(c)}`,a.tagTextTemplate=o=o?i.template(o):t,a.tagTemplate=function(t){return l.renderChip('<span unselectable="on"></span>',e.extend({},n,{fillMode:"solid",rounded:"medium",enabled:!0,themeColor:"base",text:o(t),attr:{unselectable:"on","aria-selected":!0,role:"option","aria-keyshortcuts":u?"Enter Delete":"Enter"},removable:u,removableAttr:{unselectable:"on","aria-hidden":!0,"aria-label":a.options.messages.deleteTag,title:a.options.messages.deleteTag},icon:u?"":"caret-alt-down",iconAttr:{unselectable:"on","aria-hidden":!0,"aria-label":"open"}}))}},_popup:function(){n.fn._popup.call(this),this.popup.element.addClass("k-multiselect-popup")},_clearButton:function(){n.fn._clearButton.call(this),this.options.clearButton&&this._clear.insertAfter(this._inputValuesContainer)},_arrowButton:function(){var t=s(this.options.messages.downArrow),i=e(l.renderButton('<button type="button" aria-label="'+t+'" class="k-input-button"></button>',e.extend({},this.options,{icon:"caret-alt-down",rounded:null})));this._arrow&&(this._arrow.remove(),this._arrow=null),this.options.downArrow&&(this._arrow=i.attr({tabIndex:-1}),this._arrow.appendTo(this.wrapper))},_textContainer:function(){var t=i.getComputedStyles(this.input[0],q);t.position="absolute",t.visibility="hidden",t.top=-3333,t.left=-3333,this._span=e("<span/>").css(t).appendTo(this.wrapper)},_wrapper:function(){var e=this.element,t=e.parent("span.k-multiselect");t[0]||((t=e.wrap('<span class="k-multiselect k-input" unselectable="on" />').parent())[0].style.cssText=e[0].style.cssText),this.wrapper=t.addClass(e[0].className).removeClass("input-validation-error").css("display","")},_closeHandler:function(e){this.trigger(m)?e.preventDefault():(this.input.attr(k,!1),this.ul.attr(x,!0))},_openHandler:function(e){this._adjustListWidth(),this.trigger(g)?e.preventDefault():(this.input.attr(k,!0),this.ul.attr(x,!1))}});a.plugin(R),i.cssProperties.registerPrefix("MultiSelect","k-input-"),i.cssProperties.registerValues("MultiSelect",[{prop:"rounded",values:i.cssProperties.roundedValues.concat([["full","full"]])}])}(window.kendo.jQuery);var r=kendo;e.__meta__={id:"multiselect",name:"MultiSelect",category:"web",description:"The MultiSelect widget allows the selection from pre-defined values.",depends:["list","html.chip","html.chiplist","html.button","prefix-suffix-containers.chunk"],features:[{id:"mobile-scroller",name:"Mobile scroller",description:"Support for kinetic scrolling in mobile device",depends:["mobile.scroller"]},{id:"virtualization",name:"VirtualList",description:"Support for virtualization",depends:["virtuallist"]}]},e.default=r,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.multiselect.min.js.map