addNew feature

This commit is contained in:
Sonika 2023-12-20 15:53:36 +05:30
parent 34dc16d12a
commit 3a58e5a1ce
2 changed files with 32 additions and 11 deletions

View File

@ -0,0 +1,9 @@
import axios from "axios";
export const postNewManageUsersData = async (data: any)=> {
const { data: response } = await axios.post(
`${process.env.REACT_APP_API_URL}/add-user`,
data
);
return await response.data;
};

View File

@ -21,6 +21,9 @@ import {
import DeleteIcon from '@mui/icons-material/Delete'; import DeleteIcon from '@mui/icons-material/Delete';
import EditIcon from '@mui/icons-material/Edit'; import EditIcon from '@mui/icons-material/Edit';
import AddIcon from '@mui/icons-material/Add'; import AddIcon from '@mui/icons-material/Add';
import { postNewManageUsersData } from "../../APIs/ManageUsersAPIs/postAddUser";
import { useMutation } from '@tanstack/react-query';
const StyledTextField = (props:any) => ( const StyledTextField = (props:any) => (
<TextField <TextField
@ -44,8 +47,8 @@ const StyledTextField = (props:any) => (
); );
interface Row { interface Row {
name: string; username: string;
email: string; email_id: string;
last_login:string; last_login:string;
active:boolean|string; active:boolean|string;
} }
@ -60,6 +63,18 @@ export default function ManageUsers(){
const [page, setPage] = React.useState(0); const [page, setPage] = React.useState(0);
const [rowsPerPage, setRowsPerPage] = React.useState(10); const [rowsPerPage, setRowsPerPage] = React.useState(10);
useEffect(()=>{
if (!open){
setSelectedRow({username: '', email_id: '', last_login: '', active: '' });
setNewRow({username: '', email_id: '', last_login: '', active: '' });
}
},[open])
useEffect(() => {
if (selectedRow){
postNewManageUsersData(selectedRow);
}
},[data])
const handleChangePage = (event:any, newPage:any) => { const handleChangePage = (event:any, newPage:any) => {
setPage(newPage); setPage(newPage);
}; };
@ -84,14 +99,12 @@ export default function ManageUsers(){
// } // }
setOpen(false); setOpen(false);
setSelectedRow({name: '', email: '', last_login: '', active: '' });
setNewRow({name: '', email: '', last_login: '', active: '' });
}; };
const handleClose = () => { const handleClose = () => {
setOpen(false); setOpen(false);
setSelectedRow({name: '', email: '', last_login: '', active: '' }); setSelectedRow({username: '', email_id: '', last_login: '', active: '' });
setNewRow({name: '', email: '', last_login: '', active: '' }); setNewRow({username: '', email_id: '', last_login: '', active: '' });
}; };
const handleChange = (e: ChangeEvent<HTMLInputElement>) => { const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
@ -167,19 +180,18 @@ export default function ManageUsers(){
<StyledTextField <StyledTextField
label="Name" label="Name"
type="text" type="text"
name="name" name="username"
value={selectedRow && selectedRow.name} value={selectedRow && selectedRow.username}
onChange={handleChange} onChange={handleChange}
/> />
<StyledTextField <StyledTextField
label="Email" label="Email"
name="email" name="email_id"
value={selectedRow && selectedRow.email_id} value={selectedRow && selectedRow.email_id}
onChange={handleChange} onChange={handleChange}
/> />
<StyledTextField <StyledTextField
label="Last Login" label="Last Login"
type="last_login"
name="last_login" name="last_login"
value={selectedRow && selectedRow.last_login} value={selectedRow && selectedRow.last_login}
onChange={handleChange} onChange={handleChange}