import {Component, Input, OnInit} from '@angular/core'; import {Session} from '../../openaireLibrary/login/utils/helper.class'; import {UserManagementService} from '../../openaireLibrary/services/user-management.service'; import {Subscriber} from 'rxjs'; import {ActivatedRoute} from '@angular/router'; @Component({ selector: 'users-tabs', template: ` ` }) export class UsersTabsComponent implements OnInit { @Input() public type: string; @Input() public tab: "managers"| "members" | "notifications" | "claims" | "personal" = 'managers'; private subscriptions = []; isAManager: boolean = false; canManageNotifications: boolean = false; constructor(private userManagementService: UserManagementService, private route: ActivatedRoute) { } ngOnInit() { this.route.params.subscribe(params => { if (params && params['community']) { let communityPid = params['community']; this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => { this.isAManager = Session.isManager("community", communityPid, user); this.canManageNotifications = Session.isManager("community", communityPid, user)// || Session.isCommunityCurator(user); })); } }); } ngOnDestroy() { this.subscriptions.forEach(value => { if (value instanceof Subscriber) { value.unsubscribe(); } }); } }