From 9fa086d4b61c294b8e2b3ad15709460b6527b42b Mon Sep 17 00:00:00 2001 From: David Kaltschmidt Date: Wed, 16 Mar 2016 13:09:37 +0100 Subject: [PATCH] Getting both directions in edge highlighting --- client/app/scripts/stores/app-store.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/client/app/scripts/stores/app-store.js b/client/app/scripts/stores/app-store.js index 1098eea62..84138772a 100644 --- a/client/app/scripts/stores/app-store.js +++ b/client/app/scripts/stores/app-store.js @@ -427,6 +427,7 @@ export class AppStore extends Store { } case ActionTypes.ENTER_NODE: { const nodeId = payload.nodeId; + let adjacentNodes = this.getAdjacentNodes(nodeId); // clear old highlights highlightedNodeIds = highlightedNodeIds.clear(); @@ -434,14 +435,16 @@ export class AppStore extends Store { // highlight nodes highlightedNodeIds = highlightedNodeIds.add(nodeId); - const adjacencNodes = this.getAdjacentNodes(nodeId); - highlightedNodeIds = highlightedNodeIds.union(adjacencNodes); + highlightedNodeIds = highlightedNodeIds.union(adjacentNodes); // highlight edges - const adjacency = nodes.getIn([nodeId, 'adjacency']); - if (adjacency) { + const ownAdjacency = nodes.getIn([nodeId, 'adjacency']); + if (ownAdjacency) { + adjacentNodes = adjacentNodes.union(ownAdjacency); + } + if (adjacentNodes.size > 0) { // all neighbour combinations because we dont know which direction exists - highlightedEdgeIds = highlightedEdgeIds.union(adjacency.flatMap((adjacentId) => [ + highlightedEdgeIds = highlightedEdgeIds.union(adjacentNodes.flatMap((adjacentId) => [ [adjacentId, nodeId].join(EDGE_ID_SEPARATOR), [nodeId, adjacentId].join(EDGE_ID_SEPARATOR) ]));