summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-12-08 11:28:57 +0200
committerAlon Levy <alon@pobox.com>2014-12-08 11:37:43 +0200
commit16db7f005e334a41c3485b0a8c63f7d757913c72 (patch)
tree574b82c0e13b9321caef5c11dfa67da2c5676597
parentd0c940cdd17ec6c05bdfd61317ab5c77af605777 (diff)
add a new state: "related"
-rw-r--r--src/model/graph.js21
-rw-r--r--src/textanalysis.js2
-rw-r--r--src/view/selection.js2
3 files changed, 23 insertions, 2 deletions
diff --git a/src/model/graph.js b/src/model/graph.js
index 2c86eea3..fd143861 100644
--- a/src/model/graph.js
+++ b/src/model/graph.js
@@ -696,6 +696,27 @@ function Graph() {
return selected;
}
+ function markRelated(names) {
+ removeRelated();
+ nodes.forEach(function (node) {
+ names.forEach(function (name) {
+ if (compareNames(node.name, name) && node.state != 'temp') {
+ node.state = 'related';
+ }
+ });
+ });
+ }
+ this.markRelated = markRelated;
+
+ function removeRelated() {
+ nodes.forEach(function (node) {
+ if (node.state == 'related') {
+ node.state = 'perm';
+ }
+ });
+ }
+ this.removeRelated = removeRelated;
+
}
return {
diff --git a/src/textanalysis.js b/src/textanalysis.js
index f2d5f555..abee466d 100644
--- a/src/textanalysis.js
+++ b/src/textanalysis.js
@@ -384,7 +384,7 @@ var textAnalyser = function (newtext, finalize) {
* - are not of type 'bubble'
*/
var n_set = ret.node_set_add.filter(function(node) {
- return false == graph.hasNodeByName(node.name, "perm")
+ return false == graph.hasNodeByNameAndNotState(node.name, "temp")
&& node.type !== 'bubble';
});
diff --git a/src/view/selection.js b/src/view/selection.js
index 1458d154..4176676a 100644
--- a/src/view/selection.js
+++ b/src/view/selection.js
@@ -57,7 +57,7 @@ function connectedComponent(nodes) {
var node_selected = function(node) {
return node.state == 'chosen' || node.state == 'enter' || node.state == 'exit' || node.state == 'selected'
- || node.state == 'temp';
+ || node.state == 'temp' || node.state == 'related';
}
var selected_class = function(node) {