From 05f22193c5a57796079890952624b55ec582ce80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Tunkl?= Date: Tue, 13 Sep 2022 13:46:32 +0200 Subject: [PATCH 1/3] Update of EntityPickers to support flags which control omit of default namespace in result. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomáš Tunkl --- .changeset/selfish-turkeys-exist.md | 5 +++++ plugins/scaffolder/api-report.md | 6 ++++++ .../src/components/fields/EntityPicker/EntityPicker.tsx | 4 +++- .../fields/OwnedEntityPicker/OwnedEntityPicker.tsx | 4 +++- .../src/components/fields/OwnerPicker/OwnerPicker.tsx | 2 ++ 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .changeset/selfish-turkeys-exist.md diff --git a/.changeset/selfish-turkeys-exist.md b/.changeset/selfish-turkeys-exist.md new file mode 100644 index 0000000000..f99b92d976 --- /dev/null +++ b/.changeset/selfish-turkeys-exist.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': minor +--- + +EntityPickers now support flags to control ommit of default namespace diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index 9541098934..bc7a277ddb 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -66,6 +66,8 @@ export interface EntityPickerUiOptions { allowedKinds?: string[]; // (undocumented) defaultKind?: string; + // (undocumented) + defaultNamespace?: string | false; } // @public @@ -163,6 +165,8 @@ export interface OwnedEntityPickerUiOptions { allowedKinds?: string[]; // (undocumented) defaultKind?: string; + // (undocumented) + defaultNamespace?: string | false; } // @public @@ -177,6 +181,8 @@ export interface OwnerPickerUiOptions { allowArbitraryValues?: boolean; // (undocumented) allowedKinds?: string[]; + // (undocumented) + defaultNamespace?: string | false; } // @public diff --git a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx index 2aa72550c3..e7883a4721 100644 --- a/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/EntityPicker/EntityPicker.tsx @@ -35,6 +35,7 @@ export interface EntityPickerUiOptions { allowedKinds?: string[]; defaultKind?: string; allowArbitraryValues?: boolean; + defaultNamespace?: string | false; } /** @@ -57,6 +58,7 @@ export const EntityPicker = ( } = props; const allowedKinds = uiSchema['ui:options']?.allowedKinds; const defaultKind = uiSchema['ui:options']?.defaultKind; + const defaultNamespace = uiSchema['ui:options']?.defaultNamespace; const catalogApi = useApi(catalogApiRef); @@ -67,7 +69,7 @@ export const EntityPicker = ( ); const entityRefs = entities?.items.map(e => - humanizeEntityRef(e, { defaultKind }), + humanizeEntityRef(e, { defaultKind, defaultNamespace }), ); const onSelect = useCallback( diff --git a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx index a280ebad6a..2446883a86 100644 --- a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx +++ b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx @@ -38,6 +38,7 @@ export interface OwnedEntityPickerUiOptions { allowedKinds?: string[]; defaultKind?: string; allowArbitraryValues?: boolean; + defaultNamespace?: string | false; } /** @@ -61,12 +62,13 @@ export const OwnedEntityPicker = ( const allowedKinds = uiSchema['ui:options']?.allowedKinds; const defaultKind = uiSchema['ui:options']?.defaultKind; + const defaultNamespace = uiSchema['ui:options']?.defaultNamespace; const allowArbitraryValues = uiSchema['ui:options']?.allowArbitraryValues ?? true; const { ownedEntities, loading } = useOwnedEntities(allowedKinds); const entityRefs = ownedEntities?.items - .map(e => humanizeEntityRef(e, { defaultKind })) + .map(e => humanizeEntityRef(e, { defaultKind, defaultNamespace })) .filter(n => n); const onSelect = (_: any, value: string | null) => { diff --git a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx index 10425c17ff..1cb95c4d3e 100644 --- a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx +++ b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx @@ -26,6 +26,7 @@ import { FieldExtensionComponentProps } from '../../../extensions'; export interface OwnerPickerUiOptions { allowedKinds?: string[]; allowArbitraryValues?: boolean; + defaultNamespace?: string | false; } /** @@ -53,6 +54,7 @@ export const OwnerPicker = ( defaultKind: 'Group', allowArbitraryValues: uiSchema['ui:options']?.allowArbitraryValues ?? true, + defaultNamespace: uiSchema['ui:options']?.defaultNamespace ?? '', }, }; From aa49202de03e9e5591f9bd5d74ea9e6316aa9698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Tunkl?= Date: Tue, 13 Sep 2022 14:17:49 +0200 Subject: [PATCH 2/3] Update of EntityPickers to support flags which control omit of default namespace in result. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomáš Tunkl --- .changeset/selfish-turkeys-exist.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.changeset/selfish-turkeys-exist.md b/.changeset/selfish-turkeys-exist.md index f99b92d976..3530b3a864 100644 --- a/.changeset/selfish-turkeys-exist.md +++ b/.changeset/selfish-turkeys-exist.md @@ -2,4 +2,5 @@ '@backstage/plugin-scaffolder': minor --- -EntityPickers now support flags to control ommit of default namespace +EntityPickers now support flags to control when to include default namespace +in result From aa1f108fb309eb14e3410d655255b7f92df68705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Tunkl?= Date: Wed, 21 Sep 2022 17:15:19 +0200 Subject: [PATCH 3/3] Update of OwnerPicker to pass correctly defaultNamespace value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomáš Tunkl --- .../src/components/fields/OwnerPicker/OwnerPicker.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx index 1cb95c4d3e..3de2b12bd0 100644 --- a/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx +++ b/plugins/scaffolder/src/components/fields/OwnerPicker/OwnerPicker.tsx @@ -44,6 +44,8 @@ export const OwnerPicker = ( ...restProps } = props; + const defaultNamespace = uiSchema['ui:options']?.defaultNamespace; + const ownerUiSchema = { ...uiSchema, 'ui:options': { @@ -54,7 +56,7 @@ export const OwnerPicker = ( defaultKind: 'Group', allowArbitraryValues: uiSchema['ui:options']?.allowArbitraryValues ?? true, - defaultNamespace: uiSchema['ui:options']?.defaultNamespace ?? '', + ...(defaultNamespace !== undefined ? { defaultNamespace } : {}), }, };