-
diff --git a/src/app/pages/page-modifier-contact/page-modifier-contact.component.html b/src/app/pages/page-modifier-contact/page-modifier-contact.component.html
index f63276c..c5b4b08 100644
--- a/src/app/pages/page-modifier-contact/page-modifier-contact.component.html
+++ b/src/app/pages/page-modifier-contact/page-modifier-contact.component.html
@@ -1 +1,82 @@
-
page-modifier-contact works!
+
+
\ No newline at end of file
diff --git a/src/app/pages/page-modifier-contact/page-modifier-contact.component.scss b/src/app/pages/page-modifier-contact/page-modifier-contact.component.scss
index e69de29..b3720e0 100644
--- a/src/app/pages/page-modifier-contact/page-modifier-contact.component.scss
+++ b/src/app/pages/page-modifier-contact/page-modifier-contact.component.scss
@@ -0,0 +1,26 @@
+.login-form {
+ height: 100vh;
+ padding-top: 40px;
+ background-color: #f5f5f5;
+}
+
+.form-modifContact {
+ width: 100%;
+ max-width: 330px;
+ padding: 15px;
+ margin: auto;
+}
+
+.form-modifContact .checkbox {
+ font-weight: 400;
+}
+
+.form-modifContact .form-floating:focus-within {
+ z-index: 2;
+}
+
+.form-modifContact input[type="email"] {
+ margin-bottom: -1px;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
diff --git a/src/app/pages/page-modifier-contact/page-modifier-contact.component.ts b/src/app/pages/page-modifier-contact/page-modifier-contact.component.ts
index b5c46df..7b1d5e1 100644
--- a/src/app/pages/page-modifier-contact/page-modifier-contact.component.ts
+++ b/src/app/pages/page-modifier-contact/page-modifier-contact.component.ts
@@ -1,15 +1,88 @@
import { Component, OnInit } from '@angular/core';
+import {
+ FormBuilder,
+ FormControl,
+ FormGroup,
+ Validators,
+} from '@angular/forms';
+import { Router } from '@angular/router';
+import { Contact } from '../../models/contact';
+import { RepertoireService } from '../../services/repertoire.service';
@Component({
selector: 'app-page-modifier-contact',
templateUrl: './page-modifier-contact.component.html',
- styleUrls: ['./page-modifier-contact.component.scss']
+ styleUrls: ['./page-modifier-contact.component.scss'],
})
export class PageModifierContactComponent implements OnInit {
+ public modifContactForm: FormGroup;
+ public contactInfo: FormGroup;
- constructor() { }
+ constructor(
+ private repertoireService: RepertoireService,
+ private router: Router,
+ private fb: FormBuilder
+ ) {
+ this.modifContactForm = new FormGroup({});
+ this.contactInfo = this.initForm();
- ngOnInit(): void {
+ // this.repertoireService.getContactById()?.subscribe((contact: Contact) => {
+ // this.contactInfo = this.initForm(contact);
+ // });
}
+ ngOnInit(): void {
+ // *********************************pensser a changer group car déprécié********************************
+ this.modifContactForm = this.fb.group({
+ lastNameFc: new FormControl('', [Validators.required]),
+ firstNameFc: new FormControl('', [Validators.required]),
+ telephoneFc: new FormControl('', [Validators.required]),
+ emailFc: new FormControl('', [
+ Validators.email,
+ Validators.required,
+ Validators.pattern(/^([\w\.\-_]+)?\w+@[\w-_]+(\.\w+){1,}/gim),
+ ]), // chercher une meilleure regex
+ dateNaissanceFc: new FormControl('', [Validators.required]),
+ adresseFc: new FormControl('', [Validators.required]),
+ });
+ }
+
+ private initForm(contact?: Contact): FormGroup {
+ return this.fb.group({
+ firstName: [contact ? contact.nom : ''],
+ lastName: [contact ? contact.prenom : ''],
+ telephone: [contact ? contact.telephone : ''],
+ email: [contact ? contact.email : ''],
+ dateNaissance: [contact ? contact.dateNaissance : ''],
+ adresse: [contact ? contact.adresse : ''],
+ });
+ }
+
+ public onSubmit(): void {
+ console.log('value : ', this.modifContactForm.value);
+ console.log('form : ', this.modifContactForm);
+ const firstNameValue = this.modifContactForm.value['firstNameFc'];
+ const lastNameValue = this.modifContactForm.value['lastNameFc'];
+ const telephoneValue = this.modifContactForm.value['telephoneFc'];
+ const emailValue = this.modifContactForm.value['emailFc'];
+ const dateNaissanceValue = this.modifContactForm.value['dateNaissanceFc'];
+ const adresseValue = this.modifContactForm.value['adresseFc'];
+
+ const contact: Contact = {
+ nom: lastNameValue,
+ prenom: firstNameValue,
+ telephone: telephoneValue,
+ email: emailValue,
+ dateNaissance: dateNaissanceValue,
+ adresse: adresseValue,
+ };
+
+ if (contact.nom !== '') {
+ this.repertoireService.updateContact(contact).subscribe((resp) => {
+ this.router.navigate(['repertoire/']);
+ });
+ } else {
+ // affichage erreur
+ }
+ }
}
diff --git a/src/app/services/repertoire.service.ts b/src/app/services/repertoire.service.ts
index eb07eda..1b1713a 100644
--- a/src/app/services/repertoire.service.ts
+++ b/src/app/services/repertoire.service.ts
@@ -21,6 +21,10 @@ export class RepertoireService {
return this.http.get(`${this.apiUrl}/contacts/team/1`);
}
+ getContactById(contact: Contact): Observable
{
+ return this.http.get(`${this.apiUrl}/contacts/{id}`);
+ }
+
addContact(contact: Contact): Observable {
console.log(contact);
@@ -31,7 +35,7 @@ export class RepertoireService {
return this.http.delete(`${this.apiUrl}/contacts/delete`);
}
- // updateContact(){
- // return this.http.put(`${this.apiUrl}/contacts/update/1`);
- // }
+ updateContact(contact: Contact): Observable {
+ return this.http.put(`${this.apiUrl}/contacts/update/1`, contact);
+ }
}