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
var data = getData();
3
4
var chart = anychart.ganttResource();
5
chart.data(data, 'as-table');
6
7
chart.title('Weekends and holidays are visible because zoomed to days.');
8
9
// Getting the scale.
10
var scale = chart.xScale();
11
scale.minimum(Date.UTC(2020, 1, 28));
12
scale.maximum(Date.UTC(2020, 2, 5));
13
14
// Getting the calendar.
15
var calendar = scale.calendar();
16
17
// Setting the working schedule. Sun and Sat are weekends.
18
calendar.schedule([
19
/* Sun */ null,
20
/* Mon */ { from: 10, to: 18 },
21
/* Tue */ { from: 10, to: 18 },
22
/* Wed */ { from: 10, to: 18 },
23
/* Thu */ { from: 10, to: 18 },
24
/* Fri */ { from: 10, to: 18 },
25
/* Sat */ null
26
]);
27
28
// Setting custom holiday.
29
calendar.holidays([
30
{ month: 2, day: 3, year: 2020}
31
]);
32
33
// Coloring holiday and weekend days.
34
var timeline = chart.getTimeline();
35
timeline.weekendsFill('pink 0.5');
36
timeline.holidaysFill('orange 0.3');
37
38
var legend = chart.legend();
39
legend.enabled(true);
40
legend.items([
41
{index: 0, text: 'Weekends', iconFill: 'pink 0.5'},
42
{index: 1, text: 'Holidays', iconFill: 'orange 0.3'}
43
]);
44
45
46
chart.container('container');
47
chart.draw();
48
chart.fitAll();
49
});
50
51
function getData() {
52
return [
53
{id: 1, name: 'Mike Johnson', periods:[
54
{id: 4, start: Date.UTC(2020, 2, 1, 10), end: Date.UTC(2020, 2, 1, 15)},
55
{id: 5, start: Date.UTC(2020, 2, 1, 16), end: Date.UTC(2020, 2, 1, 18)}
56
]},
57
{id: 2, name: 'Olivia Taylor', periods: [
58
{id: 6, start: Date.UTC(2020, 2, 2, 9), end: Date.UTC(2020, 2, 2, 14)},
59
{id: 7, start: Date.UTC(2020, 2, 2, 16), end: Date.UTC(2020, 2, 2, 19)}
60
]},
61
{id: 3, name: 'Daniel Wilson', periods: [
62
{id: 8, start: Date.UTC(2020, 2, 3, 10), end: Date.UTC(2020, 2, 3, 12)},
63
{id: 9, start: Date.UTC(2020, 2, 3, 12, 30), end: Date.UTC(2020, 2, 3, 15)},
64
{id: 10, start: Date.UTC(2020, 2, 3, 16), end: Date.UTC(2020, 2, 3, 19)}
65
]}
66
];
67
}