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