Skip to content

Commit e2a6f0b

Browse files
committed
Create a binding store to replace the resource config store
1 parent a5be683 commit e2a6f0b

File tree

15 files changed

+580
-161
lines changed

15 files changed

+580
-161
lines changed

src/api/hydration.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import {
44
LiveSpecsExt_MaterializeCapture,
55
} from 'hooks/useLiveSpecsExt';
66
import {
7+
TABLES,
78
handleFailure,
89
handleSuccess,
910
supabaseClient,
1011
supabaseRetry,
11-
TABLES,
1212
} from 'services/supabase';
1313
import { Entity } from 'types';
1414

@@ -86,7 +86,7 @@ export const getLiveSpecsById_writesTo = async (
8686
typeof liveSpecId === 'string' ? [liveSpecId] : liveSpecId
8787
),
8888
'getLiveSpecsById_writesTo'
89-
).then(handleSuccess<LiveSpecsExt_MaterializeCapture>, handleFailure);
89+
).then(handleSuccess<LiveSpecsExt_MaterializeCapture[]>, handleFailure);
9090

9191
return data;
9292
};

src/components/capture/Create/index.tsx

+49-42
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import useDraftSpecs from 'hooks/useDraftSpecs';
1717
import usePageTitle from 'hooks/usePageTitle';
1818
import { useCallback, useEffect, useMemo, useState } from 'react';
1919
import { CustomEvents } from 'services/types';
20+
import BindingHydrator from 'stores/Binding/Hydrator';
2021
import {
2122
useDetailsForm_connectorImage,
2223
useDetailsForm_entityNameChanged,
@@ -87,48 +88,54 @@ function CaptureCreate() {
8788
<DetailsFormHydrator>
8889
<EndpointConfigHydrator>
8990
<ResourceConfigHydrator>
90-
<MutateDraftSpecProvider value={updateDraftSpecs}>
91-
<EntityCreate
92-
entityType={entityType}
93-
draftSpecMetadata={draftSpecsMetadata}
94-
toolbar={
95-
<EntityToolbar
96-
waitTimes={{ generate: MAX_DISCOVER_TIME }}
97-
GenerateButton={
98-
<CaptureGenerateButton
99-
entityType={entityType}
100-
disabled={!hasConnectors}
101-
createWorkflowMetadata={{
102-
initiateDiscovery,
103-
setInitiateDiscovery,
104-
}}
105-
/>
106-
}
107-
TestButton={
108-
<EntityTestButton
109-
disabled={!hasConnectors}
110-
logEvent={CustomEvents.CAPTURE_TEST}
111-
/>
112-
}
113-
SaveButton={
114-
<EntitySaveButton
115-
disabled={!draftId}
116-
taskNames={tasks}
117-
logEvent={
118-
CustomEvents.CAPTURE_CREATE
119-
}
120-
/>
121-
}
122-
/>
123-
}
124-
RediscoverButton={
125-
<RediscoverButton
126-
entityType={entityType}
127-
disabled={!hasConnectors}
128-
/>
129-
}
130-
/>
131-
</MutateDraftSpecProvider>
91+
<BindingHydrator>
92+
<MutateDraftSpecProvider value={updateDraftSpecs}>
93+
<EntityCreate
94+
entityType={entityType}
95+
draftSpecMetadata={draftSpecsMetadata}
96+
toolbar={
97+
<EntityToolbar
98+
waitTimes={{
99+
generate: MAX_DISCOVER_TIME,
100+
}}
101+
GenerateButton={
102+
<CaptureGenerateButton
103+
entityType={entityType}
104+
disabled={!hasConnectors}
105+
createWorkflowMetadata={{
106+
initiateDiscovery,
107+
setInitiateDiscovery,
108+
}}
109+
/>
110+
}
111+
TestButton={
112+
<EntityTestButton
113+
disabled={!hasConnectors}
114+
logEvent={
115+
CustomEvents.CAPTURE_TEST
116+
}
117+
/>
118+
}
119+
SaveButton={
120+
<EntitySaveButton
121+
disabled={!draftId}
122+
taskNames={tasks}
123+
logEvent={
124+
CustomEvents.CAPTURE_CREATE
125+
}
126+
/>
127+
}
128+
/>
129+
}
130+
RediscoverButton={
131+
<RediscoverButton
132+
entityType={entityType}
133+
disabled={!hasConnectors}
134+
/>
135+
}
136+
/>
137+
</MutateDraftSpecProvider>
138+
</BindingHydrator>
132139
</ResourceConfigHydrator>
133140
</EndpointConfigHydrator>
134141
</DetailsFormHydrator>

src/components/capture/Edit.tsx

+47-44
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import useDraftSpecs from 'hooks/useDraftSpecs';
2020
import usePageTitle from 'hooks/usePageTitle';
2121
import { useCallback, useMemo } from 'react';
2222
import { CustomEvents } from 'services/types';
23+
import BindingHydrator from 'stores/Binding/Hydrator';
2324
import { DetailsFormHydrator } from 'stores/DetailsForm/Hydrator';
2425
import { EndpointConfigHydrator } from 'stores/EndpointConfig/Hydrator';
2526
import ResourceConfigHydrator from 'stores/ResourceConfig/Hydrator';
@@ -69,50 +70,52 @@ function CaptureEdit() {
6970
<DetailsFormHydrator>
7071
<EndpointConfigHydrator>
7172
<ResourceConfigHydrator>
72-
<MutateDraftSpecProvider value={updateDraftSpecs}>
73-
<EntityEdit
74-
title="routeTitle.captureEdit"
75-
entityType={entityType}
76-
readOnly={{ detailsForm: true }}
77-
draftSpecMetadata={draftSpecsMetadata}
78-
toolbar={
79-
<EntityToolbar
80-
waitTimes={{
81-
generate: MAX_DISCOVER_TIME,
82-
}}
83-
GenerateButton={
84-
<CaptureGenerateButton
85-
entityType={entityType}
86-
disabled={!hasConnectors}
87-
/>
88-
}
89-
TestButton={
90-
<EntityTestButton
91-
disabled={!hasConnectors}
92-
logEvent={
93-
CustomEvents.CAPTURE_TEST
94-
}
95-
/>
96-
}
97-
SaveButton={
98-
<EntitySaveButton
99-
disabled={!draftId}
100-
taskNames={taskNames}
101-
logEvent={
102-
CustomEvents.CAPTURE_EDIT
103-
}
104-
/>
105-
}
106-
/>
107-
}
108-
RediscoverButton={
109-
<RediscoverButton
110-
entityType={entityType}
111-
disabled={!hasConnectors}
112-
/>
113-
}
114-
/>
115-
</MutateDraftSpecProvider>
73+
<BindingHydrator>
74+
<MutateDraftSpecProvider value={updateDraftSpecs}>
75+
<EntityEdit
76+
title="routeTitle.captureEdit"
77+
entityType={entityType}
78+
readOnly={{ detailsForm: true }}
79+
draftSpecMetadata={draftSpecsMetadata}
80+
toolbar={
81+
<EntityToolbar
82+
waitTimes={{
83+
generate: MAX_DISCOVER_TIME,
84+
}}
85+
GenerateButton={
86+
<CaptureGenerateButton
87+
entityType={entityType}
88+
disabled={!hasConnectors}
89+
/>
90+
}
91+
TestButton={
92+
<EntityTestButton
93+
disabled={!hasConnectors}
94+
logEvent={
95+
CustomEvents.CAPTURE_TEST
96+
}
97+
/>
98+
}
99+
SaveButton={
100+
<EntitySaveButton
101+
disabled={!draftId}
102+
taskNames={taskNames}
103+
logEvent={
104+
CustomEvents.CAPTURE_EDIT
105+
}
106+
/>
107+
}
108+
/>
109+
}
110+
RediscoverButton={
111+
<RediscoverButton
112+
entityType={entityType}
113+
disabled={!hasConnectors}
114+
/>
115+
}
116+
/>
117+
</MutateDraftSpecProvider>
118+
</BindingHydrator>
116119
</ResourceConfigHydrator>
117120
</EndpointConfigHydrator>
118121
</DetailsFormHydrator>

src/components/materialization/Create/index.tsx

+35-32
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import useDraftSpecs from 'hooks/useDraftSpecs';
1616
import usePageTitle from 'hooks/usePageTitle';
1717
import { useCallback, useEffect, useMemo } from 'react';
1818
import { CustomEvents } from 'services/types';
19+
import BindingHydrator from 'stores/Binding/Hydrator';
1920
import { useDetailsForm_connectorImage } from 'stores/DetailsForm/hooks';
2021
import { DetailsFormHydrator } from 'stores/DetailsForm/Hydrator';
2122
import { EndpointConfigHydrator } from 'stores/EndpointConfig/Hydrator';
@@ -70,38 +71,40 @@ function MaterializationCreate() {
7071
<DetailsFormHydrator>
7172
<EndpointConfigHydrator>
7273
<ResourceConfigHydrator>
73-
<MutateDraftSpecProvider value={updateDraftSpecs}>
74-
<EntityCreate
75-
entityType={entityType}
76-
draftSpecMetadata={draftSpecsMetadata}
77-
toolbar={
78-
<EntityToolbar
79-
GenerateButton={
80-
<MaterializeGenerateButton
81-
disabled={!hasConnectors}
82-
/>
83-
}
84-
TestButton={
85-
<EntityTestButton
86-
disabled={!hasConnectors}
87-
logEvent={
88-
CustomEvents.MATERIALIZATION_TEST
89-
}
90-
/>
91-
}
92-
SaveButton={
93-
<EntitySaveButton
94-
disabled={!draftId}
95-
taskNames={taskNames}
96-
logEvent={
97-
CustomEvents.MATERIALIZATION_CREATE
98-
}
99-
/>
100-
}
101-
/>
102-
}
103-
/>
104-
</MutateDraftSpecProvider>
74+
<BindingHydrator>
75+
<MutateDraftSpecProvider value={updateDraftSpecs}>
76+
<EntityCreate
77+
entityType={entityType}
78+
draftSpecMetadata={draftSpecsMetadata}
79+
toolbar={
80+
<EntityToolbar
81+
GenerateButton={
82+
<MaterializeGenerateButton
83+
disabled={!hasConnectors}
84+
/>
85+
}
86+
TestButton={
87+
<EntityTestButton
88+
disabled={!hasConnectors}
89+
logEvent={
90+
CustomEvents.MATERIALIZATION_TEST
91+
}
92+
/>
93+
}
94+
SaveButton={
95+
<EntitySaveButton
96+
disabled={!draftId}
97+
taskNames={taskNames}
98+
logEvent={
99+
CustomEvents.MATERIALIZATION_CREATE
100+
}
101+
/>
102+
}
103+
/>
104+
}
105+
/>
106+
</MutateDraftSpecProvider>
107+
</BindingHydrator>
105108
</ResourceConfigHydrator>
106109
</EndpointConfigHydrator>
107110
</DetailsFormHydrator>

0 commit comments

Comments
 (0)