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