Preserve template property order in review.
Signed-off-by: Matt Benson <gudnabrsam@gmail.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user