anychart.onDocumentReady(function () {
anychart.data.loadJsonFile('https://api.jsonbin.io/b/5c2667958c05c52ebad01d93/1', function (data) {
var treeData = anychart.data.tree(data, 'as-table');
var chart = anychart.ganttResource();
chart.splitterPosition(320);
var dataGrid = chart.dataGrid();
dataGrid.column(0).enabled(false);
var timeLine = chart.getTimeline();
timeLine.elements().fill(function () {
var status = this.period.status;
opacity: this.item.numChildren() ? 1 : 0.6
timeLine.elements().stroke('none');
timeLine.elements().selected().fill('#ef6c00');
var firstColumn = dataGrid.column(1);
firstColumn.labels().hAlign('left');
firstColumn.title('Server')
.labelsOverrider(labelTextSettingsOverrider)
var secondColumn = dataGrid.column(2);
secondColumn.labels().hAlign('right');
secondColumn.title('Online')
.labelsOverrider(labelTextSettingsOverrider)
return this.item.get('online') || '';
var thirdColumn = dataGrid.column(3);
thirdColumn.labels().hAlign('right');
thirdColumn.title('Maintenance')
.labelsOverrider(labelTextSettingsOverrider)
return this.item.get('maintenance') || '';
var fourthColumn = dataGrid.column(4);
fourthColumn.labels().hAlign('right');
fourthColumn.title('Offline')
.labelsOverrider(labelTextSettingsOverrider)
return this.item.get('offline') || '';
chart.container('container');
chart.zoomTo(Date.UTC(2008, 0, 31, 1, 36), Date.UTC(2008, 1, 15, 10, 3));
function labelTextSettingsOverrider(label, item) {
switch (item.get('status')) {
label.fontColor('orange')