import React, { useState } from 'react'; import { RecordingsTable } from "../molecules/RecordingsTable"; import { Grid } from "@mui/material"; import { RunSettings, RunSettingsModal } from "../molecules/RunSettings"; import { ScheduleSettings, ScheduleSettingsModal } from "../molecules/ScheduleSettings"; import { IntegrationSettings, IntegrationSettingsModal } from "../molecules/IntegrationSettings"; import { RobotSettings, RobotSettingsModal } from "../molecules/RobotSettings"; interface RecordingsProps { handleEditRecording: (id: string, fileName: string) => void; handleRunRecording: (settings: RunSettings) => void; handleScheduleRecording: (settings: ScheduleSettings) => void; setRecordingInfo: (id: string, name: string) => void; } export const Recordings = ({ handleEditRecording, handleRunRecording, setRecordingInfo, handleScheduleRecording}: RecordingsProps) => { const [runSettingsAreOpen, setRunSettingsAreOpen] = useState(false); const [scheduleSettingsAreOpen, setScheduleSettingsAreOpen] = useState(false); const [integrateSettingsAreOpen, setIntegrateSettingsAreOpen] = useState(false); const [robotSettingsAreOpen, setRobotSettingsAreOpen] = useState(false); const [params, setParams] = useState([]); const [selectedRecordingId, setSelectedRecordingId] = useState(''); const handleIntegrateRecording = (id: string, settings: IntegrationSettings) => {}; const handleSettingsRecording = (id: string, settings: RobotSettings) => {}; const handleSettingsAndIntegrate = (id: string, name: string, params: string[]) => { if (params.length === 0) { setIntegrateSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } else { setParams(params); setIntegrateSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } } const handleSettingsAndRun = (id: string, name: string, params: string[]) => { if (params.length === 0) { setRunSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } else { setParams(params); setRunSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } } const handleSettingsAndSchedule = (id: string, name: string, params: string[]) => { if (params.length === 0) { setScheduleSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } else { setParams(params); setScheduleSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } } const handleRobotSettings = (id: string, name: string, params: string[]) => { if (params.length === 0) { setRobotSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } else { setParams(params); setRobotSettingsAreOpen(true); setRecordingInfo(id, name); setSelectedRecordingId(id); } } const handleClose = () => { setParams([]); setRunSettingsAreOpen(false); setRecordingInfo('', ''); setSelectedRecordingId(''); } const handleIntegrateClose = () => { setParams([]); setIntegrateSettingsAreOpen(false); setRecordingInfo('', ''); setSelectedRecordingId(''); } const handleScheduleClose = () => { setParams([]); setScheduleSettingsAreOpen(false); setRecordingInfo('', ''); setSelectedRecordingId(''); } const handleRobotSettingsClose = () => { setParams([]); setRobotSettingsAreOpen(false); setRecordingInfo('', ''); setSelectedRecordingId(''); } return ( handleRunRecording(settings)} isTask={params.length !== 0} params={params} /> handleScheduleRecording(settings)} /> handleIntegrateRecording(selectedRecordingId, settings)} /> handleSettingsRecording(selectedRecordingId, settings)} /> ); }