100 lines
3.3 KiB
TypeScript
100 lines
3.3 KiB
TypeScript
import {Component, Input, Output} from '@angular/core';
|
|
import {EventEmitter, ViewChild} from '@angular/core';
|
|
import {ChangeDetectionStrategy} from '@angular/core';
|
|
import {ViewEncapsulation} from '@angular/core';
|
|
import {ActivatedRoute, Router} from '@angular/router';
|
|
import {Location} from '@angular/common';
|
|
import {Title, Meta} from '@angular/platform-browser';
|
|
|
|
import {Observable} from 'rxjs/Observable';
|
|
|
|
import "rxjs/add/observable/zip";
|
|
|
|
import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
|
|
import {ErrorCodes} from '../../openaireLibrary/utils/properties/errorCodes';
|
|
|
|
import {CommunityService} from '../../openaireLibrary/connect/community/community.service';
|
|
import {ConfigurationService} from '../../openaireLibrary/utils/configuration/configuration.service';
|
|
import {PiwikService} from '../../openaireLibrary/utils/piwik/piwik.service';
|
|
|
|
|
|
@Component({
|
|
selector: 'community',
|
|
templateUrl: 'community.component.html',
|
|
})
|
|
|
|
export class CommunityComponent {
|
|
public piwiksub: any;
|
|
public subfunders: any;
|
|
|
|
public pageTitle = "OpenAIRE"
|
|
|
|
|
|
|
|
params: any;
|
|
properties:EnvProperties;
|
|
|
|
|
|
|
|
@Input() communityId = null;
|
|
public community = null;
|
|
|
|
|
|
constructor (
|
|
private route: ActivatedRoute,
|
|
private _router: Router,
|
|
private location: Location,
|
|
private _meta: Meta,
|
|
private _title: Title,
|
|
private _piwikService:PiwikService,
|
|
private config: ConfigurationService,
|
|
private _communityService:CommunityService ) {
|
|
|
|
var description = "Community Dashboard";
|
|
var title = "Community Dashboard";
|
|
this._meta.updateTag({content:description},"name='description'");
|
|
this._meta.updateTag({content:description},"property='og:description'");
|
|
this._meta.updateTag({content:title},"property='og:title'");
|
|
this._title.setTitle(title);
|
|
|
|
}
|
|
|
|
public ngOnInit() {
|
|
this.route.data
|
|
.subscribe((data: { envSpecific: EnvProperties }) => {
|
|
console.log("here:"+this.communityId);
|
|
this.properties = data.envSpecific;
|
|
var url = data.envSpecific.baseLink+this._router.url;
|
|
this._meta.updateTag({content:url},"property='og:url'");
|
|
this.route.params.subscribe(params => {
|
|
this.communityId = params['id'];
|
|
console.log("communityId:"+this.communityId);
|
|
|
|
if (this.communityId != null && this.communityId != '') {
|
|
this._communityService.getCommunity(this.properties, this.properties.communityAPI+this.communityId).subscribe (
|
|
community => {
|
|
this.community = community;
|
|
this.params = {communityId: community.communityId};
|
|
this._meta.updateTag({content:community.description},"name='description'");
|
|
this._meta.updateTag({content:community.description},"property='og:description'");
|
|
this._meta.updateTag({content:community.title},"property='og:title'");
|
|
this._title.setTitle(community.title);
|
|
|
|
});
|
|
|
|
|
|
}
|
|
});
|
|
|
|
});
|
|
}
|
|
|
|
public ngOnDestroy() {
|
|
if(this.piwiksub){
|
|
this.piwiksub.unsubscribe();
|
|
}
|
|
}
|
|
|
|
|
|
}
|