Convert qualifications to table #13

Merged
ptran merged 3 commits from style/qualifications into main 2024-12-18 13:36:55 +00:00
2 changed files with 56 additions and 22 deletions
Showing only changes of commit 5a5f4ff90c - Show all commits

View File

@ -1,7 +1,22 @@
<ul> @if (qualifications$ | async; as qualifications) {
@for (qualification of qualifications$ | async; track qualification.skill) { @if (qualifications) {
<li> <table
{{ qualification.skill }} mat-table
</li> [dataSource]="qualifications"
class="mat-elevation-z8"
>
<ng-container matColumnDef="skill">
<th mat-header-cell *matHeaderCellDef>Skill</th>
<td mat-cell *matCellDef="let qualification">{{ qualification.skill }}</td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef>Actions</th>
<td mat-cell *matCellDef="let qualification"></td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
}
} }
</ul>

View File

@ -1,21 +1,40 @@
import {Component} from '@angular/core'; import {Component} from '@angular/core';
import {Observable} from "rxjs"; import {Observable} from "rxjs";
import {Employee} from "../Employee";
import {Qualification} from "../Qualification"; import {Qualification} from "../Qualification";
import {HttpClient} from "@angular/common/http"; import {HttpClient} from "@angular/common/http";
import {MatSnackBar} from "@angular/material/snack-bar";
import {AsyncPipe} from "@angular/common"; import {AsyncPipe} from "@angular/common";
import {
MatCell,
MatCellDef,
MatColumnDef,
MatHeaderCell,
MatHeaderCellDef,
MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef,
MatTable
} from "@angular/material/table";
@Component({ @Component({
selector: 'app-qualifications', selector: 'app-qualifications',
imports: [ imports: [
AsyncPipe AsyncPipe,
MatTable,
MatHeaderCell,
MatColumnDef,
MatCell,
MatCellDef,
MatHeaderCellDef,
MatHeaderRow,
MatRow,
MatHeaderRowDef,
MatRowDef
], ],
templateUrl: './qualifications.component.html', templateUrl: './qualifications.component.html',
styleUrl: './qualifications.component.css' styleUrl: './qualifications.component.css'
}) })
export class QualificationsComponent { export class QualificationsComponent {
public qualifications$: Observable<Qualification[]>; public qualifications$: Observable<Qualification[]>;
public readonly displayedColumns: string[] = ['skill', 'actions'];
constructor( constructor(
private readonly httpClient: HttpClient, private readonly httpClient: HttpClient,