From b68dc4c0327a586018c763abfa57020b7c6bc841 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 25 Apr 2022 14:55:32 +0200 Subject: [PATCH] fix: wrong elements removed when index can't be found --- package/src/utils/changes.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/package/src/utils/changes.ts b/package/src/utils/changes.ts index e97a58ab..ccb656e0 100644 --- a/package/src/utils/changes.ts +++ b/package/src/utils/changes.ts @@ -102,8 +102,8 @@ export const applyChanges = < let elementIds = elements.map((el) => el.id) changes.forEach((change) => { if (change.type === 'add') { - if (addElement) addElement([change.item as any]) - else elements.push(change.item as any) + if (addElement) return addElement([change.item as any]) + else return elements.push(change.item as any) } const i = elementIds.indexOf((change).id) @@ -126,8 +126,10 @@ export const applyChanges = < } break case 'remove': - elements.splice(i, 1) - elementIds = elements.map((el) => el.id) + if (elementIds.includes(change.id)) { + elements.splice(i, 1) + elementIds = elements.map((el) => el.id) + } break } })