From af5519fd6005e98cc43d085fa889e299b58163e8 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Fri, 19 Sep 2025 14:53:40 +0530 Subject: [PATCH 1/4] Adding Dropdown and Organization Column in Teams --- src/components/Project/Teams.jsx | 65 +++++++++++++++++++------------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/src/components/Project/Teams.jsx b/src/components/Project/Teams.jsx index 3a8d78cf..e39a4b13 100644 --- a/src/components/Project/Teams.jsx +++ b/src/components/Project/Teams.jsx @@ -21,8 +21,6 @@ import { import { useSelectedProject } from "../../slices/apiDataManager"; const Teams = () => { - // const {projectId} = useParams() - // const projectId = useSelector((store)=>store.localVariables.projectId) const projectId = useSelectedProject(); const dispatch = useDispatch(); @@ -136,7 +134,6 @@ const Teams = () => { useEffect(() => { if (projectEmployees) { setEmployees(projectEmployees); - //setFilteredEmployees(projectEmployees?.filter((emp) => emp.isActive)); const filtered = projectEmployees.filter((emp) => emp.isActive); setFilteredEmployees(filtered); } @@ -179,13 +176,6 @@ const Teams = () => { const handleFilterEmployee = (e) => { const filterValue = e.target.value; - // if (filterValue === "true") { - // setActiveEmployee(true); - // setFilteredEmployees(employees.filter((emp) => emp.isActive)); - // } else { - // setFilteredEmployees(employees.filter((emp) => !emp.isActive)); - // setActiveEmployee(false); - // } setActiveEmployee(filterValue === "true"); setSearchTerm(""); }; @@ -274,6 +264,27 @@ const Teams = () => { onChange={handleSearch} /> + {/* Services-Dropdown */} + +
+ +
{
+ + +
+ + {item.organizationName || "N/A"} + - {" "} - {moment(item.allocationDate).format( - "DD-MMM-YYYY" - )}{" "} + {moment(item.allocationDate).format("DD-MMM-YYYY")} {!activeEmployee && ( {item.reAllocationDate - ? moment(item.reAllocationDate).format( - "DD-MMM-YYYY" - ) + ? moment(item.reAllocationDate).format("DD-MMM-YYYY") : "Present"} )} @@ -373,7 +385,7 @@ const Teams = () => { - {item.isActive && ( + {item.isActive ? ( + ) : ( + Not in project )} - {!item.isActive && Not in project} ))} + )} {!employeeLodaing && filteredEmployees.length === 0 && (
-- 2.43.0 From 7d17422681e73d55e1720203bcd569ce5a733470 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Fri, 19 Sep 2025 16:02:36 +0530 Subject: [PATCH 2/4] Calling Api for Services dropdown. --- src/components/Project/Teams.jsx | 50 ++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/components/Project/Teams.jsx b/src/components/Project/Teams.jsx index e39a4b13..fcac139e 100644 --- a/src/components/Project/Teams.jsx +++ b/src/components/Project/Teams.jsx @@ -17,6 +17,7 @@ import eventBus from "../../services/eventBus"; import { useEmployeesByProjectAllocated, useManageProjectAllocation, + useProjectAssignedServices, } from "../../hooks/useProjects"; import { useSelectedProject } from "../../slices/apiDataManager"; @@ -35,6 +36,13 @@ const Teams = () => { const [activeEmployee, setActiveEmployee] = useState(true); const [deleteEmployee, setDeleteEmplyee] = useState(null); const [searchTerm, setSearchTerm] = useState(""); // State for search term + const { data: assignedServices, isLoading: servicesLoading } = useProjectAssignedServices(projectId); + + const [selectedService, setSelectedService] = useState(""); + + const handleServiceChange = (e) => { + setSelectedService(e.target.value); + }; const navigate = useNavigate(); @@ -266,25 +274,29 @@ const Teams = () => {
{/* Services-Dropdown */} -
- -
+
+ +
Date: Fri, 19 Sep 2025 19:13:02 +0530 Subject: [PATCH 3/4] Adding condition if single or no project assigned then dropdown is not shown --- src/components/Project/Teams.jsx | 87 ++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 39 deletions(-) diff --git a/src/components/Project/Teams.jsx b/src/components/Project/Teams.jsx index fcac139e..afde352a 100644 --- a/src/components/Project/Teams.jsx +++ b/src/components/Project/Teams.jsx @@ -37,6 +37,7 @@ const Teams = () => { const [deleteEmployee, setDeleteEmplyee] = useState(null); const [searchTerm, setSearchTerm] = useState(""); // State for search term const { data: assignedServices, isLoading: servicesLoading } = useProjectAssignedServices(projectId); + const handleToggleActive = e => setActiveEmployee(e.target.checked); const [selectedService, setSelectedService] = useState(""); @@ -262,22 +263,10 @@ const Teams = () => {
-
- -
- {/* Services-Dropdown */} - -
+
+ {servicesLoading ? ( + Loading... + ) : assignedServices?.length > 1 ? ( -
-
-
-
- + {assignedServices?.length === 1 + ? assignedServices[0].name + : "No service available"} +
+ )}
- +
+ +
+ +
+
+
+ + +
-
+
{ {activeEmployee ? "Active Employees" : "Inactive Employees"}
+
+ +