From 177a849b462de0af40fa2f98585b04aba36ba93f Mon Sep 17 00:00:00 2001 From: Simona Domnisoru Date: Fri, 7 Feb 2025 10:10:34 +0100 Subject: [PATCH] fix: loading spinner spins indefinitely --- .../WidgetRelatedStages/WidgetRelatedStages.container.js | 7 ++++++- .../hooks/useAddEventWithRelationship.js | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core_modules/capture-core/components/WidgetRelatedStages/WidgetRelatedStages.container.js b/src/core_modules/capture-core/components/WidgetRelatedStages/WidgetRelatedStages.container.js index 66fdbab2c2..a4efcca13e 100644 --- a/src/core_modules/capture-core/components/WidgetRelatedStages/WidgetRelatedStages.container.js +++ b/src/core_modules/capture-core/components/WidgetRelatedStages/WidgetRelatedStages.container.js @@ -81,7 +81,12 @@ export const WidgetRelatedStagesPlain = ({ enrollmentId, }); - if (!formHasError && relationship && linkMode) { + if (formHasError) { + setIsLinking(false); + return; + } + + if (relationship && linkMode) { const serverData = createServerData({ enrollment, linkedEvent: relatedStageLinkedEvent, relationship }); addEventWithRelationship({ serverData, linkMode, eventIdToRedirectTo: relatedStageLinkedEvent?.event }); } diff --git a/src/core_modules/capture-core/components/WidgetRelatedStages/hooks/useAddEventWithRelationship.js b/src/core_modules/capture-core/components/WidgetRelatedStages/hooks/useAddEventWithRelationship.js index af955ba986..a5014a4466 100644 --- a/src/core_modules/capture-core/components/WidgetRelatedStages/hooks/useAddEventWithRelationship.js +++ b/src/core_modules/capture-core/components/WidgetRelatedStages/hooks/useAddEventWithRelationship.js @@ -44,6 +44,7 @@ export const useAddEventWithRelationship = ({ onUpdateOrAddEnrollmentEvents && onUpdateOrAddEnrollmentEvents(payload.serverData.events); }, onSuccess: (_, payload: { linkMode: string, eventIdToRedirectTo?: string, serverData: Object }) => { + setIsLinking(false); const queryKey = [ReactQueryAppNamespace, 'linkedEventByOriginEvent', eventId]; queryClient.refetchQueries(queryKey); onUpdateEnrollmentEventsSuccess && onUpdateEnrollmentEventsSuccess(payload.serverData.events);