Я пытаюсь удалить узел из графика vis.js. При применении функции вместо удаления узла и его исходящих ребер весь граф стирается. Я хочу, чтобы изменения не затрагивались при обновлении страницы. Связанные с этим вызовы deleteNode
(в index.html) и app.delete
(в index.js).
index.html:
var deleteNode = function(data, callback){
$.ajax({
method: "delete",
url: "/api/node",
data: {node: data.nodes[0] },
success: function(result){
callback(result);
}
})
};
index.js:
app.delete("/api/node", function(req, res){
var deleteNode = req.body.node;
var deleteResult = {
nodes:[],
edges: []
};
var updatedNodes = _.filter(data.nodes, function(node){
var keep = (node.id !== deleteNode);
if(!keep){
deleteResult.nodes.push(node);
}
return keep;
});
var updatedEdges = _.filter(data.edges, function(edge){
var keep = (edge.from !== deleteNode) || (edge.to !== deleteNode);
if(!keep){
deleteResult.edges.push(node);
}
return keep;
});
data.nodes = updatedNodes;
data.edges = updatedEdges;
res.send(deleteResult).end();
});