summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2014-12-10 15:31:43 +0200
committerAlon Levy <alon@pobox.com>2014-12-16 10:59:14 +0200
commit2c770b193e6a4b840b7bf6e264dd01eee20e814a (patch)
tree118a06077e726fcfd2ad1d16732014149f8e5e52 /src
parent9fdc4656b4f9be1b1d360e897ebeae83175d9445 (diff)
load_from_backend(): post ajax link pointer processing
Diffstat (limited to 'src')
-rw-r--r--src/model/graph.js19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/model/graph.js b/src/model/graph.js
index f27a39ee..901d02a3 100644
--- a/src/model/graph.js
+++ b/src/model/graph.js
@@ -633,13 +633,28 @@ function Graph() {
data['node_set'].map(function(n_spec){
var n_spec = model_util.adapt_format_read_node(n_spec);
+
+ util.assert(undefined != n_spec.id, 'load_from_backend: n_spec missing id');
+
var n = __addNode(n_spec, false, false);
n_set.push(n);
});
data['link_set'].map(function(l_spec){
- var l_spec = model_util.adapt_format_read_link(l_spec);
- var l = addLink(l_spec.__src_id, l_spec.__dst_id, l_spec.name, "perm");
+ var l_ptr = model_util.adapt_format_read_link_ptr(l_spec);
+
+ util.assert(undefined != l_ptr.id, 'load_from_backend: l_ptr missing id');
+
+ // resolve link ptr
+ var src = find_node__by_id(l_ptr.__src_id),
+ dst = find_node__by_id(l_ptr.__dst_id);
+
+ // cleanup & reuse as link_spec
+ delete l_ptr.__src_id;
+ delete l_ptr.__dst_id;
+ var link_spec = l_ptr;
+ var link = model_core.create_link_from_spec(src, dst, link_spec);
+ var l = addLink(link, false);
l_set.push(l);
});