@ -21,25 +21,58 @@ import { FormationsService } from '@shared/api-swagger/api/api';
styleUrls : [ "edit-formation.component.css" ]
} )
export class EditFormationComponent implements OnInit {
/ * *
* Observable pour récupérer la formation et enregistrer les modifications
* /
formationSubscription : Subscription ;
/ * *
* Observable pour récupérer la liste des origines formation
* /
origineSubscription : Subscription ;
/ * *
* Observable pour récupérer la liste des types formation
* /
typeSubscription : Subscription ;
/ * *
* Observable pour récupérer la liste des modes formation
* /
modeSubscription : Subscription ;
/ * *
* Observable pour récupérer la liste des statuts formation
* /
statutSubscription : Subscription ;
/ * *
* Liste des modes formations à faire afficher dans une liste déroulante .
* /
modes : ModeFormationDTO [ ] ;
/ * *
* Liste des types formations à faire afficher dans une liste déroulante .
* /
types : TypeFormationDTO [ ] ;
/ * *
* Liste des origines formations à faire afficher dans une liste déroulante .
* /
origines : OrigineFormationDTO [ ] ;
/ * *
* Liste des statuts formations à faire afficher dans une liste déroulante .
* /
statuts : StatutFormationDTO [ ] ;
//formation: FormationDTO;
/ * *
* FormBuilder qui sera lié au formulaire du template avec les attributs d ' une formation
* C 'est dans cet objet qu' est stockée la formation à modifier
* /
formationForm : FormGroup ;
/ * *
* Id de la formation à récupérer dans l ' URL
* /
id :any ;
constructor ( private service : FormationsService , private fb : FormBuilder ,
private activatedRoute :ActivatedRoute , private router : Router ) {
this . formationForm = this . fb . group (
/ * t h i s . f o r m a t i o n F o r m = t h i s . f b . g r o u p (
{
id : [ "" ] ,
intitule : [ "" ] ,
@ -54,11 +87,11 @@ export class EditFormationComponent implements OnInit {
type : [ "" ] ,
estCertifie : [ "" ]
}
) ;
) ; * /
}
ngOnInit() {
// récupérer les tableaux pour les afficher dans les liste déroulantes
this . modeSubscription = this . service . getModesFormation ( ) . subscribe (
modes = > this . modes = modes ,
err = > console . log ( err )
@ -78,15 +111,17 @@ export class EditFormationComponent implements OnInit {
types = > this . types = types ,
err = > console . log ( err )
) ;
// récupérer l'id de la formation en paramètre de l'URL
this . id = this . activatedRoute . snapshot . paramMap . get ( 'id' ) ;
this . formationSubscription = this . service . getFormationById ( this . id ) . subscribe (
formation = > this . initFormation ( formation )
) ;
}
/ * *
* Initialisé les champs du formulation à partir de la formation déjà existante
* /
initFormation ( formation :FormationDTO ) {
//this.formation = formation;
this . formationForm = this . fb . group (
{
id : [ formation . id ] ,
@ -103,9 +138,9 @@ export class EditFormationComponent implements OnInit {
estCertifie : [ formation . estCertifie ]
}
) ;
}
updateFormation() {
//this.formation = this.formationForm.value;
this . formationSubscription = this . service . updateFormation ( this . formationForm . value , this . formationForm . value . id ) . subscribe (
@ -125,41 +160,17 @@ export class EditFormationComponent implements OnInit {
if ( this . formationSubscription != undefined ) {
this . formationSubscription . unsubscribe ( ) ;
}
if ( this . modeSubscription != undefined ) {
this . formationSubscription . unsubscribe ( ) ;
}
if ( this . typeSubscription != undefined ) {
this . formationSubscription . unsubscribe ( ) ;
}
if ( this . statutSubscription != undefined ) {
this . formationSubscription . unsubscribe ( ) ;
}
if ( this . origineSubscription != undefined ) {
this . formationSubscription . unsubscribe ( ) ;
}
}
}
/ *
this . formationForm = this . fb . group (
{
id : [ formation . id ] ,
intitule : [ formation . intitule ] ,
origine : [ formation . origine ] ,
statut : [ formation . statut ] ,
dateDebut : [ new Date ( formation . dateDebut ) ] ,
dateFin : [ new Date ( formation . dateFin ) ] ,
heure : [ formation . heure ] ,
jour : [ formation . jour ] ,
organisme : [ formation . organisme ] ,
mode : [ formation . mode ] ,
type : [ formation . type ] ,
estCertifie : [ formation . estCertifie ]
}
) ;
* /
/ *
this . formationForm . setValue (
{
id : formation.id ,
intitule : formation.intitule ,
origine : formation.origine ,
statut : formation.statut ,
dateDebut : new Date ( formation . dateDebut ) ,
dateFin : new Date ( formation . dateFin ) ,
heure : formation.heure ,
jour : formation.jour ,
organisme : formation.organisme ,
mode : formation.mode ,
type : formation . type ,
estCertifie : formation.estCertifie
}
) ;
* /