summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/model/graph.js22
-rw-r--r--src/client/textanalysis.js5
2 files changed, 17 insertions, 10 deletions
diff --git a/src/client/model/graph.js b/src/client/model/graph.js
index b1afb634..2eb358c7 100644
--- a/src/client/model/graph.js
+++ b/src/client/model/graph.js
@@ -598,15 +598,16 @@ function Graph(spec) {
/**
* return node whose id matches the given id or undefined if no node was found
*/
- var find_node__by_id = function(id) {
- if (base) {
- var base_node = base.find_node__by_id(id);
+ var find_node__by_id = function(id, recursive) {
+ // default to recursion
+ recursive = recursive === undefined ? true : recursive;
+ if (recursive && base) {
+ var base_node = base.find_node__by_id(id, recursive);
if (base_node) {
- console.log('!!! returning base node');
return base_node;
}
}
- return id_to_node_map[id];
+ return id_to_node_map[id] || null;
}
this.find_node__by_id = find_node__by_id;
@@ -623,12 +624,21 @@ function Graph(spec) {
return ret;
}
- var find_node__by_name = function(name) {
+ var find_node__by_name = function(name, recursive) {
+ // default to recursion
+ recursive = recursive === undefined ? true : recursive;
+ if (recursive && base) {
+ var node = base.find_node__by_name(name, true);
+ if (node !== null) {
+ return node;
+ }
+ }
for (var k in id_to_node_map) {
if (compareNames(id_to_node_map[k].name, name)) {
return id_to_node_map[k];
}
}
+ return null;
}
this.find_node__by_name = find_node__by_name;
diff --git a/src/client/textanalysis.js b/src/client/textanalysis.js
index 0160ed7b..0c557412 100644
--- a/src/client/textanalysis.js
+++ b/src/client/textanalysis.js
@@ -477,10 +477,7 @@ var textAnalyser = function (spec) {
for (j = i; j >= 0 && tokens[j] === undefined || tokens[j].token !== '#'; --j) {}
name = tokens[j + 1] ? tokens[j + 1].token : NEW_NODE_NAME;
node = edit_graph.find_node__by_name(name);
- if (node === undefined) {
- // return the first node by default
- util.assert(node !== undefined, "can't find node");
- }
+ util.assert(node !== undefined, "can't find node");
return node;
}