diff --git a/src/state/userInterface/effects.ts b/src/state/userInterface/effects.ts index aa879e727..ad48299eb 100644 --- a/src/state/userInterface/effects.ts +++ b/src/state/userInterface/effects.ts @@ -8,6 +8,7 @@ import { generalActionError } from "../actions"; import { userInterface } from ".."; import { selectors } from "../atlasSelection" import * as actions from "./actions" +import { isNullish } from "src/util/fn"; @Injectable() export class Effects{ @@ -70,18 +71,23 @@ export class Effects{ ) ), switchMap(([ { targetIndex }, panelMode ]) => { - const newMode: userInterface.PanelMode = panelMode === "FOUR_PANEL" + let newMode: userInterface.PanelMode + if (isNullish(panelMode)) { + newMode = "PIP_PANEL" + } else { + newMode = panelMode === "FOUR_PANEL" ? "PIP_PANEL" : "FOUR_PANEL" + } const newOrder = newMode === "FOUR_PANEL" ? "0123" : "0123".split("").map(v => ((Number(v) + targetIndex) % 4).toString()).join("") return of( - userInterface.actions.setPanelMode({ - panelMode: newMode - }), userInterface.actions.setPanelOrder({ order: newOrder + }), + userInterface.actions.setPanelMode({ + panelMode: newMode }) ) }) diff --git a/src/viewerModule/nehuba/viewerCtrl/perspectiveViewSlider/perspectiveViewSlider.component.ts b/src/viewerModule/nehuba/viewerCtrl/perspectiveViewSlider/perspectiveViewSlider.component.ts index 890e01b2e..4e0b01be3 100644 --- a/src/viewerModule/nehuba/viewerCtrl/perspectiveViewSlider/perspectiveViewSlider.component.ts +++ b/src/viewerModule/nehuba/viewerCtrl/perspectiveViewSlider/perspectiveViewSlider.component.ts @@ -124,6 +124,7 @@ export class PerspectiveViewSlider { ), ]).pipe( map(([ mode, order ]) => { + // TODO order can potentially be nullish if (!([EnumPanelMode.PIP_PANEL, EnumPanelMode.SINGLE_PANEL].includes(mode as EnumPanelMode))) { return null }