From 5843ffdc9b36885a07a43582de908426fa060187 Mon Sep 17 00:00:00 2001 From: Ayobami Date: Wed, 2 Jul 2025 18:25:38 +0100 Subject: [PATCH] Refactor copy and paste to include dockData --- src/components/DockBuilder/DockBuilder.jsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/DockBuilder/DockBuilder.jsx b/src/components/DockBuilder/DockBuilder.jsx index ffcb428..bafc351 100644 --- a/src/components/DockBuilder/DockBuilder.jsx +++ b/src/components/DockBuilder/DockBuilder.jsx @@ -583,19 +583,25 @@ export const DockBuilder = () => { }, [editorMemo]); const CopySelection = () => { - // TODO: Copy selection const activeObject = editorMemo.getActiveObject(); if (activeObject) { activeObject.clone(function (cloned) { + // Ensure dockData is copied + if (activeObject.dockData) { + cloned.dockData = { ...activeObject.dockData }; + } clipboard = cloned; }); } }; const PasteSelection = () => { - // TODO: Paste selection if (clipboard) { clipboard.clone(function (clonedObj) { + // Ensure dockData is copied + if (clipboard.dockData) { + clonedObj.dockData = { ...clipboard.dockData }; + } // Offset the pasted object so it's visible clonedObj.set({ left: (clonedObj.left || 0) + 20, @@ -604,7 +610,7 @@ export const DockBuilder = () => { }); editorMemo.add(clonedObj); editorMemo.setActiveObject(clonedObj); - editorMemo.renderAll(); + editorMemo.requestRenderAll(); }); } };