//>>built define("dojox/grid/EnhancedGrid",["dojo/_base/kernel","../main","dojo/_base/declare","dojo/_base/lang","dojo/_base/array","dojo/_base/sniff","dojo/dom","dojo/dom-geometry","dojo/i18n","./DataGrid","./DataSelection","./enhanced/_PluginManager","./enhanced/plugins/_SelectionPreserver","dojo/i18n!./enhanced/nls/EnhancedGrid"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d){ _1.experimental("dojox.grid.EnhancedGrid"); var _e=_3("dojox.grid.EnhancedGrid",_a,{plugins:null,pluginMgr:null,_pluginMgrClass:_c,postMixInProperties:function(){ this._nls=_9.getLocalization("dojox.grid.enhanced","EnhancedGrid",this.lang); this.inherited(arguments); },postCreate:function(){ this.pluginMgr=new this._pluginMgrClass(this); this.pluginMgr.preInit(); this.inherited(arguments); this.pluginMgr.postInit(); },plugin:function(_f){ return this.pluginMgr.getPlugin(_f); },startup:function(){ this.inherited(arguments); this.pluginMgr.startup(); },createSelection:function(){ this.selection=new _2.grid.enhanced.DataSelection(this); },canSort:function(_10,_11){ return true; },doKeyEvent:function(e){ try{ var _12=this.focus.focusView; _12.content.decorateEvent(e); if(!e.cell){ _12.header.decorateEvent(e); } } catch(e){ } this.inherited(arguments); },doApplyCellEdit:function(_13,_14,_15){ if(!_15){ this.invalidated[_14]=true; return; } this.inherited(arguments); },mixin:function(_16,_17){ var _18={}; for(var p in _17){ if(p=="_inherited"||p=="declaredClass"||p=="constructor"||_17["privates"]&&_17["privates"][p]){ continue; } _18[p]=_17[p]; } _4.mixin(_16,_18); },_copyAttr:function(idx,_19){ if(!_19){ return; } return this.inherited(arguments); },_getHeaderHeight:function(){ this.inherited(arguments); return _8.getMarginBox(this.viewsHeaderNode).h; },_fetch:function(_1a,_1b){ if(this.items){ return this.inherited(arguments); } _1a=_1a||0; if(this.store&&!this._pending_requests[_1a]){ if(!this._isLoaded&&!this._isLoading){ this._isLoading=true; this.showMessage(this.loadingMessage); } this._pending_requests[_1a]=true; try{ var req={start:_1a,count:this.rowsPerPage,query:this.query,sort:this.getSortProps(),queryOptions:this.queryOptions,isRender:_1b,onBegin:_4.hitch(this,"_onFetchBegin"),onComplete:_4.hitch(this,"_onFetchComplete"),onError:_4.hitch(this,"_onFetchError")}; this._storeLayerFetch(req); } catch(e){ this._onFetchError(e,{start:_1a,count:this.rowsPerPage}); } } return 0; },_storeLayerFetch:function(req){ this.store.fetch(req); },getCellByField:function(_1c){ return _5.filter(this.layout.cells,function(_1d){ return _1d.field==_1c; })[0]; },onMouseUp:function(e){ },createView:function(){ var _1e=this.inherited(arguments); if(_6("mozilla")){ var _1f=function(_20,_21){ for(var n=_20;n&&_21(n);n=n.parentNode){ } return n; }; var _22=function(_23){ var _24=_23.toUpperCase(); return function(_25){ return _25.tagName!=_24; }; }; var _26=_1e.header.getCellX; _1e.header.getCellX=function(e){ var x=_26.call(_1e.header,e); var n=_1f(e.target,_22("th")); if(n&&n!==e.target&&_7.isDescendant(e.target,n)){ x+=n.firstChild.offsetLeft; } return x; }; } return _1e; },destroy:function(){ delete this._nls; this.pluginMgr.destroy(); this.inherited(arguments); }}); _3("dojox.grid.enhanced.DataSelection",_b,{constructor:function(_27){ if(_27.keepSelection){ if(this.preserver){ this.preserver.destroy(); } this.preserver=new _d(this); } },_range:function(_28,_29){ this.grid._selectingRange=true; this.inherited(arguments); this.grid._selectingRange=false; this.onChanged(); },deselectAll:function(_2a){ this.grid._selectingRange=true; this.inherited(arguments); this.grid._selectingRange=false; this.onChanged(); }}); _e.markupFactory=function(_2b,_2c,_2d,_2e){ return _2.grid._Grid.markupFactory(_2b,_2c,_2d,_4.partial(_a.cell_markupFactory,_2e)); }; _e.registerPlugin=function(_2f,_30){ _c.registerPlugin(_2f,_30); }; return _e; });