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 resource gantt chart
6
var chart = anychart.ganttResource();
7
8
// set container id for the chart
9
chart.container('container');
10
11
// set data for the chart
12
chart.data(treeData);
13
// set start splitter position settings
14
chart.splitterPosition(150);
15
16
var now = (new Date()).getTime();
17
var sec = 1000;
18
var min = 60*sec;
19
var hour = 60*min;
20
var day = 24*hour;
21
22
// create linemarkers
23
var tl = chart.getTimeline();
24
tl.lineMarker(0).value(anychart.enums.GanttDateTimeMarkers.CURRENT);
25
tl.lineMarker(1).value(now + 5*day);
26
27
// get chart data grid link to set column settings
28
var dataGrid = chart.dataGrid();
29
30
// set first column settings
31
var firstColumn = dataGrid.column(0);
32
firstColumn.title('#');
33
firstColumn.width(30);
34
firstColumn.cellTextSettings().hAlign('center');
35
36
// set second column settings
37
var secondColumn = dataGrid.column(1);
38
secondColumn.title('Person');
39
secondColumn.width(120);
40
secondColumn.cellTextSettings().hAlign('left');
41
secondColumn.format(function (item) {
42
return item.get('name');
43
});
44
45
// initiate chart drawing
46
chart.draw();
47
48
// zoom chart to specified date
49
chart.fitAll();
50
});
51
52
function getData() {
53
var now = (new Date()).getTime();
54
var sec = 1000;
55
var min = 60*sec;
56
var hour = 60*min;
57
var day = 24*hour;
58
59
return [
60
{
61
"id": "1",
62
"name": "Alex Exler",
63
"periods": [
64
{"id": "1_1", "start": now - 10*day, "end": now + 4*day, },
65
{"id": "1_2", "start": now + 20*day, "end": now + 28*day}]
66
},
67
{
68
"id": "2",
69
"name": "Philip Kineyko",
70
"periods": [
71
{"id": "2_1", "start": now - 3*day, "end": now + 16*day},
72
{"id": "2_2", "start": now + 19*day, "end": now + 25*day}]
73
},
74
{
75
"id": "3",
76
"name": "Luke Liakos",
77
"periods": [
78
{"id": "3_1", "start": now + 5*day, "end": now + 10*day},
79
{"id": "3_2", "start": now + 25*day, "end": now + 29*day}]
80
},
81
{
82
"id": "4",
83
"name": "Judy Penfold",
84
"periods": [
85
{"id": "4_1", "start": now - 8*day, "end": now + 2*day},
86
{"id": "4_2", "start": now + 14*day, "end": now + 20*day}]
87
},
88
{
89
"id": "5",
90
"name": "Patricia Darmon",
91
"periods": [
92
{"id": "5_1", "start": now - 18*day, "end": now - 5*day},
93
{"id": "5_2", "start": now, "end": now + 12*day}]
94
95
}
96
];
97
}