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
// The data used in this sample can be obtained from the CDN
3
// https://cdn.anychart.com/samples-data/gantt-charts/server-status-list/data.json
4
anychart.data.loadJsonFile('https://cdn.anychart.com/samples-data/gantt-charts/server-status-list/data.json', function (data) {
5
// create data tree on our data
6
var treeData = anychart.data.tree(data, 'as-table');
7
8
// create project gantt chart
9
var chart = anychart.ganttResource();
10
11
// set data for the chart
12
chart.data(treeData);
13
14
// set start splitter position settings
15
chart.splitterPosition(320);
16
17
// get chart data grid link to set column settings
18
var dataGrid = chart.dataGrid();
19
20
dataGrid.column(0).enabled(false);
21
22
// set first column settings
23
var firstColumn = dataGrid.column(1);
24
firstColumn.cellTextSettings().hAlign('left');
25
firstColumn.title('Server')
26
.width(140)
27
.cellTextSettingsOverrider(labelTextSettingsOverrider)
28
.format(function (item) {
29
return item.get('name');
30
});
31
32
// set first column settings
33
var secondColumn = dataGrid.column(2);
34
secondColumn.cellTextSettings().hAlign('right');
35
secondColumn.title('Online')
36
.width(60)
37
.cellTextSettingsOverrider(labelTextSettingsOverrider)
38
.format(function (item) {
39
return item.get('online') || '';
40
});
41
42
// set first column settings
43
var thirdColumn = dataGrid.column(3);
44
thirdColumn.cellTextSettings().hAlign('right');
45
thirdColumn.title('Maintenance')
46
.width(60)
47
.cellTextSettingsOverrider(labelTextSettingsOverrider)
48
.format(function (item) {
49
return item.get('maintenance') || '';
50
});
51
52
// set first column settings
53
var fourthColumn = dataGrid.column(4);
54
fourthColumn.cellTextSettings().hAlign('right');
55
fourthColumn.title('Offline')
56
.width(60)
57
.cellTextSettingsOverrider(labelTextSettingsOverrider)
58
.format(function (item) {
59
return item.get('offline') || '';
60
});
61
62
// set container id for the chart
63
chart.container('container');
64
65
chart.draw();
66
67
chart.zoomTo(Date.UTC(2008, 0, 31, 1, 36), Date.UTC(2008, 1, 15, 10, 3));
68
69
});
70
});
71
72
function labelTextSettingsOverrider(label, item) {
73
switch (item.get('type')) {
74
case 'online':
75
label.fontColor('green').fontWeight('bold');
76
break;
77
case 'offline':
78
label.fontColor('red').fontWeight('bold');
79
break;
80
case 'maintenance':
81
label.fontColor('orange').fontWeight('bold');
82
break;
83
}
84
}