Browse Source

Edit permission-management.component. Disabled select all when permission denied.

pull/14758/head
Fatih KILIÇ 4 years ago
parent
commit
1c58c35644
  1. 3
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html
  2. 38
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

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

@ -35,7 +35,7 @@
>
<div [class.font-weight-bold]="count.assignedCount">
{{ group?.displayName }}
<span>({{ count.assignedCount }})</span>
<span *ngIf="count.assignedCount > 0">({{ count.assignedCount }})</span>
</div>
</a>
</li>
@ -53,6 +53,7 @@
name="select-all-in-this-tabs"
class="form-check-input"
[(ngModel)]="selectThisTab"
[disabled]="disableSelectAllTab"
(click)="onClickSelectThisTab()"
/>
<label class="form-check-label" for="select-all-in-this-tabs">{{

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

@ -104,6 +104,8 @@ export class PermissionManagementComponent
selectAllTab = false;
disableSelectAllTab = false;
modalBusy = false;
trackByFn: TrackByFunction<PermissionGroupDto> = (_, item) => item.name;
@ -137,8 +139,11 @@ export class PermissionManagementComponent
isGrantedByOtherProviderName(grantedProviders: ProviderInfoDto[]): boolean {
if (grantedProviders.length) {
this.disableSelectAllTab =
grantedProviders.findIndex(p => p.providerName !== this.providerName) > -1;
return grantedProviders.findIndex(p => p.providerName !== this.providerName) > -1;
}
this.disableSelectAllTab = false;
return false;
}
@ -150,24 +155,25 @@ 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)){
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
});
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.setTabCheckboxState();
this.setGrantCheckboxState();
}, 0);

Loading…
Cancel
Save