Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6455 | Rev 6461 | 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
                }
6460 stevensc 29
                action(data.data["foundation_year"])
30
                console.log(data.data)
6407 stevensc 31
            })
32
            .then(() => {
33
                setError(null)
34
                closeModal()
35
            })
36
            .catch((err) => console.log(err))
37
    }
38
 
39
    useEffect(() => {
40
        getData(foundationYearUrl)
41
            .then((resp) => setYear(resp.foundation_year))
42
            .catch(err => console.log(err))
43
    }, [isOpen]);
44
 
45
    return (
46
        <Modal
47
            size="md"
48
            show={isOpen}
49
            onHide={closeModal}
50
            autoFocus={false}
51
        >
52
            <Modal.Header closeButton>
53
                <Modal.Title>Cambiar</Modal.Title>
54
            </Modal.Header>
55
            <form onSubmit={(e) => onSubmit(e)}>
56
                <Modal.Body>
57
                    <div className="mb-3">
58
                        <label className="form-label">Año de fundación</label>
59
                        <Datetime
60
                            dateFormat="YYYY"
61
                            timeFormat={false}
62
                            onChange={(e) => setYear(e.year())}
6460 stevensc 63
                            initialValue={new Date(`${year + 1}`).getFullYear().toString()}
6441 stevensc 64
                            inputProps={{ className: 'form-control' }}
6445 stevensc 65
                            closeOnSelect
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