react-crud-mui 0.2.43 → 0.2.45
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/DetailPageCommands.d.ts +4 -1
- package/dist/components/detail-page/hooks/useDetailPageModal.d.ts +2 -2
- package/dist/components/detail-page/pages/DetailPageContent.d.ts +3 -2
- package/dist/components/form/components/FormStatesProvider.d.ts +8 -0
- package/dist/components/form/hooks/index.d.ts +1 -0
- package/dist/components/form/hooks/useFormStatesContext.d.ts +3 -0
- package/dist/components/list-page/hooks/useURLSearchFilter.d.ts +1 -2
- package/dist/components/list-page/pages/ListPageForm.d.ts +3 -1
- package/dist/components/list-page/pages/ListPageRoute.d.ts +1 -1
- package/dist/coreui.js +6716 -6690
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { ButtonProps } from '@mui/material';
|
|
|
3
3
|
import { UseFormReturn } from '../../form/hooks/useForm';
|
|
4
4
|
import { CloseReason } from '../../page/Page';
|
|
5
5
|
import { DetailPageCommandsFlag } from '../hooks/useDetailPageStates';
|
|
6
|
+
import { NeedDataReason } from '../pages/DetailPageContent';
|
|
6
7
|
import { SaveMode } from '../pages/DetailPageData';
|
|
7
8
|
import { StepPane } from './DetailPageStepsHeader';
|
|
8
9
|
export type DetailPageStandartCommandsOptions = {
|
|
@@ -20,6 +21,8 @@ export type DetailPageStepCommandsOptions = {
|
|
|
20
21
|
currentForm?: UseFormReturn;
|
|
21
22
|
};
|
|
22
23
|
export type DetailPageCommandsOptions = DetailPageStandartCommandsOptions & DetailPageStepCommandsOptions;
|
|
24
|
+
export type CommandsProps = Partial<Record<keyof DetailPageCommandsFlag, ButtonProps>>;
|
|
25
|
+
export type CommandsPropsFn = (reason: NeedDataReason) => CommandsProps;
|
|
23
26
|
export type DetailPageStandartCommandsEvents = {
|
|
24
27
|
onSave?: () => void;
|
|
25
28
|
onSaveCreate?: () => void;
|
|
@@ -38,7 +41,7 @@ export type DetailPageCommandsProps = DetailPageStandartCommandsEvents & DetailP
|
|
|
38
41
|
options: DetailPageCommandsOptions;
|
|
39
42
|
mode: 'standard' | 'steps';
|
|
40
43
|
moreCommands?: Partial<Record<keyof DetailPageCommandsFlag, true>>;
|
|
41
|
-
commandsProps?:
|
|
44
|
+
commandsProps?: CommandsProps;
|
|
42
45
|
} & PropsWithChildren;
|
|
43
46
|
declare function DetailPageCommands(props: DetailPageCommandsProps): import("react/jsx-runtime").JSX.Element;
|
|
44
47
|
export default DetailPageCommands;
|
|
@@ -446,6 +446,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
446
446
|
readonly onTabChanged?: (selected: import('../../page/components/DefaultTabs').TabChangedPayload) => void;
|
|
447
447
|
readonly onTabs?: (props: import('../../..').DefaultTabsProps) => import('react').ReactNode;
|
|
448
448
|
readonly bordered?: boolean;
|
|
449
|
+
readonly reason?: NeedDataReason;
|
|
449
450
|
readonly onDelete?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').DeletePayload<TModel>> | undefined;
|
|
450
451
|
readonly enableClose?: boolean;
|
|
451
452
|
readonly enableCopy?: boolean;
|
|
@@ -453,9 +454,8 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
453
454
|
readonly enableDelete?: boolean;
|
|
454
455
|
readonly enableDiscardChanges?: boolean;
|
|
455
456
|
readonly enableSave?: boolean;
|
|
456
|
-
readonly reason?: NeedDataReason;
|
|
457
457
|
readonly activeSegmentIndex?: number;
|
|
458
|
-
readonly commandsProps?: Partial<Record<keyof import('./useDetailPageStates').DetailPageCommandsFlag, import('@mui/material').ButtonProps
|
|
458
|
+
readonly commandsProps?: import('../components/DetailPageCommands').CommandsPropsFn | Partial<Record<keyof import('./useDetailPageStates').DetailPageCommandsFlag, import('@mui/material').ButtonProps>> | undefined;
|
|
459
459
|
readonly onCommands?: (props: import('../components/DetailPageCommands').DetailPageCommandsProps) => import('react').ReactNode;
|
|
460
460
|
readonly onExtraCommands?: () => import('react').ReactNode;
|
|
461
461
|
readonly alerts?: import('../../page/hooks/useNormalizeMessages').Message[];
|
|
@@ -5,7 +5,7 @@ import { Message } from '../../page/hooks/useNormalizeMessages';
|
|
|
5
5
|
import { PageProps } from '../../page/Page';
|
|
6
6
|
import { ServerError } from '../../utils';
|
|
7
7
|
import { AutoSaveOptions } from '../components/AutoSave';
|
|
8
|
-
import { DetailPageCommandsProps } from '../components/DetailPageCommands';
|
|
8
|
+
import { CommandsProps, CommandsPropsFn, DetailPageCommandsProps } from '../components/DetailPageCommands';
|
|
9
9
|
import { DetailPageLayoutProps } from '../components/DetailPageDefaultLayout';
|
|
10
10
|
import { DetailPageHeaderProps } from '../components/DetailPageHeader';
|
|
11
11
|
import { DetailPageStepsHeaderProps, StepPane } from '../components/DetailPageStepsHeader';
|
|
@@ -17,7 +17,8 @@ export type DetailPageWrapperLayoutProps = {
|
|
|
17
17
|
commandsContent: ReactNode;
|
|
18
18
|
alertsContent: ReactNode;
|
|
19
19
|
};
|
|
20
|
-
export interface DetailPageContentProps<TModel extends FieldValues> extends Omit<PageProps, 'commandsContent' | 'alertsContent' | 'autoSave' | 'onHeader' | 'tabExtraContent'
|
|
20
|
+
export interface DetailPageContentProps<TModel extends FieldValues> extends Omit<PageProps, 'commandsContent' | 'alertsContent' | 'autoSave' | 'onHeader' | 'tabExtraContent'> {
|
|
21
|
+
commandsProps?: CommandsProps | CommandsPropsFn;
|
|
21
22
|
/**
|
|
22
23
|
* Custom commands node
|
|
23
24
|
*/
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React, PropsWithChildren } from 'react';
|
|
2
|
+
export interface FormStatesProviderProps {
|
|
3
|
+
isTouched?: boolean;
|
|
4
|
+
setTouched?: (value: boolean) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const FormStatesContext: React.Context<FormStatesProviderProps>;
|
|
7
|
+
declare function FormStatesProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default FormStatesProvider;
|
|
@@ -12,4 +12,5 @@ export { default as useUniqueFieldsInArray } from './useUniqueFieldsInArray';
|
|
|
12
12
|
export { default as useFormInitEffect } from './useFormInitEffect';
|
|
13
13
|
export { default as useFieldWithContext } from './useFieldWithContext';
|
|
14
14
|
export { default as useFormCollectionContext } from './useFormCollectionContext';
|
|
15
|
+
export { default as useFormStatesContext } from './useFormStatesContext';
|
|
15
16
|
export { UNIQUE_IDENTIFIER_FIELD_NAME } from './useArrayFieldHelpers';
|
|
@@ -4,10 +4,9 @@ export type MatchFields<TFilter extends FieldValues> = {
|
|
|
4
4
|
[k in keyof TFilter]?: true;
|
|
5
5
|
};
|
|
6
6
|
type UseURLSearchFilterOptions<TFilter extends FieldValues> = {
|
|
7
|
-
defaultValues?: Record<string, unknown>;
|
|
8
7
|
matcher?: MatchFields<TFilter>;
|
|
9
8
|
};
|
|
10
|
-
declare function useURLSearchFilter<TFilter extends FieldValues>({
|
|
9
|
+
declare function useURLSearchFilter<TFilter extends FieldValues>({ matcher, }: UseURLSearchFilterOptions<TFilter>): {
|
|
11
10
|
getFiltersInQS: () => {
|
|
12
11
|
filter: {
|
|
13
12
|
[key: string]: unknown;
|
|
@@ -3,6 +3,8 @@ import { z } from 'zod';
|
|
|
3
3
|
import { UseFormReturn, ValidationOptions } from '../../form/hooks/useForm';
|
|
4
4
|
import { DeepNullable } from '../../utils';
|
|
5
5
|
import { ListPageFilterProps } from './ListPageFilter';
|
|
6
|
+
export type DefaultDataFn<TModel extends FieldValues> = (data?: TModel) => Promise<DeepNullable<TModel>>;
|
|
7
|
+
export type DefaultData<TModel extends FieldValues = FieldValues> = DeepNullable<TModel> | DefaultDataFn<TModel>;
|
|
6
8
|
export interface ListPageFormProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends Omit<ListPageFilterProps<TModel, TFilter>, 'form'> {
|
|
7
9
|
form?: UseFormReturn<TFilter>;
|
|
8
10
|
schema?: z.ZodType<TFilter>;
|
|
@@ -13,7 +15,7 @@ export interface ListPageFormProps<TModel extends FieldValues, TFilter extends F
|
|
|
13
15
|
/**
|
|
14
16
|
* Default form fields values
|
|
15
17
|
*/
|
|
16
|
-
defaultValues?:
|
|
18
|
+
defaultValues?: DefaultData<TFilter>;
|
|
17
19
|
/**
|
|
18
20
|
* Optional validation options
|
|
19
21
|
*/
|
|
@@ -8,5 +8,5 @@ export interface ListPageRouteProps<TModel extends FieldValues, TFilter extends
|
|
|
8
8
|
/**
|
|
9
9
|
* ListPage with routing based on react-router
|
|
10
10
|
*/
|
|
11
|
-
declare function ListPageRoute<TModel extends FieldValues, TFilter extends FieldValues = FieldValues>({ defaultFilter, defaultMeta, enableNestedSegments, enableQueryStringFilter, enableSegmentRouting, fallbackSegmentIndex, onNeedData, tabs,
|
|
11
|
+
declare function ListPageRoute<TModel extends FieldValues, TFilter extends FieldValues = FieldValues>({ defaultFilter, defaultMeta, enableNestedSegments, enableQueryStringFilter, enableSegmentRouting, fallbackSegmentIndex, onNeedData, tabs, onActionClick, ...listPageProps }: ListPageRouteProps<TModel, TFilter>): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export default ListPageRoute;
|