diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.css b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.css
index 6f010a4..3d3b957 100644
--- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.css
+++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.css
@@ -19,7 +19,7 @@ h1 {
.search-bar {
display: flex;
- margin-bottom: 20px;
+ margin-bottom: 10px;
align-items: center;
}
diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html
index d450f2e..55f61a3 100644
--- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html
+++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.html
@@ -13,10 +13,13 @@
@@ -33,7 +36,8 @@
- @for (employee of employees | async; track employee) {
+ @if (employees) {
+ @for (employee of employees; track employee) {
{{ employee.firstName }} |
{{ employee.lastName }} |
@@ -47,6 +51,7 @@
}
+ }
diff --git a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts
index 5e94483..4f73fdf 100644
--- a/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts
+++ b/src/app/components/mitarbeiterverwaltung-view/mitarbeiterverwaltung-view.component.ts
@@ -3,20 +3,48 @@ import { CommonModule } from '@angular/common';
import { Observable, of } from 'rxjs';
import { EmployeeResponseDTO } from '../../models/mitarbeiter';
import { EmployeeService } from '../../service/employee.service';
+import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
@Component({
selector: 'app-mitarbeiterverwaltung-view',
templateUrl: './mitarbeiterverwaltung-view.component.html',
styleUrls: ['./mitarbeiterverwaltung-view.component.css'],
standalone: true,
- imports: [CommonModule]
+ imports: [CommonModule, ReactiveFormsModule]
})
export class MitarbeiterverwaltungViewComponent implements OnInit {
- employees: Observable> = of([]);
+ employees: Array = [];
+ searchForm!: FormGroup;
constructor(private employeeService: EmployeeService) {}
+ submit() {
+ const searchTerm = this.searchForm.get("search")?.value || '';
+
+ this.employeeService.getAllEmployees().subscribe(employees => {
+ let foundEmployees: Array = [];
+ for (const employee of employees) {
+ if (
+ employee.firstName.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ employee.lastName.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ employee.street.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ employee.postcode.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ employee.city.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ employee.phone.toLowerCase().includes(searchTerm.toLowerCase()) ||
+ searchTerm == ''
+ ) {
+ foundEmployees.push(employee);
+ }
+ }
+
+ this.employees = foundEmployees;
+ });
+ }
+
ngOnInit(): void {
- this.employees = this.employeeService.getAllEmployees();
+ this.searchForm = new FormGroup({
+ search: new FormControl(''),
+ });
+ this.employeeService.getAllEmployees().subscribe(employees => this.employees = employees);
}
}