From 775eed9269b855f65e065e5df5e84a6a2398f2a4 Mon Sep 17 00:00:00 2001 From: MXerFix Date: Mon, 30 Sep 2024 14:39:46 +0300 Subject: [PATCH] fix: undo redo mouseonpane check fix --- frontend/src/contexts/undoRedoContext.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/contexts/undoRedoContext.tsx b/frontend/src/contexts/undoRedoContext.tsx index cd5b58d..fc16718 100644 --- a/frontend/src/contexts/undoRedoContext.tsx +++ b/frontend/src/contexts/undoRedoContext.tsx @@ -60,6 +60,7 @@ export function UndoRedoProvider({ children }: { children: React.ReactNode }) { const [past, setPast] = useState(flows.map(() => [])) const [future, setFuture] = useState(flows.map(() => [])) const [tabIndex, setTabIndex] = useState(flows.findIndex((f) => f.name === tab)) + const [disableCopyPaste, setDisableCopyPaste] = useState(false) useEffect(() => { // whenever the flows variable changes, we need to add one array to the past and future states @@ -155,12 +156,12 @@ export function UndoRedoProvider({ children }: { children: React.ReactNode }) { } const keyDownHandler = (event: KeyboardEvent) => { - if (event.key === "z" && (event.ctrlKey || event.metaKey) && event.shiftKey) { + if (event.key === "z" && (event.ctrlKey || event.metaKey) && event.shiftKey && !disableCopyPaste) { redo() - } else if (event.key === "y" && (event.ctrlKey || event.metaKey)) { + } else if (event.key === "y" && (event.ctrlKey || event.metaKey) && !disableCopyPaste) { event.preventDefault() // prevent the default action redo() - } else if (event.key === "z" && (event.ctrlKey || event.metaKey)) { + } else if (event.key === "z" && (event.ctrlKey || event.metaKey) && !disableCopyPaste) { undo() } } @@ -170,17 +171,18 @@ export function UndoRedoProvider({ children }: { children: React.ReactNode }) { return () => { document.removeEventListener("keydown", keyDownHandler) } - }, [undo, redo]) + }, [undo, redo, disableCopyPaste]) const { reactFlowInstance } = useContext(flowContext) const [copiedSelection, setCopiedSelection] = useState(null) - const [disableCopyPaste, setDisableCopyPaste] = useState(false) useEffect(() => { + console.log(modalsOpened) if (modalsOpened === 0) { setDisableCopyPaste(false) } else if (modalsOpened > 0) { setDisableCopyPaste(true) + console.log(true) } }, [modalsOpened])