Browse Source

feat(permission-management): add hide badges input

pull/2293/head
mehmet-erim 7 years ago
parent
commit
b9d2e5f656
  1. 1
      npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html
  2. 2
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html
  3. 29
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

1
npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.html

@ -166,5 +166,6 @@
[(visible)]="visiblePermissions" [(visible)]="visiblePermissions"
providerName="R" providerName="R"
[providerKey]="providerKey" [providerKey]="providerKey"
[hideBadges]="true"
> >
</abp-permission-management> </abp-permission-management>

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

@ -75,7 +75,7 @@
[attr.for]="permission.name" [attr.for]="permission.name"
(click)="onClickCheckbox(permission, permissionCheckbox.value)" (click)="onClickCheckbox(permission, permissionCheckbox.value)"
>{{ permission.displayName }} >{{ permission.displayName }}
<ng-container *ngIf="providerName !== 'R'"> <ng-container *ngIf="!hideBadges">
<span <span
*ngFor="let provider of permission.grantedProviders" *ngFor="let provider of permission.grantedProviders"
class="badge badge-light" class="badge badge-light"

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

@ -31,6 +31,9 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
@Input() @Input()
providerKey: string; providerKey: string;
@Input()
hideBadges = false;
protected _visible; protected _visible;
@Input() @Input()
@ -72,7 +75,9 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
get selectedGroupPermissions$(): Observable<PermissionWithMargin[]> { get selectedGroupPermissions$(): Observable<PermissionWithMargin[]> {
return this.groups$.pipe( return this.groups$.pipe(
map(groups => map(groups =>
this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [], this.selectedGroup
? groups.find(group => group.name === this.selectedGroup.name).permissions
: [],
), ),
map<PermissionManagement.Permission[], PermissionWithMargin[]>(permissions => map<PermissionManagement.Permission[], PermissionWithMargin[]>(permissions =>
permissions.map( permissions.map(
@ -103,7 +108,11 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
} }
onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) { onClickCheckbox(clickedPermission: PermissionManagement.Permission, value) {
if (clickedPermission.isGranted && this.isGrantedByOtherProviderName(clickedPermission.grantedProviders)) return; if (
clickedPermission.isGranted &&
this.isGrantedByOtherProviderName(clickedPermission.grantedProviders)
)
return;
setTimeout(() => { setTimeout(() => {
this.permissions = this.permissions.map(per => { this.permissions = this.permissions.map(per => {
@ -158,7 +167,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
onClickSelectThisTab() { onClickSelectThisTab() {
this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => { this.selectedGroupPermissions$.pipe(take(1)).subscribe(permissions => {
permissions.forEach(permission => { permissions.forEach(permission => {
if (permission.isGranted && this.isGrantedByOtherProviderName(permission.grantedProviders)) return; if (permission.isGranted && this.isGrantedByOtherProviderName(permission.grantedProviders))
return;
const index = this.permissions.findIndex(per => per.name === permission.name); const index = this.permissions.findIndex(per => per.name === permission.name);
@ -176,7 +186,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
onClickSelectAll() { onClickSelectAll() {
this.permissions = this.permissions.map(permission => ({ this.permissions = this.permissions.map(permission => ({
...permission, ...permission,
isGranted: this.isGrantedByOtherProviderName(permission.grantedProviders) || !this.selectAllTab, isGranted:
this.isGrantedByOtherProviderName(permission.grantedProviders) || !this.selectAllTab,
})); }));
this.selectThisTab = !this.selectAllTab; this.selectThisTab = !this.selectAllTab;
@ -195,7 +206,10 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions
.filter(per => .filter(per =>
unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true, unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted ===
per.isGranted
? false
: true,
) )
.map(({ name, isGranted }) => ({ name, isGranted })); .map(({ name, isGranted }) => ({ name, isGranted }));
@ -255,7 +269,10 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
} }
} }
function findMargin(permissions: PermissionManagement.Permission[], permission: PermissionManagement.Permission) { function findMargin(
permissions: PermissionManagement.Permission[],
permission: PermissionManagement.Permission,
) {
const parentPermission = permissions.find(per => per.name === permission.parentName); const parentPermission = permissions.find(per => per.name === permission.parentName);
if (parentPermission && parentPermission.parentName) { if (parentPermission && parentPermission.parentName) {

Loading…
Cancel
Save