connect/src/app/searchPages/simple/searchResearchResults.compo...

52 lines
2.1 KiB
TypeScript

import {Component, OnDestroy, OnInit} from '@angular/core';
import {SearchCustomFilter} from "../../openaireLibrary/searchPages/searchUtils/searchUtils.class";
import {EnvProperties} from "../../openaireLibrary/utils/properties/env-properties";
import {ActivatedRoute} from "@angular/router";
import {ConnectHelper} from "../../openaireLibrary/connect/connectHelper";
import {PiwikHelper} from "../../utils/piwikHelper";
import {Subscriber} from "rxjs";
import {CommunitiesService} from "../../openaireLibrary/connect/communities/communities.service";
import {properties} from "../../../environments/environment";
import {CommunityService} from "../../openaireLibrary/connect/community/community.service";
@Component({
selector: 'openaire-search-results',
template: `
<search-research-results resultType="result" [openaireLink]="'https://' + (properties.environment == 'production'?'':'beta.') + 'explore.openaire.eu/search/find/research-outcomes'"
[customFilter]=customFilter [piwikSiteId]="piwikSiteId" [hasPrefix]="false"
[includeOnlyResultsAndFilter]="false" [showBreadcrumb]="true" [showSwitchSearchLink]="true"></search-research-results>
`
})
export class OpenaireSearchResearchResultsComponent implements OnInit, OnDestroy {
connectCommunityId: string;
piwikSiteId = null;
customFilter: SearchCustomFilter = null;
properties:EnvProperties = properties;
sub;
constructor(private route: ActivatedRoute, private _communityService: CommunityService) {
}
ngOnInit() {
this.setCommunity();
}
ngOnDestroy() {
if (this.sub instanceof Subscriber) {
this.sub.unsubscribe();
}
}
setCommunity(){
this.sub = this._communityService.getCommunityAsObservable().subscribe(community =>{
if(community != null){
this.connectCommunityId = community.communityId;
this.piwikSiteId = PiwikHelper.getSiteId(this.connectCommunityId,properties.environment);
this.customFilter = new SearchCustomFilter("Community", "communityId", this.connectCommunityId, community.shortTitle);
}
});
}
}