Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6410 | Rev 6441 | 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'
6407 stevensc 8
 
9
const FoundationsYearModal = ({
10
    isOpen,
11
    closeModal,
12
    foundationYearUrl,
13
    action
14
}) => {
15
 
16
    const [year, setYear] = useState(0);
17
    const [error, setError] = useState(null);
18
 
19
    const onSubmit = (e) => {
20
        e.preventDefault()
21
 
22
        const data = new FormData()
23
        data.append("foundation_year", year)
24
 
25
        axios.post(foundationYearUrl, data)
26
            .then(({ data }) => {
27
                if (!data.success) {
28
                    return setError(data.data)
29
                }
30
                action(data.data.foundation_year)
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())}
6433 stevensc 63
                            value={new Date((year + 1).toString()).getFullYear().toString()}
6407 stevensc 64
                        />
65
                    </div>
66
                    {error && <p>{error}</p>}
67
                </Modal.Body>
68
                <Modal.Footer>
69
                    <Button
70
                        variant="primary"
71
                        type="submit"
72
                    >
73
                        Enviar
74
                    </Button>
75
                    <Button
76
                        variant="default"
77
                        onClick={closeModal}
78
                    >
79
                        Cancelar
80
                    </Button>
81
                </Modal.Footer>
82
            </form>
83
        </Modal >
84
    )
85
}
86
 
87
export default FoundationsYearModal