import React, { useState, useEffect, useRef, useCallback } from "react"; import { Link } from "react-router-dom"; import axios from "axios"; import Button from "@material-ui/core/Button"; import { useNavigate } from "react-router-dom"; import { isAutheticated } from "src/auth"; import swal from "sweetalert"; import debounce from "lodash.debounce"; const TerritoryManager = () => { const token = isAutheticated(); const navigate = useNavigate(); const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(true); const [territorymanagersData, setTerritoryManagersData] = useState([]); const nameRef = useRef(); const mobileRef = useRef(); const VerifyTerritoryManagerRef = useRef(); const [currentPage, setCurrentPage] = useState(1); const [itemPerPage, setItemPerPage] = useState(10); const [totalData, setTotalData] = useState(0); const getTerritoryManagersData = async () => { setLoading(true); try { const res = await axios.get(`/api/territorymanager/getAll/`, { headers: { Authorization: `Bearer ${token}`, }, params: { page: currentPage, show: itemPerPage, name: nameRef.current.value, mobileNumber: mobileRef.current.value, isVerified: VerifyTerritoryManagerRef.current.value, }, }); setTerritoryManagersData(res.data?.territoryManager); setTotalData(res.data?.total_data); } catch (err) { const msg = err?.response?.data?.message || "Something went wrong!"; swal({ title: "Error", text: msg, icon: "error", button: "Retry", dangerMode: true, }); } finally { setLoading(false); } }; useEffect(() => { getTerritoryManagersData(); }, [success, itemPerPage, currentPage]); const debouncedSearch = useCallback( debounce(() => { setCurrentPage(1); getTerritoryManagersData(); }, 500), [] ); const handleSearchChange = () => { debouncedSearch(); }; 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/territorymanager/delete/${id}`, { headers: { "Access-Control-Allow-Origin": "*", Authorization: `Bearer ${token}`, }, }) .then((res) => { swal({ title: "Deleted", text: "TerritoryManager Deleted successfully!", icon: "success", button: "ok", }); setSuccess((prev) => !prev); }) .catch((err) => { let msg = err?.response?.data?.message ? err?.response?.data?.message : "Something went wrong!"; swal({ title: "Warning", text: msg, icon: "error", button: "Retry", dangerMode: true, }); }); } }); }; return (
Unique Id | Name | Mobile No. | Verify | Register On | Mapping | Action | |
---|---|---|---|---|---|---|---|
Loading... | |||||||
{territorymanager?.uniqueId} | {territorymanager?.name} | {territorymanager?.mobileNumber} | {territorymanager?.email ? ( territorymanager?.email ) : ( No Email Added! )} | {territorymanager?.isVerified ? "YES" : "NO"} | {new Date( territorymanager.createdAt ).toLocaleString("en-IN", { // weekday: "short", month: "short", day: "numeric", year: "numeric", // hour: "numeric", // minute: "numeric", // hour12: true, })} | ||
No Territory Manager found! |