import React, { useState, useEffect } from "react"; import { Link } from "react-router-dom"; import Button from "@material-ui/core/Button"; import { useNavigate } from "react-router-dom"; import axios from "axios"; import { isAutheticated } from "src/auth"; import swal from "sweetalert"; import { Box, FormControl, IconButton, InputLabel, MenuItem, Select, TextField, } from "@mui/material"; import SearchIcon from "@mui/icons-material/Search"; import Fuse from "fuse.js"; import { Typography } from "@material-ui/core"; // import OrderDetails from "./orderDetails"; const Employee = () => { const token = isAutheticated(); const [query, setQuery] = useState(""); const navigate = useNavigate(); const [loading, setLoading] = useState(true); const [loading1, setLoading1] = useState(true); const [success, setSuccess] = useState(true); const [employee, setemployee] = useState([]); const [currentPage, setCurrentPage] = useState(1); const [itemPerPage, setItemPerPage] = useState(10); const [showData, setShowData] = useState(employee); const handleShowEntries = (e) => { setCurrentPage(1); setItemPerPage(e.target.value); }; useEffect(() => { const loadData = () => { const indexOfLastPost = currentPage * itemPerPage; const indexOfFirstPost = indexOfLastPost - itemPerPage; setShowData(employee.slice(indexOfFirstPost, indexOfLastPost)); }; loadData(); }, [currentPage, itemPerPage, employee]); console.log(employee); // const getemployee = async () => { // axios // .get(`/api/v1/admin/employee`, { // headers: { // Authorization: `Bearer ${token}`, // }, // }) // .then((res) => { // setemployee(res.data.employee); // setLoading(false); // }) // .catch((error) => { // swal({ // title: error, // text: "please login to access the resource or refresh the page ", // icon: "error", // button: "Retry", // dangerMode: true, // }); // setLoading(false); // }); // }; // useEffect(() => { // getemployee(); // }, [success]); // console.log(employee); // useEffect(() => { // const loadData = () => { // const indexOfLastPost = currentPage * itemPerPage; // const indexOfFirstPost = indexOfLastPost - itemPerPage; // setShowData(employee.slice(indexOfFirstPost, indexOfLastPost)); // }; // loadData(); // }, [currentPage, itemPerPage, employee]); // console.log(employee); // const handleDelete = (id) => { // swal({ // title: "Are you sure?", // icon: "error", // buttons: { // Yes: { text: "Yes", value: true }, // Cancel: { text: "Cancel", value: "cancel" }, // }, // }).then((value) => { // if (value === true) { // axios // .delete(`/api/user-address/deleteAddress/${id}`, { // headers: { // "Access-Control-Allow-Origin": "*", // Authorization: `Bearer ${token}`, // }, // }) // .then((res) => { // swal({ // title: "Deleted", // text: "Address Deleted successfully!", // icon: "success", // button: "ok", // }); // setSuccess((prev) => !prev); // }) // .catch((err) => { // swal({ // title: "Warning", // text: "Something went wrong!", // icon: "error", // button: "Retry", // dangerMode: true, // }); // }); // } // }); // }; // get All employee const getemployee = async () => { axios .get(`/api/v1/admin/employee`, { headers: { Authorization: `Bearer ${token}`, }, }) .then((res) => { setemployee(res.data.employee); setLoading(false); }) .catch((error) => { swal({ title: error, text: "please login to access the resource or refresh the page ", icon: "error", button: "Retry", dangerMode: true, }); setLoading(false); }); }; useEffect(() => { getemployee(); }, [success]); console.log(employee); console.log("showdata", showData); // const trueEntries = Object.entries(showData.).filter( // ([key, value]) => value === true // ); const renderAccessTo = (accessTo) => { return Object.entries(accessTo) .filter(([key, value]) => value === true) .map(([key, value]) => key) .join(", "); }; const handleDelete = async (id) => { try { // Send a DELETE request to your API to delete the employee by ID const res = await axios.delete(`/api/v1/admin/delete-employee/${id}`, { headers: { Authorization: `Bearer ${token}`, }, }); // If deletion is successful, update the employee list swal({ title: "Congratulations!!", text: res?.data?.message, icon: "success", buttons: "OK", }); setemployee(employee.filter((employee) => employee._id !== id)); } catch (error) { console.error("Error deleting employee:", error); swal({ title: "", text: "Something went wrong!", icon: "error", button: "Retry", dangerMode: true, }); } }; return (
Employee Name | Access to | Action | |||
---|---|---|---|---|---|
No Data Available |
|||||
Loading... | |||||
{employee.name} | {employee.email} | {renderAccessTo(employee.accessTo)} |