Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6410 | Ir a la última revisión | | 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'
7
 
8
const FoundationsYearModal = ({
9
    isOpen,
10
    closeModal,
11
    foundationYearUrl,
12
    action
13
}) => {
14
 
15
    const [year, setYear] = useState(0);
16
    const [error, setError] = useState(null);
17
 
18
    const onSubmit = (e) => {
19
        e.preventDefault()
20
 
21
        const data = new FormData()
22
        data.append("foundation_year", year)
23
 
24
        axios.post(foundationYearUrl, data)
25
            .then(({ data }) => {
26
                if (!data.success) {
27
                    return setError(data.data)
28
                }
29
                action(data.data.foundation_year)
30
            })
31
            .then(() => {
32
                setError(null)
33
                closeModal()
34
            })
35
            .catch((err) => console.log(err))
36
    }
37
 
38
    useEffect(() => {
39
        getData(foundationYearUrl)
40
            .then((resp) => setYear(resp.foundation_year))
41
            .catch(err => console.log(err))
42
    }, [isOpen]);
43
 
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
                            value={year}
63
                        />
64
                        <input
65
                            className="form-control form-control-sm"
66
                            type="text"
67
                            name="foundation_year"
68
                            ref={register}
69
                            style={{ padding: '1px' }}
70
                        />
71
                    </div>
72
                    {error && <p>{error}</p>}
73
                </Modal.Body>
74
                <Modal.Footer>
75
                    <Button
76
                        variant="primary"
77
                        type="submit"
78
                    >
79
                        Enviar
80
                    </Button>
81
                    <Button
82
                        variant="default"
83
                        onClick={closeModal}
84
                    >
85
                        Cancelar
86
                    </Button>
87
                </Modal.Footer>
88
            </form>
89
        </Modal >
90
    )
91
}
92
 
93
export default FoundationsYearModal