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"
>
Sí
</Button>
<Button
variant="danger"
onClick={closeModal}
>
No
</Button>
</Modal.Footer>
</form>
</Modal >
)
}
export default DeleteModal