diff --git a/src/app/employee/create/create.component.html b/src/app/employee/create/create.component.html index 50c81ea..268bf0a 100644 --- a/src/app/employee/create/create.component.html +++ b/src/app/employee/create/create.component.html @@ -33,7 +33,7 @@ Phone - + diff --git a/src/app/employee/edit/edit.component.css b/src/app/employee/edit/edit.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/employee/edit/edit.component.html b/src/app/employee/edit/edit.component.html new file mode 100644 index 0000000..d0ee93b --- /dev/null +++ b/src/app/employee/edit/edit.component.html @@ -0,0 +1,46 @@ +

Create Employee

+ +
+
+
+ + First Name + + + + + Last Name + + +
+ + + Street + + + +
+ + City + + + + + Postcode + + +
+ + + Phone + + + + + + + +
+
+ +
diff --git a/src/app/employee/edit/edit.component.ts b/src/app/employee/edit/edit.component.ts new file mode 100644 index 0000000..ca61374 --- /dev/null +++ b/src/app/employee/edit/edit.component.ts @@ -0,0 +1,63 @@ +import {Component, inject, OnInit} from '@angular/core'; +import {FormBuilder, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import { + MAT_DIALOG_DATA, + MatDialogActions, + MatDialogClose, + MatDialogContent, + MatDialogRef, + MatDialogTitle +} from "@angular/material/dialog"; +import {NgIf} from "@angular/common"; +import {MatFormField} from "@angular/material/form-field"; +import {MatInput, MatLabel} from "@angular/material/input"; +import {MatButton} from "@angular/material/button"; +import {Employee} from "../Employee"; +import EmployeeApiService from "../../services/employee-api.service"; + +@Component({ + selector: 'app-edit', + imports: [ + MatDialogTitle, + MatDialogContent, + NgIf, + ReactiveFormsModule, + MatFormField, + MatInput, + MatDialogActions, + MatButton, + MatDialogClose, + MatLabel + ], + templateUrl: './edit.component.html', + standalone: true, + styleUrl: './edit.component.css' +}) +export class EditComponent implements OnInit { + employeeForm: FormGroup | null = null; + formBuilder: FormBuilder = inject(FormBuilder); + employeeService: EmployeeApiService = inject(EmployeeApiService); + dialogRef: MatDialogRef = inject(MatDialogRef); + employee: Employee = inject(MAT_DIALOG_DATA); + + ngOnInit(): void { + this.employeeForm = this.formBuilder.group({ + firstName: [this.employee.firstName, Validators.required], + lastName: [this.employee.lastName, Validators.required], + street: [this.employee.street, Validators.required], + postcode: [this.employee.postcode, [Validators.required, Validators.minLength(5), Validators.maxLength(5)]], + city: [this.employee.city, Validators.required], + phone: [this.employee.phone, Validators.required], + }); + } + + submit() { + if (this.employeeForm === null || !this.employeeForm.valid) { + console.error('Form invalid'); + return; + } + + this.employeeService.create(this.employeeForm.value as Employee).subscribe(); + this.dialogRef.close(); + } +} diff --git a/src/app/employee/table/table.component.html b/src/app/employee/table/table.component.html index d5f743e..f999470 100644 --- a/src/app/employee/table/table.component.html +++ b/src/app/employee/table/table.component.html @@ -34,7 +34,7 @@ Actions -