pramod_Bug#160 :Unnecessary Multiple profile API Requests call on Page Load #166

Merged
vikas.nale merged 4 commits from pramod_Bug#160 into Issue_May_5W 2025-05-31 10:17:49 +00:00
Showing only changes of commit d25aa108f1 - Show all commits

View File

@ -14,9 +14,13 @@ const MapUsers = ({
assignedLoading, assignedLoading,
setAssignedLoading, setAssignedLoading,
}) => { }) => {
const { employeesList, loading: employeeLoading, error } = useAllEmployees(false); const {
employeesList,
loading: employeeLoading,
error,
} = useAllEmployees(false);
const [selectedEmployees, setSelectedEmployees] = useState([]); const [selectedEmployees, setSelectedEmployees] = useState([]);
const [ searchText, setSearchText ] = useState( "" ); const [searchText, setSearchText] = useState("");
const handleAllocationData = Array.isArray(allocation) ? allocation : []; const handleAllocationData = Array.isArray(allocation) ? allocation : [];
@ -96,9 +100,8 @@ const MapUsers = ({
}); });
}; };
const handleSubmit = () => const handleSubmit = () => {
{ setAssignedLoading(true);
setAssignedLoading(true)
const selected = selectedEmployees const selected = selectedEmployees
.filter((emp) => emp.isSelected) .filter((emp) => emp.isSelected)
.map((emp) => ({ empID: emp.id, jobRoleId: emp.jobRoleId })); .map((emp) => ({ empID: emp.id, jobRoleId: emp.jobRoleId }));
@ -108,32 +111,33 @@ const MapUsers = ({
} else { } else {
showToast("Please select Employee", "error"); showToast("Please select Employee", "error");
} }
}; };
return ( return (
<> <>
<div className="modal-dialog modal-dialog-scrollable mx-sm-auto mx-1 modal-lg modal-simple modal-edit-user"> <div className="modal-dialog modal-dialog-scrollable mx-sm-auto mx-1 modal-lg modal-simple modal-edit-user">
<div className="modal-content"> <div className="modal-content">
<div className="modal-header "> <div className="modal-header text-center">
<div className="md-2 mb-n5"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
</button>
</div>
<p className="m-0 fw-semibold fs-5">Assign Employee</p>
<div className="px-4 mt-4 col-md-4 text-start">
{(filteredData.length > 0 || {(filteredData.length > 0 ||
allocationEmployeesData.length > 0)&& ( allocationEmployeesData.length > 0) && (
<div className="input-group"> <div className="input-group input-group-sm mb-2">
<input <input
type="search" type="search"
className="form-control form-control-sm" className="form-control"
placeholder="Search employees..." placeholder="Search employees..."
onChange={(e) => setSearchQuery(e.target.value)} onChange={(e) => setSearchQuery(e.target.value)}
/> />
</div> </div>
)} )}
<p className="mb-0 small text-muted fw-semibold">Select Employee</p>
</div> </div>
</div>
<div className="d-flex justify-content-start align-items-center px-4 mt-6">
<h5 className="mb-0 mt-1">
<i className=" text-warning me-3"></i> Select Employee
</h5>
</div>
<div className="modal-body p-sm-4 p-0"> <div className="modal-body p-sm-4 p-0">
<table <table
className="datatables-users table border-top dataTable no-footer dtr-column " className="datatables-users table border-top dataTable no-footer dtr-column "
@ -141,7 +145,6 @@ const MapUsers = ({
aria-describedby="DataTables_Table_0_info" aria-describedby="DataTables_Table_0_info"
style={{ width: "100%" }} style={{ width: "100%" }}
> >
<tbody> <tbody>
{employeeLoading && allocationEmployeesData.length === 0 && ( {employeeLoading && allocationEmployeesData.length === 0 && (
<tr> <tr>
@ -152,13 +155,14 @@ const MapUsers = ({
{!employeeLoading && {!employeeLoading &&
allocationEmployeesData.length === 0 && allocationEmployeesData.length === 0 &&
filteredData.length === 0 && ( filteredData.length === 0 && (
<tr> <tr>
<td>All employee assigned to Project.</td> <td>All employee assigned to Project.</td>
</tr> </tr>
)} )}
{!employeeLoading && allocationEmployeesData.length > 0 && filteredData.length === 0 && ( {!employeeLoading &&
allocationEmployeesData.length > 0 &&
filteredData.length === 0 && (
<tr> <tr>
<td>No matching employees found.</td> <td>No matching employees found.</td>
</tr> </tr>
@ -182,11 +186,8 @@ const MapUsers = ({
<div className="modal-footer"> <div className="modal-footer">
{(filteredData.length > 0 || {(filteredData.length > 0 ||
allocationEmployeesData.length > 0) && ( allocationEmployeesData.length > 0) && (
<button <button className="btn btn-sm btn-success" onClick={handleSubmit}>
className="btn btn-sm btn-success" {assignedLoading ? "Please Wait..." : "Assign to Project"}
onClick={handleSubmit}
>
{assignedLoading ? "Please Wait...":"Assign to Project"}
</button> </button>
)} )}