Skip to content

Commit 9f3015b

Browse files
committed
Initialize task draft before hydrating stores in workflows
1 parent 34d0739 commit 9f3015b

File tree

14 files changed

+177
-134
lines changed

14 files changed

+177
-134
lines changed

Diff for: src/components/capture/Create/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ import {
1212
import EntityCreate from 'src/components/shared/Entity/Create';
1313
import EntityToolbar from 'src/components/shared/Entity/Header';
1414
import { MutateDraftSpecProvider } from 'src/components/shared/Entity/MutateDraftSpecContext';
15+
import WorkflowInitializer from 'src/components/shared/Entity/WorkflowInitializer';
1516
import useValidConnectorsExist from 'src/hooks/connectors/useHasConnectors';
1617
import useDraftSpecs from 'src/hooks/useDraftSpecs';
1718
import usePageTitle from 'src/hooks/usePageTitle';
1819
import { CustomEvents } from 'src/services/types';
1920
import { useDetailsFormStore } from 'src/stores/DetailsForm/Store';
20-
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
2121
import { MAX_DISCOVER_TIME } from 'src/utils/misc-utils';
2222

2323
function CaptureCreate() {
@@ -75,7 +75,7 @@ function CaptureCreate() {
7575
}, [entityNameChanged]);
7676

7777
return (
78-
<WorkflowHydrator>
78+
<WorkflowInitializer>
7979
<MutateDraftSpecProvider value={updateDraftSpecs}>
8080
<EntityCreate
8181
entityType={entityType}
@@ -113,7 +113,7 @@ function CaptureCreate() {
113113
}
114114
/>
115115
</MutateDraftSpecProvider>
116-
</WorkflowHydrator>
116+
</WorkflowInitializer>
117117
);
118118
}
119119

Diff for: src/components/capture/CreateExpress/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import {
1111
import EntityCreateExpress from 'src/components/shared/Entity/Create/Express';
1212
import EntityToolbar from 'src/components/shared/Entity/Header';
1313
import { MutateDraftSpecProvider } from 'src/components/shared/Entity/MutateDraftSpecContext';
14+
import WorkflowInitializer from 'src/components/shared/Entity/WorkflowInitializer';
1415
import useValidConnectorsExist from 'src/hooks/connectors/useHasConnectors';
1516
import useDraftSpecs from 'src/hooks/useDraftSpecs';
1617
import usePageTitle from 'src/hooks/usePageTitle';
1718
import { CustomEvents } from 'src/services/types';
1819
import { useDetailsFormStore } from 'src/stores/DetailsForm/Store';
19-
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
2020
import { MAX_DISCOVER_TIME } from 'src/utils/misc-utils';
2121

2222
export default function CaptureExpressCreate() {
@@ -73,7 +73,7 @@ export default function CaptureExpressCreate() {
7373
}, [entityNameChanged]);
7474

7575
return (
76-
<WorkflowHydrator expressWorkflow>
76+
<WorkflowInitializer expressWorkflow>
7777
<MutateDraftSpecProvider value={updateDraftSpecs}>
7878
<EntityCreateExpress
7979
entityType={entityType}
@@ -104,6 +104,6 @@ export default function CaptureExpressCreate() {
104104
}
105105
/>
106106
</MutateDraftSpecProvider>
107-
</WorkflowHydrator>
107+
</WorkflowInitializer>
108108
);
109109
}

Diff for: src/components/capture/Edit.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ import {
1111
import EntityEdit from 'src/components/shared/Entity/Edit';
1212
import EntityToolbar from 'src/components/shared/Entity/Header';
1313
import { MutateDraftSpecProvider } from 'src/components/shared/Entity/MutateDraftSpecContext';
14+
import WorkflowInitializer from 'src/components/shared/Entity/WorkflowInitializer';
1415
import useValidConnectorsExist from 'src/hooks/connectors/useHasConnectors';
1516
import useGlobalSearchParams, {
1617
GlobalSearchParams,
1718
} from 'src/hooks/searchParams/useGlobalSearchParams';
1819
import { useDraftSpecs_editWorkflow } from 'src/hooks/useDraftSpecs';
1920
import usePageTitle from 'src/hooks/usePageTitle';
2021
import { CustomEvents } from 'src/services/types';
21-
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
2222
import { MAX_DISCOVER_TIME } from 'src/utils/misc-utils';
2323

2424
const entityType = 'capture';
@@ -49,7 +49,7 @@ function CaptureEdit() {
4949
}, [mutateDraftSpecs, mutate_advancedEditor]);
5050

5151
return (
52-
<WorkflowHydrator>
52+
<WorkflowInitializer>
5353
<MutateDraftSpecProvider value={updateDraftSpecs}>
5454
<EntityEdit
5555
title="routeTitle.captureEdit"
@@ -85,7 +85,7 @@ function CaptureEdit() {
8585
}
8686
/>
8787
</MutateDraftSpecProvider>
88-
</WorkflowHydrator>
88+
</WorkflowInitializer>
8989
);
9090
}
9191

Diff for: src/components/connectors/Grid/Skeleton.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Box, Grid, Skeleton } from '@mui/material';
22

3-
import Tile from './Tile';
3+
import Tile from 'src/components/connectors/Grid/Tile';
44

55
const tileCount = 6;
66

