diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index e503396540..1ca5163ccd 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -164,25 +164,16 @@ export class PermissionManagementComponent return; setTimeout(() => { - this.permissions = this.permissions - .map(per => { - if (clickedPermission.name === per.name) { - return { ...per, isGranted: !per.isGranted }; - } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) { - return { ...per, isGranted: false }; - } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) { - return { ...per, isGranted: true }; - } - - 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.permissions = this.permissions.map(per => { + if (clickedPermission.name === per.name) { + return { ...per, isGranted: !per.isGranted }; + } else if (clickedPermission.name === per.parentName && clickedPermission.isGranted) { + return { ...per, isGranted: false }; + } else if (clickedPermission.parentName === per.name && !clickedPermission.isGranted) { + return { ...per, isGranted: true }; + } + return per; + }); this.setTabCheckboxState(); this.setGrantCheckboxState(); }, 0);