feat(participant-page): Added routing and page for single participants. (TV-267)

Squashed commit of the following:

commit e59f80b44e8169fb1a02c505b261b38bef2f0913
Merge: ecf97a3 88c68e1
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Jun 18 12:10:45 2021 +0200

    Merged develop and resolved conflicts

commit ecf97a3fe6ad78b6250b46cdaec5169ee4106df8
Merge: 10bc25e ba34b20
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Tue Jun 15 15:44:41 2021 +0200

    Merge branch 'develop' into feature/TV-267-participant-page

commit 10bc25e77822724c469e8002fb00653eab7bf938
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Tue Jun 15 15:42:18 2021 +0200

    Added back-link

commit a45228d0adfa20eb4ee5407c0bc6fea9ea07b8f1
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Tue Jun 15 14:53:54 2021 +0200

    Added page to routing and fetched some data
This commit is contained in:
Erik Tiekstra
2021-06-18 12:11:42 +02:00
parent 88c68e1e37
commit f7081d84b5
26 changed files with 360 additions and 68 deletions

View File

@@ -6,6 +6,7 @@ import { environment } from '@dafa-environment';
import {
mapParticipantApiResponseToParticipant,
Participant,
ParticipantApiResponse,
ParticipantsApiResponse,
} from '@dafa-models/participant.model';
import { Sort } from '@dafa-models/sort.model';
@@ -22,12 +23,15 @@ function filterParticipants(participants: Participant[], searchFilter: string):
});
}
const API_HEADERS = { headers: environment.api.headers };
@Injectable({
providedIn: 'root',
})
export class ParticipantsService {
private _apiUrl = `${environment.api.url}/participants`;
private _allParticipants$: Observable<Participant[]> = this.httpClient
.get<ParticipantsApiResponse>(`${environment.api.url}/participants`)
.get<ParticipantsApiResponse>(this._apiUrl)
.pipe(map(response => response.data.map(participant => mapParticipantApiResponseToParticipant(participant))));
private _activeParticipantsSortBy$ = new BehaviorSubject<Sort<keyof Participant> | null>({
key: 'handleBefore',
@@ -73,6 +77,12 @@ export class ParticipantsService {
})
);
public fetchDetailedParticipantData$(id: string): Observable<Participant> {
return this.httpClient
.get<ParticipantApiResponse>(`${this._apiUrl}/${id}`, { ...API_HEADERS })
.pipe(map(result => mapParticipantApiResponseToParticipant(result.data)));
}
public setSearchFilter(value: string) {
this._searchFilter$.next(value);
}