diff --git a/src/App.js b/src/App.js index db00a15632688642d24f366383a8f66f4381b566..04307435551099b0502918d3e8672d58a785fe99 100644 --- a/src/App.js +++ b/src/App.js @@ -6,6 +6,7 @@ import TextField from '@material-ui/core/TextField'; import AddIcon from '@material-ui/icons/Add'; import IconButton from '@material-ui/core/IconButton'; import ReorderIcon from '@material-ui/icons/Reorder'; +import RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked'; import FormFieldText from './components/FormFieldText' @@ -15,7 +16,7 @@ import FormFieldSelect from './components/FormFieldSelect' const useStyles = makeStyles(theme => ({ menu: { width: theme.spacing(6), - height: theme.spacing(15), + minheight: theme.spacing(15), position: 'fixed', top: theme.spacing(10), left: '90%', @@ -29,12 +30,22 @@ function App() { const [form, setForm] = useState([]); function addToFormQuestion() { - setForm([...form, {type: "question", question: ""}]); + setForm([...form, {type: "question", required: false, question: ""}]); console.log(form); } function addToFormSelect() { - setForm([...form, {type: "select", question: "", options: []}]); + setForm([...form, {type: "select", question: "", required: false, options: [""]}]); + console.log(form); + } + + function addToFormRadio() { + + } + + function addSelectOption(index) { + form[index].options.push(""); + setForm([...form]); console.log(form); } @@ -45,18 +56,30 @@ function App() { setForm([...form]); } + function removeSelectOption(index, idopt) { + form[index].options.splice(idopt, 1); + setForm([...form]); + console.log(form); + } + function setTextField(value, index) { form[index].question = value; setForm([...form]); console.log(form); } - - function setSelectField(value, index) { + + function setSelectOption(value, index, idopt) { + form[index].options[idopt] = value; + setForm([...form]); console.log(form); } + function setRequiredField(index) { + form[index].required = !form[index].required; + setForm([...form]); + console.log(form); + } - return ( <div> <Grid @@ -69,9 +92,14 @@ function App() { { form.map((x, index) => { if(x.type === "question") - return <FormFieldText question={x.question} idq={index} deleteFromForm={deleteFromForm} setTextField={setTextField}/> + return <FormFieldText question={x.question} idq={index} + deleteFromForm={deleteFromForm} setTextField={setTextField} + setRequiredField={setRequiredField}/> else if(x.type === "select") - return <FormFieldSelect question={x.question} idq={index} deleteFromForm={deleteFromForm} setTextField={setSelectField}/> + return <FormFieldSelect question={x.question} options={x.options} idq={index} + deleteFromForm={deleteFromForm} addSelectOption={addSelectOption} + removeSelectOption={removeSelectOption} setSelectOption={setSelectOption} + setTextField={setTextField} setRequiredField={setRequiredField} /> }) } @@ -93,6 +121,9 @@ function App() { <IconButton aria-label="add select" onClick={addToFormSelect}> <ReorderIcon /> </IconButton> + <IconButton aria-label="add radio" onClick={addToFormRadio}> + <RadioButtonCheckedIcon /> + </IconButton> </Grid> </Grid> </Paper>