improve singalR functionlity in assign task pop to add or remove employee if assigned or removed from project
This commit is contained in:
parent
ec75858f7e
commit
f7d0a35b3a
@ -78,10 +78,11 @@ const AssignRoleModel = ({ assignData, onClose, setAssigned }) => {
|
|||||||
const selectedProject = useSelector(
|
const selectedProject = useSelector(
|
||||||
(store) => store.localVariables.projectId
|
(store) => store.localVariables.projectId
|
||||||
);
|
);
|
||||||
const { employees, loading: employeeLoading,recallEmployeeData } = useEmployeesAllOrByProjectId(
|
const {
|
||||||
selectedProject,
|
employees,
|
||||||
false
|
loading: employeeLoading,
|
||||||
);
|
recallEmployeeData,
|
||||||
|
} = useEmployeesAllOrByProjectId(selectedProject, false);
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const { loading } = useMaster(); // Assuming this is for jobRoleData loading
|
const { loading } = useMaster(); // Assuming this is for jobRoleData loading
|
||||||
const jobRoleData = getCachedData("Job Role");
|
const jobRoleData = getCachedData("Job Role");
|
||||||
@ -175,7 +176,7 @@ const AssignRoleModel = ({ assignData, onClose, setAssigned }) => {
|
|||||||
showToast("Task Successfully Assigned", "success"); // Show success toast
|
showToast("Task Successfully Assigned", "success"); // Show success toast
|
||||||
reset(); // Reset form fields
|
reset(); // Reset form fields
|
||||||
clearCacheKey("projectInfo");
|
clearCacheKey("projectInfo");
|
||||||
setAssigned(formattedData.plannedTask)
|
setAssigned(formattedData.plannedTask);
|
||||||
onClose(); // Close the modal
|
onClose(); // Close the modal
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error assigning task:", error); // Log the full error for debugging
|
console.error("Error assigning task:", error); // Log the full error for debugging
|
||||||
@ -189,24 +190,34 @@ const AssignRoleModel = ({ assignData, onClose, setAssigned }) => {
|
|||||||
onClose();
|
onClose();
|
||||||
};
|
};
|
||||||
|
|
||||||
const handler = useCallback(
|
const handler = useCallback(
|
||||||
(msg) => {
|
(msg) => {
|
||||||
if(employees.some((item) => item.id == msg.employeeId)){
|
if (employees.some((item) => item.id == msg.employeeId)) {
|
||||||
console.log("handller function start")
|
|
||||||
clearCacheKey("employeeListByProject");
|
|
||||||
clearCacheKey("allEmployeeList");
|
|
||||||
clearCacheKey("allInactiveEmployeeList");
|
|
||||||
clearCacheKey("employeeProfile");
|
|
||||||
recallEmployeeData(false);
|
recallEmployeeData(false);
|
||||||
console.log("handller function end")
|
|
||||||
}
|
}
|
||||||
},[employees]
|
},
|
||||||
|
[employees]
|
||||||
|
);
|
||||||
|
|
||||||
|
const assignHandler = useCallback(
|
||||||
|
(msg) => {
|
||||||
|
if (msg.projectIds.some((item) => item == selectedProject)) {
|
||||||
|
clearCacheKey("employeeListByProject")
|
||||||
|
recallEmployeeData(false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[selectedProject]
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
eventBus.on("employee",handler);
|
eventBus.on("employee", handler);
|
||||||
return () => eventBus.off("employee",handler)
|
return () => eventBus.off("employee", handler);
|
||||||
},[handler])
|
}, [handler]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
eventBus.on("assign_project_all", assignHandler);
|
||||||
|
return () => eventBus.off("assign_project_all", assignHandler);
|
||||||
|
}, [assignHandler]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
Loading…
x
Reference in New Issue
Block a user