From 43aac7cbfc585616c0f4bd1d0eec1463ac595242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yana=C3=ABl=20GRETTE?= Date: Mon, 15 Feb 2021 10:21:20 +0100 Subject: [PATCH] Affichage de la liste des engagements --- src/app/engagements/engagements.component.ts | 7 ++-- src/app/engagements/engagements.html | 2 ++ src/app/engagements/engagements.module.ts | 4 ++- .../engagements-table/engagements-table.html | 34 +++++++++---------- .../engagements-table/engagements-table.ts | 31 ++++++++++++----- .../shared/mat-tables/mat-tables.module.ts | 2 +- 6 files changed, 50 insertions(+), 30 deletions(-) diff --git a/src/app/engagements/engagements.component.ts b/src/app/engagements/engagements.component.ts index 273f319..7a1c655 100644 --- a/src/app/engagements/engagements.component.ts +++ b/src/app/engagements/engagements.component.ts @@ -1,4 +1,5 @@ import { Component } from "@angular/core"; +import { EngagementDTO } from "@shared/api-swagger"; @Component({ selector: "app-engagements", @@ -6,8 +7,10 @@ import { Component } from "@angular/core"; }) export class EngagementsComponent { - + displayedColumns : string[] = ["businessunit", "collaborateur", "action", "dispositif", "modalite", "datelimite", "etat"]; constructor() {} - + afficherDetailsEngagements(engagement: EngagementDTO) { + console.log(engagement); + } } \ No newline at end of file diff --git a/src/app/engagements/engagements.html b/src/app/engagements/engagements.html index 4a20eae..c5520e3 100644 --- a/src/app/engagements/engagements.html +++ b/src/app/engagements/engagements.html @@ -1,3 +1,5 @@

Liste des engagements

+ + \ No newline at end of file diff --git a/src/app/engagements/engagements.module.ts b/src/app/engagements/engagements.module.ts index 04ca3c1..fb4e8b2 100644 --- a/src/app/engagements/engagements.module.ts +++ b/src/app/engagements/engagements.module.ts @@ -7,6 +7,7 @@ import { MaterialModule } from "@shared/angular-material/angular-material.module import {NavMenuModule} from '@shared/nav-menu/nav-menu.module'; import { EngagementsComponent } from "./engagements.component"; import { EngagementsRoutingModule } from "./engagements.routing.module"; +import { MatTablesModule } from "@shared/mat-tables/mat-tables.module"; @@ -19,7 +20,8 @@ import { EngagementsRoutingModule } from "./engagements.routing.module"; CommonModule, RouterModule, NavMenuModule, - EngagementsRoutingModule + EngagementsRoutingModule, + MatTablesModule ], }) export class EngagementsModule {} \ No newline at end of file diff --git a/src/app/shared/mat-tables/engagements-table/engagements-table.html b/src/app/shared/mat-tables/engagements-table/engagements-table.html index 8b57a87..38fee0a 100644 --- a/src/app/shared/mat-tables/engagements-table/engagements-table.html +++ b/src/app/shared/mat-tables/engagements-table/engagements-table.html @@ -3,7 +3,7 @@ - + Rechercher un collaborateur @@ -15,12 +15,12 @@ - {{bu.nom}} + {{bu.nom}} - {{afficherEtat(etat)}} + {{afficherEtat(etat)}} @@ -29,61 +29,61 @@ - + - Agence + Agence {{row.ep.collaborateur.businessUnit.nom}} - Collaborateur + Collaborateur {{row.ep.collaborateur.nom}} {{row.ep.collaborateur.prenom}} - Action + Action {{row.action}} - - Dispositif + + Dispositif {{row.dispotitif}} - Modalité + Modalité {{row.modalite}} - Date limite + Date limite {{row.dateLimite}} - Etat engagement + Etat engagement {{afficherEtat(row.etatEngagement)}} - EP + EP Voir EP - + Mettre à jour l'engagement - + Supprimer l'engagement - + - = [ + EtatEngagement.EnAttente, EtatEngagement.DateLimitePassee, + EtatEngagement.NonRealisable, EtatEngagement.Respecte + ]; + /** * Liste des colonnes du tableau à afficher. */ - @Input() displayedColumns : string[]; - @Input() estSaisieEP: boolean = false; + @Input() displayedColumns : string[] = []; + @Input() estAffichageEP: boolean = false; @Input() engagementsSaisis: EngagementDTO[] = []; @Output() eventEmitter: EventEmitter = new EventEmitter(); @@ -84,7 +90,7 @@ export class EngagementTableComponent implements OnInit { constructor(private engagementService: EngagementsService) {} ngOnInit() { - if(this.estSaisieEP) { + if(this.estAffichageEP) { this.taille = this.engagementsSaisis.length; this.dataSource = new MatTableDataSource(this.engagementsSaisis); } @@ -92,14 +98,20 @@ export class EngagementTableComponent implements OnInit { this.setBUsId(); } + emitEvent(engagement: EngagementsRoutingModule) { + if(this.eventEmitter != null) + this.eventEmitter.emit(engagement); + } + updateDataSource() { - if(this.busIds.length == 0) { + if(this.busIds.length == 0 || this.etatsEngagements.length == 0) { this.taille = 0; this.dataSource = new MatTableDataSource(undefined); + return; } this.engagementSubscription = this.engagementService.getEngagements(this.etatsEngagements, this.busIds, this.asc, this.numPage, this.parPage, this.search, this.tri).subscribe( - engagements => this.dataSource = new MatTableDataSource(engagements), + engagements => { console.log(engagements); this.dataSource = new MatTableDataSource(engagements); }, err => console.log(err) ); @@ -165,10 +177,11 @@ export class EngagementTableComponent implements OnInit { this.etatsEngagements.push(etat); } else - this.etatsEngagements + this.etatsEngagements = this.etatsEngagements.filter( e => etat != e); + this.setSearch(); } - updateCheckbox(event, bu) { + updateBUs(event, bu) { // si la checkbox a été cochée if(event) { this.busIds.push(bu.id) @@ -176,10 +189,10 @@ export class EngagementTableComponent implements OnInit { else{ this.busIds = this.busIds.filter( (id) => id != bu.id); } - this.numPage = 1; - this.updateDataSource(); + this.setSearch(); } + ngOnDestroy() { if(this.engagementSubscription != undefined) { this.engagementSubscription.unsubscribe(); diff --git a/src/app/shared/mat-tables/mat-tables.module.ts b/src/app/shared/mat-tables/mat-tables.module.ts index 4ecd359..d93ea50 100644 --- a/src/app/shared/mat-tables/mat-tables.module.ts +++ b/src/app/shared/mat-tables/mat-tables.module.ts @@ -15,6 +15,6 @@ import { EngagementTableComponent } from "@shared/mat-tables/engagements-table/e CommonModule, FormsModule ], - exports: [CollaborateursTableComponent] + exports: [CollaborateursTableComponent, EngagementTableComponent] }) export class MatTablesModule {}