Refactor copy and paste to include dockData

This commit is contained in:
Ayobami
2025-07-02 18:25:38 +01:00
parent ab2f477b7f
commit 5843ffdc9b
+9 -3
View File
@@ -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();
});
}
};