//>>built define("dijit/_MenuBase",["./popup","dojo/window","./_Widget","./_KeyNavContainer","./_TemplatedMixin","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/_base/lang","dojo/_base/array"],function(pm,_1,_2,_3,_4,_5,_6,_7,_8,_9,_a){ return _5("dijit._MenuBase",[_2,_4,_3],{parentMenu:null,popupDelay:500,onExecute:function(){ },onCancel:function(){ },_moveToPopup:function(_b){ if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled){ this.focusedChild._onClick(_b); }else{ var _c=this._getTopMenu(); if(_c&&_c._isMenuBar){ _c.focusNext(); } } },_onPopupHover:function(){ if(this.currentPopup&&this.currentPopup._pendingClose_timer){ var _d=this.currentPopup.parentMenu; if(_d.focusedChild){ _d.focusedChild._setSelected(false); } _d.focusedChild=this.currentPopup.from_item; _d.focusedChild._setSelected(true); this._stopPendingCloseTimer(this.currentPopup); } },onItemHover:function(_e){ if(this.isActive){ this.focusChild(_e); if(this.focusedChild.popup&&!this.focusedChild.disabled&&!this.hover_timer){ this.hover_timer=setTimeout(_9.hitch(this,"_openPopup"),this.popupDelay); } } if(this.focusedChild){ this.focusChild(_e); } this._hoveredChild=_e; },_onChildBlur:function(_f){ this._stopPopupTimer(); _f._setSelected(false); var _10=_f.popup; if(_10){ this._stopPendingCloseTimer(_10); _10._pendingClose_timer=setTimeout(function(){ _10._pendingClose_timer=null; if(_10.parentMenu){ _10.parentMenu.currentPopup=null; } pm.close(_10); },this.popupDelay); } },onItemUnhover:function(_11){ if(this.isActive){ this._stopPopupTimer(); } if(this._hoveredChild==_11){ this._hoveredChild=null; } },_stopPopupTimer:function(){ if(this.hover_timer){ clearTimeout(this.hover_timer); this.hover_timer=null; } },_stopPendingCloseTimer:function(_12){ if(_12._pendingClose_timer){ clearTimeout(_12._pendingClose_timer); _12._pendingClose_timer=null; } },_stopFocusTimer:function(){ if(this._focus_timer){ clearTimeout(this._focus_timer); this._focus_timer=null; } },_getTopMenu:function(){ for(var top=this;top.parentMenu;top=top.parentMenu){ } return top; },onItemClick:function(_13,evt){ if(typeof this.isShowingNow=="undefined"){ this._markActive(); } this.focusChild(_13); if(_13.disabled){ return false; } if(_13.popup){ this._openPopup(); }else{ this.onExecute(); _13.onClick(evt); } },_openPopup:function(){ this._stopPopupTimer(); var _14=this.focusedChild; if(!_14){ return; } var _15=_14.popup; if(_15.isShowingNow){ return; } if(this.currentPopup){ this._stopPendingCloseTimer(this.currentPopup); pm.close(this.currentPopup); } _15.parentMenu=this; _15.from_item=_14; var _16=this; pm.open({parent:this,popup:_15,around:_14.domNode,orient:this._orient||["after","before"],onCancel:function(){ _16.focusChild(_14); _16._cleanUp(); _14._setSelected(true); _16.focusedChild=_14; },onExecute:_9.hitch(this,"_cleanUp")}); this.currentPopup=_15; _15.connect(_15.domNode,"onmouseenter",_9.hitch(_16,"_onPopupHover")); if(_15.focus){ _15._focus_timer=setTimeout(_9.hitch(_15,function(){ this._focus_timer=null; this.focus(); }),0); } },_markActive:function(){ this.isActive=true; _8.replace(this.domNode,"dijitMenuActive","dijitMenuPassive"); },onOpen:function(){ this.isShowingNow=true; this._markActive(); },_markInactive:function(){ this.isActive=false; _8.replace(this.domNode,"dijitMenuPassive","dijitMenuActive"); },onClose:function(){ this._stopFocusTimer(); this._markInactive(); this.isShowingNow=false; this.parentMenu=null; },_closeChild:function(){ this._stopPopupTimer(); if(this.currentPopup){ if(_a.indexOf(this._focusManager.activeStack,this.id)>=0){ _7.set(this.focusedChild.focusNode,"tabIndex",this.tabIndex); this.focusedChild.focusNode.focus(); } pm.close(this.currentPopup); this.currentPopup=null; } if(this.focusedChild){ this.focusedChild._setSelected(false); this.focusedChild._onUnhover(); this.focusedChild=null; } },_onItemFocus:function(_17){ if(this._hoveredChild&&this._hoveredChild!=_17){ this._hoveredChild._onUnhover(); } },_onBlur:function(){ this._cleanUp(); this.inherited(arguments); },_cleanUp:function(){ this._closeChild(); if(typeof this.isShowingNow=="undefined"){ this._markInactive(); } }}); });