import React, { useEffect, useState, useRef } from 'react'; import { InputText } from 'primereact/inputtext'; import { Button } from 'primereact/button'; import { DataTable } from 'primereact/datatable'; import { Column } from 'primereact/column'; import { Toast } from 'primereact/toast'; import { Dialog } from 'primereact/dialog'; import { Toolbar } from 'primereact/toolbar'; const AdministradoresComunidad = () => { const [listaAdmins,setListaAdmins]=useState([]); const [listaAdminComunidad,setListaAdminComunidad]=useState([]); const [sysadmin, setSysAdmin] = useState(emptySysAdmin); const [selectedAdministrators, setSelectedAdministrators] = useState(null); const [globalFilter, setGlobalFilter] = useState(null); const [deleteAdminSystemDialog, setDeleteAdminSystemDialog] = useState(false); const [deleteAdminsSystemDialog, setDeleteAdminsSystemDialog] = useState(false); const toast = useRef(null); const dt = useRef(null); let emptySysAdmin = { _id: null, dni: '', name: '', last_name: '', email: '', phone: '', password: '', user_type: '1', status: '' }; async function listaAdmin(){ let nombres=await fetch('http://localhost:4000/user/findAdminComunidad/', {method:'GET'}); let nombresRes= await nombres.json(); setListaAdmins(nombresRes.message); } async function listaComunidades(nombre){ let nombres=await fetch('http://localhost:4000/community/findCommunityName/'+nombre, {method:'GET'}); let nombresRes= await nombres.json(); setListaAdminComunidad(nombresRes.message); } listaAdmins.map(function(administrador){ listaComunidades(administrador.community_id); administrador.community_id=listaAdminComunidad.name; }) useEffect(()=>{ listaAdmin(); },[]) const hideDeleteAdminSystemDialog = () => { setDeleteAdminSystemDialog(false); } const hideDeleteAdminsSystemsDialog = () => { setDeleteAdminsSystemDialog(false); } const confirmDeleteAdminSystem = (sysAdmin) => { setSysAdmin(sysAdmin); setDeleteAdminSystemDialog(true); } const confirmDeleteSelected = () => { setDeleteAdminsSystemDialog(true); } const deleteSysAdmin = () => { fetch('http://localhost:4000/user/deleteAdminSystem/' + sysadmin._id, { cache: 'no-cache', method: 'DELETE', headers: { 'Content-Type': 'application/json' } }) .then( function (response) { if (response.status != 201) console.log('Ocurrió un error con el servicio: ' + response.status); else return response.json(); } ) .then( function (response) { let _sysadmin = listaAdmins.filter(val => val._id !== sysadmin._id); setListaAdmins(_sysadmin); setDeleteAdminSystemDialog(false); setSysAdmin(emptySysAdmin); toast.current.show({ severity: 'success', summary: 'Exito', detail: 'Administrador del Sistema Eliminado', life: 3000 }); } ) .catch( err => { console.log('Ocurrió un error con el fetch', err) toast.current.show({ severity: 'danger', summary: 'Error', detail: 'Administrador del Sistema no se pudo eliminar', life: 3000 }); } ); } const deleteSelectedAdminsSystem = () => { let _administrators = listaAdmins.filter(val => !selectedAdministrators.includes(val)); selectedAdministrators.map((item) => { fetch('http://localhost:4000/user/deleteAdminSystem/' + item._id, { cache: 'no-cache', method: 'DELETE', headers: { 'Content-Type': 'application/json' } }) }) setListaAdmins(_administrators); setDeleteAdminsSystemDialog(false); setSelectedAdministrators(null); toast.current.show({ severity: 'success', summary: 'Successful', detail: 'Products Deleted', life: 3000 }); } const actionsAdmin = (rowData) => { return (
); } const leftToolbarTemplate = () => { return (
) } const rightToolbarTemplate = () => { return (