Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7498 | Rev 7538 | 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,
7498 stevensc 12
    onComplete,
7535 stevensc 13
    url
7427 stevensc 14
}) => {
15
 
16
    const { handleSubmit } = useForm();
7476 stevensc 17
    const dispatch = useDispatch();
7427 stevensc 18
 
19
    const onSubmit = () => {
7498 stevensc 20
        if (!url && action) {
7476 stevensc 21
            return dispatch(action())
7427 stevensc 22
        }
23
 
7498 stevensc 24
        if (!url && onComplete) {
25
            return onComplete()
26
        }
27
 
7427 stevensc 28
        axios.post(url)
29
            .then(async ({ data }) => {
30
                if (data.success) {
31
                    try {
7476 stevensc 32
                        action && dispatch(action())
7498 stevensc 33
                        onComplete && onComplete()
7427 stevensc 34
 
35
                        closeModal()
36
                    }
37
                    catch (err) { console.log(err) }
38
                }
39
            })
40
            .catch((err) => console.log(err))
41
    };
42
 
43
    return (
44
        <Modal
45
            size="sm"
46
            show={isOpen}
47
            onHide={closeModal}
48
            autoFocus={false}
7535 stevensc 49
            onClick={handle}
7427 stevensc 50
        >
51
            <form onSubmit={handleSubmit(onSubmit)}>
52
                <Modal.Body>
53
                    <h2>{title}</h2>
54
                </Modal.Body>
55
                <Modal.Footer>
56
                    <Button
57
                        variant="success"
58
                        type="submit"
59
                    >
60
61
                    </Button>
62
                    <Button
63
                        variant="danger"
64
                        onClick={closeModal}
65
                    >
66
                        No
67
                    </Button>
68
                </Modal.Footer>
69
            </form>
70
        </Modal >
71
    )
72
}
73
 
74
export default DeleteModal