Skip to content

Commit 4b13be2

Browse files
author
Ruben van Leeuwen
committed
1663: Renames data provider to custom data provider
1 parent 0a8debb commit 4b13be2

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

frontend/packages/pydantic-forms/src/core/PydanticFormContextProvider.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ function PydanticFormContextProvider({
7676
config,
7777
}: PydanticFormInitialContextProps) {
7878
const {
79-
customDataProvider: dataProvider,
79+
customDataProvider,
8080
labelProvider,
8181
formProvider,
8282
fieldDetailProvider,
8383
onFieldChangeHandler,
84-
dataProviderCacheKey,
84+
customDataProviderCacheKey,
8585
resetButtonAlternative,
8686
footerCtaPrimaryVariant = 'purple',
8787
customValidationRules,
@@ -112,7 +112,10 @@ function PydanticFormContextProvider({
112112
useLabelProvider(labelProvider, formKey, formIdKey);
113113

114114
const { data: customData, isLoading: isCustomDataLoading } =
115-
useCustomDataProvider(dataProviderCacheKey ?? 100, dataProvider);
115+
useCustomDataProvider(
116+
customDataProviderCacheKey ?? 100,
117+
customDataProvider,
118+
);
116119

117120
// fetch the form definition using SWR hook
118121
const {
@@ -345,7 +348,8 @@ function PydanticFormContextProvider({
345348
const isLoading =
346349
isLoadingFormLabels ||
347350
isLoadingSchema ||
348-
(dataProvider ? isCustomDataLoading : false);
351+
isLoadingSchema ||
352+
(customDataProvider ? isCustomDataLoading : false);
349353

350354
const PydanticFormContextState = {
351355
// to prevent an issue where the sending state hangs
@@ -361,7 +365,7 @@ function PydanticFormContextProvider({
361365
sendLabel,
362366
debugMode,
363367
isFullFilled,
364-
dataProvider,
368+
customDataProvider,
365369
errorDetails,
366370
formLayout,
367371
successNotice,

frontend/packages/pydantic-forms/src/core/hooks/useCustomDataProvider.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
import useSWR from 'swr';
2-
import { FetcherResponse } from 'swr/dist/_internal';
32

4-
import { PydanticFormApiErrorResponse, PydanticFormLabels } from '@/types';
3+
import { PydanticFormCustomDataProvider, PydanticFormLabels } from '@/types';
54

65
const useCustomDataProvider = (
76
cacheKey: number,
8-
promiseFn?: () => FetcherResponse<PydanticFormLabels>,
7+
customDataProvider?: PydanticFormCustomDataProvider,
98
) => {
10-
return useSWR<PydanticFormApiErrorResponse | object>(
9+
return useSWR<PydanticFormLabels>(
1110
// cache key
1211
[`pydanticFormsDataProvider-${cacheKey}`],
1312

1413
// return val
1514
() => {
16-
if (!promiseFn) {
15+
if (!customDataProvider) {
1716
return {};
1817
}
1918

20-
return promiseFn();
19+
return customDataProvider();
2120
},
2221

2322
// swr config

frontend/packages/pydantic-forms/src/types.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ export interface PydanticFormZodValidationPresets {
282282

283283
export interface PydanticFormsContextConfig {
284284
// use custom method to provide data for the form. This overwrites data fetched from labels endpoint
285-
customDataProvider?: PydanticFormDataProvider;
285+
customDataProvider?: PydanticFormCustomDataProvider;
286286

287287
// use custom method for providing labels and data
288288
labelProvider?: PydanticFormLabelProvider;
@@ -300,7 +300,7 @@ export interface PydanticFormsContextConfig {
300300
fieldDetailProvider?: PydanticFormFieldDetailProvider;
301301

302302
// be able to refresh the provided data
303-
dataProviderCacheKey?: number;
303+
customDataProviderCacheKey?: number;
304304

305305
// whenever a fieldvalue changes, do something
306306
onFieldChangeHandler?: onPydanticFormFieldChangeHandlerFn;
@@ -322,8 +322,7 @@ export interface PydanticFormsContextConfig {
322322

323323
footerCtaPrimaryVariant?: string;
324324
}
325-
326-
export type PydanticFormDataProvider = () => Promise<PydanticFormLabels>;
325+
export type PydanticFormCustomDataProvider = () => Promise<PydanticFormLabels>;
327326

328327
export interface PydanticFormLabels {
329328
[key: string]: string[] | number[] | string | number | null;

0 commit comments

Comments
 (0)