41 lines
1.8 KiB
TypeScript
41 lines
1.8 KiB
TypeScript
import {Component, Input, OnInit} from '@angular/core';
|
|
import {CommunityInfo} from '../../openaireLibrary/connect/community/communityInfo';
|
|
import {CommunityService} from '../../openaireLibrary/connect/community/community.service';
|
|
import {Subscription} from 'rxjs';
|
|
|
|
@Component({
|
|
selector: 'community-info',
|
|
template: `
|
|
<ul *ngIf="community" class="uk-tab customTabs admin uk-flex uk-flex-center uk-flex-left@m" uk-tab>
|
|
<li [class.uk-active]="tab === 'profile'"><a routerLink="../profile"><span class="title">Profile</span></a></li>
|
|
<li [class.uk-active]="tab === 'organizations'"><a routerLink="../organizations"><span class="title">Organizations</span></a></li>
|
|
<li [class.uk-active]="tab === 'projects'"><a routerLink="../projects"><span class="title">Projects</span></a></li>
|
|
<li [class.uk-active]="tab === 'content-providers'"><a routerLink="../content-providers"><span class="title">Content Providers</span></a></li>
|
|
<li *ngIf="community.type !='ri'" [class.uk-active]="tab === 'subjects'"><a routerLink="../subjects"><span class="title">Subjects</span></a></li>
|
|
<li [class.uk-active]="tab === 'zenodo-communities'"><a routerLink="../zenodo-communities"><span class="title">Zenodo Communities</span></a></li>
|
|
</ul>
|
|
`
|
|
})
|
|
export class CommunityInfoComponent implements OnInit {
|
|
@Input()
|
|
public type: string;
|
|
@Input()
|
|
public tab: "profile"| "organizations" | "projects" | "content-providers" | "subjects" | "zenodo-communities" = 'profile';
|
|
public community: CommunityInfo;
|
|
private sub;
|
|
|
|
constructor(private communityService: CommunityService) {
|
|
}
|
|
|
|
ngOnInit() {
|
|
this.sub =this.communityService.getCommunityAsObservable().subscribe(community => {
|
|
this.community = community;
|
|
});
|
|
}
|
|
ngOnDestroy() {
|
|
if (this.sub instanceof Subscription) {
|
|
this.sub.unsubscribe();
|
|
}
|
|
}
|
|
}
|