diff --git a/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx b/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx new file mode 100644 index 000000000..ea6d61d61 --- /dev/null +++ b/spiffworkflow-frontend/src/routes/ProcessInterstitial.tsx @@ -0,0 +1,26 @@ +import { useEffect, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import { fetchEventSource } from '@microsoft/fetch-event-source'; +import { BACKEND_BASE_URL } from '../config'; +import { getBasicHeaders } from '../services/HttpService'; + +export default function ProcessInterstitial() { + const [data, setData] = useState([]); + const params = useParams(); + + useEffect(() => { + fetchEventSource( + `${BACKEND_BASE_URL}/tasks/${params.process_instance_id}`, + { + headers: getBasicHeaders(), + onmessage(ev) { + console.log(data, ev.data); + const parsedData = JSON.parse(ev.data); + setData((data) => [...data, parsedData]); + }, + } + ); + }, []); + + return
The last streamed item was: {data}
; +} diff --git a/spiffworkflow-frontend/src/routes/ProcessRoutes.tsx b/spiffworkflow-frontend/src/routes/ProcessRoutes.tsx new file mode 100644 index 000000000..539797896 --- /dev/null +++ b/spiffworkflow-frontend/src/routes/ProcessRoutes.tsx @@ -0,0 +1,21 @@ +import { useEffect, useState } from 'react'; +import { Route, Routes, useLocation, useNavigate } from 'react-router-dom'; +// @ts-ignore +import { Tabs, TabList, Tab } from '@carbon/react'; +import TaskShow from './TaskShow'; +import MyTasks from './MyTasks'; +import GroupedTasks from './GroupedTasks'; +import CompletedInstances from './CompletedInstances'; +import CreateNewInstance from './CreateNewInstance'; +import ProcessInterstitial from './ProcessInterstitial'; + +export default function ProcessRoutes() { + return ( + + } + /> + + ); +}