diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-01-11 16:50:00 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-01-11 18:30:43 +0200 |
| commit | cfc48fd51f4bf17ca0f6b2499494378852edcd50 (patch) | |
| tree | 70aeefb82c873e144ac1e956d9ecf4f3b0d3ef82 /src/client | |
| parent | d2527f5bd96594584c34922ee3c3e1210e87d882 (diff) | |
update_node(): handle incoming attr_diff on ajax success
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/model/graph.js | 11 |
1 files changed, 8 insertions, 3 deletions
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 |
