fix: wrong elements removed when index can't be found

This commit is contained in:
Braks
2022-05-11 22:10:40 +02:00
parent b8abc78307
commit b68dc4c032
+6 -4
View File
@@ -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((<any>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
}
})