openaire-library/services/reports.service.ts

58 lines
1.9 KiB
TypeScript
Raw Normal View History

import {Injectable} from '@angular/core';
import {HttpClient, HttpErrorResponse} from "@angular/common/http";
import {throwError} from 'rxjs';
import {map, tap, timeout} from "rxjs/operators";
@Injectable()
export class ReportsService {
// url:string = "http://beta.services.openaire.eu:8480/search/rest/v2/api/publications?format=csv&page=0&size=3&q=(%22test%22)&fq=instancetypename%20exact%20%22Dataset%22";
constructor(private http: HttpClient) {}
//On the service:
downloadCSVFile(url: string){
[Library | EOSC Explore]: Updated styles | Updated link to Marketplace for EOSC::RO-crate | Bug fix in description of results versions | Removed timeout from reports.service.ts. 1. home.component.html: Added blue banner, white logo, aligned search form to the center and updated fonts according the new EOSC Marketplace. 2. parsingFunctions.class.ts: Updated link to Marketplace for eosc subject EOSC::RO-crate. 3. resultLanding.component.html: Updated how links to Compatible EOSC Services are displayed. 4. searchAll.component.html: Updated paddings and margins in search form of Search all page. 5. navigationBar.component.html: Set burger menu icon to light color if dark background. 6. advancedSearchDataProviders.component.ts & advancedSearchOrganizations.component.ts & advancedSearchProjects.component.ts & advancedSearchServices.component.ts & searchResearchResults.component.ts & searchDataproviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts & searchServices.component.ts & search.component.ts: Set in searchForm, dark=true. 7. aggregators.ts: In eoscInfo, updated logoUrl and removed customCss of AggregatorInfo. 8. app.component.ts: Set header.darkBg: true. 9. Added eosc-custom.less file. 10. styles.less: import eosc-custom less file, instead of portal-custom.css. 11. deletedByInference.service.ts & result-preview.ts: [Bug fix] Parse description of versions properly. 12. reports.service.ts: Copy fix from angular-14 branch - do not timeout to 10000.
2022-11-28 13:37:37 +01:00
return this.http.get(url, {responseType: 'text'}).pipe(map(res => new Blob([res], { type: 'text/csv' })));
}
[Library | EOSC Explore]: Updated styles | Updated link to Marketplace for EOSC::RO-crate | Bug fix in description of results versions | Removed timeout from reports.service.ts. 1. home.component.html: Added blue banner, white logo, aligned search form to the center and updated fonts according the new EOSC Marketplace. 2. parsingFunctions.class.ts: Updated link to Marketplace for eosc subject EOSC::RO-crate. 3. resultLanding.component.html: Updated how links to Compatible EOSC Services are displayed. 4. searchAll.component.html: Updated paddings and margins in search form of Search all page. 5. navigationBar.component.html: Set burger menu icon to light color if dark background. 6. advancedSearchDataProviders.component.ts & advancedSearchOrganizations.component.ts & advancedSearchProjects.component.ts & advancedSearchServices.component.ts & searchResearchResults.component.ts & searchDataproviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts & searchServices.component.ts & search.component.ts: Set in searchForm, dark=true. 7. aggregators.ts: In eoscInfo, updated logoUrl and removed customCss of AggregatorInfo. 8. app.component.ts: Set header.darkBg: true. 9. Added eosc-custom.less file. 10. styles.less: import eosc-custom less file, instead of portal-custom.css. 11. deletedByInference.service.ts & result-preview.ts: [Bug fix] Parse description of versions properly. 12. reports.service.ts: Copy fix from angular-14 branch - do not timeout to 10000.
2022-11-28 13:37:37 +01:00
getCSVResponse(url: string){
return this.http.get(url, {responseType: 'text'})
}
/**
* @deprecated not used
*/
downloadHTMLFile(url: string, info: string){
//var headers = new Headers();
//headers.append('responseType', 'arraybuffer');
return this.http.get(url)
.pipe(map(res => this.addInfo(res, info)))
.pipe(map(res => new Blob([res['_body']], { type: 'text/html' })))
.pipe(tap(res => console.log(res)))
}
/**
* @deprecated not used
*/
addInfo(res:any, info:string) {
/*
var para = res.document.createElement("P"); // Create a <p> element
var t = res.document.createTextNode("This is a paragraph"); // Create a text node
para.appendChild(t); // Append the text to <p>
res.document.body.appendChild(para);
*/
res['_body'] = info+res['_body'];
return res;
}
private handleError (error: HttpErrorResponse) {
// in a real world app, we may send the error to some remote logging infrastructure
// instead of just logging it to the console
console.log(error);
return throwError(error || 'Server error');
}
}