From 485ccd504e4c2c8b8805acf9c617a53b72b90a26 Mon Sep 17 00:00:00 2001
From: Julian Leucker <leuckerj@gmail.com>
Date: Mon, 13 Feb 2023 21:31:26 +0100
Subject: [PATCH] Remove grid ids from non-emitted items

---
 src/DragGrid.vue | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/DragGrid.vue b/src/DragGrid.vue
index 56b27c6..8922a0d 100644
--- a/src/DragGrid.vue
+++ b/src/DragGrid.vue
@@ -199,6 +199,9 @@ export default {
 
       if (!newPositionValid) return;
 
+      element.x = coords.x;
+      element.y = coords.y;
+
       try {
         let valueCopy = structuredClone(this.value);
 
@@ -207,7 +210,12 @@ export default {
         });
         if (index >= 0) valueCopy.splice(index, 1);
 
-        valueCopy.push(element);
+        let elementCopy = structuredClone(element);
+
+        elementCopy.context = undefined;
+        elementCopy.originGridId = undefined;
+
+        valueCopy.push(elementCopy);
         this.$emit("input", valueCopy);
       } catch (e) {
         if (e.code === DOMException.DATA_CLONE_ERR) {
@@ -220,9 +228,8 @@ export default {
         }
       }
 
-      element.x = coords.x;
-      element.y = coords.y;
       element.gridId = this.gridId;
+
       this.$emit("itemChanged", element);
     },
     getCoords(x, y) {
-- 
GitLab