import { Component, OnInit } from '@angular/core'; 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'; import { Router } from '@angular/router'; @Component({ selector: 'app-mitarbeiterverwaltung-view', templateUrl: './mitarbeiterverwaltung-view.component.html', styleUrls: ['./mitarbeiterverwaltung-view.component.css'], standalone: true, imports: [CommonModule, ReactiveFormsModule] }) export class MitarbeiterverwaltungViewComponent implements OnInit { employees: Array = []; searchForm!: FormGroup; constructor(private employeeService: EmployeeService, private router: Router) {} 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; }); } editEmployee(id: number) { this.router.navigate([`/mitarbeiterbearbeiten/${id}`]); } deleteEmployee(id: number) { this.employeeService.deleteEmployee(id); this.employees = this.employees.filter(employee => employee.id != id); } ngOnInit(): void { this.searchForm = new FormGroup({ search: new FormControl(''), }); this.employeeService.getAllEmployees().subscribe(employees => this.employees = employees); } }