//>>built define("dojox/gantt/GanttProjectControl",["./GanttTaskItem","./GanttTaskControl","dijit/focus","dojo/_base/declare","dojo/_base/array","dojo/_base/lang","dojo/date/locale","dojo/request","dojo/on","dojo/dom","dojo/dom-class","dojo/dom-construct","dojo/dom-style","dojo/dom-attr","dojo/dom-geometry","dojo/keys","dojo/domReady!"],function(_1,_2,_3,_4,_5,_6,_7,_8,on,_9,_a,_b,_c,_d,_e,_f){ return _4("dojox.gantt.GanttProjectControl",[],{constructor:function(_10,_11){ this.project=_11; this.ganttChart=_10; this.descrProject=null; this.projectItem=null; this.projectNameItem=null; this.posY=0; this.posX=0; this.nextProject=null; this.previousProject=null; this.arrTasks=[]; this.percentage=0; this.duration=0; },checkWidthProjectNameItem:function(){ if(this.projectNameItem.offsetWidth+this.projectNameItem.offsetLeft>this.ganttChart.maxWidthTaskNames){ var _12=this.projectNameItem.offsetWidth+this.projectNameItem.offsetLeft-this.ganttChart.maxWidthTaskNames; var _13=Math.round(_12/(this.projectNameItem.offsetWidth/this.projectNameItem.firstChild.length)); var _14=this.project.name.substring(0,this.projectNameItem.firstChild.length-_13-3); _14+="..."; this.projectNameItem.innerHTML=_14; } },refreshProjectItem:function(_15){ this.percentage=this.getPercentCompleted(); _c.set(_15,{"left":this.posX+"px","width":this.duration*this.ganttChart.pixelsPerWorkHour+"px"}); var _16=_15.firstChild; var _17=this.duration*this.ganttChart.pixelsPerWorkHour; _16.width=((_17==0)?1:_17)+"px"; _16.style.width=((_17==0)?1:_17)+"px"; var _18=_16.rows[0]; if(this.percentage!=-1){ if(this.percentage!=0){ var _19=_18.firstChild; _19.width=this.percentage+"%"; var _1a=_19.firstChild; _c.set(_1a,{width:(!this.duration?1:(this.percentage*this.duration*this.ganttChart.pixelsPerWorkHour/100))+"px",height:this.ganttChart.heightTaskItem+"px"}); } if(this.percentage!=100){ var _19=_18.lastChild; _19.width=(100-this.percentage)+"%"; var _1a=_19.firstChild; _c.set(_1a,{width:(!this.duration?1:((100-this.percentage)*this.duration*this.ganttChart.pixelsPerWorkHour/100))+"px",height:this.ganttChart.heightTaskItem+"px"}); } }else{ var _19=_18.firstChild; _19.width="1px"; var _1a=_19.firstChild; _c.set(_1a,{width:"1px",height:this.ganttChart.heightTaskItem+"px"}); } var _1b=_15.lastChild; var _1c=_1b.firstChild; _c.set(_1c,{height:this.ganttChart.heightTaskItem+"px",width:(!this.duration?1:(this.duration*this.ganttChart.pixelsPerWorkHour))+"px"}); var _1d=_1c.rows[0]; var _1e=_1d.firstChild; _1e.height=this.ganttChart.heightTaskItem+"px"; if(this.project.parentTasks.length==0){ _15.style.display="none"; } return _15; },refreshDescrProject:function(_1f){ var _20=(this.posX+this.duration*this.ganttChart.pixelsPerWorkHour+10); _c.set(_1f,{"left":_20+"px"}); if(this.project.parentTasks.length==0){ this.descrProject.style.visibility="hidden"; } return _1f; },postLoadData:function(){ },refresh:function(){ this.posX=(this.project.startDate-this.ganttChart.startDate)/(60*60*1000)*this.ganttChart.pixelsPerHour; this.refreshProjectItem(this.projectItem[0]); this.refreshDescrProject(this.projectItem[0].nextSibling); return this; },create:function(){ var _21=this.ganttChart.contentData.firstChild; this.posX=(this.project.startDate-this.ganttChart.startDate)/(60*60*1000)*this.ganttChart.pixelsPerHour; if(this.previousProject){ if(this.previousProject.arrTasks.length>0){ var _22=this.ganttChart.getLastChildTask(this.previousProject.arrTasks[this.previousProject.arrTasks.length-1]); this.posY=parseInt(_22.cTaskItem[0].style.top)+this.ganttChart.heightTaskItem+this.ganttChart.heightTaskItemExtra; }else{ this.posY=parseInt(this.previousProject.projectItem[0].style.top)+this.ganttChart.heightTaskItem+this.ganttChart.heightTaskItemExtra; } }else{ this.posY=6; } var _23=this.ganttChart.panelNames.firstChild; this.projectNameItem=this.createProjectNameItem(); _23.appendChild(this.projectNameItem); this.checkWidthProjectNameItem(); this.projectItem=[this.createProjectItem(),[]]; _21.appendChild(this.projectItem[0]); _21.appendChild(this.createDescrProject()); this.adjustPanelTime(); },getTaskById:function(id){ for(var i=0;i0){ var _27=this.searchTaskInTree(_27,id); if(_27){ return _27; } } } } } return null; },shiftProjectItem:function(){ var _28=null; var _29=null; var _2a=parseInt(this.projectItem[0].style.left); for(var i=0;i_2c){ _28=_2c; } if(_29<_2d){ _29=_2d; } } if(_28!=_2a){ this.project.startDate=new Date(this.ganttChart.startDate); this.project.startDate.setHours(this.project.startDate.getHours()+(_28/this.ganttChart.pixelsPerHour)); } this.projectItem[0].style.left=_28+"px"; this.resizeProjectItem(_29-_28); this.duration=Math.round(parseInt(this.projectItem[0].firstChild.width)/(this.ganttChart.pixelsPerWorkHour)); this.shiftDescrProject(); this.adjustPanelTime(); },adjustPanelTime:function(){ var _2e=this.projectItem[0]; var _2f=parseInt(_2e.style.left)+parseInt(_2e.firstChild.style.width)+this.ganttChart.panelTimeExpandDelta; _2f+=this.descrProject.offsetWidth; this.ganttChart.adjustPanelTime(_2f); },resizeProjectItem:function(_30){ var _31=this.percentage,_32=this.projectItem[0]; if(_31>0&&_31<100){ _32.firstChild.style.width=_30+"px"; _32.firstChild.width=_30+"px"; _32.style.width=_30+"px"; var _33=_32.firstChild.rows[0]; _33.cells[0].firstChild.style.width=Math.round(_30*_31/100)+"px"; _33.cells[0].firstChild.style.height=this.ganttChart.heightTaskItem+"px"; _33.cells[1].firstChild.style.width=Math.round(_30*(100-_31)/100)+"px"; _33.cells[1].firstChild.style.height=this.ganttChart.heightTaskItem+"px"; _32.lastChild.firstChild.width=_30+"px"; }else{ if(_31==0||_31==100){ _32.firstChild.style.width=_30+"px"; _32.firstChild.width=_30+"px"; _32.style.width=_30+"px"; var _33=_32.firstChild.rows[0]; _33.cells[0].firstChild.style.width=_30+"px"; _33.cells[0].firstChild.style.height=this.ganttChart.heightTaskItem+"px"; _32.lastChild.firstChild.width=_30+"px"; } } },shiftDescrProject:function(){ var _34=(parseInt(this.projectItem[0].style.left)+this.duration*this.ganttChart.pixelsPerWorkHour+10); this.descrProject.style.left=_34+"px"; this.descrProject.innerHTML=this.getDescStr(); },showDescrProject:function(){ var _35=(parseInt(this.projectItem[0].style.left)+this.duration*this.ganttChart.pixelsPerWorkHour+10); this.descrProject.style.left=_35+"px"; this.descrProject.style.visibility="visible"; this.descrProject.innerHTML=this.getDescStr(); },hideDescrProject:function(){ this.descrProject.style.visibility="hidden"; },getDescStr:function(){ return this.duration/this.ganttChart.hsPerDay+" days, "+this.duration+" hours"; },createDescrProject:function(){ var _36=(this.posX+this.duration*this.ganttChart.pixelsPerWorkHour+10); var _37=_b.create("div",{innerHTML:this.getDescStr(),className:"ganttDescProject"}); _c.set(_37,{left:_36+"px",top:this.posY+"px"}); this.descrProject=_37; if(this.project.parentTasks.length==0){ this.descrProject.style.visibility="hidden"; } return _37; },createProjectItem:function(){ this.percentage=this.getPercentCompleted(); this.duration=this.getDuration(); var _38=_b.create("div",{id:this.project.id,className:"ganttProjectItem"}); _c.set(_38,{left:this.posX+"px",top:this.posY+"px",width:this.duration*this.ganttChart.pixelsPerWorkHour+"px"}); var _39=_b.create("table",{cellPadding:"0",cellSpacing:"0",className:"ganttTblProjectItem"},_38); var _3a=this.duration*this.ganttChart.pixelsPerWorkHour; _39.width=((_3a==0)?1:_3a)+"px"; _39.style.width=((_3a==0)?1:_3a)+"px"; var _3b=_39.insertRow(_39.rows.length); if(this.percentage!=-1){ if(this.percentage!=0){ var _3c=_b.create("td",{width:this.percentage+"%"},_3b); _3c.style.lineHeight="1px"; var _3d=_b.create("div",{className:"ganttImageProgressFilled"},_3c); _c.set(_3d,{width:(this.percentage*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); } if(this.percentage!=100){ var _3c=_b.create("td",{width:(100-this.percentage)+"%"},_3b); _3c.style.lineHeight="1px"; var _3d=_b.create("div",{className:"ganttImageProgressBg"},_3c); _c.set(_3d,{width:((100-this.percentage)*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); } }else{ var _3c=_b.create("td",{width:"1px"},_3b); _3c.style.lineHeight="1px"; var _3d=_b.create("div",{className:"ganttImageProgressBg"},_3c); _c.set(_3d,{width:"1px",height:this.ganttChart.heightTaskItem+"px"}); } var _3e=_b.create("div",{className:"ganttDivTaskInfo"}); var _3f=_b.create("table",{cellPadding:"0",cellSpacing:"0",height:this.ganttChart.heightTaskItem+"px",width:((this.duration*this.ganttChart.pixelsPerWorkHour==0)?1:this.duration*this.ganttChart.pixelsPerWorkHour)+"px"},_3e); var _40=_3f.insertRow(0); _b.create("td",{align:"center",vAlign:"top",height:this.ganttChart.heightTaskItem+"px",className:"ganttMoveInfo"},_40); _38.appendChild(_3e); if(this.project.parentTasks.length==0){ _38.style.display="none"; } return _38; },createProjectNameItem:function(){ var _41=_b.create("div",{className:"ganttProjectNameItem",innerHTML:this.project.name,title:this.project.name}); _c.set(_41,{left:"5px",top:this.posY+"px"}); _d.set(_41,"tabIndex",0); if(this.ganttChart.isShowConMenu){ this.ganttChart._events.push(on(_41,"mouseover",_6.hitch(this,function(_42){ _a.add(_41,"ganttProjectNameItemHover"); clearTimeout(this.ganttChart.menuTimer); this.ganttChart.tabMenu.clear(); this.ganttChart.tabMenu.show(_42.target,this); }))); this.ganttChart._events.push(on(_41,"keydown",_6.hitch(this,function(_43){ if(_43.keyCode==_f.ENTER){ this.ganttChart.tabMenu.clear(); this.ganttChart.tabMenu.show(_43.target,this); } if(this.ganttChart.tabMenu.isShow&&(_43.keyCode==_f.LEFT_ARROW||_43.keyCode==_f.RIGHT_ARROW)){ _3(this.ganttChart.tabMenu.menuPanel.firstChild.rows[0].cells[0]); } if(this.ganttChart.tabMenu.isShow&&_43.keyCode==_f.ESCAPE){ this.ganttChart.tabMenu.hide(); } }))); this.ganttChart._events.push(on(_41,"mouseout",_6.hitch(this,function(){ _a.remove(_41,"ganttProjectNameItemHover"); clearTimeout(this.ganttChart.menuTimer); this.ganttChart.menuTimer=setTimeout(_6.hitch(this,function(){ this.ganttChart.tabMenu.hide(); }),200); }))); this.ganttChart._events.push(on(this.ganttChart.tabMenu.menuPanel,"mouseover",_6.hitch(this,function(){ clearTimeout(this.ganttChart.menuTimer); }))); this.ganttChart._events.push(on(this.ganttChart.tabMenu.menuPanel,"keydown",_6.hitch(this,function(){ if(this.ganttChart.tabMenu.isShow&&event.keyCode==_f.ESCAPE){ this.ganttChart.tabMenu.hide(); } }))); this.ganttChart._events.push(on(this.ganttChart.tabMenu.menuPanel,"mouseout",_6.hitch(this,function(){ clearTimeout(this.ganttChart.menuTimer); this.ganttChart.menuTimer=setTimeout(_6.hitch(this,function(){ this.ganttChart.tabMenu.hide(); }),200); }))); } return _41; },getPercentCompleted:function(){ var sum=0; _5.forEach(this.project.parentTasks,function(_44){ sum+=parseInt(_44.percentage); },this); if(this.project.parentTasks.length!=0){ return Math.round(sum/this.project.parentTasks.length); }else{ return -1; } },getDuration:function(){ var _45=0,_46=0; if(this.project.parentTasks.length>0){ _5.forEach(this.project.parentTasks,function(_47){ _46=_47.duration*24/this.ganttChart.hsPerDay+(_47.startTime-this.ganttChart.startDate)/(60*60*1000); if(_46>_45){ _45=_46; } },this); return ((_45-this.posX)/24)*this.ganttChart.hsPerDay; }else{ return 0; } },deleteTask:function(id){ var _48=this.getTaskById(id); if(_48){ this.deleteChildTask(_48); this.ganttChart.checkPosition(); } },setName:function(_49){ if(_49){ this.project.name=_49; this.projectNameItem.innerHTML=_49; this.projectNameItem.title=_49; this.checkWidthProjectNameItem(); this.descrProject.innerHTML=this.getDescStr(); this.adjustPanelTime(); } },setPercentCompleted:function(_4a){ _4a=parseInt(_4a); if(isNaN(_4a)||_4a>100||_4a<0){ return false; } var _4b=this.projectItem[0].firstChild.rows[0],rc0=_4b.cells[0],rc1=_4b.cells[1]; if((_4a>0)&&(_4a<100)&&(this.percentage>0)&&(this.percentage<100)){ rc0.width=parseInt(_4a)+"%"; rc0.firstChild.style.width=(_4a*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px"; rc1.width=(100-parseInt(_4a))+"%"; rc1.firstChild.style.width=((100-_4a)*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px"; }else{ if(((_4a==0)||(_4a==100))&&(this.percentage>0)&&(this.percentage<100)){ if(_4a==0){ rc0.parentNode.removeChild(rc0); rc1.width=100+"%"; rc1.firstChild.style.width=this.duration*this.ganttChart.pixelsPerWorkHour+"px"; }else{ if(_4a==100){ rc1.parentNode.removeChild(rc1); rc0.width=100+"%"; rc0.firstChild.style.width=this.duration*this.ganttChart.pixelsPerWorkHour+"px"; } } }else{ if(((_4a==0)||(_4a==100))&&((this.percentage==0)||(this.percentage==100))){ if((_4a==0)&&(this.percentage==100)){ _a.remove(rc0.firstChild,"ganttImageProgressFilled"); _a.add(rc0.firstChild,"ganttImageProgressBg"); }else{ if((_4a==100)&&(this.percentage==0)){ _a.remove(rc0.firstChild,"ganttImageProgressBg"); _a.add(rc0.firstChild,"ganttImageProgressFilled"); } } }else{ if(((_4a>0)||(_4a<100))&&((this.percentage==0)||(this.percentage==100))){ rc0.parentNode.removeChild(rc0); var _4c=_b.create("td",{width:_4a+"%"},_4b); _4c.style.lineHeight="1px"; var _4d=_b.create("div",{className:"ganttImageProgressFilled"},_4c); _c.set(_4d,{width:(_4a*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); _4c=_b.create("td",{width:(100-_4a)+"%"},_4b); _4c.style.lineHeight="1px"; _4d=_b.create("div",{className:"ganttImageProgressBg"},_4c); _c.set(_4d,{width:((100-_4a)*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); }else{ if(this.percentage==-1){ if(_4a==100){ _a.remove(rc0.firstChild,"ganttImageProgressBg"); _a.add(rc0.firstChild,"ganttImageProgressFilled"); }else{ if(_4a<100&&_4a>0){ rc0.parentNode.removeChild(rc0); var _4c=_b.create("td",{width:_4a+"%"},_4b); _4c.style.lineHeight="1px"; _4d=_b.create("div",{className:"ganttImageProgressFilled"},_4c); _c.set(_4d,{width:(_4a*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); _4c=_b.create("td",{width:(100-_4a)+"%"},_4b); _4c.style.lineHeight="1px"; _4d=_b.create("div",{className:"ganttImageProgressBg"},_4c); _c.set(_4d,{width:((100-_4a)*this.duration*this.ganttChart.pixelsPerWorkHour)/100+"px",height:this.ganttChart.heightTaskItem+"px"}); } } } } } } } this.percentage=_4a; this.descrProject.innerHTML=this.getDescStr(); return true; },deleteChildTask:function(_4e){ if(_4e){ var _4f=_4e.cTaskItem[0],_50=_4e.cTaskNameItem[0],_51=_4e.cTaskItem[1],_52=_4e.cTaskNameItem[1],_53=_4e.cTaskNameItem[2]; if(_4f.style.display=="none"){ this.ganttChart.openTree(_4e.parentTask); } if(_4e.childPredTask.length>0){ for(var i=0;i<_4e.childPredTask.length;i++){ var _54=_4e.childPredTask[i]; for(var t=0;t<_54.cTaskItem[1].length;t++){ _54.cTaskItem[1][t].parentNode.removeChild(_54.cTaskItem[1][t]); } _54.cTaskItem[1]=[]; _54.predTask=null; } } if(_4e.childTask.length>0){ while(_4e.childTask.length>0){ this.deleteChildTask(_4e.childTask[0]); } } var _55=this.ganttChart.heightTaskItem+this.ganttChart.heightTaskItemExtra; if(_4f.style.display!="none"){ _4e.shiftCurrentTasks(_4e,-_55); } this.project.deleteTask(_4e.taskItem.id); if(_4f){ _4f.parentNode.removeChild(_4f); } _4e.descrTask.parentNode.removeChild(_4e.descrTask); if(_51.length>0){ for(var j=0;j<_51.length;j++){ _51[j].parentNode.removeChild(_51[j]); } } if(_50){ _50.parentNode.removeChild(_50); } if(_4e.cTaskNameItem[1]){ for(var j=0;j<_52.length;j++){ _52[j].parentNode.removeChild(_52[j]); } } if(_53&&_53.parentNode){ _53.parentNode.removeChild(_53); } if(_4e.taskIdentifier){ _4e.taskIdentifier.parentNode.removeChild(_4e.taskIdentifier); _4e.taskIdentifier=null; } if(_4e.parentTask){ if(_4e.previousChildTask){ if(_4e.nextChildTask){ _4e.previousChildTask.nextChildTask=_4e.nextChildTask; }else{ _4e.previousChildTask.nextChildTask=null; } } var _56=_4e.parentTask; for(var i=0;i<_56.childTask.length;i++){ if(_56.childTask[i].taskItem.id==_4e.taskItem.id){ _56.childTask[i]=null; _56.childTask.splice(i,1); break; } } if(_56.childTask.length==0){ if(_56.cTaskNameItem[2]){ _56.cTaskNameItem[2].parentNode.removeChild(_56.cTaskNameItem[2]); _56.cTaskNameItem[2]=null; } } }else{ if(_4e.previousParentTask){ if(_4e.nextParentTask){ _4e.previousParentTask.nextParentTask=_4e.nextParentTask; }else{ _4e.previousParentTask.nextParentTask=null; } } var _57=_4e.project; for(var i=0;i<_57.arrTasks.length;i++){ if(_57.arrTasks[i].taskItem.id==_4e.taskItem.id){ _57.arrTasks.splice(i,1); } } } if(_4e.predTask){ var _58=_4e.predTask; for(var i=0;i<_58.childPredTask.length;i++){ if(_58.childPredTask[i].taskItem.id==_4e.taskItem.id){ _58.childPredTask[i]=null; _58.childPredTask.splice(i,1); } } } if(_4e.project.arrTasks.length!=0){ _4e.project.shiftProjectItem(); }else{ _4e.project.projectItem[0].style.display="none"; this.hideDescrProject(); } this.ganttChart.contentDataHeight-=this.ganttChart.heightTaskItemExtra+this.ganttChart.heightTaskItem; } },insertTask:function(id,_59,_5a,_5b,_5c,_5d,_5e,_5f){ var _60=null; var _61=null; if(this.project.getTaskById(id)){ return false; } if((!_5b)||(_5b100){ return false; } } var _62=false; if((_5f)&&(_5f!="")){ var _63=this.project.getTaskById(_5f); if(!_63){ return false; } _5a=_5a||_63.startTime; if(_5a<_63.startTime){ return false; } _60=new _1({id:id,name:_59,startTime:_5a,duration:_5b,percentage:_5c,previousTaskId:_5d,taskOwner:_5e}); if(!this.ganttChart.checkPosParentTask(_63,_60)){ return false; } _60.parentTask=_63; var _64=this.getTaskById(_63.id); var _65=false; if(_64.cTaskItem[0].style.display=="none"){ _65=true; }else{ if(_64.cTaskNameItem[2]){ if(!_64.isExpanded){ _65=true; } } } if(_65){ if(_64.childTask.length==0){ this.ganttChart.openTree(_64.parentTask); }else{ this.ganttChart.openTree(_64); } } if(_5d!=""){ var _66=this.project.getTaskById(_5d); if(!_66){ return false; } if(_66.parentTask){ if(_66.parentTask.id!=_60.parentTask.id){ return false; } }else{ return false; } if(!this.ganttChart.checkPosPreviousTask(_66,_60)){ this.ganttChart.correctPosPreviousTask(_66,_60); } _60.previousTask=_66; } var _67=false; if(_62){ for(var i=0;i<_63.cldTasks.length;i++){ if(_60.startTime<_63.cldTasks[i].startTime){ _63.cldTasks.splice(i,0,_60); if(i>0){ _63.cldTasks[i-1].nextChildTask=_63.cldTasks[i]; _63.cldTasks[i].previousChildTask=_63.cldTasks[i-1]; } if(_63.cldTasks[i+1]){ _63.cldTasks[i+1].previousChildTask=_63.cldTasks[i]; _63.cldTasks[i].nextChildTask=_63.cldTasks[i+1]; } _67=true; break; } } } if(!_67){ if(_63.cldTasks.length>0){ _63.cldTasks[_63.cldTasks.length-1].nextChildTask=_60; _60.previousChildTask=_63.cldTasks[_63.cldTasks.length-1]; } _63.cldTasks.push(_60); } if(_63.cldTasks.length==1){ _64.cTaskNameItem[2]=_64.createTreeImg(); } _61=new _2(_60,this,this.ganttChart); _61.create(); if(_60.nextChildTask){ _61.nextChildTask=_61.project.getTaskById(_60.nextChildTask.id); } _61.adjustPanelTime(); var _68=this.ganttChart.heightTaskItem+this.ganttChart.heightTaskItemExtra; _61.shiftCurrentTasks(_61,_68); }else{ _5a=_5a||this.project.startDate; _60=new _1({id:id,name:_59,startTime:_5a,duration:_5b,percentage:_5c,previousTaskId:_5d,taskOwner:_5e}); if(_60.startTime<=this.ganttChart.startDate){ return false; } if(_5d!=""){ var _66=this.project.getTaskById(_5d); if(!_66){ return false; } if(!this.ganttChart.checkPosPreviousTask(_66,_60)){ this.ganttChart.correctPosPreviousTask(_66,_60); } if(_66.parentTask){ return false; } _60.previousTask=_66; } var _67=false; if(_62){ for(var i=0;i0){ this.project.parentTasks[i-1].nextParentTask=_60; _60.previousParentTask=this.project.parentTasks[i-1]; } if(this.project.parentTasks[i+1]){ this.project.parentTasks[i+1].previousParentTask=_60; _60.nextParentTask=this.project.parentTasks[i+1]; } _67=true; break; } } } if(!_67){ if(this.project.parentTasks.length>0){ this.project.parentTasks[this.project.parentTasks.length-1].nextParentTask=_60; _60.previousParentTask=this.project.parentTasks[this.project.parentTasks.length-1]; } this.project.parentTasks.push(_60); } _61=new _2(_60,this,this.ganttChart); _61.create(); if(_60.nextParentTask){ _61.nextParentTask=_61.project.getTaskById(_60.nextParentTask.id); } _61.adjustPanelTime(); this.arrTasks.push(_61); var _68=this.ganttChart.heightTaskItem+this.ganttChart.heightTaskItemExtra; _61.shiftCurrentTasks(_61,_68); this.projectItem[0].style.display="inline"; this.setPercentCompleted(this.getPercentCompleted()); this.shiftProjectItem(); this.showDescrProject(); } this.ganttChart.checkHeighPanelTasks(); this.ganttChart.checkPosition(); return _61; },shiftNextProject:function(_6a,_6b){ if(_6a.nextProject){ _6a.nextProject.shiftProject(_6b); this.shiftNextProject(_6a.nextProject,_6b); } },shiftProject:function(_6c){ this.posY=this.posY+_6c; this.projectItem[0].style.top=parseInt(this.projectItem[0].style.top)+_6c+"px"; this.descrProject.style.top=parseInt(this.descrProject.style.top)+_6c+"px"; this.projectNameItem.style.top=parseInt(this.projectNameItem.style.top)+_6c+"px"; if(this.arrTasks.length>0){ this.shiftNextParentTask(this.arrTasks[0],_6c); } },shiftTask:function(_6d,_6e){ _6d.posY=_6d.posY+_6e; var _6f=_6d.cTaskNameItem[0],_70=_6d.cTaskNameItem[1],_71=_6d.cTaskNameItem[2],_72=_6d.cTaskItem[1]; _6f.style.top=parseInt(_6f.style.top)+_6e+"px"; if(_71){ _71.style.top=parseInt(_71.style.top)+_6e+"px"; } if(_6d.parentTask){ _70[0].style.top=parseInt(_70[0].style.top)+_6e+"px"; _70[1].style.top=parseInt(_70[1].style.top)+_6e+"px"; } _6d.cTaskItem[0].style.top=parseInt(_6d.cTaskItem[0].style.top)+_6e+"px"; _6d.descrTask.style.top=parseInt(_6d.descrTask.style.top)+_6e+"px"; if(_72[0]){ _72[0].style.top=parseInt(_72[0].style.top)+_6e+"px"; _72[1].style.top=parseInt(_72[1].style.top)+_6e+"px"; _72[2].style.top=parseInt(_72[2].style.top)+_6e+"px"; } },shiftNextParentTask:function(_73,_74){ this.shiftTask(_73,_74); this.shiftChildTasks(_73,_74); if(_73.nextParentTask){ this.shiftNextParentTask(_73.nextParentTask,_74); } },shiftChildTasks:function(_75,_76){ _5.forEach(_75.childTask,function(_77){ this.shiftTask(_77,_76); if(_77.childTask.length>0){ this.shiftChildTasks(_77,_76); } },this); }}); });