From 9b68a90cbdcb7507eb213952d25f8ab612e22106 Mon Sep 17 00:00:00 2001
From: Phan Huy Tran
Date: Wed, 18 Dec 2024 14:20:09 +0100
Subject: [PATCH] Convert qualifications to table
---
.../qualifications.component.html | 29 ++++++++---
.../qualifications.component.ts | 49 +++++++++++++------
2 files changed, 56 insertions(+), 22 deletions(-)
diff --git a/src/app/qualifications/qualifications.component.html b/src/app/qualifications/qualifications.component.html
index 7a732ee..8253ea8 100644
--- a/src/app/qualifications/qualifications.component.html
+++ b/src/app/qualifications/qualifications.component.html
@@ -1,7 +1,22 @@
-
- @for (qualification of qualifications$ | async; track qualification.skill) {
- -
- {{ qualification.skill }}
-
- }
-
+@if (qualifications$ | async; as qualifications) {
+ @if (qualifications) {
+
+
+ Skill |
+ {{ qualification.skill }} |
+
+
+
+ Actions |
+ |
+
+
+
+
+
+ }
+}
diff --git a/src/app/qualifications/qualifications.component.ts b/src/app/qualifications/qualifications.component.ts
index 665593c..9522246 100644
--- a/src/app/qualifications/qualifications.component.ts
+++ b/src/app/qualifications/qualifications.component.ts
@@ -1,25 +1,44 @@
-import { Component } from '@angular/core';
+import {Component} from '@angular/core';
import {Observable} from "rxjs";
-import {Employee} from "../Employee";
import {Qualification} from "../Qualification";
import {HttpClient} from "@angular/common/http";
-import {MatSnackBar} from "@angular/material/snack-bar";
import {AsyncPipe} from "@angular/common";
+import {
+ MatCell,
+ MatCellDef,
+ MatColumnDef,
+ MatHeaderCell,
+ MatHeaderCellDef,
+ MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef,
+ MatTable
+} from "@angular/material/table";
@Component({
- selector: 'app-qualifications',
- imports: [
- AsyncPipe
- ],
- templateUrl: './qualifications.component.html',
- styleUrl: './qualifications.component.css'
+ selector: 'app-qualifications',
+ imports: [
+ AsyncPipe,
+ MatTable,
+ MatHeaderCell,
+ MatColumnDef,
+ MatCell,
+ MatCellDef,
+ MatHeaderCellDef,
+ MatHeaderRow,
+ MatRow,
+ MatHeaderRowDef,
+ MatRowDef
+ ],
+ templateUrl: './qualifications.component.html',
+ styleUrl: './qualifications.component.css'
})
export class QualificationsComponent {
- public qualifications$: Observable;
+ public qualifications$: Observable;
+ public readonly displayedColumns: string[] = ['skill', 'actions'];
- constructor(
- private readonly httpClient: HttpClient,
- ) {
- this.qualifications$ = this.httpClient.get('http://localhost:8089/qualifications');
- }
+
+ constructor(
+ private readonly httpClient: HttpClient,
+ ) {
+ this.qualifications$ = this.httpClient.get('http://localhost:8089/qualifications');
+ }
}