Proyectos de Subversion LeadersLinked - Backend

Rev

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