import React, { ChangeEvent, useEffect, useState } from "react"; import { getUsersList, useGetUsersData } from "../../APIs/ManageUsersAPIs/getUsersList"; import { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, Button, IconButton, TextField, Dialog, DialogTitle, DialogContent, DialogActions, } from '@mui/material'; import DeleteIcon from '@mui/icons-material/Delete'; import EditIcon from '@mui/icons-material/Edit'; import AddIcon from '@mui/icons-material/Add'; interface Row { id: number; name: string; age: number; } const initialData: Row[] = [ { id: 1, name: 'Row 1', age: 25 }, { id: 2, name: 'Row 2', age: 30 }, ]; export default function ManageUsers(){ const [manageUsersData,setManageUsersData] = useState() const { data: manageUsersResponse, isLoading, isError } = useGetUsersData(); const [data, setData] = useState(initialData); const [open, setOpen] = useState(false); const [selectedRow, setSelectedRow] = useState({ id: 0, name: '', age: 0 }); const [newRow, setNewRow] = useState({ id: 0, name: '', age: 0 }); const handleEdit = (row: Row) => { setSelectedRow(row); setOpen(true); }; const handleDelete = (id: number) => { const updatedData = data.filter((row) => row.id !== id); setData(updatedData); }; const handleSave = () => { if (selectedRow.id) { const updatedData = data.map((row) => (row.id === selectedRow.id ? selectedRow : row)); setData(updatedData); } else { const id = data.length + 1; setNewRow({ ...newRow, id }); setData([...data, { ...newRow, id }]); } setOpen(false); setSelectedRow({ id: 0, name: '', age: 0 }); }; const handleOpen = () => { setOpen(true); }; const handleClose = () => { setOpen(false); setSelectedRow({ id: 0, name: '', age: 0 }); }; const handleChange = (e: ChangeEvent) => { const { name, value } = e.target; setSelectedRow({ ...selectedRow, [name]: value }); setNewRow({ ...newRow, [name]: value }); }; console.log(manageUsersResponse,"dsjhgfsdugf") return(
Name Email Id Last Login Active {manageUsersResponse && manageUsersResponse.map((row:any) => ( handleEdit(row)} aria-label="edit"> handleDelete(row.id)} aria-label="delete"> {row.username} {row.email_id} {row.last_login} {row.active} ))}
{selectedRow.id ? 'Edit Row' : 'Add New Row'}
) }