60 lines
2.2 KiB
TypeScript
60 lines
2.2 KiB
TypeScript
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<EmployeeResponseDTO> = [];
|
|
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<EmployeeResponseDTO> = [];
|
|
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);
|
|
}
|
|
}
|