diff --git a/.changeset/gorgeous-months-fix.md b/.changeset/gorgeous-months-fix.md new file mode 100644 index 0000000000..ca899b4e2f --- /dev/null +++ b/.changeset/gorgeous-months-fix.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Change behavior of scaffolder entity pickers (EntityPicker, MultiEntityPicker, MyGroupsPicker) to not auto-fill and disable the field if there is only a single value option. diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx index 2ef5171c7b..67da593a9e 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx @@ -35,7 +35,7 @@ import Autocomplete, { AutocompleteChangeReason, createFilterOptions, } from '@material-ui/lab/Autocomplete'; -import React, { useCallback, useEffect } from 'react'; +import React, { useCallback } from 'react'; import useAsync from 'react-use/esm/useAsync'; import { EntityPickerFilterQueryValue, @@ -166,12 +166,6 @@ export const EntityPicker = (props: EntityPickerProps) => { entities?.catalogEntities.find(e => stringifyEntityRef(e) === formData) ?? (allowArbitraryValues && formData ? getLabel(formData) : ''); - useEffect(() => { - if (entities?.catalogEntities.length === 1 && selectedEntity === '') { - onChange(stringifyEntityRef(entities.catalogEntities[0])); - } - }, [entities, onChange, selectedEntity]); - return ( { error={rawErrors?.length > 0 && !formData} > { [onChange, formData, defaultKind, defaultNamespace, allowArbitraryValues], ); - useEffect(() => { - if (entities?.entities?.length === 1) { - onChange([stringifyEntityRef(entities?.entities[0])]); - } - }, [entities, onChange]); - return ( { { groups?.catalogEntities.find(e => stringifyEntityRef(e) === formData) || null; - useEffect(() => { - if (groups?.catalogEntities.length === 1 && !selectedEntity) { - onChange(stringifyEntityRef(groups.catalogEntities[0])); - } - }, [groups, onChange, selectedEntity]); - return ( { error={rawErrors?.length > 0} >