From 3369956accb8a181d3ea9053255292bbc401981f Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Tue, 20 Oct 2020 17:05:29 +0200 Subject: [PATCH] bugfix: changing template now also update url nav --- src/main.module.ts | 1 - src/services/state/viewerState.store.ts | 12 +++++++++--- src/services/state/viewerState/actions.ts | 2 +- .../viewerState.useEffect.spec.ts | 5 ----- .../viewerStateController/viewerState.useEffect.ts | 7 ++----- 5 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/main.module.ts b/src/main.module.ts index 65fb34a1c..0c2749376 100644 --- a/src/main.module.ts +++ b/src/main.module.ts @@ -258,7 +258,6 @@ export const GET_STATE_SNAPSHOT_TOKEN = new InjectionToken('GET_STATE_SNAPSHOT_T * TODO * once nehubacontainer is separated into viewer + overlay, migrate to nehubaContainer module */ - DatabrowserService, { provide: API_SERVICE_SET_VIEWER_HANDLE_TOKEN, useFactory: setViewerHandleFactory, diff --git a/src/services/state/viewerState.store.ts b/src/services/state/viewerState.store.ts index fa8c727a6..63fefee54 100644 --- a/src/services/state/viewerState.store.ts +++ b/src/services/state/viewerState.store.ts @@ -24,6 +24,7 @@ import { viewerStateMouseOverCustomLandmarkInPerspectiveView, viewerStateNewViewer } from './viewerState.store.helper'; +import { cvtNehubaConfigToNavigationObj } from 'src/ui/viewerStateController/viewerState.useEffect'; export interface StateInterface { fetchedTemplates: any[] @@ -136,17 +137,22 @@ export const getStateStore = ({ state = defaultState } = {}) => (prevState: Part } case NEWVIEWER: { - const { selectParcellation: parcellation } = action + const { + selectParcellation: parcellation, + navigation, + selectTemplate, + } = action + const navigationFromTemplateSelected = cvtNehubaConfigToNavigationObj(selectTemplate?.nehubaConfig?.dataset?.initialNgState) return { ...prevState, - templateSelected : action.selectTemplate, + templateSelected : selectTemplate, parcellationSelected : parcellation, // taken care of by effect.ts // regionsSelected : [], // taken care of by effect.ts // landmarksSelected : [], - navigation : action.navigation, + navigation : navigation || navigationFromTemplateSelected, dedicatedView : null, } } diff --git a/src/services/state/viewerState/actions.ts b/src/services/state/viewerState/actions.ts index 7cea8db48..4da844663 100644 --- a/src/services/state/viewerState/actions.ts +++ b/src/services/state/viewerState/actions.ts @@ -6,7 +6,7 @@ export const viewerStateNewViewer = createAction( props<{ selectTemplate: any selectParcellation: any - navigation: any + navigation?: any }>() ) diff --git a/src/ui/viewerStateController/viewerState.useEffect.spec.ts b/src/ui/viewerStateController/viewerState.useEffect.spec.ts index e15a18fb8..b1eeb0940 100644 --- a/src/ui/viewerStateController/viewerState.useEffect.spec.ts +++ b/src/ui/viewerStateController/viewerState.useEffect.spec.ts @@ -104,7 +104,6 @@ describe('> viewerState.useEffect.ts', () => { a: viewerStateNewViewer({ selectTemplate: reconstitutedColin, selectParcellation: reconstitutedColin.parcellations[0], - navigation: {} }) } ) @@ -133,7 +132,6 @@ describe('> viewerState.useEffect.ts', () => { a: viewerStateNewViewer({ selectTemplate: reconstitutedColin, selectParcellation: reconstitutedColin.parcellations[0], - navigation: {} }) } ) @@ -162,7 +160,6 @@ describe('> viewerState.useEffect.ts', () => { a: viewerStateNewViewer({ selectTemplate: reconstitutedColin, selectParcellation: reconstitutedColin.parcellations[0], - navigation: {} }) } ) @@ -190,7 +187,6 @@ describe('> viewerState.useEffect.ts', () => { a: viewerStateNewViewer({ selectTemplate: reconstitutedColin, selectParcellation: reconstitutedColin.parcellations[0], - navigation: {} }) } ) @@ -224,7 +220,6 @@ describe('> viewerState.useEffect.ts', () => { a: viewerStateNewViewer({ selectTemplate: updatedColin, selectParcellation: updatedColin.parcellations[0], - navigation: {} }) } ) diff --git a/src/ui/viewerStateController/viewerState.useEffect.ts b/src/ui/viewerStateController/viewerState.useEffect.ts index 75f613cca..292d47435 100644 --- a/src/ui/viewerStateController/viewerState.useEffect.ts +++ b/src/ui/viewerStateController/viewerState.useEffect.ts @@ -210,9 +210,8 @@ export class ViewerStateControllerUseEffect implements OnDestroy { */ if (!lastSelectedTemplate) { return of(viewerStateNewViewer({ - navigation: {}, selectParcellation, - selectTemplate + selectTemplate, })) } @@ -228,9 +227,8 @@ export class ViewerStateControllerUseEffect implements OnDestroy { */ if (status === 'error') { return viewerStateNewViewer({ - navigation: {}, selectParcellation, - selectTemplate + selectTemplate, }) } @@ -258,7 +256,6 @@ export class ViewerStateControllerUseEffect implements OnDestroy { return viewerStateNewViewer({ selectTemplate: deepCopiedState, selectParcellation, - navigation: {} }) }) ) -- GitLab