diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html index 6ad9bfb201..75118201fe 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html @@ -65,12 +65,16 @@ [value]="getChecked(permission.name)" [attr.id]="permission.name" class="custom-control-input" + [disabled]="isDisabled(permission)" /> {{ permission.displayName }} + {{ provider.providerName }}: {{ provider.providerKey }} 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 ed2139ecb7..069825760b 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 @@ -95,7 +95,13 @@ export class PermissionManagementComponent implements OnInit, OnChanges { return (this.permissions.find(per => per.name === name) || { isGranted: false }).isGranted; } + isDisabled({ isGranted, grantedProviders }: PermissionManagement.Permission): boolean { + return isGranted && grantedProviders.length > 0; + } + onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) { + if (this.isDisabled(clickedPermission)) return; + setTimeout(() => { this.permissions = this.permissions.map(per => { if (clickedPermission.name === per.name) {