diff --git a/src/frontend/src/constants/constants.ts b/src/frontend/src/constants/constants.ts index c0e258a71..312915eb5 100644 --- a/src/frontend/src/constants/constants.ts +++ b/src/frontend/src/constants/constants.ts @@ -804,6 +804,10 @@ export const defaultShortcuts = [ name: "Update", shortcut: `${navigator.userAgent.toUpperCase().includes("MAC") ? "Cmd" : "Ctrl"} + U`, }, + { + name: "Freeze", + shortcut: `${navigator.userAgent.toUpperCase().includes("MAC") ? "Cmd" : "Ctrl"} + F`, + }, ]; export const unavailableShortcutss = [ @@ -825,6 +829,7 @@ export const unavailableShortcutss = [ "CTRL + Y", "CTRL + J", "CTRL + U", + "CTRL + F", ]; export const DEFAULT_TABLE_ALERT_MSG = `Oops! It seems there's no data to display right now. Please check back later.`; diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx index a7bed6cad..02c9d9da9 100644 --- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -148,6 +148,20 @@ export default function NodeToolbarComponent({ downloadNode(flowComponent!); } + function handleFreeze(e: KeyboardEvent) { + e.preventDefault(); + setNode(data.id, (old) => ({ + ...old, + data: { + ...old.data, + node: { + ...old.data.node, + frozen: old.data?.node?.frozen ? false : true, + }, + }, + })); + } + const advanced = useShortcutsStore((state) => state.advanced); const minimize = useShortcutsStore((state) => state.minimize); const share = useShortcutsStore((state) => state.share); @@ -157,6 +171,7 @@ export default function NodeToolbarComponent({ const group = useShortcutsStore((state) => state.group); const update = useShortcutsStore((state) => state.update); const download = useShortcutsStore((state) => state.download); + const freeze = useShortcutsStore((state) => state.freeze); useHotkeys(minimize, handleMinimizeWShortcut); useHotkeys(update, handleUpdateWShortcut); @@ -167,7 +182,7 @@ export default function NodeToolbarComponent({ useHotkeys(save, handleSaveWShortcut); useHotkeys(docs, handleDocsWShortcut); useHotkeys(download, handleDownloadWShortcut); - useHotkeys("space", handleCodeWShortcut); + useHotkeys(freeze, handleFreeze); const isMinimal = numberOfHandles <= 1; const isGroup = data.node?.flow ? true : false; @@ -233,6 +248,18 @@ export default function NodeToolbarComponent({ } saveComponent(cloneDeep(data), false); break; + case "freeze": + setNode(data.id, (old) => ({ + ...old, + data: { + ...old.data, + node: { + ...old.data.node, + frozen: old.data?.node?.frozen ? false : true, + }, + }, + })); + break; case "code": setOpenModal(!openModal); break; @@ -436,36 +463,6 @@ export default function NodeToolbarComponent({ - - - -