From cfc48fd51f4bf17ca0f6b2499494378852edcd50 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Sun, 11 Jan 2015 16:50:00 +0200 Subject: update_node(): handle incoming attr_diff on ajax success --- src/client/model/graph.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/client/model/graph.js') diff --git a/src/client/model/graph.js b/src/client/model/graph.js index 2ca8ca2b..dfa571ed 100644 --- a/src/client/model/graph.js +++ b/src/client/model/graph.js @@ -444,14 +444,19 @@ function Graph(spec) { attr_diff.add_node_attr_write(node.id, key, new_node_spec[key]); } - var on_ajax_success = function(id_to_node_map){ + var on_ajax_success = function(attr_diff_spec){ + var attr_diff = model_util.adapt_format_read_diff__attr(attr_diff_spec); + var id_to_node_map = attr_diff.id_to_node_map var node_id = node.id; // original node id util.assert(id_to_node_map && id_to_node_map[node_id], "bad return value from ajax"); var ret_node = id_to_node_map[node_id]; - for (var key in ret_node){ - node[key] = ret_node[key]; + for (var key in ret_node['__attr_write']){ + node[key] = ret_node['__attr_write'][key]; + } + for (var key in ret_node['__attr_remove']){ + delete node[key]; } // TODO: handle NAK: add problem emblem to node -- cgit v1.3.1