diff --git a/src/components/Project/MapUsers.jsx b/src/components/Project/MapUsers.jsx
index 393d3e04..be02b1f4 100644
--- a/src/components/Project/MapUsers.jsx
+++ b/src/components/Project/MapUsers.jsx
@@ -1,8 +1,9 @@
import React, { useState, useEffect } from "react";
import EmployeeRepository from "../../repositories/EmployeeRepository";
-import AssignEmployeeCard from "./AssignEmployeeCard";
-import {useAllEmployees} from "../../hooks/useEmployees";
+import { useAllEmployees } from "../../hooks/useEmployees";
import useSearch from "../../hooks/useSearch";
+import AssignEmployeeTable from "./AssignEmployeeTable";
+import showToast from "../../services/toastService";
const MapUsers = ({
projectId,
@@ -11,61 +12,59 @@ const MapUsers = ({
onSubmit,
allocation,
}) => {
- const {employeesList, loading, error} = useAllEmployees();
+ const { employeesList, loading, error } = useAllEmployees();
const [selectedEmployees, setSelectedEmployees] = useState([]);
const [searchText, setSearchText] = useState("");
- const handleAllocationData = Array.isArray( allocation ) ? allocation : [];
+ const handleAllocationData = Array.isArray(allocation) ? allocation : [];
const allocationEmployees = employeesList.map((employee) => {
- const allocationItem = handleAllocationData.find((alloc) => alloc.employeeId === employee.id);
+ const allocationItem = handleAllocationData.find(
+ (alloc) => alloc.employeeId === employee.id
+ );
return {
...employee,
isActive: allocationItem ? allocationItem.isActive : false,
jobRoleId: allocationItem ? allocationItem.jobRoleId : employee.jobRoleId,
};
- } );
+ });
+ function parseDate(dateStr) {
+ return new Date(dateStr.split(".")[0]);
+ }
-
-
-function parseDate(dateStr) {
- return new Date(dateStr.split('.')[0]);
-}
-
-
-const latestAllocations = handleAllocationData.reduce((acc, alloc) => {
+ const latestAllocations = handleAllocationData.reduce((acc, alloc) => {
const existingAlloc = acc[alloc.employeeId];
if (!existingAlloc) {
- acc[alloc.employeeId] = alloc;
+ acc[alloc.employeeId] = alloc;
} else {
-
- const existingDate = parseDate(existingAlloc.reAllocationDate || existingAlloc.allocationDate);
- const newDate = parseDate(alloc.reAllocationDate || alloc.allocationDate);
+ const existingDate = parseDate(
+ existingAlloc.reAllocationDate || existingAlloc.allocationDate
+ );
+ const newDate = parseDate(alloc.reAllocationDate || alloc.allocationDate);
-
- if (newDate > existingDate) {
- acc[alloc.employeeId] = alloc;
- }
+ if (newDate > existingDate) {
+ acc[alloc.employeeId] = alloc;
+ }
}
return acc;
-}, {});
+ }, {});
-
-const allocationEmployeesData = employeesList
+ const allocationEmployeesData = employeesList
.map((employee) => {
- const allocationItem = latestAllocations[employee.id];
- return {
- ...employee,
- isActive: allocationItem ? allocationItem.isActive : false,
- };
+ const allocationItem = latestAllocations[employee.id];
+ return {
+ ...employee,
+ isActive: allocationItem ? allocationItem.isActive : false,
+ };
})
- .filter( ( employee ) => employee.isActive === false );
-
-
-
- const { filteredData, setSearchQuery } = useSearch(allocationEmployeesData, searchText);
+ .filter((employee) => employee.isActive === false);
+
+ const { filteredData, setSearchQuery } = useSearch(
+ allocationEmployeesData,
+ searchText
+ );
const handleRoleChange = (employeeId, newRoleId) => {
setSelectedEmployees((prevSelectedEmployees) =>
@@ -78,7 +77,9 @@ const allocationEmployeesData = employeesList
const handleCheckboxChange = (employeeId) => {
setSelectedEmployees((prevSelectedEmployees) => {
const updatedEmployees = [...prevSelectedEmployees];
- const employeeIndex = updatedEmployees.findIndex((emp) => emp.id === employeeId);
+ const employeeIndex = updatedEmployees.findIndex(
+ (emp) => emp.id === employeeId
+ );
if (employeeIndex !== -1) {
const isSelected = !updatedEmployees[employeeIndex].isSelected;
@@ -93,12 +94,17 @@ const allocationEmployeesData = employeesList
});
};
-
const handleSubmit = () => {
const selected = selectedEmployees
.filter((emp) => emp.isSelected)
.map((emp) => ({ empID: emp.id, jobRoleId: emp.jobRoleId }));
- onSubmit(selected);
+ if (selected.length > 0) {
+ console.log(selected);
+ onSubmit( selected );
+ setSelectedEmployees([])
+ } else {
+ showToast("Please select Employee", "error");
+ }
};
return (
@@ -118,20 +124,27 @@ const allocationEmployeesData = employeesList
-
- {loading && !employeesList && Loading...
}
- {filteredData.map((emp) => (
-
- ) )}
- {filteredData.length == 0 && No Data Found
}
-
+
+
+
+ {loading && !employeesList && Loading...
}
+ {filteredData.map((emp) => (
+
+ ))}
+
+