Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14885 | Rev 15516 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 14885 Rev 15513
Línea 1... Línea -...
1
import axios from 'axios'
-
 
-
 
1
 
2
import React, { useState } from 'react'
2
import React, { useState } from 'react'
-
 
3
import axios from '../../../utils/axios'
3
import { Modal, Button } from 'react-bootstrap'
4
import { Modal, Button } from 'react-bootstrap'
4
import { useForm } from 'react-hook-form'
5
import { useForm } from 'react-hook-form'
-
 
6
import ToggleComponent from '../../../shared/ToggleComponent'
Línea 5... Línea 7...
5
 
7
 
6
const EditModal = ({
8
const EditModal = ({
7
	title = '',
-
 
8
	isEdit = false,
9
	title = '',
9
	isOpen = false,
-
 
10
	closeModal = function () { },
10
	isOpen = false,
11
	currentItem,
11
	currentItem = null,
-
 
12
	url ='',
12
	url,
13
	onComplete = function(){},
13
	action
14
	onClose = function () { }
14
}) => {
-
 
15
 
-
 
16
	const {
-
 
17
		register,
-
 
18
		handleSubmit,
15
}) => {
19
		formState: { errors }
-
 
20
	} = useForm()
16
	const [isActive, setIsActive] = useState(currentItem?.status === 'a' ? true : false)
Línea 21... Línea 17...
21
	const [isActive, setIsActive] = useState(true)
17
	const {register,handleSubmit,formState: { errors }} = useForm()
22
 
18
 
23
	const onSubmit = (data) => {
19
	const onSubmit = (data) => {
-
 
20
		const formData = new FormData(data)
24
		let newData = { ...data, status: isActive ? 'a' : 'i' }
21
		formData.append('status', isActive ? 'a' : 'i')
25
		let formData = new URLSearchParams(newData).toString()
22
 
26
		axios.post(url, formData)
23
		axios.post(url, formData)
27
			.then(async ({ data }) => {
-
 
28
				if (data.success) {
24
			.then(({ data: response }) => {
29
					try {
25
				if (response.success) {
30
						await action()
-
 
31
						closeModal()
-
 
32
					}
26
					onComplete()
33
					catch (err) { console.log(err) }
27
					onClose()
34
				}
28
				}
35
			})
29
			})
Línea 36... Línea 30...
36
			.catch((err) => console.log(err))
30
			.catch((err) => console.log(err))
37
	}
-
 
38
 
-
 
39
	return (
31
	}
40
		<Modal
-
 
41
			size="lg"
-
 
42
			show={isOpen}
-
 
43
			onHide={closeModal}
32
 
44
			autoFocus={false}
33
	return (
45
		>
34
		<Modal show={isOpen} onHide={onClose}>
46
			<Modal.Header closeButton>
35
			<Modal.Header closeButton>
47
				<Modal.Title>{title} - {isEdit ? 'Editar' : 'Agregar'}</Modal.Title>
36
				<Modal.Title>{title} - {currentItem ? 'Editar' : 'Agregar'}</Modal.Title>
48
			</Modal.Header>
37
			</Modal.Header>
49
			<form onSubmit={handleSubmit(onSubmit)}>
38
			<form onSubmit={handleSubmit(onSubmit)}>
Línea 77... Línea 66...
77
							ref={register}
66
							ref={register}
78
							defaultValue={currentItem ? currentItem.maximum_no_of_employee : ''}
67
							defaultValue={currentItem ? currentItem.maximum_no_of_employee : ''}
79
						/>
68
						/>
80
						{errors.maximum_no_of_employee && <p>Este campo es requerido</p>}
69
						{errors.maximum_no_of_employee && <p>Este campo es requerido</p>}
81
					</div>
70
					</div>
82
					<div
-
 
83
						className={`toggle btn btn-primary ${!isActive && 'off'}`}
-
 
84
						data-toggle="toggle"
-
 
85
						role="button"
-
 
86
						onClick={() => setIsActive(!isActive)}
-
 
87
						style={{ width: '130px' }}
-
 
88
					>
-
 
89
						<input
-
 
90
							type="checkbox"
-
 
91
							name="status"
-
 
92
							ref={register}
-
 
93
							checked={isActive}
-
 
94
						/>
-
 
95
						<div className="toggle-group">
-
 
96
							<label htmlFor="status" className="btn btn-primary toggle-on">Activo</label>
-
 
97
							<label htmlFor="status" className="btn btn-light toggle-off">Inactivo</label>
71
					<ToggleComponent currentValue={isActive} setValue={(value)=> setIsActive(value)} />
98
							<span className="toggle-handle btn btn-light"></span>
-
 
99
						</div>
-
 
100
					</div>
-
 
101
				</Modal.Body>
72
				</Modal.Body>
102
				<Modal.Footer>
73
				<Modal.Footer>
103
					<Button
-
 
104
						variant="primary"
74
					<Button variant="primary" type="submit">
105
						type="submit"
-
 
106
					>
-
 
107
                        Enviar
75
                        Enviar
108
					</Button>
76
					</Button>
109
					<Button variant="danger" onClick={closeModal}>
77
					<Button variant="danger" onClick={onClose}>
110
                        Cancelar
78
                        Cancelar
111
					</Button>
79
					</Button>
112
				</Modal.Footer>
80
				</Modal.Footer>
113
			</form>
81
			</form>
114
		</Modal >
82
		</Modal >