kendo-ui-core
Version:
3 lines (2 loc) • 24.7 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("kendo.core.js"),require("kendo.splitbutton.js"),require("kendo.dropdownbutton.js"),require("kendo.buttongroup.js"),require("kendo.menu.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.splitbutton.min","kendo.dropdownbutton.min","kendo.buttongroup.min","kendo.menu.min","kendo.icons.min"],e):((t="undefined"!=typeof globalThis?globalThis:t||self).kendotoolbar=t.kendotoolbar||{},t.kendotoolbar.js=e())}(this,(function(){return function(t,e){var o=window.kendo,n=o.ui.Widget,i=o.isFunction,a=o.keys,s=o._outerWidth,r=".kendoToolBar",l="toolbar",d="k-button",u="k-button-group",p="k-split-button",h="k-menu-button",c="k-spacer",m="k-selected",f="k-hidden",g="k-force-hidden",v="k-group-start",b="k-group-end",w="k-menu-link",_="k-menu-item",k="k-toolbar-overflow-button",C="k-toolbar-item",I="k-toolbar-tool",T="k-menu-link-toggle",M="k-dropdownlist",y="k-input-button",x="k-focus",B="[tabindex=-1]",O="aria-checked",A="aria-label",E="change",z="click",D="toggle",S="open",P="close",j="focus",W="keydown",F="spacer",R="role",q="separator",N="overflow",U="tabindex",G="input",H="select",L="group",V="data-uid",K="[data-role]",J="[data-toggle]",Q="[data-role=buttonmenu]",$=":kendoFocusable",X="overflowOpen",Y="overflowClose",Z="never",tt="auto",et="always",ot=o.attr("uid"),nt="",it="_",at=" ",st=".",rt=",",lt="id",dt="uid",ut="kendoDropDownButton",pt="kendoSplitButton",ht="kendoToggleButton",ct="kendoButtonGroup";o.toolbar={};var mt={button:"Button",splitButton:"SplitButton",dropDownButton:"DropDownButton",buttonGroup:"ButtonGroup",popupButton:"Button",open:"Button"},ft={Button:"k-toolbar-button",ToggleButton:"k-toolbar-toggle-button",SplitButton:"k-toolbar-split-button",DropDownButton:"k-toolbar-menu-button",ButtonGroup:"k-toolbar-button-group",ColorPicker:"k-toolbar-color-picker",Switch:"k-toolbar-switch"},gt=["Button","SplitButton","DropDownButton","ButtonGroup","Switch","ColorPicker"],vt=`<button class="k-popup-button"><span class="k-button-icon k-icon"></span><span class="k-button-text">${o.ui.icon("caret-alt-down")}</span></button>`,bt=n.extend({init:function(t,e){n.fn.init.call(this,t,e),e=this.options,this._isRtl=o.support.isRtl(t),this.uid=o.guid(),(t=this.wrapper=this.element).attr(ot,this.uid),t.addClass("k-toolbar"),t.attr(R,l),e.resizable&&this._resizable(),e.tools&&e.tools.length>0&&(e.items=this._extendToolsOptions()),e.items&&e.items.length&&this._items(),this._attachEvents(),this._tabIndex(),this._applyCssClasses(),e.resizable&&(this._shrink(this.element.innerWidth()),this.overflowAnchor.appendTo(this.wrapper),this._toggleOverflowAnchor()),o.notify(this)},events:[z,D,S,P,X,Y,E],options:{name:"ToolBar",items:[],resizable:!0,navigateOnTab:!1,evaluateTemplates:!1,size:"medium"},destroy:function(){var e=this;e.options.resizable&&(o.unbindResize(e._resizeHandler),e.overflowMenu.destroy()),e.element.find(".k-popup-button").each(((e,o)=>{var n,i,a,s=t(o).getKendoButton();s&&(a=s.chooser,i=(n=s.popup).wrapper,a.destroy(),n.destroy(),i.remove())})),o.destroy(e.element.children()),n.fn.destroy.call(e)},add:function(t){this._add(t),this.options.resizable&&this.resize(!0)},enable:function(e,n){var i,a,s=this,r=this._getUid(e),l=this._getItem(e,r),d=l.component;void 0===n&&(n=!0),l.component?(i=(a=d.wrapper).hasClass(x)||a.is(":focus"),d.enable(n),a.find("[disabled]").removeAttr("disabled"),a.removeAttr("disabled"),i&&a.addClass(x).trigger(j)):l.buttonsPopupItem.length>0&&o.widgetInstance(l.buttonsPopupItem.closest(".k-menu-popup")).enable(n,l.buttonsPopupItem),this.overflowMenu&&(this.overflowMenu.enable(l.menuItem,n),this.overflowMenu.element.find("[data-parentuid="+r+"]").each(((e,o)=>{s.overflowMenu.enable(t(o),n)})))},getSelectedFromGroup:function(t){return this.element.find("[data-group='"+t+"']").filter(st+m)},hide:function(e){var o,n,i=this,a=this._getUid(e),s=i._getItem(e,a);s&&((o=s.templateEl.add(s.toolbarEl).add(s.buttonsPopupItem).add(s.menuItem)).addClass(f),o.addClass(g),this.overflowMenu&&this.overflowMenu.element.find("[data-parentuid="+a+"]").each(((e,o)=>{t(o).addClass(g),t(o).addClass(f)})),(n=s.toolbarEl.parent().closest(st+u)).data(ct)&&(0===n.children(":not(.k-hidden)").length?i.hide(n):i._groupVisibleButtons(n)),o.find("[tabindex=0]").addBack("[tabindex=0]").length>0&&this._resetTabIndex(i._getAllItems().first()),this.options.resizable&&this.resize(!0))},remove:function(e){var o,n=this,i=this._getUid(e),a=this._getItem(e,i);a&&(a.component&&((o=a.toolbarEl.closest('[data-role="buttongroup"]')).length>0&&0===a.toolbarEl.siblings().length?(o.data(ct).destroy(),o.remove(),a.toolbarEl=t(nt)):a.component.destroy()),a.templateEl.length>0?a.templateEl.remove():a.toolbarEl.length>0&&a.toolbarEl.remove(),a.buttonsPopupItem.length>0&&a.buttonsPopupItem.remove(),this.overflowMenu&&(this.overflowMenu.remove(a.menuItem),this.overflowMenu.element.find("[data-parentuid="+i+"]").each(((e,o)=>{n.overflowMenu.remove(t(o))}))),this.options.resizable&&this.resize(!0))},show:function(e){var o,n,i=this._getUid(e),a=this._getItem(e,i);a&&((o=a.templateEl.add(a.toolbarEl).add(a.buttonsPopupItem)).removeClass(g),o.removeClass(f),a.menuItem.removeClass(g),this.overflowMenu&&this.overflowMenu.element.find("[data-parentuid="+i+"]").each(((e,o)=>{t(o).removeClass(g)})),(n=a.toolbarEl.parent().closest(st+u)).data(ct)&&(n.hasClass("k-hidden")&&n.children(":not(.k-hidden)").length>0?this.show(n):this._groupVisibleButtons(n)),this.options.resizable&&this.resize(!0))},toggle:function(o,n){var i,a,s,r=this._getItem(o),l=r.toolbarEl,d=r.menuItem;n===e&&(n=!0),i=l.data(ht),(r.component||0!==d.find(st+T).length)&&(s=l.data(L),r.component&&((a=l.closest(st+u).data(ct))&&l.hasClass(m)!==n&&a._toggleIndex(l.index()),i.toggle(n),n&&this.element.find("[data-group="+s+"]").each(((e,o)=>{o!==l[0]&&t(o).data(ht).toggle(!1)}))),d&&(d.attr(O,n).find(st+T).toggleClass(m,n),n&&this.overflowMenu&&this.overflowMenu.element.find("[data-group="+s+"]").each(((e,o)=>{o!==d[0]&&t(o).attr(O,!1).find(st+T).removeClass(m)}))))},toggleTools:function(e){var n=this,i=n.element.find(J),a=n.element.find($).not(B);i.each((function(i,a){var s=t(a),r=null,l=s.data(D),d=e&&e[l];s.is(K)&&(r=o.widgetInstance(s)),r&&r.enable?r.enable(d||!1):n.enable(s,d)})),n.element.find(J+"[disabled]").removeAttr("disabled"),n.element.find($).not(B).attr("tabindex",-1),a.attr(U,0)},_add:function(t){var e,n=this._processOptions(t),i=n.template,a=n.overflowTemplate,s=mt[n.type];i||a?e=this._addTemplate(n):o.ui[n.component]?e=this._addCustomWidget(n):s?e=this._addDefaultTool(s,n):n.type===F?this._addSpacer():n.type===q&&this._addSeparator(n),e&&(this.overflowAnchor?e.insertBefore(this.overflowAnchor):e.appendTo(this.element),e.find("[disabled]").removeAttr("disabled"),e.is("[disabled]")&&e.removeAttr("disabled"))},_addAttributes:function(t,e){var o=t.attributes,n=nt;o||(o={}),t.hidden&&(n=f+at+g),t.align&&(n=n+" k-align-"+t.align),o&&(o.class&&(n=n+at+o.class,delete o.class),e.attr(o)),e.addClass(n),e.attr(ot,t.uid),t.id&&e.attr(lt,t.id),t.overflow===Z&&e.attr("data-overflow",Z)},_addCustomWidget:function(e){var n,i,a,s=t(e.element||"<input>");return e.overflowComponent&&this._addMenuItem(e.overflowComponent.type,t.extend({},e,e.overflowComponent)),e.attributes&&(a=e.attributes.class,delete e.attributes.class,s.attr(e.attributes),delete e.attributes[A]),e.componentOptions||(e.componentOptions={}),e.componentOptions.size=this.options.size,n=new o.ui[e.component](s,e.componentOptions),gt.indexOf(e.component)>-1?(n.wrapper.addClass(I+" "+ft[e.component]),i=n.wrapper):i=(n.wrapper||n.element).wrap("<span class='k-toolbar-tool k-toolbar-item' tabindex='0'>").parent(),e.attributes&&(e.attributes.class=a),this._addAttributes(e,i),i},_addDefaultTool:function(e,o){var n,i;return o.overflow!==et&&(n=this._addToolbarTool(e,t.extend(!0,{},o))),this.overflowMenu&&o.overflow!==Z&&(o.overflowComponent?(delete(i=t.extend(!0,{},o,o.overflowComponent))["data-command"],this._addMenuItem("Button",i)):this._addMenuItem(e,t.extend(!0,{},o))),n},_addMenuItem:function(n,i){var a,s=this,r=i.selected;return delete i.selected,i.id&&(i.id=i.id+it+N),i.showIcon===l&&(delete i.imageUrl,delete i.icon),i.showText===l?(i.attributes||(i.attributes={}),i.attributes[A]=i.text,i.text=nt):i.text!==e&&i.text!==nt||(i.text=" ",i.encoded=!1),s.overflowMenu.append(i),a=s.overflowMenu.element.find(st+_).last(),i.icon&&a.find(st+w).prepend(o.ui.icon(i.icon)),"ToggleButton"===n||"Button"===n&&!0===i.togglable?(a.find(st+w).addClass(T),r&&a.find(st+w).addClass(m),i.group&&a.attr("data-group",i.group)):i.menuButtons?i.menuButtons.forEach((t=>{t.overflow=i.overflow,s._addMenuItem(null,t)})):i.buttons&&(a.remove(),a=null,i.buttons.forEach((e=>{var o=e.attributes;e.overflow=i.overflow,e.attributes=t.extend(o,i.attributes),s._addMenuItem("Button",e)}))),"DropDownButton"===n&&(a.addClass("k-disabled"),a.attr("aria-disabled",!0)),a&&(s._addAttributes(i,a),i.overflow===tt&&a.addClass(f),(i.click||i.toggle)&&s.overflowMenu.bind(H,(t=>{t.item===a[0]&&this._onMenuItemSelect(t,i.click,i.toggle)}))),a},_addPopupButton:function(e){var o,n,i=this,a=t(vt),s=e.popupComponent;return a.attr(A,e.text),o=t("<div/>").appendTo(t("<body>")).kendoPopup({anchor:a}).data("kendoPopup"),a.on(z+" touchend",(t=>{o.toggle(),t.preventDefault()})),(n=new s(o.element)).bind(e.commandOn,(t=>{i.trigger(E,{target:a,value:t.value||t}),o.close()})),{widgetElement:a,chooser:n,popup:o}},_addSeparator:function(e){var o=t('<div role="separator"> </div>'),n=t("<li role='separator' class='k-separator k-menu-separator k-hidden'></li>");o.addClass("k-separator"),o.attr(R,q),this.overflowAnchor?o.insertBefore(this.overflowAnchor):o.appendTo(this.element),this._addAttributes(e,o),e.id&&(e.id=e.id+it+N),this._addAttributes(e,n),this.overflowMenu&&this.overflowMenu.element.append(n)},_addSpacer:function(){var e=t("<div> </div>");e.addClass(c),this.overflowAnchor?e.insertBefore(this.overflowAnchor):e.appendTo(this.element)},_addTemplate:function(e){var n,a,s=e.template,r=e.overflowTemplate,l=t(nt);return r&&this.overflowMenu&&e.overflow!==Z&&(r=i(r)?r(e)[0]:r,this.overflowMenu.append({}),a=this.overflowMenu.element.find(st+_).last().find(st+w).html(r).parent()),s&&e.overflow!==et&&(this.options.evaluateTemplates&&(s=o.template(s)),s=i(s)?s(e):s,(n=t("<div class='k-toolbar-item' aria-keyshortcuts='Enter'></div>")).html(s),a&&a.addClass(f)),n&&(l=n.find(G+rt+H),this._addAttributes(e,n)),a&&(l.add(a.find(G+rt+H)),this._addAttributes(e,a)),!this.options.navigateOnTab&&l.length>0&&(n.attr(U,0),n.addClass(I),l.attr(U,-1)),n},_addToolbarTool:function(e,n){var i,a,s,r=t("<button>"),l=!1;return!0===n.primary&&(n.themeColor="primary"),n.url&&(r=t("<a href='"+n.url+"'>")),n.showIcon===N&&(delete n.imageUrl,delete n.icon),n.showText!==N?r.text(n.text):r.attr(A,n.text),"popupButton"===n.type?r=(s=this._addPopupButton(n)).widgetElement:"Button"===e&&!0===n.togglable?e="ToggleButton":n.menuButtons?(n.items=n.menuButtons,delete n.menuButtons,n.attributes&&n.attributes.class&&r.addClass(n.attributes.class),r.attr(V,n.uid),delete n.uid):n.buttons&&(r=t("<span></span>"),l=!0,n.items=n.buttons,delete n.buttons,n.preventKeyNav=!0,n.items.forEach((t=>{t.showIcon===N&&(delete t.imageUrl,delete t.icon),t.showText===N&&(t.attributes||(t.attributes={}),t.attributes[A]=t.text,delete t.text)}))),n.id&&(r.attr(lt,n.id),delete n.id),n.name&&delete n.name,n.size=this.options.size,(a=(i=new o.ui[e](t(r),n)).wrapper||i.element).addClass(ft[e]),this._addAttributes(n,a),n.url&&r.removeAttr(R),l?(a.find(st+d).addClass(I),this._groupVisibleButtons(a)):i.element.addClass(I),"popupButton"!==n.type&&"open"!==n.type?this._attachWidgetEvents(i):"open"===n.type?(r.addClass("k-upload-button"),this._resetOpen(r,n.extensions),a=r.parent()):(i.chooser=s.chooser,i.popup=s.popup),a},_attachEvents:function(){var t=this;t.element.on(W+r,t._keydown.bind(t)).on("focusin"+r,t._focusIn.bind(t)).on("focusout"+r,t._focusOut.bind(t))},_attachWidgetEvents:function(e){var o=this;e.bind(z,o._onClick.bind(o)),e.bind(D,o._onToggle.bind(o)),e.bind(H,o._onSelect.bind(o)),e.bind(S,o._onOpen.bind(o)),e.bind(P,o._onClose.bind(o)),e.wrapper.find(st+d).each(((e,n)=>{var i=t(n);i.data("kendoButton")&&i.data("kendoButton").bind(z,(t=>{o.trigger(z,{id:t.id,target:t.target,originalEvent:t.originalEvent||t.event})}))}))},_childrenWidth:function(){var e=parseInt(this.element.css("gap"),10)||0,o=e;return this.element.children(":visible:not(."+c+")").each((function(){o+=s(t(this),!1)+e})),Math.ceil(o)},_extendToolsOptions:function(){var t=this.options,e=t.tools.flatMap((e=>this._mapTool(e,t.parentMessages,t.defaultTools)));return this.options.items=e,e},_focusIn:function(e){var o=t(e.target).closest(st+d);o.length>0&&(this._resetTabIndex(o),o.addClass(x))},_focusOut:function(t){this.wrapper.find(st+d+st+x).removeClass(x)},_getAllItems:function(){return this.wrapper.find(st+I).filter(":visible").filter(((t,e)=>"hidden"!==e.style.visibility))},_getItem:function(e,n){var i,a,s=n||this._getUid(e),r=t(Q);return s?(i="[data-uid="+s+"]",{toolbarEl:a=this.element.find(i),templateEl:a.closest(st+C+rt+st+p),component:o.widgetInstance(a),menuItem:this.overflowMenu?this.overflowMenu.element.find(i):t(nt),buttonsPopupItem:r.find(i)}):{toolbarEl:this.element.find(e),templateEl:t(nt),menuItem:this.overflowMenu?this.overflowMenu.element.find(e):t(nt),buttonsPopupItem:t(nt)}},_getNextElement:function(t,e){var o=this._getAllItems(),n=-1===o.index(t)?o.index(t.parentElement):o.index(t),i=o[n+e];return i||(i=-1===e?o.last():o.first()),i},_getUid:function(e){var o;return(o=this.element.find(e)).length||(o=t(Q).find(e)),!o.length&&this.overflowMenu&&(o=this.overflowMenu.element.find(e)),o.length?o.data(dt)||o.closest(st+I).data(dt):null},_groupVisibleButtons:function(t){var e,o=t.children();o.removeClass(b).removeClass(v),(e=o.filter(":not('."+f+"')")).first().addClass(v),e.last().addClass(b)},_hideItem:function(e){var o=this;e.addClass(f),o.overflowMenu&&(e.hasClass(p)||e.hasClass(h)?((e.hasClass(p)?(e=e.children().eq(0)).data(pt):e.data(ut)).menu.list.children().each(((e,n)=>{o._showMenuItem(t(n))})),o._showMenuItem(e)):e.hasClass(u)?e.children().each(((e,n)=>{o._showMenuItem(t(n))})):o._showMenuItem(e))},_hideMenuItem:function(t){this.overflowMenu.element.find(">li[data-uid='"+t.data(dt)+"']").addClass(f)},_items:function(){let t=this.options;for(var e=0;e<t.items.length;e++)this._add(t.items[e])},_keydown:function(e){var o=t(e.target),n=e.keyCode,i=o.closest(st+C),s=o.is(st+k);if(!this.options.navigateOnTab&&!o.is(".k-toolbar-tool")&&n===a.ESC&&i.length>0)return e.stopPropagation(),void this._keyDeactivateTemplate(i);o.hasClass(I)&&(!this.options.navigateOnTab&&n===a.ENTER&&o.hasClass(C)?this._keyActivateTemplate(o):s&&(e.altKey&&n===a.DOWN||n===a.ENTER||n===a.SPACEBAR)?this._keyOpenOverflow(e,n):n===a.HOME?this._keyFocusFirst(o,e):n===a.END?this._keyFocusLast(o,e):this.options.navigateOnTab||n!==a.RIGHT&&n!==a.LEFT||this._keyFocusNext(n,e))},_keyActivateTemplate:function(t){var e=t.find($+":not('"+st+y+"')"+rt+st+M);e.length>0&&(t.attr(U,-1),e.attr(U,0),e.first().trigger(j))},_keyDeactivateTemplate:function(t){var e,n=t.find(K),i=t.find($+":not('"+st+y+"')"+rt+st+M);if(n.length>0&&(e=o.widgetInstance(n))){if(e.overflowMenu&&e.overflowMenu.visible())return;t.attr(U,0),t.trigger(j),t.find($).attr(U,-1)}i.length>0&&(t.attr(U,0),t.trigger(j),i.attr(U,-1))},_keyFocusFirst:function(t,e){var o=this._getAllItems();t.is(st+M)||t.is(G)||(this._resetTabIndex(o.first()),o.first().trigger(j),e.preventDefault())},_keyFocusLast:function(t,e){var o,n=this._getAllItems();t.is(st+M)||t.is(G)||(0===(o=n.last()).width()&&(o=n.eq(n.length-2)),this._resetTabIndex(o),o.trigger(j),e.preventDefault())},_keyFocusNext:function(e,o){var n,i=this._isRtl?-1:1;e===a.LEFT&&(i*=-1),n=t(this._getNextElement(o.target,i)),this._resetTabIndex(n),n.trigger(j),o.preventDefault()},_keyOpenOverflow:function(t,e){e===a.SPACEBAR&&t.preventDefault(),this.overflowMenu.open()},_mapAttributes:function(t,e){return{"aria-label":e[t.name||t.property],title:e[t.name||t.property],"data-command":t.command,"data-options":t.options,"data-dialog":t.dialog,"data-property":t.property,"data-value":t.value,"data-toggle":t.toggleCondition}},_mapComponent:function(e,o){var n,i=this,a=e.componentOptions,s=a.messages,r=a.placeholder,l=t.extend({},i._mapAttributes(e,o),e.attributes);return e.overflowComponent&&(n=e.options||{},e.componentOptions.dataSource&&(n.options=e.componentOptions.dataSource),e.componentOptions.value&&(n.default=e.componentOptions.value),Object.keys(n).length>0&&(e.overflowComponent.options=JSON.stringify(n)),e.overflowComponent=i._mapTool(e.overflowComponent,o)),s&&Object.keys(s).forEach((t=>{e.componentOptions.messages[t]=o[s[t]]||s[t]})),r&&(e.componentOptions.placeholder=o[r]||r),Object.keys(a).forEach((t=>{"commandOn"===t&&(e.componentOptions[a[t]]=t=>{i.trigger(E,{target:t.target||t.sender.element})})})),a.dataSource&&a.dataSource.length&&(e.componentOptions.dataSource=a.dataSource.map((t=>(t.name&&o[t.name]&&(t.text=o[t.name]),t)))),e.attributes=l,e},_mapTool:function(e,n,i){let a,s,r,l,d=this,u=Array.isArray(e),p=t.isPlainObject(e),h=p&&Object.keys(e).length;return u?{type:"buttonGroup",buttons:e.map((t=>d._mapTool(t,n,i)))}:(a=p&&(1===h||2===h)&&e.name,l=a?e:{},e=a?e.name:e,s=t.isPlainObject(e)?e:t.extend({},i[e]),r=t.extend({},d._mapAttributes(s,n),s.attributes),o.deepExtend(s,{text:l.text||n[s.name||s.property],attributes:r}),"component"===s.type?s.items?s.items.map((t=>d._mapComponent(t,n))):d._mapComponent(s,n):("buttonGroup"===s.type?(delete s.attributes[A],s.buttons=s.buttons.map((t=>d._mapTool(t,n,i)))):"splitButton"===s.type?(delete s.attributes[A],s.menuButtons=s.menuButtons.flatMap((t=>d._mapTool(t,n,i)))):"popupButton"===s.type&&s.overflowComponent&&(s.overflowComponent=d._mapTool(s.overflowComponent,n)),delete s.name,s))},_menuItemSelect:function(e){var o,n,i=t(e.item),a=i.attr(lt),s=i.find(st+T),r=i.data(L);a&&a.indexOf(it+N)>-1&&(a=a.replace(it+N,nt)),s.length?(r&&this.overflowMenu.element.find("[data-group="+r+"]").each(((e,o)=>{var n=t(o);n.attr(O,!1),n.find(st+T).removeClass(m)})),o=!!r||!s.hasClass(m),s.toggleClass(m,o),i.attr(O,o),(n=this.element.find("[data-uid="+i.data(dt)+"]")).length&&(n.closest(st+u).length?n.closest(st+u).data(ct).select(n):(r&&this.element.find("[data-group="+r+"]").each(((e,o)=>{t(o).data(ht).toggle(!1)})),n.data(ht).toggle(!0))),this.trigger(D,{id:i.attr(lt),target:i,checked:o})):this.trigger(z,{id:a,target:i})},_onClick:function(t){var e=t.target,o=e.hasClass("k-toolbar-toggle-button"),n=e.data(L);o||this.trigger(z,{id:t.id,target:t.target,originalEvent:t.originalEvent||t.event}),n&&this.element.find("[data-group="+n+"]").length>1&&e.hasClass(m)&&t.preventDefault()},_onClose:function(t){this.trigger(P,{widget:t.sender})&&t.preventDefault()},_onMenuItemSelect:function(e,o,n){var i=t(e.item),a=i.find(st+T).length>0,s=i.attr(lt);s&&s.indexOf(it+N)>-1&&(s=s.replace(it+N,nt)),o&&o.bind(this)({event:e.event,id:s,target:i}),a&&n&&setTimeout((()=>{n.bind(this)({event:e.event,id:s,target:i,checked:i.find(st+m).length>0})}))},_onOpen:function(t){this.trigger(S,{widget:t.sender})&&t.preventDefault()},_onSelect:function(e){var o=this.overflowMenu?this.overflowMenu.element:t(nt);e.sender.element.children().each(((e,n)=>{var i=t(n),a=i.data(dt),s=i.hasClass(m);o.find("[data-uid="+a+"]").attr(O,s).find(st+T).toggleClass(m,s)})),this.trigger(D,{id:e.target.attr(lt),target:e.target,checked:e.target.hasClass(m)})},_onToggle:function(e){var o,n=this,i=e.target,a=i.data(L);n.overflowMenu&&(o=n.overflowMenu.element.find("[data-uid="+i.attr(V)+"]"),n.overflowMenu.element.find("[data-group="+a+"]").attr(O,!1).find(st+T).removeClass(m),o.attr(O,!0).find(st+T).addClass(m)),a&&n.element.find("[data-group="+a+"]").each(((e,o)=>{o!==i[0]&&t(o).data(ht).toggle(!1)})),this.trigger(D,{id:e.id,target:e.target,checked:e.checked,originalEvent:e.originalEvent||e.event})},_processInner(t,e){for(var n,i=0;i<t.length;i++)(n=t[i]).attributes||(t[i].attributes={}),t[i].attributes[V]=o.guid(),t[i].attributes["data-parentuid"]=e,n.id&&(t[i].attributes[lt]=t[i].id),n.hidden&&(t[i].attributes.class||(t[i].attributes.class=nt),t[i].attributes.class+=at+f+at+g);return t},_processOptions:function(n){var i,a=n.template,s=n.overflowTemplate,r=o.guid();return t.extend(n,{uid:r,rootUid:this.uid}),n.menuButtons?n.menuButtons=this._processInner(n.menuButtons,r):n.buttons&&n.buttons.length&&(n.buttons=this._processInner(n.buttons,r),n.buttons.every((t=>t.togglable))?(i=n.buttons[0].group)&&n.buttons.every((t=>t.group===i))?n.selection="single":n.selection="multiple":n.selection="none"),a&&!s||n.type===F?n.overflow=Z:n.overflow||(n.overflow=tt),n.enable!==e&&(n.enabled=n.enable),n},_renderOverflow:function(){var e=this,n=e._isRtl?"left":"right";e.overflowAnchor=t("<button class='k-toolbar-overflow-button k-toolbar-tool' title='More tools'>"),e.element.append(e.overflowAnchor),e.overflowAnchor.kendoButton({icon:"more-vertical",fillMode:"flat",size:e.options.size}),e.options.navigateOnTab||e.overflowAnchor.attr(U,-1),e.overflowMenu=new o.ui.ContextMenu(t("<ul>"),{size:e.options.size,showOn:"click tap",origin:"bottom "+n,position:"top "+n,alignToAnchor:!0,target:e.overflowAnchor,open:function(t){e.trigger(X)&&t.preventDefault()},close:function(t){e.trigger(Y)?t.preventDefault():(e._resetTabIndex(e.overflowAnchor),e.overflowAnchor.trigger(j))}}),e.overflowMenu.element.attr(ot,this.uid),setTimeout((()=>{e.overflowMenu.bind(H,e._menuItemSelect.bind(e))}))},_resetOpen:function(e,n){var i,a,s=this;e.closest(".k-upload-button-wrap").find("input").remove(),i=e.wrap("<div class='k-upload-button-wrap'></span>").parent(),a=t("<input type='file' autocomplete='off' accept='"+n+"'/>").attr("aria-hidden",!0).one("change",(t=>{s.trigger(E,{target:e,value:t.target.files[0]}),s._resetOpen(e,n)})).appendTo(i),e.off(W).on(W,(t=>{t.keyCode===o.keys.ENTER&&a.trigger(z)}))},_resetTabIndex:function(t){!0!==this.options.navigateOnTab&&(this.wrapper.find($).attr(U,-1),t.attr(U,0))},_resizable:function(){var t=this,e=t.element;t._renderOverflow(),e.addClass("k-toolbar-resizable"),t._resizeHandler=o.onResize((function(){t.resize()}))},_resize:function(e){var n=e.width,i=this.element,a=i.find('[data-role="splitbutton"]').add(i.find('[data-role="dropdownbutton"]'));this.options.resizable&&(this.overflowMenu.close(),a.length>0&&a.each(((e,n)=>{o.widgetInstance(t(n)).close()})),this._shrink(n),this._stretch(n),this._toggleOverflowAnchor())},_shrink:function(e){var o,n,i;if(e<this._childrenWidth())for(var a=(n=this.element.children(":visible:not([data-overflow='never'], ."+k+")")).length-1;a>=0&&(o=n.eq(a),!(e>this._childrenWidth()));a--)(i=o.find("[tabindex=0]")||o.is("[tabindex=0]")?o:t(nt)).length>0&&(i.attr(U,-1),this.element.children(st+k).attr(U,0)),this._hideItem(o)},_showItem:function(e,o){var n=this,i=parseInt(this.element.css("gap"),10)||0;e.removeClass(f);var a=s(e,!0)+i;return e.addClass(f),!(!e.length||!(e.hasClass(c)||o>this._childrenWidth()+a))&&(e.removeClass(f),!0!==this.options.navigateOnTab?e.find($).attr(U,-1):e.is("[tabindex=-1]")&&e.removeAttr(U),this.overflowMenu&&(e.hasClass(p)||e.hasClass(h)?((e.hasClass(p)?(e=e.children().eq(0)).data(pt):e.data(ut)).menu.list.children().each(((e,o)=>{n._hideMenuItem(t(o))})),n._hideMenuItem(e)):e.hasClass(u)?e.children().each(((e,o)=>{n._hideMenuItem(t(o))})):n._hideMenuItem(e)),!0)},_showMenuItem:function(t){var e=this.overflowMenu.element.find(">li[data-uid='"+t.data(dt)+"']");e.hasClass(g)||e.removeClass(f)},_stretch:function(t){var e,o,n=this.element.children(st+k);if(t>this._childrenWidth()){o=this.element.children(st+f+":not("+st+g+")");for(var i=0;i<o.length&&(e=o.eq(i),!(t<this._childrenWidth())&&this._showItem(e,t));i++);}!this.options.navigateOnTab&&n.is("[tabindex=0]")&&(n.attr(U,-1),this._resetTabIndex(this._getAllItems().first()))},_tabIndex:function(){var t=this.wrapper.find($+":not('"+B+"')"),e=t.first();!0!==this.options.navigateOnTab?(t.attr(U,-1),e.attr(U,0)):this.wrapper.find(".k-toolbar-item.k-toolbar-tool").removeAttr(U)},_toggleOverflowAnchor:function(){this.overflowMenu.element.children(":not(."+f+", .k-popup)").length>0?this.overflowAnchor.removeClass(f):this.overflowAnchor.addClass(f)}});o.toolbar={Item:o.Class,OverflowButton:o.Class,TemplateItem:o.Class,ToolBarButton:o.Class,registerComponent:()=>null},o.cssProperties.registerPrefix("ToolBar","k-toolbar-"),o.ui.plugin(bt)}(window.kendo.jQuery),kendo}));
//# sourceMappingURL=kendo.toolbar.min.js.map