diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index ffce2c1..2d66c0e 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -21,8 +21,7 @@ export class AppComponent implements OnInit {
}
ngOnInit(): void {
- let mail = this.authService.mail;
- this.subscriber = this.collaborateursService.getCollaborateurByMail(mail).subscribe(
+ this.subscriber = this.collaborateursService.getCollaborateurByMail(this.authService.mail).subscribe(
collaborateur => this.collaborateurConnecte.collaborateur = collaborateur
);
}
diff --git a/src/app/collaborateurs/collaborateurs.component.html b/src/app/collaborateurs/collaborateurs.component.html
index 24abcc4..568abc6 100644
--- a/src/app/collaborateurs/collaborateurs.component.html
+++ b/src/app/collaborateurs/collaborateurs.component.html
@@ -1,38 +1,65 @@
Liste des collaborateurs
-
-
-
- Agence
- {{ row.businessUnit.nom }}
-
-
-
- Collabotareur
-
- {{row.prenom}} {{row.nom}}
-
-
-
- Date embauche
- {{row.dateArrivee | date:'dd/MM/yyyy'}}
-
-
-
- Référent
- {{ row.referent.prenom }} {{ row.referent.nom }}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ Rechercher un collaborateur
+
+
+ close
+
+
+
+
+
+
+
+
+
+ Agence
+ {{ row.businessUnit.nom }}
+
+
+
+ Collabotareur
+
+ {{row.prenom}} {{row.nom}}
+
+
+
+ Date embauche
+ {{row.dateArrivee | date:'dd/MM/yyyy'}}
+
+
+
+ Référent
+
+ {{ row.referent.prenom }} {{ row.referent.nom }}
+ Aucun référent
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/collaborateurs/collaborateurs.component.ts b/src/app/collaborateurs/collaborateurs.component.ts
index 35e79e1..ae72033 100644
--- a/src/app/collaborateurs/collaborateurs.component.ts
+++ b/src/app/collaborateurs/collaborateurs.component.ts
@@ -8,7 +8,7 @@ import {MatSort} from '@angular/material/sort';
import { CollaborateurDTO } from '@shared/api-swagger/model/models'
import { CollaborateursService } from "@shared/api-swagger/api/api";
-
+import { CollaborateurConnecte } from "@shared/globales/collaborateur-connecte"
/**
* Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur.
@@ -36,11 +36,15 @@ export class CollaborateursComponent implements OnInit {
/**
* Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...).
*/
- roles : string[] = ["collaborateur"];
+ roles : string[] = [];
/**
* Observable pour faire des requêtes sur le service collaborateur.
*/
private collaborateursDisponiblesSubscription : Subscription;
+ /**
+ * Observable pour faire des requêtes sur le service collaborateur.
+ */
+ private collaborateursDisponiblesCountSubscription : Subscription;
/**
* Liste des colonnes du tableau à afficher.
*/
@@ -60,6 +64,10 @@ export class CollaborateursComponent implements OnInit {
*/
tri = "";
+ bus = [];
+
+ busIds: Array = [];
+
taille = 100;
pageOption = [ 5, 15, 20, 30, 50];
@@ -80,11 +88,10 @@ export class CollaborateursComponent implements OnInit {
* Spécifie si la liste des collaborateurs est en cours de chargement dans le tableau.
*/
chargement = true;
- constructor(private service: CollaborateursService) {}
+ constructor(private service: CollaborateursService, private collaborateurConnecte: CollaborateurConnecte) {}
ngOnInit() {
- this.updateDataSource();
-
+ this.setBUsId();
}
/**
@@ -93,23 +100,38 @@ export class CollaborateursComponent implements OnInit {
*/
updateDataSource() {
//récupérer la liste des collaborateur et mettre à jour le tableau
- this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.roles,[1],this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe(
+ this.collaborateursDisponiblesSubscription = this.service.getCollaborateurs(this.roles, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe(
collaborateurs => { console.log(collaborateurs); this.dataSource = new MatTableDataSource(collaborateurs);},
err => console.log(err)
);
+ this.collaborateursDisponiblesCountSubscription = this.service.getCollaborateursCount(this.roles, this.busIds,this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe(
+ count => { console.log(count); this.taille=count;},
+ err => console.log(err)
+ );
//this.dataSource.paginator = this.paginator;
//this.dataSource.sort = this.sort;
}
+
+
updatePageInfo(event) : PageEvent{
- console.log("update")
- console.log(event);
this.parPage = event.pageSize;
this.numPage = event.pageIndex+1;
this.updateDataSource();
return event;
}
+ setSearch() {
+ this.numPage = 1;
+ this.updateDataSource();
+ }
+
+ resetSearch() {
+ this.search = "";
+ this.numPage =1;
+ this.updateDataSource();
+ }
+
/**
* Fonction qui calculait le nombre d'année qu'un collaborateur a passé chez Apside (calculer entre la date d'aujourd'hui et la date d'arrivée du collaborateur).
*/
@@ -117,6 +139,31 @@ export class CollaborateursComponent implements OnInit {
return Math.abs(firstDate-secondDate);
}
+ setBUsId() {
+ if(this.collaborateurConnecte.collaborateur == undefined) {
+ setTimeout( () => this.setBUsId(), 1000);
+ }
+ else {
+ this.bus = this.collaborateurConnecte.collaborateur.businessUnit.agence.bu;
+ for(let bu of this.bus) {
+ this.busIds.push(bu.id);
+ }
+ this.updateDataSource();
+ this.chargement = false;
+ }
+ }
+
+ updateCheckbox(event, bu) {
+ if(event) {
+ this.busIds.push(bu.id)
+ }
+ else{
+ this.busIds = this.busIds.filter( (id) => id != bu.id);
+ }
+ this.numPage = 1;
+ this.updateDataSource();
+ }
+
/**
* Une fois la page fermée, il est nécessaire de se désabonner des Oberservable afin d'éviter les fuites mémoires.
*/
@@ -124,5 +171,8 @@ export class CollaborateursComponent implements OnInit {
if(this.collaborateursDisponiblesSubscription != undefined) {
this.collaborateursDisponiblesSubscription.unsubscribe();
}
+ if(this.collaborateursDisponiblesCountSubscription != undefined) {
+ this.collaborateursDisponiblesCountSubscription.unsubscribe();
+ }
}
}
diff --git a/src/app/collaborateurs/collaborateurs.module.ts b/src/app/collaborateurs/collaborateurs.module.ts
index d6e0279..8b863b5 100644
--- a/src/app/collaborateurs/collaborateurs.module.ts
+++ b/src/app/collaborateurs/collaborateurs.module.ts
@@ -31,6 +31,7 @@ import { CollaborateursRoutingModule } from "./collaborateurs.routing.module";
imports: [
//FormsModule,
CommonModule,
+ FormsModule,
MaterialModule,
NavMenuModule,
CollaborateursRoutingModule,