diff --git a/src/app/angular-material/angular-material.module.ts b/src/app/angular-material/angular-material.module.ts
index e4619ef..78fbeda 100644
--- a/src/app/angular-material/angular-material.module.ts
+++ b/src/app/angular-material/angular-material.module.ts
@@ -5,14 +5,25 @@ import { CommonModule } from "@angular/common";
} from "@angular/material";//*/
import {MatCardModule} from '@angular/material/card';
import { MatButtonModule } from '@angular/material/button';
-import {MatMenuModule} from '@angular/material/menu';
+import {MatInputModule} from '@angular/material/input';
import {MatIconModule} from '@angular/material/icon';
+import {MatMenuModule} from '@angular/material/menu';
+import {MatPaginatorModule} from '@angular/material/paginator';
import {MatTableModule} from '@angular/material/table';
+import {MatSortModule} from '@angular/material/sort';
@NgModule({
+ imports : [MatCardModule,
+ MatButtonModule, MatMenuModule,
+ MatIconModule,MatPaginatorModule,
+ MatSortModule, MatTableModule,
+ MatInputModule
+ ],
exports : [MatCardModule,
MatButtonModule, MatMenuModule,
- MatIconModule, MatTableModule
+ MatIconModule,MatPaginatorModule,
+ MatSortModule, MatTableModule,
+ MatInputModule
]
})
export class MaterialModule {}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 6ea0446..462e728 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -2,7 +2,7 @@ import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule, DoBootstrap } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
-
+import { FormsModule } from '@angular/forms';
import { KeycloakAngularModule, KeycloakService } from 'keycloak-angular';
import { AppComponent } from './app.component';
@@ -38,7 +38,8 @@ let keycloakService: KeycloakService = new KeycloakService();
AppRoutingModule,
BrowserAnimationsModule,
MaterialModule,
- HttpClientModule
+ HttpClientModule,
+ FormsModule
],
providers: [
{
diff --git a/src/app/home/home-assistante/home-assistante.component.css b/src/app/home/home-assistante/home-assistante.component.css
new file mode 100644
index 0000000..bbd5b89
--- /dev/null
+++ b/src/app/home/home-assistante/home-assistante.component.css
@@ -0,0 +1,100 @@
+mat-table {
+ width: 85%;
+ margin-left: 5%;
+ margin-right: 5%;
+}
+
+mat-paginator {
+ margin-top: 1%;
+ margin-right: 10%;
+}
+
+mat-form-field {
+ width: auto;
+ margin-left: 5%;
+}
+/*
+table{
+ width: 100%;
+}
+
+.mat-column-username {
+ word-wrap: break-word !important;
+ white-space: unset !important;
+ flex: 0 0 28% !important;
+ width: 28% !important;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+
+ word-break: break-word;
+
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+.mat-column-emailid {
+ word-wrap: break-word !important;
+ white-space: unset !important;
+ flex: 0 0 25% !important;
+ width: 25% !important;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+
+ word-break: break-word;
+
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+.mat-column-contactno {
+ word-wrap: break-word !important;
+ white-space: unset !important;
+ flex: 0 0 17% !important;
+ width: 17% !important;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+
+ word-break: break-word;
+
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+.mat-column-userimage {
+ word-wrap: break-word !important;
+ white-space: unset !important;
+ flex: 0 0 8% !important;
+ width: 8% !important;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+
+ word-break: break-word;
+
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+.mat-column-userActivity {
+ word-wrap: break-word !important;
+ white-space: unset !important;
+ flex: 0 0 10% !important;
+ width: 10% !important;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+
+ word-break: break-word;
+
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+*/
diff --git a/src/app/home/home-assistante/home-assistante.component.html b/src/app/home/home-assistante/home-assistante.component.html
index 63ce996..a5b5ede 100644
--- a/src/app/home/home-assistante/home-assistante.component.html
+++ b/src/app/home/home-assistante/home-assistante.component.html
@@ -1 +1,52 @@
-
Page assistante
+ Bienvenu.e
+
+AU DESSUS
+
+
+
+ Recherche un collaborateur
+
+
+ close
+
+
+
+
+
+
+
+ Agence
+ {{row.agence}}
+
+
+
+ Collaborateur
+ {{row.info}}
+
+
+
+ Type
+ {{row.type}}
+
+
+
+ Date envoie mail
+ {{row.datemail}}
+
+
+
+ Date entretient
+ {{row.dateentretien}}
+
+
+
+ Etat
+ {{row.etat}}
+
+
+
+
+
+
+
+EN DESSOUS
diff --git a/src/app/home/home-assistante/home-assistante.component.ts b/src/app/home/home-assistante/home-assistante.component.ts
index 1f80c4a..c7db6c1 100644
--- a/src/app/home/home-assistante/home-assistante.component.ts
+++ b/src/app/home/home-assistante/home-assistante.component.ts
@@ -1,23 +1,179 @@
-import { Component, OnInit, OnDestroy } from '@angular/core';
+import { Component, OnInit, OnDestroy, ViewChild, ViewChildren, AfterViewInit } from '@angular/core';
+import { KeycloakService } from 'keycloak-angular';
+import { Observable, Subscription } from 'rxjs';
+
+import {MatTableDataSource} from '@angular/material/table';
+import {MatPaginator} from '@angular/material/paginator';
+import {MatSort} from '@angular/material/sort';
+
+import { ServiceCollaborateur, ServiceEP } from "../../service";
+import { CollaborateurModel } from "../../modeles/modele-collaborateur";
+import { EpModel } from "../../modeles/modele-ep";
+import { DisplayEP } from "../../utils/displayEP";
@Component({
selector : 'home-assistante',
- templateUrl : 'home-assistante.component.html'
+ templateUrl : 'home-assistante.component.html',
+ styleUrls : [ "./home-assistante.component.css"]
})
-export class HomeAssistanteComponent implements OnInit {
-
+export class HomeAssistanteComponent implements OnInit, AfterViewInit {
- constructor() {
+ epDisponibles : DisplayEP[];
+ epFiltre : DisplayEP[];
+ private epDisponiblesSubscription : Subscription;
+ displayedColumns: string[] = ["agence", "info", "datemail", "dateentretien", "etat", "type"];
+ dataSource : MatTableDataSource;
+ search = "";
+ @ViewChild(MatPaginator) paginator: MatPaginator;
+ @ViewChild(MatSort) sort: MatSort;
+ constructor(public keycloakService : KeycloakService, private serviceCollaborateur : ServiceCollaborateur,
+ private serviceEP : ServiceEP) {
}
+ ngAfterViewInit() {
+ console.log("VIEWINITED");
+ }
+ initDisplay(eps) {
+ console.log("INITDISPLAY");
+ this.epDisponibles = []
+ let epDisplay : DisplayEP;
+ for(let ep of eps) {
+ epDisplay = new DisplayEP();
+ epDisplay.id = ep.id;
+ epDisplay.agence = ep.collaborateur.agence;
+ epDisplay.info = ep.collaborateur.nom+" "+ep.collaborateur.prenom;
+ epDisplay.dateentretien = ep.dateEntretien;
+ epDisplay.datemail = ep.dateDisponibilite;
+ epDisplay.etat = ep.etat;
+ epDisplay.type = ep.type;
+ this.epDisponibles.push(epDisplay);
+ }
+ }
-
+ refreshDataSource() {
+ console.log("REFRESH");
+ this.epFiltre =this.epDisponibles;
+ this.dataSource = new MatTableDataSource(this.epFiltre);
+ console.log(this.dataSource.paginator);
+ this.dataSource.paginator = this.paginator;
+ console.log(this.dataSource.paginator);
+ console.log(this.paginator);
+ this.dataSource.sort = this.sort;
+ }
ngOnInit() {
+ console.log("INIT");
+ this.epDisponiblesSubscription = this.serviceEP.listeEPDisponibles().
+ subscribe(eps => {
+ this.initDisplay(eps);
+ this.refreshDataSource();
+ });
+ }
+
+ applyFilter(filterValue: string) {
+ console.log(filterValue);
+ filterValue = filterValue.trim();
+ filterValue = filterValue.toLowerCase();
+ this.dataSource.filter = filterValue;
}
+ ngOnDestroy() {
+ console.log("DESTROY");
+ if(this.epDisponiblesSubscription != null) {
+ this.epDisponiblesSubscription.unsubscribe();
+ }
+ }
}
+
+ /*private collabListSubscription : Subscription;
+ 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********//
+/*let ep = new EpModel();
+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);*
+ //*/
+
+
+ /*if(this.collabListSubscription != null) {
+ 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();
+ }
+ */
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts
index b5097ef..c2efddb 100644
--- a/src/app/home/home.component.ts
+++ b/src/app/home/home.component.ts
@@ -1,20 +1,6 @@
import { Component, OnInit } from '@angular/core';
import { KeycloakService } from 'keycloak-angular';
-import { Observable, Subscription } from 'rxjs';
-
-import { ServiceCollaborateur, ServiceFormation, ServiceEP } from "../service";
-import { CollaborateurModel } from "../modeles/modele-collaborateur";
-import { FormationModel } from "../modeles/modele-formation";
-import { EpModel } from "../modeles/modele-ep";
-
-
-/*
-import { HomeAssistanteComponent } from './home-assistante/home-assistante.component';
-import { HomeCollaborateurComponent } from './home-collaborateur/home-collaborateur.component';
-import { HomeCommercialComponent } from './home-commercial/home-commercial.component';
-import { HomeRHComponent } from './home-rh/home-rh.component';
-//*/
import { Role } from '../utils/roles';
@@ -25,113 +11,10 @@ import { Role } from '../utils/roles';
export class HomeComponent implements OnInit {
role = Role;
- /*private collabListSubscription : Subscription;
- 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;
-
- //*/
- constructor(public keycloakService : KeycloakService, private serviceCollaborateur : ServiceCollaborateur,
- private serviceFormation : ServiceFormation, private serviceEP : ServiceEP) {
-
- //********TEST********//
- /*let ep = new EpModel();
- 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));
- //this.epDisponiblesSubscription = this.serviceEP.listeEPDisponibles().
- // 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);*
- //*/
- }
-
- display(listes) {
- for(let l of listes) {
- console.log(l);
- }
- }
-/*
- test2(collaborateur) {
- console.log(collaborateur);
+ constructor(public keycloakService : KeycloakService) {
}
-*/
ngOnInit() {
}
- ngOnDestroy() {
- /*if(this.collabListSubscription != null) {
- 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();
- }
- */
- }
-
}
diff --git a/src/app/utils/displayEP.ts b/src/app/utils/displayEP.ts
new file mode 100644
index 0000000..197eee3
--- /dev/null
+++ b/src/app/utils/displayEP.ts
@@ -0,0 +1,9 @@
+export class DisplayEP {
+ id : number;
+ agence : string;
+ info : string;
+ dateentretien : Date;
+ datemail : Date;
+ etat : string;
+ type : string;
+}