fix(Former): update request type to FormRequestType for consistency

This commit is contained in:
2026-02-08 16:14:14 +02:00
parent 128923290d
commit 02d73254d9
3 changed files with 15 additions and 12 deletions

View File

@@ -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';

View File

@@ -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 }));
}, },

View File

@@ -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';