diff --git a/client/src/components/embedding/index.js b/client/src/components/embedding/index.js
index a36d3256..7522017a 100644
--- a/client/src/components/embedding/index.js
+++ b/client/src/components/embedding/index.js
@@ -16,10 +16,11 @@ import actions from "../../actions";
import { getDiscreteCellEmbeddingRowIndex } from "../../util/stateManager/viewStackHelpers";
@connect((state) => ({
- layoutChoice: state.layoutChoice, // TODO: really should clean up naming, s/layout/embedding/g
- schema: state.annoMatrix?.schema,
- crossfilter: state.obsCrossfilter,
- }))
+ imageUnderlay: state.imageUnderlay,
+ layoutChoice: state.layoutChoice, // TODO: really should clean up naming, s/layout/embedding/g
+ schema: state.annoMatrix?.schema,
+ crossfilter: state.obsCrossfilter,
+}))
class Embedding extends React.PureComponent {
constructor(props) {
super(props);
@@ -27,8 +28,18 @@ class Embedding extends React.PureComponent {
}
handleLayoutChoiceChange = (e) => {
- const { dispatch } = this.props;
+ const { dispatch, imageUnderlay } = this.props;
dispatch(actions.layoutChoiceAction(e.currentTarget.value));
+
+ // if we just switched off spatial, if the image is on, turn it off
+ if (
+ imageUnderlay.isActive &&
+ e.target.value !== globals.spatialEmbeddingKeyword
+ ) {
+ dispatch({
+ type: "toggle image underlay",
+ });
+ }
};
render() {
diff --git a/client/src/components/menubar/index.js b/client/src/components/menubar/index.js
index 02fcad09..37ac57c5 100644
--- a/client/src/components/menubar/index.js
+++ b/client/src/components/menubar/index.js
@@ -29,6 +29,7 @@ import { getEmbSubsetView } from "../../util/stateManager/viewStackHelpers";
subsetResetPossible,
graphInteractionMode: state.controls.graphInteractionMode,
imageUnderlay: state.imageUnderlay,
+ layoutChoice: state.layoutChoice, // TODO: really should clean up naming, s/layout/embedding/g
clipPercentileMin: Math.round(100 * (annoMatrix?.clipRange?.[0] ?? 0)),
clipPercentileMax: Math.round(100 * (annoMatrix?.clipRange?.[1] ?? 1)),
userDefinedGenes: state.controls.userDefinedGenes,
@@ -208,6 +209,7 @@ class MenuBar extends React.PureComponent {
subsetPossible,
subsetResetPossible,
imageUnderlay,
+ layoutChoice,
} = this.props;
const { pendingClipPercentiles } = this.state;
@@ -270,26 +272,28 @@ class MenuBar extends React.PureComponent {
disabled={!isColoredByCategorical}
/>
-
-
- {
- dispatch({
- type: "toggle image underlay",
- });
- }}
- />
-
-
+ {layoutChoice?.available?.includes(globals.spatialEmbeddingKeyword) && (
+
+
+ {
+ dispatch({
+ type: "toggle image underlay",
+ });
+ }}
+ />
+
+
+ )}