Merge pull request #83 in TEA/mina-sidor-fa-web from feature/TV-396 to develop
Squashed commit of the following: commit f5029b04d2117df86eaf6692c88bdc692059d8d6 Merge: 3d776b145f2fb5Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Sat Sep 11 06:17:07 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit 3d776b10824be6b54e186104a5bcd351e5b2fb42 Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 23:26:47 2021 +0200 TV-396 fixed some tests and so on commit bd57fce383ba409ae8de1869c242b5a8f51071d2 Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 23:20:26 2021 +0200 TV-396 made some adjustments to the validation logic after feedback in PR commit 942cddb263d0965e772f7f34305e85737da76df4 Merge: 174dfe9ceee702Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 14:10:23 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit 174dfe924f2eac979992275ddd55ed0758144efb Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 14:05:39 2021 +0200 TV-396 fixed issue with general info after restructuring.. commit 7e0d4bdf9e76e0fb58fe30358c3e729cce1f9260 Merge: da02f6c5b00453Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 12:00:29 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit da02f6cc7f4a9405ad1d8167ef18729b18973d61 Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 10:43:42 2021 +0200 TV-396 added aria-expanded attribute commit 48eb24ca6e354b44ae4d4b62ce2ffa496743d0b5 Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Fri Sep 10 09:46:39 2021 +0200 TV-396 moved some logic into seperate template commit 0ef787d6c3700677ae793c486930b07748365412 Merge: 6dfd7b05f81d6fAuthor: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Thu Sep 9 17:34:40 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit 6dfd7b00caa45d335f3fe8619b92c282038ac5cb Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Thu Sep 9 17:33:54 2021 +0200 TV-396 used digi internal link instead of basic a-tag commit 46c17011b7f6b1f628b14ccf020c06cdc95627c8 Merge: 4338e151938b94Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Thu Sep 9 15:07:16 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit 4338e153f7e4ebdf8ab65a64a6194dbd4d9fa9c7 Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Thu Sep 9 14:56:26 2021 +0200 TV-396 added error summary an validation handling for the edit form etc. commit ebb2e76993b99756d5a641ab8ca7d137be8a982f Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Wed Sep 8 22:58:44 2021 +0200 TV-396 making sure utforande verksamheter and addresses are populated as they should be when editing an employee. commit 01f4c9bf7ad8fc4ad44b0e8945182492b864d0cf Merge: 1c2aa92b06436aAuthor: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Wed Sep 8 22:07:25 2021 +0200 Merge branch 'develop-remote' into feature/TV-396 commit 1c2aa92f21aac57036ed05d5ebeab0f0e6a45c2c Author: arbetsformedlingen_garcn <christian.gardebrink@arbetsformedlingen.se> Date: Wed Sep 8 22:07:00 2021 +0200 Merge branch 'develop-remote' into bugs/TV-520 # Conflicts: # apps/mina-sidor-fa/src/app/pages/administration/pages/employee-card/employee-card.component.html
This commit is contained in:
@@ -3,6 +3,7 @@ import { Injectable } from '@angular/core';
|
||||
import { environment } from '@msfa-environment';
|
||||
import { Params } from '@msfa-models/api/params.model';
|
||||
import { UtforandeVerksamhetResponse } from '@msfa-models/api/utforande-verksamhet.response.model';
|
||||
import { EmployeeUtforandeVerksamhet } from '@msfa-models/employee-utforande-verksamhet.model';
|
||||
import { UtforandeAdress } from '@msfa-models/utforande-adress.model';
|
||||
import { mapResponseToUtforandeVerksamhet, UtforandeVerksamhet } from '@msfa-models/utforande-verksamhet.model';
|
||||
import {
|
||||
@@ -21,7 +22,7 @@ export class UtforandeVerksamheterService {
|
||||
constructor(private treeNodesSelectorService: TreeNodesSelectorService, private httpClient: HttpClient) {}
|
||||
|
||||
fetchUtforandeVerksamheter$(tjanstIds: number[]): Observable<UtforandeVerksamhet[]> {
|
||||
if (!tjanstIds.length) {
|
||||
if (!tjanstIds?.length) {
|
||||
return of<UtforandeVerksamhet[]>([]);
|
||||
}
|
||||
|
||||
@@ -38,10 +39,18 @@ export class UtforandeVerksamheterService {
|
||||
return selectedUtforandeVerksamheter.map(uv => uv.adresser.map(adress => adress.id)).flat();
|
||||
}
|
||||
|
||||
getTreeNodeDataFromUtforandeVerksamheter(utforandeVerksamhetList: UtforandeVerksamhet[]): TreeNode | null {
|
||||
getTreeNodeDataFromUtforandeVerksamheter(
|
||||
availableUtforandeVerksamhetList: UtforandeVerksamhet[],
|
||||
selectedUtforandeVerksamhetList: EmployeeUtforandeVerksamhet[],
|
||||
selectAll = false
|
||||
): TreeNode | null {
|
||||
let treeNode: TreeNode | null = null;
|
||||
|
||||
if (!utforandeVerksamhetList || utforandeVerksamhetList.length === 0 || !Array.isArray(utforandeVerksamhetList)) {
|
||||
if (
|
||||
!availableUtforandeVerksamhetList ||
|
||||
availableUtforandeVerksamhetList.length === 0 ||
|
||||
!Array.isArray(availableUtforandeVerksamhetList)
|
||||
) {
|
||||
return treeNode;
|
||||
}
|
||||
|
||||
@@ -52,17 +61,24 @@ export class UtforandeVerksamheterService {
|
||||
isSelected: false,
|
||||
value: null,
|
||||
childItemType: 'Utförande verksamheter',
|
||||
children: utforandeVerksamhetList.map(
|
||||
children: availableUtforandeVerksamhetList.map(
|
||||
(utforandeVerksamhet: UtforandeVerksamhet): TreeNode => {
|
||||
const utforandeVerksahmetTreeNode: TreeNode = {
|
||||
label: utforandeVerksamhet.name,
|
||||
toggleAllChildrenLabel: 'Välj alla adresser',
|
||||
isSelected: false,
|
||||
isSelected:
|
||||
selectAll || this.isSelectedUtforandeVerksamhet(utforandeVerksamhet, selectedUtforandeVerksamhetList),
|
||||
value: utforandeVerksamhet,
|
||||
childItemType: 'Adresser',
|
||||
children: utforandeVerksamhet.adresser
|
||||
? utforandeVerksamhet.adresser.map(adress => {
|
||||
return { label: adress.name, isSelected: false, value: adress };
|
||||
return {
|
||||
label: adress.name,
|
||||
isSelected:
|
||||
selectAll ||
|
||||
this.isSelectedUtforandeAdress(utforandeVerksamhet.id, adress, selectedUtforandeVerksamhetList),
|
||||
value: adress,
|
||||
};
|
||||
})
|
||||
: [],
|
||||
};
|
||||
@@ -75,6 +91,52 @@ export class UtforandeVerksamheterService {
|
||||
return treeNode;
|
||||
}
|
||||
|
||||
isSelectedUtforandeVerksamhet(
|
||||
utforandeVerksamhet: UtforandeVerksamhet,
|
||||
selectedUtforandeVerksamhetList: EmployeeUtforandeVerksamhet[]
|
||||
): boolean {
|
||||
if (
|
||||
!utforandeVerksamhet ||
|
||||
!selectedUtforandeVerksamhetList ||
|
||||
selectedUtforandeVerksamhetList.length === 0 ||
|
||||
!Array.isArray(selectedUtforandeVerksamhetList)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return selectedUtforandeVerksamhetList.some(
|
||||
selectedUtforandeVerksamhet => selectedUtforandeVerksamhet.id === utforandeVerksamhet.id
|
||||
);
|
||||
}
|
||||
|
||||
isSelectedUtforandeAdress(
|
||||
utforandeVerksamhetId: number,
|
||||
utforandeAdress: UtforandeAdress,
|
||||
selectedUtforandeVerksamhetList: EmployeeUtforandeVerksamhet[]
|
||||
): boolean {
|
||||
let selectedUtforandeVerksamhet: EmployeeUtforandeVerksamhet | null = null;
|
||||
|
||||
if (
|
||||
!utforandeAdress ||
|
||||
!selectedUtforandeVerksamhetList ||
|
||||
selectedUtforandeVerksamhetList.length === 0 ||
|
||||
!Array.isArray(selectedUtforandeVerksamhetList)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
selectedUtforandeVerksamhet = selectedUtforandeVerksamhetList.find(
|
||||
selectedUtforandeVerksamhet => selectedUtforandeVerksamhet.id === utforandeVerksamhetId
|
||||
);
|
||||
|
||||
return selectedUtforandeVerksamhet
|
||||
? selectedUtforandeVerksamhet.allaAdresser ||
|
||||
selectedUtforandeVerksamhet.adresser.some(
|
||||
selectedUtforandeAdress => selectedUtforandeAdress.id === utforandeAdress.id
|
||||
)
|
||||
: false;
|
||||
}
|
||||
|
||||
getSelectedUtforandeVerksamheterFromTreeNode(treeNode: TreeNode): UtforandeVerksamhet[] {
|
||||
let utforandeVerksamhetList: UtforandeVerksamhet[] = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user