Rev 15412 | 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 } from "react-bootstrap";import { useDispatch } from "react-redux";import { addNotification } from "../redux/notification/notification.actions";const DeleteModal = ({isOpen = false,closeModal = function () {},title = "Estas seguro?",action,onComplete,url,message,}) => {const dispatch = useDispatch();const onSubmit = () => {if (!url && action) {dispatch(action());closeModal();return;}if (!url && onComplete) {onComplete();closeModal();return;}axios.post(url).then(({ data }) => {if (!data.success) {typeof data.data === "string"? dispatch(addNotification({ style: "danger", msg: data.data })): Object.entries(data.data).map(([key, value]) =>value.map((err) =>dispatch(addNotification({ style: "danger", msg: `${key}: ${err}` }))));return;}action && dispatch(action());onComplete && onComplete();closeModal();dispatch(addNotification({style: "success",msg: message ? message : "Se ha eliminado con exito",}));}).catch(() =>dispatch(addNotification({style: "danger",msg: "Ha ocurrido un error",})));};return (<Modal size="sm" show={isOpen} onHide={closeModal} autoFocus={false}><Modal.Body><h3>{title}</h3></Modal.Body><Modal.Footer><button className="btn btn-primary" onClick={onSubmit}>Sí</button><button className="btn btn-secondary" onClick={closeModal}>No</button></Modal.Footer></Modal>);};export default DeleteModal;