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
3
var data = [
4
{"id": "1", "name": "Phase 1 - Strategic Plan", "progressValue": "14%", "actualStart": 951350400000, "actualEnd": 951609600000},
5
{"id": "2", "name": "Self-Assessment", parent:"1", "progressValue": "25%", "actualStart": 951350400000, "actualEnd": 951782400000},
6
{"id": "3", "name": "Define business vision", parent:"2", "progressValue": "0%", "actualStart": 951408000000, "actualEnd": 951440400000, "connectTo": "4", "connectorType": "FinishStart"},
7
{"id": "4", "name": "Identify available skills, information and support", parent:"2", "progressValue": "0%", "actualStart": 951494400000, "actualEnd": 951526800000, "connectTo": "5", "connectorType": "FinishStart"},
8
{"id": "5", "name": "Decide whether to proceed", parent:"2", "progressValue": "0%", "actualStart": 951609600000, "actualEnd": 951696000000, "connectTo": "6", "connectorType": "FinishStart"},
9
{"id": "6", "name": "Define the Opportunity", parent:"1", "progressValue": "27%", "actualStart": 951696000000, "actualEnd": 951782400000}
10
];
11
var treeData = anychart.data.tree(data, anychart.enums.TreeFillingMethod.AS_TABLE);
12
var chart = anychart.ganttProject();
13
chart.data(treeData);
14
chart.splitterPosition(332);
15
16
var dataGrid = chart.dataGrid();
17
var column0 = dataGrid.column(0);
18
column0.width(25);
19
20
var column1 = dataGrid.column(1);
21
column1.width(70);
22
var column2 = dataGrid.column(2);
23
24
column2.title("Start");
25
// Sets column formats.
26
column2.setColumnFormat("actualStart", {
27
"formatter": columnFormatter,
28
"textStyle": {
29
"fontColor": "blue"
30
},
31
"width": 115
32
});
33
34
var column3 = dataGrid.column(3);
35
column3.title("End");
36
// Sets column formats.
37
column3.setColumnFormat("actualEnd", {
38
"formatter": columnFormatter,
39
"textStyle": {
40
"fontColor": "green"
41
},
42
"width": 115
43
});
44
45
chart.container("container");
46
chart.draw();
47
chart.fitAll();
48
49
function columnFormatter (value){
50
var date = new Date(value);
51
// get minuts
52
var minutes = date.getUTCMinutes();
53
// get hours
54
var hours = date.getUTCHours();
55
// get month as a word 3 letters long
56
var month = date.toLocaleDateString("en-US", {month: "short"});
57
// if it is between 12.00 a.m. and 11.59 a.m.
58
if (hours < 12) {
59
// if 12.00 a.m.
60
if (hours === 0 && minutes === 0)
61
// display just month and day
62
return month + " " + format(date.getUTCDate());
63
// format and display hours, minutes, month and day
64
return format(hours) + ":" + format(minutes) + " a.m. " + month + " " + format(date.getUTCDate());
65
// if it is between 12.00 p.m. and 11.59 p.m
66
}else{
67
// format and display hours, minutes, month and day
68
return format(hours) + ":" + format(minutes) + " p.m. " + month + " " + format(date.getUTCDate());
69
}
70
}
71
// format numbers
72
function format (val) {
73
// if the number is less than 10
74
if (val<10)
75
// add zero before the digit
76
return "0" + val;
77
return val;
78
}
79
});