This commit is contained in:
rubikscraft 2022-03-18 20:47:28 +01:00
parent e4bce27c4f
commit fc060cad69
No known key found for this signature in database
GPG key ID: 1463EBE9200A5CD4
4 changed files with 5 additions and 33 deletions

View file

@ -87,8 +87,6 @@ export class AppComponent implements OnInit {
const data = this.routeData;
this.containerWrap = !data.noContainer;
console.log(data);
if (data._sidebar_portal !== undefined) {
this.sidebarPortal = data._sidebar_portal;
this.hasSidebar = true;

View file

@ -1,21 +1,12 @@
import { Component, OnInit } from '@angular/core';
import { AutoUnsubscribe } from 'ngx-auto-unsubscribe-decorator';
import { PermissionService } from 'src/app/services/api/permission.service';
@Component({
templateUrl: './settings-general.component.html',
})
export class SettingsGeneralComponent implements OnInit {
constructor(private permissionsService: PermissionService) {}
constructor() {}
ngOnInit(): void {
this.subscribePermissions();
}
@AutoUnsubscribe()
subscribePermissions() {
return this.permissionsService.live.subscribe((permissions) => {
console.log('Pogogog', permissions);
});
}
}

View file

@ -1,4 +1,4 @@
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
import { Component, Inject, OnInit } from '@angular/core';
import { PRoutes } from 'src/app/models/picsur-routes';
import { PermissionService } from 'src/app/services/api/permission.service';
@ -6,8 +6,7 @@ import { PermissionService } from 'src/app/services/api/permission.service';
templateUrl: './settings-sidebar.component.html',
styleUrls: ['./settings-sidebar.component.scss'],
})
export class SettingsSidebarComponent implements OnInit, OnDestroy {
//private settingsRoutes: PRoutes = [];
export class SettingsSidebarComponent implements OnInit {
private accessibleRoutes: PRoutes = [];
personalRoutes: PRoutes = [];
@ -17,19 +16,14 @@ export class SettingsSidebarComponent implements OnInit, OnDestroy {
@Inject('SettingsRoutes') private settingsRoutes: PRoutes,
private permissionService: PermissionService
) {}
ngOnDestroy(): void {
console.error('destoryed');
}
ngOnInit() {
console.log('SettingsSidebarComponent.ngOnInit() with ' + this.permissionService.counter);
this.subscribePermissions();
}
// @AutoUnsubscribe()
// @AutoUnsubscribe()
private subscribePermissions() {
const o = this.permissionService.live.subscribe((permissions) => {
console.warn('pog', permissions);
return this.permissionService.live.subscribe((permissions) => {
this.accessibleRoutes = this.settingsRoutes
.filter((route) => route.path !== '')
.filter((route) =>
@ -47,9 +41,5 @@ export class SettingsSidebarComponent implements OnInit, OnDestroy {
(route) => route.data?.page?.category === 'system'
);
});
o.add(() => {
console.error('stopped');
});
return o;
}
}

View file

@ -10,20 +10,15 @@ import { BehaviorSubject, filter, map, Observable, take } from 'rxjs';
import { ApiService } from './api.service';
import { UserService } from './user.service';
let i = 0;
@Injectable({ providedIn: 'root' })
export class PermissionService {
private readonly logger = console;
public counter = 0;
constructor(
private userService: UserService,
private api: ApiService,
@Optional() @SkipSelf() parent?: PermissionService
) {
this.counter = ++i;
console.log('PermissionService.constructor(' + this.counter + ')');
this.onUser();
}
@ -54,13 +49,11 @@ export class PermissionService {
@AutoUnsubscribe()
private onUser() {
return this.userService.live.subscribe(async (user) => {
console.log('PermissionService.onUser(' + this.counter + ')', user);
const permissions = await this.fetchPermissions();
if (HasFailed(permissions)) {
this.logger.warn(permissions.getReason());
return;
}
console.log('Permissions next', permissions);
this.permissionsSubject.next(permissions);
});
}