summaryrefslogtreecommitdiff
path: root/src/model
diff options
context:
space:
mode:
Diffstat (limited to 'src/model')
-rw-r--r--src/model/core.js28
-rw-r--r--src/model/graph.js2
2 files changed, 15 insertions, 15 deletions
diff --git a/src/model/core.js b/src/model/core.js
index 015af1db..38688f83 100644
--- a/src/model/core.js
+++ b/src/model/core.js
@@ -3,7 +3,7 @@
/**
* core model module - currently unused
*/
-define([], function() {
+define(['util'], function(util) {
/**
* return a random id
@@ -57,6 +57,14 @@ define([], function() {
function create_node_from_spec(node_spec) {
var ret = new Node();
+ if (undefined != node_spec.id) {
+ // reuse id if present
+ Object.defineProperty(ret, "id", {
+ value: node_spec.id, // may be undefined,
+ writable: false
+ });
+ }
+
// name
if (undefined == node_spec.name) {
console.debug('create_node_from_spec: undefined name, falling back to \"\"');
@@ -88,17 +96,7 @@ define([], function() {
}
/**
- *
- */
- function create_node__with_optional_id(node_spec) {
- var node = create_node_from_spec(node_spec);
-
- node.id = node_spec.id;
- return node;
- }
-
- /**
- *
+ * @param node_spec: id must not be defined
*/
function create_node__set_random_id(node_spec) {
if (undefined == node_spec) {
@@ -106,6 +104,8 @@ define([], function() {
}
var ret = create_node_from_spec(node_spec);
+ util.assert(undefined == ret.id); // id must not be defined in spec
+
Object.defineProperty(ret, "id", {
value: random_id(),
writable: false
@@ -178,9 +178,9 @@ define([], function() {
Node: Node, // allow model adaptation
Link: Link, // allow model adaptation
random_node_name : random_node_name,
- create_node__with_optional_id : create_node__with_optional_id,
- create_link_from_spec : create_link_from_spec,
+ create_node_from_spec : create_node_from_spec,
create_node__set_random_id : create_node__set_random_id,
+ create_link_from_spec : create_link_from_spec,
create_link__set_random_id : create_link__set_random_id,
};
});
diff --git a/src/model/graph.js b/src/model/graph.js
index 021f0c7a..8f6db4c6 100644
--- a/src/model/graph.js
+++ b/src/model/graph.js
@@ -51,7 +51,7 @@ function Graph() {
}
}
} else {
- node = model_core.create_node__with_optional_id(spec);
+ node = model_core.create_node_from_spec(spec);
}
existing_node = findNode(node.id, null);