diff --git a/src/app/angular-material/angular-material.module.ts b/src/app/angular-material/angular-material.module.ts index 545b6db..e4619ef 100644 --- a/src/app/angular-material/angular-material.module.ts +++ b/src/app/angular-material/angular-material.module.ts @@ -7,11 +7,12 @@ import {MatCardModule} from '@angular/material/card'; import { MatButtonModule } from '@angular/material/button'; import {MatMenuModule} from '@angular/material/menu'; import {MatIconModule} from '@angular/material/icon'; +import {MatTableModule} from '@angular/material/table'; @NgModule({ exports : [MatCardModule, MatButtonModule, MatMenuModule, - MatIconModule + MatIconModule, MatTableModule ] }) export class MaterialModule {} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 0770c25..6ea0446 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,5 +1,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 { KeycloakAngularModule, KeycloakService } from 'keycloak-angular'; @@ -10,11 +12,17 @@ import { MaterialModule } from "./angular-material/angular-material.module"; import { HomeComponent, HomeAssistanteComponent, HomeCollaborateurComponent, HomeCommercialComponent, HomeRHComponent } from './home'; + +import { ServiceEP, ServiceFormation, ServiceCollaborateur } from "./service" + + import { NavMenuComponent, NavMenuAssistanteComponent, NavMenuCollaborateurComponent, NavMenuCommercialComponent, NavMenuRHComponent } from "./nav-menu"; import { environment } from '../environments/environment'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + + + let keycloakService: KeycloakService = new KeycloakService(); @@ -29,13 +37,17 @@ let keycloakService: KeycloakService = new KeycloakService(); KeycloakAngularModule, AppRoutingModule, BrowserAnimationsModule, - MaterialModule + MaterialModule, + HttpClientModule ], providers: [ { provide: KeycloakService, useValue: keycloakService - } + }, + ServiceEP, + ServiceCollaborateur, + ServiceFormation ], entryComponents: [AppComponent] }) diff --git a/src/app/home/home-assistante/home-assistante.component.ts b/src/app/home/home-assistante/home-assistante.component.ts index d4b6106..0971b87 100644 --- a/src/app/home/home-assistante/home-assistante.component.ts +++ b/src/app/home/home-assistante/home-assistante.component.ts @@ -1,13 +1,48 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, OnDestroy } from '@angular/core'; +import { Observable, Subscription } from 'rxjs'; + +import { ServiceCollaborateur } from "../../service"; +import { CollaborateurModel } from "../../modeles/modele-collaborateur"; @Component({ selector : 'home-assistante', templateUrl : 'home-assistante.component.html' }) export class HomeAssistanteComponent implements OnInit { - constructor() { + + private collabListSubscription : Subscription; + private collab1Subscription : Subscription; + private collab2Subscription : Subscription; + private listeCollaborateurs : CollaborateurModel[]; + constructor(private serviceCollaborateur : ServiceCollaborateur) { + this.collabListSubscription = this.serviceCollaborateur.listeCollaborateurs(). + subscribe(collaborateurs => this.test(collaborateurs)); + let params = { mail : "angelique@apside.com"}; + this.collab1Subscription = this.serviceCollaborateur.getCollaborateurByParam(params). + subscribe(collaborateurs => this.test2(collaborateurs)); + let params2 = { id : 1 }; + this.collab2Subscription = this.serviceCollaborateur.getCollaborateurByParam(params2). + subscribe(collaborateurs => this.test2(collaborateurs)); + } + + + + test(collaborateurs) { + for(let collaborateur of collaborateurs) { + console.log(collaborateur); + } + } + + test2(collaborateur) { + console.log(collaborateur); } ngOnInit() { } + + ngOnDestroy() { + if(this.collabListSubscription != null) { + this.collabListSubscription.unsubscribe(); + } + } } diff --git a/src/app/modeles/modele-collaborateur.ts b/src/app/modeles/modele-collaborateur.ts new file mode 100644 index 0000000..bbb5827 --- /dev/null +++ b/src/app/modeles/modele-collaborateur.ts @@ -0,0 +1,9 @@ +export class CollaborateurModel { + id? : number; + nom? : string; + prenom? : string; + adresse? : string; + agence? : string; + mail? : string; + fonction? : string +}; diff --git a/src/app/modeles/modele-ep.ts b/src/app/modeles/modele-ep.ts index e69de29..3e91be8 100644 --- a/src/app/modeles/modele-ep.ts +++ b/src/app/modeles/modele-ep.ts @@ -0,0 +1,42 @@ +export interface EpModel { + idEp? : number; + type? : string; + dateDisponibilité? : Date; + dateSaisie? : Date; + etat? : string; + cv? : string; + dateEntretien? : Date; + typeEntretien? : string; + commentaireCommercial? : string; + augmentationSalaire? : AugmentationSalaire; + rdvEntretien? : RDVEntretien; + augmentationSalaire? : AugmentationSalaire; + participants? : Participant; + engagement? : Engagement +}; + + +export interface AugmentationSalaireModel { + idAugmentationSalaire? : number; + nouveauSalaire? : number; + dateDemande? : number +}; + +export interface RDVEntretienModel { + idRDV? : number; + typeEntretien? :string; + dateEntretien? : Date +}; + + +export interface EngagementModel { + idEngagement? : number; + engagement? : string; + dateLimie? : Date +}; + +export interface ParticipantModel { + idParticipant? : number; + idCollaborateur? : number; + role? : string +}; diff --git a/src/app/modeles/modele-formation.ts b/src/app/modeles/modele-formation.ts index e69de29..db257e1 100644 --- a/src/app/modeles/modele-formation.ts +++ b/src/app/modeles/modele-formation.ts @@ -0,0 +1,27 @@ +export interface FormationModel { + idFormation? : number; + intitule? : string; + dateDebut? : Date; + dateFin? : Date; + statut? : string; + lieu? : string; + duree? : number; + organisme? : string; + nomFormateur : string +}; + + +export interface DemandeFormationModel { + idDemandeFormation? : number; + idEp? : number; + statut? : string; + libelle? : string; + description? : string; + theme : Theme +}; + + +export interface ThemeModel { + idTheme : number; + nom : string +}; diff --git a/src/app/service/index.ts b/src/app/service/index.ts new file mode 100644 index 0000000..26bf71c --- /dev/null +++ b/src/app/service/index.ts @@ -0,0 +1,3 @@ +export * from "./service-ep"; +export * from "./service-formation"; +export * from "./service-collaborateur"; diff --git a/src/app/service/service-collaborateur.ts b/src/app/service/service-collaborateur.ts new file mode 100644 index 0000000..e8a6b4e --- /dev/null +++ b/src/app/service/service-collaborateur.ts @@ -0,0 +1,23 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { urlCollaborateur } from "../utils/path-values-collaborateurs"; +import { CollaborateurModel } from "../modeles/modele-collaborateur"; + +@Injectable({ + providedIn : 'root' +}) +export class ServiceCollaborateur { + constructor(private http: HttpClient) { + } + + listeCollaborateurs() : Observable { + return this.http.get(urlCollaborateur); + } + + getCollaborateurByParam(params) : Observable { + return this.http.get(urlCollaborateur, { params }); + } + +} diff --git a/src/app/service/service-ep.ts b/src/app/service/service-ep.ts new file mode 100644 index 0000000..5cd7eec --- /dev/null +++ b/src/app/service/service-ep.ts @@ -0,0 +1,13 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Observable } from "rxjs"; + + +@Injectable({ + providedIn : 'root' +}) +export class ServiceEP { + constructor(private http: HttpClient) { + + } +} diff --git a/src/app/service/service-formation.ts b/src/app/service/service-formation.ts new file mode 100644 index 0000000..98c2073 --- /dev/null +++ b/src/app/service/service-formation.ts @@ -0,0 +1,16 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { Observable } from "rxjs"; + + +@Injectable({ + providedIn : 'root' +}) +export class ServiceFormation { + constructor(private http: HttpClient) { + + } + + + +} diff --git a/src/app/service/service.ts b/src/app/service/service.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/utils/path-values-collaborateurs.ts b/src/app/utils/path-values-collaborateurs.ts new file mode 100644 index 0000000..ac377cf --- /dev/null +++ b/src/app/utils/path-values-collaborateurs.ts @@ -0,0 +1,7 @@ +import { environment } from '../../environments/environment'; + +const baseUrl = environment.serveurConfig.url; + +const urlCollaborateur = baseUrl+"/collaborateurs"; + +export { urlCollaborateur }; diff --git a/src/app/utils/path-values-ep.ts b/src/app/utils/path-values-ep.ts new file mode 100644 index 0000000..3f59c72 --- /dev/null +++ b/src/app/utils/path-values-ep.ts @@ -0,0 +1,28 @@ +import { environment } from '../../environments/environment'; + +const baseUrl = environment.serveurConfig.url; + +const urlEP = baseUrl+"/ep"; + +const prochainsEPReferent = urlEP+"/prochains"; +const epDisponibles = urlEP+"/disponible"; +const epCollaborateur = urlEP+"/collaborateur"; +const epReferent = urlEP+"/referent"; +const prochainEpCollaborateur = urlEP+"/prochain"; +const envoieEP = urlEP+"/envoieep"; +const propositionDate = urlEP+"/propositiondate"; +const rappelSignature = urlEP+"/rappelSignature"; +const epi = urlEP+"/epi"; + +export const urlsEP = { + urlEP, + prochainsEPReferent, + epDisponibles, + epCollaborateur, + epReferent, + prochainEpCollaborateur, + envoieEP, + propositionDate, + rappelSignature, + epi +}; diff --git a/src/app/utils/path-values-formations.ts b/src/app/utils/path-values-formations.ts new file mode 100644 index 0000000..e2e90a9 --- /dev/null +++ b/src/app/utils/path-values-formations.ts @@ -0,0 +1,18 @@ +import { environment } from '../../environments/environment'; + +const baseUrl = environment.serveurConfig.url; + +const urlFormation = baseUrl+"/formations"; +const newFormation = urlFormation+"/new"; +const updateFormation = urlFormation+"/update"; +const evaluationsFormation = urlFormation+"/evaluations"; +const evaluerFormation = urlFormation+"/evaluer"; +const evaluationCollaborateur = urlFormation+"/collaborateur"; +const urlDemandesFormation = urlFormation+/"demandesFormation"; + + +export const urlsFormation = { + urlFormation, + newFf + urlDemandesFormation +}; diff --git a/src/app/utils/path-values.ts b/src/app/utils/path-values.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/environments/app-version.ts b/src/environments/app-version.ts new file mode 100644 index 0000000..40010a0 --- /dev/null +++ b/src/environments/app-version.ts @@ -0,0 +1 @@ +export const appVersion = '1.0.0'; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 659b45c..aa3d9d6 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -11,11 +11,15 @@ const keycloakConfig: KeycloakConfig = { clientId: 'GestionEPA' }; - +const serveurConfig = { + url : "http://localhost:3000" + //url : "http:localhost:3000/api" +} export const environment = { production: false, - keycloakConfig + keycloakConfig, + serveurConfig }; /* diff --git a/src/environments/index.ts b/src/environments/index.ts new file mode 100644 index 0000000..baafc25 --- /dev/null +++ b/src/environments/index.ts @@ -0,0 +1,2 @@ +export * from './app-version'; +export * from './environment';