From e0f478bb99f14839e2ce40f90f81deea1cff5aa8 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:26:10 -0700 Subject: [PATCH 1/6] add parameter summary component --- .../parameter-summary.component.html | 54 +++++++++++++++++++ .../parameter-summary.component.scss | 0 .../parameter-summary.component.spec.ts | 22 ++++++++ .../parameter-summary.component.ts | 22 ++++++++ 4 files changed, 98 insertions(+) create mode 100644 projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.html create mode 100644 projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.scss create mode 100644 projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts create mode 100644 projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.ts diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.html new file mode 100644 index 000000000..c2f60bdc7 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.html @@ -0,0 +1,54 @@ +<div class="grid-row parameter-summary"> + <div class="grid-col-12 tablet:grid-col-6 overflow-x-scroll"> + <mat-list class="parameter-list"> + @let depths = parameters()?.depths; + + <mat-list-item> + <span class="parameter"> + {{ depths?.depth_min?.label ?? 'Minimum Depth' }} </span + >: {{ formGroup.value.depthMin }} {{ depths?.depth_min.units }} + </mat-list-item> + + <mat-list-item> + <span class="parameter"> + {{ depths?.depth_inc?.label ?? 'Depth Increment' }} </span + >: {{ formGroup.value.depthInc }} {{ depths?.depth_inc.units }} + </mat-list-item> + + <mat-list-item> + <span class="parameter"> + {{ depths?.depth_max?.label ?? 'Maximum Depth' }} </span + >: {{ formGroup.value.depthMax }} {{ depths?.depth_max.units }} + </mat-list-item> + </mat-list> + </div> + + <div class="grid-col-12 tablet:grid-col-6 overflow-x-scroll"> + <mat-list class="parameter-list"> + <div mat-subheader class="list-header">Locations</div> + + @for (locationForm of locations; track locationForm; let index = $index) { + <mat-list-item> + <mat-icon matListItemIcon> </mat-icon> + @let latitude = locationForm.value.latitude; + @let longitude = locationForm.value.longitude; + + <span class="parameter">Location</span>: + {{ isNaN(latitude) ? '' : latitude }}°, + {{ isNaN(longitude) ? '' : longitude }}° + + @if (serviceResponse()) { + @let result = serviceResponse()?.response.results[index]; + + @if (result) { + <br /> + Water table depth: + {{ result?.location.water_table_depth.toFixed(4) }} + {{ serviceResponse().response.metadata.water_table_depth.units }} + } + } + </mat-list-item> + } + </mat-list> + </div> +</div> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts new file mode 100644 index 000000000..96a092db4 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {ParameterSummaryComponent} from './parameter-summary.component'; + +describe('ParameterSummaryComponent', () => { + let component: ParameterSummaryComponent; + let fixture: ComponentFixture<ParameterSummaryComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ParameterSummaryComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(ParameterSummaryComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.ts new file mode 100644 index 000000000..9b5379bf1 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.ts @@ -0,0 +1,22 @@ +import {Component, computed} from '@angular/core'; +import {MatListModule} from '@angular/material/list'; + +import {AppService} from '../../services/app.service'; + +@Component({ + imports: [MatListModule], + selector: 'app-parameter-summary', + standalone: true, + styleUrl: './parameter-summary.component.scss', + templateUrl: './parameter-summary.component.html', +}) +export class ParameterSummaryComponent { + formGroup = this.service.formGroup; + locations = this.formGroup.controls.locations.controls; + parameters = computed(() => this.service.usage()?.response.parameters); + serviceResponse = this.service.serviceResponse; + + isNaN = isNaN; + + constructor(private service: AppService) {} +} -- GitLab From ddf31216379d31b422e6119983a664ead2f05c26 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:26:22 -0700 Subject: [PATCH 2/6] add parameter summary --- .../components/plots/plots.component.html | 10 ++++++++++ .../components/plots/plots.component.ts | 2 ++ 2 files changed, 12 insertions(+) diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.html index e88f420e9..10f4d2e8f 100644 --- a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.html +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.html @@ -13,5 +13,15 @@ } </mat-expansion-panel> } + + <mat-expansion-panel expanded> + <mat-expansion-panel-header> + <mat-panel-title>Parameter Summary</mat-panel-title> + </mat-expansion-panel-header> + + <mat-divider /> + + <app-parameter-summary /> + </mat-expansion-panel> </mat-accordion> </nshmp-lib-ng-plots-container> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts index c2dd71924..31c7b4e84 100644 --- a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts @@ -9,6 +9,7 @@ import { } from '@ghsc/nshmp-lib-ng/plot'; import {AppService} from '../../services/app.service'; +import {ParameterSummaryComponent} from '../parameter-summary/parameter-summary.component'; @Component({ imports: [ @@ -17,6 +18,7 @@ import {AppService} from '../../services/app.service'; NshmpLibNgAppMetadataComponent, MatExpansionModule, MatDivider, + ParameterSummaryComponent, ], selector: 'app-plots', standalone: true, -- GitLab From 575359606b4018db75a0cf28014c2b06d70f5d5a Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:26:28 -0700 Subject: [PATCH 3/6] remove subtitle --- projects/nshmp-apps/src/styles/_parameter-summary.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/projects/nshmp-apps/src/styles/_parameter-summary.scss b/projects/nshmp-apps/src/styles/_parameter-summary.scss index cfff071d2..cbf815ad0 100644 --- a/projects/nshmp-apps/src/styles/_parameter-summary.scss +++ b/projects/nshmp-apps/src/styles/_parameter-summary.scss @@ -6,10 +6,6 @@ $list-typography: mat.m2-define-typography-config( $font-size: 14px, $line-height: 18px, ), - $subtitle-1: - mat.m2-define-typography-level( - $font-size: 12px, - ), ); .parameter-summary { -- GitLab From f958d856dc8e064878326ec123f8306bdb322667 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:26:37 -0700 Subject: [PATCH 4/6] add method --- .../app/ncm/geophysical-profiles/services/app.service.ts | 7 +++++++ 1 file changed, 7 insertions(+) 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 fea29ed8f..bfa97ed2d 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 @@ -75,6 +75,13 @@ export class AppService return computed(() => this.state().serviceCallInfo); } + /** + * Returns the service response. + */ + get serviceResponse(): Signal<GeophysicalResponse> { + return computed(() => this.state().serviceResponse); + } + /** * Returns the usage response. */ -- GitLab From 4a0c0a4d860ae69d5784cef8e361a8261d16b843 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:27:51 -0700 Subject: [PATCH 5/6] remove component --- .../geophysical-profiles/components/plots/plots.component.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts index 31c7b4e84..d47822b43 100644 --- a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plots/plots.component.ts @@ -1,7 +1,6 @@ import {Component, computed} from '@angular/core'; import {MatDivider} from '@angular/material/divider'; import {MatExpansionModule} from '@angular/material/expansion'; -import {NshmpLibNgAppMetadataComponent} from '@ghsc/nshmp-lib-ng/nshmp'; import { NshmpLibNgPlotComponent, NshmpLibNgPlotsContainerComponent, @@ -15,7 +14,6 @@ import {ParameterSummaryComponent} from '../parameter-summary/parameter-summary. imports: [ NshmpLibNgPlotsContainerComponent, NshmpLibNgPlotComponent, - NshmpLibNgAppMetadataComponent, MatExpansionModule, MatDivider, ParameterSummaryComponent, -- GitLab From ba78a8ceaffa5064629a057f44dcb0cd51db6b4b Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Thu, 14 Nov 2024 11:30:32 -0700 Subject: [PATCH 6/6] add providers --- .../parameter-summary/parameter-summary.component.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts index 96a092db4..4ceb80fde 100644 --- a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/parameter-summary/parameter-summary.component.spec.ts @@ -1,4 +1,6 @@ +import {provideHttpClient} from '@angular/common/http'; import {ComponentFixture, TestBed} from '@angular/core/testing'; +import {provideNoopAnimations} from '@angular/platform-browser/animations'; import {ParameterSummaryComponent} from './parameter-summary.component'; @@ -9,6 +11,7 @@ describe('ParameterSummaryComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [ParameterSummaryComponent], + providers: [provideHttpClient(), provideNoopAnimations()], }).compileComponents(); fixture = TestBed.createComponent(ParameterSummaryComponent); -- GitLab