Implemented signalr in assign team tab in project details
This commit is contained in:
parent
250c1bf2e1
commit
e6a461c2ab
@ -117,7 +117,7 @@ const MapUsers = ({
|
||||
<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-header text-center">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close">
|
||||
<button type="button" className="btn-close" data-bs-dismiss="modal" aria-label="Close">
|
||||
</button>
|
||||
</div>
|
||||
<p className="m-0 fw-semibold fs-5">Assign Employee</p>
|
||||
|
@ -1,4 +1,4 @@
|
||||
import React, { useState, useEffect } from "react";
|
||||
import React, { useState, useEffect, useCallback } from "react";
|
||||
import MapUsers from "./MapUsers";
|
||||
import { Link, NavLink, useNavigate } from "react-router-dom";
|
||||
|
||||
@ -13,6 +13,7 @@ import useMaster from "../../hooks/masterHook/useMaster";
|
||||
import { useHasUserPermission } from "../../hooks/useHasUserPermission";
|
||||
import { ASSIGN_TO_PROJECT } from "../../utils/constants";
|
||||
import ConfirmModal from "../common/ConfirmModal";
|
||||
import eventBus from "../../services/eventBus";
|
||||
|
||||
const Teams = ({ project }) => {
|
||||
const dispatch = useDispatch();
|
||||
@ -173,6 +174,20 @@ const Teams = ({ project }) => {
|
||||
}
|
||||
const closeDeleteModal = ()=> setIsDeleteModal(false)
|
||||
|
||||
const handler = useCallback(
|
||||
(msg) => {
|
||||
if (msg.projectIds.some((item) => item === project.id)) {
|
||||
fetchEmployees();
|
||||
}
|
||||
},
|
||||
[]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
eventBus.on("assign_project_all", handler);
|
||||
return () => eventBus.off("assign_project_all", handler);
|
||||
}, [handler]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<div
|
||||
@ -322,10 +337,10 @@ const Teams = ({ project }) => {
|
||||
{" "}
|
||||
{removingEmployeeId === item.id ? (
|
||||
<div
|
||||
class="spinner-border spinner-border-sm text-primary"
|
||||
className="spinner-border spinner-border-sm text-primary"
|
||||
role="status"
|
||||
>
|
||||
<span class="visually-hidden">
|
||||
<span className="visually-hidden">
|
||||
Loading...
|
||||
</span>
|
||||
</div>
|
||||
|
@ -125,7 +125,6 @@ const ProjectList = () => {
|
||||
indexOfLastItem
|
||||
);
|
||||
const totalPages = Math.ceil(filteredProjects.length / itemsPerPage);
|
||||
console.log("filtter", currentItems);
|
||||
useEffect(() => {
|
||||
const tooltipTriggerList = Array.from(
|
||||
document.querySelectorAll('[data-bs-toggle="tooltip"]')
|
||||
|
@ -28,6 +28,7 @@ export function startSignalR(loggedUser) {
|
||||
.split("T")[0];
|
||||
connection.on("NotificationEventHandler", (data) => {
|
||||
// console.log("Notification received:", data);
|
||||
// if action taken on attendance module
|
||||
if (data.keyword == "Attendance") {
|
||||
const checkIn = data.response.checkInTime.substring(0, 10);
|
||||
if (data.loginUserId != loggedUser?.employeeInfo.id) {
|
||||
@ -47,10 +48,20 @@ export function startSignalR(loggedUser) {
|
||||
eventBus.emit("attendance_log", data);
|
||||
}
|
||||
}
|
||||
// if create or update project
|
||||
if (data.keyword == "Create_Project" || data.keyword == "Update_Project") {
|
||||
clearCacheKey("projectslist");
|
||||
eventBus.emit("project", data);
|
||||
}
|
||||
// if assign or deassign employee to any project
|
||||
if (data.keyword == "Assign_Project") {
|
||||
|
||||
if(data.employeeList.some((item) => item === loggedUser?.employeeInfo.id)){
|
||||
console.log("in one employee")
|
||||
eventBus.emit("assign_project_one", data);
|
||||
}
|
||||
eventBus.emit("assign_project_all", data);
|
||||
}
|
||||
});
|
||||
|
||||
connection
|
||||
|
Loading…
x
Reference in New Issue
Block a user