Browse Source

autoselect parent permission when clicked child route

pull/18429/head
Sinan Öztürk 3 years ago
parent
commit
c02c214220
  1. 35
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

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

@ -186,9 +186,44 @@ export class PermissionManagementComponent
this.updateSelectedGroupPermissions(clickedPermission);
this.setTabCheckboxState();
this.setGrantCheckboxState();
this.setParentClicked(clickedPermission);
}, 0);
}
setParentClicked(clickedPermissions: PermissionGrantInfoDto) {
let childPermissionGrantedCount = 0;
let parentPermission: PermissionGrantInfoDto;
console.log({ clickedPermissions });
if (clickedPermissions.parentName) {
this.permissions.forEach(per => {
if (per.name === clickedPermissions.parentName) {
parentPermission = per;
}
})
this.permissions.forEach(per => {
if (parentPermission.name === per.parentName) {
per.isGranted && childPermissionGrantedCount++;
}
})
if (childPermissionGrantedCount === 1 && !parentPermission.isGranted) {
this.permissions = this.permissions.map(per => {
if (per.name === parentPermission.name) {
per.isGranted = true;
}
return per;
})
}
return;
}
this.permissions = this.permissions.map(per => {
if (per.parentName === clickedPermissions.name) {
per.isGranted = false;
}
return per;
})
}
updateSelectedGroupPermissions(clickedPermissions: PermissionGrantInfoDto) {
this.selectedGroupPermissions = this.selectedGroupPermissions.map(per => {
if (per.name === clickedPermissions.name) {

Loading…
Cancel
Save