diff --git a/client/src/components/employees/EmployeeList.js b/client/src/components/employees/EmployeeList.js
index 19636ea..259a6b8 100644
--- a/client/src/components/employees/EmployeeList.js
+++ b/client/src/components/employees/EmployeeList.js
@@ -127,6 +127,29 @@ const EmployeeList = () => {
});
};
+ const isHrPermissionGroupFullySelected = (permissionItems = []) => {
+ return permissionItems.length > 0 && permissionItems.every((permissionKey) => selectedHrPermissions.includes(permissionKey));
+ };
+
+ const toggleHrPermissionGroup = (permissionItems = [], checked) => {
+ if (!Array.isArray(permissionItems) || permissionItems.length === 0) return;
+ setSelectedHrPermissions((prev) => {
+ const nextSet = new Set(prev);
+ permissionItems.forEach((permissionKey) => {
+ if (permissionKey === SYSTEM_ACCESS_PERMISSION) {
+ nextSet.add(SYSTEM_ACCESS_PERMISSION);
+ return;
+ }
+ if (checked) {
+ nextSet.add(permissionKey);
+ } else {
+ nextSet.delete(permissionKey);
+ }
+ });
+ return Array.from(nextSet);
+ });
+ };
+
const saveHrPermissions = () => {
if (!editingHrUser?.employee_id) return;
setIsSavingHrPermission(true);
@@ -292,7 +315,19 @@ const EmployeeList = () => {
{Object.entries(EMPLOYEE_PERMISSION_GROUPS).map(([groupName, permissionItems]) => (
-
{groupName}
+
+
{groupName}
+
+
{permissionItems.map((permissionKey) => (
{Object.entries(EMPLOYEE_PERMISSION_GROUPS).map(([groupName, permissionItems]) => (
-
{groupName}
+
+
{groupName}
+
+
{permissionItems.map((permissionKey) => (