Merge pull request #68 in TEA/mina-sidor-fa-web from TV-204-reporting-participant-card to develop
Squashed commit of the following: commit f5bb97c0a50a84095ac147c775eb681943c2a5c1 Merge: 83b6a0bb06436aAuthor: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Sep 8 20:24:46 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit 83b6a0b2caa2267fc7dc682e8d846954d81ee4fc Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Sep 8 08:11:07 2021 +0200 TV-204 added endpoint for report commit b54856d0d9bca9a97a342332679ee13ddbb0edb5 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Sep 8 08:10:31 2021 +0200 TV-204 test and linting issues commit 22129a545a15137cd11bf3356185f496352ad72a Merge: 39ab301126c6e3Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Sep 8 07:39:43 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit 39ab3013798290b4fe34f997fd1525b4c30230bb Merge: 50a0064d9938ccAuthor: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Sep 2 23:13:35 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit 50a006429b9712e11798e33659ce42d17aef6526 Merge: 67de27d1f26e80Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Aug 26 17:29:41 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit 67de27dd36999635738046794609d3221f33c1b8 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Aug 26 17:19:10 2021 +0200 TV-204 review fixes commit 005aea20d647848ba3ddf18b0538fdaad5bd011d Author: bjornahlen <bjorn.ahlen@arbetsformedlingen.se> Date: Thu Aug 26 08:40:55 2021 +0200 TV-204 Small fix to report-type.enum commit 981ac20a147d6cde3e594b8475841fa4c5703ea3 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Thu Aug 26 00:18:20 2021 +0200 TV-204 pass selected report type to deltagare.service commit e21f8e1abb78deff2b9b06da6401ed9463a5d414 Merge: 3e059ed0661d22Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Aug 25 17:54:02 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit 3e059ed219bc95bd2cbd9a89ab4bd8f46b573c37 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Aug 25 17:37:46 2021 +0200 TV-204 deleted mockdata commit af3aaf9018de004ea8cdc7d92505f68ce4597410 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Aug 25 16:27:03 2021 +0200 TV-204 changed to digi-ng-form-select, validation control commit d844fb4bcc4196f7d412573ccc21c95c0de70e8f Author: bjornahlen <bjorn.ahlen@arbetsformedlingen.se> Date: Wed Aug 25 13:35:17 2021 +0200 TV-204 Changes to digi-form-select tag commit 91957c7256594e1e2953262b03bf13b6b2704c8e Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Aug 25 10:38:40 2021 +0200 TV-204 deleted unused modules commit 130ef0afd1a8f88b5065dce5aabdafec5fb27862 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Wed Aug 25 10:22:48 2021 +0200 TV-204 updated spec-file commit 51bc86df92c638b6613fbd24d12054fbaf792b28 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Aug 24 17:27:57 2021 +0200 TV-204 changed to DigiNgLinkButton commit ad2f5da7b4f1de798bcb4766e66416ca41bd4a6e Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Aug 24 11:25:47 2021 +0200 TV-204 api GET endpoint for reports is missing commit 3effe1a4b74a55c82f697cb2c8f6221fc2558b83 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Aug 24 11:17:04 2021 +0200 moved code commit 5cbb0d51adee361f8162f5319cc728a614002b19 Merge: fa0a2f959ce393Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Aug 24 10:49:37 2021 +0200 Merge branch 'develop' into TV-204-reporting-participant-card commit fa0a2f9ebf5f8d8c218a50870a07194fa95d5213 Author: fueno <nicolas.fuentes-maturana@arbetsformedlingen.se> Date: Tue Aug 24 10:16:11 2021 +0200 TV-204 prepair get request for reports, paginering ... and 11 more commits
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { FormSelectItem } from '@af/digi-ng/_form/form-select';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { UnsubscribeDirective } from '@msfa-directives/unsubscribe.directive';
|
||||
@@ -10,6 +11,7 @@ import { DisabilityResponse } from '@msfa-models/api/disability.response.model';
|
||||
import { DriversLicenseResponse } from '@msfa-models/api/drivers-license.response.model';
|
||||
import { EducationsResponse } from '@msfa-models/api/educations.response.model';
|
||||
import { HighestEducationResponse } from '@msfa-models/api/highest-education.response.model';
|
||||
import { ReportResponse } from '@msfa-models/api/report.response.model';
|
||||
import { Params } from '@msfa-models/api/params.model';
|
||||
import { TranslatorResponse } from '@msfa-models/api/translator.response.model';
|
||||
import { WorkExperiencesResponse } from '@msfa-models/api/work-experiences.response.model';
|
||||
@@ -20,13 +22,14 @@ import {
|
||||
Deltagare,
|
||||
DeltagareCompact,
|
||||
DeltagareCompactData,
|
||||
mapResponseToDeltagareCompact,
|
||||
mapResponseToDeltagareCompact
|
||||
} from '@msfa-models/deltagare.model';
|
||||
import { Disability, mapResponseToDisability } from '@msfa-models/disability.model';
|
||||
import { DriversLicense, mapResponseToDriversLicense } from '@msfa-models/drivers-license.model';
|
||||
import { Education, mapResponseToEducation } from '@msfa-models/education.model';
|
||||
import { errorToCustomError } from '@msfa-models/error/custom-error';
|
||||
import { HighestEducation, mapResponseToHighestEducation } from '@msfa-models/highest-education.model';
|
||||
import { mapReportsResponseToReport, ReportsData } from '@msfa-models/reports.model';
|
||||
import { Sort } from '@msfa-models/sort.model';
|
||||
import { mapResponseToWorkExperience, WorkExperience } from '@msfa-models/work-experience.model';
|
||||
import { ErrorService } from '@msfa-services/error.service';
|
||||
@@ -44,6 +47,8 @@ export class DeltagareService extends UnsubscribeDirective {
|
||||
private _page$ = new BehaviorSubject<number>(1);
|
||||
private _sort$ = new BehaviorSubject<Sort<keyof DeltagareCompact>>({ key: 'fullName', order: SortOrder.ASC });
|
||||
public sort$: Observable<Sort<keyof DeltagareCompact>> = this._sort$.asObservable();
|
||||
private _reportType$ = new BehaviorSubject<FormSelectItem>(null);
|
||||
reportType$: Observable<FormSelectItem> = this._reportType$.asObservable();
|
||||
private _onlyMyDeltagare$ = new BehaviorSubject<boolean>(false);
|
||||
public onlyMyDeltagare$: Observable<boolean> = this._onlyMyDeltagare$.asObservable();
|
||||
|
||||
@@ -73,6 +78,11 @@ export class DeltagareService extends UnsubscribeDirective {
|
||||
switchMap(([limit, page, sort, onlyMyDeltagare]) => this._fetchAllDeltagare$(limit, page, sort, onlyMyDeltagare))
|
||||
);
|
||||
|
||||
public reportsData$: Observable<ReportsData> = combineLatest([
|
||||
this._limit$,
|
||||
this._page$
|
||||
]).pipe(switchMap(([limit, page]) => this._fetchReports$(limit, page)));
|
||||
|
||||
public setSort(newSortKey: keyof DeltagareCompact): void {
|
||||
const currentSort = this._sort$.getValue();
|
||||
const order =
|
||||
@@ -112,6 +122,32 @@ export class DeltagareService extends UnsubscribeDirective {
|
||||
);
|
||||
}
|
||||
|
||||
private _fetchReports$(
|
||||
limit: number,
|
||||
page: number
|
||||
): Observable<ReportsData> {
|
||||
const params: { [param: string]: string | string[] } = {
|
||||
limit: limit.toString(),
|
||||
page: page.toString()
|
||||
};
|
||||
|
||||
return this.httpClient
|
||||
.get<ReportResponse>(`${this._apiBaseUrl}/report`, {
|
||||
params
|
||||
})
|
||||
.pipe(
|
||||
map(({ data, meta }) => {
|
||||
data.sort((reportA, reportB) =>
|
||||
+reportA.sendDate < +reportB.sendDate ? 1 : -1)
|
||||
return { data: data.map(report => mapReportsResponseToReport(report)), meta };
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
public setReportType(reportType: FormSelectItem): void {
|
||||
this._reportType$.next(reportType);
|
||||
}
|
||||
|
||||
public setCurrentDeltagareId(currentDeltagareId: string): void {
|
||||
this._deltagare$.next(null);
|
||||
this._currentDeltagareId$.next(currentDeltagareId);
|
||||
@@ -158,8 +194,8 @@ export class DeltagareService extends UnsubscribeDirective {
|
||||
map(({ data }) =>
|
||||
data.utbildningar
|
||||
? data.utbildningar.sort((a, b) =>
|
||||
sortFromToDates({ from: a.period_from, to: a.period_tom }, { from: b.period_from, to: b.period_tom })
|
||||
)
|
||||
sortFromToDates({ from: a.period_from, to: a.period_tom }, { from: b.period_from, to: b.period_tom })
|
||||
)
|
||||
: []
|
||||
),
|
||||
map(educations => educations.map(utbildning => mapResponseToEducation(utbildning))),
|
||||
@@ -253,27 +289,27 @@ export class DeltagareService extends UnsubscribeDirective {
|
||||
workExperiences,
|
||||
avropInformation,
|
||||
]: [
|
||||
ContactInformation,
|
||||
DriversLicense,
|
||||
HighestEducation,
|
||||
Education[],
|
||||
string,
|
||||
string[],
|
||||
Disability[],
|
||||
WorkExperience[],
|
||||
Avrop
|
||||
]) => ({
|
||||
id,
|
||||
...contactInformation,
|
||||
driversLicense,
|
||||
highestEducation,
|
||||
educations,
|
||||
translator,
|
||||
workLanguages,
|
||||
disabilities,
|
||||
workExperiences,
|
||||
avropInformation,
|
||||
})
|
||||
ContactInformation,
|
||||
DriversLicense,
|
||||
HighestEducation,
|
||||
Education[],
|
||||
string,
|
||||
string[],
|
||||
Disability[],
|
||||
WorkExperience[],
|
||||
Avrop
|
||||
]) => ({
|
||||
id,
|
||||
...contactInformation,
|
||||
driversLicense,
|
||||
highestEducation,
|
||||
educations,
|
||||
translator,
|
||||
workLanguages,
|
||||
disabilities,
|
||||
workExperiences,
|
||||
avropInformation,
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user