diff --git a/src/app/members/account/edit-data/edit-data.component.html b/src/app/members/account/edit-data/edit-data.component.html index 46db72f923606fd5d56e794ecc4c0910cb0a2aac..f97220add0401438249438df9521898842245675 100644 --- a/src/app/members/account/edit-data/edit-data.component.html +++ b/src/app/members/account/edit-data/edit-data.component.html @@ -18,8 +18,12 @@ <mat-option value="Autre">Autre</mat-option> </mat-select> </mat-form-field> + <mat-form-field class="horizontal-display" > - <input matInput type="text" formControlName="nationality" placeholder="Nationalité" required> + <mat-label>Nationalité</mat-label> + <mat-select formControlName="nationality" required> + <mat-option *ngFor="let nationality of possibleNationalities" [value]="nationality.name"> {{ nationality.name }}</mat-option> + </mat-select> </mat-form-field> </div> @@ -80,7 +84,7 @@ <mat-form-field class="horizontal-display horizontal-center"> <mat-label>Voie</mat-label> - <mat-select formControlName="classType" required> + <mat-select formControlName="classType" [(value)]="classType" required> <mat-option value="General">General</mat-option> <mat-option value="Technologique">Technologique</mat-option> <mat-option value="Professionnelle">Professionnelle</mat-option> @@ -100,17 +104,16 @@ <mat-form-field class="full-width" > <mat-label>Enseignements de spécialité (entrer 'aucun' si jamais vous n'etes pas concerné) </mat-label> <mat-select formControlName="specialTeaching" required > - <mat-option *ngFor="let specialTeaching of dataList" [value]="specialTeaching.id">{{ specialTeaching.name }}</mat-option> + <mat-option *ngFor="let specialTeaching of setSpeciality()" [value]="specialTeaching.id">{{ specialTeaching.name }}</mat-option> </mat-select> </mat-form-field> - <div> Ceci est un test : {{dataList}} </div> <p class="text-center">Informations parentales</p> <div class="form-group"> <mat-form-field class="horizontal-display"> - <mat-label>Activité de la mère </mat-label> + <mat-label>Activité de la mère </mat-label> <mat-select formControlName="motherActivity" required> <mat-option *ngFor="let activity of possibleParentsActivities" [value]="activity.id">{{ activity.name }}</mat-option> </mat-select> @@ -120,7 +123,7 @@ <mat-label>Activité du père </mat-label> <mat-select formControlName="fatherActivity" required> <mat-option *ngFor="let activity of possibleParentsActivities" [value]="activity.id">{{ activity.name }}</mat-option> - </mat-select> + </mat-select> </mat-form-field> </div> diff --git a/src/app/members/account/edit-data/edit-data.component.ts b/src/app/members/account/edit-data/edit-data.component.ts index 629fea25c71ebfb453f610b34a04d60012080f15..fb10111779c7b083ac3168696820b63912070208 100644 --- a/src/app/members/account/edit-data/edit-data.component.ts +++ b/src/app/members/account/edit-data/edit-data.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit } from '@angular/core'; -import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { FormGroup, FormBuilder, Validators, ReactiveFormsModule, FormControlName, FormControl } from '@angular/forms'; import { Router } from '@angular/router'; import { MatSnackBar } from '@angular/material'; import {ActivatedRoute} from '@angular/router' @@ -7,27 +7,42 @@ import { PersonalData,PersonalDataService } from '../core'; import { tap, mergeMap } from 'rxjs/operators'; import { AuthService } from 'app/core'; import {User} from 'app/core'; +import {Observable} from 'rxjs'; +import {map, startWith} from 'rxjs/operators'; +export interface Nationality { + id : string; + name: string; +} + @Component({ selector: 'app-edit-data', templateUrl: './edit-data.component.html', styleUrls: ['./edit-data.component.scss'] }) + + + export class EditDataComponent implements OnInit { personalData: PersonalData; formGroup : FormGroup; loading = false; public error : String = ""; public postEditMessage : String = "" ; - public dataList; + classType=""; + + myControl = new FormControl(); + + public possibleParentsStatus = [ {id:"maried",name:"Vos parents vivent ensemble"}, - {id:"cohabitation",name:"Vos parents vivent séparément"}, - {id:"monoparental",name:"Vous avez un seul parent"} + {id:"separated",name:"Vos parents vivent séparément"}, + {id:"monoparental",name:"Vous avez un seul parent"}, + {id:"noparents",name:"Vous ne dépendez pas de vos parents"}, ] public possibleParentsActivities = [ @@ -43,6 +58,104 @@ export class EditDataComponent implements OnInit { {id:"Autre",name:"Autre"} ] + + + public possibleNationalities: Nationality[] = [ + {id:"AFG", name:"Afghane"}, + {id:"ALB", name:"Albanaise"}, + {id:"DZA", name:"Algérienne"}, + {id:"DEU", name:"Allemande"}, + {id:"USA", name:"Americaine"}, + {id:"AND", name:"Andorrane"}, + {id:"AGO", name:"Angolaise"}, + {id:"ATG", name:"Antiguaise-et-Barbudienne"}, + {id:"ARG", name:"Argentine"}, + {id:"ARM", name:"Armenienne"}, + {id:"AUS", name:"Australienne"}, + {id:"AUT", name:"Autrichienne"}, + {id:"AZE", name:"Azerbaïdjanaise"}, + {id:"BHS", name:"Bahamienne"}, + {id:"BHR", name:"Bahreinienne"}, + {id:"BGD", name:"Bangladaise"}, + {id:"BRB", name:"Barbadienne"}, + {id:"BEL", name:"Belge"}, + {id:"BLZ", name:"Belizienne"}, + {id:"BEN", name:"Béninoise"}, + {id:"BTN", name:"Bhoutanaise"}, + {id:"BLR", name:"Biélorusse"}, + {id:"MMR", name:"Birmane"}, + {id:"GNB", name:"Bissau-Guinéenne"}, + {id:"BOL", name:"Bolivienne"}, + {id:"BIH", name:"Bosnienne"}, + {id:"BWA", name:"Botswanaise"}, + {id:"BRA", name:"Brésilienne"}, + {id:"GBR", name:"Britannique"}, + {id:"BRN", name:"Brunéienne"}, + {id:"BGR", name:"Bulgare"}, + {id:"BFA", name:"Burkinabée"}, + {id:"BDI", name:"Burundaise"}, + {id:"KHM", name:"Cambodgienne"}, + {id:"CMR", name:"Camerounaise"}, + {id:"CAN", name:"Canadienne"}, + {id:"CPV", name:"Cap-verdienne"}, + {id:"CAF", name:"Centrafricaine"}, + {id:"CHL", name:"Chilienne"}, + {id:"CHN", name:"Chinoise"}, + {id:"CYP", name:"Chypriote"}, + {id:"COL", name:"Colombienne"}, + {id:"COM", name:"Comorienne"}, + {id:"COG", name:"Congolaise"}, + {id:"COD", name:"Congolaise"}, + {id:"COK", name:"Cookienne"}, + {id:"CRI", name:"Costaricaine"}, + {id:"HRV", name:"Croate"}, + {id:"CUB", name:"Cubaine"}, + {id:"DNK", name:"Danoise"}, + {id:"DJI", name:"Djiboutienne"}, + {id:"DOM", name:"Dominicaine"}, + {id:"DMA", name:"Dominiquaise"}, + {id:"EGY", name:"Égyptienne"}, + {id:"ARE", name:"Émirienne"}, + {id:"GNQ", name:"Équato-guineenne"}, + {id:"ECU", name:"Équatorienne"}, + {id:"ERI", name:"Érythréenne"}, + {id:"ESP", name:"Espagnole"}, + {id:"TLS", name:"Est-timoraise"}, + {id:"EST", name:"Estonienne"}, + {id:"ETH", name:"Éthiopienne"}, + {id:"FJI", name:"Fidjienne"}, + {id:"FIN", name:"Finlandaise"}, + {id:"FRA", name:"Française"}, + {id:"GAB", name:"Gabonaise"}, + {id:"GMB", name:"Gambienne"}, + {id:"GEO", name:"Georgienne"}, + {id:"GHA", name:"Ghanéenne"}, + {id:"GRD", name:"Grenadienne"}, + {id:"GTM", name:"Guatémaltèque"}, + {id:"GIN", name:"Guinéenne"}, + {id:"GUY", name:"Guyanienne"}, + {id:"HTI", name:"Haïtienne"}, + {id:"GRC", name:"Hellénique"}, + {id:"HND", name:"Hondurienne"}, + {id:"HUN", name:"Hongroise"}, + {id:"IND", name:"Indienne"}, + {id:"IDN", name:"Indonésienne"}, + {id:"IRQ", name:"Irakienne"}, + {id:"IRN", name:"Iranienne"},{id:"IRL", name:"Irlandaise"}, + {id:"ISL", name:"Islandaise"}, + {id:"ISR", name:"Israélienne"}, + {id:"ITA", name:"Italienne"}, + {id:"CIV", name:"Ivoirienne"}, + {id:"JAM", name:"Jamaïcaine"}, + {id:"JPN", name:"Japonaise"}, + {id:"JOR", name:"Jordanienne"}, + {id:"KAZ", name:"Kazakhstanaise"}, + {id:"KEN", name:"Kenyane"}, + {id:"KGZ", name:"Kirghize"}, + {id:"KIR", name:"Kiribatienne"},{id:"KNA", name:"Kittitienne"},{id:"KWT", name:"Koweïtienne"},{id:"LAO", name:"Laotienne"},{id:"LSO", name:"Lesothane"},{id:"LVA", name:"Lettone"},{id:"LBN", name:"Libanaise"},{id:"LBR", name:"Libérienne"},{id:"LBY", name:"Libyenne"},{id:"LIE", name:"Liechtensteinoise"},{id:"LTU", name:"Lituanienne"},{id:"LUX", name:"Luxembourgeoise"},{id:"MKD", name:"Macédonienne"},{id:"MYS", name:"Malaisienne"},{id:"MWI", name:"Malawienne"},{id:"MDV", name:"Maldivienne"},{id:"MDG", name:"Malgache"},{id:"MLI", name:"Maliennes"},{id:"MLT", name:"Maltaise"},{id:"MAR", name:"Marocaine"},{id:"MHL", name:"Marshallaise"},{id:"MUS", name:"Mauricienne"},{id:"MRT", name:"Mauritanienne"},{id:"MEX", name:"Mexicaine"},{id:"FSM", name:"Micronésienne"},{id:"MDA", name:"Moldave"},{id:"MCO", name:"Monegasque"},{id:"MNG", name:"Mongole"},{id:"MNE", name:"Monténégrine"},{id:"MOZ", name:"Mozambicaine"},{id:"NAM", name:"Namibienne"},{id:"NRU", name:"Nauruane"},{id:"NLD", name:"Néerlandaise"},{id:"NZL", name:"Néo-Zélandaise"}, + {id:"NPL", name:"Népalaise"},{id:"NIC", name:"Nicaraguayenne"},{id:"NGA", name:"Nigériane"},{id:"NER", name:"Nigérienne"},{id:"NIU", name:"Niuéenne"},{id:"PRK", name:"Nord-coréenne"},{id:"NOR", name:"Norvégienne"},{id:"OMN", name:"Omanaise"},{id:"UGA", name:"Ougandaise"},{id:"UZB", name:"Ouzbéke"},{id:"PAK", name:"Pakistanaise"},{id:"PLW", name:"Palaosienne"},{id:"PSE", name:"Palestinienne"},{id:"PAN", name:"Panaméenne"},{id:"PNG", name:"Papouane-Néo-Guinéenne"},{id:"PRY", name:"Paraguayenne"},{id:"PER", name:"Péruvienne"},{id:"PHL", name:"Philippine"},{id:"POL", name:"Polonaise"},{id:"PRT", name:"Portugaise"},{id:"QAT", name:"Qatarienne"},{id:"ROU", name:"Roumaine"},{id:"RUS", name:"Russe"},{id:"RWA", name:"Rwandaise"},{id:"LCA", name:"Saint-Lucienne"},{id:"SMR", name:"Saint-Marinaise"},{id:"VCT", name:"Saint-Vincentaise"},{id:"SLB", name:"Salomonaise"},{id:"SLV", name:"Salvadorienne"},{id:"WSM", name:"Samoane"},{id:"STP", name:"Santoméenne"},{id:"SAU", name:"Saoudienne"},{id:"SEN", name:"Sénégalaise"},{id:"SRB", name:"Serbe"},{id:"SYC", name:"Seychelloise"},{id:"SLE", name:"Sierra-Léonaise"},{id:"SGP", name:"Singapourienne"},{id:"SVK", name:"Slovaque"},{id:"SVN", name:"Slovène"},{id:"SOM", name:"Somalienne"},{id:"SDN", name:"Soudanaise"},{id:"LKA", name:"Sri-Lankaise"},{id:"ZAF", name:"Sud-Africaine"},{id:"KOR", name:"Sud-Coréenne"},{id:"SSD", name:"Sud-Soudanaise"},{id:"SWE", name:"Suédoise"},{id:"CHE", name:"Suisse"},{id:"SUR", name:"Surinamaise"},{id:"SWZ", name:"Swazie"},{id:"SYR", name:"Syrienne"},{id:"TJK", name:"Tadjike"},{id:"TZA", name:"Tanzanienne"},{id:"TCD", name:"Tchadienne"},{id:"CZE", name:"Tchèque"},{id:"THA", name:"Thaïlandaise"},{id:"TGO", name:"Togolaise"},{id:"TON", name:"Tonguienne"},{id:"TTO", name:"Trinidadienne"},{id:"TUN", name:"Tunisienne"},{id:"TKM", name:"Turkmène"},{id:"TUR", name:"Turque"},{id:"TUV", name:"Tuvaluane"},{id:"UKR", name:"Ukrainienne"},{id:"URY", name:"Uruguayenne"},{id:"VUT", name:"Vanuatuane"},{id:"VAT", name:"Vaticane"},{id:"VEN", name:"Vénézuélienne"},{id:"VNM", name:"Vietnamienne"},{id:"YEM", name:"Yéménite"},{id:"ZMB", name:"Zambienne"},{id:"ZWE", name:"Zimbabwéenne"} +] + public possibleSchools = [ {id:"Jean Perrin (Longjumeau)", name:"Jean Perrin (Longjumeau)"}, {id:"Robert Doisneau (Corbeil-Essonnes)",name:"Robert Doisneau (Corbeil-Essonnes)"}, @@ -79,6 +192,12 @@ export class EditDataComponent implements OnInit { ] + + public possibleSpecialitiesGeneral = [ + {id:"Aucun",name:"Aucun"}, + + ] + public possibleSpecialitiesPro = [ {id:"Aucun",name:"Aucun"}, {id:"Accompagnement soins et services à la personne",name:"Accompagnement soins et services à la personne"}, @@ -178,14 +297,25 @@ export class EditDataComponent implements OnInit { private snackBar: MatSnackBar, ) { } - + filteredOptions: Observable<Nationality[]>; ngOnInit() { this.personalData = this.route.snapshot.data['personalData']; this.createForm(); + this.classType=this.personalData.classType; } + public _filter(value: string): string[] { + const filterValue = value.toLowerCase(); + let entryNatList : Array<string>; + for (let nationality of this.possibleNationalities) + { + entryNatList.push(nationality.name); + } + return entryNatList.filter(option => option.toLowerCase().includes(filterValue)); + } + createForm() { @@ -217,12 +347,19 @@ export class EditDataComponent implements OnInit { } - attributeSpeciality(){ - - this.dataList=this.possibleSpecialitiesTechno; - // else (id=="Professionnelle") - // this.dataList=this.possibleSpecialitiesPro; - + setSpeciality(){ + if (this.classType=="Technologique") + { + return this.possibleSpecialitiesTechno; + } + else if (this.classType=="Professionnelle") + { + return this.possibleSpecialitiesPro; + } + else (this.classType=="General") + { + return this.possibleSpecialitiesGeneral; + } } submit(){