import React from 'react'; import { connect } from 'react-redux'; import ViewModeButton from './view-mode-button'; import MetricSelector from './metric-selector'; import { setResourceView } from '../actions/request-actions'; import { setGraphView, setTableView } from '../actions/app-actions'; import { availableMetricsSelector } from '../selectors/node-metric'; import { isResourceViewModeSelector, resourceViewAvailableSelector, } from '../selectors/topology'; import { GRAPH_VIEW_MODE, TABLE_VIEW_MODE, RESOURCE_VIEW_MODE, } from '../constants/naming'; class ViewModeSelector extends React.Component { componentWillReceiveProps(nextProps) { if (nextProps.isResourceViewMode && !nextProps.hasResourceView) { nextProps.setGraphView(); } } render() { return (
); } } function mapStateToProps(state) { return { currentTopology: state.get('currentTopology'), hasResourceView: resourceViewAvailableSelector(state), isResourceViewMode: isResourceViewModeSelector(state), showingMetricsSelector: availableMetricsSelector(state).count() > 0, topologyViewMode: state.get('topologyViewMode'), }; } export default connect( mapStateToProps, { setGraphView, setResourceView, setTableView } )(ViewModeSelector);