Passed data through context to get form keys
This commit is contained in:
parent
3c1b86ebe6
commit
d1a58397da
5 changed files with 19 additions and 1 deletions
|
|
@ -10,6 +10,7 @@ import { alertContext } from "../../../contexts/alertContext";
|
||||||
import { postBuildInit } from "../../../controllers/API";
|
import { postBuildInit } from "../../../controllers/API";
|
||||||
|
|
||||||
import RadialProgressComponent from "../../RadialProgress";
|
import RadialProgressComponent from "../../RadialProgress";
|
||||||
|
import { TabsContext } from "../../../contexts/tabsContext";
|
||||||
|
|
||||||
export default function BuildTrigger({
|
export default function BuildTrigger({
|
||||||
open,
|
open,
|
||||||
|
|
@ -24,6 +25,7 @@ export default function BuildTrigger({
|
||||||
}) {
|
}) {
|
||||||
const { updateSSEData, isBuilding, setIsBuilding, sseData } = useSSE();
|
const { updateSSEData, isBuilding, setIsBuilding, sseData } = useSSE();
|
||||||
const { reactFlowInstance } = useContext(typesContext);
|
const { reactFlowInstance } = useContext(typesContext);
|
||||||
|
const { setTabsState } = useContext(TabsContext);
|
||||||
const { setErrorData, setSuccessData } = useContext(alertContext);
|
const { setErrorData, setSuccessData } = useContext(alertContext);
|
||||||
const [isIconTouched, setIsIconTouched] = useState(false);
|
const [isIconTouched, setIsIconTouched] = useState(false);
|
||||||
const eventClick = isBuilding ? "pointer-events-none" : "";
|
const eventClick = isBuilding ? "pointer-events-none" : "";
|
||||||
|
|
@ -87,6 +89,17 @@ export default function BuildTrigger({
|
||||||
} else if (parsedData.log) {
|
} else if (parsedData.log) {
|
||||||
// If the event is a log, log it
|
// If the event is a log, log it
|
||||||
setSuccessData({ title: parsedData.log });
|
setSuccessData({ title: parsedData.log });
|
||||||
|
} else if (parsedData.input_keys) {
|
||||||
|
setTabsState((old) => {
|
||||||
|
return {
|
||||||
|
...old,
|
||||||
|
[flowId]: {
|
||||||
|
...old[flowId],
|
||||||
|
formKeysData: parsedData,
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, process the data
|
// Otherwise, process the data
|
||||||
const isValid = processStreamResult(parsedData);
|
const isValid = processStreamResult(parsedData);
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ export default function Chat({ flow }: ChatType) {
|
||||||
isBuilt={isBuilt}
|
isBuilt={isBuilt}
|
||||||
/>
|
/>
|
||||||
<ChatModal key={flow.id} flow={flow} open={open} setOpen={setOpen} />
|
<ChatModal key={flow.id} flow={flow} open={open} setOpen={setOpen} />
|
||||||
<FormModal key={flow.id} flow={flow} open={openForm} setOpen={setOpenForm} />
|
<FormModal key={flow.id + "form"} flow={flow} open={openForm} setOpen={setOpenForm} />
|
||||||
<ChatTrigger open={open || openForm} setOpen={setOpen} isBuilt={isBuilt} />
|
<ChatTrigger open={open || openForm} setOpen={setOpen} isBuilt={isBuilt} />
|
||||||
<FormTrigger open={open || openForm} setOpen={setOpenForm} isBuilt={isBuilt} />
|
<FormTrigger open={open || openForm} setOpen={setOpenForm} isBuilt={isBuilt} />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -597,6 +597,7 @@ export function TabsProvider({ children }: { children: ReactNode }) {
|
||||||
return {
|
return {
|
||||||
...prev,
|
...prev,
|
||||||
[tabId]: {
|
[tabId]: {
|
||||||
|
...prev[tabId],
|
||||||
isPending: false,
|
isPending: false,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import { postValidateCode } from "../../controllers/API";
|
||||||
import { Button } from "../../components/ui/button";
|
import { Button } from "../../components/ui/button";
|
||||||
import { Input } from "../../components/ui/input";
|
import { Input } from "../../components/ui/input";
|
||||||
import { Label } from "../../components/ui/label";
|
import { Label } from "../../components/ui/label";
|
||||||
|
import { TabsContext } from "../../contexts/tabsContext";
|
||||||
|
|
||||||
export default function FormModal({
|
export default function FormModal({
|
||||||
flow,
|
flow,
|
||||||
|
|
@ -32,6 +33,7 @@ export default function FormModal({
|
||||||
const [chatHistory, setChatHistory] = useState<ChatMessageType[]>([]);
|
const [chatHistory, setChatHistory] = useState<ChatMessageType[]>([]);
|
||||||
const { reactFlowInstance } = useContext(typesContext);
|
const { reactFlowInstance } = useContext(typesContext);
|
||||||
const { setErrorData, setNoticeData } = useContext(alertContext);
|
const { setErrorData, setNoticeData } = useContext(alertContext);
|
||||||
|
const { tabsState } = useContext(TabsContext);
|
||||||
const ws = useRef<WebSocket | null>(null);
|
const ws = useRef<WebSocket | null>(null);
|
||||||
const [lockChat, setLockChat] = useState(false);
|
const [lockChat, setLockChat] = useState(false);
|
||||||
const isOpen = useRef(open);
|
const isOpen = useRef(open);
|
||||||
|
|
@ -49,6 +51,7 @@ export default function FormModal({
|
||||||
}, [open]);
|
}, [open]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
id.current = flow.id;
|
id.current = flow.id;
|
||||||
|
console.log(tabsState[flow.id])
|
||||||
}, [flow.id]);
|
}, [flow.id]);
|
||||||
|
|
||||||
var isStream = false;
|
var isStream = false;
|
||||||
|
|
|
||||||
|
|
@ -33,5 +33,6 @@ export type TabsContextType = {
|
||||||
export type TabsState = {
|
export type TabsState = {
|
||||||
[key: string]: {
|
[key: string]: {
|
||||||
isPending: boolean;
|
isPending: boolean;
|
||||||
|
formKeysData: {input_keys?: Array<string>, memory_keys?: Array<string>};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue