Browse Source

refactor: get style from permission object

pull/5274/head
mehmet-erim 6 years ago
parent
commit
37ffdfe5f1
  1. 2
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.html
  2. 24
      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

@ -63,7 +63,7 @@
let i = index; let i = index;
trackBy: trackByFn trackBy: trackByFn
" "
[ngStyle]="getMarginStyle(permission.margin)" [ngStyle]="permission.style"
class="custom-checkbox custom-control mb-2" class="custom-checkbox custom-control mb-2"
> >
<input <input

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

@ -1,4 +1,5 @@
import { ApplicationConfiguration, ConfigState, GetAppConfiguration } from '@abp/ng.core'; import { ApplicationConfiguration, ConfigState, GetAppConfiguration } from '@abp/ng.core';
import { LocaleDirection } from '@abp/ng.theme.shared';
import { Component, EventEmitter, Input, Output, Renderer2, TrackByFunction } from '@angular/core'; import { Component, EventEmitter, Input, Output, Renderer2, TrackByFunction } from '@angular/core';
import { Select, Store } from '@ngxs/store'; import { Select, Store } from '@ngxs/store';
import { Observable, of } from 'rxjs'; import { Observable, of } from 'rxjs';
@ -6,10 +7,9 @@ import { finalize, map, pluck, switchMap, take, tap } from 'rxjs/operators';
import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions'; import { GetPermissions, UpdatePermissions } from '../actions/permission-management.actions';
import { PermissionManagement } from '../models/permission-management'; import { PermissionManagement } from '../models/permission-management';
import { PermissionManagementState } from '../states/permission-management.state'; import { PermissionManagementState } from '../states/permission-management.state';
import { LocaleDirection } from '@abp/ng.theme.shared';
type PermissionWithMargin = PermissionManagement.Permission & { type PermissionWithStyle = PermissionManagement.Permission & {
margin: number; style: string;
}; };
@Component({ @Component({
@ -80,21 +80,25 @@ export class PermissionManagementComponent
trackByFn: TrackByFunction<PermissionManagement.Group> = (_, item) => item.name; trackByFn: TrackByFunction<PermissionManagement.Group> = (_, item) => item.name;
get selectedGroupPermissions$(): Observable<PermissionWithMargin[]> { get selectedGroupPermissions$(): Observable<PermissionWithStyle[]> {
const margin = `margin-${
(document.body.dir as LocaleDirection) === 'rtl' ? 'right' : 'left'
}.px`;
return this.groups$.pipe( return this.groups$.pipe(
map(groups => map(groups =>
this.selectedGroup this.selectedGroup
? groups.find(group => group.name === this.selectedGroup.name).permissions ? groups.find(group => group.name === this.selectedGroup.name).permissions
: [], : [],
), ),
map<PermissionManagement.Permission[], PermissionWithMargin[]>(permissions => map<PermissionManagement.Permission[], PermissionWithStyle[]>(permissions =>
permissions.map( permissions.map(
permission => permission =>
(({ (({
...permission, ...permission,
margin: findMargin(permissions, permission), style: { [margin]: findMargin(permissions, permission) },
isGranted: this.permissions.find(per => per.name === permission.name).isGranted, isGranted: this.permissions.find(per => per.name === permission.name).isGranted,
} as any) as PermissionWithMargin), } as any) as PermissionWithStyle),
), ),
), ),
); );
@ -287,12 +291,6 @@ export class PermissionManagementComponent
return false; return false;
} }
getMarginStyle(margin: number) {
return {
[`margin-${(document.body.dir as LocaleDirection) === 'rtl' ? 'right' : 'left'}.px`]: margin,
};
}
} }
function findMargin( function findMargin(

Loading…
Cancel
Save