anychart.onDocumentReady(function () {
anychart.data.loadJsonFile(
'https://cdn.anychart.com/samples/gantt-live-editing/editing-events/data.json',
var container = $('#container');
var absButtonContainer = $('<div>');
container.append(absButtonContainer);
var createButton = $('<button id="create"/>');
createButton.html('Create item');
createButton.click(createClick);
absButtonContainer.append(createButton);
var removeButton = $('<button id="remove"/>');
removeButton.html('Remove item');
removeButton.click(removeClick);
absButtonContainer.append(removeButton);
treeData = anychart.data.tree(data, 'as-table');
var chart = anychart.ganttResource();
chart.title('Live Edit Events\n-');
chart.margin(0, 0, 20, 0);
chart.splitterPosition(120);
var dataGrid = chart.dataGrid();
dataGrid.column(0, false);
chart.container('container');
chart.listen('rowSelect', function (e) {
treeData.listen('treeItemCreate', function (e) {
var itemName = e.item.get('name');
msg += 'Created item "' + itemName + '"';
var parentName = e.target
? '"' + e.target.get('name') + '"'
msg += ' in ' + parentName;
treeData.listen('treeItemMove', function (e) {
var itemName = e.item.get('name');
msg += 'Move "' + itemName + '"';
var sourceName = e.source
? '"' + e.source.get('name') + '"'
msg += ' from ' + sourceName;
var targetName = e.target
? '"' + e.target.get('name') + '"'
msg += ' to ' + targetName;
treeData.listen('treeItemRemove', function (e) {
var itemName = e.item.get('name');
msg += 'Remove "' + itemName + '"';
var sourceName = e.source
? '"' + e.source.get('name') + '"'
msg += ' from ' + sourceName;
treeData.listen('treeItemUpdate', function (e) {
var itemName = e.item.get('name');
msg += 'In item "' + itemName + '"';
msg += ' set value ' + val;
var path = e.path.join();
msg += ' by path ' + path;
var destination = selectedItem || treeData;
var id = (Math.random() * 100) << 16;
Date.UTC(2014, 3, 6) + Math.round(Math.random() * 1000000000);
var end = start + Math.round(Math.random() * 1000000000);
destination.addChild(itemToBeAdded);