Diff for: src/components/materialization/Create/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import MaterializeGenerateButton from 'src/components/materialization/GenerateBu
1111
import EntityCreate from 'src/components/shared/Entity/Create';
1212
import EntityToolbar from 'src/components/shared/Entity/Header';
1313
import { MutateDraftSpecProvider } from 'src/components/shared/Entity/MutateDraftSpecContext';
14+
import WorkflowInitializer from 'src/components/shared/Entity/WorkflowInitializer';
1415
import useValidConnectorsExist from 'src/hooks/connectors/useHasConnectors';
1516
import useDraftSpecs from 'src/hooks/useDraftSpecs';
1617
import usePageTitle from 'src/hooks/usePageTitle';
1718
import { CustomEvents } from 'src/services/types';
1819
import { useDetailsFormStore } from 'src/stores/DetailsForm/Store';
19-
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
2020

2121
function MaterializationCreate() {
2222
usePageTitle({
@@ -57,7 +57,7 @@ function MaterializationCreate() {
5757
}, [imageTag, setDraftId]);
5858

5959
return (
60-
<WorkflowHydrator>
60+
<WorkflowInitializer>
6161
<MutateDraftSpecProvider value={updateDraftSpecs}>
6262
<EntityCreate
6363
entityType={entityType}
@@ -81,7 +81,7 @@ function MaterializationCreate() {
8181
}
8282
/>
8383
</MutateDraftSpecProvider>
84-
</WorkflowHydrator>
84+
</WorkflowInitializer>
8585
);
8686
}
8787

Diff for: src/components/materialization/Edit.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ import MaterializeGenerateButton from 'src/components/materialization/GenerateBu
1010
import EntityEdit from 'src/components/shared/Entity/Edit';
1111
import EntityToolbar from 'src/components/shared/Entity/Header';
1212
import { MutateDraftSpecProvider } from 'src/components/shared/Entity/MutateDraftSpecContext';
13+
import WorkflowInitializer from 'src/components/shared/Entity/WorkflowInitializer';
1314
import useValidConnectorsExist from 'src/hooks/connectors/useHasConnectors';
1415
import useGlobalSearchParams, {
1516
GlobalSearchParams,
1617
} from 'src/hooks/searchParams/useGlobalSearchParams';
1718
import { useDraftSpecs_editWorkflow } from 'src/hooks/useDraftSpecs';
1819
import usePageTitle from 'src/hooks/usePageTitle';
1920
import { CustomEvents } from 'src/services/types';
20-
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
2121

2222
function MaterializationEdit() {
2323
usePageTitle({
@@ -47,7 +47,7 @@ function MaterializationEdit() {
4747
}, [mutateDraftSpecs, mutate_advancedEditor]);
4848

4949
return (
50-
<WorkflowHydrator>
50+
<WorkflowInitializer>
5151
<MutateDraftSpecProvider value={updateDraftSpecs}>
5252
<EntityEdit
5353
title="routeTitle.materializationEdit"
@@ -73,7 +73,7 @@ function MaterializationEdit() {
7373
}
7474
/>
7575
</MutateDraftSpecProvider>
76-
</WorkflowHydrator>
76+
</WorkflowInitializer>
7777
);
7878
}
7979

Diff for: src/components/shared/Entity/Edit/DraftInitializer.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { useFormStateStore_status } from 'src/stores/FormState/hooks';
1414
import { FormStatus } from 'src/stores/FormState/types';
1515

1616
function DraftInitializer({ children }: BaseComponentProps) {
17-
const initializeTaskDraft = useInitializeTaskDraft();
17+
const { initializeTaskDraft } = useInitializeTaskDraft();
1818

1919
// Draft Editor Store
2020
const draftInitializationError = useEditorStore_draftInitializationError();

Diff for: src/components/shared/Entity/Edit/useInitializeTaskDraft.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ function useInitializeTaskDraft() {
203203
[taskSpecType]
204204
);
205205

206-
return useCallback(
206+
const initializeTaskDraft = useCallback(
207207
async (
208208
setLoading: Dispatch<SetStateAction<boolean>>
209209
): Promise<void> => {
@@ -289,6 +289,8 @@ function useInitializeTaskDraft() {
289289
taskSpecType,
290290
]
291291
);
292+
293+
return { initializeTaskDraft };
292294
}
293295

294296
export default useInitializeTaskDraft;

Diff for: src/components/shared/Entity/WorkflowInitializer.tsx

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import type { WorkflowInitializerProps } from './types';
2+
3+
import { Fragment } from 'react';
4+
5+
import DraftInitializer from './Edit/DraftInitializer';
6+
7+
import { useEntityWorkflow_Editing } from 'src/context/Workflow';
8+
import WorkflowHydrator from 'src/stores/Workflow/Hydrator';
9+
10+
const WorkflowInitializer = ({
11+
children,
12+
expressWorkflow,
13+
}: WorkflowInitializerProps) => {
14+
const isEdit = useEntityWorkflow_Editing();
15+
const InitializerComponent = isEdit ? DraftInitializer : Fragment;
16+
17+
return (
18+
<InitializerComponent>
19+
<WorkflowHydrator expressWorkflow={expressWorkflow}>
20+
{children}
21+
</WorkflowHydrator>
22+
</InitializerComponent>
23+
);
24+
};
25+
26+
export default WorkflowInitializer;

Diff for: src/components/shared/Entity/types.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type {
44
EntityTestButtonProps,
55
} from 'src/components/shared/Entity/Actions/types';
66
import type { DataPlaneOption } from 'src/stores/DetailsForm/types';
7-
import type { Entity } from 'src/types';
7+
import type { BaseComponentProps, Entity } from 'src/types';
88

99
export interface AddCollectionDialogCTAProps {
1010
entity?: Entity;
@@ -61,3 +61,7 @@ export interface TableHydratorProps {
6161
entity?: Entity;
6262
selectedCollections: string[];
6363
}
64+
65+
export interface WorkflowInitializerProps extends BaseComponentProps {
66+
expressWorkflow?: boolean;
67+
}

0 commit comments

Comments
 (0)