Add fallback error message handling with server response support

This commit is contained in:
Pramod Mahajan 2025-05-06 16:37:06 +05:30
parent c4ebf6262f
commit fc0edabaec

View File

@ -27,7 +27,7 @@ const EmployeeList = () => {
const { projects, loading: projectLoading } = useProjects();
const ManageEmployee = useHasUserPermission(MANAGE_EMPLOYEES);
const { employees, loading, setLoading, error,recallEmployeeData } =
const { employees, loading, setLoading, error, recallEmployeeData } =
useEmployeesAllOrByProjectId(selectedProject);
const [projectsList, setProjectsList] = useState(projects || []);
@ -110,11 +110,15 @@ const EmployeeList = () => {
clearCacheKey("employeeListByProject");
clearCacheKey("allEmployeeList");
clearCacheKey("employeeProfile");
setEmployeeList([])
recallEmployeeData()
setEmployeeList([]);
recallEmployeeData();
})
.catch((error) => {
showToast(error.response.data.message, "error");
const message =
error.response?.data?.message ||
error.message ||
"An unexpected error occurred";
showToast(message, "error");
});
};
@ -127,7 +131,7 @@ const EmployeeList = () => {
openModal();
}
}, [modelConfig, isCreateModalOpen]);
const tableRef = useRef(null);
const handleExport = (type) => {
if (!currentItems || currentItems.length === 0) return;
@ -449,7 +453,8 @@ const EmployeeList = () => {
className="text-heading text-truncate cursor-pointer"
>
<span className="fw-normal">
{item.firstName} {item.middleName} {item.lastName}
{item.firstName} {item.middleName}{" "}
{item.lastName}
</span>
</a>
</div>
@ -520,7 +525,8 @@ const EmployeeList = () => {
className="dropdown-item py-1"
onClick={() => suspendEmployee(item.id)}
>
<i className="bx bx-task-x bx-sm"></i> Suspend
<i className="bx bx-task-x bx-sm"></i>{" "}
Suspend
</button>
<button
className="dropdown-item py-1"
@ -529,7 +535,8 @@ const EmployeeList = () => {
data-bs-target="#managerole-modal"
onClick={() => handleConfigData(item.id)}
>
<i className="bx bx-cog bx-sm"></i> Manage Role
<i className="bx bx-cog bx-sm"></i> Manage
Role
</button>
</div>
</div>