Fetching activities to be able to show PR after submit

This commit is contained in:
Erik Tiekstra
2021-10-29 13:18:27 +02:00
parent e52f499f45
commit 1d8f8a04c7
4 changed files with 29 additions and 14 deletions

View File

@@ -35,14 +35,14 @@ export class PeriodiskRedovisningViewComponent {
);
getActivityInfoAsString(activity: PeriodiskRedovisningActivity): string {
const hours = activity.hours === 1 ? '1 timme' : `${activity.hours} timmar`;
const hours = activity.hours ? (activity.hours === 1 ? '1 timme ' : `${activity.hours} timmar `) : '';
const location =
activity.performedRemotely && activity.performedPhysically
? 'på distans och på plats'
: activity.performedRemotely
? 'på distans'
: 'på plats';
return `${activity.name}: ${hours} ${location}`;
return `${activity.name}: ${hours}${location}`;
}
constructor(

View File

@@ -1,15 +1,20 @@
import { Injectable } from '@angular/core';
import { Activity } from '@msfa-models/activity.model';
import { Avrop } from '@msfa-models/avrop.model';
import { Observable } from 'rxjs';
import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model';
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { map } from 'rxjs/operators';
import { GemensamPlaneringApiService } from '@msfa-services/api/gemensam-planering-api.service';
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
import { Observable } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
@Injectable()
export class PeriodiskRedovisningViewService {
private _activities$: Observable<Activity[]> = this.gemensamPlaneringApiService.fetchActivities$();
constructor(
private periodiskRedovisningApiService: PeriodiskRedovisningApiService,
private gemensamPlaneringApiService: GemensamPlaneringApiService,
private deltagareApiService: DeltagareApiService
) {}
@@ -18,8 +23,12 @@ export class PeriodiskRedovisningViewService {
}
public fetchPeriodiskRedovisning$(handlingId: string): Observable<PeriodiskRedovisning> {
return this.periodiskRedovisningApiService
.fetchPeriodiskRedovisning$(handlingId)
.pipe(map(({ data }) => (data ? mapResponseToPeriodiskRedovisning(data) : null)));
return this._activities$.pipe(
switchMap(activities =>
this.periodiskRedovisningApiService
.fetchPeriodiskRedovisning$(handlingId)
.pipe(map(({ data }) => mapResponseToPeriodiskRedovisning(data, activities)))
)
);
}
}