Added loader while submitting gemensam planering

This commit is contained in:
Erik Tiekstra
2021-10-06 15:27:54 +02:00
parent 02b54d4776
commit bc6fa22915
3 changed files with 8 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
(ngSubmit)="openConfirmDialog()" (ngSubmit)="openConfirmDialog()"
id="gemensam-planering-form" id="gemensam-planering-form"
> >
<msfa-loader *ngIf="submitLoading$ | async" type="absolute"></msfa-loader>
<ng-container *ngIf="currentStep === 1"> <ng-container *ngIf="currentStep === 1">
<digi-form-fieldset <digi-form-fieldset
af-legend="Deltar arbetssökande på distans?" af-legend="Deltar arbetssökande på distans?"

View File

@@ -4,6 +4,7 @@
.gemensam-planering { .gemensam-planering {
&__confirmation, &__confirmation,
&__form { &__form {
position: relative;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: $digi--layout--gutter--l; gap: $digi--layout--gutter--l;

View File

@@ -33,6 +33,8 @@ export class DeltagareGemensamPlaneringComponent {
error$: Observable<CustomError> = this._error$.asObservable(); error$: Observable<CustomError> = this._error$.asObservable();
private _lastSubmittedGP$ = new BehaviorSubject<Date>(null); private _lastSubmittedGP$ = new BehaviorSubject<Date>(null);
lastSubmittedGP$: Observable<Date> = this._lastSubmittedGP$.asObservable(); lastSubmittedGP$: Observable<Date> = this._lastSubmittedGP$.asObservable();
private _submitLoading$ = new BehaviorSubject<boolean>(false);
submitLoading$: Observable<boolean> = this._submitLoading$.asObservable();
activities$: Observable<Activity[]> = this.gemensamPlaneringService.activities$; activities$: Observable<Activity[]> = this.gemensamPlaneringService.activities$;
currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe( currentGenomforandeReferens$: Observable<number> = this.activatedRoute.params.pipe(
@@ -137,6 +139,7 @@ export class DeltagareGemensamPlaneringComponent {
} }
async postGemensamPlanering(postRequest: GemensamPlanering): Promise<void> { async postGemensamPlanering(postRequest: GemensamPlanering): Promise<void> {
this._submitLoading$.next(true);
return this.gemensamPlaneringService return this.gemensamPlaneringService
.postGemensamPlanering(mapGemensamPlaneringToGemensamPlaneringPostRequest(postRequest)) .postGemensamPlanering(mapGemensamPlaneringToGemensamPlaneringPostRequest(postRequest))
.then(() => { .then(() => {
@@ -145,6 +148,9 @@ export class DeltagareGemensamPlaneringComponent {
}) })
.catch((error: Error) => { .catch((error: Error) => {
this._error$.next(new CustomError({ error, message: error.message, type: ErrorType.API })); this._error$.next(new CustomError({ error, message: error.message, type: ErrorType.API }));
})
.finally(() => {
this._submitLoading$.next(false);
}); });
} }
} }