Rev 8063 | Rev 14167 | 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'>{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