diff --git a/client/app/scripts/charts/nodes-chart.js b/client/app/scripts/charts/nodes-chart.js
index a3a52593e8..7fb9181298 100644
--- a/client/app/scripts/charts/nodes-chart.js
+++ b/client/app/scripts/charts/nodes-chart.js
@@ -11,6 +11,7 @@ const Edge = require('./edge');
const Naming = require('../constants/naming');
const NodesLayout = require('./nodes-layout');
const Node = require('./node');
+const NodesError = require('./nodes-error');
const MARGINS = {
top: 130,
@@ -151,6 +152,27 @@ const NodesChart = React.createClass({
}, this);
},
+ renderMaxNodesError: function(show) {
+ return (
+
+ Too many nodes to show in the browser.
We're working on it, but for now, try a different view?
+
+ );
+ },
+
+ renderEmptyTopologyError: function(show) {
+ return (
+
+ Nothing to show. This can have any of these reasons:
+
+ - We haven't received any reports from probes recently. Are the probes properly configured?
+ - There are nodes, but they're currently hidden. Check the view options in the bottom-left if they allow for showing hidden nodes.
+ - Containers view only: you're not running Docker, or you don't have any containers.
+
+
+ );
+ },
+
render: function() {
const nodeElements = this.renderGraphNodes(this.state.nodes, this.state.nodeScale);
const edgeElements = this.renderGraphEdges(this.state.edges, this.state.nodeScale);
@@ -165,15 +187,14 @@ const NodesChart = React.createClass({
translate = shiftTranslate;
wasShifted = true;
}
- const errorClassNames = this.state.maxNodesExceeded ? 'nodes-chart-error' : 'nodes-chart-error hide';
const svgClassNames = this.state.maxNodesExceeded || _.size(nodeElements) === 0 ? 'hide' : '';
+ const errorEmpty = this.renderEmptyTopologyError(AppStore.isTopologyEmpty());
+ const errorMaxNodesExceeded = this.renderMaxNodesError(this.state.maxNodesExceeded);
return (
-
-
-
Too many nodes to show in the browser.
We're working on it, but for now, try a different view?
-
+ {errorEmpty}
+ {errorMaxNodesExceeded}