import { useEffect, useState } from 'react'; import { Link, useSearchParams, useParams } from 'react-router-dom'; import { Button, Table, Stack } from 'react-bootstrap'; import ProcessBreadcrumb from '../components/ProcessBreadcrumb'; import PaginationForTable from '../components/PaginationForTable'; import HttpService from '../services/HttpService'; import { getPageInfoFromSearchParams } from '../helpers'; import { ProcessGroup } from '../interfaces'; export default function ProcessGroupShow() { const params = useParams(); const [searchParams] = useSearchParams(); const [processGroup, setProcessGroup] = useState(null); const [processModels, setProcessModels] = useState([]); const [pagination, setPagination] = useState(null); useEffect(() => { const { page, perPage } = getPageInfoFromSearchParams(searchParams); const setProcessModelFromResult = (result: any) => { setProcessModels(result.results); setPagination(result.pagination); }; const processResult = (result: any) => { setProcessGroup(result); HttpService.makeCallToBackend({ path: `/process-models?process_group_identifier=${params.process_group_id}&per_page=${perPage}&page=${page}`, successCallback: setProcessModelFromResult, }); }; HttpService.makeCallToBackend({ path: `/process-groups/${params.process_group_id}`, successCallback: processResult, }); }, [params, searchParams]); const buildTable = () => { if (processGroup === null) { return null; } const rows = processModels.map((row) => { return ( {(row as any).id} {(row as any).display_name} ); }); return (

Process Models

{rows}
Process Model Id Display Name
); }; if (processGroup && pagination) { const { page, perPage } = getPageInfoFromSearchParams(searchParams); return ( <> ); } return null; }