From 85771cc543a995c25face1c1cbe6efa5ef8e8ac5 Mon Sep 17 00:00:00 2001 From: "Clemens S. Heithecker" Date: Wed, 21 Sep 2022 16:31:21 +0200 Subject: [PATCH] Add selector for Azure host Signed-off-by: Clemens S. Heithecker --- .../fields/RepoUrlPicker/AzureRepoPicker.tsx | 41 +++++++++++++++---- .../fields/RepoUrlPicker/RepoUrlPicker.tsx | 1 + 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx index a88120e480..c001e8f97f 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/AzureRepoPicker.tsx @@ -24,15 +24,27 @@ import { Select, SelectItem } from '@backstage/core-components'; export const AzureRepoPicker = (props: { allowedOrganizations?: string[]; + allowedOwners?: string[]; rawErrors: string[]; state: RepoUrlPickerState; onChange: (state: RepoUrlPickerState) => void; }) => { - const { allowedOrganizations = [], rawErrors, state, onChange } = props; + const { + allowedOrganizations = [], + allowedOwners = [], + rawErrors, + state, + onChange, + } = props; + const organizationItems: SelectItem[] = allowedOrganizations ? allowedOrganizations.map(i => ({ label: i, value: i })) : [{ label: 'Loading...', value: 'loading' }]; + const ownerItems: SelectItem[] = allowedOwners + ? allowedOwners.map(i => ({ label: i, value: i })) + : [{ label: 'Loading...', value: 'loading' }]; + const { organization, owner } = state; return ( @@ -72,12 +84,27 @@ export const AzureRepoPicker = (props: { required error={rawErrors?.length > 0 && !owner} > - Owner - onChange({ owner: e.target.value })} - value={owner} - /> + {allowedOwners?.length ? ( + onChange({ owner: e.target.value })} + value={owner} + /> + + )} The Owner that this repo will belong to diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx index 6d0648c751..14fbfcee0b 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx @@ -198,6 +198,7 @@ export const RepoUrlPicker = ( {hostType === 'azure' && (