Browse Source

feature(permission-management): disable checkboxes for the permissions granted by a role

pull/1607/head
TheDiaval 7 years ago
parent
commit
0dfb919494
  1. 6
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html
  2. 6
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

6
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)"
/>
<label
class="custom-control-label"
[attr.for]="permission.name"
(click)="onClickCheckbox(permission, permissionCheckbox.value)"
>{{ permission.displayName }}</label
>{{ permission.displayName }}
<span *ngFor="let provider of permission.grantedProviders" class="badge badge-light"
>{{ provider.providerName }}: {{ provider.providerKey }}</span
></label
>
</div>
</perfect-scrollbar>

6
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) {

Loading…
Cancel
Save