@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 23.2 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.draganddrop.min.js`),require(`kendo.data.min.js`),require(`kendo.selectable.min.js`),require(`kendo.html.button.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.draganddrop.min`,`kendo.data.min`,`kendo.selectable.min`,`kendo.html.button.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Listbox={}),e.kendo._globals.Draganddrop,e.kendo._globals.Data,e.kendo._globals.Selectable,e.kendo._globals.HtmlButton))})(this,function(e,t,n,r,i){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let a={id:`listbox`,name:`ListBox`,category:`web`,depends:[`draganddrop`,`data`,`selectable`,`html.button`]};(function(e,t){var n=window.kendo,r=n.attr,i=n.data,a=n.keys,o=n.template,s=n.ui.Widget,c=i.DataSource,l=n.ui.Selectable,ee=n.ui.DataBoundWidget,u=n.Class,d=e.extend,f=e.noop,p=`-`,te=`.`,ne=` `,m=`#`,h=`kendoListBox`,g=te+h,_=`k-disabled`,v=`k-selected`,y=`.k-list-item:not(.k-disabled)`,b=`.k-list-ul:not(.k-disabled) >`+y,x=`k-listbox-actions`,S=`.k-button`,re=`button.k-button:not(.k-disabled)`,C=`k-focus`,ie=`k-drag-clue`,ae=`k-drop-hint`,oe=`k-list-ul`,se=`.k-list-ul`,w=`click`+g,ce=`keydown`+g,le=`blur`+g,ue=n._outerWidth,de=n._outerHeight,T=`change`,E=`dataBound`,D=`add`,O=`remove`,k=`reorder`,A=`moveUp`,j=`moveDown`,M=`transferTo`,N=`transferFrom`,P=`transferAllTo`,F=`transferAllFrom`,I=`caret-alt-right`,L=`caret-alt-left`,R=`caret-double-alt-right`,z=`caret-double-alt-left`,B=`k-ghost`,V=`uid`,H=`id`,U=`tabindex`,fe=`command`,pe=-1,me=1,W=`dragstart`,G=`drag`,K=`drop`,q=`dragend`,he=`ul.k-list-ul>li.k-list-item`,J=`right`,ge=`bottom`,Y=`aria-activedescendant`,_e=`aria-busy`,ve=`aria-controls`,ye=`aria-label`,be=`aria-labelledby`,xe=`aria-multiselectable`,Se=[x+p+`left`,x+p+J,x+p+`top`,x+p+ge];function X(t){return e.map(t,function(t){return e(t).index()})}function Ce(e){return e===void 0}function we(e){return e.clone().attr(`class`,``).addClass(ie)}function Te(){return e(`<li>`).addClass(ae)}var Ee=ee.extend({init:function(e,t){var n=this;s.fn.init.call(n,e,t),n._wrapper(),n._list(),n._ariaLabel(n._getList()),e=n.element.attr(`multiple`,`multiple`).hide(),e[0]&&!n.options.dataSource&&(n.options.dataTextField=n.options.dataTextField||`text`,n.options.dataValueField=n.options.dataValueField||`value`),n._templates(),n._selectable(),n._dataSource(),n._createToolbar(),n._createDraggable(),n._createNavigatable()},destroy:function(){var e=this;ee.fn.destroy.call(e),isNaN(e._listTabIndex)||(e._getList().off(),e._listTabIndex=null),e._unbindDataSource(),e._destroySelectable(),e._destroyToolbar(),e.wrapper.off(g),e._target&&=null,e._draggable&&(e._draggable.destroy(),e.placeholder=null),n.destroy(e.element)},setOptions:function(e){s.fn.setOptions.call(this,e),this._templates(),this._dataSource()},events:[T,E,D,O,k,W,G,K,q],options:{name:`ListBox`,autoBind:!0,template:``,dataTextField:``,dataValueField:``,selectable:`single`,draggable:null,dropSources:[],connectWith:``,navigatable:!0,toolbar:{position:J,tools:[]},messages:{tools:{remove:`Delete`,moveUp:`Move Up`,moveDown:`Move Down`,transferTo:`Transfer To`,transferFrom:`Transfer From`,transferAllTo:`Transfer All To`,transferAllFrom:`Transfer All From`}}},add:function(e){var t=this,n=e&&e.length?e:[e],r=n.length,i=t._getList(),a;for(t._unbindDataSource(),t._unbindDataChange(),a=0;a<r;a++)t._addItem(n[a],i);t._bindDataChange(),t._bindDataSource(),t._syncElement()},_addItem:function(t,n){var r=this,i=e(r.templates.itemTemplate({item:t,r:r.templates.itemContent}));r._setItemId(i,t.uid),i.appendTo(n),typeof t==`string`?r.dataSource._data.push(t):r.dataSource.add(t)},_addItemAt:function(t,n){var r=this,i=e(r.templates.itemTemplate({item:t,r:r.templates.itemContent}));r._unbindDataSource(),typeof t==`string`?(r._insertElementAt(i,n),r.dataSource._data.push(t)):(r._setItemId(i,t.uid),r._insertElementAt(i,n),r.dataSource.add(t)),r._bindDataSource(),r._syncElement()},_insertElementAt:function(t,n){var r=this._getList();n>0?e(t).insertAfter(r.children().eq(n-1)):e(r).prepend(t)},_createNavigatable:function(){var e=this;e.options.navigatable&&e._getList().on(w,y,e._click.bind(e)).on(ce,e._keyDown.bind(e)).on(le,e._blur.bind(e))},_getTabIndex:function(){var e=this,t;return isNaN(e._listTabIndex)?(t=e.element.attr(U),e._listTabIndex=isNaN(t)?0:t,e.element.removeAttr(U),e._listTabIndex):e._listTabIndex},_blur:function(){this._target&&(this._target.removeClass(C),this._getList().removeAttr(Y)),this._target=null},_click:function(t){var r=this,i=e(t.currentTarget),a=r._target,o=r._getList(),s=n._activeElement(),c=e.contains(o,s);a&&a.removeClass(C),r._target=i,i.addClass(C),o.attr(Y,i.attr(H)),o[0]!==s&&(!c||!Ie(s))&&r.focus()},_getNavigatableItem:function(e){var t=this,n=t._target?t._target:t.items().filter(y).first();return e===a.UP&&t._target&&(n=t._target.prevAll(y).first()),e===a.DOWN&&t._target&&(n=t._target.nextAll(y).first()),n.length?n:null},_scrollIntoView:function(e){if(e){e[0]&&(e=e[0]);var t=this._getList().parent()[0],n=e.offsetTop,r=t.scrollTop,i=t.clientHeight,a=n+e.offsetHeight;r>n?r=n:a>r+i&&(r=a-i),t.scrollTop=r}},_keyDown:function(e){var t=this,n=e.keyCode,r=t._getNavigatableItem(n),i;if(e.shiftKey&&!e.ctrlKey&&(n===a.DOWN||n===a.UP)||(t._shiftSelecting=!1),n==a.DELETE)t._executeCommand(O),t._target&&=(t._target.removeClass(C),t._getList().removeAttr(Y),null),i=!0;else if(n===a.DOWN||n===a.UP){if(!r){e.preventDefault();return}if(e.shiftKey&&!e.ctrlKey)t._target&&t._target.removeClass(C),t._shiftSelecting||=(t.clearSelection(),!0),t._target&&r.hasClass(`k-selected`)?t._target.removeClass(v):t.options.selectable==`single`?t.select(r):t.select(r.add(t._target)),t._updateToolbar(),t._updateAllToolbars(),t.trigger(T);else if(e.shiftKey&&e.ctrlKey){t._executeCommand(n===a.DOWN?j:A),t._scrollIntoView(t._target),e.preventDefault();return}else !e.shiftKey&&!e.ctrlKey&&(t._target&&t._target.removeClass(C),t.options.selectable===`multiple`&&t.clearSelection(),t.select(r),t._updateToolbar(),t._updateAllToolbars(),t.trigger(T));r&&t._target&&t._target[0]!==r[0]&&t._target.removeClass(C),t._target=r,t._target?(t._target.addClass(C),t._scrollIntoView(t._target),t._getList().attr(Y,t._target.attr(H))):t._getList().removeAttr(Y),i=!0}else n==a.SPACEBAR?(e.ctrlKey&&t._target?(t._target.hasClass(v)?t._target.removeClass(v):t.select(t._target),t.trigger(T)):(t.clearSelection(),t.select(t._target),t.trigger(T)),t._updateToolbar(),t._updateAllToolbars(),i=!0):e.ctrlKey&&n==a.RIGHT?(e.shiftKey?t._executeCommand(P):t._executeCommand(M),t._target=t.select().length?t.select():null,i=!0):e.ctrlKey&&n==a.LEFT?(e.shiftKey?t._executeCommand(F):t._executeCommand(N),i=!0):n===a.F10&&t.toolbar&&(t.toolbar.element.find(S).not(`[tabindex=-1]`).trigger(`focus`),i=!0);i&&e.preventDefault()},focus:function(){n.focusElement(this._getList())},_createDraggable:function(){var t=this,r=t.options.draggable,i;if(r){if(i=r.hint,!t.options.selectable)throw Error(`Dragging requires selection to be enabled`);i||=we,t._draggable=new n.ui.Draggable(t.wrapper,{filter:r.filter?r.filter:he,hint:n.isFunction(i)?i:e(i),dragstart:t._dragstart.bind(t),dragcancel:t._clear.bind(t),drag:t._drag.bind(t),dragend:t._dragend.bind(t)})}},_dragstart:function(t){var r=this,i=r.draggedElement=t.currentTarget,a=r.options.draggable.placeholder,o={dataItems:r.dataItem(i),items:e(i),draggableEvent:t};if(r.options.draggable.enabled===!1){t.preventDefault();return}a||=Te,r.placeholder=n.isFunction(a)?e(a.call(r,i)):e(a),i.is(te+_)||r.trigger(W,o)?t.preventDefault():(r.clearSelection(),r.select(i),i.addClass(B))},_clear:function(){this.draggedElement&&this.draggedElement.removeClass(B),this.placeholder&&this.placeholder.remove()},_findElementUnderCursor:function(t){var r=n.elementUnderCursor(t),i=t.sender;return(e.contains(i.hint[0],r)||i.hint[0]===r)&&(i.hint.hide(),r=n.elementUnderCursor(t),i.hint.show()),r},_findTarget:function(t){var n=this,r=n._findElementUnderCursor(t),i=e(r),a=n._getList(),o,s;return e.contains(a[0],r)?(o=n.items(),r=i.is(`li`)?r:i.closest(`li`)[0],s=o.filter(r)[0]||o.has(r)[0],s?(s=e(s),s.hasClass(_)?null:{element:s,listBox:n}):null):a[0]==r||a.parent()[0]==r?{element:e(a),appendToBottom:!0,listBox:n}:n._searchConnectedListBox(i)},_getElementCenter:function(e){var t=e.length?n.getOffset(e):null;return t&&(t.top+=de(e)/2,t.left+=ue(e)/2),t},_searchConnectedListBox:function(t){var n,r,i,a=t,o=t.hasClass(`k-list-scroller k-selectable`)?t:t.closest(`.k-list-scroller.k-selectable`);if(o.length)n=o.parent().find(`[data-role='listbox']`).getKendoListBox();else return null;return n&&e.inArray(this.element[0].id,n.options.dropSources)!==-1?(r=n.items(),t=t.is(`li`)?t[0]:t.closest(`li`)[0],i=r.filter(t)[0]||r.has(t)[0],i?(i=e(i),i.hasClass(_)?null:{element:i,listBox:n}):!r.length||a.hasClass(`k-list-scroller k-selectable`)||a.hasClass(`k-list-content`)?{element:n._getList(),listBox:n,appendToBottom:!0}:null):null},_drag:function(t){var n=this,r=n.draggedElement,i=n._findTarget(t),a={left:t.x.location,top:t.y.location},o={dataItems:[n.dataItem(r)],items:e(r),draggableEvent:t},s,c,l;if(n.trigger(G,o)){t.preventDefault();return}if(i){if(s=this._getElementCenter(i.element),c={left:Math.round(a.left-s.left),top:Math.round(a.top-s.top)},i.appendToBottom){n._movePlaceholder(i,null,r);return}c.top<0?l=`prev`:c.top>0&&(l=`next`),l&&i.element[0]!=n.placeholder[0]&&n._movePlaceholder(i,l,r)}else n.placeholder.parent().length&&n.placeholder.remove()},_movePlaceholder:function(t,r,i){var a=this,o=a.placeholder,s=t.listBox.options.draggable;o.parent().length&&(a.placeholder.remove(),s&&s.placeholder?a.placeholder=n.isFunction(s.placeholder)?e(s.placeholder.call(a,i)):e(s.placeholder):a.placeholder=e(Te.call(a,i))),r?r===`prev`?t.element.before(a.placeholder):r===`next`&&t.element.after(a.placeholder):t.element.append(a.placeholder)},_dragend:function(t){var n=this,r=n.draggedElement,i=n.items(),a=i.not(n.draggedElement).index(n.placeholder),o=i.not(n.placeholder).index(n.draggedElement),s=n.dataItem(r),c={dataItems:[s],items:e(r)},l=n.placeholder.closest(`.k-listbox`).find(`[data-role='listbox']`).getKendoListBox();if(n.trigger(K,d({},c,{draggableEvent:t}))){t.preventDefault(),this._clear();return}a>=0?a!==o&&!n.trigger(k,d({},c,{offset:a-o}))&&(r.removeClass(B),n.reorder(r,a)):l&&(n.trigger(O,c)||n.remove(e(r)),l.trigger(D,c)||l._addItemAt(s,l.items().index(n.placeholder))),n._clear(),n._draggable.dropped=!0,n.trigger(q,d({},c,{draggableEvent:t})),n._updateToolbar(),n._updateAllToolbars()},reorder:function(t,n){var r=this,i=r.dataSource,a=r.dataItem(t),o=i.at(n),s=r.items()[n],c=e(t);a&&s&&o&&(r._removeElement(c),r._insertElementAt(c,n),r._updateToolbar())},remove:function(t){var n=this,r=n._getItems(t),i=r.length,a;for(n._unbindDataSource(),n._unbindDataChange(),a=0;a<i;a++)n._removeItem(e(r[a]));n._bindDataChange(),n._bindDataSource(),n._syncElement(),n._updateToolbar(),n._updateAllToolbars()},_removeItem:function(e){var t=this,n=t.dataSource,r=t.dataItem(e),i=n.transport;if(!(!r||!n)){if(typeof r==`string`){for(var a=n._data,o=0;o<a.length;o++)if(r===a[o]){a[o]=a[a.length-1],a.pop();break}}else n.remove(r),i&&(i.destroy||(i.options||{}).destroy)&&(!r.isNew||!r.isNew())&&n._destroyed.push(r);t._removeElement(e)}},_removeElement:function(t){n.destroy(t),e(t).off().remove()},dataItem:function(t){var n=r(V),i=e(t).attr(n)||e(t).closest(`[`+n+`]`).attr(n);return i?this.dataSource.getByUid(i):e(t).find(`.k-list-item-text`).html()},_dataItems:function(t){var n=[],r=e(t),i=r.length,a;for(a=0;a<i;a++)n.push(this.dataItem(r.eq(a)));return n},items:function(){return this._getList().children()},select:function(e){let t=this,n=t.selectable,r;if(Ce(e))return n.value();r=t.items().filter(e).filter(b),n.options.multiple||(n.clear(),r=r.first());let i=n.value(r);return t._updateAllToolbars(),i},clearSelection:function(){let e=this,t=e.selectable;t&&t.clear(),e._updateAllToolbars()},enable:function(t,n){var r=this,i=Ce(n)?!0:!!n,a=r._getItems(t),o=a.length,s;for(s=0;s<o;s++)r._enableItem(e(a[s]),i);r._updateAllToolbars()},_enableItem:function(t,n){this.dataItem(t)&&(n?e(t).removeClass(_):e(t).addClass(_).removeClass(v))},setDataSource:function(e){var t=this;t.options.dataSource=e,t._dataSource()},_dataSource:function(){var e=this,t=e.options,n=t.dataSource||{};n=Array.isArray(n)?{data:n}:n,n.select=e.element,n.fields=[{field:t.dataTextField},{field:t.dataValueField}],e._unbindDataSource(),e.dataSource=c.create(n),e._bindDataSource(),e.options.autoBind&&(e.wrapper.attr(_e,!0),e.dataSource.fetch())},_bindDataChange:function(){var e=this.dataSource;e._data&&e._changeHandler&&(e._data.bind(T,e._changeHandler),e._data.trigger(T))},_unbindDataChange:function(){var e=this.dataSource;e._data&&e._changeHandler&&e._data.unbind(T,e._changeHandler)},_bindDataSource:function(){var e=this,t=e.dataSource;e._dataChangeHandler=e.refresh.bind(e),t&&t.bind(T,e._dataChangeHandler)},_unbindDataSource:function(){var e=this,t=e.dataSource;t&&t.unbind(T,e._dataChangeHandler)},_wrapper:function(){var t=this,n=t.element,r=n.parent(`div.k-listbox`);r[0]||(r=n.wrap(`<div class="k-listbox" unselectable="on" />`).parent(),r[0].style.cssText=n[0].style.cssText,r[0].title=n[0].title,e(`<div class="k-list-scroller"><div class="k-list"><div class="k-list-content"></div></div></div>`).insertBefore(n)),t.wrapper=r.addClass(n[0].className).css(`display`,``),t._innerWrapper=e(r[0].firstChild)},_list:function(){var t=this,n=e(`<ul class='`+oe+`' role='listbox'></ul>`),r=t.options.selectable;l.parseOptions(r).multiple&&n.attr(xe,`true`),n.appendTo(t.wrapper.find(`.k-list-content`)),t.options.navigatable&&t._getList().attr(U,t._getTabIndex())},_templates:function(){var e=this,t=this.options,r=t.template&&typeof t.template==`string`?n.template(t.template):t.template?t.template:n.template(e=>`${n.getter(t.dataTextField)(e)}`);e.templates={itemTemplate:n.template(({item:e,r:t})=>`<li class='k-list-item' role='option' aria-selected='false'><span class='k-list-item-text'>${t(e)}</span></li>`),itemContent:r,toolbar:`<div role='toolbar' class='${x}'></div>`}},refresh:function(){for(var e=this,t=e.dataSource.view(),n=e.templates.itemTemplate,r=``,i=0;i<t.length;i++)r+=n({item:t[i],r:e.templates.itemContent});e._getList().html(r),e._setItemIds(),e.toolbar||e._createToolbar(),e._syncElement(),e._updateToolbar(),e._updateAllToolbars(),e.trigger(E),e.wrapper.attr(_e,!1)},_syncElement:function(){for(var e=``,t=this.dataSource.view(),n=0;n<t.length;n++)e+=this._option(t[n][this.options.dataValueField]||t[n],t[n][this.options.dataTextField]||t[n],!0);this.element.html(e)},_option:function(e,r){var i=`<option`;return e!==t&&(e+=``,e.indexOf(`"`)!==-1&&(e=e.replace(/"/g,`"`)),i+=` value="`+e+`"`),i+=` selected>`,r!==t&&(i+=n.htmlEncode(r)),i+=`</option>`},_setItemId:function(e,t){e.length&&e.attr(r(V),t).attr(H,t)},_setItemIds:function(){var e=this,t=e.items(),n=e.dataSource.view(),r=n.length,i;for(i=0;i<r;i++)e._setItemId(t.eq(i),n[i].uid)},_selectable:function(){var e=this,t=e.options.selectable,n=l.parseOptions(t);e.selectable=new l(e._innerWrapper,{aria:!0,selectedClass:`k-selected`,multiple:n.multiple,filter:y,change:e._onSelect.bind(e)})},_onSelect:function(){var e=this;e._updateToolbar(),e._updateAllToolbars(),e.trigger(T)},_destroySelectable:function(){var e=this;e.selectable&&e.selectable.element&&(e.selectable.destroy(),e.selectable=null)},_getList:function(){return this.wrapper.find(se)},_getItems:function(e){return this.items().filter(e)},_createToolbar:function(){var t=this,n=t.options.toolbar,r=n.position||J,i=n.tools||[],a=t.options.messages;t._destroyToolbar(),t.wrapper.removeClass(Se.join(ne)),i.length&&i.length>0&&(t.toolbar=new $(e(t.templates.toolbar).insertBefore(t._innerWrapper),d({},n,{listBox:t,messages:a})),t.wrapper.addClass(x+p+r))},_destroyToolbar:function(){var e=this;e.toolbar&&=(e.toolbar.destroy(),null)},_executeCommand:function(e){var t=this,n=Z.current.create(e,{listBox:t});n&&(n.execute(),t._updateToolbar(),t._updateAllToolbars())},_updateToolbar:function(){var e=this.toolbar;e&&e._updateToolStates()},_updateAllToolbars:function(){var t=e(`select[data-role='listbox']`),n=t.length,r,i;for(i=0;i<n;i++)r=e(t[i]).data(h),r&&r._updateToolbar()}});n.ui.plugin(Ee);var Z=u.extend({init:function(){this._commands=[]},register:function(e,t){this._commands.push({commandName:e,commandType:t})},create:function(e,t){var n=this._commands,r=n.length,i=e?e.toLowerCase():``,a,o,s;for(s=0;s<r;s++)if(o=n[s],o.commandName.toLowerCase()===i){a=o;break}if(a)return new a.commandType(t)}});Z.current=new Z;var Q=u.extend({init:function(e){var t=this;t.options=d({},t.options,e),t.listBox=t.options.listBox},options:{listBox:null},getItems:function(){return e(this.listBox.select())},execute:f,canExecute:f}),De=Q.extend({execute:function(){var e=this,t=e.listBox,n=e.getItems();t.trigger(O,{dataItems:t._dataItems(n),items:n})||t.remove(n)},canExecute:function(){return this.listBox.select().length>0}});Z.current.register(O,De);var Oe=Q.extend({execute:function(){var e=this;e.canExecute()&&e.moveItems()},canExecute:f,moveItems:function(){var t=this,n=t.listBox,r=t.options,i=t.getItems(),a=r.offset,o=X(i),s=e.makeArray([].sort.call(i,t.itemComparer)),c=r.moveAction,l;if(!n.trigger(k,{dataItems:n._dataItems(s),items:e(s),offset:a}))for(;s.length>0&&o.length>0;)l=s[c](),n.reorder(l,o[c]()+a)},options:{offset:0,moveAction:`pop`},itemComparer:function(t,n){var r=e(t).index(),i=e(n).index();return r===i?0:r>i?1:-1}}),ke=Oe.extend({options:{offset:pe,moveAction:`shift`},canExecute:function(){var e=X(this.getItems());return e.length>0&&e[0]>0}});Z.current.register(A,ke);var Ae=Oe.extend({options:{offset:me,moveAction:`pop`},canExecute:function(){var t=this,n=X(t.getItems());return n.length>0&&e(n).last()[0]<t.listBox.items().length-1}});Z.current.register(j,Ae);var je=Q.extend({options:{filter:y},execute:function(){var e=this,t=e.getSourceListBox(),n=e.getItems().filter(e.options.filter),r=t?t._dataItems(n):[],i=e.getDestinationListBox(),a=e.getUpdatedSelection(n);i&&n.length>0&&(i.trigger(D,{dataItems:r,items:n})||i.add(r),t.trigger(O,{dataItems:r,items:n})||(t.remove(n),e.updateSelection(a)))},getUpdatedSelection:function(t){if(t.length!==1)return null;var n=this,r=n.options.filter,i=n.getSourceListBox(),a=i?i.items().filter(r).last():null;return(e(t).filter(a).length>0?e(t).prevAll(r)[0]:e(t).nextAll(r)[0])||null},updateSelection:function(t){var n=this.getSourceListBox();n&&t&&(n.select(e(t)),n.selectable.trigger(T),n._scrollIntoView(t))},getSourceListBox:f,getDestinationListBox:f}),Me=je.extend({canExecute:function(){var e=this.getSourceListBox();return e?e.select().length>0:!1},getSourceListBox:function(){return this.listBox},getDestinationListBox:function(){var t=this.getSourceListBox();return t&&t.options.connectWith?e(m+t.options.connectWith).data(h):null},getItems:function(){var t=this.getSourceListBox();return t?e(t.select()):e()}});Z.current.register(M,Me);var Ne=je.extend({canExecute:function(){var e=this.getSourceListBox();return e?e.select().length>0:!1},getSourceListBox:function(){var t=this.getDestinationListBox();return t&&t.options.connectWith?e(m+t.options.connectWith).data(h):null},getDestinationListBox:function(){return this.listBox},getItems:function(){var t=this.getSourceListBox();return t?e(t.select()):e()}});Z.current.register(N,Ne);var Pe=Me.extend({canExecute:function(){var e=this.getSourceListBox();return e?e.wrapper.find(b).length>0:!1},getItems:function(){var t=this.getSourceListBox();return t?t.items():e()},getUpdatedSelection:f,updateSelection:f});Z.current.register(P,Pe);var Fe=Ne.extend({canExecute:function(){var e=this.getSourceListBox();return e?e.wrapper.find(b).length>0:!1},getItems:function(){var t=this.getSourceListBox();return t?t.items():e()},getUpdatedSelection:f,updateSelection:f});Z.current.register(F,Fe);var $=u.extend({init:function(t,n){var r=this;r.element=e(t).addClass(x),r.options=d({},r.options,n),r.listBox=r.options.listBox,r._initTemplates(),r._createTools(),r._updateToolStates(),r._attachEventHandlers(),r._aria(),r._tabindex()},destroy:function(){var e=this;e._detachEventHandlers(),n.destroy(e.element),e.element.remove(),e.element=null},options:{position:J,tools:[]},_aria:function(){var t=this.listBox._getList(),r=t.attr(be),i=r?e(`#`+r).text():t.attr(ye),a=t.attr(`id`)||n.guid();t.attr(`id`,a),this.element.attr(ve,a),i&&this.element.attr(ye,i+` toolbar.`)},_attachEventHandlers:function(){var e=this;e.element.on(w,re,e._onToolClick.bind(e)).on(ce,e._keyDown.bind(e))},_createTools:function(){var t=this,r=n.support.isRtl(t.element),i=t.options.tools,a=i.length,o=t.options.messages.tools,s=t.element,c,l;for($.defaultTools=n.deepExtend({},$.defaultTools,{transferTo:{icon:r?L:I},transferFrom:{icon:r?I:L},transferAllTo:{icon:r?z:R},transferAllFrom:{icon:r?R:z}}),l=0;l<a;l++)c=d({},$.defaultTools[i[l]],{text:o[i[l]]}),c&&s.append(e(t.templates.tool(c)));t.element.append(s)},_detachEventHandlers:function(){this.element.off(g).find(`*`).off(g)},_executeToolCommand:function(e){var t=this.listBox;t&&t._executeCommand(e)},_focusTool:function(){this.element.find(S).not(`[tabindex=-1]`).trigger(`focus`)},_initTemplates:function(){this.templates={tool:o(({icon:e,iconClass:t,command:r,text:i})=>n.html.renderButton(`<button data-command='${r}' title='${i}' aria-label='${i}'></button>`,{icon:e,iconClass:t}))}},_keyDown:function(t){var r=t.keyCode,i=e(t.target),a=i.is(S)?i:i.closest(`li`);r===n.keys.UP||r===n.keys.LEFT?(t.preventDefault(),a.prev().length&&this._tabindex(a.prev()),this._focusTool()):(r===n.keys.DOWN||r===n.keys.RIGHT)&&(t.preventDefault(),a.next()&&this._tabindex(a.next()),this._focusTool())},_onToolClick:function(t){t.preventDefault();var n=e(t.currentTarget);this._tabindex(n),this._executeToolCommand(n.data(fe)),this._focusTool()},_tabindex:function(e){var t=this.element.find(S),n=e&&e.length?e:t.first();t.attr(U,-1),n.removeAttr(U)},_updateToolStates:function(){var e=this,t=e.options.tools,n=t.length,r,i=e.element.find(S).not(`[tabindex=-1]`);for(r=0;r<n;r++)e._updateToolState(t[r]);e._tabindex(i)},_updateToolState:function(e){var t=this,n=Z.current.create(e,{listBox:t.listBox}),r=t.element.find(`[data-command='`+e+`']`);r[0]&&n&&n.canExecute&&(n.canExecute()?r.removeClass(_).removeAttr(U):r.addClass(_).attr(U,`-1`))}});$.defaultTools={remove:{command:O,icon:`x`},moveUp:{command:A,icon:`caret-alt-up`},moveDown:{command:j,icon:`caret-alt-down`},transferTo:{command:M,icon:I},transferFrom:{command:N,icon:L},transferAllTo:{command:P,icon:R},transferAllFrom:{command:F,icon:z}},d(Ee,{ToolBar:$});function Ie(t){return e(t).is(`:button,a,:input,a>.k-icon,a>.k-svg-icon,textarea,span.k-select,span.k-icon,span.k-svg-icon,span.k-link,label.k-checkbox-label,.k-input,.k-multiselect-wrap,.k-picker-wrap,.k-picker-wrap>.k-selected-color,.k-tool-icon,.k-dropdownlist`)}})(window.kendo.jQuery);var o=kendo;e.__meta__=a,e.default=o});
//# sourceMappingURL=kendo.listbox.min.js.map