Inicio » Cursos » ReactJS y Laravel Directorio de Empresas

Curso ReactJS y Laravel Directorio de Empresas

Capitulo 26 ➜ EmpresaUpdate aprobar empresa

Componente EmpresaUpdate

Implementación del componente EmpresaUpdate para aprobar el registro de una empresa por parte del rol admin.

CRUD EmpresaUpdate

App.jsx

<Route path='empresa/edit/:id' element={<EmpresaUpdate/>} />

Config.jsx

getEmpresaById:(id)=>axios.get(`${base_api_url}/admin/empresa/${id}`),
getEmpresaUpdate:(data,id)=>axios.put(`${base_api_url}/admin/empresa/${id}`,data),

pageadmin/EmpresaUpdate.jsx

import React, { useEffect, useState } from 'react'
import { Link, useNavigate, useParams } from 'react-router-dom';
import Config from '../Config';
import Sidebar from './Sidebar';

const EmpresaUpdate = () => {
    const navigate = useNavigate()
    const { id } = useParams();
    const [nombre, setNombre] = useState("")    
    const [orden, setOrden] = useState("")
    const [publicado, setPublicado] = useState(false)

   useEffect(()=>{
    const _getEmpresaUpdate = async()=>{
        Config.getEmpresaById(id)
        .then(({data})=>{            
            setNombre(data.nombre)           
            setOrden(data.orden)        
            setPublicado(data.publicado)        
        })
    };
    _getEmpresaUpdate();
   },[])

   const submitUpdate = async (ev)=>{
    ev.preventDefault()
    await Config.getEmpresaUpdate({nombre,orden,publicado},id)
    navigate('/admin/empresa')
   }

  return (
    <div className="container bg-light">
        <div className='row'>
            <Sidebar/>
            <div className="col-sm-9 mt-3 mb-3">
                <div className="card">
                    <div className="card-body">
                        <form onSubmit={submitUpdate}>
                            <div className='form-group row'>
                                <div className="mt-3">
                                    <div className="form-check form-switch">
                                        <input className="form-check-input" checked={publicado} onChange={(e)=>setPublicado(!publicado)} type="checkbox" role="switch" id="publicado"/>
                                        <label className="form-check-label" htmlFor='publicado'>Publicado?</label>
                                    </div>
                                </div>
                                <div className="col-sm-8">
                                    <label>Nombre</label>
                                    <input className='form-control' disabled value={nombre} onChange={(e) => setNombre(e.target.value)} type='text'/>
                                </div>
                                <div className="col-sm-4">
                                    <label>Orden</label>
                                    <input className='form-control' value={orden} onChange={(e) => setOrden(e.target.value)} type='number'/>
                                </div>
                            </div>                          
                            
                            <div className="btn-group mt-3">
                                <Link to={-1} className="btn btn-secondary" >← Back </Link>
                                <button type='submit' className="btn btn-primary">Actualizar Empresa</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
  )
}

export default EmpresaUpdate

 


728 visitas

« Capítulo 25 – EmpresaAll mostrar empresas

Capítulo 27 – Panel Client »

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2024