Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
7116 stevensc 1
import React, { useState } from 'react';
7107 stevensc 2
import { Modal, Button } from 'react-bootstrap';
7110 stevensc 3
import axios from 'axios';
7107 stevensc 4
 
5
const SubmitModal = ({
6
    children,
7112 stevensc 7
    closeModal = function () { },
8
    postLink = '',
7107 stevensc 9
    submitData = '',
7116 stevensc 10
    title = ''
7107 stevensc 11
}) => {
12
 
13
    const [error, setError] = useState('');
14
 
7113 stevensc 15
    const onSubmit = () => {
7107 stevensc 16
 
7119 stevensc 17
        const formData = new FormData()
7118 stevensc 18
        Object.entries(submitData).forEach((entries) => {
19
            formData.append(entries[0], entries[1])
7119 stevensc 20
        })
7118 stevensc 21
 
7119 stevensc 22
        axios.post(postLink, formData)
7107 stevensc 23
            .then(({ data }) => {
24
                if (!data.success) {
7118 stevensc 25
                    return setError(Object.values(data.data)[0][0])
7107 stevensc 26
                }
7116 stevensc 27
 
7118 stevensc 28
                console.log(data.data[0])
7107 stevensc 29
                setError(null)
30
                closeModal()
31
            })
32
            .catch((err) => setError(err))
33
    };
34
 
35
    return (
36
        <Modal size="lg" show onHide={closeModal}>
7113 stevensc 37
            <Modal.Header closeButton>
7116 stevensc 38
                <Modal.Title>{title}</Modal.Title>
7113 stevensc 39
            </Modal.Header>
40
            <Modal.Body>
7116 stevensc 41
                <div className='form-group'>
42
                    <label className="form-label">{title}</label>
43
                    {children}
44
                </div>
45
                {error && <p>{error}</p>}
7113 stevensc 46
            </Modal.Body>
47
            <Modal.Footer>
48
                <Button
49
                    variant="primary"
50
                    onClick={onSubmit}
51
                >
52
                    Enviar
53
                </Button>
54
                <Button variant="danger" onClick={closeModal}>
55
                    Cancelar
56
                </Button>
57
            </Modal.Footer>
7107 stevensc 58
        </Modal >
59
    )
60
}
61
 
62
export default SubmitModal