Fix: Refactor save node shortcut to avoid override modal opening when it shouldnt

This commit is contained in:
igorrCarvalho 2024-03-05 17:01:42 -03:00
commit f6ff9f702f

View file

@ -211,7 +211,7 @@ export default function NodeToolbarComponent({
const [openModal, setOpenModal] = useState(false); const [openModal, setOpenModal] = useState(false);
const hasCode = Object.keys(data.node!.template).includes("code"); const hasCode = Object.keys(data.node!.template).includes("code");
useEffect(() => { useEffect(() => {
function onKeyDown(event: KeyboardEvent) { function onKeyDown(event: KeyboardEvent) {
if ( if (
@ -273,22 +273,17 @@ export default function NodeToolbarComponent({
if ( if (
selected && selected &&
(event.ctrlKey || event.metaKey) && (event.ctrlKey || event.metaKey) &&
event.key === "s" && event.key === "s"
isSaved
) { ) {
event.preventDefault(); if (isSaved) {
return setShowOverrideModal((state) => !state); event.preventDefault();
} return setShowOverrideModal((state) => !state);
if ( }
selected && if (hasCode) {
(event.ctrlKey || event.metaKey) && event.preventDefault();
event.key === "s" && saveComponent(cloneDeep(data), false);
hasCode setSuccessData({title: `${data.id} saved successfully`})
) { }
event.preventDefault();
saveComponent(cloneDeep(data), false);
setSuccessData({title: `${data.id} saved successfully`})
unselectAll();
} }
if ( if (
selected && selected &&
@ -307,7 +302,7 @@ export default function NodeToolbarComponent({
return () => { return () => {
document.removeEventListener("keydown", onKeyDown); document.removeEventListener("keydown", onKeyDown);
}; };
}, []); }, [isSaved]);
return ( return (
<> <>