Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 7535 | Rev 7792 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from 'react'
import axios from 'axios';
import { Modal, Button } from 'react-bootstrap';
import { useForm } from "react-hook-form";
import { useDispatch } from 'react-redux';

const DeleteModal = ({
    isOpen = false,
    closeModal = function () { },
    title = 'Estas seguro?',
    action,
    onComplete,
    url
}) => {

    const { handleSubmit } = useForm();
    const dispatch = useDispatch();

    const onSubmit = () => {
        if (!url && action) {
            return dispatch(action())
        }

        if (!url && onComplete) {
            return onComplete()
        }

        axios.post(url)
            .then(async ({ data }) => {
                if (data.success) {
                    try {
                        action && dispatch(action())
                        onComplete && onComplete()

                        closeModal()
                    }
                    catch (err) { console.log(err) }
                }
            })
            .catch((err) => console.log(err))
    };

    return (
        <Modal
            size="sm"
            show={isOpen}
            onHide={closeModal}
            autoFocus={false}
        >
            <form onSubmit={handleSubmit(onSubmit)}>
                <Modal.Body>
                    <h2>{title}</h2>
                </Modal.Body>
                <Modal.Footer>
                    <Button
                        variant="success"
                        type="submit"
                    >
                    </Button>
                    <Button
                        variant="danger"
                        onClick={closeModal}
                    >
                        No
                    </Button>
                </Modal.Footer>
            </form>
        </Modal >
    )
}

export default DeleteModal