HTMLcopy
1
<div id="container"></div>
CSScopy
8
1
html,
2
body,
3
#container {
4
width: 100%;
5
height: 100%;
6
margin: 0;
7
padding: 0;
8
}
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/gantt-general-features/external-events/data.json
4
anychart.data.loadJsonFile(
5
'https://cdn.anychart.com/samples/gantt-general-features/external-events/data.json',
6
function (data) {
7
// create data tree on raw data
8
var treeData = anychart.data.tree(data, 'as-table');
9
10
// create resource gantt chart
11
var chart = anychart.ganttResource();
12
13
chart.title('External events');
14
15
// set data for the chart
16
chart.data(treeData);
17
18
// set pixel position of the main splitter
19
chart.splitterPosition(120);
20
21
// getting chart's data grid
22
var dataGrid = chart.dataGrid();
23
24
// disabling default 0-column
25
dataGrid.column(0, false);
26
27
// set container id for the chart
28
chart.container('container');
29
30
// initiate chart drawing
31
chart.draw();
32
33
// zoom chart all dates range
34
chart.fitAll();
35
36
// External events
37
chart.listen('rowSelect', function (e) {
38
var msg = e.item.get('name');
39
log(e.type, msg);
40
});
41
chart.listen('rowClick', callback);
42
chart.listen('rowDblClick', callback);
43
chart.listen('rowMouseOver', callback);
44
chart.listen('rowMouseMove', callback);
45
chart.listen('rowMouseOut', callback);
46
chart.listen('rowMouseUp', callback);
47
chart.listen('rowMouseDown', callback);
48
49
function callback(e) {
50
var msg = e.item.get('name');
51
if (e.period) msg += ', Period #' + (e.periodIndex + 1);
52
log(e.type, msg);
53
}
54
55
// logs actions to textarea
56
function log(eventType, message) {
57
chart.title(eventType + '. ' + message);
58
}
59
}
60
);
61
});