Rev 6460 | Rev 14843 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import axios from 'axios'
import React, { useEffect, useState } from 'react'
import { Modal, Button } from 'react-bootstrap'
import { getData } from '../../../helpers/fetchHelpers'
import Datetime from 'react-datetime'
import "react-datetime/css/react-datetime.css";
const FoundationsYearModal = ({
isOpen,
closeModal,
foundationYearUrl,
action
}) => {
const [year, setYear] = useState(0);
const [error, setError] = useState(null);
const onSubmit = (e) => {
e.preventDefault()
const data = new FormData()
data.append("foundation_year", year)
axios.post(foundationYearUrl, data)
.then(({ data }) => {
if (!data.success) {
return setError(data.data)
}
action(data.data)
})
.then(() => {
setError(null)
closeModal()
})
.catch((err) => console.log(err))
}
useEffect(() => {
getData(foundationYearUrl)
.then(({ foundation_year }) => setYear(parseInt(foundation_year)))
.catch(err => console.log(err))
}, [isOpen]);
return (
<Modal
size="md"
show={isOpen}
onHide={closeModal}
autoFocus={false}
>
<Modal.Header closeButton>
<Modal.Title>Cambiar</Modal.Title>
</Modal.Header>
<form onSubmit={(e) => onSubmit(e)}>
<Modal.Body>
<div className="mb-3">
<label className="form-label">Año de fundación</label>
<Datetime
dateFormat="YYYY"
timeFormat={false}
onChange={(e) => setYear(e.year())}
initialValue={new Date(`${year + 1}`).getFullYear().toString()}
inputProps={{ className: 'form-control' }}
closeOnSelect
/>
</div>
{error && <p>{error}</p>}
</Modal.Body>
<Modal.Footer>
<Button
variant="primary"
type="submit"
>
Enviar
</Button>
<Button
variant="default"
onClick={closeModal}
>
Cancelar
</Button>
</Modal.Footer>
</form>
</Modal >
)
}
export default FoundationsYearModal