blob: e39e33215872b151279eb2ad2b1f6cd47091f125 [file] [log] [blame]
if (typeof dreamer === 'undefined') {
var dreamer = {};
}
var level = {}
dreamer.OsmController = (function(global) {
'use strict';
var DEBUG = true;
OsmController.prototype.constructor = OsmController;
/**
* Constructor
*/
function OsmController() {
}
OsmController.prototype.addNode = function(graph_editor, node, success, error) {
log('addNode');
var data_to_send = {
'group_id': node.info.group[0],
'element_id': node.id,
'element_type': node.info.type,
'element_desc_id': node.info.desc_id,
'x': node.x,
'y': node.y
};
new dreamer.GraphRequests().addNode(data_to_send, null, function() {
if (success)
success();
},error);
};
OsmController.prototype.addLink = function(graph_editor, link, success, error) {
log('addLink');
var data_to_send = {
'desc_id': link.desc_id,
'source': link.source.id,
'source_type': link.source.info.type,
'target': link.target.id,
'target_type': link.target.info.type,
'view': link.view,
'group': link.group
};
new dreamer.GraphRequests().addLink(link, null, function() {
graph_editor._deselectAllNodes();
if (typeof old_link !== 'undefined' && old_link.length > 0 && old_link[0].index !== 'undefined') {
graph_editor.parent.removeLink.call(graph_editor, old_link[0].index);
}
if (success) {
success();
}
},error);
};
OsmController.prototype.removeNode = function(graph_editor, node, success, error) {
log('removeNode');
var data_to_send = {
'group_id': node.info.group[0],
'element_id': node.id,
'element_type': node.info.type,
'element_desc_id': node.info.desc_id,
};
new dreamer.GraphRequests().removeNode(data_to_send, null, function() {
if (success) {
success();
}
},error);
};
OsmController.prototype.removeLink = function(graph_editor, link, success, error) {
log('removeLink');
var data_to_send = {
'desc_id': link.desc_id,
'source': link.source.id,
'source_type': link.source.info.type,
'target': link.target.id,
'target_type': link.target.info.type,
'view': link.view,
'group': link.group
};
new dreamer.GraphRequests().removeLink(data_to_send, function() {
if (success) {
success();
}
},error);
};
/**
* Log utility
*/
function log(text) {
if (DEBUG)
console.log("::OsmController::", text);
}
return OsmController;
}(this));
if (typeof module === 'object') {
module.exports = dreamer.OsmController;
}