HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function(){
2
// create data tree on our data
3
var treeData = anychart.data.tree(getData(), anychart.enums.TreeFillingMethod.AS_TABLE);
4
5
// create project gantt chart
6
var chart = anychart.ganttProject();
7
8
// set container id for the chart
9
chart.container('container');
10
11
// set data for the chart
12
chart.data(treeData);
13
14
// set start splitter position settings
15
chart.splitterPosition(370);
16
17
// get chart data grid link to set column settings
18
var dataGrid = chart.dataGrid();
19
20
// set first column settings
21
var firstColumn = dataGrid.column(0);
22
firstColumn.title('#');
23
firstColumn.width(30);
24
firstColumn.cellTextSettings().hAlign('center');
25
26
// set second column settings
27
var secondColumn = dataGrid.column(1);
28
secondColumn.cellTextSettings().hAlign('left');
29
secondColumn.width(180);
30
31
// set third column settings
32
var thirdColumn = dataGrid.column(2);
33
thirdColumn.title('Start Time');
34
thirdColumn.width(70);
35
thirdColumn.cellTextSettings().hAlign('right');
36
thirdColumn.format(function(item) {
37
var date = new Date(item.get('actualStart'));
38
var month = date.getUTCMonth() + 1;
39
var strMonth = (month > 9) ? month : '0' + month;
40
var utcDate = date.getUTCDate();
41
var strDate = (utcDate > 9) ? utcDate : '0' + utcDate;
42
return date.getUTCFullYear() + '.' + strMonth + '.' + strDate;
43
});
44
45
// set fourth column settings
46
var fourthColumn = dataGrid.column(3);
47
fourthColumn.title('End Time');
48
fourthColumn.width(80);
49
fourthColumn.cellTextSettings().hAlign('right');
50
fourthColumn.format(function(item) {
51
var date = new Date(item.get('actualEnd'));
52
var month = date.getUTCMonth() + 1;
53
var strMonth = (month > 9) ? month : '0' + month;
54
var utcDate = date.getUTCDate();
55
var strDate = (utcDate > 9) ? utcDate : '0' + utcDate;
56
return date.getUTCFullYear() + '.' + strMonth + '.' + strDate;
57
});
58
59
// initiate chart drawing
60
chart.draw();
61
62
// zoom chart to specified date
63
chart.zoomTo(951350400000, 954201600000);
64
});
65
function getData() {
66
return [
67
{"id": "1", "name": "Phase 1 - Strategic Plan", "progressValue": "14%", "actualStart": 951350400000, "actualEnd": 954201600000},
68
{"id": "2", "name": "Self-Assessment", parent:"1", "progressValue": "25%", "actualStart": 951350400000, "actualEnd": 951955200000},
69
{"id": "3", "name": "Define business vision", parent:"2", "progressValue": "0%", "actualStart": 951408000000, "actualEnd": 951440400000, "connectTo": "4", "connectorType": "FinishStart"},
70
{"id": "4", "name": "Identify available skills, information and support", parent:"2", "progressValue": "0%", "actualStart": 951494400000, "actualEnd": 951526800000, "connectTo": "5", "connectorType": "FinishStart"},
71
{"id": "5", "name": "Decide whether to proceed", parent:"2", "progressValue": "0%", "actualStart": 951753600000, "actualEnd": 951786000000, "connectTo": "7", "connectorType": "FinishStart"},
72
{"id": "6", "name": "Define the Opportunity", parent:"1", "progressValue": "27%", "actualStart": 951782400000, "actualEnd": 952992000000},
73
{"id": "7", "name": "Research the market and competition", parent:"6", "progressValue": "0%", "actualStart": 951840000000, "actualEnd": 951872400000, "connectTo": "8", "connectorType": "FinishStart"},
74
{"id": "8", "name": "Interview owners of similar businesses", parent:"6", "progressValue": "60%", "actualStart": 951868800000, "actualEnd": 952473600000, "connectTo": "9", "connectorType": "FinishStart"},
75
{"id": "9", "name": "Identify needed resources", parent:"6", "progressValue": "0%", "actualStart": 952531200000, "actualEnd": 952650000000, "connectTo": "10", "connectorType": "FinishStart"},
76
{"id": "10", "name": "Identify operating cost elements", parent:"6", "progressValue": "0%", "actualStart": 952704000000, "actualEnd": 952995600000, "connectTo": "12", "connectorType": "FinishStart"}
77
];
78
}