import React from "react"; import { Button, Checkbox, Dialog, DialogTitle, DialogContentText, DialogActions, DialogContent, FormGroup, FormControlLabel, } from '@material-ui/core'; import TextInputList from "../Controls/TextInputList"; const TransformModal = ({ open, close, title, body, data, setData, submit }) => { const handleClick = () => { close(); submit(); }; const handleChange = (key, value) => { setData((data) => { const {[key]: toChange, ...rest} = data; switch (data[key].type) { case "boolean": toChange.value = !toChange.value; break; case "list.string": toChange.value = value; break; default: } return { [key]: toChange, ...rest }; }); }; return ( {title} {body && {body} } {Object.entries(data).map((([key, value]) => { switch (value.type) { case "boolean": return ( handleChange(key)} /> } /> ) case "list.string": return ( handleChange(key, list)} /> ) default: return <>; } }))} ); } export default TransformModal;