Skip to main content

UseGeneratedForm

This hook is used to create a form from a document and an entity. It will create a form with the fields defined in the document's input type. It will also create a submit handler that will submit the form to the server.

This hook is mostly used internally by the higher-level useDetailPage hook, but can in some cases be useful to use directly.

Example

Tsx
const { form, submitHandler } = useGeneratedForm({ document: setDraftOrderCustomFieldsDocument, varName: undefined, entity: entity, setValues: entity => {   return {     orderId: entity.id,     input: {       customFields: entity.customFields,     },   }; },});
Signature
function useGeneratedForm<T extends TypedDocumentNode<any, any>, VarName extends keyof VariablesOf<T> | undefined, E extends Record<string, any> = Record<string, any>>(options: GeneratedFormOptions<T, VarName, E>): void

Parameters

options

parameterGeneratedFormOptions<T, VarName, E>

Options for the useGeneratedForm hook.

Signature
interface GeneratedFormOptions<T extends TypedDocumentNode<any, any>, VarName extends keyof VariablesOf<T> | undefined = 'input', E extends Record<string, any> = Record<string, any>> {    document?: T;    varName?: VarName;    entity: E | null | undefined;    customFieldConfig?: any[];    setValues: (        entity: NonNullable<E>,    ) => WithLooseCustomFields<        VarName extends keyof VariablesOf<T> ? VariablesOf<T>[VarName] : VariablesOf<T>    >;    onSubmit?: (        values: VarName extends keyof VariablesOf<T> ? VariablesOf<T>[VarName] : VariablesOf<T>,    ) => void;}

document

propertyT

The document to use to generate the form.

varName

propertyVarName

The name of the variable to use in the document.

entity

propertyE | null | undefined

The entity to use to generate the form.

customFieldConfig

propertyany[]

setValues

property( entity: NonNullable<E>, ) => WithLooseCustomFields< VarName extends keyof VariablesOf<T> ? VariablesOf<T>[VarName] : VariablesOf<T> >

onSubmit

property( values: VarName extends keyof VariablesOf<T> ? VariablesOf<T>[VarName] : VariablesOf<T>, ) => void
Was this chapter helpful?
Report Issue
Edited Feb 2, 2026·Edit this page