From b49e1f55d2a3c64cc749c347eea5e6908d8b331c Mon Sep 17 00:00:00 2001 From: David Kaltschmidt Date: Thu, 10 Sep 2015 15:38:03 +0200 Subject: [PATCH] Use full adjacency also for mouseover nodes --- client/app/scripts/charts/nodes-chart.js | 4 ++-- client/app/scripts/stores/app-store.js | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/client/app/scripts/charts/nodes-chart.js b/client/app/scripts/charts/nodes-chart.js index 73ff51e1f..e1c20318f 100644 --- a/client/app/scripts/charts/nodes-chart.js +++ b/client/app/scripts/charts/nodes-chart.js @@ -84,7 +84,7 @@ const NodesChart = React.createClass({ renderGraphNodes: function(nodes, scale) { const hasSelectedNode = this.props.selectedNodeId && this.props.nodes.has(this.props.selectedNodeId); - const adjacency = hasSelectedNode ? AppStore.getAdjacentNodes() : null; + const adjacency = hasSelectedNode ? AppStore.getAdjacentNodes(this.props.selectedNodeId) : null; return _.map(nodes, function(node) { const highlighted = _.includes(this.props.highlightedNodeIds, node.id) || this.props.selectedNodeId === node.id; @@ -215,7 +215,7 @@ const NodesChart = React.createClass({ return; } - const adjacency = AppStore.getAdjacentNodes(); + const adjacency = AppStore.getAdjacentNodes(props.selectedNodeId); const adjacentLayoutNodes = []; adjacency.forEach(function(adjacentId) { diff --git a/client/app/scripts/stores/app-store.js b/client/app/scripts/stores/app-store.js index 8745de52a..09aa0aac4 100644 --- a/client/app/scripts/stores/app-store.js +++ b/client/app/scripts/stores/app-store.js @@ -95,15 +95,15 @@ const AppStore = assign({}, EventEmitter.prototype, { return activeTopologyOptions; }, - getAdjacentNodes: function() { + getAdjacentNodes: function(nodeId) { adjacentNodes = adjacentNodes.clear(); - if (nodes.has(selectedNodeId)) { - adjacentNodes = makeSet(nodes.get(selectedNodeId).get('adjacency')); + if (nodes.has(nodeId)) { + adjacentNodes = makeSet(nodes.get(nodeId).get('adjacency')); // fill up set with reverse edges - nodes.forEach(function(node, nodeId) { - if (node.get('adjacency') && node.get('adjacency').includes(selectedNodeId)) { - adjacentNodes = adjacentNodes.add(nodeId); + nodes.forEach(function(node, id) { + if (node.get('adjacency') && node.get('adjacency').includes(nodeId)) { + adjacentNodes = adjacentNodes.add(id); } }); } @@ -157,8 +157,8 @@ const AppStore = assign({}, EventEmitter.prototype, { getHighlightedNodeIds: function() { if (mouseOverNodeId) { - const adjacency = nodes.get(mouseOverNodeId).get('adjacency'); - if (adjacency) { + const adjacency = this.getAdjacentNodes(mouseOverNodeId); + if (adjacency.size) { return _.union(adjacency.toJS(), [mouseOverNodeId]); } }