delete and duplicate

This commit is contained in:
1ilit 2023-09-19 15:50:30 +03:00
parent 5b5e55e345
commit 8500fdf0fb

View File

@ -480,6 +480,51 @@ export default function ControlPanel(props) {
}
}
};
const del = () => {
switch (selectedElement.element) {
case ObjectType.TABLE:
deleteTable(selectedElement.id, true);
break;
case ObjectType.NOTE:
deleteNote(selectedElement.id, true);
break;
case ObjectType.AREA:
deleteArea(selectedElement.id, true);
break;
default:
break;
}
};
const duplicate = () => {
switch (selectedElement.element) {
case ObjectType.TABLE:
addTable(true, {
...tables[selectedElement.id],
x: tables[selectedElement.id].x + 20,
y: tables[selectedElement.id].y + 20,
id: tables.length,
});
break;
case ObjectType.NOTE:
addNote(true, {
...notes[selectedElement.id],
x: notes[selectedElement.id].x + 20,
y: notes[selectedElement.id].y + 20,
id: notes.length,
});
break;
case ObjectType.AREA:
addArea(true, {
...areas[selectedElement.id],
x: areas[selectedElement.id].x + 20,
y: areas[selectedElement.id].y + 20,
id: areas.length,
});
break;
default:
break;
}
};
const menu = {
File: {
@ -665,11 +710,11 @@ export default function ControlPanel(props) {
shortcut: "Ctrl+V",
},
Duplicate: {
function: () => {},
function: duplicate,
shortcut: "Ctrl+D",
},
Delete: {
function: () => {},
function: del,
shortcut: "Del",
},
"Copy as image": {
@ -763,6 +808,8 @@ export default function ControlPanel(props) {
useHotkeys("ctrl+z, meta+z", undo, { preventDefault: true });
useHotkeys("ctrl+y, meta+y", redo, { preventDefault: true });
useHotkeys("ctrl+e, meta+e", edit, { preventDefault: true });
useHotkeys("ctrl+d, meta+d", duplicate, { preventDefault: true });
useHotkeys("delete", del, { preventDefault: true });
useHotkeys("ctrl+shift+g, meta+shift+g", viewGrid, { preventDefault: true });
useHotkeys("ctrl+up, meta+up", zoomIn, { preventDefault: true });
useHotkeys("ctrl+down, meta+down", zoomOut, { preventDefault: true });