@ -12,6 +12,14 @@ import { CollaborateurModel } from "../../modeles/modele-collaborateur";
import { EpModel } from "../../modeles/modele-ep" ;
import { EpModel } from "../../modeles/modele-ep" ;
import { DisplayEP } from "../../utils/displayEP" ;
import { DisplayEP } from "../../utils/displayEP" ;
/ * *
* Le composant home qui sera affiché uniquement pour les assistantes .
* Cette interface affiche la liste des EP disponibles et en cours , de les trier et de faire une recherche avec la barre de recherche mais aussi choisir un intervalle de dates .
* Le tri peut se faire par rapport aux é léments du tableau et de checkboxes des agences et de si les EP ont é té terminé et non signé .
* Les assistantes peuvent accéder directement aux informations du collaborateur concerné , du référent actuel et de l ' EP , si ce dernier a é té saisie .
* LEs informations qui seront affichées sont : l 'agence, le collaborateur, son ancienneté, le référent, la date d' envoie du mail , l 'état, le type d' EP et la date prévu d ' entretien
* /
@Component ( {
@Component ( {
selector : 'home-assistante' ,
selector : 'home-assistante' ,
templateUrl : 'home-assistante.component.html' ,
templateUrl : 'home-assistante.component.html' ,
@ -19,15 +27,51 @@ import { DisplayEP } from "../../utils/displayEP";
} )
} )
export class HomeAssistanteComponent implements OnInit , AfterViewInit {
export class HomeAssistanteComponent implements OnInit , AfterViewInit {
/ * *
* Une liste qui contiendra la liste des EP avec les informations à faire conserver .
* /
epDisponibles : DisplayEP [ ] ;
epDisponibles : DisplayEP [ ] ;
/ * *
* Liste des EP qui seront affichées en fonction des filtres .
* /
epFiltre : DisplayEP [ ] ;
epFiltre : DisplayEP [ ] ;
/ * *
* Subscription pour récupérer les EP .
* /
private epDisponiblesSubscription : Subscription ;
private epDisponiblesSubscription : Subscription ;
/ * *
* liste des titres des colonnes du tableau .
* /
displayedColumns : string [ ] = [ "agence" , "info" , "datemail" , "dateentretien" , "etat" , "type" ] ;
displayedColumns : string [ ] = [ "agence" , "info" , "datemail" , "dateentretien" , "etat" , "type" ] ;
/ * *
* source pour l ' affichage des EP dans le tableau qui est affichée .
* /
dataSource : MatTableDataSource < DisplayEP > ;
dataSource : MatTableDataSource < DisplayEP > ;
/ * *
* contenu de la recherche .
* /
search = "" ;
search = "" ;
/ * *
* Pagination du tableau .
* /
@ViewChild ( MatPaginator ) paginator : MatPaginator ;
@ViewChild ( MatPaginator ) paginator : MatPaginator ;
/ * *
* Tri par les é léments du tableau selon la colonne choisie .
* /
@ViewChild ( MatSort ) sort : MatSort ;
@ViewChild ( MatSort ) sort : MatSort ;
/ * *
* Spécifie si la liste des EP est en cours de chargement et d ' é criture dans le tableau .
* /
chargement = true ;
constructor ( public keycloakService : KeycloakService , private serviceCollaborateur : ServiceCollaborateur ,
constructor ( public keycloakService : KeycloakService , private serviceCollaborateur : ServiceCollaborateur ,
private serviceEP : ServiceEP ) {
private serviceEP : ServiceEP ) {
}
}
@ -36,6 +80,10 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit {
console . log ( "VIEWINITED" ) ;
console . log ( "VIEWINITED" ) ;
}
}
/ * *
* Initialisation de l ' affichage des EP dans le tableau .
* /
initDisplay ( eps ) {
initDisplay ( eps ) {
console . log ( "INITDISPLAY" ) ;
console . log ( "INITDISPLAY" ) ;
this . epDisponibles = [ ]
this . epDisponibles = [ ]
@ -51,11 +99,15 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit {
epDisplay . type = ep . type ;
epDisplay . type = ep . type ;
this . epDisponibles . push ( epDisplay ) ;
this . epDisponibles . push ( epDisplay ) ;
}
}
this . epFiltre = this . epDisponibles ;
}
}
/ * *
* Mise à jour du tableau lorsque qu ' un tri est fait via les checkboxes .
* /
refreshDataSource() {
refreshDataSource() {
console . log ( "REFRESH" ) ;
console . log ( "REFRESH" ) ;
this . epFiltre = this . epDisponibles ;
//this.epFiltre = this.epDisponibles;
this . dataSource = new MatTableDataSource ( this . epFiltre ) ;
this . dataSource = new MatTableDataSource ( this . epFiltre ) ;
console . log ( this . dataSource . paginator ) ;
console . log ( this . dataSource . paginator ) ;
this . dataSource . paginator = this . paginator ;
this . dataSource . paginator = this . paginator ;
@ -64,6 +116,9 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit {
this . dataSource . sort = this . sort ;
this . dataSource . sort = this . sort ;
}
}
/ * *
* Récupérer la liste des EP Disponibles dès l ' initialisation
* /
ngOnInit() {
ngOnInit() {
console . log ( "INIT" ) ;
console . log ( "INIT" ) ;
this . epDisponiblesSubscription = this . serviceEP . listeEPDisponibles ( ) .
this . epDisponiblesSubscription = this . serviceEP . listeEPDisponibles ( ) .
@ -73,6 +128,10 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit {
} ) ;
} ) ;
}
}
/ * *
* Cette fonction permet de mettre à jour le filtre du tableau
* /
applyFilter ( filterValue : string ) {
applyFilter ( filterValue : string ) {
console . log ( filterValue ) ;
console . log ( filterValue ) ;
filterValue = filterValue . trim ( ) ;
filterValue = filterValue . trim ( ) ;
@ -80,100 +139,13 @@ export class HomeAssistanteComponent implements OnInit, AfterViewInit {
this . dataSource . filter = filterValue ;
this . dataSource . filter = filterValue ;
}
}
/ * *
* Détruire toutes les Subscriptions utilisées pour libérer de la mémoire après le changement de page .
* /
ngOnDestroy() {
ngOnDestroy() {
console . log ( "DESTROY" ) ;
console . log ( "DESTROY" ) ;
if ( this . epDisponiblesSubscription != null ) {
if ( this . epDisponiblesSubscription != null ) {
this . epDisponiblesSubscription . unsubscribe ( ) ;
this . epDisponiblesSubscription . unsubscribe ( ) ;
}
}
}
}
}
}
/ * p r i v a t e c o l l a b L i s t S u b s c r i p t i o n : S u b s c r i p t i o n ;
private collab1Subscription : Subscription ;
private collab2Subscription : Subscription ;
private listeCollaborateurs : CollaborateurModel [ ] ;
private formationSubscription : Subscription ;
private addFormationSubscription : Subscription ;
private epEnvoieSubscription : Subscription ;
private epCollaborateurSubscription : Subscription ;
private epDisponiblesSubscription : Subscription ;
private epCollaborateurProchain : Subscription ;
//*/
//********TEST********//
/ * l e t e p = n e w E p M o d e l ( ) ;
ep . id = 10 ;
ep . type = "EPA" ;
//ep.dateDisponibilite = new Date(2020,0,5,25,30);
ep . dateDisponibilite = new Date ( 2020 , 0 , 0 , 25 , 30 ) ;
ep . etat = "créer" ;
let collaborateur = new CollaborateurModel ( ) ;
collaborateur . id = 1 ;
collaborateur . nom = "GRETTE" ;
collaborateur . prenom = "Yanaël" ;
collaborateur . mail = "yanael.grette@apside-groupe.com" ;
collaborateur . agence = "Orléans" ;
collaborateur . fonction = "Stagiaire" ;
ep . collaborateur = collaborateur ;
this . epEnvoieSubscription = this . serviceEP . envoieEP ( ep , "saisie" ) .
subscribe ( eps = > this . display ( eps ) ) ;
//this.epCollaborateurProchain = this.serviceEP.prochainEPCollaborateur(3).
//subscribe(eps => this.display(eps));
//this.epCollaborateurSubscription = this.serviceEP.listeEPCollaborateur(1).
//subscribe(eps => this.display(eps));
/ *
let formation = new FormationModel ( ) ;
formation . intitule = "TestJAVA" ;
formation . dateDebut = new Date ( "10-12-2020" ) ;
formation . dateFin = new Date ( "10-12-2020" ) ;
formation . statut = "Prévue" ;
formation . lieu = "Orléans" ;
formation . duree = 5 ;
formation . organisme = "Apside" ;
formation . nomFormateur = "Patrick" ;
console . log ( formation . dateDebut ) ;
this . addFormationSubscription = this . serviceFormation . nouvelleFormation ( formation )
. subscribe ( ) ;
this . formationSubscription = this . serviceFormation . listeFormations ( )
. subscribe ( formations = > this . display ( formations ) ) ;
/ *
this . collabListSubscription = this . serviceCollaborateur . listeCollaborateurs ( token ) .
subscribe ( collaborateurs = > this . test ( collaborateurs ) ) ;
let params = { mail : "angelique@apside.com" } ;
this . collab1Subscription = this . serviceCollaborateur . getCollaborateurByParam ( token , params ) .
subscribe ( collaborateurs = > this . test2 ( collaborateurs ) ) ;
let params2 = { id : 1 } ;
this . collab2Subscription = this . serviceCollaborateur . getCollaborateurByParam ( token , params2 ) .
subscribe ( collaborateurs = > this . test2 ( collaborateurs ) ) ;
console . log ( token ) ; *
//*/
/ * i f ( t h i s . c o l l a b L i s t S u b s c r i p t i o n ! = n u l l ) {
this . collabListSubscription . unsubscribe ( ) ;
} * /
/ *
if ( this . formationSubscription != null ) {
this . formationSubscription . unsubscribe ( ) ;
}
if ( this . addFormationSubscription != null ) {
this . addFormationSubscription . unsubscribe ( ) ;
}
if ( this . epEnvoieSubscription != null ) {
this . epEnvoieSubscription . unsubscribe ( ) ;
}
if ( this . epCollaborateurSubscription != null ) {
this . epCollaborateurSubscription . unsubscribe ( ) ;
}
if ( this . epDisponiblesSubscription != null ) {
this . epDisponiblesSubscription . unsubscribe ( ) ;
}
if ( this . epCollaborateurProchain != null ) {
this . epCollaborateurProchain . unsubscribe ( ) ;
}
* /