Implement deleting qualifications #24

Merged
ptran merged 3 commits from feature/delete-qualifications into main 2025-01-09 11:01:22 +00:00
2 changed files with 53 additions and 29 deletions
Showing only changes of commit 4b62b4c46a - Show all commits

View File

@ -1,5 +1,15 @@
<h2 mat-dialog-title>Are you sure you want to delete this qualification?</h2> <h2 mat-dialog-title>Delete Qualification</h2>
<mat-dialog-content> <mat-dialog-content>
<button (click)="delete()">Yes</button> @if (apiError) {
<button (click)="closeModal()">No</button> <div class="!text-red-600 !mb-4 !p-3 !bg-red-50 !rounded">
<p>{{ apiError }}</p>
</div>
}
Are you sure you want to delete this qualification? This can't be undone.
</mat-dialog-content> </mat-dialog-content>
<mat-dialog-actions>
<button mat-button (click)="closeModal()">Cancel</button>
<button mat-button (click)="delete()" cdkFocusInitial>Delete</button>
</mat-dialog-actions>

View File

@ -1,7 +1,15 @@
import {Component, inject} from '@angular/core'; import {Component, inject} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogContent, MatDialogRef, MatDialogTitle} from "@angular/material/dialog"; import {
MAT_DIALOG_DATA,
MatDialogActions,
MatDialogContent,
MatDialogRef,
MatDialogTitle
} from "@angular/material/dialog";
import {FormsModule, ReactiveFormsModule} from "@angular/forms"; import {FormsModule, ReactiveFormsModule} from "@angular/forms";
import QualificationService from "../../services/qualification.service"; import QualificationService from "../../services/qualification.service";
import {MatError} from "@angular/material/form-field";
import {MatButton} from "@angular/material/button";
@Component({ @Component({
selector: 'app-delete-qualification', selector: 'app-delete-qualification',
@ -9,13 +17,17 @@ import QualificationService from "../../services/qualification.service";
FormsModule, FormsModule,
MatDialogContent, MatDialogContent,
MatDialogTitle, MatDialogTitle,
ReactiveFormsModule ReactiveFormsModule,
MatError,
MatDialogActions,
MatButton
], ],
templateUrl: './delete.component.html', templateUrl: './delete.component.html',
styleUrl: './delete.component.css' styleUrl: './delete.component.css'
}) })
export class DeleteComponent { export class DeleteComponent {
public id: number = inject(MAT_DIALOG_DATA); public id: number = inject(MAT_DIALOG_DATA);
public apiError: string | null = null;
private qualificationService: QualificationService = inject(QualificationService); private qualificationService: QualificationService = inject(QualificationService);
private dialogRef: MatDialogRef<DeleteComponent> = inject(MatDialogRef); private dialogRef: MatDialogRef<DeleteComponent> = inject(MatDialogRef);
@ -27,6 +39,8 @@ export class DeleteComponent {
}, },
error: (error) => { error: (error) => {
console.error('Error deleting qualification:', error); console.error('Error deleting qualification:', error);
this.apiError = 'API Error';
} }
}); });
} }