Proyectos de Subversion LeadersLinked - Backend

Rev

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