//>>built
require({cache:{"url:dojox/grid/resources/Expando.html":"
\n"}});define("dojox/grid/LazyTreeGrid",["dojo/_base/kernel","dojo/_base/declare","dojo/_base/lang","dojo/_base/event","dojo/_base/array","dojo/query","dojo/parser","dojo/dom-construct","dojo/dom-class","dojo/dom-style","dojo/dom-geometry","dojo/dom","dojo/keys","dojo/text!./resources/Expando.html","dijit/_Widget","dijit/_TemplatedMixin","./TreeGrid","./_Builder","./_View","./_Layout","./cells/tree","./_RowManager","./_FocusManager","./_EditManager","./DataSelection","./util"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_1a){var _1b=_2("dojox.grid._LazyExpando",[_f,_10],{grid:null,view:null,rowIdx:-1,cellIdx:-1,level:0,itemId:"",templateString:_e,onToggle:function(evt){if(this.grid._treeCache.items[this.rowIdx]){this.grid.focus.setFocusIndex(this.rowIdx,this.cellIdx);this.setOpen(!this.grid._treeCache.items[this.rowIdx].opened);try{_4.stop(evt);}catch(e){}}},setOpen:function(_1c){var g=this.grid,_1d=g._by_idx[this.rowIdx].item;if(_1d&&g.treeModel.mayHaveChildren(_1d)&&!g._loading&&g._treeCache.items[this.rowIdx].opened!==_1c){g._treeCache.items[this.rowIdx].opened=_1c;g.expandoFetch(this.rowIdx,_1c);this._updateOpenState(_1d);}},_updateOpenState:function(_1e){var g=this.grid,_1f;if(_1e&&g.treeModel.mayHaveChildren(_1e)){_1f=g._treeCache.items[this.rowIdx].opened;this.expandoInner.innerHTML=_1f?"-":"+";_9.toggle(this.domNode,"dojoxGridExpandoOpened",_1f);this.domNode.parentNode.setAttribute("aria-expanded",_1f);}else{_9.remove(this.domNode,"dojoxGridExpandoOpened");}},setRowNode:function(_20,_21,_22){if(this.cellIdx<0||!this.itemId){return false;}this.view=_22;this.grid=_22.grid;this.rowIdx=_20;var _23=this.grid.isLeftToRight()?"marginLeft":"marginRight";_a.set(this.domNode.parentNode,_23,(this.level*1.125)+"em");this._updateOpenState(this.grid._by_idx[this.rowIdx].item);return true;}});var _24=_2("dojox.grid._TreeGridContentBuilder",_12._ContentBuilder,{generateHtml:function(_25,_26){var _27=this.getTableArray(),_28=this.grid,v=this.view,_29=v.structure.cells,_2a=_28.getItem(_26),_2b=0,_2c="",_2d=_28._treeCache.items[_26]?_28._treeCache.items[_26].treePath:null;_1a.fire(this.view,"onBeforeRow",[_26,_29]);if(_2a&&_3.isArray(_2d)){_2b=_2d.length;_2c=_28.treeModel.mayHaveChildren(_2a)?"":"dojoxGridNoChildren";}var i=0,j=0,row,_2e,_2f,_30=0,_31=[];for(;row=_29[j];j++){if(row.hidden||row.header){continue;}_27.push("");_2f=this._getColSpans(_2b);if(_2f){_5.forEach(_2f,function(c){for(i=0;_2e=row[i];i++){if(i>=c.start&&i<=c.end){_30+=this._getCellWidth(row,i);}}_31.push(_30);_30=0;},this);}var m,cc,cs,pbm,k=0;for(i=0;_2e=row[i];i++){m=_2e.markup;cc=_2e.customClasses=[];cs=_2e.customStyles=[];if(_2f&&_2f[k]&&(i>=_2f[k].start&&i<=_2f[k].end)){var _32=_2f[k].primary||_2f[k].start;if(i==_32){m[5]=_2e.formatAtLevel(_2a,_2b,_26);m[1]=cc.join(" ");pbm=_b.getMarginBox(_2e.getHeaderNode()).w-_b.getContentBox(_2e.getHeaderNode()).w;cs=_2e.customStyles=["width:"+(_31[k]-pbm)+"px"];m[3]=cs.join(";");_27.push.apply(_27,m);}else{if(i==_2f[k].end){k++;continue;}else{continue;}}}else{m[5]=_2e.formatAtLevel(_2a,_2b,_26);m[1]=cc.join(" ");m[3]=cs.join(";");_27.push.apply(_27,m);}}_27.push("
");}_27.push("");return _27.join("");},_getColSpans:function(_33){var _34=this.grid.colSpans;return _34&&_34[_33]?_34[_33]:null;},_getCellWidth:function(_35,_36){var _37=_35[_36],_38=_37.getHeaderNode();if(_37.hidden){return 0;}if(_36==_35.length-1||_5.every(_35.slice(_36+1),function(_39){return _39.hidden;})){var _3a=_b.position(_35[_36].view.headerContentNode.firstChild);return _3a.x+_3a.w-_b.position(_38).x;}else{var _3b;do{_3b=_35[++_36];}while(_3b.hidden);return _b.position(_3b.getHeaderNode()).x-_b.position(_38).x;}}});_2("dojox.grid._TreeGridView",_13,{_contentBuilderClass:_24,postCreate:function(){this.inherited(arguments);this._expandos={};this.connect(this.grid,"_onCleanupExpandoCache","_cleanupExpandoCache");},destroy:function(){this._cleanupExpandoCache();this.inherited(arguments);},_cleanupExpandoCache:function(_3c){if(_3c&&this._expandos[_3c]){this._expandos[_3c].destroy();delete this._expandos[_3c];}else{var i;for(i in this._expandos){this._expandos[i].destroy();}this._expandos={};}},onAfterRow:function(_3d,_3e,_3f){_6("span.dojoxGridExpando",_3f).forEach(function(n){if(n&&n.parentNode){var _40,_41,_42=this.grid._by_idx;if(_42&&_42[_3d]&&_42[_3d].idty){_40=_42[_3d].idty;_41=this._expandos[_40];}if(_41){_8.place(_41.domNode,n,"replace");_41.itemId=n.getAttribute("itemId");_41.cellIdx=parseInt(n.getAttribute("cellIdx"),10);if(isNaN(_41.cellIdx)){_41.cellIdx=-1;}}else{_41=_7.parse(n.parentNode)[0];if(_40){this._expandos[_40]=_41;}}if(!_41.setRowNode(_3d,_3f,this)){_41.domNode.parentNode.removeChild(_41.domNode);}_8.destroy(n);}},this);this.inherited(arguments);},updateRow:function(_43){var _44=this.grid,_45;if(_44.keepSelection){_45=_44.getItem(_43);if(_45){_44.selection.preserver._reSelectById(_45,_43);}}this.inherited(arguments);}});var _46=_3.mixin(_3.clone(_15),{formatAtLevel:function(_47,_48,_49){if(!_47){return this.formatIndexes(_49,_47,_48);}var _4a="",ret="",_4b;if(this.isCollapsable&&this.grid.store.isItem(_47)){ret="";}_4b=this.formatIndexes(_49,_47,_48);_4a=ret!==""?""+ret+_4b+"
":_4b;return _4a;},formatIndexes:function(_4c,_4d,_4e){var _4f=this.grid.edit.info,d=this.get?this.get(_4c,_4d):(this.value||this.defaultValue);if(this.editable&&(this.alwaysEditing||(_4f.rowIndex===_4c&&_4f.cell===this))){return this.formatEditing(d,_4c);}else{var dir=this.textDir||this.grid.textDir;var ret=this._defaultFormat(d,[d,_4c,_4e,this]);if(dir&&this._enforceTextDirWithUcc){ret=this._enforceTextDirWithUcc(dir,ret);}return ret;}}});var _50=_2("dojox.grid._LazyTreeLayout",_14,{setStructure:function(_51){var g=this.grid,s=_51;if(g&&!_5.every(s,function(i){return !!i.cells;})){s=arguments[0]=[{cells:[s]}];}if(s.length===1&&s[0].cells.length===1){s[0].type="dojox.grid._TreeGridView";this._isCollapsable=true;s[0].cells[0][this.grid.expandoCell].isCollapsable=true;}this.inherited(arguments);},addCellDef:function(_52,_53,def){var obj=this.inherited(arguments);return _3.mixin(obj,_46);}});var _54=_2("dojox.grid._LazyTreeGridCache",null,{constructor:function(){this.items=[];},getSiblingIndex:function(_55,_56){var i=_55-1,_57=0,tp;for(;i>=0;i--){tp=this.items[i]?this.items[i].treePath:[];if(tp.join("/")===_56.join("/")){_57++;}else{if(tp.length<_56.length){break;}}}return _57;},removeChildren:function(_58){var i=_58+1,_59,tp,_5a=this.items[_58]?this.items[_58].treePath:[];for(;i=0){if(_6f[_73]&&_6f[_73].opened){var _74=_6f[_73].treePath,pos=_73+1;for(;pos<_6f.length;pos++){if(_6f[pos].treePath.length<=_74.length){break;}}var _75=_74.slice();_75.push(_72);this._treeCache.items.splice(pos,0,{opened:false,treePath:_75});var _76=this.store.getIdentity(_6c);this._by_idty[_76]={idty:_76,item:_6c};_70.splice(pos,0,this._by_idty[_76]);this._size+=1;this.updateRowCount(this._size);this._updateRenderedRows(pos);}else{this.updateRow(_73);}}}},_onDelete:function(_77){var i=0,_78=-1,_79=this.store.getIdentity(_77);for(;i=0){var _7a=this._treeCache.items,_7b=_7a[_78]?_7a[_78].treePath:[],tp,_7c=1;i=_78+1;for(;i0?Math.min(this.rowsPerPage,this._size-_7e):this.rowsPerPage;var i=0;var _81=[];this._reqQueueLen=0;for(;i<_80;i++){if(this._by_idx[_7e+i]){_81.push(this._by_idx[_7e+i].item);}else{break;}}if(_81.length===_80){this._reqQueueLen=1;this._onFetchBegin(this._size,{startRowIdx:_7e,count:_80});this._onFetchComplete(_81,{startRowIdx:_7e,count:_80});}else{var _82,_83,len=1,_84=this._treeCache.items,_85=_84[_7e]?_84[_7e].treePath:[];for(i=1;i<_80;i++){_82=_84[_7e+len-1]?_84[_7e+len-1].treePath.length:0;_83=_84[_7e+len]?_84[_7e+len].treePath.length:0;if(_82!==_83){this._reqQueueLen++;this._fetchItems({startRowIdx:_7e,count:len,treePath:_85});_7e=_7e+len;len=1;_85=_84[_7e]?_84[_7e].treePath:0;}else{len++;}}this._reqQueueLen++;this._fetchItems({startRowIdx:_7e,count:len,treePath:_85});}},_fetchItems:function(req){if(this._pending_requests[req.startRowIdx]){return;}this.showMessage(this.loadingMessage);this._pending_requests[req.startRowIdx]=true;var _86=_3.hitch(this,"_onFetchError"),_87=this._treeCache.getSiblingIndex(req.startRowIdx,req.treePath);if(req.treePath.length===0){this.store.fetch({start:_87,startRowIdx:req.startRowIdx,treePath:req.treePath,count:req.count,query:this.query,sort:this.getSortProps(),queryOptions:this.queryOptions,onBegin:_3.hitch(this,"_onFetchBegin"),onComplete:_3.hitch(this,"_onFetchComplete"),onError:_3.hitch(this,"_onFetchError")});}else{var _88=req.treePath[req.treePath.length-1],_89;var _8a={start:_87,startRowIdx:req.startRowIdx,treePath:req.treePath,count:req.count,parentId:_88,sort:this.getSortProps()};var _8b=this;var _8c=function(){var f=_3.hitch(_8b,"_onFetchComplete");if(arguments.length==1){f.apply(_8b,[arguments[0],_8a]);}else{f.apply(_8b,arguments);}};if(this._by_idty[_88]){_89=this._by_idty[_88].item;this.treeModel.getChildren(_89,_8c,_86,_8a);}else{this.store.fetchItemByIdentity({identity:_88,onItem:function(_8d){_8b.treeModel.getChildren(_8d,_8c,_86,_8a);},onError:_86});}}},_onFetchBegin:function(_8e,_8f){if(this._treeCache.items.length===0){this._size=parseInt(_8e,10);}_8e=this._size;this.inherited(arguments);},_onFetchComplete:function(_90,_91){var _92=_91.startRowIdx,_93=_91.count,_94=_90.length<=_93?0:_91.start,_95=_91.treePath||[];if(_3.isArray(_90)&&_90.length>0){var i=0,len=Math.min(_93,_90.length);for(;i=_a7){this.updateRows(p*this.rowsPerPage,this.rowsPerPage);}else{if((p+1)*this.rowsPerPage>=_a7){this.updateRows(_a7,(p+1)*this.rowsPerPage-_a7+1);}}},this);},_fold:function(_a8,_a9){var _aa=-1,i=0,_ab=this._by_idx,_ac=this._by_idty[_a8];if(_ac&&_ac.item&&this.treeModel.mayHaveChildren(_ac.item)){for(;i<_ab.length;i++){if(_ab[i]&&_ab[i].idty===_a8){_aa=i;break;}}if(_aa>=0){var _ad=this.views.views[this.views.views.length-1].getRowNode(_aa);if(_ad){var _ae=dijit.findWidgets(_ad)[0];if(_ae){_ae.setOpen(_a9);}}}}}});_5b.markupFactory=function(_af,_b0,_b1,_b2){return _11.markupFactory(_af,_b0,_b1,_b2);};return _5b;});