Fix pan spamming

This commit is contained in:
1ilit 2024-03-07 11:21:09 +02:00
parent 603c2cc3e2
commit 9bfbdceda2
2 changed files with 6 additions and 7 deletions

View File

@ -119,8 +119,8 @@ export default function Canvas() {
setLine({ setLine({
...line, ...line,
endX: (e.clientX - offsetX - settings.pan.x) / settings.zoom, endX: (e.clientX - offsetX - settings.pan?.x) / settings.zoom,
endY: (e.clientY - offsetY - settings.pan.y) / settings.zoom, endY: (e.clientY - offsetY - settings.pan?.y) / settings.zoom,
}); });
} else if ( } else if (
panning.state && panning.state &&
@ -134,7 +134,7 @@ export default function Canvas() {
const dy = e.clientY - panOffset.y; const dy = e.clientY - panOffset.y;
setSettings((prev) => ({ setSettings((prev) => ({
...prev, ...prev,
pan: { x: prev.pan.x + dx, y: prev.pan.y + dy }, pan: { x: prev.pan?.x + dx, y: prev.pan?.y + dy },
})); }));
setPanOffset({ x: e.clientX, y: e.clientY }); setPanOffset({ x: e.clientX, y: e.clientY });
} else if (dragging.element === ObjectType.TABLE && dragging.id >= 0) { } else if (dragging.element === ObjectType.TABLE && dragging.id >= 0) {
@ -228,7 +228,7 @@ export default function Canvas() {
}; };
const didPan = () => const didPan = () =>
!(settings.pan.x === panning.x && settings.pan.y === panning.y); !(settings.pan?.x === panning.x && settings.pan?.y === panning.y);
const getMoveInfo = () => { const getMoveInfo = () => {
switch (dragging.element) { switch (dragging.element) {
@ -281,7 +281,7 @@ export default function Canvas() {
action: Action.PAN, action: Action.PAN,
undo: { x: panning.x, y: panning.y }, undo: { x: panning.x, y: panning.y },
redo: settings.pan, redo: settings.pan,
message: `Move diagram to (${settings.pan.x}, ${settings.pan.y})`, message: `Move diagram to (${settings.pan?.x}, ${settings.pan?.y})`,
}, },
]); ]);
setRedoStack([]); setRedoStack([]);
@ -422,7 +422,7 @@ export default function Canvas() {
)} )}
<g <g
style={{ style={{
transform: `translate(${settings.pan.x}px, ${settings.pan.y}px) scale(${settings.zoom})`, transform: `translate(${settings.pan?.x}px, ${settings.pan?.y}px) scale(${settings.zoom})`,
transformOrigin: "top left", transformOrigin: "top left",
}} }}
id="diagram" id="diagram"

View File

@ -482,7 +482,6 @@ export default function Editor() {
types?.length, types?.length,
relationships?.length, relationships?.length,
tasks?.length, tasks?.length,
settings.pan,
settings.zoom, settings.zoom,
title, title,
]); ]);