From 23f0bf96367c4d5b6190bb9e395d76619d5388a7 Mon Sep 17 00:00:00 2001 From: Shivam K <292110273+shivoomiess@users.noreply.github.com> Date: Tue, 7 Jul 2026 15:12:45 +0200 Subject: [PATCH] fix: add missing previewMode param to inherited QuestionaryState across multiple template states --- .../experimentSafety/ExperimentSafetyContainer.tsx | 5 ++++- .../GenericTemplate/GenericTemplateContainer.tsx | 2 +- .../SampleDeclaration/SampleDeclarationContainer.tsx | 4 +++- .../src/components/shipments/ShipmentContainer.tsx | 4 +++- .../src/components/visit/VisitRegistrationContainer.tsx | 2 +- .../experimentSafety/ExperimentSafetySubmissionState.ts | 7 +++++-- .../genericTemplate/GenericTemplateSubmissionState.ts | 7 +++++-- .../src/models/questionary/sample/SampleSubmissionState.ts | 7 +++++-- .../models/questionary/shipment/ShipmentSubmissionState.ts | 7 +++++-- .../questionary/visit/VisitRegistrationSubmissionState.ts | 7 +++++-- 10 files changed, 37 insertions(+), 15 deletions(-) diff --git a/apps/frontend/src/components/experimentSafety/ExperimentSafetyContainer.tsx b/apps/frontend/src/components/experimentSafety/ExperimentSafetyContainer.tsx index 42a77d93d5..aa654ac60e 100644 --- a/apps/frontend/src/components/experimentSafety/ExperimentSafetyContainer.tsx +++ b/apps/frontend/src/components/experimentSafety/ExperimentSafetyContainer.tsx @@ -120,7 +120,10 @@ export default function ExperimentSafetyContainer( props: ExperimentSafetyContainerProps ) { const [initialState] = useState( - new ExperimentSafetySubmissionState(props.experimentSafety) + new ExperimentSafetySubmissionState( + props.experimentSafety, + props.previewMode + ) ); const eventHandlers = useEventHandlers(TemplateGroupId.PROPOSAL_ESI); diff --git a/apps/frontend/src/components/questionary/questionaryComponents/GenericTemplate/GenericTemplateContainer.tsx b/apps/frontend/src/components/questionary/questionaryComponents/GenericTemplate/GenericTemplateContainer.tsx index 65e2980ece..a2e3574e1f 100644 --- a/apps/frontend/src/components/questionary/questionaryComponents/GenericTemplate/GenericTemplateContainer.tsx +++ b/apps/frontend/src/components/questionary/questionaryComponents/GenericTemplate/GenericTemplateContainer.tsx @@ -33,7 +33,7 @@ export function GenericTemplateContainer(props: { previewMode?: boolean; }) { const [initialState] = useState( - new GenericTemplateSubmissionState(props.genericTemplate) + new GenericTemplateSubmissionState(props.genericTemplate, props.previewMode) ); const eventHandlers = useEventHandlers(TemplateGroupId.GENERIC_TEMPLATE); diff --git a/apps/frontend/src/components/questionary/questionaryComponents/SampleDeclaration/SampleDeclarationContainer.tsx b/apps/frontend/src/components/questionary/questionaryComponents/SampleDeclaration/SampleDeclarationContainer.tsx index b27b0e3c24..1fc1babaef 100644 --- a/apps/frontend/src/components/questionary/questionaryComponents/SampleDeclaration/SampleDeclarationContainer.tsx +++ b/apps/frontend/src/components/questionary/questionaryComponents/SampleDeclaration/SampleDeclarationContainer.tsx @@ -26,7 +26,9 @@ export function SampleDeclarationContainer(props: { sampleEditDone?: () => void; previewMode?: boolean; }) { - const [initialState] = useState(new SampleSubmissionState(props.sample)); + const [initialState] = useState( + new SampleSubmissionState(props.sample, props.previewMode) + ); const eventHandlers = useEventHandlers(TemplateGroupId.SAMPLE); diff --git a/apps/frontend/src/components/shipments/ShipmentContainer.tsx b/apps/frontend/src/components/shipments/ShipmentContainer.tsx index 290d77470c..558001b95a 100644 --- a/apps/frontend/src/components/shipments/ShipmentContainer.tsx +++ b/apps/frontend/src/components/shipments/ShipmentContainer.tsx @@ -24,7 +24,9 @@ export default function ShipmentContainer(props: { onDirtyStateChange?: (isDirty: boolean) => void; previewMode?: boolean; }) { - const [initialState] = useState(new ShipmentSubmissionState(props.shipment)); + const [initialState] = useState( + new ShipmentSubmissionState(props.shipment, props.previewMode) + ); const eventHandlers = useEventHandlers(TemplateGroupId.SHIPMENT); const customEventHandlers = createCustomEventHandlers((state, action) => { diff --git a/apps/frontend/src/components/visit/VisitRegistrationContainer.tsx b/apps/frontend/src/components/visit/VisitRegistrationContainer.tsx index 7510c0988a..09ce58b446 100644 --- a/apps/frontend/src/components/visit/VisitRegistrationContainer.tsx +++ b/apps/frontend/src/components/visit/VisitRegistrationContainer.tsx @@ -27,7 +27,7 @@ export default function VisitRegistrationContainer( props: VisitRegistrationContainerProps ) { const [initialState] = useState( - new VisitRegistrationSubmissionState(props.registration) + new VisitRegistrationSubmissionState(props.registration, props.previewMode) ); const eventHandlers = useEventHandlers(TemplateGroupId.VISIT_REGISTRATION); diff --git a/apps/frontend/src/models/questionary/experimentSafety/ExperimentSafetySubmissionState.ts b/apps/frontend/src/models/questionary/experimentSafety/ExperimentSafetySubmissionState.ts index 8b0fbf92b0..7b8ab1c2a5 100644 --- a/apps/frontend/src/models/questionary/experimentSafety/ExperimentSafetySubmissionState.ts +++ b/apps/frontend/src/models/questionary/experimentSafety/ExperimentSafetySubmissionState.ts @@ -7,8 +7,11 @@ import { QuestionarySubmissionState } from '../QuestionarySubmissionState'; export class ExperimentSafetySubmissionState extends QuestionarySubmissionState { [immerable] = true; - constructor(public experimentSafety: ExperimentSafetyWithQuestionary) { - super(TemplateGroupId.PROPOSAL_ESI, experimentSafety); + constructor( + public experimentSafety: ExperimentSafetyWithQuestionary, + public previewMode: boolean | undefined + ) { + super(TemplateGroupId.PROPOSAL_ESI, experimentSafety, previewMode); this.stepIndex = this.getInitialStepIndex(); } diff --git a/apps/frontend/src/models/questionary/genericTemplate/GenericTemplateSubmissionState.ts b/apps/frontend/src/models/questionary/genericTemplate/GenericTemplateSubmissionState.ts index 727e0ef9d5..ce3c76962b 100644 --- a/apps/frontend/src/models/questionary/genericTemplate/GenericTemplateSubmissionState.ts +++ b/apps/frontend/src/models/questionary/genericTemplate/GenericTemplateSubmissionState.ts @@ -6,8 +6,11 @@ import { GenericTemplateWithQuestionary } from './GenericTemplateWithQuestionary import { QuestionarySubmissionState } from '../QuestionarySubmissionState'; export class GenericTemplateSubmissionState extends QuestionarySubmissionState { [immerable] = true; - constructor(public genericTemplate: GenericTemplateWithQuestionary) { - super(TemplateGroupId.GENERIC_TEMPLATE, genericTemplate); + constructor( + public genericTemplate: GenericTemplateWithQuestionary, + public previewMode: boolean | undefined + ) { + super(TemplateGroupId.GENERIC_TEMPLATE, genericTemplate, previewMode); this.stepIndex = this.getInitialStepIndex(); } diff --git a/apps/frontend/src/models/questionary/sample/SampleSubmissionState.ts b/apps/frontend/src/models/questionary/sample/SampleSubmissionState.ts index 2adddd52c2..bd0335d3ad 100644 --- a/apps/frontend/src/models/questionary/sample/SampleSubmissionState.ts +++ b/apps/frontend/src/models/questionary/sample/SampleSubmissionState.ts @@ -6,8 +6,11 @@ import { SampleWithQuestionary } from './SampleWithQuestionary'; import { QuestionarySubmissionState } from '../QuestionarySubmissionState'; export class SampleSubmissionState extends QuestionarySubmissionState { [immerable] = true; - constructor(public sample: SampleWithQuestionary) { - super(TemplateGroupId.SAMPLE, sample); + constructor( + public sample: SampleWithQuestionary, + public previewMode: boolean | undefined + ) { + super(TemplateGroupId.SAMPLE, sample, previewMode); this.stepIndex = this.getInitialStepIndex(); } diff --git a/apps/frontend/src/models/questionary/shipment/ShipmentSubmissionState.ts b/apps/frontend/src/models/questionary/shipment/ShipmentSubmissionState.ts index 1c810a7336..1c85036ba2 100644 --- a/apps/frontend/src/models/questionary/shipment/ShipmentSubmissionState.ts +++ b/apps/frontend/src/models/questionary/shipment/ShipmentSubmissionState.ts @@ -8,8 +8,11 @@ import { QuestionarySubmissionState } from '../QuestionarySubmissionState'; export class ShipmentSubmissionState extends QuestionarySubmissionState { [immerable] = true; - constructor(public shipment: ShipmentWithQuestionary) { - super(TemplateGroupId.SHIPMENT, shipment); + constructor( + public shipment: ShipmentWithQuestionary, + public previewMode: boolean | undefined + ) { + super(TemplateGroupId.SHIPMENT, shipment, previewMode); this.stepIndex = this.getInitialStepIndex(); } diff --git a/apps/frontend/src/models/questionary/visit/VisitRegistrationSubmissionState.ts b/apps/frontend/src/models/questionary/visit/VisitRegistrationSubmissionState.ts index 73a0a02951..00b959e504 100644 --- a/apps/frontend/src/models/questionary/visit/VisitRegistrationSubmissionState.ts +++ b/apps/frontend/src/models/questionary/visit/VisitRegistrationSubmissionState.ts @@ -7,8 +7,11 @@ import { QuestionarySubmissionState } from '../QuestionarySubmissionState'; export class VisitRegistrationSubmissionState extends QuestionarySubmissionState { [immerable] = true; - constructor(public registration: RegistrationWithQuestionary) { - super(TemplateGroupId.VISIT_REGISTRATION, registration); + constructor( + public registration: RegistrationWithQuestionary, + public isPreviewMode: boolean | undefined + ) { + super(TemplateGroupId.VISIT_REGISTRATION, registration, isPreviewMode); this.stepIndex = this.getInitialStepIndex(); }