RED-6225, add changes listener to permission page.
This commit is contained in:
parent
e3828766fb
commit
3a223bac88
@ -15,8 +15,8 @@ import { EntityPermissionsService } from '@services/entity-permissions/entity-pe
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { PermissionsMapService } from '@services/entity-permissions/permissions-map.service';
|
||||
import { PermissionsConfigurationMapService } from '@services/entity-permissions/permissions-configuration-map.service';
|
||||
import { map, Subscription } from 'rxjs';
|
||||
import { tap } from 'rxjs/operators';
|
||||
import { interval, map, Subscription } from 'rxjs';
|
||||
import { switchMap, tap } from 'rxjs/operators';
|
||||
import { permissionsTranslations } from '@translations/permissions-translations';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { ROLES } from '@users/roles';
|
||||
@ -35,7 +35,7 @@ export class PermissionsScreenComponent extends ListingComponent<PermissionsMapp
|
||||
readonly tableHeaderLabel = _('permissions-screen.table-header.title');
|
||||
readonly targetObject: string;
|
||||
readonly mappedPermissions: string[];
|
||||
readonly #subscription: Subscription;
|
||||
readonly #subscription: Subscription = new Subscription();
|
||||
|
||||
constructor(
|
||||
route: ActivatedRoute,
|
||||
@ -55,14 +55,21 @@ export class PermissionsScreenComponent extends ListingComponent<PermissionsMapp
|
||||
column: 'sort',
|
||||
order: SortingOrders.asc,
|
||||
});
|
||||
this.#subscription = this._permissionsMapService
|
||||
.get$(this.targetObject)
|
||||
.pipe(
|
||||
// force update internal mappings set in constructor
|
||||
map(permissions => permissions.map(p => new PermissionsMapping(p))),
|
||||
tap(permissions => this.entitiesService.setEntities(permissions)),
|
||||
)
|
||||
.subscribe();
|
||||
this.#subscription.add(
|
||||
this._permissionsMapService
|
||||
.get$(this.targetObject)
|
||||
.pipe(
|
||||
// force update internal mappings set in constructor
|
||||
map(permissions => permissions.map(p => new PermissionsMapping(p))),
|
||||
tap(permissions => this.entitiesService.setEntities(permissions)),
|
||||
)
|
||||
.subscribe(),
|
||||
);
|
||||
this.#subscription.add(
|
||||
interval(5000)
|
||||
.pipe(switchMap(() => this._entityPermissionsService.loadFor(this.targetObject)))
|
||||
.subscribe(),
|
||||
);
|
||||
}
|
||||
|
||||
async togglePermission(targetPermission: string, changedPermission: string): Promise<void> {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user