diff --git a/src/components/EditorHeader/ControlPanel.jsx b/src/components/EditorHeader/ControlPanel.jsx index ed17920f..cc1968d7 100644 --- a/src/components/EditorHeader/ControlPanel.jsx +++ b/src/components/EditorHeader/ControlPanel.jsx @@ -647,10 +647,12 @@ export default function ControlPanel({ case ObjectType.TABLE: { const copiedTable = tables.find((t) => t.id === selectedElement.id); addTable({ - ...copiedTable, - x: copiedTable.x + 20, - y: copiedTable.y + 20, - id: nanoid(), + table: { + ...copiedTable, + x: copiedTable.x + 20, + y: copiedTable.y + 20, + id: nanoid(), + }, }); break; } @@ -709,12 +711,15 @@ export default function ControlPanel({ return; } const v = new Validator(); + console.log(obj); if (v.validate(obj, tableSchema).valid) { addTable({ - ...obj, - x: obj.x + 20, - y: obj.y + 20, - id: nanoid(), + table: { + ...obj, + x: obj.x + 20, + y: obj.y + 20, + id: nanoid(), + }, }); } else if (v.validate(obj, areaSchema).valid) { addArea({ diff --git a/src/context/DiagramContext.jsx b/src/context/DiagramContext.jsx index da4c1b4b..bdb144b5 100644 --- a/src/context/DiagramContext.jsx +++ b/src/context/DiagramContext.jsx @@ -45,7 +45,7 @@ export default function DiagramContextProvider({ children }) { if (data) { setTables((prev) => { const temp = prev.slice(); - temp.splice(data.index, 0, data.table); + temp.splice(data.index || tables.length, 0, data.table); return temp; }); } else {