Merge pull request #16063 from mbenson/review-property-order

Review property order
This commit is contained in:
Ben Lambert
2023-01-31 15:38:09 +01:00
committed by GitHub
2 changed files with 33 additions and 26 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Prefer schema ordering of template properties during review content generation.
@@ -25,36 +25,38 @@ export function getReviewData(
uiSchemas: UiSchema[],
) {
const reviewData: Record<string, any> = {};
for (const key in formData) {
if (formData.hasOwnProperty(key)) {
const uiSchema = uiSchemas.find(us => us.name === key);
const orderedReviewProperties = new Set(
uiSchemas.map(us => us.name).concat(Object.getOwnPropertyNames(formData)),
);
if (!uiSchema) {
reviewData[key] = formData[key];
continue;
}
for (const key of orderedReviewProperties) {
const uiSchema = uiSchemas.find(us => us.name === key);
if (uiSchema['ui:widget'] === 'password') {
reviewData[key] = '******';
continue;
}
if (!uiSchema['ui:backstage'] || !uiSchema['ui:backstage'].review) {
reviewData[key] = formData[key];
continue;
}
const review = uiSchema['ui:backstage'].review as JsonObject;
if (review.mask) {
reviewData[key] = review.mask;
continue;
}
if (!review.show) {
continue;
}
if (!uiSchema) {
reviewData[key] = formData[key];
continue;
}
if (uiSchema['ui:widget'] === 'password') {
reviewData[key] = '******';
continue;
}
if (!uiSchema['ui:backstage'] || !uiSchema['ui:backstage'].review) {
reviewData[key] = formData[key];
continue;
}
const review = uiSchema['ui:backstage'].review as JsonObject;
if (review.mask) {
reviewData[key] = review.mask;
continue;
}
if (!review.show) {
continue;
}
reviewData[key] = formData[key];
}
return reviewData;