Fonctionnement complet de l'ajout d'une nouvelle note

develop
Yanaël GRETTE 4 years ago
parent f28b2d34e1
commit 2f62e3bbf3
  1. 2
      src/app/notes/notes.component.html
  2. 8
      src/app/notes/notes.module.ts
  3. 5
      src/app/notes/nouvelle-note/dialog-choix-collaborateur-note.html
  4. 2
      src/app/notes/nouvelle-note/nouvelle-note.component.html
  5. 47
      src/app/notes/nouvelle-note/nouvelle-note.component.ts

@ -35,7 +35,7 @@
<ng-container matColumnDef="datemiseajour">
<mat-header-cell *matHeaderCellDef>Dernière mise à jour</mat-header-cell>
<mat-cell *matCellDef="let row">{{ row.dateMiseAJour | date : 'dd/MM/yyyy'}}</mat-cell>
<mat-cell *matCellDef="let row">{{ row.dateMiseAJour | date : 'dd/MM/yyyy à hh:mm'}}</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>

@ -7,12 +7,13 @@ import { MaterialModule } from "@shared/angular-material/angular-material.module
import {NavMenuModule} from '@shared/nav-menu/nav-menu.module';
import { NotesComponent } from "./notes.component";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { NouvelleNoteComponent } from "./nouvelle-note/nouvelle-note.component";
import { DialogChoixCollaborateurNoteComponent, NouvelleNoteComponent } from "./nouvelle-note/nouvelle-note.component";
import { MatTablesModule } from "@shared/mat-tables/mat-tables.module";
@NgModule({
declarations: [
NotesComponent, NouvelleNoteComponent
NotesComponent, NouvelleNoteComponent, DialogChoixCollaborateurNoteComponent
],
imports: [
CommonModule,
@ -20,7 +21,8 @@ import { NouvelleNoteComponent } from "./nouvelle-note/nouvelle-note.component";
NavMenuModule,
RouterModule,
NotesRoutingModule,
FormsModule, ReactiveFormsModule
FormsModule, ReactiveFormsModule,
MatTablesModule
],
})
export class NotesModule {}

@ -0,0 +1,5 @@
<h2>Choisir le collaborateur</h2>
<p>{{ collaborateurChoisi == undefined ? "Veuillez choisir un collaborateur" : "Collaborateur sélectionné : " + collaborateurChoisi.nom + " " + collaborateurChoisi.prenom}}</p>
<button mat-raised-button (click)="enregistrerChoix()">Valider le choix du collaborateur</button>
<button mat-raised-button (click)="fermer()">Annuler</button>
<collaborateurs-table [typeRecherche]="typeRecherche" [rechercherParDate]="rechercherParDate" [roles]="roles" [displayedColumns]="displayedColumns" (eventEmitter)="choisirCollaborateur($event)"></collaborateurs-table>

@ -13,7 +13,7 @@
<div>
<mat-form-field appearance="fill">
<mat-label>Commentaire référent </mat-label>
<mat-label>Contenu de la note</mat-label>
<textarea matInput formControlName="texte"></textarea>
</mat-form-field>
</div>

@ -1,9 +1,9 @@
import { Component, OnInit } from "@angular/core";
import { Component, Inject, OnInit } from "@angular/core";
import { FormBuilder } from "@angular/forms";
import { MatDialog } from "@angular/material/dialog";
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
import { Router } from "@angular/router";
import { CollaborateurDTO, DetailsNoteDTO, NotesService } from "@shared/api-swagger";
import { cles } from "@shared/utils/cles";
import { cles, collaborateurTypeRecherche } from "@shared/utils/cles";
import { Subscription } from "rxjs";
@Component({
@ -13,7 +13,9 @@ import { Subscription } from "rxjs";
export class NouvelleNoteComponent {
noteSubscription: Subscription;
dialogSubscription: Subscription;
collaborateurChoisi: CollaborateurDTO;
noteForm = this.fb.group(
@ -29,7 +31,6 @@ export class NouvelleNoteComponent {
private dialog: MatDialog) {}
ajouterNote() {
console.log("ui");
if(this.collaborateurChoisi == undefined)
return;
const today : Date = new Date();
@ -38,7 +39,6 @@ export class NouvelleNoteComponent {
nouvelleNote.dateCreation = today;
nouvelleNote.dateMiseAjour = today;
nouvelleNote.idAuteur = JSON.parse(sessionStorage.getItem(cles.sessionKeyConnectee)).id;
this.noteSubscription = this.noteService.addNote(nouvelleNote).subscribe(
note => {
console.log(note);
@ -49,7 +49,12 @@ export class NouvelleNoteComponent {
}
choixCollaborateur() {
console.log("pas ui");
const datas = { data: this.collaborateurChoisi, width: "80%", height: '80%'};
const dialogRef = this.dialog.open(DialogChoixCollaborateurNoteComponent, datas);
this.dialogSubscription = dialogRef.afterClosed().subscribe(
collaborateur => this.collaborateurChoisi = collaborateur
);
}
ngOnDestroy() {
@ -65,5 +70,33 @@ export class NouvelleNoteComponent {
templateUrl: "./dialog-choix-collaborateur-note.html"
})
export class DialogChoixCollaborateurNoteComponent {
typeRecherche: string = collaborateurTypeRecherche.collaborateurs;
rechercherParDate: boolean = false;
roles : string[] = ["Collaborateur"];
displayedColumns: string[] = ["businessunit", "collaborateur"];
collaborateurChoisi: CollaborateurDTO;
constructor(private dialogRef: MatDialogRef<DialogChoixCollaborateurNoteComponent>, @Inject(MAT_DIALOG_DATA) private data: CollaborateurDTO) {
this.collaborateurChoisi = this.data;
}
fermer() {
this.dialogRef.close();
}
enregistrerChoix() {
if(this.collaborateurChoisi != undefined) {
this.dialogRef.close(this.collaborateurChoisi);
}
}
choisirCollaborateur(event : any) {
this.collaborateurChoisi = event.collaborateur;
}
}
Loading…
Cancel
Save