From 18ee24197e5644704fe0117bf56b7d8f318ae1bc Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 25 Aug 2022 14:53:28 +0200 Subject: [PATCH] chore: fix autoselect of the workspace when there are a list provided Signed-off-by: blam --- .../fields/RepoUrlPicker/BitbucketRepoPicker.tsx | 9 ++++++++- .../components/fields/RepoUrlPicker/RepoUrlPicker.tsx | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx index 38d615078d..5bc1380553 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/BitbucketRepoPicker.tsx @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import React from 'react'; +import React, { useEffect } from 'react'; import FormControl from '@material-ui/core/FormControl'; import FormHelperText from '@material-ui/core/FormHelperText'; import Input from '@material-ui/core/Input'; @@ -32,6 +32,13 @@ export const BitbucketRepoPicker = (props: { const ownerItems: SelectItem[] = allowedOwners ? allowedOwners?.map(i => ({ label: i, value: i })) : []; + + useEffect(() => { + if (host === 'bitbucket.org' && allowedOwners.length) { + onChange({ workspace: allowedOwners[0] }); + } + }, [allowedOwners, host, onChange]); + return ( <> {host === 'bitbucket.org' && ( diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx index f6fa37109d..2214997560 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx @@ -90,9 +90,13 @@ export const RepoUrlPicker = ( /* we deal with calling the repo setting here instead of in each components for ease */ useEffect(() => { if (allowedOwners.length > 0) { - setState(prevState => ({ ...prevState, owner: allowedOwners[0] })); + setState(prevState => ({ + ...prevState, + owner: allowedOwners[0], + })); } }, [setState, allowedOwners]); + useEffect(() => { if (allowedRepos.length > 0) { setState(prevState => ({ ...prevState, repoName: allowedRepos[0] }));