diff --git a/src/app/views/dashboard/dashboard.component.html b/src/app/views/dashboard/dashboard.component.html
index cbd75c0..7636814 100644
--- a/src/app/views/dashboard/dashboard.component.html
+++ b/src/app/views/dashboard/dashboard.component.html
@@ -1,4 +1,60 @@
-New Employee
-Edit Employee 3
-
-
+
+
+
+
+ Search
+
+
+
+ Qualification
+
+ Angular
+ Java
+
+
+
+ @if (true) {
+
+ }
+
+
+
+
+ Id |
+ {{ employee.id }} |
+
+
+ First Name |
+ {{ employee.firstName }} |
+
+
+ Last Name |
+ {{ employee.lastName }} |
+
+
+ Skills |
+
+
+ @for (skill of employee.skillSet; track skill) {
+ - {{ skill.skill }}
+ }
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+
+
+
diff --git a/src/app/views/dashboard/dashboard.component.scss b/src/app/views/dashboard/dashboard.component.scss
index e69de29..9411073 100644
--- a/src/app/views/dashboard/dashboard.component.scss
+++ b/src/app/views/dashboard/dashboard.component.scss
@@ -0,0 +1,46 @@
+.dashboard {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+
+ &__action-row {
+ display: flex;
+ gap: 1rem;
+
+ :first-child {
+ flex-grow: 1;
+ }
+ }
+
+ &__employees {
+ width: 100%;
+
+ tr {
+ display: flex;
+ width: 100%;
+
+ .mat-column-id{
+ width: 4rem;
+ }
+
+ .mat-column-firstName, .mat-column-lastName, .mat-column-skills {
+ width: 0;
+ flex-grow: 1;
+ }
+ ul{
+ margin: 0;
+ }
+ th.mat-column-actions{
+ width: calc(40px * 2 + 1rem);
+ }
+ td.mat-column-actions{
+ gap: 1rem;
+ display: flex;
+ padding: 0;
+ padding-top: 0.25rem;
+ align-items: start;
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/app/views/dashboard/dashboard.component.ts b/src/app/views/dashboard/dashboard.component.ts
index a021d25..84617b1 100644
--- a/src/app/views/dashboard/dashboard.component.ts
+++ b/src/app/views/dashboard/dashboard.component.ts
@@ -1,20 +1,38 @@
-import { Component } from '@angular/core';
-import { MatButtonModule } from '@angular/material/button';
-import { RouterLink } from '@angular/router';
-import { NotificationService, NotificationType } from '@core/notification/notification.service';
+import {Component} from '@angular/core';
+import {ReactiveFormsModule} from '@angular/forms';
+import {MatButtonModule} from '@angular/material/button';
+import {MatFormFieldModule} from '@angular/material/form-field';
+import {MatInputModule} from '@angular/material/input';
+import {MatSelectModule} from '@angular/material/select';
+import {MatTableDataSource, MatTableModule} from '@angular/material/table';
+import {AuthService} from '@core/auth/auth.service';
+import {Employee, EmployeeService} from '@core/ems';
+import {NotificationService, NotificationType} from '@core/notification/notification.service';
+import {MatIcon} from '@angular/material/icon';
@Component({
selector: 'app-dashboard',
- imports: [MatButtonModule, RouterLink],
+ imports: [MatButtonModule, MatSelectModule, MatFormFieldModule, MatTableModule, ReactiveFormsModule, MatInputModule, MatIcon],
templateUrl: './dashboard.component.html',
styleUrl: './dashboard.component.scss'
})
export class DashboardComponent {
- constructor(private notifications: NotificationService) { }
+
+ employeeDataSource: MatTableDataSource = new MatTableDataSource([]);
+ employeesDisplayedColumns = ['id', 'firstName', 'lastName', 'skills', 'actions'];
+
+ constructor(private notifications: NotificationService, protected auth: AuthService, private employeeService: EmployeeService) {
+ this.employeeService.getAllEmployees().subscribe((employees) => {
+ this.employeeDataSource = new MatTableDataSource(employees);
+
+ });
+ }
+
testInfo() {
this.notifications.publish('Cake', NotificationType.Information);
}
testError() {
this.notifications.publish('Cake', NotificationType.Error);
- }}
+ }
+}