fix(Former): update request type to FormRequestType for consistency
This commit is contained in:
@@ -7,9 +7,11 @@ import type {
|
|||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import type { FieldValues, UseFormProps, UseFormReturn } from 'react-hook-form';
|
import type { FieldValues, UseFormProps, UseFormReturn } from 'react-hook-form';
|
||||||
|
|
||||||
|
import type { FormRequestType } from '../Gridler/utils/types';
|
||||||
|
|
||||||
export type FormerAPICallType<T extends FieldValues = any> = (
|
export type FormerAPICallType<T extends FieldValues = any> = (
|
||||||
mode: 'mutate' | 'read',
|
mode: 'mutate' | 'read',
|
||||||
request: RequestType,
|
request: FormRequestType,
|
||||||
value?: T,
|
value?: T,
|
||||||
key?: number | string
|
key?: number | string
|
||||||
) => Promise<T>;
|
) => Promise<T>;
|
||||||
@@ -43,7 +45,7 @@ export interface FormerProps<T extends FieldValues = any> {
|
|||||||
onOpen?: (data?: T) => void;
|
onOpen?: (data?: T) => void;
|
||||||
opened?: boolean;
|
opened?: boolean;
|
||||||
primeData?: T;
|
primeData?: T;
|
||||||
request: RequestType;
|
request: FormRequestType;
|
||||||
uniqueKeyField?: string;
|
uniqueKeyField?: string;
|
||||||
useFormProps?: UseFormProps<T>;
|
useFormProps?: UseFormProps<T>;
|
||||||
values?: T;
|
values?: T;
|
||||||
@@ -81,7 +83,7 @@ export interface FormerState<T extends FieldValues = any> {
|
|||||||
reset: (e?: React.BaseSyntheticEvent<object, any, any> | undefined) => Promise<void>;
|
reset: (e?: React.BaseSyntheticEvent<object, any, any> | undefined) => Promise<void>;
|
||||||
save: (e?: React.BaseSyntheticEvent<object, any, any> | undefined) => Promise<T | undefined>;
|
save: (e?: React.BaseSyntheticEvent<object, any, any> | undefined) => Promise<T | undefined>;
|
||||||
scrollAreaProps?: ScrollAreaAutosizeProps;
|
scrollAreaProps?: ScrollAreaAutosizeProps;
|
||||||
setRequest: (request: RequestType) => void;
|
setRequest: (request: FormRequestType) => void;
|
||||||
setState: <K extends keyof FormStateAndProps<T>>(
|
setState: <K extends keyof FormStateAndProps<T>>(
|
||||||
key: K,
|
key: K,
|
||||||
value: Partial<FormStateAndProps<T>>[K]
|
value: Partial<FormStateAndProps<T>>[K]
|
||||||
@@ -95,5 +97,3 @@ export interface FormerState<T extends FieldValues = any> {
|
|||||||
|
|
||||||
export type FormStateAndProps<T extends FieldValues = any> = FormerProps<T> &
|
export type FormStateAndProps<T extends FieldValues = any> = FormerProps<T> &
|
||||||
Partial<FormerState<T>>;
|
Partial<FormerState<T>>;
|
||||||
|
|
||||||
export type RequestType = 'delete' | 'insert' | 'select' | 'update' | 'view';
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export type UseFormerStateProps<T extends FieldValues = FieldValues> = Pick<
|
|||||||
export const useFormerState = <T extends FieldValues = FieldValues>(
|
export const useFormerState = <T extends FieldValues = FieldValues>(
|
||||||
options?: Partial<UseFormerStateProps<T>>
|
options?: Partial<UseFormerStateProps<T>>
|
||||||
) => {
|
) => {
|
||||||
const [state, setState] = useState<Partial<UseFormerStateProps<T>>>({
|
const [state, setState] = useState<UseFormerStateProps<T>>({
|
||||||
onChange: options?.onChange,
|
onChange: options?.onChange,
|
||||||
onClose: options?.onClose ?? (() => setState((cv) => ({ ...cv, opened: false }))),
|
onClose: options?.onClose ?? (() => setState((cv) => ({ ...cv, opened: false }))),
|
||||||
opened: options?.opened ?? false,
|
opened: options?.opened ?? false,
|
||||||
@@ -28,8 +28,11 @@ export const useFormerState = <T extends FieldValues = FieldValues>(
|
|||||||
const { onChange, onClose, opened, ...formerProps } = state;
|
const { onChange, onClose, opened, ...formerProps } = state;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
former: { ...formerProps, onChange, onClose, opened },
|
former: { ...formerProps, onChange },
|
||||||
formerWrapper: { onClose, opened },
|
formerWrapper: { onClose, opened } as {
|
||||||
|
onClose: Required<UseFormerStateProps<T>>['onClose'];
|
||||||
|
opened: UseFormerStateProps<T>['opened'];
|
||||||
|
},
|
||||||
open: (request: UseFormerStateProps<T>['request'], data: UseFormerStateProps<T>['values']) => {
|
open: (request: UseFormerStateProps<T>['request'], data: UseFormerStateProps<T>['values']) => {
|
||||||
setState((cv) => ({ ...cv, opened: true, primeData: data, request, values: data }));
|
setState((cv) => ({ ...cv, opened: true, primeData: data, request, values: data }));
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ export type APIType = 'gorest' |'gorest2'| 'resolvespec';
|
|||||||
export const APITypes: Record<string, APIType> = {
|
export const APITypes: Record<string, APIType> = {
|
||||||
GoRest: 'gorest',
|
GoRest: 'gorest',
|
||||||
GoRest2: 'gorest2',
|
GoRest2: 'gorest2',
|
||||||
ResolveSpec: 'resolvespec'
|
ResolveSpec: 'resolvespec',
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
export interface APIOptions {
|
export interface APIOptions {
|
||||||
@@ -15,4 +15,4 @@ export interface APIOptions {
|
|||||||
url?: string;
|
url?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type FormRequestType = 'change' | 'delete' | 'insert' | 'select' ;
|
export type FormRequestType = 'change' | 'delete' | 'insert' | 'select' | 'update' | 'view';
|
||||||
|
|||||||
Reference in New Issue
Block a user