From ddd560b47453d38bbda09fdac2566ade69a3b3d6 Mon Sep 17 00:00:00 2001 From: Misode Date: Tue, 24 Sep 2019 23:23:06 +0200 Subject: [PATCH] Fix bug regarding multiple fields with the same id --- view.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/view.js b/view.js index 8f94593b..63c46adf 100644 --- a/view.js +++ b/view.js @@ -276,6 +276,7 @@ function generateObject(data, struct, header) { let child = components.find(e => e.id === struct.value); return generateObject(data, child, false); } + let validFields = []; for (let field of struct.fields) { let $field; if (field.collapse) { @@ -291,6 +292,7 @@ function generateObject(data, struct, header) { $field = generateError('Failed generating "' + field.id + '" field'); } if ($field !== false) { + validFields.push(field.id); if (field.type === 'array') { let color = field.color; if (color === undefined) { @@ -304,8 +306,11 @@ function generateObject(data, struct, header) { } } $body.append($field); - } else { - delete data[field.id]; + } + } + for (let field of Object.keys(data)) { + if (!validFields.includes(field)) { + delete data[field]; } } $body.children().first().removeClass('mt-3');