Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6461 | Rev 15062 | 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
                                                className='btn-tertiary'
                                                onClick={closeModal}
                                        >
                        Cancelar
                                        </Button>
                                </Modal.Footer>
                        </form>
                </Modal >
        )
}

export default FoundationsYearModal