Rev 5512 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import axios from 'axios';import React, { useState } from 'react'import { Modal, Button } from 'react-bootstrap';import { useForm } from "react-hook-form";const EditModal = ({title = '',isEdit = false,isOpen = false,closeModal = function () { },currentItem,url,action}) => {const {register,handleSubmit,formState: { errors }} = useForm();const [isActive, setIsActive] = useState(true);const onSubmit = (data) => {let newData = { ...data, status: data.status ? "a" : "i" }let formData = new URLSearchParams(newData).toString()axios.post(url, formData).then(async ({ data }) => {if (data.success) {try {await action()closeModal()}catch (err) { console.log(err) }}}).catch((err) => console.log(err))};return (<Modalsize="lg"show={isOpen}onHide={closeModal}autoFocus={false}><Modal.Header closeButton><Modal.Title>{title} - {isEdit ? 'Editar' : 'Agregar'}</Modal.Title></Modal.Header><form onSubmit={handleSubmit(onSubmit)}><Modal.Body><div className="form-group"><label>Nombre</label><inputclassName='form-control'name='name'ref={register}defaultValue={currentItem ? currentItem.name : ''}/>{errors.name && <p>Este campo es requerido</p>}</div><div className="form-group"><label>Mínimo</label><inputclassName="form-control"name="minimum_no_of_employee"ref={register}requireddefaultValue={currentItem ? currentItem.minimum_no_of_employee : ''}/>{errors.minimum_no_of_employee && <p>Este campo es requerido</p>}</div><div className="form-group"><label>Máximo</label><inputclassName="form-control"name="maximum_no_of_employee"ref={register}defaultValue={currentItem ? currentItem.maximum_no_of_employee : ''}/>{errors.maximum_no_of_employee && <p>Este campo es requerido</p>}</div><divclassName={`toggle btn btn-primary ${!isActive && "off"}`}data-toggle="toggle"role="button"onClick={() => setIsActive(!isActive)}><inputtype="checkbox"name="status"ref={register}checked={isActive}/><div className="toggle-group"><label for="status" className="btn btn-primary toggle-on">Activo</label><label for="status" className="btn btn-light toggle-off">Inactivo</label><span className="toggle-handle btn btn-light"></span></div></div></Modal.Body><Modal.Footer><Buttonvariant="primary"type="submit">Enviar</Button><Button variant="danger" onClick={closeModal}>Cancelar</Button></Modal.Footer></form></Modal >)}export default EditModal