Refactor copy and paste to include dockData
This commit is contained in:
@@ -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();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user