//>>built define("dojox/grid/_Layout",["dojo/_base/kernel","../main","dojo/_base/declare","dojo/_base/array","dojo/_base/lang","dojo/dom-geometry","./cells","./_RowSelector"],function(_1,_2,_3,_4,_5,_6){ return _3("dojox.grid._Layout",null,{constructor:function(_7){ this.grid=_7; },cells:[],structure:null,defaultWidth:"6em",moveColumn:function(_8,_9,_a,_b,_c){ var _d=this.structure[_8].cells[0]; var _e=this.structure[_9].cells[0]; var _f=null; var _10=0; var _11=0; for(var i=0,c;c=_d[i];i++){ if(c.index==_a){ _10=i; break; } } _f=_d.splice(_10,1)[0]; _f.view=this.grid.views.views[_9]; for(i=0,c=null;c=_e[i];i++){ if(c.index==_b){ _11=i; break; } } if(!_c){ _11+=1; } _e.splice(_11,0,_f); var _12=this.grid.getCell(this.grid.getSortIndex()); if(_12){ _12._currentlySorted=this.grid.getSortAsc(); } this.cells=[]; _a=0; var v; for(i=0;v=this.structure[i];i++){ for(var j=0,cs;cs=v.cells[j];j++){ for(var k=0;c=cs[k];k++){ c.index=_a; this.cells.push(c); if("_currentlySorted" in c){ var si=_a+1; si*=c._currentlySorted?1:-1; this.grid.sortInfo=si; delete c._currentlySorted; } _a++; } } } _4.forEach(this.cells,function(c){ var _13=c.markup[2].split(" "); var _14=parseInt(_13[1].substring(5)); if(_14!=c.index){ _13[1]="idx=\""+c.index+"\""; c.markup[2]=_13.join(" "); } }); this.grid.setupHeaderMenu(); },setColumnVisibility:function(_15,_16){ var _17=this.cells[_15]; if(_17.hidden==_16){ _17.hidden=!_16; var v=_17.view,w=v.viewWidth; if(w&&w!="auto"){ v._togglingColumn=_6.getMarginBox(_17.getHeaderNode()).w||0; } v.update(); return true; }else{ return false; } },addCellDef:function(_18,_19,_1a){ var _1b=this; var _1c=function(_1d){ var w=0; if(_1d.colSpan>1){ w=0; }else{ w=_1d.width||_1b._defaultCellProps.width||_1b.defaultWidth; if(!isNaN(w)){ w=w+"em"; } } return w; }; var _1e={grid:this.grid,subrow:_18,layoutIndex:_19,index:this.cells.length}; if(_1a&&_1a instanceof _2.grid.cells._Base){ var _1f=_5.clone(_1a); _1e.unitWidth=_1c(_1f._props); _1f=_5.mixin(_1f,this._defaultCellProps,_1a._props,_1e); return _1f; } var _20=_1a.type||_1a.cellType||this._defaultCellProps.type||this._defaultCellProps.cellType||_2.grid.cells.Cell; if(_5.isString(_20)){ _20=_5.getObject(_20); } _1e.unitWidth=_1c(_1a); return new _20(_5.mixin({},this._defaultCellProps,_1a,_1e)); },addRowDef:function(_21,_22){ var _23=[]; var _24=0,_25=0,_26=true; for(var i=0,def,_27;(def=_22[i]);i++){ _27=this.addCellDef(_21,i,def); _23.push(_27); this.cells.push(_27); if(_26&&_27.relWidth){ _24+=_27.relWidth; }else{ if(_27.width){ var w=_27.width; if(typeof w=="string"&&w.slice(-1)=="%"){ _25+=window.parseInt(w,10); }else{ if(w=="auto"){ _26=false; } } } } } if(_24&&_26){ _4.forEach(_23,function(_28){ if(_28.relWidth){ _28.width=_28.unitWidth=((_28.relWidth/_24)*(100-_25))+"%"; } }); } return _23; },addRowsDef:function(_29){ var _2a=[]; if(_5.isArray(_29)){ if(_5.isArray(_29[0])){ for(var i=0,row;_29&&(row=_29[i]);i++){ _2a.push(this.addRowDef(i,row)); } }else{ _2a.push(this.addRowDef(0,_29)); } } return _2a; },addViewDef:function(_2b){ this._defaultCellProps=_2b.defaultCell||{}; if(_2b.width&&_2b.width=="auto"){ delete _2b.width; } return _5.mixin({},_2b,{cells:this.addRowsDef(_2b.rows||_2b.cells)}); },setStructure:function(_2c){ this.fieldIndex=0; this.cells=[]; var s=this.structure=[]; if(this.grid.rowSelector){ var sel={type:_2._scopeName+".grid._RowSelector"}; if(_5.isString(this.grid.rowSelector)){ var _2d=this.grid.rowSelector; if(_2d=="false"){ sel=null; }else{ if(_2d!="true"){ sel["width"]=_2d; } } }else{ if(!this.grid.rowSelector){ sel=null; } } if(sel){ s.push(this.addViewDef(sel)); } } var _2e=function(def){ return ("name" in def||"field" in def||"get" in def); }; var _2f=function(def){ if(_5.isArray(def)){ if(_5.isArray(def[0])||_2e(def[0])){ return true; } } return false; }; var _30=function(def){ return (def!==null&&_5.isObject(def)&&("cells" in def||"rows" in def||("type" in def&&!_2e(def)))); }; if(_5.isArray(_2c)){ var _31=false; for(var i=0,st;(st=_2c[i]);i++){ if(_30(st)){ _31=true; break; } } if(!_31){ s.push(this.addViewDef({cells:_2c})); }else{ for(i=0;(st=_2c[i]);i++){ if(_2f(st)){ s.push(this.addViewDef({cells:st})); }else{ if(_30(st)){ s.push(this.addViewDef(st)); } } } } }else{ if(_30(_2c)){ s.push(this.addViewDef(_2c)); } } this.cellCount=this.cells.length; this.grid.setupHeaderMenu(); }}); });