feat(wip): handleScheduleRecording
This commit is contained in:
@@ -2,16 +2,18 @@ import React, { useState } from 'react';
|
|||||||
import { RecordingsTable } from "../molecules/RecordingsTable";
|
import { RecordingsTable } from "../molecules/RecordingsTable";
|
||||||
import { Grid } from "@mui/material";
|
import { Grid } from "@mui/material";
|
||||||
import { RunSettings, RunSettingsModal } from "../molecules/RunSettings";
|
import { RunSettings, RunSettingsModal } from "../molecules/RunSettings";
|
||||||
|
import { ScheduleSettings, ScheduleSettingsModal } from "../molecules/ScheduleSettings";
|
||||||
|
|
||||||
interface RecordingsProps {
|
interface RecordingsProps {
|
||||||
handleEditRecording: (fileName: string) => void;
|
handleEditRecording: (fileName: string) => void;
|
||||||
handleRunRecording: (settings: RunSettings) => void;
|
handleRunRecording: (settings: RunSettings) => void;
|
||||||
|
handleScheduleRecording: (settings: RunSettings) => void;
|
||||||
setFileName: (fileName: string) => void;
|
setFileName: (fileName: string) => void;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Recordings = ({ handleEditRecording, handleRunRecording, setFileName }: RecordingsProps) => {
|
export const Recordings = ({ handleEditRecording, handleRunRecording, setFileName, handleScheduleRecording }: RecordingsProps) => {
|
||||||
const [runSettingsAreOpen, setRunSettingsAreOpen] = useState(false);
|
const [runSettingsAreOpen, setRunSettingsAreOpen] = useState(false);
|
||||||
|
const [scheduleSettingsAreOpen, setScheduleSettingsAreOpen] = useState(false);
|
||||||
const [params, setParams] = useState<string[]>([]);
|
const [params, setParams] = useState<string[]>([]);
|
||||||
|
|
||||||
const handleSettingsAndRun = (fileName: string, params: string[]) => {
|
const handleSettingsAndRun = (fileName: string, params: string[]) => {
|
||||||
@@ -25,12 +27,29 @@ export const Recordings = ({ handleEditRecording, handleRunRecording, setFileNam
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleSettingsAndSchedule = (fileName: string, params: string[]) => {
|
||||||
|
if (params.length === 0) {
|
||||||
|
setScheduleSettingsAreOpen(true);
|
||||||
|
setFileName(fileName);
|
||||||
|
} else {
|
||||||
|
setParams(params);
|
||||||
|
setScheduleSettingsAreOpen(true);
|
||||||
|
setFileName(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
setParams([]);
|
setParams([]);
|
||||||
setRunSettingsAreOpen(false);
|
setRunSettingsAreOpen(false);
|
||||||
setFileName('');
|
setFileName('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleScheduleClose = () => {
|
||||||
|
setParams([]);
|
||||||
|
setScheduleSettingsAreOpen(false);
|
||||||
|
setFileName('');
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<RunSettingsModal isOpen={runSettingsAreOpen}
|
<RunSettingsModal isOpen={runSettingsAreOpen}
|
||||||
@@ -39,11 +58,19 @@ export const Recordings = ({ handleEditRecording, handleRunRecording, setFileNam
|
|||||||
isTask={params.length !== 0}
|
isTask={params.length !== 0}
|
||||||
params={params}
|
params={params}
|
||||||
/>
|
/>
|
||||||
|
<ScheduleSettingsModal isOpen={scheduleSettingsAreOpen}
|
||||||
|
handleClose={handleScheduleClose}
|
||||||
|
handleStart={(settings) => handleScheduleRecording(settings)}
|
||||||
|
isTask={params.length !== 0}
|
||||||
|
params={params}
|
||||||
|
/>
|
||||||
|
|
||||||
<Grid container direction="column" sx={{ padding: '30px' }}>
|
<Grid container direction="column" sx={{ padding: '30px' }}>
|
||||||
<Grid item xs>
|
<Grid item xs>
|
||||||
<RecordingsTable
|
<RecordingsTable
|
||||||
handleEditRecording={handleEditRecording}
|
handleEditRecording={handleEditRecording}
|
||||||
handleRunRecording={handleSettingsAndRun}
|
handleRunRecording={handleSettingsAndRun}
|
||||||
|
handleScheduleRecording={handleSettingsAndSchedule}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
Reference in New Issue
Block a user