From 6ef6e31944303581102e7a1d0c234c48c62d7eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Svarcas?= Date: Tue, 25 Oct 2022 11:19:30 -0300 Subject: [PATCH 1/3] AutocompleteInput emptyText not set by default --- .../src/input/AutocompleteInput.stories.tsx | 2 +- .../ra-ui-materialui/src/input/AutocompleteInput.tsx | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx index 865f1201e1e..ef7dd803d0c 100644 --- a/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx +++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.stories.tsx @@ -721,7 +721,7 @@ const BookEditWithEmptyText = () => { > - isRequired || multiple + emptyText == undefined || isRequired || multiple ? allChoices : [ { [optionValue || 'id']: emptyValue, [typeof optionText === 'string' ? optionText - : 'name']: translate(finalEmptyText, { - _: finalEmptyText, + : 'name']: translate(emptyText, { + _: emptyText, }), }, ].concat(allChoices), [ allChoices, emptyValue, - finalEmptyText, + emptyText, isRequired, multiple, optionText, From 9c2e72de6439f760583a18dd0d12871828fca8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Svarcas?= Date: Tue, 25 Oct 2022 11:25:05 -0300 Subject: [PATCH 2/3] Update docs --- docs/AutocompleteInput.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/AutocompleteInput.md b/docs/AutocompleteInput.md index e47beb02a1b..ed0cbecf4b3 100644 --- a/docs/AutocompleteInput.md +++ b/docs/AutocompleteInput.md @@ -100,9 +100,7 @@ See [Using in a `ReferenceInput>`](#using-in-a-referenceinput) below for more in ## `emptyText` -If the input isn't required (using `validate={required()}`), users can select an empty choice with an empty text `''` as label. - -You can override that label with the `emptyText` prop. +If the input isn't required (using `validate={required()}`), and you need a choice to represent the empty value, set `emptyText` prop and a choice will be added at the top, with its value as label. ```jsx Date: Tue, 25 Oct 2022 13:56:30 -0300 Subject: [PATCH 3/3] Fix lint --- packages/ra-ui-materialui/src/input/AutocompleteInput.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx index fe798862328..8a667ed6a49 100644 --- a/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx +++ b/packages/ra-ui-materialui/src/input/AutocompleteInput.tsx @@ -218,6 +218,7 @@ export const AutocompleteInput = < const finalChoices = useMemo( () => + // eslint-disable-next-line eqeqeq emptyText == undefined || isRequired || multiple ? allChoices : [