import React from 'react'; import { connect } from 'react-redux'; import NodesChart from '../charts/nodes-chart'; import NodesGrid from '../charts/nodes-grid'; import NodesResources from '../components/nodes-resources'; import NodesError from '../charts/nodes-error'; import DelayedShow from '../utils/delayed-show'; import { Loading, getNodeType } from './loading'; import { isTopologyEmpty } from '../utils/topology-utils'; import { isGraphViewModeSelector, isTableViewModeSelector, isResourceViewModeSelector, } from '../selectors/topology'; const EmptyTopologyError = show => ( ); class Nodes extends React.Component { render() { const { topologyEmpty, topologiesLoaded, nodesLoaded, topologies, currentTopology, isGraphViewMode, isTableViewMode, isResourceViewMode } = this.props; // TODO: Rename view mode components. return (
{EmptyTopologyError(topologiesLoaded && nodesLoaded && topologyEmpty)} {isGraphViewMode && } {isTableViewMode && } {isResourceViewMode && }
); } } function mapStateToProps(state) { return { isGraphViewMode: isGraphViewModeSelector(state), isTableViewMode: isTableViewModeSelector(state), isResourceViewMode: isResourceViewModeSelector(state), currentTopology: state.get('currentTopology'), nodesLoaded: state.get('nodesLoaded'), topologies: state.get('topologies'), topologiesLoaded: state.get('topologiesLoaded'), topologyEmpty: isTopologyEmpty(state), }; } export default connect( mapStateToProps )(Nodes);