From a3e7c6f8f66b1f7e6b4c538fe5866dcf3a39d205 Mon Sep 17 00:00:00 2001 From: igorrCarvalho Date: Fri, 1 Mar 2024 00:32:33 -0300 Subject: [PATCH] Feat: Implement ctrl s shortcut for save and override nodes --- .../components/nodeToolbarComponent/index.tsx | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx index bbdd166cb..39bc6b75e 100644 --- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -24,6 +24,7 @@ import { createFlowComponent, downloadNode, expandGroupNode, + unselectAllNodes, updateFlowPosition, } from "../../../../utils/reactflowUtils"; import { classNames, cn } from "../../../../utils/utils"; @@ -68,7 +69,7 @@ export default function NodeToolbarComponent({ const edges = useFlowStore((state) => state.edges); const setNodes = useFlowStore((state) => state.setNodes); const setEdges = useFlowStore((state) => state.setEdges); - + const unselectAll = useFlowStore(state => state.unselectAll); const saveComponent = useFlowsManagerStore((state) => state.saveComponent); const flows = useFlowsManagerStore((state) => state.flows); const version = useDarkStore((state) => state.version); @@ -216,6 +217,25 @@ export default function NodeToolbarComponent({ event.preventDefault(); setShowModalAdvanced(state => !state); } + if ( + selected && + (event.ctrlKey || event.metaKey) && + event.key === "s" && + isSaved + ) { + event.preventDefault(); + return setShowOverrideModal(state => !state); + } + if ( + selected && + (event.ctrlKey || event.metaKey) && + event.key === "s" && + hasCode + ) { + event.preventDefault(); + saveComponent(cloneDeep(data), false); + unselectAll() + } } document.addEventListener("keydown", onKeyDown); @@ -371,24 +391,34 @@ export default function NodeToolbarComponent({ {isSaved ? ( -
- {" "} - Save{" "} -
{" "} +
+ {" "} + Save{" "} + + S +
) : ( hasCode && ( -
- {" "} - Save{" "} -
{" "} +
+ {" "} + Save{" "} + + S +
) )}