From a61e130c41aad97aeb30ca806bbef282343a92fc Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 15 Jan 2025 12:57:13 +0100 Subject: [PATCH 1/2] feat(mitarbeiter-erstellen): add new component files --- .../mitarbeiter-erstellen.component.css | 0 .../mitarbeiter-erstellen.component.html | 1 + .../mitarbeiter-erstellen.component.spec.ts | 23 +++++++++++++++++++ .../mitarbeiter-erstellen.component.ts | 12 ++++++++++ 4 files changed, 36 insertions(+) create mode 100644 src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.css create mode 100644 src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html create mode 100644 src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.spec.ts create mode 100644 src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.css b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html new file mode 100644 index 0000000..6b8b806 --- /dev/null +++ b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html @@ -0,0 +1 @@ +

mitarbeiter-erstellen works!

diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.spec.ts b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.spec.ts new file mode 100644 index 0000000..e2fa924 --- /dev/null +++ b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MitarbeiterErstellenComponent } from './mitarbeiter-erstellen.component'; + +describe('MitarbeiterErstellenComponent', () => { + let component: MitarbeiterErstellenComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [MitarbeiterErstellenComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(MitarbeiterErstellenComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts new file mode 100644 index 0000000..d2de8cd --- /dev/null +++ b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-mitarbeiter-erstellen', + standalone: true, + imports: [], + templateUrl: './mitarbeiter-erstellen.component.html', + styleUrl: './mitarbeiter-erstellen.component.css' +}) +export class MitarbeiterErstellenComponent { + +} From a13c8aed9d032e0e134dfeaacbf66151860daddf Mon Sep 17 00:00:00 2001 From: Jan Klattenhoff Date: Wed, 15 Jan 2025 13:47:56 +0100 Subject: [PATCH 2/2] feat(mitarbeiter-erstellen): implement employee form functionality --- .../mitarbeiter-erstellen.component.html | 2 +- .../mitarbeiter-erstellen.component.ts | 30 +++++++++++++++++++ src/app/service/employee.service.ts | 4 +++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html index 6b8b806..682a986 100644 --- a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html +++ b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.html @@ -1 +1 @@ -

mitarbeiter-erstellen works!

+ diff --git a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts index d2de8cd..7391188 100644 --- a/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts +++ b/src/app/mitarbeiter-erstellen/mitarbeiter-erstellen.component.ts @@ -1,4 +1,7 @@ import { Component } from '@angular/core'; +import { EmployeeResponseDTO } from '../models/mitarbeiter'; +import { EmployeeService } from '../service/employee.service'; +import { ActivatedRoute, Router } from '@angular/router'; @Component({ selector: 'app-mitarbeiter-erstellen', @@ -8,5 +11,32 @@ import { Component } from '@angular/core'; styleUrl: './mitarbeiter-erstellen.component.css' }) export class MitarbeiterErstellenComponent { + public mitarbeiter!: EmployeeResponseDTO; + constructor(private employeeService: EmployeeService, private route: ActivatedRoute, private router: Router) { } + + submitted(mitarbeiter: EmployeeResponseDTO) { + this.employeeService.updateEmployee(mitarbeiter); + this.returnToEmployeeOverview(); + } + + returnToEmployeeOverview() { + this.router.navigate(["mitarbeiter"]); + } + + ngOnInit(): void { + this.mitarbeiter = { + id: 0, + firstName: '', + lastName: '', + street: '', + phone: '', + skillSet: [], + postcode: '', + city: '', + } + this.employeeService.getEmployeeById(this.route.snapshot.params['id']).subscribe(employee => { + this.mitarbeiter = employee; + }); + } } diff --git a/src/app/service/employee.service.ts b/src/app/service/employee.service.ts index a8a4d38..f8ac79f 100644 --- a/src/app/service/employee.service.ts +++ b/src/app/service/employee.service.ts @@ -23,6 +23,10 @@ export class EmployeeService { } } + createEmployee(employee: EmployeeResponseDTO) { + + } + updateEmployee(employee: EmployeeResponseDTO) { this.http.put(`${SkillService.BASE_URL}/employees/${employee.id}`, this.responseDtoToPutDto(employee)).subscribe(); }