Browse Source

Merge pull request #14942 from abpframework/issue/12751

Fix permission modal parent-child relations
pull/14947/head
Muhammed Altuğ 4 years ago
committed by GitHub
parent
commit
fb4bd951b3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

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

@ -164,25 +164,16 @@ export class PermissionManagementComponent
return; return;
setTimeout(() => { setTimeout(() => {
this.permissions = this.permissions this.permissions = this.permissions.map(per => {
.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 && clickedPermission.isGranted) { return { ...per, isGranted: false };
return { ...per, isGranted: false }; } 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