import{Component,OnInit,AfterContentInit}from'@angular/core';
import{resourceData,resourceResources}from'./data';
import{RowDataBoundEventArgs,TaskFieldsModel,ResourceFieldsModel,EditSettingsModel}from'@syncfusion/ej2-angular-gantt';
declarevar$:any;
@Component({
selector:'analyze-roadmap-chart',
templateUrl:'./roadmap-chart.component.html',
styleUrls:['./roadmap-chart.component.sass']
})
exportclassRoadmapChartComponentimplementsOnInit{
publiccolumns:object[];
publicdata:object[];
publiceditSettings:EditSettingsModel;
publiclabelSettings:object;
publicprojectEndDate:Date;
publicprojectStartDate:Date;
publicresourceFields:ResourceFieldsModel;
publicresources:object[];
publicsplitterSettings:object;
publictaskbarTemplate:any;
publictaskSettings:TaskFieldsModel;
publictimelineSettings:object;
publictoolbar:string[];
publicngOnInit():void{
this.data=resourceData;
this.resources=resourceResources;
this.taskSettings={
id:'TaskID',
name:'TaskName',
startDate:'StartDate',
duration:'Duration',
progress:'Progress',
child:'subtasks',
work:'work',
resourceInfo:'resources'
};
this.resourceFields={
id:'resourceId',
name:'resourceName',
unit:'unit'
};
//this.columns=[
//{field:'TaskID',visible:false},
//{field:'TaskName',headerText:'Name',width:'180'},
//{field:'resources',headerText:'Links',width:'160'},
//{field:'work',headerText:'Details',width:'300'},
//{field:'Duration',headerText:'StartDate',width:'100'},
//{field:'taskType',headerText:'AnticipatedReleaseDate',width:'140'}
//];
this.editSettings={
allowAdding:true,
allowEditing:true,
allowDeleting:true,
allowTaskbarEditing:true,
showDeleteConfirmDialog:true,
};
this.toolbar=['Add','Edit','Update','Delete','Cancel','ExpandAll','CollapseAll'];
this.splitterSettings={
columnIndex:5.1
};
this.labelSettings={
rightLabel:'resources'
};
this.projectStartDate=newDate('03/28/2019');
this.projectEndDate=newDate('07/28/2019');
this.timelineSettings={
showTooltip:true,
timelineUnitSize:80,
updateTimescaleView:true,
weekStartDay:1,//SUNDAY==0
weekendBackground:'red',
topTier:{
format:'MMMyyy',
unit:'Month',
count:1,
},
bottomTier:{
format:'MMMdd',
unit:'Week',
}
};
}
}
<divclass="control-section">
<ejs-ganttid="resources"height="430px"[dataSource]="data"[taskFields]="taskSettings"[columns]="columns"[treeColumnIndex]="0"
[splitterSettings]="splitterSettings"[labelSettings]="labelSettings"[editSettings]="editSettings"[enableContextMenu]='true'
height="450px"[allowSelection]="true"[projectStartDate]="projectStartDate"[projectEndDate]="projectEndDate"[highlightWeekends]="true"
[toolbar]="toolbar"[resourceFields]="resourceFields"(rowDataBound)="rowDataBound($event)"(dataBound)="actionComplete($event)"
[timelineSettings]="timelineSettings"
[resources]="resources"workUnit="Hour">
ejs-gantt>
div>