From ae215f76f6b01699223dff2c933661e196613142 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Mon, 5 Dec 2022 17:07:58 +0300 Subject: [PATCH] Fix permission modal parent-child relations --- .../permission-management.component.ts | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) 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);