feat(wip): handleScheduleRecording

This commit is contained in:
karishmas6
2024-09-10 12:09:53 +05:30
parent e722c6308f
commit 8e97cebd7d

View File

@@ -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>