Merge pull request #25359 from mbenson/OEP_cf_array

Support catalogFilter array on OwnedEntityPicker; addresses https://g…
This commit is contained in:
Ben Lambert
2024-06-24 15:40:26 +02:00
committed by GitHub
2 changed files with 17 additions and 11 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Support `catalogFilter` array on `OwnedEntityPicker`
@@ -90,17 +90,11 @@ function buildEntityPickerUISchema(
uiSchema?.['ui:options'] || {};
const allowedKinds = uiOptions.allowedKinds;
const catalogFilter = {
...uiOptions.catalogFilter,
...(allowedKinds
? {
kind: allowedKinds,
[`relations.${RELATION_OWNED_BY}`]: identityRefs || [],
}
: {
[`relations.${RELATION_OWNED_BY}`]: identityRefs || [],
}),
};
const catalogFilter = asArray(uiOptions.catalogFilter).map(e => ({
...e,
...(allowedKinds ? { kind: allowedKinds } : {}),
[`relations.${RELATION_OWNED_BY}`]: identityRefs || [],
}));
return {
'ui:options': {
@@ -108,3 +102,10 @@ function buildEntityPickerUISchema(
},
};
}
function asArray(catalogFilter: any): any[] {
if (catalogFilter) {
return Array.isArray(catalogFilter) ? catalogFilter : [catalogFilter];
}
return [{}];
}