Newer
Older
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Injectable} from '@angular/core';
import {Event} from 'projects/vitamui-library/src/public-api';
import {tap} from 'rxjs/operators';
import {SearchService} from 'ui-frontend-common';
import {OperationApiService} from '../core/api/operation-api.service';
import {VitamUISnackBar, VitamUISnackBarComponent} from '../shared/vitamui-snack-bar';
@Injectable({
providedIn: 'root'
})
export class ProbativeValueService extends SearchService<Event> {
constructor(
private operationApiService: OperationApiService,
private snackBar: VitamUISnackBar,
http: HttpClient) {
super(http, operationApiService, 'ALL');
}
create(probativeValueRequest: any, headers: HttpHeaders) {
for (const header in this.headers) {
if (this.headers.hasOwnProperty(header)) {
headers.set(header, this.headers.get(header));
}
}
return this.operationApiService.runProbativeValue(probativeValueRequest, headers)
.pipe(
tap(
this.snackBar.openFromComponent(VitamUISnackBarComponent, {
panelClass: 'vitamui-snack-bar',
data: {type: 'probativeValueRun'},
duration: 10000
});
},
(error: any) => {
console.log('error: ', error);
if (!error || !error.error) {
return;
}
this.snackBar.open(error.error.message, null, {
panelClass: 'vitamui-snack-bar',
duration: 10000
});
}
)
);
}
export(id: string, accessContractId: string) {
this.operationApiService.downloadProbativeValue(id, new HttpHeaders({'X-Access-Contract-Id': accessContractId})).subscribe((blob) => {
const element = document.createElement('a');
element.href = window.URL.createObjectURL(blob);
element.download = id + '.zip';
element.style.visibility = 'hidden';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
});
}
}