react-crud-mui 0.2.36 → 0.2.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/detail-page/components/AutoSave.d.ts +5 -3
- package/dist/components/detail-page/components/DetailPageDefaultLayout.d.ts +3 -1
- package/dist/components/detail-page/hooks/useDetailPageModal.d.ts +20 -1
- package/dist/components/detail-page/pages/DetailPageContent.d.ts +14 -3
- package/dist/components/detail-page/pages/DetailPageForm.d.ts +3 -2
- package/dist/components/form/components/FormErrorsTracker.d.ts +6 -0
- package/dist/components/form/components/FormValuesTracker.d.ts +6 -0
- package/dist/coreui.js +3274 -3238
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
interface AutoSaveProps {
|
|
2
|
-
|
|
1
|
+
interface AutoSaveProps extends AutoSaveOptions {
|
|
2
|
+
onAutoSave: () => void;
|
|
3
|
+
}
|
|
4
|
+
export interface AutoSaveOptions {
|
|
3
5
|
delay?: number;
|
|
4
6
|
}
|
|
5
|
-
declare function AutoSave({
|
|
7
|
+
declare function AutoSave({ onAutoSave, delay }: AutoSaveProps): null;
|
|
6
8
|
export default AutoSave;
|
|
@@ -8,8 +8,10 @@ export type DetailPageLayoutProps = {
|
|
|
8
8
|
content?: ReactNode;
|
|
9
9
|
stepsContent?: ReactNode;
|
|
10
10
|
autoSaveContent?: ReactNode;
|
|
11
|
+
valuesChangeContent?: ReactNode;
|
|
12
|
+
errorsContent?: ReactNode;
|
|
11
13
|
options: DetailPageLayoutOptions;
|
|
12
14
|
};
|
|
13
15
|
type DetailPageDefaultLayoutProps = DetailPageLayoutProps;
|
|
14
|
-
declare function DetailPageDefaultLayout({ content, stepsContent, autoSaveContent, }: DetailPageDefaultLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function DetailPageDefaultLayout({ content, stepsContent, autoSaveContent, valuesChangeContent, errorsContent, }: DetailPageDefaultLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
15
17
|
export default DetailPageDefaultLayout;
|
|
@@ -26,6 +26,23 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
26
26
|
readonly schema?: import('zod').ZodType<TModel, import('zod').ZodTypeDef, TModel> | undefined;
|
|
27
27
|
readonly validationOptions?: import('../../form/hooks/useForm').ValidationOptions<TModel> | undefined;
|
|
28
28
|
readonly defaultValues?: import('../pages/DetailPageForm').DefaultData<TModel> | undefined;
|
|
29
|
+
readonly formProps?: Partial<Partial<{
|
|
30
|
+
mode: import('react-hook-form').Mode;
|
|
31
|
+
disabled: boolean;
|
|
32
|
+
reValidateMode: Exclude<import('react-hook-form').Mode, "onTouched" | "all">;
|
|
33
|
+
defaultValues: ((payload?: unknown) => Promise<TModel>) | import('react-hook-form').DefaultValues<TModel>;
|
|
34
|
+
values: TModel;
|
|
35
|
+
errors: import('react-hook-form').FieldErrors<TModel>;
|
|
36
|
+
resetOptions: Parameters<import('react-hook-form').UseFormReset<TFieldValues>>[1];
|
|
37
|
+
resolver: import('react-hook-form').Resolver<TModel, any>;
|
|
38
|
+
context: any;
|
|
39
|
+
shouldFocusError: boolean;
|
|
40
|
+
shouldUnregister: boolean;
|
|
41
|
+
shouldUseNativeValidation: boolean;
|
|
42
|
+
progressive: boolean;
|
|
43
|
+
criteriaMode: import('react-hook-form').CriteriaMode;
|
|
44
|
+
delayError: number;
|
|
45
|
+
}>> | undefined;
|
|
29
46
|
readonly className?: string;
|
|
30
47
|
readonly style?: React.CSSProperties;
|
|
31
48
|
readonly classes?: Partial<import('@mui/material').ClassNameMap<never>> | undefined;
|
|
@@ -172,7 +189,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
172
189
|
readonly vocab?: string | undefined;
|
|
173
190
|
readonly autoCapitalize?: string | undefined;
|
|
174
191
|
readonly autoCorrect?: string | undefined;
|
|
175
|
-
readonly autoSave?: boolean;
|
|
192
|
+
readonly autoSave?: boolean | import('../components/AutoSave').AutoSaveOptions;
|
|
176
193
|
readonly itemProp?: string | undefined;
|
|
177
194
|
readonly itemScope?: boolean | undefined;
|
|
178
195
|
readonly itemType?: string | undefined;
|
|
@@ -410,6 +427,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
410
427
|
readonly moreOptions?: import('../../..').MoreButtonProps["options"];
|
|
411
428
|
readonly useHeaderIconWrapper?: boolean;
|
|
412
429
|
readonly tabs?: import('../../..').TabPane[];
|
|
430
|
+
readonly onValuesChange?: ((values: Partial<TModel>) => void) | undefined;
|
|
413
431
|
readonly error?: import('../../utils').ServerError;
|
|
414
432
|
readonly footerContent?: import('react').ReactNode;
|
|
415
433
|
readonly moreContent?: import('react').ReactNode;
|
|
@@ -447,6 +465,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
447
465
|
readonly onCreate?: () => void;
|
|
448
466
|
readonly onSave?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').SavePayload<TModel>> | undefined;
|
|
449
467
|
readonly onDiscardChanges?: () => void;
|
|
468
|
+
readonly onFormErrors?: ((errors: import('react-hook-form').FieldErrors<TModel>, isValid?: boolean) => void) | undefined;
|
|
450
469
|
readonly onContentLayout?: (props: import('../components/DetailPageDefaultLayout').DetailPageLayoutProps) => React.ReactNode;
|
|
451
470
|
readonly onWrapperLayout?: (props: import('../pages/DetailPageContent').DetailPageWrapperLayoutProps) => React.ReactNode;
|
|
452
471
|
readonly defaultSaveMode?: import('../pages/DetailPageData').SaveMode;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { default as React, ReactNode } from 'react';
|
|
2
|
-
import { FieldValues } from 'react-hook-form';
|
|
2
|
+
import { FieldErrors, FieldValues } from 'react-hook-form';
|
|
3
3
|
import { Message } from '../../page/hooks/useNormalizeMessages';
|
|
4
4
|
import { PageProps } from '../../page/Page';
|
|
5
5
|
import { ServerError } from '../../utils';
|
|
6
|
+
import { AutoSaveOptions } from '../components/AutoSave';
|
|
6
7
|
import { DetailPageCommandsProps } from '../components/DetailPageCommands';
|
|
7
8
|
import { DetailPageLayoutProps } from '../components/DetailPageDefaultLayout';
|
|
8
9
|
import { DetailPageHeaderProps } from '../components/DetailPageHeader';
|
|
@@ -73,6 +74,16 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
|
|
|
73
74
|
* Custom header function
|
|
74
75
|
*/
|
|
75
76
|
onHeader?: (props: DetailPageHeaderProps) => ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Values change tracker
|
|
79
|
+
* MUST BE MEMOIZED
|
|
80
|
+
*/
|
|
81
|
+
onValuesChange?: (values: Partial<TModel>) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Error tracker,called when form errors has changed
|
|
84
|
+
* MUST BE MEMOIZED
|
|
85
|
+
*/
|
|
86
|
+
onFormErrors?: (errors: FieldErrors<TModel>, isValid?: boolean) => void;
|
|
76
87
|
/**
|
|
77
88
|
* Page opening reason Default create.
|
|
78
89
|
*/
|
|
@@ -104,7 +115,7 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
|
|
|
104
115
|
/**
|
|
105
116
|
* Having called "onSave" once changing form values
|
|
106
117
|
*/
|
|
107
|
-
autoSave?: boolean;
|
|
118
|
+
autoSave?: boolean | AutoSaveOptions;
|
|
108
119
|
onContentLayout?: (props: DetailPageLayoutProps) => React.ReactNode;
|
|
109
120
|
onWrapperLayout?: (props: DetailPageWrapperLayoutProps) => React.ReactNode;
|
|
110
121
|
defaultSaveMode?: SaveMode;
|
|
@@ -122,5 +133,5 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
|
|
|
122
133
|
stepsProps?: Partial<DetailPageStepsProps>;
|
|
123
134
|
tabExtraContent?: ReactNode | ((data?: TModel) => ReactNode);
|
|
124
135
|
}
|
|
125
|
-
declare function DetailPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, autoSave, children, commandsPosition, customSteps: CustomSteps, createCommandLabel, data, defaultSaveMode, disabled, disableShortCuts, enableClose, enableCopy, enableCreate, enableDelete, enableDiscardChanges, enableSave, error, hotkeyScopes, loading, onClose, onCommands, onContentLayout, onCopy, onCreate, onDelete, onDiscardChanges, onSegmentChanged, onExtraCommands, onHeader, onSave, onSaveClose, onSaveCreate, onWrapperLayout, reason, showHeader, steps, stepsProps, tabExtraContent, ...pageProps }: DetailPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
declare function DetailPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, autoSave, children, commandsPosition, customSteps: CustomSteps, createCommandLabel, data, defaultSaveMode, disabled, disableShortCuts, enableClose, enableCopy, enableCreate, enableDelete, enableDiscardChanges, enableSave, error, hotkeyScopes, loading, onClose, onCommands, onContentLayout, onCopy, onCreate, onDelete, onDiscardChanges, onFormErrors, onSegmentChanged, onExtraCommands, onHeader, onSave, onSaveClose, onSaveCreate, onValuesChange, onWrapperLayout, reason, showHeader, steps, stepsProps, tabExtraContent, ...pageProps }: DetailPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
126
137
|
export default DetailPageContent;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldValues } from 'react-hook-form';
|
|
1
|
+
import { FieldValues, UseFormProps } from 'react-hook-form';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { UseFormReturn, ValidationOptions } from '../../form/hooks/useForm';
|
|
4
4
|
import { DeepNullable } from '../../utils';
|
|
@@ -11,6 +11,7 @@ export interface DetailPageFormProps<TModel extends FieldValues> extends Omit<De
|
|
|
11
11
|
schema?: z.ZodType<TModel>;
|
|
12
12
|
validationOptions?: ValidationOptions<TModel>;
|
|
13
13
|
defaultValues?: DefaultData<TModel>;
|
|
14
|
+
formProps?: Partial<UseFormProps<TModel>>;
|
|
14
15
|
}
|
|
15
|
-
declare function DetailPageForm<TModel extends FieldValues>({ activeSegmentIndex, schema, defaultValues, validationOptions, data, reason, ...dpProps }: DetailPageFormProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function DetailPageForm<TModel extends FieldValues>({ activeSegmentIndex, schema, defaultValues, validationOptions, data, reason, formProps, ...dpProps }: DetailPageFormProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
export default DetailPageForm;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FieldErrors, FieldValues } from 'react-hook-form';
|
|
2
|
+
interface FormValuesTrackerProps<TModel extends FieldValues> {
|
|
3
|
+
onErrorsChange(errors: FieldErrors<TModel>, isValid?: boolean): void;
|
|
4
|
+
}
|
|
5
|
+
declare function FormErrorsTracker<TModel extends FieldValues>({ onErrorsChange, }: FormValuesTrackerProps<TModel>): null;
|
|
6
|
+
export default FormErrorsTracker;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FieldValues } from 'react-hook-form';
|
|
2
|
+
interface FormValuesTrackerProps<TModel extends FieldValues> {
|
|
3
|
+
onValuesChange(values: Partial<TModel>): void;
|
|
4
|
+
}
|
|
5
|
+
declare function FormValuesTracker<TModel extends FieldValues>({ onValuesChange, }: FormValuesTrackerProps<TModel>): null;
|
|
6
|
+
export default FormValuesTracker;
|