Browse Source

perf(permission-management): handle attr.disabled while rendering to DOM

pull/1607/head
TheDiaval 7 years ago
parent
commit
4b09f02e09
  1. 2
      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

2
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html

@ -65,7 +65,7 @@
[value]="getChecked(permission.name)"
[attr.id]="permission.name"
class="custom-control-input"
[disabled]="isDisabled(permission)"
[disabled]="permission.isGranted && permission.grantedProviders.length > 0"
/>
<label
class="custom-control-label"

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

@ -95,12 +95,8 @@ 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;
if (clickedPermission.isGranted && clickedPermission.grantedProviders.length > 0) return;
setTimeout(() => {
this.permissions = this.permissions.map(per => {

Loading…
Cancel
Save