Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 12991 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
12793 stevensc 1
import React, { useEffect } from 'react'
12709 stevensc 2
import { Button, Modal } from 'react-bootstrap'
3
import { useForm } from 'react-hook-form'
4
import DescriptionInput from '../../../shared/DescriptionInput'
5
 
12991 stevensc 6
const SectionModal = ({ show, closeModal, section, onSubmit, sectionType }) => {
12709 stevensc 7
 
12793 stevensc 8
	const { handleSubmit, errors, register, setValue } = useForm()
12709 stevensc 9
 
12793 stevensc 10
	useEffect(() => {
12836 stevensc 11
		register('text')
12793 stevensc 12
		setValue('name', section.name)
12836 stevensc 13
		setValue('text', section.text)
12793 stevensc 14
	}, [section])
15
 
12738 stevensc 16
	const submit = (data) => {
12991 stevensc 17
		sectionType === 'add' && onSubmit(data.name, data.text)
18
		sectionType === 'edit' && onSubmit(data.name, data.text, section.slug_section)
12749 stevensc 19
		closeModal()
12738 stevensc 20
	}
21
 
12709 stevensc 22
	return (
23
		<Modal size="md" onHide={closeModal} show={show}>
24
			<Modal.Header closeButton>
12991 stevensc 25
				<Modal.Title>{`${sectionType === 'add' ? 'Agregar' : 'Editar'} sección`}</Modal.Title>
12709 stevensc 26
			</Modal.Header>
12738 stevensc 27
			<form onSubmit={handleSubmit(submit)}>
12709 stevensc 28
				<Modal.Body>
29
					<div className='form-group'>
30
						<label className="form-label">Nombre</label>
31
						<input type="text" name='name' className='form-control' ref={register({ required: true })} />
32
						{errors.name && <p>{errors.name.message}</p>}
33
					</div>
34
					<div className='form-group'>
35
						<label className="form-label">Texto</label>
12791 stevensc 36
						<DescriptionInput
12793 stevensc 37
							defaultValue={section.text}
12709 stevensc 38
							name='text'
39
							onChange={setValue}
12791 stevensc 40
						/>
12709 stevensc 41
					</div>
42
				</Modal.Body>
43
				<Modal.Footer>
12996 stevensc 44
					<Button variant="primary" type='submit'>
12791 stevensc 45
						Enviar
12709 stevensc 46
					</Button>
47
					<Button variant="danger" onClick={closeModal}>
12791 stevensc 48
						Cancelar
12709 stevensc 49
					</Button>
50
				</Modal.Footer>
51
			</form>
52
		</Modal >
53
	)
54
}
55
 
56
export default SectionModal