diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html index 3eec0104f947b808750585d60d7a027d8fc2f111..5e02a4c17739dce5e4be8ce0ae9547b23d9565a2 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html @@ -7,6 +7,7 @@ <alfa-vorgang-detail-bescheiden-antrag-bescheiden></alfa-vorgang-detail-bescheiden-antrag-bescheiden> <alfa-vorgang-detail-bescheiden-weiter-button (clickEmitter)="changeActiveStep(2)" + [submitResource]="submitResource" ></alfa-vorgang-detail-bescheiden-weiter-button> </alfa-vorgang-detail-bescheiden-step-content> @@ -22,6 +23,7 @@ ></alfa-vorgang-detail-bescheiden-dokumente-hinzufuegen> <alfa-vorgang-detail-bescheiden-weiter-button (clickEmitter)="changeActiveStep(3)" + [submitResource]="submitResource" ></alfa-vorgang-detail-bescheiden-weiter-button> </alfa-vorgang-detail-bescheiden-step-content> diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts index a05c072bc6c488d8b4948180c7f7ebefb58de08a..ce42b5dcd7153c3e1e12b0eef65028a1586778ff 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts @@ -1,4 +1,10 @@ -import { HttpError, StateResource, hasStateResourceError, isLoaded } from '@alfa-client/tech-shared'; +import { + HttpError, + StateResource, + createEmptyStateResource, + hasStateResourceError, + isLoaded, +} from '@alfa-client/tech-shared'; import { VorgangService, VorgangWithEingangLinkRel, @@ -6,7 +12,7 @@ import { } from '@alfa-client/vorgang-shared'; import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { Resource, hasLink } from '@ngxp/rest'; -import { BehaviorSubject, Observable, combineLatest, filter, first, map } from 'rxjs'; +import { BehaviorSubject, Observable, combineLatest, filter, first, map, tap } from 'rxjs'; import { BescheidenFormService } from '../../bescheiden.formservice'; @Component({ @@ -24,6 +30,8 @@ export class VorgangDetailBescheidenStepsContentComponent implements OnInit { showBescheidErstellungUeberspringen$: Observable<boolean>; + submitResource: StateResource<Resource | HttpError> = createEmptyStateResource(); + constructor( private readonly vorgangService: VorgangService, private formService: BescheidenFormService, @@ -45,7 +53,11 @@ export class VorgangDetailBescheidenStepsContentComponent implements OnInit { if (this.canChangeTo(step)) { this.formService .submit() - .pipe(filter(this.noError), first()) + .pipe( + tap((resource: StateResource<Resource | HttpError>) => (this.submitResource = resource)), + filter(this.noError), + first(), + ) .subscribe(() => { this.formService.setActiveStep(step); this.activeStepChange.emit(step); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html index 55a9f67956faa09ff08e2e0849134c690a73059c..775963a1509562d11eda1d3f82d7d742a7850494 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html @@ -1,10 +1,11 @@ -<ods-button +<ods-button-with-spinner *ngIf="showButton$ | async" (clickEmitter)="clickEmitter.emit()" + [stateResource]="submitResource" variant="primary" size="medium" class="mt-8 flex" dataTestId="bescheid-weiter-button" text="Weiter" > -</ods-button> +</ods-button-with-spinner> diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts index f08201eec71c4d281c3ed90f759dba339080d548..5e89e7dd34f564986e2d2b48f78919d18c091041 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts @@ -1,8 +1,13 @@ import { BescheidLinkRel, BescheidService } from '@alfa-client/bescheid-shared'; -import { isLoaded } from '@alfa-client/tech-shared'; +import { + HttpError, + StateResource, + createEmptyStateResource, + isLoaded, +} from '@alfa-client/tech-shared'; import { VorgangService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared'; -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; -import { hasLink } from '@ngxp/rest'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { Resource, hasLink } from '@ngxp/rest'; import { Observable, filter, map, merge } from 'rxjs'; import { BescheidenFormService } from '../../bescheiden.formservice'; @@ -11,6 +16,7 @@ import { BescheidenFormService } from '../../bescheiden.formservice'; templateUrl: './vorgang-detail-bescheiden-weiter-button.component.html', }) export class VorgangDetailBescheidenWeiterButtonComponent implements OnInit { + @Input() submitResource: StateResource<Resource | HttpError> = createEmptyStateResource(); @Output() clickEmitter: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>(); showButton$: Observable<boolean>;