Rev 12999 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect } from 'react'import { Button, Modal } from 'react-bootstrap'import { useForm } from 'react-hook-form'import DescriptionInput from '../../../shared/DescriptionInput'const QuestionModal = ({ show, closeModal, question, onSubmit, questionType }) => {const { handleSubmit, register, setValue, watch } = useForm()useEffect(() => {register('text')setValue('text', question.text)}, [question])const submit = (data) => {if (questionType === 'add') {onSubmit({...question,text: data.text,type: data.type,maxlength: data.maxlength,multiline: data.multiline})closeModal()return}if (questionType === 'edit') {onSubmit({...question,text: data.text,type: data.type,maxlength: data.maxlength,multiline: data.multiline})closeModal()}}return (<Modal size="md" onHide={closeModal} show={show}><Modal.Header closeButton><Modal.Title>{`${questionType === 'add' ? 'Agregar' : 'Editar'} sección`}</Modal.Title></Modal.Header><form onSubmit={handleSubmit(submit)}><Modal.Body><div className='form-group'><label className="form-label">Texto</label><DescriptionInputdefaultValue={question.text}name='text'onChange={setValue}/></div><div className='form-group'><label className="form-label">Tipo</label><select name='type' className='form-control' ref={register} defaultValue={question.type}><option value='open'>Abierto</option><option value='simple'>Simple</option><option value='multiple'>Multiple</option></select></div>{watch('type') !== 'open'&&<><div className='form-group'><label className="form-label">Longitud máxima</label><input type="number" name='maxLength' className='form-control' defaultValue={question.maxlength} /></div><div className='form-group'><label className="form-label">Mútiples lineas</label><select name='type' className='form-control' ref={register} defaultValue={question.multiline}><option value='open'>Si</option><option value='simple'>No</option></select></div></>}</Modal.Body><Modal.Footer><Button variant="primary" type='submit'>Enviar</Button><Button variant="danger" onClick={closeModal}>Cancelar</Button></Modal.Footer></form></Modal >)}export default QuestionModal