Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
7427 stevensc 1
import React from 'react'
2
import axios from 'axios';
3
import { Modal, Button } from 'react-bootstrap';
4
import { useForm } from "react-hook-form";
7476 stevensc 5
import { useDispatch } from 'react-redux';
7427 stevensc 6
 
7
const DeleteModal = ({
8
    isOpen = false,
9
    closeModal = function () { },
10
    title = 'Estas seguro?',
11
    action,
12
    url,
13
}) => {
14
 
15
    const { handleSubmit } = useForm();
7476 stevensc 16
    const dispatch = useDispatch();
7427 stevensc 17
 
18
    const onSubmit = () => {
19
        if (!url) {
7476 stevensc 20
            return dispatch(action())
7427 stevensc 21
        }
22
 
23
        axios.post(url)
24
            .then(async ({ data }) => {
25
                if (data.success) {
26
                    try {
7476 stevensc 27
                        action && dispatch(action())
7427 stevensc 28
 
29
                        closeModal()
30
                    }
31
                    catch (err) { console.log(err) }
32
                }
33
            })
34
            .catch((err) => console.log(err))
35
    };
36
 
37
    return (
38
        <Modal
39
            size="sm"
40
            show={isOpen}
41
            onHide={closeModal}
42
            autoFocus={false}
43
        >
44
            <form onSubmit={handleSubmit(onSubmit)}>
45
                <Modal.Body>
46
                    <h2>{title}</h2>
47
                </Modal.Body>
48
                <Modal.Footer>
49
                    <Button
50
                        variant="success"
51
                        type="submit"
52
                    >
53
54
                    </Button>
55
                    <Button
56
                        variant="danger"
57
                        onClick={closeModal}
58
                    >
59
                        No
60
                    </Button>
61
                </Modal.Footer>
62
            </form>
63
        </Modal >
64
    )
65
}
66
 
67
export default DeleteModal