Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14885 | Rev 15516 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15513 stevensc 1
 
5453 stevensc 2
import React, { useState } from 'react'
15513 stevensc 3
import axios from '../../../utils/axios'
14885 stevensc 4
import { Modal, Button } from 'react-bootstrap'
5
import { useForm } from 'react-hook-form'
15513 stevensc 6
import ToggleComponent from '../../../shared/ToggleComponent'
5453 stevensc 7
 
8
const EditModal = ({
14885 stevensc 9
	title = '',
10
	isOpen = false,
15513 stevensc 11
	currentItem = null,
12
	url ='',
13
	onComplete = function(){},
14
	onClose = function () { }
5453 stevensc 15
}) => {
15513 stevensc 16
	const [isActive, setIsActive] = useState(currentItem?.status === 'a' ? true : false)
17
	const {register,handleSubmit,formState: { errors }} = useForm()
5453 stevensc 18
 
15513 stevensc 19
	const onSubmit = (data) => {
20
		const formData = new FormData(data)
21
		formData.append('status', isActive ? 'a' : 'i')
5453 stevensc 22
 
14885 stevensc 23
		axios.post(url, formData)
15513 stevensc 24
			.then(({ data: response }) => {
25
				if (response.success) {
26
					onComplete()
27
					onClose()
14885 stevensc 28
				}
29
			})
30
			.catch((err) => console.log(err))
31
	}
5453 stevensc 32
 
14885 stevensc 33
	return (
15513 stevensc 34
		<Modal show={isOpen} onHide={onClose}>
14885 stevensc 35
			<Modal.Header closeButton>
15513 stevensc 36
				<Modal.Title>{title} - {currentItem ? 'Editar' : 'Agregar'}</Modal.Title>
14885 stevensc 37
			</Modal.Header>
38
			<form onSubmit={handleSubmit(onSubmit)}>
39
				<Modal.Body>
40
					<div className="form-group">
41
						<label>Nombre</label>
42
						<input
43
							className='form-control'
44
							name='name'
45
							ref={register}
46
							defaultValue={currentItem ? currentItem.name : ''}
47
						/>
48
						{errors.name && <p>Este campo es requerido</p>}
49
					</div>
50
					<div className="form-group">
51
						<label>Mínimo</label>
52
						<input
53
							className="form-control"
54
							name="minimum_no_of_employee"
55
							ref={register}
56
							required
57
							defaultValue={currentItem ? currentItem.minimum_no_of_employee : ''}
58
						/>
59
						{errors.minimum_no_of_employee && <p>Este campo es requerido</p>}
60
					</div>
61
					<div className="form-group">
62
						<label>Máximo</label>
63
						<input
64
							className="form-control"
65
							name="maximum_no_of_employee"
66
							ref={register}
67
							defaultValue={currentItem ? currentItem.maximum_no_of_employee : ''}
68
						/>
69
						{errors.maximum_no_of_employee && <p>Este campo es requerido</p>}
70
					</div>
15513 stevensc 71
					<ToggleComponent currentValue={isActive} setValue={(value)=> setIsActive(value)} />
14885 stevensc 72
				</Modal.Body>
73
				<Modal.Footer>
15513 stevensc 74
					<Button variant="primary" type="submit">
5453 stevensc 75
                        Enviar
14885 stevensc 76
					</Button>
15513 stevensc 77
					<Button variant="danger" onClick={onClose}>
5453 stevensc 78
                        Cancelar
14885 stevensc 79
					</Button>
80
				</Modal.Footer>
81
			</form>
82
		</Modal >
83
	)
5453 stevensc 84
}
85
 
86
export default EditModal