From 16db7f005e334a41c3485b0a8c63f7d757913c72 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 8 Dec 2014 11:28:57 +0200 Subject: add a new state: "related" --- src/model/graph.js | 21 +++++++++++++++++++++ src/textanalysis.js | 2 +- src/view/selection.js | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) (limited to 'src') 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) { -- cgit v1.3.1