mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-07 16:35:42 +00:00
WIP
This commit is contained in:
@@ -47,10 +47,10 @@ const baseSidebarItems: SidebarItem[] = [
|
|||||||
label: "Position Type",
|
label: "Position Type",
|
||||||
href: "/dashboard/user-management/position-types",
|
href: "/dashboard/user-management/position-types",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
label: "Employees",
|
// label: "Employees",
|
||||||
href: "/dashboard/user-management/employees",
|
// href: "/dashboard/user-management/employees",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
label: "Permissions",
|
label: "Permissions",
|
||||||
href: "/dashboard/user-management/permissions",
|
href: "/dashboard/user-management/permissions",
|
||||||
|
|||||||
@@ -785,13 +785,19 @@ const UserManagementPage = () => {
|
|||||||
const refreshSelectedUnit = useCallback(async () => {
|
const refreshSelectedUnit = useCallback(async () => {
|
||||||
if (!selectedUnitId) {
|
if (!selectedUnitId) {
|
||||||
setPositions([]);
|
setPositions([]);
|
||||||
|
setPositionTypes([]);
|
||||||
|
setPositionTypesError(null);
|
||||||
setPositionMembers([]);
|
setPositionMembers([]);
|
||||||
setUnitAdminUserIds(new Set());
|
setUnitAdminUserIds(new Set());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await Promise.all([loadPositions(selectedUnitId), loadUnitAdmins(selectedUnitId)]);
|
await Promise.all([
|
||||||
}, [loadPositions, loadUnitAdmins, selectedUnitId]);
|
loadPositions(selectedUnitId),
|
||||||
|
loadPositionTypes(selectedUnitId),
|
||||||
|
loadUnitAdmins(selectedUnitId),
|
||||||
|
]);
|
||||||
|
}, [loadPositionTypes, loadPositions, loadUnitAdmins, selectedUnitId]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
void loadOrganizations();
|
void loadOrganizations();
|
||||||
@@ -850,9 +856,23 @@ const UserManagementPage = () => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!units.some((unit) => unit.id === selectedUnitId)) {
|
if (units.some((unit) => unit.id === selectedUnitId)) {
|
||||||
setSelectedUnitId(null);
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setSelectedUnitId(units[0]?.id ?? null);
|
||||||
|
}, [selectedOrgId, selectedUnitId, units]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!selectedOrgId || !units.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selectedUnitId && units.some((unit) => unit.id === selectedUnitId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
setSelectedUnitId(units[0]?.id ?? null);
|
||||||
}, [selectedOrgId, selectedUnitId, units]);
|
}, [selectedOrgId, selectedUnitId, units]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -868,6 +888,14 @@ const UserManagementPage = () => {
|
|||||||
}
|
}
|
||||||
}, [selectedUnitId]);
|
}, [selectedUnitId]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!selectedUnitId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void refreshSelectedUnit();
|
||||||
|
}, [refreshSelectedUnit, selectedUnitId]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!selectedUnitId || !selectedPositionId) {
|
if (!selectedUnitId || !selectedPositionId) {
|
||||||
return;
|
return;
|
||||||
@@ -930,15 +958,11 @@ const UserManagementPage = () => {
|
|||||||
setSelectedPositionId(null);
|
setSelectedPositionId(null);
|
||||||
setExpandedDepartmentIds(new Set());
|
setExpandedDepartmentIds(new Set());
|
||||||
setPositions([]);
|
setPositions([]);
|
||||||
|
setPositionTypes([]);
|
||||||
|
setPositionTypesError(null);
|
||||||
setPositionMembers([]);
|
setPositionMembers([]);
|
||||||
setUnitAdminUserIds(new Set());
|
setUnitAdminUserIds(new Set());
|
||||||
resetMessages();
|
resetMessages();
|
||||||
|
|
||||||
try {
|
|
||||||
await Promise.all([loadPositions(unitId), loadUnitAdmins(unitId)]);
|
|
||||||
} catch {
|
|
||||||
// Individual loaders already handle their own error state.
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleToggleDepartment = (departmentId: string) => {
|
const handleToggleDepartment = (departmentId: string) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user