From e4b03d7765728d55fcc6a87b1bcf1150fafe8a49 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Thu, 29 Jun 2023 21:14:30 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(parameterComponent):=20impor?= =?UTF-8?q?t=20lodash=20library=20to=20use=20=5F.cloneDeep=20function=20?= =?UTF-8?q?=F0=9F=90=9B=20fix(chatComponent):=20import=20lodash=20library?= =?UTF-8?q?=20to=20use=20=5F.cloneDeep=20function=20=E2=9C=A8=20feat(chatC?= =?UTF-8?q?omponent):=20add=20TabsContext=20to=20access=20tabsState=20and?= =?UTF-8?q?=20update=20isBuilt=20state=20based=20on=20tabsState=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/parameterComponent/index.tsx | 1 + .../src/components/chatComponent/index.tsx | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 4154b9c99..6612f722a 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 { nodeColors } from "../../../../utils"; import ShadTooltip from "../../../../components/ShadTooltipComponent"; import { PopUpContext } from "../../../../contexts/popUpContext"; import ToggleShadComponent from "../../../../components/toggleShadComponent"; +import * as _ from "lodash"; export default function ParameterComponent({ left, diff --git a/src/frontend/src/components/chatComponent/index.tsx b/src/frontend/src/components/chatComponent/index.tsx index 60682f9ea..8cdc3a981 100644 --- a/src/frontend/src/components/chatComponent/index.tsx +++ b/src/frontend/src/components/chatComponent/index.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from "react"; +import { useContext, useEffect, useRef, useState } from "react"; import { useNodes } from "reactflow"; import { ChatType } from "../../types/chat"; import ChatTrigger from "./chatTrigger"; @@ -7,10 +7,13 @@ import BuildTrigger from "./buildTrigger"; import { getBuildStatus } from "../../controllers/API"; import { NodeType } from "../../types/flow"; import FormModal from "../../modals/formModal"; +import { TabsContext } from "../../contexts/tabsContext"; +import * as _ from "lodash"; export default function Chat({ flow }: ChatType) { const [open, setOpen] = useState(false); const [isBuilt, setIsBuilt] = useState(false); + const {tabsState} = useContext(TabsContext); useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { @@ -43,21 +46,19 @@ export default function Chat({ flow }: ChatType) { const prevNodesRef = useRef(); const nodes = useNodes(); useEffect(() => { - const prevNodes = prevNodesRef.current; const currentNodes = nodes.map( - (node: NodeType) => node.data.node.template + (node: NodeType) => _.cloneDeep(node.data.node.template) ); - if ( - prevNodes && - JSON.stringify(prevNodes) !== JSON.stringify(currentNodes) + tabsState && tabsState[flow.id] && tabsState[flow.id].isPending + && JSON.stringify(prevNodes) !== JSON.stringify(currentNodes) ) { setIsBuilt(false); } prevNodesRef.current = currentNodes; - }, [nodes]); + }, [tabsState]); return ( <>