added midleName for search in employee list

This commit is contained in:
Pramod Mahajan 2025-05-09 17:57:19 +05:30
parent 067f7306d4
commit 31e5a63fb7

View File

@ -43,10 +43,10 @@ const EmployeeList = () => {
const [searchText, setSearchText] = useState(""); const [searchText, setSearchText] = useState("");
const [filteredData, setFilteredData] = useState([]); const [filteredData, setFilteredData] = useState([]);
const [showModal, setShowModal] = useState(false); const [showModal, setShowModal] = useState(false);
const [ selectedEmployeeId, setSelecedEmployeeId ] = useState(); const [selectedEmployeeId, setSelecedEmployeeId] = useState();
const [ IsDeleteModalOpen, setIsDeleteModalOpen ] = useState( false ) const [IsDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
const [ selectedEmpFordelete, setSelectedEmpFordelete ] = useState( null ) const [selectedEmpFordelete, setSelectedEmpFordelete] = useState(null);
const[employeeLodaing,setemployeeLodaing] = useState(false) const [employeeLodaing, setemployeeLodaing] = useState(false);
const navigate = useNavigate(); const navigate = useNavigate();
@ -70,8 +70,12 @@ const EmployeeList = () => {
if (!loading && Array.isArray(employees)) { if (!loading && Array.isArray(employees)) {
// Sort by full name (firstName + lastName) // Sort by full name (firstName + lastName)
const sorted = [...employees].sort((a, b) => { const sorted = [...employees].sort((a, b) => {
const nameA = `${a.firstName || ""}${a.lastName || ""}`.toLowerCase(); const nameA = `${a.firstName || ""}${a.middleName || ""}${
const nameB = `${b.firstName || ""}${b.lastName || ""}`.toLowerCase(); a.lastName || ""
}`.toLowerCase();
const nameB = `${b.firstName || ""}${b.middleName || ""}${
b.lastName || ""
}`.toLowerCase();
return nameA.localeCompare(nameB); return nameA.localeCompare(nameB);
}); });
@ -112,7 +116,7 @@ const EmployeeList = () => {
const handleClose = () => setShowModal(false); const handleClose = () => setShowModal(false);
const suspendEmployee = (id) => { const suspendEmployee = (id) => {
setemployeeLodaing(true) setemployeeLodaing(true);
EmployeeRepository.deleteEmployee(id) EmployeeRepository.deleteEmployee(id)
.then((response) => { .then((response) => {
showToast("Employee deleted successfully.", "success"); showToast("Employee deleted successfully.", "success");
@ -121,18 +125,18 @@ const EmployeeList = () => {
clearCacheKey("allInactiveEmployeeList"); clearCacheKey("allInactiveEmployeeList");
clearCacheKey("employeeProfile"); clearCacheKey("employeeProfile");
setEmployeeList([]); setEmployeeList([]);
recallEmployeeData( showInactive ); recallEmployeeData(showInactive);
setemployeeLodaing( false ) setemployeeLodaing(false);
setIsDeleteModalOpen(false) setIsDeleteModalOpen(false);
}) })
.catch((error) => { .catch((error) => {
const message = const message =
error.response?.data?.message || error.response?.data?.message ||
error.message || error.message ||
"An unexpected error occurred"; "An unexpected error occurred";
showToast( message, "error" ); showToast(message, "error");
setemployeeLodaing( false ) setemployeeLodaing(false);
setIsDeleteModalOpen(false) setIsDeleteModalOpen(false);
}); });
}; };
@ -178,13 +182,11 @@ const EmployeeList = () => {
setShowModal(true); setShowModal(true);
}; };
const handleOpenDelete = (employee) => const handleOpenDelete = (employee) => {
{ console.log(employee);
console.log(employee) setSelectedEmpFordelete(employee);
setSelectedEmpFordelete( employee ) setIsDeleteModalOpen(true);
setIsDeleteModalOpen( true ); };
}
return ( return (
<> <>
@ -198,11 +200,11 @@ const EmployeeList = () => {
style={{ display: showModal ? "block" : "none" }} style={{ display: showModal ? "block" : "none" }}
aria-hidden={!showModal} aria-hidden={!showModal}
> >
<div <div className="modal-dialog modal-xl modal-dialog-centered ">
className="modal-dialog modal-xl modal-dialog-centered " <div
> className="modal-content overflow-y-auto overflow-x-hidden"
<div className="modal-content overflow-y-auto overflow-x-hidden" style={{ maxHeight: "90vh" }}
style={{ maxHeight: "90vh" }}> >
<ManageEmployee <ManageEmployee
employeeId={selectedEmployeeId} employeeId={selectedEmployeeId}
onClosed={closeModal} onClosed={closeModal}
@ -211,25 +213,25 @@ const EmployeeList = () => {
</div> </div>
</div> </div>
{IsDeleteModalOpen && (
{IsDeleteModalOpen && (
<div <div
className={`modal fade ${IsDeleteModalOpen ? "show" : ""}`} className={`modal fade ${IsDeleteModalOpen ? "show" : ""}`}
tabIndex="-1" tabIndex="-1"
role="dialog" role="dialog"
style={{ style={{
display: IsDeleteModalOpen ? "block" : "none", display: IsDeleteModalOpen ? "block" : "none",
backgroundColor: IsDeleteModalOpen ? "rgba(0,0,0,0.5)" : "transparent", backgroundColor: IsDeleteModalOpen
? "rgba(0,0,0,0.5)"
: "transparent",
}} }}
aria-hidden="false" aria-hidden="false"
> >
<ConfirmModal <ConfirmModal
type={"delete"} type={"delete"}
header={"Suspend Employee"} header={"Suspend Employee"}
message={"Are you sure you want delete?"} message={"Are you sure you want delete?"}
onSubmit={suspendEmployee} onSubmit={suspendEmployee}
onClose={()=>setIsDeleteModalOpen(false)} onClose={() => setIsDeleteModalOpen(false)}
loading={employeeLodaing} loading={employeeLodaing}
paramData={selectedEmpFordelete} paramData={selectedEmpFordelete}
/> />
@ -416,7 +418,7 @@ const EmployeeList = () => {
aria-label="User: activate to sort column ascending" aria-label="User: activate to sort column ascending"
aria-sort="descending" aria-sort="descending"
> >
<div className="text-start ms-6">Name</div> <div className="text-start ms-6">Name</div>
</th> </th>
<th <th
className="sorting sorting_desc d-none d-sm-table-cell" className="sorting sorting_desc d-none d-sm-table-cell"
@ -619,7 +621,9 @@ const EmployeeList = () => {
<> <>
<button <button
className="dropdown-item py-1" className="dropdown-item py-1"
onClick={()=>handleOpenDelete(item.id)} onClick={() =>
handleOpenDelete(item.id)
}
> >
<i className="bx bx-task-x bx-sm"></i>{" "} <i className="bx bx-task-x bx-sm"></i>{" "}
Suspend Suspend