|
|
|
@ -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); |
|
|
|
|