import React, { useState } from 'react'; import { GenericModal } from "../atoms/GenericModal"; import { MenuItem, TextField, Typography, Switch, FormControlLabel } from "@mui/material"; import { Dropdown } from "../atoms/DropdownMui"; import Button from "@mui/material/Button"; import { modalStyle } from "./AddWhereCondModal"; interface RunSettingsProps { isOpen: boolean; handleStart: (settings: RunSettings) => void; handleClose: () => void; isTask: boolean; params?: string[]; } export interface RunSettings { maxConcurrency: number; maxRepeats: number; debug: boolean; params?: any; } export const RunSettingsModal = ({ isOpen, handleStart, handleClose, isTask, params }: RunSettingsProps) => { const [settings, setSettings] = useState({ maxConcurrency: 1, maxRepeats: 1, debug: true, }); const [showInterpreterSettings, setShowInterpreterSettings] = useState(false); return (
{isTask && ( Recording parameters: {params?.map((item, index) => ( setSettings({ ...settings, params: settings.params ? { ...settings.params, [item]: e.target.value } : { [item]: e.target.value }, }) } /> ))} )} setShowInterpreterSettings(!showInterpreterSettings)} />} label="Developer Mode Settings" sx={{ margin: '20px 0px' }} /> {showInterpreterSettings && ( setSettings({ ...settings, maxConcurrency: parseInt(e.target.value, 10), }) } defaultValue={settings.maxConcurrency} /> setSettings({ ...settings, maxRepeats: parseInt(e.target.value, 10), }) } defaultValue={settings.maxRepeats} /> setSettings({ ...settings, debug: e.target.value === "true", }) } > true false )}
); };