From 7653a109ee79dac81f0fa10f080704fab85f8894 Mon Sep 17 00:00:00 2001 From: Constantin Simonis Date: Thu, 9 Jan 2025 12:54:02 +0000 Subject: [PATCH] fix bug where tables reload on action cancel (#30) Reviewed-on: https://git.simonis.lol/angular/ems-frontend/pulls/30 Reviewed-by: Hop In, I Have Puppies AND WiFi Co-authored-by: Constantin Simonis Co-committed-by: Constantin Simonis --- src/app/employee/create/create.component.ts | 2 +- src/app/employee/delete/delete.component.ts | 2 +- src/app/employee/edit/edit.component.ts | 2 +- src/app/employee/table/table.component.ts | 22 +++++++++++++-------- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app/employee/create/create.component.ts b/src/app/employee/create/create.component.ts index 83cb773..b377102 100644 --- a/src/app/employee/create/create.component.ts +++ b/src/app/employee/create/create.component.ts @@ -56,6 +56,6 @@ export class CreateComponent implements OnInit { } this.employeeService.create(this.employeeForm.value as Employee).subscribe(); - this.dialogRef.close(); + this.dialogRef.close(true); } } diff --git a/src/app/employee/delete/delete.component.ts b/src/app/employee/delete/delete.component.ts index b4af490..4d76523 100644 --- a/src/app/employee/delete/delete.component.ts +++ b/src/app/employee/delete/delete.component.ts @@ -31,6 +31,6 @@ export class DeleteComponent { deleteEmployee(id: number) { this.apiService.deleteById(id).subscribe(); - this.dialogRef.close() + this.dialogRef.close(true); } } diff --git a/src/app/employee/edit/edit.component.ts b/src/app/employee/edit/edit.component.ts index 535f94d..2259918 100644 --- a/src/app/employee/edit/edit.component.ts +++ b/src/app/employee/edit/edit.component.ts @@ -63,6 +63,6 @@ export class EditComponent implements OnInit { } this.employeeService.update(this.employeeForm.value as Employee, this.employee.id).subscribe(); - this.dialogRef.close(); + this.dialogRef.close(true); } } diff --git a/src/app/employee/table/table.component.ts b/src/app/employee/table/table.component.ts index 5ae8adb..0936016 100644 --- a/src/app/employee/table/table.component.ts +++ b/src/app/employee/table/table.component.ts @@ -40,7 +40,7 @@ import {DetailsComponent} from "../details/details.component"; templateUrl: './table.component.html', styleUrl: './table.component.css' }) -export class TableComponent implements OnInit{ +export class TableComponent implements OnInit { private readonly apiService: EmployeeApiService = inject(EmployeeApiService); private readonly snackBar: MatSnackBar = inject(MatSnackBar); private readonly matDialog: MatDialog = inject(MatDialog); @@ -76,24 +76,30 @@ export class TableComponent implements OnInit{ protected openDeleteDialogue(employee: Employee): void { this.matDialog.open(DeleteComponent, {data: employee}) .afterClosed() - .subscribe(() => { - this.employees$ = this.fetchEmployees(); + .subscribe((deleted: boolean) => { + if (deleted) { + this.employees$ = this.fetchEmployees(); + } }); } protected showCreateEmployeeModal() { this.matDialog.open(CreateComponent) .afterClosed() - .subscribe(() => { - this.employees$ = this.fetchEmployees(); - }); + .subscribe((created: boolean) => { + if (created) { + this.employees$ = this.fetchEmployees(); + } + }); } protected showEditEmployeeModal(employee: Employee) { this.matDialog.open(EditComponent, {data: employee}) .afterClosed() - .subscribe(() => { - this.employees$ = this.fetchEmployees(); + .subscribe((edited: boolean) => { + if (edited) { + this.employees$ = this.fetchEmployees(); + } }); }