Browse Source

When all child permissions is unchecked, parent should be unchecked

pull/14044/head
Mahmut Gundogdu 4 years ago
parent
commit
6073143ef9
  1. 12
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

12
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

@ -153,15 +153,21 @@ export class PermissionManagementComponent
this.permissions = this.permissions.map(per => { this.permissions = this.permissions.map(per => {
if (clickedPermission.name === per.name) { if (clickedPermission.name === per.name) {
return { ...per, isGranted: !per.isGranted }; return { ...per, isGranted: !per.isGranted };
} else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) { } else if (clickedPermission.name === per.parentName) {
return { ...per, isGranted: false }; return { ...per, isGranted: !clickedPermission.isGranted };
} else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) { } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) {
return { ...per, isGranted: true }; return { ...per, isGranted: true };
} }
return per; return per;
}).map((per,index,permissions) => {
const childrens = permissions
.filter(p => p.parentName === per.name);
if(childrens.length > 0 && childrens.every(x => !x.isGranted)){
return { ...per, isGranted: false };
}
return per
}); });
this.setTabCheckboxState(); this.setTabCheckboxState();
this.setGrantCheckboxState(); this.setGrantCheckboxState();
}, 0); }, 0);

Loading…
Cancel
Save