openaire-library/deposit/datasets/depositBySubjectResult.comp...

77 lines
2.8 KiB
TypeScript

import {Component, Input} from '@angular/core';
import {Router} from '@angular/router';
import {ActivatedRoute} from '@angular/router';
import {Title, Meta} from '@angular/platform-browser';
import {Observable} from 'rxjs/Observable';
import {EnvProperties} from '../../utils/properties/env-properties';
import {ErrorCodes} from '../../utils/properties/errorCodes';
import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fetchDataproviders.class';
import {RouterHelper} from '../../utils/routerHelper.class';
import {SearchDataprovidersService} from '../../services/searchDataproviders.service';
import {OrganizationService} from '../../services/organization.service';
import {PiwikService} from '../../utils/piwik/piwik.service';
import { SEOService } from '../../sharedComponents/SEO/SEO.service';
import {ZenodoInformationClass} from '../utils/zenodoInformation.class';
@Component({
selector: 'deposit-by-subject-result',
template: `
<deposit-result [requestFor]="'Research Data'" [piwikSiteId]=piwikSiteId
[zenodoInformation]="zenodoInformation"
[subjectResults]="true" [subject]="subject">
</deposit-result>
`
//templateUrl: 'depositBySubjectResult.component.html'
})
export class DepositBySubjectResultComponent {
@Input() piwikSiteId = null;
@Input() zenodoInformation: ZenodoInformationClass;
public subject: string = "";
properties:EnvProperties;
constructor (private route: ActivatedRoute) {}
constructor (private _router: Router,
private route: ActivatedRoute,
private _searchDataprovidersService: SearchDataprovidersService,
private _meta: Meta,
private _title: Title,
private _piwikService:PiwikService,
private seoService: SEOService) {
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
this.status = this.errorCodes.LOADING;
var description = "Openaire, repositories, open access, content provider, compatibility, organization, deposit "+ this.requestFor;
var title = "Deposit "+this.requestFor;
this.updateTitle(title);
this.updateDescription(description);
this.seoService.createLinkForCanonicalURL(this.properties.baseLink+this._router.url, false);
}
ngOnInit() {
this.route.data
.subscribe((data: { envSpecific: EnvProperties }) => {
this.properties = data.envSpecific;
if(!this.zenodoInformation.url) {
this.zenodoInformation.url = this.properties.zenodo;
}
if(!this.zenodoInformation.name) {
this.zenodoInformation.name = "Zenodo";
}
});
}
}