Rev 8060 | Rev 11254 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react';import { Modal, Button } from 'react-bootstrap';import axios from 'axios';import { addNotification } from '../../../redux/notification/notification.actions';import { useDispatch } from 'react-redux';const SubmitModal = ({children,closeModal = function () { },postLink = '',submitData = '',title = ''}) => {const [error, setError] = useState('');const dispatch = useDispatch()const onSubmit = () => {const formData = new FormData()Object.entries(submitData).forEach((entries) => {formData.append(entries[0], entries[1])})axios.post(postLink, formData).then(({ data }) => {if (!data.success) {dispatch(addNotification({style: "error",msg: typeof data.data === "string"? data.data: Object.values(data.data)[0]}))return}dispatch(addNotification({style: "success",msg: "Envio completado"}))setError(null)closeModal()}).catch((err) => setError(err))};return (<Modal size="lg" show onHide={closeModal}><Modal.Header closeButton><Modal.Title>{title}</Modal.Title></Modal.Header><Modal.Body><div className='form-group'><label className="form-label">{title}</label>{children}</div>{error && <p>{error}</p>}</Modal.Body><Modal.Footer><Buttonvariant="primary"onClick={onSubmit}>Enviar</Button><Button variant="danger" onClick={closeModal}>Cancelar</Button></Modal.Footer></Modal >)}export default SubmitModal