Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6445 | Rev 6460 | 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'
6445 stevensc 6
import "react-datetime/css/react-datetime.css";
6407 stevensc 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())}
6455 stevensc 62
                            initialValue={new Date(`${year}`).getFullYear().toString()}
6441 stevensc 63
                            inputProps={{ className: 'form-control' }}
6445 stevensc 64
                            closeOnSelect
6407 stevensc 65
                        />
66
                    </div>
67
                    {error && <p>{error}</p>}
68
                </Modal.Body>
69
                <Modal.Footer>
70
                    <Button
71
                        variant="primary"
72
                        type="submit"
73
                    >
74
                        Enviar
75
                    </Button>
76
                    <Button
77
                        variant="default"
78
                        onClick={closeModal}
79
                    >
80
                        Cancelar
81
                    </Button>
82
                </Modal.Footer>
83
            </form>
84
        </Modal >
85
    )
86
}
87
 
88
export default FoundationsYearModal