Skip to content
1 change: 1 addition & 0 deletions src/loaders/multigridSetup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ export const startMultigridWatcher = async (
}

return response.data;

};
1 change: 0 additions & 1 deletion src/loaders/sessionSetup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ export const registerProcessingParameters = async (

return response.data;
};

11 changes: 11 additions & 0 deletions src/loaders/session_clients.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,17 @@ export const createSession = async (visit: string, sessionName: string, instrume
return response.data;
};

export const updateSession = async (sessionID: number, process: boolean = true) => {
const response = await client.post(
`sessions/${sessionID}?process=${process ? 'true': 'false'}`,
{},
);
if (response.status !== 200) {
return null;
}
return response.data;
}

export const deleteSessionData = async (sessid: number) => {
const response = await client.delete(`sessions/${sessid}`);
if (response.status !== 200) {
Expand Down
11 changes: 7 additions & 4 deletions src/routes/MultigridSetup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { ArrowForwardIcon } from "@chakra-ui/icons";

import { Link as LinkRouter, useLoaderData, useParams } from "react-router-dom";
import { components } from "schema/main";
import { setupMultigridWatcher } from "loaders/multigridSetup";
import { setupMultigridWatcher, startMultigridWatcher } from "loaders/multigridSetup";
import { getSessionData } from "loaders/session_clients";
import { SetupStepper } from "components/setupStepper";
import React, { useEffect } from "react";
Expand Down Expand Up @@ -49,15 +49,18 @@ const MultigridSetup = () => {
const handleDirectorySelection = (e: React.ChangeEvent<HTMLSelectElement>) =>
setSelectedDirectory(e.target.value);

const handleSelection = () => {
const recipesDefined = machineConfig ? machineConfig.recipes ? Object.keys(machineConfig.recipes).length !== 0: false: false;

const handleSelection = async () => {
if (typeof sessid !== "undefined"){
setupMultigridWatcher(
await setupMultigridWatcher(
{
source: selectedDirectory,
skip_existing_processing: skipExistingProcessing,
} as MultigridWatcherSpec,
parseInt(sessid),
);
if(!recipesDefined) await startMultigridWatcher(parseInt(sessid));
}
};

Expand Down Expand Up @@ -140,7 +143,7 @@ const MultigridSetup = () => {
w={{ base: "100%", md: "19.6%" }}
_hover={{ textDecor: "none" }}
as={LinkRouter}
to={`../new_session/parameters/${sessid}`}
to={recipesDefined ? `../new_session/parameters/${sessid}`: `../sessions/${sessid}`}
>
<IconButton
aria-label="select"
Expand Down
10 changes: 6 additions & 4 deletions src/routes/Session.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,17 @@ const Session = () => {
setSelectedDirectory(mcfg["data_directories"][0]);
}

useEffect(() => {getSessionProcessingParameterData(sessid).then((params) => {if(params === null) navigate(`/new_session/parameters/${sessid}`);})})

useEffect(() => {getMachineConfigData().then((mcfg) => handleMachineConfig(mcfg))}, []);

useEffect(() => {
getSessionData(sessid).then((sess) => setSession(sess.session));
setUUID(uuid4());
}, []);

const recipesDefined = machineConfig ? machineConfig.recipes ? Object.keys(machineConfig.recipes).length !== 0: false: false;

useEffect(() => {getSessionProcessingParameterData(sessid).then((params) => {if(params === null && recipesDefined && session !== undefined && session.process) navigate(`/new_session/parameters/${sessid}`);})})

useEffect(() => {getMachineConfigData().then((mcfg) => handleMachineConfig(mcfg))}, []);

const parseWebsocketMessage = (message: any) => {
let parsedMessage: any = {};
try {
Expand Down
17 changes: 10 additions & 7 deletions src/routes/SessionSetup.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
import {
Button,
Box,
FormControl,
FormLabel,
Input,
RadioGroup,
Radio,
Stack,
Expand All @@ -12,12 +9,12 @@ import {
Heading,
} from "@chakra-ui/react";
import { getForm } from "components/forms";
import { Link as LinkRouter, useParams, useLoaderData, useNavigate } from "react-router-dom";
import { Link as LinkRouter, useParams, useLoaderData } from "react-router-dom";
import { SetupStepper } from "components/setupStepper";
import { components } from "schema/main";
import { getProcessingParameterData } from "loaders/processingParameters";
import { startMultigridWatcher } from "loaders/multigridSetup";
import { getSessionData } from "loaders/session_clients";
import { getSessionData, updateSession } from "loaders/session_clients";
import { registerProcessingParameters } from "loaders/sessionSetup";

import React, { useEffect } from "react";
Expand Down Expand Up @@ -52,6 +49,13 @@ const SessionSetup = () => {
}
};

const handleSkip = async () => {
if (sessid !== undefined){
await updateSession(parseInt(sessid), false);
startMultigridWatcher(parseInt(sessid));
}
}

if (session)
getProcessingParameterData(session.session.id.toString()).then((params) =>
setProcParams(params),
Expand All @@ -63,7 +67,6 @@ const SessionSetup = () => {
? 3
: 0
: 3;
let navigate = useNavigate();
return (
<div className="rootContainer">
<Box w="100%" bg="murfey.50">
Expand Down Expand Up @@ -145,7 +148,7 @@ const SessionSetup = () => {
as={LinkRouter}
to={`../sessions/${sessid}`}
>
<Button>Skip</Button>
<Button onClick={handleSkip}>Disable Processing</Button>
</Link>
</Box>
</Stack>
Expand Down
5 changes: 5 additions & 0 deletions src/schema/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1833,6 +1833,11 @@ export interface components {
* @default
*/
instrument_name?: string;
/**
* Process
* @default
*/
process?: boolean;
};
/** SessionClients */
SessionClients: {
Expand Down