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.
Optional
submit Button Class
The CSS class of the submit button.
Optional
cancel Button Text
The text of the cancel button. Defaults to "Cancel".
Optional
submit 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.
Optional
close 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()
Optional
modal Class
The CSS class added to the underlying Bootstrap modal.
Optional
focus First
Set to false
to disable the default behavior of focusing the first
input.
Optional
show Footer
Set to false
to hide the modal footer, which contains the submit and
cancel buttons.
Methods
on Show Validation Change
onShowValidationChange(showValidation: boolean): void
A 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(): void
A 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 }>
Optional
on Cancel
onCancel(): void
An uncommonly-used callback that fires when the user clicks the cancel button.
The props type of
EasyFormDialog
.