//>>built define("dojox/grid/enhanced/plugins/Menu",["dojo/_base/declare","dojo/_base/array","dojo/_base/lang","dojo/_base/html","dojo/_base/event","dojo/keys","../_Plugin","../../EnhancedGrid"],function(_1,_2,_3,_4,_5,_6,_7,_8){ var _9=_1("dojox.grid.enhanced.plugins.Menu",_7,{name:"menus",types:["headerMenu","rowMenu","cellMenu","selectedRegionMenu"],constructor:function(){ var g=this.grid; g.showMenu=_3.hitch(g,this.showMenu); g._setRowMenuAttr=_3.hitch(this,"_setRowMenuAttr"); g._setCellMenuAttr=_3.hitch(this,"_setCellMenuAttr"); g._setSelectedRegionMenuAttr=_3.hitch(this,"_setSelectedRegionMenuAttr"); },onStartUp:function(){ var _a,_b=this.option; for(_a in _b){ if(_2.indexOf(this.types,_a)>=0&&_b[_a]){ this._initMenu(_a,_b[_a]); } } },_initMenu:function(_c,_d){ var g=this.grid; if(!g[_c]){ var m=this._getMenuWidget(_d); if(!m){ return; } g.set(_c,m); if(_c!="headerMenu"){ m._scheduleOpen=function(){ return; }; }else{ g.setupHeaderMenu(); } } },_getMenuWidget:function(_e){ return (_e instanceof dijit.Menu)?_e:dijit.byId(_e); },_setRowMenuAttr:function(_f){ this._setMenuAttr(_f,"rowMenu"); },_setCellMenuAttr:function(_10){ this._setMenuAttr(_10,"cellMenu"); },_setSelectedRegionMenuAttr:function(_11){ this._setMenuAttr(_11,"selectedRegionMenu"); },_setMenuAttr:function(_12,_13){ var g=this.grid,n=g.domNode; if(!_12||!(_12 instanceof dijit.Menu)){ console.warn(_13," of Grid ",g.id," is not existed!"); return; } if(g[_13]){ g[_13].unBindDomNode(n); } g[_13]=_12; g[_13].bindDomNode(n); },showMenu:function(e){ var _14=(e.cellNode&&_4.hasClass(e.cellNode,"dojoxGridRowSelected")||e.rowNode&&(_4.hasClass(e.rowNode,"dojoxGridRowSelected")||_4.hasClass(e.rowNode,"dojoxGridRowbarSelected"))); if(_14&&this.selectedRegionMenu){ this.onSelectedRegionContextMenu(e); return; } var _15={target:e.target,coords:e.keyCode!==_6.F10&&"pageX" in e?{x:e.pageX,y:e.pageY}:null}; if(this.rowMenu&&(!this.cellMenu||this.selection.isSelected(e.rowIndex)||e.rowNode&&_4.hasClass(e.rowNode,"dojoxGridRowbar"))){ this.rowMenu._openMyself(_15); _5.stop(e); return; } if(this.cellMenu){ this.cellMenu._openMyself(_15); } _5.stop(e); },destroy:function(){ var g=this.grid; if(g.headerMenu){ g.headerMenu.unBindDomNode(g.viewsHeaderNode); } if(g.rowMenu){ g.rowMenu.unBindDomNode(g.domNode); } if(g.cellMenu){ g.cellMenu.unBindDomNode(g.domNode); } if(g.selectedRegionMenu){ g.selectedRegionMenu.destroy(); } this.inherited(arguments); }}); _8.registerPlugin(_9); return _9; });