From 828ee8fb50d241e785b8d196f01d160a6c7f71c4 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Fri, 13 Dec 2024 10:51:45 -0700 Subject: [PATCH] switch to location service for url query --- .../designmaps/rtgm/services/app.service.ts | 16 +++++++-------- .../services/app.service.ts | 14 ++++++------- .../dynamic-compare/services/app.service.ts | 17 ++++++++-------- .../app/gmm/distance/services/app.service.ts | 17 ++++++++-------- .../app/gmm/magnitude/services/app.service.ts | 17 ++++++++-------- .../app/gmm/spectra/services/app.service.ts | 17 ++++++++-------- .../app/hazard/disagg/services/app.service.ts | 20 ++++++++----------- .../hazard/dynamic/services/app.service.ts | 19 ++++++++---------- .../app/hazard/static/services/app.service.ts | 19 ++++++++---------- .../check-haz-jobs/services/app.service.ts | 17 ++++++++-------- .../haz-job-history/services/app.service.ts | 17 ++++++++-------- .../job-submitted/job-submitted.component.ts | 3 +-- .../submit-haz-jobs/services/app.service.ts | 1 - .../services/app.service.ts | 17 ++++++++-------- .../services/app.service.ts | 18 +++++++++-------- .../app/source/mfd/services/app.service.ts | 17 ++++++++-------- .../source/model-maps/services/app.service.ts | 16 +++++++-------- .../app/source/rates/services/app.service.ts | 15 +++++++------- 18 files changed, 130 insertions(+), 147 deletions(-) diff --git a/projects/nshmp-apps/src/app/designmaps/rtgm/services/app.service.ts b/projects/nshmp-apps/src/app/designmaps/rtgm/services/app.service.ts index bc507d2e3..4f466b187 100644 --- a/projects/nshmp-apps/src/app/designmaps/rtgm/services/app.service.ts +++ b/projects/nshmp-apps/src/app/designmaps/rtgm/services/app.service.ts @@ -1,7 +1,8 @@ +import {Location as LocationService} from '@angular/common'; import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { HazardControlForm, HazardService, @@ -103,8 +104,8 @@ export class AppService private spinnerService: SpinnerService, private nshmpService: NshmpService, private route: ActivatedRoute, - private router: Router, - private hazardService: HazardService + private hazardService: HazardService, + private location: LocationService ) { super(); this.addValidators(); @@ -912,11 +913,10 @@ export class AppService } private updateUrl(): void { - this.router - .navigate([apps().designMaps.rtgm.routerLink], { - queryParams: this.formGroup.getRawValue(), - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().designMaps.rtgm.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } private usageFormValues(parameters: RtgmUsageParameters): ControlForm { diff --git a/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/services/app.service.ts b/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/services/app.service.ts index 27a096678..83aed91b3 100644 --- a/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/services/app.service.ts +++ b/projects/nshmp-apps/src/app/dev/gmm/hanging-wall-effects/services/app.service.ts @@ -1,3 +1,5 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {Injectable, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; import {ActivatedRoute, Router} from '@angular/router'; @@ -72,6 +74,7 @@ export class AppService private nshmpService: NshmpService, private formBuilder: FormBuilder, private route: ActivatedRoute, + private location: LocationService, private router: Router ) { super(); @@ -562,12 +565,9 @@ export class AppService zTor: value.zTor?.toString(), }; - this.router - .navigate([devApps().gmm.hangingWallEffects.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + devApps().gmm.hangingWallEffects.routerLink, + new HttpParams().appendAll({...query}).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/services/app.service.ts b/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/services/app.service.ts index 6e6a78a10..77fab0a95 100644 --- a/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/services/app.service.ts +++ b/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {HazardService, hazardUtils} from '@ghsc/nshmp-lib-ng/hazard'; import { FormGroupControls, @@ -85,7 +87,7 @@ export class AppService private spectraPlotsService: SpectraPlotsService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -879,13 +881,10 @@ export class AppService vs30: value.vs30?.toString(), }; - this.router - .navigate([devApps().hazard.dynamicCompare.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + devApps().hazard.dynamicCompare.routerLink, + new HttpParams().appendAll({...query}).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/gmm/distance/services/app.service.ts b/projects/nshmp-apps/src/app/gmm/distance/services/app.service.ts index 15e16e663..1d6c721e8 100644 --- a/projects/nshmp-apps/src/app/gmm/distance/services/app.service.ts +++ b/projects/nshmp-apps/src/app/gmm/distance/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { GmmAppQueryImt, gmmUtils, @@ -68,7 +70,7 @@ export class AppService private nshmpService: NshmpService, private spinnerService: SpinnerService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -527,12 +529,9 @@ export class AppService zTor: value.zTor?.toString(), }; - this.router - .navigate([apps().gmm.distance.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().gmm.distance.routerLink, + new HttpParams().appendAll({...query}).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/gmm/magnitude/services/app.service.ts b/projects/nshmp-apps/src/app/gmm/magnitude/services/app.service.ts index 3f25429b0..f1b2fcc87 100644 --- a/projects/nshmp-apps/src/app/gmm/magnitude/services/app.service.ts +++ b/projects/nshmp-apps/src/app/gmm/magnitude/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { GmmAppQueryImt, gmmUtils, @@ -76,7 +78,7 @@ export class AppService private nshmpService: NshmpService, private spinnerService: SpinnerService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -561,13 +563,10 @@ export class AppService zTor: value.zTor?.toString(), }; - this.router - .navigate([apps().gmm.magnitude.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().gmm.magnitude.routerLink, + new HttpParams().appendAll({...query}).toString() + ); } /** diff --git a/projects/nshmp-apps/src/app/gmm/spectra/services/app.service.ts b/projects/nshmp-apps/src/app/gmm/spectra/services/app.service.ts index 869346cef..8ccd925cc 100644 --- a/projects/nshmp-apps/src/app/gmm/spectra/services/app.service.ts +++ b/projects/nshmp-apps/src/app/gmm/spectra/services/app.service.ts @@ -1,3 +1,5 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import { AbstractControl, @@ -5,7 +7,7 @@ import { FormControl, Validators, } from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { GmmAppQuery, gmmUtils, @@ -95,7 +97,7 @@ export class AppService private nshmpService: NshmpService, private spinnerService: SpinnerService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -837,13 +839,10 @@ export class AppService zTor: value.zTor?.toString(), }; - this.router - .navigate([apps().gmm.spectra.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().gmm.spectra.routerLink, + new HttpParams().appendAll({...query}).toString() + ); } /** diff --git a/projects/nshmp-apps/src/app/hazard/disagg/services/app.service.ts b/projects/nshmp-apps/src/app/hazard/disagg/services/app.service.ts index 3658b3e6d..551e055c9 100644 --- a/projects/nshmp-apps/src/app/hazard/disagg/services/app.service.ts +++ b/projects/nshmp-apps/src/app/hazard/disagg/services/app.service.ts @@ -1,4 +1,5 @@ -import {HttpClient} from '@angular/common/http'; +import {Location as LocationService} from '@angular/common'; +import {HttpClient, HttpParams} from '@angular/common/http'; import { computed, Inject, @@ -8,7 +9,7 @@ import { signal, } from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { DisaggControlForm, DisaggTarget, @@ -83,8 +84,8 @@ export class AppService private nshmpService: NshmpService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router, private http: HttpClient, + private location: LocationService, @Inject(LOCALE_ID) private localId: string ) { super(); @@ -755,15 +756,10 @@ export class AppService } private updateUrl(): void { - const value = this.formGroup.getRawValue(); - - this.router - .navigate([apps().hazard.disagg.routerLink], { - queryParams: { - ...value, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().hazard.disagg.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } private updateUsageUrl() { diff --git a/projects/nshmp-apps/src/app/hazard/dynamic/services/app.service.ts b/projects/nshmp-apps/src/app/hazard/dynamic/services/app.service.ts index 02276f630..d5e280b28 100644 --- a/projects/nshmp-apps/src/app/hazard/dynamic/services/app.service.ts +++ b/projects/nshmp-apps/src/app/hazard/dynamic/services/app.service.ts @@ -1,3 +1,5 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import { AbstractControl, @@ -5,7 +7,7 @@ import { FormGroup, Validators, } from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { DynamicHazardControlForm, HazardPlots, @@ -80,7 +82,7 @@ export class AppService private nshmpService: NshmpService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -703,15 +705,10 @@ export class AppService } private updateUrl(): void { - const values = this.formGroup.getRawValue(); - - this.router - .navigate([apps().hazard.dynamic.routerLink], { - queryParams: { - ...values, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().hazard.dynamic.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } private updateUsageUrl() { diff --git a/projects/nshmp-apps/src/app/hazard/static/services/app.service.ts b/projects/nshmp-apps/src/app/hazard/static/services/app.service.ts index de874e6c7..8ad4b174a 100644 --- a/projects/nshmp-apps/src/app/hazard/static/services/app.service.ts +++ b/projects/nshmp-apps/src/app/hazard/static/services/app.service.ts @@ -1,3 +1,5 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import { AbstractControl, @@ -5,7 +7,7 @@ import { FormGroup, Validators, } from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { HazardAppQuery, HazardControlForm, @@ -85,7 +87,7 @@ export class AppService private nshmpService: NshmpService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -816,15 +818,10 @@ export class AppService } private updateUrl(): void { - const values = this.formGroup.getRawValue(); - - this.router - .navigate([apps().hazard.static.routerLink], { - queryParams: { - ...values, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().hazard.static.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } private updateUsageUrl() { diff --git a/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/services/app.service.ts b/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/services/app.service.ts index b7777715c..6353510b4 100644 --- a/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/services/app.service.ts +++ b/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {AbstractControl, FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { AwsService, JobHistoryRequestData, @@ -48,7 +50,7 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { private nshmpService: NshmpService, private awsService: AwsService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { this.addValidators(); @@ -241,12 +243,9 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { id: this.formGroup.getRawValue().id, }; - this.router - .navigate([internalApps().aws.checkHazJobs.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + internalApps().aws.checkHazJobs.routerLink, + new HttpParams().appendAll(query).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/internal/aws/haz-job-history/services/app.service.ts b/projects/nshmp-apps/src/app/internal/aws/haz-job-history/services/app.service.ts index 797140795..df579cc4d 100644 --- a/projects/nshmp-apps/src/app/internal/aws/haz-job-history/services/app.service.ts +++ b/projects/nshmp-apps/src/app/internal/aws/haz-job-history/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {AwsService} from '@ghsc/nshmp-lib-ng/aws'; import {NshmpService, nshmpUtils} from '@ghsc/nshmp-lib-ng/nshmp'; import {DynamoDBItem} from '@ghsc/nshmp-utils-ts/libs/aws/run-nshmp-haz'; @@ -33,7 +35,7 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { private nshmpService: NshmpService, private awsService: AwsService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { this.addValidators(); this.formGroup.valueChanges.subscribe(() => this.updateUrl()); @@ -169,12 +171,9 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { id: this.formGroup.getRawValue().id, }; - this.router - .navigate([internalApps().aws.hazJobHistory.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + internalApps().aws.hazJobHistory.routerLink, + new HttpParams().appendAll(query).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/components/job-submitted/job-submitted.component.ts b/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/components/job-submitted/job-submitted.component.ts index ddc0532a7..e93371632 100644 --- a/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/components/job-submitted/job-submitted.component.ts +++ b/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/components/job-submitted/job-submitted.component.ts @@ -1,5 +1,5 @@ import {CdkScrollable} from '@angular/cdk/scrolling'; -import {AsyncPipe, Location} from '@angular/common'; +import {Location} from '@angular/common'; import {Component} from '@angular/core'; import {MatButton} from '@angular/material/button'; import {MatCardModule} from '@angular/material/card'; @@ -28,7 +28,6 @@ import {AppService} from '../../services/app.service'; MatDialogActions, MatButton, MatDialogClose, - AsyncPipe, YamlPipe, MatCardModule, MatExpansionModule, diff --git a/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/services/app.service.ts b/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/services/app.service.ts index 404fbf14a..08eac8789 100644 --- a/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/services/app.service.ts +++ b/projects/nshmp-apps/src/app/internal/aws/submit-haz-jobs/services/app.service.ts @@ -420,7 +420,6 @@ export class AppService implements AppServiceModel<AppState, RunNshmpHazForm> { controls.email.addValidators([ control => Validators.required(control), control => Validators.email(control), - Validators.pattern(/@usgs.gov$/), ]); controls.modelGitUrl.addValidators([ diff --git a/projects/nshmp-apps/src/app/internal/aws/terminate-haz-jobs/services/app.service.ts b/projects/nshmp-apps/src/app/internal/aws/terminate-haz-jobs/services/app.service.ts index 8b5b4b56a..0ad70cbcd 100644 --- a/projects/nshmp-apps/src/app/internal/aws/terminate-haz-jobs/services/app.service.ts +++ b/projects/nshmp-apps/src/app/internal/aws/terminate-haz-jobs/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { AwsService, IdForm, @@ -33,7 +35,7 @@ export class AppService implements AppServiceModel<AppState, IdForm> { private nshmpService: NshmpService, private awsService: AwsService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { this.addValidators(); this.formGroup.valueChanges.subscribe(() => this.updateUrl()); @@ -154,12 +156,9 @@ export class AppService implements AppServiceModel<AppState, IdForm> { id: this.formGroup.getRawValue().id, }; - this.router - .navigate([internalApps().aws.terminateHazJobs.routerLink], { - queryParams: { - ...query, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + internalApps().aws.terminateHazJobs.routerLink, + new HttpParams().appendAll(query).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/services/app.service.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/services/app.service.ts index cd895db09..adc3948c2 100644 --- a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/services/app.service.ts +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/services/app.service.ts @@ -1,7 +1,8 @@ +import {Location as LocationService} from '@angular/common'; import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {FormBuilder, Validators} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import { FormGroupControls, NshmpService, @@ -68,7 +69,7 @@ export class AppService private spinnerService: SpinnerService, private nshmpService: NshmpService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); @@ -546,15 +547,16 @@ export class AppService .map(control => control.getRawValue()) .map(value => `${value.latitude},${value.longitude}`); - this.router - .navigate([apps().ncm.geophysicalProfiles.routerLink], { - queryParams: { + this.location.replaceState( + apps().ncm.geophysicalProfiles.routerLink, + new HttpParams() + .appendAll({ depthInc: values.depthInc, depthMax: values.depthMax, depthMin: values.depthMin, location, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + }) + .toString() + ); } } diff --git a/projects/nshmp-apps/src/app/source/mfd/services/app.service.ts b/projects/nshmp-apps/src/app/source/mfd/services/app.service.ts index 9d95d18d7..5a25b8a13 100644 --- a/projects/nshmp-apps/src/app/source/mfd/services/app.service.ts +++ b/projects/nshmp-apps/src/app/source/mfd/services/app.service.ts @@ -1,3 +1,5 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import { AbstractControl, @@ -5,7 +7,7 @@ import { FormGroup, Validators, } from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {HazardService, hazardUtils} from '@ghsc/nshmp-lib-ng/hazard'; import { FormGroupControls, @@ -109,7 +111,7 @@ export class AppService private nshmpService: NshmpService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.formGroup.controls.mfdType.disable(); @@ -904,13 +906,10 @@ export class AppService weightedMfds: values.weightedMfds.toString(), }; - this.router - .navigate([apps().source.mfd.routerLink], { - queryParams: { - ...queryParams, - }, - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().source.mfd.routerLink, + new HttpParams().appendAll({...queryParams}).toString() + ); } private updateUsageUrl() { diff --git a/projects/nshmp-apps/src/app/source/model-maps/services/app.service.ts b/projects/nshmp-apps/src/app/source/model-maps/services/app.service.ts index 4b8e84e30..1ea217d2f 100644 --- a/projects/nshmp-apps/src/app/source/model-maps/services/app.service.ts +++ b/projects/nshmp-apps/src/app/source/model-maps/services/app.service.ts @@ -1,4 +1,5 @@ -import {HttpClient} from '@angular/common/http'; +import {Location as LocationService} from '@angular/common'; +import {HttpClient, HttpParams} from '@angular/common/http'; import {computed, Injectable, NgZone, Signal, signal} from '@angular/core'; import { AbstractControl, @@ -6,7 +7,7 @@ import { FormControl, Validators, } from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {HazardService} from '@ghsc/nshmp-lib-ng/hazard'; import {mapUtils} from '@ghsc/nshmp-lib-ng/map'; import { @@ -132,7 +133,7 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { private http: HttpClient, private zone: NgZone, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { this.addValidators(); } @@ -1289,10 +1290,9 @@ export class AppService implements AppServiceModel<AppState, ControlForm> { } private updateUrl(): void { - this.router - .navigate([apps().source.data.routerLink], { - queryParams: this.formGroup.getRawValue(), - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().source.data.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } } diff --git a/projects/nshmp-apps/src/app/source/rates/services/app.service.ts b/projects/nshmp-apps/src/app/source/rates/services/app.service.ts index a90a60d0a..edd7eaea3 100644 --- a/projects/nshmp-apps/src/app/source/rates/services/app.service.ts +++ b/projects/nshmp-apps/src/app/source/rates/services/app.service.ts @@ -1,6 +1,8 @@ +import {Location as LocationService} from '@angular/common'; +import {HttpParams} from '@angular/common/http'; import {computed, Injectable, Signal, signal} from '@angular/core'; import {FormBuilder} from '@angular/forms'; -import {ActivatedRoute, Router} from '@angular/router'; +import {ActivatedRoute} from '@angular/router'; import {HazardService, hazardUtils} from '@ghsc/nshmp-lib-ng/hazard'; import { NshmpService, @@ -59,7 +61,7 @@ export class AppService private spinnerService: SpinnerService, private hazardService: HazardService, private route: ActivatedRoute, - private router: Router + private location: LocationService ) { super(); this.addValidators(); @@ -460,11 +462,10 @@ export class AppService * Update to URL query parameters. */ private updateUrl(): void { - this.router - .navigate([apps().source.rateAndProbability.routerLink], { - queryParams: this.formGroup.getRawValue(), - }) - .catch((error: Error) => this.nshmpService.throwError$(error)); + this.location.replaceState( + apps().source.rateAndProbability.routerLink, + new HttpParams().appendAll(this.formGroup.getRawValue()).toString() + ); } private updateUsageUrl(): void { -- GitLab