AutorÃa | Ultima modificación | Ver Log |
import React from 'react'import { axios } from '../../utils'import { useDispatch } from 'react-redux'import { addNotification } from '../../redux/notification/notification.actions'import { Modal, Button } from 'react-bootstrap'function EditModal ({title = '',url ='',data={},show = false,isEdit = false,children = React.Component,onComplete = function() {},onClose = function() {}}) {const dispatch = useDispatch()const onSubmit = () => {const formData = new FormData()Object.entries(data)axios.post(url, formData).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}onComplete()onClose()}).catch((err) => dispatch(addNotification({style: 'danger',msg: err})))}return (<Modal show={show} onHide={onClose}><Modal.Header closeButton><Modal.Title>{title} - {isEdit ? 'Editar' : 'Agregar'}</Modal.Title></Modal.Header><Modal.Body>{children}</Modal.Body><Modal.Footer><Button variant="primary" onClick={onSubmit}>Enviar</Button><Button variant="danger" onClick={onClose}>Cancelar</Button></Modal.Footer></Modal >)}export default EditModal