react-crud-mui 0.2.106 → 0.2.108

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.
@@ -25,14 +25,14 @@ export type DetailPageCommandsOptions = DetailPageStandartCommandsOptions & Deta
25
25
  export type CommandsProps = Partial<Record<keyof DetailPageCommandsFlag, ButtonProps>>;
26
26
  export type CommandsPropsFn = (reason: NeedDataReason) => CommandsProps;
27
27
  export type DetailPageStandartCommandsEvents = {
28
- onSave?: () => void;
29
- onSaveCreate?: () => void;
28
+ onSave?: (args?: unknown) => void;
29
+ onSaveCreate?: (args?: unknown) => void;
30
+ onSaveClose?: (args?: unknown) => void;
30
31
  onCreate?: () => void;
31
32
  onCopy?: () => void;
32
33
  onDiscardChanges?: () => void;
33
34
  onDelete?: () => void;
34
35
  onClose?: (reason?: CloseReason) => void;
35
- onSaveClose?: () => void;
36
36
  onNavigate?: (direction: NavigationDirection) => void;
37
37
  };
38
38
  export type DetailPageStepCommandsEvents = {
@@ -1,10 +1,11 @@
1
1
  import { default as React, PropsWithChildren } from 'react';
2
2
  import { FieldValues } from 'react-hook-form';
3
3
  import { DetailPageContentProps } from '../pages/DetailPageContent';
4
+ import { SaveOptions } from '../pages/DetailPageData';
4
5
  export type DetailPageContextType<TModel extends FieldValues = FieldValues> = Pick<DetailPageContentProps<TModel>, 'loading' | 'enableClose' | 'enableCopy' | 'enableCreate' | 'enableDelete' | 'enableDiscardChanges' | 'enableSave' | 'reason' | 'disabled' | 'data' | 'activeSegmentIndex'> & {
5
- onSave: () => void;
6
+ save: (options?: SaveOptions) => void;
6
7
  setActiveSegmentIndex: (index: number) => void;
7
8
  };
8
9
  export declare const DetailPageContext: React.Context<DetailPageContextType<FieldValues> | null>;
9
- declare function DetailPageProvider<TModel extends FieldValues = FieldValues>({ children, data, reason, loading, enableCopy, enableCreate, enableClose, enableDiscardChanges, enableDelete, onSave, enableSave, disabled, activeSegmentIndex, setActiveSegmentIndex, }: PropsWithChildren & DetailPageContextType<TModel>): import("react/jsx-runtime").JSX.Element;
10
+ declare function DetailPageProvider<TModel extends FieldValues = FieldValues>({ children, data, reason, loading, enableCopy, enableCreate, enableClose, enableDiscardChanges, enableDelete, save, enableSave, disabled, activeSegmentIndex, setActiveSegmentIndex, }: PropsWithChildren & DetailPageContextType<TModel>): import("react/jsx-runtime").JSX.Element;
10
11
  export default DetailPageProvider;
@@ -457,22 +457,22 @@ declare function useDetailPageModal<TModel extends FieldValues, TProps extends S
457
457
  readonly panelProps?: Partial<import('../../page/components/DefaultPanels').DefaultAccordionsProps>;
458
458
  readonly reason?: NeedDataReason;
459
459
  readonly onDelete?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').DeletePayload<TModel>> | undefined;
460
- readonly enableClose?: boolean;
461
- readonly enableCopy?: boolean;
462
- readonly enableCreate?: boolean;
463
- readonly enableDelete?: boolean;
464
- readonly enableDiscardChanges?: boolean;
465
- readonly enableSave?: boolean;
466
- readonly activeSegmentIndex?: number;
460
+ readonly onSave?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').SavePayload<TModel>> | undefined;
461
+ readonly onDiscardChanges?: () => void;
467
462
  readonly commandsProps?: import('../components/DetailPageCommands').CommandsPropsFn | Partial<Record<keyof import('./useDetailPageStates').DetailPageCommandsFlag, import('@mui/material').ButtonProps>> | undefined;
468
463
  readonly onCommands?: (props: import('../components/DetailPageCommands').DetailPageCommandsProps) => import('react').ReactNode;
469
464
  readonly onExtraCommands?: () => import('react').ReactNode;
470
465
  readonly alerts?: import('../../page/hooks/useNormalizeMessages').Message[];
466
+ readonly activeSegmentIndex?: number;
471
467
  readonly onSegmentChanged?: (index: number) => void;
472
468
  readonly hotkeyScopes?: string;
473
469
  readonly onCreate?: () => void;
474
- readonly onSave?: import('../pages/DetailPageData').DataEvent<TModel, import('../pages/DetailPageData').SavePayload<TModel>> | undefined;
475
- readonly onDiscardChanges?: () => void;
470
+ readonly enableCreate?: boolean;
471
+ readonly enableCopy?: boolean;
472
+ readonly enableSave?: boolean;
473
+ readonly enableClose?: boolean;
474
+ readonly enableDiscardChanges?: boolean;
475
+ readonly enableDelete?: boolean;
476
476
  readonly onContentLayout?: ((props: import('../components/DetailPageDefaultLayout').DetailPageLayoutProps<TModel>) => React.ReactNode) | undefined;
477
477
  readonly onWrapperLayout?: ((props: import('../pages/DetailPageContent').DetailPageWrapperLayoutProps<TModel>) => React.ReactNode) | undefined;
478
478
  readonly defaultSaveMode?: import('../pages/DetailPageData').SaveMode;
@@ -69,15 +69,15 @@ export interface DetailPageContentProps<TModel extends FieldValues> extends Omit
69
69
  /**
70
70
  * Save event
71
71
  */
72
- onSave: () => void;
72
+ onSave: (args?: unknown) => void;
73
73
  /**
74
74
  * Create new model after saving process has been finished
75
75
  */
76
- onSaveCreate: () => void;
76
+ onSaveCreate: (args?: unknown) => void;
77
77
  /**
78
78
  * Close form after saving process has been finished
79
79
  */
80
- onSaveClose: () => void;
80
+ onSaveClose: (args?: unknown) => void;
81
81
  /**
82
82
  * Undo all chnages and revert to originial form values
83
83
  */
@@ -6,8 +6,13 @@ export interface DataEvent<TModel extends FieldValues, TVariables> {
6
6
  (variables: TVariables, form: UseFormReturn<TModel>): DataResult<TModel>;
7
7
  }
8
8
  export type SaveMode = 'save' | 'save-close' | 'save-create';
9
+ export type SaveOptions = {
10
+ mode?: SaveMode;
11
+ args?: unknown;
12
+ };
9
13
  export interface BasePayload {
10
14
  reason: NeedDataReason;
15
+ args?: unknown;
11
16
  }
12
17
  export interface SavePayload<TModel extends FieldValues = FieldValues> extends BasePayload {
13
18
  model: TModel;