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 = [
3
{id: 1, value: 20, name: 'Task_1', progressValue: 0.14, actualStartField: new Date(2018, 3, 22), actualEnd: new Date(2018, 3, 27)},
4
{id: 2, value: 30, name: 'Task_2', parent: 1, progressValue: 0.25, actualStartField: new Date(2018, 3, 24), actualEnd: new Date(2018, 3, 29)},
5
{id: 3, value: 20, name: 'Task_2.1', parent: 2, progressValue: 0, actualStartField: new Date(2018, 3, 25), actualEnd: new Date(2018, 3, 26), connectTo: 4},
6
{id: 4, value: 60, name: 'Task_2.2', parent: 2, progressValue: 0, actualStartField: new Date(2018, 3, 26), actualEnd: new Date(2018, 3, 28), connectTo: 5},
7
{id: 5, value: 50, name: 'Task_2.3', parent: 2, progressValue: 0, actualStartField: new Date(2018, 3, 29), actualEnd: new Date(2018, 3, 30)},
8
{id: 6, value: 10, name: 'Task_1.2', parent: 1, progressValue: 0.27, actualStartField: new Date(2018, 3, 25), actualEnd: new Date(2018, 4, 1)}
9
];
10
11
var treeData = anychart.data.tree(data, 'as-table');
12
13
var mapping = treeData.mapAs({actualStart: 'actualStartField'});
14
15
// Searching for an array of the data items
16
var dataItems = mapping.searchItems('actualStart', '25 Apr 2018', function(val1, val2) {
17
var val1Ms = anychart.format.parseDateTime(val1).getTime();
18
var val2Ms = anychart.format.parseDateTime(val2).getTime();
19
20
return val1Ms - val2Ms;
21
});
22
23
var item = {};
24
for (var i = 0; i < dataItems.length; i++) {
25
item = dataItems[i];
26
item.set('name', '[Found] ' + item.get('name'))
27
}
28
29
var chart = anychart.ganttProject();
30
chart.data(mapping);
31
chart.title('Perform search of an array of the data items');
32
chart.container('container');
33
chart.draw();
34
chart.fitAll();
35
});