diff --git a/client/src/components/graph/graph.js b/client/src/components/graph/graph.js index d14d73b1..cc29a77a 100644 --- a/client/src/components/graph/graph.js +++ b/client/src/components/graph/graph.js @@ -22,7 +22,8 @@ import scaleLinear from "../../util/scaleLinear"; responsive: state.responsive, colorRGB: _.get(state.controls, "colorRGB", null), opacityForDeselectedCells: state.controls.opacityForDeselectedCells, - selectionUpdate: _.get(state.controls, "crossfilter.updateTime", null) + selectionUpdate: _.get(state.controls, "crossfilter.updateTime", null), + resettingInterface: state.controls.resettingInterface })) class Graph extends React.Component { constructor(props) { @@ -339,11 +340,20 @@ class Graph extends React.Component { resetInterface() { const { dispatch } = this.props; + dispatch({ + type: "interface reset started" + }); dispatch(actions.resetInterface()); } render() { - const { dispatch, responsive, crossfilter } = this.props; + const { + dispatch, + responsive, + crossfilter, + resettingInterface + } = this.props; + const { mode } = this.state; return (
@@ -392,6 +402,7 @@ class Graph extends React.Component { /* world && universe ? worldEqUniverse(world, universe) : false */ } type="button" + loading={resettingInterface} intent="warning" style={{ marginRight: 10 }} onClick={this.resetInterface.bind(this)} diff --git a/client/src/reducers/controls.js b/client/src/reducers/controls.js index b7e1beaa..864b948e 100644 --- a/client/src/reducers/controls.js +++ b/client/src/reducers/controls.js @@ -122,6 +122,7 @@ const Controls = ( colorAccessor: null, colorScale: null, + resettingInterface: false, opacityForDeselectedCells: 0.2, graphBrushSelection: null, @@ -228,7 +229,8 @@ const Controls = ( categoricalSelectionState, crossfilter, dimensionMap, - colorAccessor: null + colorAccessor: null, + resettingInterface: false }; } case "set World to current selection": { @@ -525,6 +527,12 @@ const Controls = ( graphRenderCounter: c }; } + case "interface reset started": { + return { + ...state, + resettingInterface: true + }; + } /******************************* Categorical metadata *******************************/