From eaeb48d8ef754739626cfcfcac5bfe05499f35ba Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 3 Nov 2020 15:32:30 -0500 Subject: [PATCH] Fix o2m setting whole row as start edits Fixes #852 --- app/src/interfaces/one-to-many/one-to-many.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/interfaces/one-to-many/one-to-many.vue b/app/src/interfaces/one-to-many/one-to-many.vue index a3a8c858fa..04cddff03c 100644 --- a/app/src/interfaces/one-to-many/one-to-many.vue +++ b/app/src/interfaces/one-to-many/one-to-many.vue @@ -306,7 +306,14 @@ export default defineComponent({ items.value = existingItems .map((item) => { const updatedItem = updatedItems.find((updated) => updated[pkField] === item[pkField]); - if (updatedItem !== undefined) return updatedItem; + + if (updatedItem !== undefined) { + return { + ...item, + ...updatedItem, + }; + } + return item; }) .concat(...newItems); @@ -370,7 +377,9 @@ export default defineComponent({ const pkField = relatedPrimaryKeyField.value.field; const hasPrimaryKey = pkField in item; - editsAtStart.value = item; + const edits = (props.value || []).find((edit: any) => edit === item); + + editsAtStart.value = edits || { [pkField]: item[pkField] || -1 }; currentlyEditing.value = hasPrimaryKey ? item[pkField] : -1; }