|
|
|
@ -3,12 +3,8 @@ import { Component, OnInit } from '@angular/core'; |
|
|
|
|
import { Subscription } from 'rxjs'; |
|
|
|
|
import {ActivatedRoute} from '@angular/router'; |
|
|
|
|
|
|
|
|
|
import {MatTableDataSource} from '@angular/material/table'; |
|
|
|
|
import {MatPaginator} from '@angular/material/paginator'; |
|
|
|
|
import {MatSort} from '@angular/material/sort'; |
|
|
|
|
|
|
|
|
|
import { FormationsService } from '@shared/api-swagger/api/api'; |
|
|
|
|
import { FormationDTO, ParticipationFormationDTO } from "@shared/api-swagger/model/models"; |
|
|
|
|
import { FormationDTO } from "@shared/api-swagger/model/models"; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Composant qui permet l'affichage des détails d'une formation ainsi que de sa liste de participants. |
|
|
|
@ -19,26 +15,22 @@ import { FormationDTO, ParticipationFormationDTO } from "@shared/api-swagger/mod |
|
|
|
|
}) |
|
|
|
|
export class FormationComponent implements OnInit { |
|
|
|
|
/** |
|
|
|
|
* Formation à rechercher |
|
|
|
|
*/ |
|
|
|
|
* Formation à rechercher |
|
|
|
|
*/ |
|
|
|
|
formation:FormationDTO; |
|
|
|
|
/** |
|
|
|
|
* Observable pour récuperer la formation à rechercher |
|
|
|
|
*/ |
|
|
|
|
* Observable pour récuperer la formation à rechercher |
|
|
|
|
*/ |
|
|
|
|
formationSubscription: Subscription; |
|
|
|
|
/** |
|
|
|
|
* dataSource qui stocke la liste des participations à afficher dans le Mat Table |
|
|
|
|
*/ |
|
|
|
|
dataSource : MatTableDataSource<ParticipationFormationDTO>; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Les conlonnes à afficher dans le Mat Table |
|
|
|
|
*/ |
|
|
|
|
displayedColumns: string[]= ["agence", "collaborateur", "dateinscription", "ep"]; |
|
|
|
|
* Les conlonnes à afficher dans le Mat Table |
|
|
|
|
*/ |
|
|
|
|
displayedColumns: string[]= ["collaborateur", "dateCreation", "ep", "evaluation"]; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* id de la formation à récupérer dans l'URL. |
|
|
|
|
*/ |
|
|
|
|
* id de la formation à récupérer dans l'URL. |
|
|
|
|
*/ |
|
|
|
|
id:any |
|
|
|
|
|
|
|
|
|
constructor(private service:FormationsService,private route:ActivatedRoute) {} |
|
|
|
@ -47,20 +39,10 @@ export class FormationComponent implements OnInit { |
|
|
|
|
// récupérer l'id de la formation dans l'URL
|
|
|
|
|
this.id = this.route.snapshot.paramMap.get('id'); |
|
|
|
|
this.formationSubscription = this.service.getFormationById(this.id).subscribe( |
|
|
|
|
formation => this.initFormation(formation) |
|
|
|
|
formation => this.formation = formation |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Initialisé la formation et ses participations si il y en a |
|
|
|
|
*/ |
|
|
|
|
initFormation(formation:FormationDTO) { |
|
|
|
|
this.formation = formation; |
|
|
|
|
if(formation.participations != undefined && formation.participations.length != 0 ) { |
|
|
|
|
this.dataSource = new MatTableDataSource(formation.participations); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires. |
|
|
|
|
*/ |
|
|
|
|