react-crud-mui 0.1.0 → 0.2.1
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/hooks/useDetailPageModal.d.ts +1 -1
- package/dist/components/detail-page/pages/DetailPageData.d.ts +1 -8
- package/dist/components/detail-page/pages/DetailPageForm.d.ts +5 -0
- package/dist/components/form/controls/FormComboBox.d.ts +1 -1
- package/dist/components/form/controls/FormDatePicker.d.ts +1 -1
- package/dist/components/form/controls/FormInput.d.ts +1 -1
- package/dist/components/form/controls/FormMoneyInput.d.ts +1 -1
- package/dist/components/form/controls/FormNumberInput.d.ts +1 -1
- package/dist/components/form/controls/FormPhoneInput.d.ts +1 -1
- package/dist/components/form/controls/FormSelect.d.ts +1 -1
- package/dist/components/list-page/components/CardList.d.ts +18 -0
- package/dist/components/list-page/hooks/useListPage.d.ts +2 -1
- package/dist/components/list-page/hooks/useURLSearchFilter.d.ts +6 -2
- package/dist/components/list-page/pages/ListPageContent.d.ts +17 -3
- package/dist/components/list-page/pages/ListPageFilter.d.ts +8 -6
- package/dist/components/list-page/pages/ListPageForm.d.ts +2 -2
- package/dist/components/list-page/pages/ListPageRoute.d.ts +2 -1
- package/dist/components/misc/index.d.ts +1 -0
- package/dist/components/misc/isEmpty.d.ts +2 -0
- package/dist/components/table/components/EmptyText.d.ts +2 -2
- package/dist/coreui.js +5042 -4946
- package/package.json +1 -1
|
@@ -25,6 +25,7 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
25
25
|
readonly form?: import('../../form/hooks/useForm').UseFormReturn<TModel> | undefined;
|
|
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
|
+
readonly defaultValues?: import('../pages/DetailPageForm').DefaultData<TModel> | undefined;
|
|
28
29
|
readonly className?: string;
|
|
29
30
|
readonly style?: React.CSSProperties;
|
|
30
31
|
readonly classes?: Partial<import('@mui/material').ClassNameMap<never>> | undefined;
|
|
@@ -410,7 +411,6 @@ declare function useDetailPageModal<TModel extends FieldValues>({ models, unique
|
|
|
410
411
|
readonly useHeaderIconWrapper?: boolean;
|
|
411
412
|
readonly tabs?: import('../../page/components/DefaultTabs').TabPane[];
|
|
412
413
|
readonly error?: import('../../utils').ServerError;
|
|
413
|
-
readonly defaultValues?: import('../pages/DetailPageData').DefaultData<TModel> | undefined;
|
|
414
414
|
readonly footerContent?: import('react').ReactNode;
|
|
415
415
|
readonly moreContent?: import('react').ReactNode;
|
|
416
416
|
readonly panels?: import('../../page/components/DefaultPanels').PanelPane[];
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { UseFormReturn } from '../../form/hooks/useForm';
|
|
3
|
-
import { DeepNullable } from '../../utils';
|
|
4
3
|
import { DetailPageContentProps, NeedDataReason } from './DetailPageContent';
|
|
5
4
|
export type DataResult<TModel> = TModel | Promise<TModel | void | undefined> | undefined | void;
|
|
6
5
|
export interface DataEvent<TModel extends FieldValues, TVariables> {
|
|
7
6
|
(variables: TVariables, form: UseFormReturn<TModel>): DataResult<TModel>;
|
|
8
7
|
}
|
|
9
|
-
export type DefaultDataFn<TModel extends FieldValues> = (reason: NeedDataReason, data?: TModel) => DeepNullable<TModel> | Promise<DeepNullable<TModel>>;
|
|
10
|
-
export type DefaultData<TModel extends FieldValues> = DeepNullable<TModel> | DefaultDataFn<TModel>;
|
|
11
8
|
export type SaveMode = 'save' | 'save-close' | 'save-create';
|
|
12
9
|
export interface BasePayload {
|
|
13
10
|
reason: NeedDataReason;
|
|
@@ -23,10 +20,6 @@ export interface DeletePayload<TModel extends FieldValues = FieldValues> extends
|
|
|
23
20
|
}
|
|
24
21
|
export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<DetailPageContentProps<TModel>, 'onSave' | 'onDelete' | 'onDiscardChanges' | 'onCopy' | 'onSaveCreate' | 'onSaveClose'> {
|
|
25
22
|
form: UseFormReturn<TModel>;
|
|
26
|
-
/**
|
|
27
|
-
* Get default form values for each particular reason
|
|
28
|
-
*/
|
|
29
|
-
defaultValues?: DefaultData<TModel>;
|
|
30
23
|
/**
|
|
31
24
|
* Save event
|
|
32
25
|
* @returns if returns data,either in promise or object will bind to form data
|
|
@@ -61,5 +54,5 @@ export interface DetailPageDataProps<TModel extends FieldValues> extends Omit<De
|
|
|
61
54
|
/**
|
|
62
55
|
* Page component that all data manupulation is handled
|
|
63
56
|
*/
|
|
64
|
-
declare function DetailPageData<TModel extends FieldValues>({ alerts, autoSave, data,
|
|
57
|
+
declare function DetailPageData<TModel extends FieldValues>({ alerts, autoSave, data, error, form, loading, onAfterDelete, onAfterSave, onClose, onDelete, onDiscardChanges, onReasonChange, onSave, reason, showSuccessMessages, ...dpProps }: DetailPageDataProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
65
58
|
export default DetailPageData;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { UseFormReturn, ValidationOptions } from '../../form/hooks/useForm';
|
|
4
|
+
import { DeepNullable } from '../../utils';
|
|
5
|
+
import { NeedDataReason } from './DetailPageContent';
|
|
4
6
|
import { DetailPageDataProps } from './DetailPageData';
|
|
7
|
+
export type DefaultDataFn<TModel extends FieldValues> = (reason: NeedDataReason, data?: TModel) => DeepNullable<TModel> | Promise<DeepNullable<TModel>>;
|
|
8
|
+
export type DefaultData<TModel extends FieldValues> = DeepNullable<TModel> | DefaultDataFn<TModel>;
|
|
5
9
|
export interface DetailPageFormProps<TModel extends FieldValues> extends Omit<DetailPageDataProps<TModel>, 'form'> {
|
|
6
10
|
form?: UseFormReturn<TModel>;
|
|
7
11
|
schema?: z.ZodType<TModel>;
|
|
8
12
|
validationOptions?: ValidationOptions<TModel>;
|
|
13
|
+
defaultValues?: DefaultData<TModel>;
|
|
9
14
|
}
|
|
10
15
|
declare function DetailPageForm<TModel extends FieldValues>({ activeSegmentIndex, schema, defaultValues, validationOptions, data, reason, ...dpProps }: DetailPageFormProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
11
16
|
export default DetailPageForm;
|
|
@@ -3,5 +3,5 @@ import { ComboBoxProps, CreatableModel } from '../../combobox/ComboBox';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormComboBoxProps<T extends CreatableModel, Creatable extends boolean = false, TFieldValues extends FieldValues = FieldValues> extends Omit<ComboBoxProps<T, Creatable>, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormComboBox<T extends CreatableModel = CreatableModel, Creatable extends boolean = false, TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...comboBoxProps }: FormComboBoxProps<T, Creatable, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormComboBox<T extends CreatableModel = CreatableModel, Creatable extends boolean = false, TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, formControlProps, ...comboBoxProps }: FormComboBoxProps<T, Creatable, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormComboBox;
|
|
@@ -4,5 +4,5 @@ import { DatePickerProps } from '@mui/x-date-pickers/DatePicker';
|
|
|
4
4
|
import { Dayjs } from 'dayjs';
|
|
5
5
|
import { ControlCommonProps } from '../Field';
|
|
6
6
|
export type FormDatePickerProps<TFieldValues extends FieldValues = FieldValues> = Partial<DatePickerProps<Dayjs>> & Pick<StandardTextFieldProps, 'size'> & ControlCommonProps<TFieldValues>;
|
|
7
|
-
declare function FormDatePicker<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, slotProps, autoFocus, size, disabled, ...dateProps }: FormDatePickerProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function FormDatePicker<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, slotProps, autoFocus, size, disabled, formControlProps, ...dateProps }: FormDatePickerProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export default FormDatePicker;
|
|
@@ -3,5 +3,5 @@ import { InputProps } from '../../input/Input';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<InputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, formControlProps, disabled, ...inputProps }: FormInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormInput;
|
|
@@ -3,5 +3,5 @@ import { MoneyInputProps } from '../../money-input/MoneyInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormMoneyInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<MoneyInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormMoneyInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormMoneyInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormMoneyInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, formControlProps, ...inputProps }: FormMoneyInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormMoneyInput;
|
|
@@ -3,5 +3,5 @@ import { NumberInputProps } from '../../number-input/NumberInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormNumberInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<NumberInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormNumberInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormNumberInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormNumberInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, formControlProps, disabled, ...inputProps }: FormNumberInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormNumberInput;
|
|
@@ -3,5 +3,5 @@ import { PhoneInputProps } from '../../phone-input/PhoneInput';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormPhoneInputProps<TFieldValues extends FieldValues = FieldValues> extends Omit<PhoneInputProps, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormPhoneInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...inputProps }: FormPhoneInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormPhoneInput<TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, formControlProps, ...inputProps }: FormPhoneInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormPhoneInput;
|
|
@@ -3,5 +3,5 @@ import { SelectProps } from '../../select/Select';
|
|
|
3
3
|
import { ControlCommonProps } from '../Field';
|
|
4
4
|
export interface FormSelectProps<T extends FieldValues = FieldValues, TFieldValues extends FieldValues = FieldValues> extends Omit<SelectProps<T>, 'name'>, ControlCommonProps<TFieldValues> {
|
|
5
5
|
}
|
|
6
|
-
declare function FormSelect<T extends FieldValues, TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, ...selectProps }: FormSelectProps<T, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function FormSelect<T extends FieldValues, TFieldValues extends FieldValues = FieldValues>({ name, fieldProps, disabled, formControlProps, ...selectProps }: FormSelectProps<T, TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export default FormSelect;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
import { FieldValues } from 'react-hook-form';
|
|
3
|
+
import { Grid2Props, PaginationProps } from '@mui/material';
|
|
4
|
+
import { ActionCommandsProps } from '../../action-commands/ActionCommands';
|
|
5
|
+
import { EmptyTextProps } from '../../table/components/EmptyText';
|
|
6
|
+
export interface CardListProps<TModel extends FieldValues> {
|
|
7
|
+
data?: TModel[];
|
|
8
|
+
onCardMeta: (model: TModel, actions: React.ReactNode, actionProps: ActionCommandsProps<TModel>) => ReactNode;
|
|
9
|
+
onActionCommandProps: (model: TModel, index: number) => ActionCommandsProps<TModel>;
|
|
10
|
+
cardColProps?: Grid2Props;
|
|
11
|
+
cardRowProps?: Grid2Props;
|
|
12
|
+
enablePagination?: boolean;
|
|
13
|
+
paginationProps?: PaginationProps;
|
|
14
|
+
emptyTextProps?: EmptyTextProps;
|
|
15
|
+
enableActionCommands?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare function CardList<TModel extends FieldValues>({ enableActionCommands, cardColProps, cardRowProps, data, enablePagination, onCardMeta, paginationProps, onActionCommandProps, emptyTextProps, }: CardListProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export default CardList;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { FieldValues } from 'react-hook-form';
|
|
3
|
+
import { NeedDataReason } from '../../detail-page/pages/DetailPageContent';
|
|
3
4
|
import { ListPageProps } from '../pages/ListPage';
|
|
4
5
|
export type ListPageContextType<TModel extends FieldValues> = {
|
|
5
6
|
data?: TModel[];
|
|
@@ -14,7 +15,7 @@ export type ListPageContextType<TModel extends FieldValues> = {
|
|
|
14
15
|
/**
|
|
15
16
|
* Used for built in detailpage opener
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
+
triggerAction: (reason: NeedDataReason, data?: TModel) => void;
|
|
18
19
|
} & Pick<ListPageProps<TModel>, 'loading' | 'enableClear' | 'enableCreateItem' | 'enableExport' | 'enableSearch'>;
|
|
19
20
|
export declare const ListPageContext: React.Context<ListPageContextType<any> | null>;
|
|
20
21
|
declare const useListPage: <TModel extends FieldValues>() => ListPageContextType<TModel>;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { ListPageMeta } from '../pages/ListPageFilter';
|
|
3
|
-
type
|
|
3
|
+
export type MatchFields<TFilter extends FieldValues> = {
|
|
4
|
+
[k in keyof TFilter]?: true;
|
|
5
|
+
};
|
|
6
|
+
type UseURLSearchFilterOptions<TFilter extends FieldValues> = {
|
|
4
7
|
defaultValues?: Record<string, unknown>;
|
|
8
|
+
matcher?: MatchFields<TFilter>;
|
|
5
9
|
};
|
|
6
|
-
declare function useURLSearchFilter<TFilter extends FieldValues>({ defaultValues, }: UseURLSearchFilterOptions): {
|
|
10
|
+
declare function useURLSearchFilter<TFilter extends FieldValues>({ defaultValues, matcher, }: UseURLSearchFilterOptions<TFilter>): {
|
|
7
11
|
getFiltersInQS: () => {
|
|
8
12
|
filter: {
|
|
9
13
|
[key: string]: unknown;
|
|
@@ -9,8 +9,10 @@ import { Message } from '../../page/hooks/useNormalizeMessages';
|
|
|
9
9
|
import { PageProps } from '../../page/Page';
|
|
10
10
|
import { TableColumn, TableProps } from '../../table/Table';
|
|
11
11
|
import { ServerError } from '../../utils';
|
|
12
|
+
import { CardListProps } from '../components/CardList';
|
|
12
13
|
import { ListPageCommandsProps } from '../components/ListPageCommands';
|
|
13
14
|
import { ListPageHeaderProps } from '../components/ListPageHeader';
|
|
15
|
+
export type ListType = 'table' | 'card';
|
|
14
16
|
export type ListPageWrapperLayoutProps = {
|
|
15
17
|
content: ReactNode;
|
|
16
18
|
pageContent: ReactNode;
|
|
@@ -56,7 +58,7 @@ export interface ListPageContentProps<TModel extends FieldValues> extends Omit<P
|
|
|
56
58
|
/**
|
|
57
59
|
* ListPage columns
|
|
58
60
|
*/
|
|
59
|
-
columns
|
|
61
|
+
columns?: TableColumn<TModel>[];
|
|
60
62
|
/**
|
|
61
63
|
* Enable searching thru commands and shortcuts
|
|
62
64
|
*/
|
|
@@ -100,7 +102,7 @@ export interface ListPageContentProps<TModel extends FieldValues> extends Omit<P
|
|
|
100
102
|
/**
|
|
101
103
|
* Custom list region component
|
|
102
104
|
*/
|
|
103
|
-
|
|
105
|
+
onCustomTable?: (props: TableProps<TModel>) => ReactNode;
|
|
104
106
|
/**
|
|
105
107
|
* Custom header function
|
|
106
108
|
*/
|
|
@@ -130,6 +132,18 @@ export interface ListPageContentProps<TModel extends FieldValues> extends Omit<P
|
|
|
130
132
|
* Open detailPage in view mode as default or in which reason provided
|
|
131
133
|
*/
|
|
132
134
|
enableRowClickToDetails?: boolean | NeedDataReason;
|
|
135
|
+
/**
|
|
136
|
+
* Call search after save & delete actions of detailpage,default true
|
|
137
|
+
*/
|
|
138
|
+
enableRefetch?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Card Col props
|
|
141
|
+
*/
|
|
142
|
+
cardProps?: CardListProps<TModel>;
|
|
143
|
+
/**
|
|
144
|
+
* List type @default table
|
|
145
|
+
*/
|
|
146
|
+
listType?: ListType;
|
|
133
147
|
}
|
|
134
|
-
declare function ListPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, autoSearch, children, columns, createCommandLabel, data, dataCount, disabled, disableShortCuts, enableActionCommands, enableRowClickToDetails, enableClear, enableCreateItem, enableExport, enableSearch, error, filterContent, hotkeyScopes,
|
|
148
|
+
declare function ListPageContent<TModel extends FieldValues>({ activeSegmentIndex, alerts, autoSearch, cardProps, children, columns, createCommandLabel, data, dataCount, disabled, disableShortCuts, enableActionCommands, enableRowClickToDetails, enableClear, enableCreateItem, enableRefetch, enableExport, enableSearch, error, filterContent, hotkeyScopes, listType, loading, onActionClick, onActionCommands, onClear, onClose, onCommands, onCustomTable, onDetailPage, onExcelExport, onExtraCommands, onHeader, onSearch, onTabChanged, tableProps, onWrapperLayout, showHeader, ...pageProps }: ListPageContentProps<TModel>): import("react/jsx-runtime").JSX.Element;
|
|
135
149
|
export default ListPageContent;
|
|
@@ -3,13 +3,14 @@ import { TableState } from '@tanstack/react-table';
|
|
|
3
3
|
import { UseFormReturn } from '../../form/hooks/useForm';
|
|
4
4
|
import { TabChangedPayload } from '../../page/components/DefaultTabs';
|
|
5
5
|
import { TableProps } from '../../table/Table';
|
|
6
|
+
import { CardListProps } from '../components/CardList';
|
|
6
7
|
import { ListPageContentProps } from './ListPageContent';
|
|
7
8
|
export type TableMode = 'server' | 'client';
|
|
8
9
|
export type ListPageMeta = Pick<TableState, 'pagination' | 'sorting' | 'columnFilters'> & TabChangedPayload & {
|
|
9
10
|
reason: SearchReason;
|
|
10
11
|
};
|
|
11
12
|
export type SearchReason = 'search' | 'sorting' | 'pagination' | 'init' | 'clear' | 'export' | 'tabChanged' | 'columnfilter';
|
|
12
|
-
export interface ListPageFilterProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends Omit<ListPageContentProps<TModel>, 'onSearch' | 'onExcelExport' | 'tableProps' | 'onTabChanged'> {
|
|
13
|
+
export interface ListPageFilterProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends Omit<ListPageContentProps<TModel>, 'onSearch' | 'onExcelExport' | 'tableProps' | 'onTabChanged' | 'cardProps'> {
|
|
13
14
|
/**
|
|
14
15
|
* Table states as partial for providing extra props to table
|
|
15
16
|
*/
|
|
@@ -38,6 +39,10 @@ export interface ListPageFilterProps<TModel extends FieldValues, TFilter extends
|
|
|
38
39
|
* Make search on mount,default true
|
|
39
40
|
*/
|
|
40
41
|
searchOnLoad?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Table sorting and
|
|
44
|
+
*/
|
|
45
|
+
tableMode?: TableMode;
|
|
41
46
|
/**
|
|
42
47
|
* Enable table pagination default true
|
|
43
48
|
*/
|
|
@@ -46,13 +51,10 @@ export interface ListPageFilterProps<TModel extends FieldValues, TFilter extends
|
|
|
46
51
|
* Enable table sorting default true
|
|
47
52
|
*/
|
|
48
53
|
enableSorting?: boolean;
|
|
49
|
-
|
|
50
|
-
* Table sorting and
|
|
51
|
-
*/
|
|
52
|
-
tableMode?: TableMode;
|
|
54
|
+
cardProps?: Pick<CardListProps<TModel>, 'cardColProps' | 'cardRowProps' | 'onCardMeta' | 'emptyTextProps'>;
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
57
|
* ListPage with filtering features
|
|
56
58
|
*/
|
|
57
|
-
declare function ListPageFilter<TModel extends FieldValues, TFilter extends FieldValues = FieldValues>({ defaultMeta, defaultSegmentIndex, enablePagination, enableSorting, form, meta, onChange, onClear, searchOnLoad, tableMode, tableProps: extableProps, ...lpProps }: ListPageFilterProps<TModel, TFilter>): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
declare function ListPageFilter<TModel extends FieldValues, TFilter extends FieldValues = FieldValues>({ cardProps, data, dataCount, defaultMeta, defaultSegmentIndex, enablePagination, enableSorting, form, meta, onChange, onClear, searchOnLoad, tableMode, tableProps: extableProps, ...lpProps }: ListPageFilterProps<TModel, TFilter>): import("react/jsx-runtime").JSX.Element;
|
|
58
60
|
export default ListPageFilter;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { UseFormReturn, ValidationOptions } from '../../form/hooks/useForm';
|
|
4
4
|
import { DeepNullable } from '../../utils';
|
|
5
5
|
import { ListPageFilterProps } from './ListPageFilter';
|
|
6
|
-
export interface ListPageFormProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends Omit<ListPageFilterProps<TModel, TFilter>, 'form'
|
|
6
|
+
export interface ListPageFormProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends Omit<ListPageFilterProps<TModel, TFilter>, 'form'> {
|
|
7
7
|
form?: UseFormReturn<TFilter>;
|
|
8
8
|
schema?: z.ZodType<TFilter>;
|
|
9
9
|
/**
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FieldValues } from 'react-hook-form';
|
|
2
2
|
import { UseSegmentParamsOptions } from '../../detail-page/hooks/useSegmentParams';
|
|
3
|
+
import { MatchFields } from '../hooks/useURLSearchFilter';
|
|
3
4
|
import { ListPageProps } from './ListPage';
|
|
4
5
|
export interface ListPageRouteProps<TModel extends FieldValues, TFilter extends FieldValues = FieldValues> extends ListPageProps<TModel, TFilter>, Omit<UseSegmentParamsOptions, 'paths'> {
|
|
5
|
-
enableQueryStringFilter?: boolean
|
|
6
|
+
enableQueryStringFilter?: boolean | MatchFields<TFilter>;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* ListPage with routing based on react-router
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { default as React
|
|
1
|
+
import { default as React } from 'react';
|
|
2
2
|
import { FlexBoxProps } from '../../flexbox/FlexBox';
|
|
3
3
|
export interface EmptyTextProps extends FlexBoxProps {
|
|
4
4
|
emptyText: React.ReactNode;
|
|
5
5
|
showEmptyImage?: boolean;
|
|
6
6
|
emptyImageUrl?: string;
|
|
7
7
|
}
|
|
8
|
-
declare function EmptyText({ emptyText, showEmptyImage, children, emptyImageUrl, ...boxProps }:
|
|
8
|
+
declare function EmptyText({ emptyText, showEmptyImage, children, emptyImageUrl, ...boxProps }: EmptyTextProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export default EmptyText;
|