summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-01-11 16:50:00 +0200
committerLV-426 <lv-426@taproot.org.il>2015-01-11 18:30:43 +0200
commitcfc48fd51f4bf17ca0f6b2499494378852edcd50 (patch)
tree70aeefb82c873e144ac1e956d9ecf4f3b0d3ef82 /src/client
parentd2527f5bd96594584c34922ee3c3e1210e87d882 (diff)
update_node(): handle incoming attr_diff on ajax success
Diffstat (limited to 'src/client')
-rw-r--r--src/client/model/graph.js11
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