From 3c4d3ab5e2d4b37ffb328b6c548ffaaf17ce0ba7 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Fri, 13 Oct 2023 01:06:22 -0300 Subject: [PATCH] Snapshot took when updating node name and inputs --- .../GenericNode/components/parameterComponent/index.tsx | 4 ++++ src/frontend/src/CustomNodes/GenericNode/index.tsx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 61f784d58..5360849b5 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -25,6 +25,7 @@ import { Button } from "../../../../components/ui/button"; import { TOOLTIP_EMPTY } from "../../../../constants/constants"; import { TabsContext } from "../../../../contexts/tabsContext"; import { typesContext } from "../../../../contexts/typesContext"; +import { undoRedoContext } from "../../../../contexts/undoRedoContext"; import { ParameterComponentType } from "../../../../types/components"; import { TabsState } from "../../../../types/tabs"; import { @@ -88,9 +89,12 @@ export default function ParameterComponent({ const { data: myData } = useContext(typesContext); + const { takeSnapshot } = useContext(undoRedoContext); + const handleOnNewValue = ( newValue: string | string[] | boolean | Object[] ): void => { + takeSnapshot(); let newData = cloneDeep(data); newData.node!.template[name].value = newValue; setData(newData); diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 7e6c04767..ce374021e 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -9,6 +9,7 @@ import { Textarea } from "../../components/ui/textarea"; import { useSSE } from "../../contexts/SSEContext"; import { TabsContext } from "../../contexts/tabsContext"; import { typesContext } from "../../contexts/typesContext"; +import { undoRedoContext } from "../../contexts/undoRedoContext"; import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent"; import { validationStatusType } from "../../types/components"; import { NodeDataType } from "../../types/flow"; @@ -50,6 +51,8 @@ export default function GenericNode({ const [handles, setHandles] = useState([]); let numberOfInputs: boolean[] = []; + const { takeSnapshot } = useContext(undoRedoContext); + function countHandles(): void { numberOfInputs = Object.keys(data.node!.template) .filter((templateField) => templateField.charAt(0) !== "_") @@ -189,6 +192,7 @@ export default function GenericNode({ } else { setNodeName(data.node!.display_name); } + takeSnapshot(); }} value={nodeName} onChange={setNodeName}