Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
6407 stevensc 1
import axios from 'axios'
2
import React, { useEffect, useState } from 'react'
3
import { Modal, Button } from 'react-bootstrap'
4
import { getData } from '../../../helpers/fetchHelpers'
5
import Datetime from 'react-datetime'
11152 stevensc 6
import 'react-datetime/css/react-datetime.css'
6407 stevensc 7
 
8
const FoundationsYearModal = ({
11152 stevensc 9
	isOpen,
10
	closeModal,
11
	foundationYearUrl,
12
	action
6407 stevensc 13
}) => {
14
 
11152 stevensc 15
	const [year, setYear] = useState(0)
16
	const [error, setError] = useState(null)
6407 stevensc 17
 
11152 stevensc 18
	const onSubmit = (e) => {
19
		e.preventDefault()
6407 stevensc 20
 
11152 stevensc 21
		const data = new FormData()
22
		data.append('foundation_year', year)
6407 stevensc 23
 
11152 stevensc 24
		axios.post(foundationYearUrl, data)
25
			.then(({ data }) => {
26
				if (!data.success) {
27
					return setError(data.data)
28
				}
29
				action(data.data)
30
			})
31
			.then(() => {
32
				setError(null)
33
				closeModal()
34
			})
35
			.catch((err) => console.log(err))
36
	}
6407 stevensc 37
 
11152 stevensc 38
	useEffect(() => {
39
		getData(foundationYearUrl)
40
			.then(({ foundation_year }) => setYear(parseInt(foundation_year)))
41
			.catch(err => console.log(err))
42
	}, [isOpen])
6407 stevensc 43
 
11152 stevensc 44
	return (
45
		<Modal
46
			size="md"
47
			show={isOpen}
48
			onHide={closeModal}
49
			autoFocus={false}
50
		>
51
			<Modal.Header closeButton>
52
				<Modal.Title>Cambiar</Modal.Title>
53
			</Modal.Header>
54
			<form onSubmit={(e) => onSubmit(e)}>
55
				<Modal.Body>
56
					<div className="mb-3">
57
						<label className="form-label">Año de fundación</label>
58
						<Datetime
59
							dateFormat="YYYY"
60
							timeFormat={false}
61
							onChange={(e) => setYear(e.year())}
62
							initialValue={new Date(`${year + 1}`).getFullYear().toString()}
63
							inputProps={{ className: 'form-control' }}
64
							closeOnSelect
65
						/>
66
					</div>
67
					{error && <p>{error}</p>}
68
				</Modal.Body>
69
				<Modal.Footer>
70
					<Button
71
						variant="primary"
72
						type="submit"
73
					>
6407 stevensc 74
                        Enviar
11152 stevensc 75
					</Button>
76
					<Button
77
						className='btn-tertiary'
78
						onClick={closeModal}
79
					>
6407 stevensc 80
                        Cancelar
11152 stevensc 81
					</Button>
82
				</Modal.Footer>
83
			</form>
84
		</Modal >
85
	)
6407 stevensc 86
}
87
 
88
export default FoundationsYearModal