@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) • 24.5 kB
JavaScript
!function(t){"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.splitbutton.min","kendo.dropdownbutton.min","kendo.buttongroup.min","kendo.menu.min","kendo.icons.min"],t):t()}((function(){!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-toggle-button",u="k-button-group",p="k-split-button",h="k-menu-button",c="k-spacer",f="k-selected",m="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",M="k-menu-link-toggle",T="k-dropdownlist",y="k-focus",x="[tabindex=-1]",B="aria-checked",O="aria-label",E="change",A="click",z="toggle",D="open",S="close",P="focus",F="keydown",W="spacer",R="role",N="separator",U="overflow",G="tabindex",j="input",q="select",H="hidden",L="group",V="data-uid",K="[data-role]",J="[data-toggle]",Q="[data-role=buttonmenu]",X=":kendoFocusable",Y="overflowOpen",Z="overflowClose",$="never",tt="auto",et=n.attr("uid"),nt="",ot="_",it=" ",at=".",st="id",rt="uid",lt="kendoDropDownButton",dt="kendoSplitButton",ut="kendoToggleButton",pt="kendoButtonGroup";n.toolbar={};var ht={button:"Button",splitButton:"SplitButton",dropDownButton:"DropDownButton",buttonGroup:"ButtonGroup",popupButton:"Button",open:"Button"},ct={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"},ft=["Button","SplitButton","DropDownButton","ButtonGroup","Switch","ColorPicker"],mt='<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>",gt=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(et,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()),n.notify(this)},events:[A,z,D,S,Y,Z,E],options:{name:"ToolBar",items:[],resizable:!0,navigateOnTab:!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(y)||a.is(":focus"),d.enable(o),a.find("[disabled]").removeAttr("disabled"),a.removeAttr("disabled"),i&&a.addClass(y).trigger(P)):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(".k-toggle-button[data-group='"+t+"']").filter(".k-selected")},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(m),n.addClass(g),this.overflowMenu&&this.overflowMenu.element.find("[data-parentuid="+a+"]").each((function(e,n){t(n).addClass(g),t(n).addClass(m)})),(o=s.toolbarEl.parent().closest(at+u)).data(pt)&&(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(pt).destroy(),n.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((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(g),n.removeClass(m),a.menuItem.removeClass(g),this.overflowMenu&&this.overflowMenu.element.find("[data-parentuid="+i+"]").each((function(e,n){t(n).removeClass(g)})),(o=a.toolbarEl.parent().closest(at+u)).data(pt)&&(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(ut),(r.component||0!==d.find(at+M).length)&&(s=l.data(L),r.component&&((a=l.closest(at+u).data(pt))&&l.hasClass(f)!==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(ut).toggle(!1)}))),d&&(d.attr(B,o).find(at+M).toggleClass(f,o),o&&this.overflowMenu&&this.overflowMenu.element.find("[data-group="+s+"]").each((function(e,n){n!==d[0]&&t(n).attr(B,!1).find(at+M).removeClass(f)}))))},toggleTools:function(e){var o=this,i=o.element.find(J),a=o.element.find(X).not(x);i.each((function(i,a){var s=t(a),r=null,l=s.data(z),d=e&&e[l];s.is(K)&&(r=n.widgetInstance(s)),r&&r.enable?r.enable(d||!1):o.enable(s,d)})),o.element.find("[data-toggle][disabled]").removeAttr("disabled"),o.element.find(X).not(x).attr("tabindex",-1),a.attr(G,0)},_add:function(t){var e,o=this._processOptions(t),i=o.template,a=o.overflowTemplate,s=ht[o.type];i||a?e=this._addTemplate(o):n.ui[o.component]?e=this._addCustomWidget(o):s?e=this._addDefaultTool(s,o):o.type===W?this._addSpacer():o.type===N&&this._addSeparator(o),e&&(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=nt;n||(n={}),t.hidden&&(o="k-hidden "+g),t.align&&(o=o+" k-align-"+t.align),n&&(n.class&&(o=o+it+n.class,delete n.class),e.attr(n)),e.addClass(o),e.attr(et,t.uid),t.id&&e.attr(st,t.id),t.overflow===$&&e.attr("data-overflow",$)},_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[O]),e.componentOptions||(e.componentOptions={}),e.componentOptions.size=this.options.size,o=new n.ui[e.component](s,e.componentOptions),ft.indexOf(e.component)>-1?(o.wrapper.addClass(I+" "+ct[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"always"!==n.overflow&&(o=this._addToolbarTool(e,t.extend(!0,{},n))),this.overflowMenu&&n.overflow!==$&&(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(e,o){var i,a=this,s=this,r=o.selected;return delete o.selected,o.id&&(o.id=o.id+ot+U),o.showIcon===l&&(delete o.imageUrl,delete o.icon),o.showText===l&&(o.attributes||(o.attributes={}),o.attributes[O]=o.text,o.text=nt),s.overflowMenu.append(o),i=s.overflowMenu.element.find(at+_).last(),o.icon&&i.find(at+w).prepend(n.ui.icon(o.icon)),"ToggleButton"===e||"Button"===e&&!0===o.togglable?(i.find(at+w).addClass(M),r&&i.find(at+w).addClass(f),o.group&&i.attr("data-group",o.group)):o.menuButtons?o.menuButtons.forEach((function(t){t.overflow=o.overflow,s._addMenuItem(null,t)})):o.buttons&&(i.remove(),i=null,o.buttons.forEach((function(e){var n=e.attributes;e.overflow=o.overflow,e.attributes=t.extend(n,o.attributes),s._addMenuItem("Button",e)}))),"DropDownButton"===e&&(i.addClass("k-disabled"),i.attr("aria-disabled",!0)),i&&(s._addAttributes(o,i),o.overflow===tt&&i.addClass(m),(o.click||o.toggle)&&s.overflowMenu.bind(q,(function(t){t.item===i[0]&&a._onMenuItemSelect(t,o.click,o.toggle)}))),i},_addPopupButton:function(e){var n,o,i=this,a=t(mt),s=e.popupComponent;return a.attr(O,e.text),n=t("<div/>").appendTo(t("<body>")).kendoPopup({anchor:a}).data("kendoPopup"),a.on("click touchend",(function(t){n.toggle(),t.preventDefault()})),(o=new s(n.element)).bind(e.commandOn,(function(t){i.trigger(E,{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(R,N),n.appendTo(this.element),this._addAttributes(e,n),e.id&&(e.id=e.id+ot+U),this._addAttributes(e,o),this.overflowMenu&&this.overflowMenu.element.append(o)},_addSpacer:function(){var e=t("<div> </div>");e.addClass(c),e.appendTo(this.element)},_addTemplate:function(e){var n,o,a=e.template,s=e.overflowTemplate,r=t(nt);return a&&(a=i(a)?a(e):a,(n=t("<div class='k-toolbar-item' aria-keyshortcuts='Enter'></div>")).html(a)),s&&this.overflowMenu&&(s=i(s)?s(e)[0]:s,this.overflowMenu.append({}),o=this.overflowMenu.element.find(at+_).last().addClass(m).find(at+w).html(s).parent()),n&&(r=n.find("input,select"),this._addAttributes(e,n)),o&&(r.add(o.find("input,select")),this._addAttributes(e,o)),!this.options.navigateOnTab&&r.length>0&&(n.attr(G,0),n.addClass(I),r.attr(G,-1)),n},_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(O,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(V,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[O]=t.text,delete t.text)}))),o.id&&(r.attr(st,o.id),delete o.id),o.size=this.options.size,(a=(i=new n.ui[e](t(r),o)).wrapper||i.element).addClass(ct[e]),this._addAttributes(o,a),l?(a.find(".k-button").addClass(I),this._groupVisibleButtons(a)):i.element.addClass(I),"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(A,n._onClick.bind(n)),e.bind(z,n._onToggle.bind(n)),e.bind(q,n._onSelect.bind(n)),e.bind(D,n._onOpen.bind(n)),e.bind(S,n._onClose.bind(n)),e.wrapper.find(".k-button").each((function(e,o){var i=t(o);i.data("kendoButton")&&i.data("kendoButton").bind(A,(function(t){n.trigger(A,{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(.k-spacer)").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(".k-button");n.length>0&&(this._resetTabIndex(n),n.addClass(y))},_focusOut:function(t){this.wrapper.find(".k-button.k-focus").removeClass(y)},_getAllItems:function(){return this.wrapper.find(at+I).filter(":visible").filter((function(t,e){return e.style.visibility!==H}))},_getItem:function(e,o){var i,a,s=o||this._getUid(e),r=t(Q);return s?(i="[data-uid="+s+"]",{toolbarEl:a=this.element.find(i),templateEl:a.closest(".k-toolbar-item,."+p),component:n.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 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(Q).find(e)),!n.length&&this.overflowMenu&&(n=this.overflowMenu.element.find(e)),n.length?n.data(rt)||n.closest(at+I).data(rt):null},_groupVisibleButtons:function(t){var e,n=t.children();n.removeClass(b).removeClass(v),(e=n.filter(":not('.k-hidden')")).first().addClass(v),e.last().addClass(b)},_hideItem:function(e){var n=this;e.addClass(m),n.overflowMenu&&(e.hasClass(p)||e.hasClass(h)?((e.hasClass(p)?(e=e.children().eq(0)).data(dt):e.data(lt)).menu.list.children().each((function(e,o){n._showMenuItem(t(o))})),n._showMenuItem(e)):e.hasClass(u)?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(rt)+"']").addClass(m)},_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(".k-toolbar-item"),s=n.is(at+k);if(!this.options.navigateOnTab&&o===a.ESC&&i.length>0)return e.stopPropagation(),void this._keyDeactivateTemplate(i);n.hasClass(I)&&(!this.options.navigateOnTab&&o===a.ENTER&&n.hasClass(C)?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(":kendoFocusable:not('.k-input-button'),."+T);e.length>0&&(t.attr(G,-1),e.attr(G,0),e.first().trigger(P))},_keyDeactivateTemplate:function(t){var e,o=t.find(K),i=t.find(":kendoFocusable:not('.k-input-button'),."+T);if(o.length>0&&(e=n.widgetInstance(o))){if(e.overflowMenu&&e.overflowMenu.visible())return;t.attr(G,0),t.trigger(P),t.find(X).attr(G,-1)}i.length>0&&(t.attr(G,0),t.trigger(P),i.attr(G,-1))},_keyFocusFirst:function(t,e){var n=this._getAllItems();t.is(at+T)||t.is(j)||(this._resetTabIndex(n.first()),n.first().trigger(P),e.preventDefault())},_keyFocusLast:function(t,e){var n,o=this._getAllItems();t.is(at+T)||t.is(j)||(0===(n=o.last()).width()&&(n=o.eq(o.length-2)),this._resetTabIndex(n),n.trigger(P),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(P),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(E,{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[O],a.buttons=a.buttons.map((function(t){return r._mapTool(t,o,i)}))):"splitButton"===a.type?(delete a.attributes[O],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(st),s=i.find(at+M),r=i.data(L);a&&a.indexOf("_overflow")>-1&&(a=a.replace("_overflow",nt)),s.length?(r&&this.overflowMenu.element.find("[data-group="+r+"]").each((function(e,n){var o=t(n);o.attr(B,!1),o.find(at+M).removeClass(f)})),n=!!r||!s.hasClass(f),s.toggleClass(f,n),i.attr(B,n),(o=this.element.find("[data-uid="+i.data(rt)+"]")).length&&(o.closest(at+u).length?o.closest(at+u).data(pt).select(o):(r&&this.element.find("[data-group="+r+"]").each((function(e,n){t(n).data(ut).toggle(!1)})),o.data(ut).toggle(!0))),this.trigger(z,{id:i.attr(st),target:i,checked:n})):this.trigger(A,{id:a,target:i})},_onClick:function(t){var e=t.target,n=e.hasClass(d),o=e.data(L);n||this.trigger(A,{id:t.id,target:t.target,originalEvent:t.originalEvent||t.event}),n&&o&&this.element.find("[data-group="+o+"]").length>1&&e.hasClass(f)&&t.preventDefault()},_onClose:function(t){this.trigger(S,{widget:t.sender})&&t.preventDefault()},_onMenuItemSelect:function(e,n,o){var i=this,a=t(e.item),s=a.find(M).length>0,r=a.attr(st);r&&r.indexOf("_overflow")>-1&&(r=r.replace("_overflow",nt)),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(".k-selected").length>0})}))},_onOpen:function(t){this.trigger(D,{widget:t.sender})&&t.preventDefault()},_onSelect:function(e){var n=this.overflowMenu?this.overflowMenu.element:t(nt);e.sender.element.children().each((function(e,o){var i=t(o),a=i.data(rt),s=i.hasClass(f);n.find("[data-uid="+a+"]").attr(B,s).find(at+M).toggleClass(f,s)})),this.trigger(z,{id:e.target.attr(st),target:e.target,checked:e.target.hasClass(f)})},_onToggle:function(e){var n,o=this,i=e.target,a=i.data(L);o.overflowMenu&&(n=o.overflowMenu.element.find("[data-uid="+i.attr(V)+"]"),o.overflowMenu.element.find("[data-group="+a+"]").attr(B,!1).find(at+M).removeClass(f),n.attr(B,!0).find(at+M).addClass(f)),a&&o.element.find("[data-group="+a+"]").each((function(e,n){n!==i[0]&&t(n).data(ut).toggle(!1)})),this.trigger(z,{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[V]=n.guid(),t[i].attributes["data-parentuid"]=e,o.id&&(t[i].attributes.id=t[i].id),o.hidden&&(t[i].attributes.class||(t[i].attributes.class=nt),t[i].attributes.class+=" k-hidden "+g);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===W?o.overflow=$:o.overflow||(o.overflow=tt),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(Y)&&t.preventDefault()},close:function(t){e.trigger(Z)?t.preventDefault():(e._resetTabIndex(e.overflowAnchor),e.overflowAnchor.trigger(P))}}),e.overflowMenu.element.attr(et,this.uid),setTimeout((function(){e.overflowMenu.bind(q,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(E,{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(A)}))},_resetTabIndex:function(t){!0!==this.options.navigateOnTab&&(this.wrapper.find(X).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'], ."+k+")")).length-1;a>=0&&(n=o.eq(a),!(e>this._childrenWidth()));a--)(i=n.find("[tabindex=0]")||n.is("[tabindex=0]")?n:t(nt)).length>0&&(i.attr(G,-1),this.element.children(at+k).attr(G,0)),this._hideItem(n)},_showItem:function(e,n){var o=this,i=parseInt(this.element.css("gap"),10)||0;e.removeClass(m);var a=s(e,!0)+i;return e.addClass(m),!(!e.length||!(e.hasClass(c)||n>this._childrenWidth()+a))&&(e.removeClass(m),!0!==this.options.navigateOnTab?e.find(X).attr(G,-1):e.is("[tabindex=-1]")&&e.removeAttr(G),this.overflowMenu&&(e.hasClass(p)||e.hasClass(h)?((e.hasClass(p)?(e=e.children().eq(0)).data(dt):e.data(lt)).menu.list.children().each((function(e,n){o._hideMenuItem(t(n))})),o._hideMenuItem(e)):e.hasClass(u)?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(rt)+"']");e.hasClass(g)||e.removeClass(m)},_stretch:function(t){var e,n,o=this.element.children(at+k);if(t>this._childrenWidth()){n=this.element.children(".k-hidden:not(.k-force-hidden)");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(":kendoFocusable:not('[tabindex=-1]')"),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(.k-hidden, .k-popup)").length>0?this.overflowAnchor.css({visibility:"visible",width:nt}):this.overflowAnchor.css({visibility:H,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(gt)}(window.kendo.jQuery)}));
//# sourceMappingURL=kendo.toolbar.min.js.map