Changes to some models and data coming from API

This commit is contained in:
Erik Tiekstra
2021-09-01 10:26:05 +02:00
parent 02cf0f6114
commit e4f5802f97
9 changed files with 55 additions and 62 deletions

View File

@@ -2,7 +2,9 @@
<section class="employee-card">
<digi-typography *ngIf="employee$ | async as employee; else loadingRef">
<header class="employee-card__header">
<a class="employee-card__edit-button" [routerLink]="['/administration/redigera-konto', employee.id]">Redigera</a>
<a class="employee-card__edit-button" [routerLink]="['/administration/redigera-konto', employee.id]"
>Redigera</a
>
<h1>{{ employee.fullName }}</h1>
</header>
<p>Här kan du se och ändra personalkontots behörigheter. Ändra behörighet genom att klicka på redigera.</p>
@@ -40,7 +42,7 @@
Kontot har behörighet till alla utförande verksamheter och utförande adresser inom organisationen.
</p>
<ng-template #specificUtforandeVerksamheter>
<div class="employee-card__utforandeverksamheter-cards" >
<div class="employee-card__utforandeverksamheter-cards">
<ng-container *ngIf="employee.utforandeVerksamhet?.length; else emptyText">
<digi-info-card
*ngFor="let utforandeverksamhet of employee.utforandeVerksamhet"
@@ -49,12 +51,9 @@
af-type="info"
class="employee-card__utforandeverksamheter-card"
>
<digi-ng-layout-expansion-panel
*ngIf="utforandeverksamhet.adresser.length > 0"
>
<digi-ng-layout-expansion-panel *ngIf="utforandeverksamhet.adresser.length > 0">
<span data-slot-trigger>
{{ accordionExpanded ? 'Dölj' : 'Visa' }}
{{utforandeverksamhet.adresser.length}}
{{ accordionExpanded ? 'Dölj' : 'Visa' }} {{utforandeverksamhet.adresser.length}}
{{utforandeverksamhet.adresser.length === 1 ? 'adress' : 'adresser'}}
</span>
<ul class="employee-card__utforandeverksamheter-address-list">
@@ -106,9 +105,7 @@
</dd>
</ng-template>
<ng-template #emptyText>
<p>
<span aria-hidden="true">-</span>
<span class="msfa__a11y-sr-only">Info saknas</span>
</p>
<span aria-hidden="true">-</span>
<span class="msfa__a11y-sr-only">Info saknas</span>
</ng-template>
</msfa-layout>

View File

@@ -1,6 +1,5 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { RoleEnum } from '@msfa-enums/role.enum';
import { Employee } from '@msfa-models/employee.model';
import { Role } from '@msfa-models/role.model';
import { EmployeeService } from '@msfa-services/api/employee.service';
@@ -15,7 +14,7 @@ import { BehaviorSubject, Observable } from 'rxjs';
export class EmployeeCardComponent {
private _pendingSelectedParticipants$ = new BehaviorSubject<string[]>([]);
employee$: Observable<Employee> = this.employeeService.employee$;
allRoles: Role[] = Object.entries(RoleEnum).map(([key, value]) => ({ type: key as RoleEnum, name: value }));
allRoles: Role[] = this.employeeService.allRoles;
constructor(private activatedRoute: ActivatedRoute, private employeeService: EmployeeService) {
this.employeeService.setCurrentEmployeeId(this.activatedRoute.snapshot.params.employeeId);

View File

@@ -25,7 +25,7 @@ export class EmployeeFormComponent extends UnsubscribeDirective implements OnIni
tjanster$: Observable<Tjanst[]> = this.tjanstService.tjanster$;
availableTjanster: FormSelectItem[] | null = null;
selectableRoles: Role[] | null = this.employeeService.getAllRoles();
selectableRoles: Role[] = this.employeeService.allRoles;
currentEmployeeRoles: Role[] | undefined | null = null;
constructor(
@@ -41,22 +41,18 @@ export class EmployeeFormComponent extends UnsubscribeDirective implements OnIni
this.employeeService.setCurrentEmployeeId(this.activatedRoute.snapshot.params['employeeId']);
const employeeDataSub = this.employee$.subscribe(employee => {
this.employee = employee;
this.currentEmployeeRoles = employee?.roles
.map(role => mapRoleResponseToRoleObject(role));
this.currentEmployeeRoles = employee?.roles.map(role => mapRoleResponseToRoleObject(role));
});
const tjanstRelatedDataSub = this.tjanster$.subscribe(tjanster => {
const tjanstOptions: FormSelectItem[] = [];
tjanster?.forEach(tjanst => {
tjanstOptions.push({name: tjanst?.name, value: tjanst?.code});
tjanstOptions.push({ name: tjanst?.name, value: tjanst?.code });
});
this.availableTjanster = tjanstOptions;
});
this.subscriptionsList.push(
employeeDataSub,
tjanstRelatedDataSub
);
this.subscriptionsList.push(employeeDataSub, tjanstRelatedDataSub);
}
updateEmployee(editEmployeeFormData: EditEmployeeFormData): void {

View File

@@ -31,17 +31,15 @@
<a [routerLink]="employee.id" class="employees-list__link">{{ employee.fullName }}</a>
</th>
<td>
<ng-container *ngIf="employee.tjanster.length">
<ng-container *ngIf="employee.tjanster.length; else emptyText">
{{ employee.tjanster[0] }}<ng-container *ngIf="employee.tjanster.length > 1">
(+{{employee.tjanster.length - 1}})</ng-container
>
</ng-container>
</td>
<td>
<ng-container *ngIf="employee.utforandeVerksamheter.length">
{{ employee.utforandeVerksamheter[0]['namn'] }}<ng-container
*ngIf="employee.utforandeVerksamheter.length > 1"
>
<ng-container *ngIf="employee.utforandeVerksamheter.length; else emptyText">
{{ employee.utforandeVerksamheter[0] }}<ng-container *ngIf="employee.utforandeVerksamheter.length > 1">
(+{{employee.utforandeVerksamheter.length - 1}})</ng-container
>
</ng-container>
@@ -87,3 +85,8 @@
>
</digi-navigation-pagination>
</div>
<ng-template #emptyText>
<span aria-hidden="true">-</span>
<span class="msfa__a11y-sr-only">Info saknas</span>
</ng-template>