EasyFormDialogProps
title: ReactNode;
submitButtonText: string;
submitButtonClass?: string;
cancelButtonText?: string;
submitEnabled?: boolean;
formIsValid: boolean;
showValidation: boolean;
onShowValidationChange(showValidation: boolean): void;
onSuccess(payload: unknown): Promise<void>;
onClose(): void;
onSubmit(
formData: Record<string, string | boolean>,
):
| Promise<void>
| Promise<undefined | { shouldClose?: boolean; responseData: unknown }>;
onCancel(): void;
closeRef?: MutableRefObject<() => void>;
modalClass?: string;
focusFirst?: boolean;
showFooter?: boolean;
}
Index
Properties
Methods
Properties
title
The title of the dialog. Can be a JSX element.
submit Button Text
The text of the submit button.
Optionalsubmit Button Class
The CSS class of the submit button.
Optionalcancel Button Text
The text of the cancel button. Defaults to "Cancel".
Optionalsubmit Enabled
Allows you to disable the submit button even if getSubmitEnabled()
would return true.
This can be useful if you want to disable the submit button while a query is in progress.
form Is Valid
A boolean indicating if the form is valid.
show Validation
A boolean indicating if validation feedback is being shown.
Optionalclose Ref
This prop accepts a ref object that holds a function of type () => void. You can execute the function to programmatically close the dialog:
closeRef.current()
Optionalmodal Class
The CSS class added to the underlying Bootstrap modal.
Optionalfocus First
Set to false to disable the default behavior of focusing the first
input.
Optionalshow Footer
Set to false to hide the modal footer, which contains the submit and
cancel buttons.
Methods
on Show Validation Change
onShowValidationChange(showValidation: boolean): voidA callback that fires when the dialog is submitted.
Parameters
showValidation: boolean
Returns void
on Success
onSuccess(payload: unknown): Promise<void>A callback that fires after the submit function succeeds.
If the submit function returned responseData, it is passed to your
onSuccess function.
Your onSuccess callback must return a promise. The submit button will
continue showing a loading indicator until the promise resolves. This is
to support refetching the data that was updated by the form submission.
Parameters
payload: unknown
Returns Promise<void>
on Close
onClose(): voidA callback that fires when the dialog has completely closed. Your
onClose callback should update call, for example,
setDialogVisible(false) so that the EasyFormDialog is no longer
rendered.
Returns void
on Submit
onSubmit(
formData: Record<string, string | boolean>,
):
| Promise<void>
| Promise<undefined | { shouldClose?: boolean; responseData: unknown }>A callback that fires when the form is submitted. You will typically
perform an API call in your submit function.
Your submit function can optionally return an object in the shape
{
shouldClose?: boolean
responseData: unknown
}
Using formData is deprecated. Use controlled components instead.
formData will be {} if the optional peer dependency jquery is not
installed.
Parameters
formData: Record<string, string | boolean>
Returns
| Promise<void>
| Promise<undefined | { shouldClose?: boolean; responseData: unknown }>
Optionalon Cancel
onCancel(): voidAn uncommonly-used callback that fires when the user clicks the cancel button.
The props type of
EasyFormDialog.