summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-05-18 18:17:46 +0300
committerAlon Levy <alon@pobox.com>2015-05-18 18:19:48 +0300
commitcef746aafccc93db66afe881e0063eb0c8534ef3 (patch)
treefb67539661124368916a533ac3bddf8a8248abab /src
parent59057625951087536fe7ad1a66518a2a575f6aa9 (diff)
client/view/selection: use shortest paths for plural selection
Diffstat (limited to 'src')
-rw-r--r--src/client/view/selection.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/client/view/selection.js b/src/client/view/selection.js
index 5455c7c0..ae3be8b2 100644
--- a/src/client/view/selection.js
+++ b/src/client/view/selection.js
@@ -183,6 +183,13 @@ function mutual_neighbours(nodes) {
return _select_nodes_helper(nodes, connected);
}
+function shortest_paths(nodes) {
+ var ret = get_main_graph().shortest_paths(nodes);
+
+ ret.nodes = get_main_graph().find_nodes__by_id(_.pluck(ret.nodes, "node_id"));
+ return ret;
+}
+
/**
* neighbours(nodes)
*
@@ -270,7 +277,7 @@ var select_nodes = function(nodes, keep_selected_links)
var select_both = function(new_nodes, new_links)
{
- var related = new_nodes.length == 1 ? neighbours(new_nodes) : mutual_neighbours(new_nodes);
+ var related = new_nodes.length == 1 ? neighbours(new_nodes) : shortest_paths(new_nodes);
inner_select(new_nodes, related.nodes, new_links, related.links);
}