@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 3.76 kB
JavaScript
module.exports=function(t){var o={};function i(e){if(o[e])return o[e].exports;var n=o[e]={exports:{},id:e,loaded:!1};return t[e].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}return i.m=t,i.c=o,i.p="",i(0)}({0:function(e,n,t){e.exports=t(1211)},3:function(e,n){e.exports=function(){throw Error("define cannot be used indirect")}},1089:function(e,n){e.exports=require("./kendo.html.button")},1211:function(e,n,t){var o;t(3),t=[t(1089),t(1212)],void 0===(n="function"==typeof(o=function(){var e={id:"dropdownbutton",name:"DropDownButton",category:"web",description:"The DropDownButton allows the user to execute an action from a drop-down list.",depends:["button.menu","html.button"]},o=window.kendo.jQuery,m=void 0,i=window.kendo,r=i.ui.Widget,n=".kendoDropDownButton",p=i.ui,t=i.keys,u=o.extend,f=i.html,c=i._outerWidth,h=".",v="id",b="aria-haspopup",a="aria-disabled",g="aria-controls",l="aria-label",s="aria-expanded",d="disabled",k="k-disabled",w="click",_="keydown",x="open",y="close",B="focus",C={menuButton:"k-menu-button"},D=r.extend({init:function(e,n){var t=this;n.enabled=n.enabled!==false&&!o(e).prop(d);r.fn.init.call(t,e,n);t.wrapper=t.element;t._mainButton();t._renderMenu();t._enable(t.options.enabled);t._aria();t._attachEvents();i.notify(t);t._applyCssClasses()},options:{name:"DropDownButton",enabled:true,items:[],rounded:"medium",size:"medium",fillMode:"solid",themeColor:"base",icon:null,popup:null,messages:{labelSuffix:"dropdownbutton"}},events:[w,x,y],_mainButton:function(){var e=this,n=u({},e.options);delete n.click;e.element.addClass(C.menuButton);f.renderButton(e.element,n)},_aria:function(){var e=this,n=e.element,t=e.menu;n.attr(b,t?"menu":null);n.attr(s,t?false:null);n.attr(g,t?t.list.attr(v):null);if(!n.attr(l))n.attr(l,n.text()+" "+e.options.messages.labelSuffix)},_renderMenu:function(){var e=this,n=u({},e.options),t=o("<div></div>");delete n.click;delete n.name;if(!n.items.length)return;e.menu=t.appendTo(document.body).kendoButtonMenu(u({mainButton:e.element,toggleTarget:e.element,menuOpen:e.menuOpenHandler.bind(e),menuClose:e.menuCloseHandler.bind(e),menuClick:e._click.bind(e)},n)).data("kendoButtonMenu")},menuOpenHandler:function(e){var n=this,t=c(n.element);var o=n.trigger(x,{target:n.element});if(o){e.preventDefault();return}e.sender.adjustPopupWidth(t);n.element.attr(s,true)},menuCloseHandler:function(e){var n=this,t=n.trigger(y,{target:n.element});if(t){e.preventDefault();return}n.element.attr(s,false);n.element.trigger(B)},_attachEvents:function(){var e=this;e.element.on(_+n,e._keydown.bind(e))},_click:function(e){var n=this,t=e.id,o=e.target,i=e.originalEvent;n.menu.close();n.trigger(w,{id:t,target:o,originalEvent:i})},_keydown:function(e){var n=this;if(n.element.is(h+k)&&(e.keyCode===t.ENTER||e.keyCode===t.SPACEBAR))e.preventDefault()},focus:function(){var e=this;e.element.trigger(B)},_enable:function(e,n){this.element.toggleClass(k,!e);if(e)this.element.removeAttr(a);else this.element.attr(a,!e);if(!n)this.element.attr(d,!e)},enable:function(e,n,t){var o=this;if(e===m)e=true;if(n&&n.length){o.menu.enable(e,n);return}o.options.enabled=e;o._enable(e,t);o.menu.enable(e)},hide:function(e){var n=this;if(e&&e.length)n.menu.hide(e)},show:function(e){var n=this;if(e&&e.length)n.menu.show(e)},open:function(){this.menu._popup.open()},close:function(){this.menu._popup.close()},items:function(){return this.menu.items()},setOptions:function(e){var n=this;r.fn.setOptions.call(n,e);if(e.popup||e.items||e.size){n.menu.destroy();n._renderMenu()}n._mainButton();n._aria()},destroy:function(){var e=this;e.menu.destroy();e.element.off(n);r.fn.destroy.call(e)}});return p.plugin(D),window.kendo})?o.apply(n,t):o)||(e.exports=n)},1212:function(e,n){e.exports=require("./kendo.button.menu")}});