Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7107 | Rev 7110 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
7107 stevensc 1
import React, { useEffect, useState } from 'react';
2
import { getData } from '../../../helpers/fetchHelpers';
3
import { Modal, Button } from 'react-bootstrap';
4
 
5
const SubmitModal = ({
6
    children,
7
    submitData = '',
8
    setValues = function () { },
9
    dataLink = '',
10
    closeModal = function () { }
11
}) => {
12
 
13
    const [error, setError] = useState('');
14
 
15
    const onSubmit = (e) => {
16
        e.preventDefault()
17
 
18
        axios.post(dataLink, submitData)
19
            .then(({ data }) => {
20
                if (!data.success) {
21
                    return setError(data.data)
22
                }
23
                setValues(data.data)
24
            })
25
            .finally(() => {
26
                setError(null)
27
                closeModal()
28
            })
29
            .catch((err) => setError(err))
30
    };
31
 
32
    useEffect(() => {
33
        getData(dataLink)
34
            .then(results => setValues(results))
35
            .catch(err => setError(err))
36
    }, []);
37
 
38
    return (
39
        <Modal size="lg" show onHide={closeModal}>
7108 stevensc 40
            <form onSubmit={() => onSubmit(e)}>
41
                <Modal.Header closeButton>
42
                    <Modal.Title>Cambiar</Modal.Title>
43
                </Modal.Header>
44
                <Modal.Body>
7107 stevensc 45
                    {children}
7108 stevensc 46
                </Modal.Body>
47
                <Modal.Footer>
48
                    <Button
49
                        variant="primary"
50
                        type="submit"
51
                    >
52
                        Enviar
53
                    </Button>
54
                    <Button variant="danger" onClick={closeModal}>
55
                        Cancelar
56
                    </Button>
57
                </Modal.Footer>
58
            </form>
7107 stevensc 59
        </Modal >
60
    )
61
}
62
 
63
export default SubmitModal