diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 2e3c6b5..891e137 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -15,7 +15,6 @@ import { ApiModule } from '@shared/api-swagger'
import { HomeModule } from './home';
import { CollaborateursModule } from './collaborateurs';
-
import { ReferentsModule } from './referents';
import { FormationsModule } from './formations';
import { DemandesFormationModule } from './demandes-formation';
@@ -24,7 +23,7 @@ import { EpSaisieModule } from "./ep-saisie";
import { EpModule } from "./ep"
import { AuthModule } from '@shared/auth/auth.module';
-
+import { MatTablesModule } from "@shared/mat-tables/mat-tables.module";
@NgModule({
declarations: [
@@ -37,7 +36,7 @@ import { AuthModule } from '@shared/auth/auth.module';
HomeModule, CollaborateursModule,
ReferentsModule, FormationsModule,
DemandesFormationModule, DemandesDelegationModule,
- EpSaisieModule, EpModule
+ EpSaisieModule, EpModule, MatTablesModule
],
providers: [],
diff --git a/src/app/collaborateurs/collaborateurs.component.ts b/src/app/collaborateurs/collaborateurs.component.ts
index 96a6d92..c9fddfd 100644
--- a/src/app/collaborateurs/collaborateurs.component.ts
+++ b/src/app/collaborateurs/collaborateurs.component.ts
@@ -1,9 +1,8 @@
-import { Component, ViewChild } from '@angular/core';
+import { Component } from '@angular/core';
import { collaborateurTypeRecherche } from "@shared/utils/cles";
import { Router } from '@angular/router';
-//import { CollaborateursTableComponent } from "@shared/mat-tables/collaborateurs-table/collaborateurs.table"
/**
* Composant qui sert à l'affichage de la liste des collaborateurs en fonction de l'agence de son utilitateur.
@@ -16,7 +15,6 @@ import { Router } from '@angular/router';
})
export class CollaborateursComponent {
- //@ViewChild(CollaborateursTableComponent) collaborateursTableComponent;
/**
* Type de la recherche à indiquer au composant fils qui affiche la liste des collaborateurs
*/
diff --git a/src/app/collaborateurs/collaborateurs.module.ts b/src/app/collaborateurs/collaborateurs.module.ts
index fa56601..f8f470c 100644
--- a/src/app/collaborateurs/collaborateurs.module.ts
+++ b/src/app/collaborateurs/collaborateurs.module.ts
@@ -4,7 +4,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { MaterialModule } from "@shared/angular-material/angular-material.module";
-import { CollaborateursTableComponent } from "@shared/mat-tables/collaborateurs-table/collaborateurs.table";
import {NavMenuModule} from '@shared/nav-menu/nav-menu.module';
import { CollaborateursComponent } from "./collaborateurs.component";
@@ -14,6 +13,7 @@ import { EvaluationComponent } from "./formations-collaborateur/details-evaluati
import { EditEvaluationComponent } from "./formations-collaborateur/edit-evaluation/edit-evaluation.component";
import { FormationsCollaboateurComponent } from "./formations-collaborateur/formations-collaborateur.component";
+import { MatTablesModule } from "@shared/mat-tables/mat-tables.module";
import { CollaborateursRoutingModule } from "./collaborateurs.routing.module";
/**
@@ -23,7 +23,7 @@ import { CollaborateursRoutingModule } from "./collaborateurs.routing.module";
declarations: [
CollaborateursComponent, DetailsCollaborateurComponent,
DetailsCollaborateurComponent, EvaluationComponent, EditEvaluationComponent,
- FormationsCollaboateurComponent, CollaborateursTableComponent
+ FormationsCollaboateurComponent
],
exports: [
CollaborateursComponent
@@ -35,6 +35,7 @@ import { CollaborateursRoutingModule } from "./collaborateurs.routing.module";
ReactiveFormsModule,
MaterialModule,
NavMenuModule,
+ MatTablesModule,
CollaborateursRoutingModule,
RouterModule
],
diff --git a/src/app/referents/referents.component.html b/src/app/referents/referents.component.html
index 45b1a41..42daf86 100644
--- a/src/app/referents/referents.component.html
+++ b/src/app/referents/referents.component.html
@@ -1,51 +1,4 @@
Liste des référents
-
-
-
-
-
-
-
- Rechercher un référent
-
-
- close
-
-
-
-
-
-
- {{bu.nom}}
-
-
-
-
-
-
- Agence
- {{ row.businessUnit.nom}}
-
-
-
- Référent
- {{row.nom}} {{row.prenom}}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/app/referents/referents.component.ts b/src/app/referents/referents.component.ts
index 8d00549..723aa66 100644
--- a/src/app/referents/referents.component.ts
+++ b/src/app/referents/referents.component.ts
@@ -1,15 +1,7 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
-
-import { Subscription } from 'rxjs';
-
-import {MatTableDataSource} from '@angular/material/table';
-
-import { CollaborateursService } from "@shared/api-swagger/api/api";
-
-import { BusinessUnitDTO, CollaborateurDTO } from "@shared/api-swagger/model/models";
-
-import { cles } from "@shared/utils/cles";
+import { Component } from '@angular/core';
+import { collaborateurTypeRecherche } from "@shared/utils/cles";
+import { Router } from '@angular/router';
/**
*/
@@ -17,196 +9,41 @@ import { cles } from "@shared/utils/cles";
selector: 'app-referents',
templateUrl: './referents.component.html'
})
-export class ReferentsComponent implements OnInit {
+export class ReferentsComponent {
- /**
- * Ordre de tri à envoyer au serveur (true : croissant, false : décroissantà).
- */
- asc = true;
- /**
- * Numéro de la page à afficher dans le tableau.
- */
- numPage = 1;
- /**
- * Nombre d'élément du tableau à affiche en une page.
- */
- parPage = 15;
- /**
- * Rôle des collaborateurs à récupérer via le service collaborateur, ici nous ne voulons que les collaborateurs (pour le moment...).
- */
- /**
- * Observable pour faire des requêtes sur le service référent.
- */
- private referentsDisponiblesSubscription : Subscription;
+ constructor(private router: Router) {}
+
+
+ event(event : any) {
+ this.router.navigate(["/referents", event.collaborateur.id]);
+ }
/**
- * Observable pour faire des requêtes sur le service référent.
- */
- private referentsDisponiblesCountSubscription : Subscription;
+ * Type de la recherche à indiquer au composant fils qui affiche la liste des collaborateurs
+ */
+ typeRecherche: string = collaborateurTypeRecherche.referents;
/**
* Liste des colonnes du tableau à afficher.
*/
displayedColumns : string[] = ["businessunit", "collaborateur"];
- /**
- * Objet pour stocker la liste des référents qui seront récupérés par le service référént
- */
- dataSource : MatTableDataSource;
/**
* Liste des rôles pour préciser que l'on souhaite récupérer les commerciaux
*/
roles : string[] = ["Manager", "RA", "CP", "TL"];
-
- /**
- * contenu de la recherche.
- */
- search = "";
-
- /**
- * Permet d'indiquer au serveur sur quel attribut de l'objet CollaborateurDTO on souhaite faire le tri
- */
- tri = "collaborateur";
-
- /**
- * Options pour choisir le nombre de page à affiche
- */
- pageOption = [ 5, 15, 20, 30, 50];
-
/**
- * Liste des business units du collaborateur connecté
- */
- bus: Array = [];
-
- /**
- * Liste des id des business units des collaborateurs à afficher
+ * Indique si la recherche pas BU est activée ou non
*/
- private busIds: Array = [];
+ rechercherParBU: boolean = true;
/**
- * Nombre total d'élément du tableau
+ * Indique si la recherhe
*/
- taille: number;
+ rechercherParDate: boolean = false;
- /**
- * Spécifie si la liste des référents est en cours de chargement et d'écriture dans le tableau.
- */
- chargement = true;
- constructor(private service: CollaborateursService) {}
-
- ngOnInit() {
- this.setBUsId();
- }
-
- /**
- * Mettre à jour les informations à afficher dans la tableau.
- * Devra se faire à l'ouverture de la page, au changement de page ou du nombre d'éléments à afficher, au moment d'un tri ou encore lors de l'utilisation de la barre de recherche.
- */
- updateDataSource() {
- if(this.busIds.length == 0) {
- this.taille = 0;
- this.dataSource = new MatTableDataSource(undefined);
- return;
- }
- this.referentsDisponiblesSubscription = this.service.getCollaborateurs(this.roles, this.busIds,this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe(
- referents => this.dataSource = new MatTableDataSource(referents),
- err => console.log(err)
- );
- this.referentsDisponiblesCountSubscription = this.service.getCollaborateursCount(this.roles, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe(
- count => this.taille=count,
- err => console.log(err)
- );
- }
-
- /**
- * Mettre à jour la liste des
- * @param event case cochée ou décochée
- * @param bu business unit concerné par la checkbox cochée ou décochée
- */
- updateCheckbox(event, bu) {
- // si la checkbox a été cochée
- if(event) {
- this.busIds.push(bu.id)
- }
- else{
- this.busIds = this.busIds.filter( (id) => id != bu.id);
- }
- this.numPage = 1;
- this.updateDataSource();
- }
-
-
- /**
- * Mettre à jour le nomre d'élément à afficher par page et le numéro de la page
- * @param event évènement de la pagination
- */
- updatePageInfo(event){
- this.parPage = event.pageSize;
- this.numPage = event.pageIndex+1;
- this.updateDataSource();
- }
-
- /**
- * Remettre au début la liste lors d'une recherche via la barre de recherche
- */
- setSearch() {
- this.numPage = 1;
- this.updateDataSource();
- }
-
- /**
- * création de la liste des business unit du collaborateur connecté pour afficher les checkboxes
- */
- setBUsId() {
- if(sessionStorage.getItem(cles.sessionKeyConnectee) == undefined){
- setTimeout( () => this.setBUsId(), 1000);
- }
- else {
- const connecte = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee));
- this.bus = connecte.businessUnit.agence.bu;
- for(let bu of this.bus) {
- this.busIds.push(bu.id);
- }
- this.updateDataSource();
- this.chargement = false;
- }
- }
-
- /**
- * Vider la barre de recherche et remettre le tableau à la première page
- */
- resetSearch() {
- this.search = "";
- this.setSearch();
- }
-
- /**
- * Trier le tableau en fonction de l'évènement de la colonne
- * @param e évènement du tri
- */
- triTableau(e) {
- this.tri = e.active;
- switch(e.direction) {
- case "asc":
- this.asc = true;
- break;
- case "desc":
- this.asc = false;
- break;
- }
- 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.
- */
- ngOnDestroy() {
- if(this.referentsDisponiblesSubscription != undefined) {
- this.referentsDisponiblesSubscription.unsubscribe();
- }
- }
}
diff --git a/src/app/referents/referents.module.ts b/src/app/referents/referents.module.ts
index 5ecdd9f..9a368d6 100644
--- a/src/app/referents/referents.module.ts
+++ b/src/app/referents/referents.module.ts
@@ -5,13 +5,15 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MaterialModule } from "@shared/angular-material/angular-material.module";
import {NavMenuModule} from '@shared/nav-menu/nav-menu.module';
+import { MatTablesModule } from "@shared/mat-tables/mat-tables.module";
import { ReferentsComponent } from './referents.component';
import { DetailsReferentComponent } from './details-referent/details-referent.component';
import { ReferentsRoutingModule } from './referents.routing.module';
@NgModule({
- declarations: [ DetailsReferentComponent, ReferentsComponent
+ declarations: [ DetailsReferentComponent,
+ ReferentsComponent
],
exports: [ ReferentsComponent
],
@@ -22,7 +24,8 @@ import { ReferentsRoutingModule } from './referents.routing.module';
FormsModule,
RouterModule,
ReactiveFormsModule,
- ReferentsRoutingModule
+ ReferentsRoutingModule,
+ MatTablesModule
],
})
export class ReferentsModule {}
diff --git a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html
index c8b14a7..79d3352 100644
--- a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html
+++ b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.html
@@ -20,26 +20,28 @@
{{bu.nom}}
-
-
-
-
- Date de début
-
- clear
-
-
-
+
-
-
-
- Date de fin
-
- clear
-
-
-
+
+
+
+
+ Date de début
+
+ clear
+
+
+
+
+
+
+ Date de fin
+
+ clear
+
+
+
+
@@ -64,8 +66,8 @@
Référent
- {{ row.referent.prenom }} {{ row.referent.nom }}
- Aucun référent
+ {{ row.referent.prenom }} {{ row.referent.nom }}
+ Aucun référent
diff --git a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts
index 5743eff..492edf0 100644
--- a/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts
+++ b/src/app/shared/mat-tables/collaborateurs-table/collaborateurs.table.ts
@@ -108,6 +108,10 @@ export class CollaborateursTableComponent implements OnInit {
*/
@Input() rechercherParBU: boolean = false;
+ /**
+ *
+ */
+ @Input() rechercherParDate: boolean = true;
/**
* Liste des rôles des collaborateurs a affichés
*/
@@ -137,11 +141,11 @@ export class CollaborateursTableComponent implements OnInit {
constructor(private service: CollaborateursService) {}
- emitEvent(referent: CollaborateurDTO, type: string) {
+ emitEvent(collaborateur: CollaborateurDTO, type: string) {
const event = {
type : type,
- collaborateur: referent
- };
+ collaborateur: collaborateur
+ }
this.eventEmitter.emit(event);
}
diff --git a/src/app/shared/mat-tables/mat-tables.module.ts b/src/app/shared/mat-tables/mat-tables.module.ts
new file mode 100644
index 0000000..aafba7e
--- /dev/null
+++ b/src/app/shared/mat-tables/mat-tables.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from "@angular/core";
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { MaterialModule } from "../angular-material/angular-material.module";
+import { CollaborateursTableComponent } from "@shared/mat-tables/collaborateurs-table/collaborateurs.table";
+
+/**
+ * Module des nav utilisés pour chaque role
+ */
+@NgModule({
+ declarations: [
+ CollaborateursTableComponent
+ ],
+ imports: [
+ MaterialModule,
+ CommonModule,
+ FormsModule
+ ],
+ exports: [CollaborateursTableComponent]
+})
+export class MatTablesModule {}