2021-07-23 20:01:47 +02:00
|
|
|
import { Component } from '@angular/core';
|
2021-07-21 11:32:27 +02:00
|
|
|
import { ActivatedRoute } from '@angular/router';
|
|
|
|
|
|
|
|
import { UserService } from 'jslib-common/abstractions/user.service';
|
|
|
|
|
|
|
|
import { Provider } from 'jslib-common/models/domain/provider';
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'providers-layout',
|
|
|
|
templateUrl: 'providers-layout.component.html',
|
|
|
|
})
|
|
|
|
export class ProvidersLayoutComponent {
|
|
|
|
|
|
|
|
provider: Provider;
|
|
|
|
private providerId: string;
|
|
|
|
|
|
|
|
constructor(private route: ActivatedRoute, private userService: UserService) { }
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
document.body.classList.remove('layout_frontend');
|
|
|
|
this.route.params.subscribe(async params => {
|
|
|
|
this.providerId = params.providerId;
|
|
|
|
await this.load();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
async load() {
|
|
|
|
this.provider = await this.userService.getProvider(this.providerId);
|
|
|
|
}
|
|
|
|
|
|
|
|
get showMenuBar() {
|
2021-07-23 20:01:47 +02:00
|
|
|
return this.showManageTab || this.showSettingsTab;
|
|
|
|
}
|
|
|
|
|
|
|
|
get showManageTab() {
|
|
|
|
return this.provider.canManageUsers || this.provider.canAccessEventLogs;
|
|
|
|
}
|
|
|
|
|
|
|
|
get showSettingsTab() {
|
|
|
|
return this.provider.isProviderAdmin;
|
2021-07-21 11:32:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
get manageRoute(): string {
|
|
|
|
switch (true) {
|
|
|
|
case this.provider.canManageUsers:
|
|
|
|
return 'manage/people';
|
|
|
|
case this.provider.canAccessEventLogs:
|
|
|
|
return 'manage/events';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|