From 8e4096a29a08bfbc5dcae7883f0c23139c698862 Mon Sep 17 00:00:00 2001 From: Antoine Fricker Date: Mon, 20 Jun 2022 15:54:25 +0200 Subject: [PATCH] state corrections in SaveButton --- packages/ra-ui-materialui/src/button/SaveButton.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/ra-ui-materialui/src/button/SaveButton.tsx b/packages/ra-ui-materialui/src/button/SaveButton.tsx index d6085c257cf..74f8f5a2aa1 100644 --- a/packages/ra-ui-materialui/src/button/SaveButton.tsx +++ b/packages/ra-ui-materialui/src/button/SaveButton.tsx @@ -65,14 +65,18 @@ export const SaveButton = ( const translate = useTranslate(); const form = useFormContext(); const saveContext = useSaveContext(); - const { isDirty, isValidating } = useFormState(); + const { isDirty, isValidating, isSubmitting } = useFormState(); // Use form isDirty, isValidating and form context saving to enable or disable the save button // if alwaysEnable is undefined const disabled = valueOrDefault( alwaysEnable === false || alwaysEnable === undefined ? undefined : !alwaysEnable, - disabledProp || !isDirty || isValidating || saveContext?.saving + disabledProp || + !isDirty || + isValidating || + saveContext?.saving || + isSubmitting ); warning( @@ -119,7 +123,9 @@ export const SaveButton = ( const displayedLabel = label && translate(label, { _: label }); const finalSaving = - typeof saving !== 'undefined' ? saving : saveContext?.saving; + typeof saving !== 'undefined' + ? saving + : saveContext?.saving || isSubmitting; return (