Files
parcer/src/components/organisms/Recordings.tsx

80 lines
2.7 KiB
TypeScript
Raw Normal View History

2024-06-24 22:41:54 +05:30
import React, { useState } from 'react';
import { RecordingsTable } from "../molecules/RecordingsTable";
import { Grid } from "@mui/material";
import { RunSettings, RunSettingsModal } from "../molecules/RunSettings";
2024-09-10 12:09:53 +05:30
import { ScheduleSettings, ScheduleSettingsModal } from "../molecules/ScheduleSettings";
2024-06-24 22:41:54 +05:30
interface RecordingsProps {
handleEditRecording: (fileName: string) => void;
handleRunRecording: (settings: RunSettings) => void;
2024-09-12 22:18:10 +05:30
handleScheduleRecording: (settings: ScheduleSettings) => void;
2024-09-15 01:45:14 +05:30
handleIntegrateRecording: (settings: ScheduleSettings) => void;
2024-06-24 22:41:54 +05:30
setFileName: (fileName: string) => void;
}
2024-09-15 01:45:14 +05:30
export const Recordings = ({ handleEditRecording, handleRunRecording, setFileName, handleScheduleRecording, handleIntegrateRecording }: RecordingsProps) => {
2024-06-24 22:41:54 +05:30
const [runSettingsAreOpen, setRunSettingsAreOpen] = useState(false);
2024-09-10 12:09:53 +05:30
const [scheduleSettingsAreOpen, setScheduleSettingsAreOpen] = useState(false);
2024-09-15 01:45:14 +05:30
const [integrateSettingsAreOpen, setIntegrateSettingsAreOpen] = useState(false);
2024-06-24 22:41:54 +05:30
const [params, setParams] = useState<string[]>([]);
const handleSettingsAndRun = (fileName: string, params: string[]) => {
if (params.length === 0) {
setRunSettingsAreOpen(true);
setFileName(fileName);
} else {
setParams(params);
setRunSettingsAreOpen(true);
setFileName(fileName);
}
}
2024-09-10 12:09:53 +05:30
const handleSettingsAndSchedule = (fileName: string, params: string[]) => {
if (params.length === 0) {
setScheduleSettingsAreOpen(true);
setFileName(fileName);
} else {
setParams(params);
setScheduleSettingsAreOpen(true);
setFileName(fileName);
}
}
2024-06-24 22:41:54 +05:30
const handleClose = () => {
setParams([]);
setRunSettingsAreOpen(false);
setFileName('');
}
2024-09-10 12:09:53 +05:30
const handleScheduleClose = () => {
setParams([]);
setScheduleSettingsAreOpen(false);
setFileName('');
}
2024-06-24 22:41:54 +05:30
return (
<React.Fragment>
2024-09-10 03:11:49 +05:30
<RunSettingsModal isOpen={runSettingsAreOpen}
handleClose={handleClose}
handleStart={(settings) => handleRunRecording(settings)}
isTask={params.length !== 0}
params={params}
/>
2024-09-10 12:11:52 +05:30
<ScheduleSettingsModal isOpen={scheduleSettingsAreOpen}
2024-09-10 12:09:53 +05:30
handleClose={handleScheduleClose}
handleStart={(settings) => handleScheduleRecording(settings)}
/>
2024-09-10 03:11:49 +05:30
<Grid container direction="column" sx={{ padding: '30px' }}>
<Grid item xs>
<RecordingsTable
handleEditRecording={handleEditRecording}
handleRunRecording={handleSettingsAndRun}
2024-09-10 12:09:53 +05:30
handleScheduleRecording={handleSettingsAndSchedule}
2024-09-15 01:45:14 +05:30
handleIntegrateRecording={handleSettingsAndSchedule}
2024-09-10 03:11:49 +05:30
/>
</Grid>
2024-06-24 22:41:54 +05:30
</Grid>
</React.Fragment>
);
}