import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; import {MatSnackBar} from '@angular/material/snack-bar'; import {ActivatedRoute} from '@angular/router'; import {AccessContractService} from '../../access-contract/access-contract.service'; import {ProbativeValueService} from '../probative-value.service'; import {ExternalParametersService, ExternalParameters, AccessContract} from 'ui-frontend-common'; import '@angular/localize/init'; @Component({ selector: 'app-probative-value-preview', templateUrl: './probative-value-preview.component.html', styleUrls: ['./probative-value-preview.component.scss'] }) export class ProbativeValuePreviewComponent implements OnInit { @Input() probativeValue: any; @Output() previewClose: EventEmitter<any> = new EventEmitter(); accessContracts: AccessContract[]; accessContractId: string; constructor( private probativeValueService: ProbativeValueService, private accessContractService: AccessContractService, private externalParameterService: ExternalParametersService, private snackBar: MatSnackBar, private route: ActivatedRoute) { } ngOnInit() { this.route.params.subscribe(params => { if (params.tenantIdentifier) { this.accessContractService.getAllForTenant(params.tenantIdentifier).subscribe((value) => { this.accessContracts = value; this.externalParameterService.getUserExternalParameters().subscribe(parameters => { const accessContratId: string = parameters.get(ExternalParameters.PARAM_ACCESS_CONTRACT); if (this.accessContracts && this.accessContracts.findIndex(contract => contract.identifier === accessContratId)) { this.accessContractId = accessContratId; } else { this.snackBar.open( $localize`:access contrat not set message@@accessContratNotSetErrorMessage:Aucun contrat d'accès n'est associé à l'utiisateur`, null, { panelClass: 'vitamui-snack-bar', duration: 10000 }); } }); }); } }); } emitClose() { this.previewClose.emit(); } downloadReport() { this.probativeValueService.export(this.probativeValue.id, this.accessContractId); } }