import {Component, Inject, Input, Optional} from '@angular/core'; import {Location} from '@angular/common'; import {ActivatedRoute} from '@angular/router'; import {Title, Meta} from '@angular/platform-browser'; import {SEOService} from "../sharedComponents/SEO/SEO.service"; import {properties} from "../../../environments/environment"; import {RESPONSE} from '../utils/tokens'; import {Response} from 'express'; import {OpenaireEntities} from "../utils/properties/searchFields"; import {EnvProperties} from "../utils/properties/env-properties"; @Component({ selector: 'error', template: `

Bad karma: we can't find that page!
Private Data

Not valid or missing {{page_type_name}} id. Search another {{page_type_name}}? Search another {{page_type_name}} in OpenAIRE?

You asked for {{page}}, but despite our computers looking very hard, we could not find it. What happened ?

  • the link you clicked to arrive here has a typo in it
  • or somehow we removed that page, or gave it another name
  • or, quite unlikely for sure, maybe you typed it yourself and there was a little mistake ?
` }) export class ErrorPageComponent { @Input() public page: string; public page_type: string; public searchPage: string; public searchPagePrams: {}; public searchPagePramsString: string = ""; public page_type_name: string; public properties: EnvProperties = properties; constructor (private _location: Location, private _meta: Meta, private _title: Title, private route: ActivatedRoute, @Optional() @Inject(RESPONSE) private response: Response, private seoService: SEOService) {} ngOnInit() { this.seoService.createLinkForCanonicalURL(properties.domain + properties.baseLink + "/error"); this.route.queryParams.subscribe(data => { this.page = this.page?this.page:data['page']; if (!this.page) { this.page = this._location.path(true); } if(this.page != "-1") { let title = "OpenAIRE | Error page"; this._meta.updateTag({content:title},"property='og:title'"); this._title.setTitle(title); if(this.response) { this.response.statusCode = 404; this.response.statusMessage = '404 - Page not found'; } } else{ let title = "OpenAIRE | Private data"; this._meta.updateTag({content:title},"property='og:title'"); this._title.setTitle(title); if(this.response) { this.response.statusCode = 403; this.response.statusMessage = '403 - Private data'; } } this.page_type = data['page_type']; if(this.page_type) { if (this.page_type == "publication") { this.searchPage = properties.searchLinkToResults; this.searchPagePrams = {type: 'publications'} this.searchPagePramsString = "&type=publications"; this.page_type_name = OpenaireEntities.PUBLICATION.toLowerCase(); } else if (this.page_type == "software") { this.searchPage = properties.searchLinkToResults; this.searchPagePrams = {type: 'software'} this.searchPagePramsString = "&type=software"; this.page_type_name = OpenaireEntities.SOFTWARE_SINGULAR.toLowerCase(); } else if (this.page_type == "dataset") { this.searchPagePrams = {type: 'datasets'} this.searchPagePramsString = "&type=datasets"; this.searchPage = properties.searchLinkToResults; this.page_type_name = OpenaireEntities.DATASET.toLowerCase(); } else if (this.page_type == "orp") { this.searchPagePrams = {type: 'orps'} this.searchPagePramsString = "&type=orps"; this.searchPage = properties.searchLinkToResults; this.page_type_name = OpenaireEntities.OTHER_SINGULAR.toLowerCase(); } else if (this.page_type == "organization") { this.searchPage = properties.searchLinkToOrganizations; this.page_type_name = OpenaireEntities.ORGANIZATION.toLowerCase(); } else if (this.page_type == "project") { this.searchPage = properties.searchLinkToProjects; this.page_type_name = OpenaireEntities.PROJECT.toLowerCase(); } else if (this.page_type == "dataprovider") { this.searchPage = properties.searchLinkToDataProviders; this.page_type_name = OpenaireEntities.DATASOURCE.toLowerCase(); } else if (this.page_type == "service") { this.searchPage = properties.searchLinkToServices; this.page_type_name = OpenaireEntities.SERVICE.toLowerCase(); } else { this.searchPage = properties.searchLinkToResults; this.page_type_name = OpenaireEntities.RESULT.toLowerCase(); } if(properties.adminToolsPortalType == 'eosc') { this.searchPage = "https://explore.openaire.eu"+this.searchPage+this.searchPagePramsString; } } }); } }