From af1791c783604e64302d020f12fa2632e2eee658 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 12:16:59 -0700 Subject: [PATCH 1/9] add dash route --- projects/nshmp-apps/src/app/hazard/hazard.routes.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/nshmp-apps/src/app/hazard/hazard.routes.ts b/projects/nshmp-apps/src/app/hazard/hazard.routes.ts index c6e780ea0..58efd4ed6 100644 --- a/projects/nshmp-apps/src/app/hazard/hazard.routes.ts +++ b/projects/nshmp-apps/src/app/hazard/hazard.routes.ts @@ -2,6 +2,11 @@ import {Routes} from '@angular/router'; /** Hazard application routes */ const routes: Routes = [ + { + loadComponent: () => + import('./dashboard/app.component').then(com => com.AppComponent), + path: '', + }, { loadComponent: () => import('./disagg/app.component').then(com => com.AppComponent), -- GitLab From df9b320e142042f49c1ed31758ea76db7e77ca34 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 12:17:15 -0700 Subject: [PATCH 2/9] add hazard dashboard --- .../app/hazard/dashboard/app.component.html | 19 ++++++++ .../app/hazard/dashboard/app.component.scss | 0 .../hazard/dashboard/app.component.spec.ts | 22 +++++++++ .../src/app/hazard/dashboard/app.component.ts | 46 +++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 projects/nshmp-apps/src/app/hazard/dashboard/app.component.html create mode 100644 projects/nshmp-apps/src/app/hazard/dashboard/app.component.scss create mode 100644 projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts create mode 100644 projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.html b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.html new file mode 100644 index 000000000..b20dfdbe0 --- /dev/null +++ b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.html @@ -0,0 +1,19 @@ +<nshmp-lib-ng-template #template [navigationList]="navigationList" [title]=""> + <!-- Dashboard --> + <nshmp-lib-ng-dashboard [sections]="sections"> + <nshmp-lib-ng-dashboard-title> + USGS Earthquake Hazard Toolbox: + <br /> + Hazard Applications + </nshmp-lib-ng-dashboard-title> + <nshmp-lib-ng-dashboard-description /> + </nshmp-lib-ng-dashboard> + + <!-- About page --> + <nshmp-lib-ng-about-page> + <nshmp-lib-ng-about-content + [showSavingSettingPanel]="false" + [showUsingApplicationPanel]="false" + /> + </nshmp-lib-ng-about-page> +</nshmp-lib-ng-template> diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.scss b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts new file mode 100644 index 000000000..39ededed7 --- /dev/null +++ b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {AppComponent} from './app.component'; + +describe('AppComponent', () => { + let component: AppComponent; + let fixture: ComponentFixture<AppComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AppComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(AppComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts new file mode 100644 index 000000000..858a8e2a9 --- /dev/null +++ b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts @@ -0,0 +1,46 @@ +import {Component} from '@angular/core'; +import { + NshmpLibNgAboutContentComponent, + NshmpLibNgAboutPageComponent, +} from '@ghsc/nshmp-lib-ng/about'; +import { + ApplicationSections, + NshmpLibNgDashboardComponent, + NshmpLibNgDashboardDescriptionComponent, + NshmpLibNgDashboardTitleComponent, + NshmpLibNgTemplateComponent, +} from '@ghsc/nshmp-lib-ng/nshmp'; +import { + hazardApps, + navigation, +} from 'projects/nshmp-apps/src/shared/utils/navigation.utils'; + +@Component({ + imports: [ + NshmpLibNgTemplateComponent, + NshmpLibNgAboutPageComponent, + NshmpLibNgDashboardComponent, + NshmpLibNgDashboardTitleComponent, + NshmpLibNgDashboardDescriptionComponent, + NshmpLibNgAboutContentComponent, + ], + selector: 'app-app', + standalone: true, + styleUrl: './app.component.scss', + templateUrl: './app.component.html', +}) +export class AppComponent { + /** Navigation list for menu */ + navigationList = navigation(); + + sections: ApplicationSections[] = [ + { + gridClass: 'grid-col-12', + sections: [ + { + applications: hazardApps().map(navigation => ({navigation})), + }, + ], + }, + ]; +} -- GitLab From cf6536d3ba91f6dee38f6798b84b51396704d25f Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 12:17:29 -0700 Subject: [PATCH 3/9] add dash --- projects/nshmp-apps/src/shared/models/applications.model.ts | 2 ++ projects/nshmp-apps/src/shared/utils/applications.utils.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/projects/nshmp-apps/src/shared/models/applications.model.ts b/projects/nshmp-apps/src/shared/models/applications.model.ts index 7645c2953..a61a95a97 100644 --- a/projects/nshmp-apps/src/shared/models/applications.model.ts +++ b/projects/nshmp-apps/src/shared/models/applications.model.ts @@ -89,6 +89,8 @@ export interface GmmApplications { * Hazard applications. */ export interface HazardApplications { + /** Hazard dashboard */ + dashboard: Navigation; /** Disaggregation application */ disagg: Navigation; /** Dynamic hazard calculation application */ diff --git a/projects/nshmp-apps/src/shared/utils/applications.utils.ts b/projects/nshmp-apps/src/shared/utils/applications.utils.ts index 9bd9e93d2..96007c981 100644 --- a/projects/nshmp-apps/src/shared/utils/applications.utils.ts +++ b/projects/nshmp-apps/src/shared/utils/applications.utils.ts @@ -33,6 +33,10 @@ export function apps(): Applications { }, }, hazard: { + dashboard: { + display: 'Hazard Dashboard', + routerLink: '/hazard', + }, disagg: { display: 'Disaggregation', routerLink: '/hazard/disagg', -- GitLab From bf040fb90f31ab5989a9434c974497f3645db921 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 12:18:10 -0700 Subject: [PATCH 4/9] add function --- .../nshmp-apps/src/shared/utils/navigation.utils.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/projects/nshmp-apps/src/shared/utils/navigation.utils.ts b/projects/nshmp-apps/src/shared/utils/navigation.utils.ts index b67ec2629..f612f749b 100644 --- a/projects/nshmp-apps/src/shared/utils/navigation.utils.ts +++ b/projects/nshmp-apps/src/shared/utils/navigation.utils.ts @@ -52,6 +52,13 @@ export function devNavigation(): NavigationList[] { return [...devNavigation]; } +/** + * Returns list of hazard applications. + */ +export function hazardApps(): Navigation[] { + return [APPS.hazard.disagg, APPS.hazard.dynamic, APPS.hazard.static]; +} + /** * Returns the list of ground motion model applications. */ @@ -80,7 +87,8 @@ export function navigation(): NavigationList[] { navigation: [APPS.dashboard], }, { - navigation: mainApps(), + navigation: [APPS.hazard.dashboard, ...hazardApps()], + subHeader: 'Hazard', }, { navigation: sourceModelApps(), @@ -98,6 +106,9 @@ export function navigation(): NavigationList[] { navigation: ncmApps(), subHeader: 'National Crustal Model', }, + { + navigation: [APPS.services], + }, ]; return [...navigation]; -- GitLab From 6626b5b43c2da6a5d772852b7364526a91496d76 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 12:22:26 -0700 Subject: [PATCH 5/9] add providers --- .../src/app/hazard/dashboard/app.component.spec.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts index 39ededed7..10ce8a002 100644 --- a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts +++ b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.spec.ts @@ -1,4 +1,7 @@ +import {provideHttpClient} from '@angular/common/http'; import {ComponentFixture, TestBed} from '@angular/core/testing'; +import {provideNoopAnimations} from '@angular/platform-browser/animations'; +import {provideRouter} from '@angular/router'; import {AppComponent} from './app.component'; @@ -9,6 +12,11 @@ describe('AppComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [AppComponent], + providers: [ + provideHttpClient(), + provideNoopAnimations(), + provideRouter([]), + ], }).compileComponents(); fixture = TestBed.createComponent(AppComponent); -- GitLab From cae83f8e303ddd9148cfb8476bad19b6b8e46415 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 14:11:06 -0700 Subject: [PATCH 6/9] update deps --- package-lock.json | 16 ++++++++-------- package.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9f47f0537..52b2f63e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,8 @@ "@asymmetrik/ngx-leaflet": "^18.0.1", "@compodoc/compodoc": "^1.1.26", "@ghsc/disagg-d3": "^0.13.0", - "@ghsc/nshmp-lib-ng": "^18.23.0", - "@ghsc/nshmp-template": "^18.1.0", + "@ghsc/nshmp-lib-ng": "^18.23.1", + "@ghsc/nshmp-template": "^18.2.0", "@ghsc/nshmp-utils-ts": "^3.12.1", "angular-plotly.js": "^6.0.0", "d3": "^7.9.0", @@ -4632,9 +4632,9 @@ } }, "node_modules/@ghsc/nshmp-lib-ng": { - "version": "18.23.0", - "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-18.23.0.tgz", - "integrity": "sha1-TprRpdO8zTo68ZnCUOdauYkWGJk=", + "version": "18.23.1", + "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-18.23.1.tgz", + "integrity": "sha1-Tl0NKxnzEuNXYg52VYKCLgb5HUw=", "dependencies": { "tslib": "^2.3.0" }, @@ -4644,9 +4644,9 @@ } }, "node_modules/@ghsc/nshmp-template": { - "version": "18.1.0", - "resolved": "https://code.usgs.gov/api/v4/projects/1416/packages/npm/@ghsc/nshmp-template/-/@ghsc/nshmp-template-18.1.0.tgz", - "integrity": "sha1-b6kU+adoQMmNrsHd5ZDLE09X08I=", + "version": "18.2.0", + "resolved": "https://code.usgs.gov/api/v4/projects/1416/packages/npm/@ghsc/nshmp-template/-/@ghsc/nshmp-template-18.2.0.tgz", + "integrity": "sha1-iR13fpkP/V5I6xH2kWTlP8xRLXE=", "dependencies": { "tslib": "^2.3.1" }, diff --git a/package.json b/package.json index 61c922fc5..3f7c8fe03 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "@asymmetrik/ngx-leaflet": "^18.0.1", "@compodoc/compodoc": "^1.1.26", "@ghsc/disagg-d3": "^0.13.0", - "@ghsc/nshmp-lib-ng": "^18.23.0", - "@ghsc/nshmp-template": "^18.1.0", + "@ghsc/nshmp-lib-ng": "^18.23.1", + "@ghsc/nshmp-template": "^18.2.0", "@ghsc/nshmp-utils-ts": "^3.12.1", "angular-plotly.js": "^6.0.0", "d3": "^7.9.0", -- GitLab From bfc0c798d8e5800d45f0ee0db87876bdbd66ae54 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 14:11:12 -0700 Subject: [PATCH 7/9] add option --- projects/nshmp-apps/src/shared/utils/applications.utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/nshmp-apps/src/shared/utils/applications.utils.ts b/projects/nshmp-apps/src/shared/utils/applications.utils.ts index 96007c981..6f08a6257 100644 --- a/projects/nshmp-apps/src/shared/utils/applications.utils.ts +++ b/projects/nshmp-apps/src/shared/utils/applications.utils.ts @@ -36,6 +36,7 @@ export function apps(): Applications { dashboard: { display: 'Hazard Dashboard', routerLink: '/hazard', + showInDashboard: false, }, disagg: { display: 'Disaggregation', -- GitLab From f99ba285d92ba667a225f3663c64f9fa6b341ad1 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 14:11:22 -0700 Subject: [PATCH 8/9] use object values --- .../src/shared/utils/navigation.utils.ts | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/projects/nshmp-apps/src/shared/utils/navigation.utils.ts b/projects/nshmp-apps/src/shared/utils/navigation.utils.ts index f612f749b..d9a6082ad 100644 --- a/projects/nshmp-apps/src/shared/utils/navigation.utils.ts +++ b/projects/nshmp-apps/src/shared/utils/navigation.utils.ts @@ -9,19 +9,14 @@ const DEV_APPS = ApplicationsUtils.devApps(); * Returns the list of design map application. */ export function designMapApps(): Navigation[] { - return [APPS.designMaps.rtgm]; + return Object.values(APPS.designMaps) as Navigation[]; } /** * Returns the list of AWS applications. */ export function devAwsApps(): Navigation[] { - return [ - DEV_APPS.aws.checkHazJobs, - DEV_APPS.aws.hazJobHistory, - DEV_APPS.aws.submitHazJobs, - DEV_APPS.aws.terminateHazJobs, - ]; + return Object.values(DEV_APPS.aws) as Navigation[]; } /** @@ -53,17 +48,17 @@ export function devNavigation(): NavigationList[] { } /** - * Returns list of hazard applications. + * Returns the list of ground motion model applications. */ -export function hazardApps(): Navigation[] { - return [APPS.hazard.disagg, APPS.hazard.dynamic, APPS.hazard.static]; +export function gmmApps(): Navigation[] { + return Object.values(APPS.gmm) as Navigation[]; } /** - * Returns the list of ground motion model applications. + * Returns list of hazard applications. */ -export function gmmApps(): Navigation[] { - return [APPS.gmm.distance, APPS.gmm.magnitude, APPS.gmm.spectra]; +export function hazardApps(): Navigation[] { + return Object.values(APPS.hazard) as Navigation[]; } /** @@ -87,7 +82,7 @@ export function navigation(): NavigationList[] { navigation: [APPS.dashboard], }, { - navigation: [APPS.hazard.dashboard, ...hazardApps()], + navigation: hazardApps(), subHeader: 'Hazard', }, { @@ -118,12 +113,12 @@ export function navigation(): NavigationList[] { * Returns the list of NCM appliations. */ export function ncmApps(): Navigation[] { - return [APPS.ncm.geophysicalProfiles]; + return Object.values(APPS.ncm) as Navigation[]; } /** * Returns the list of source model applicaitons. */ export function sourceModelApps(): Navigation[] { - return [APPS.source.data, APPS.source.mfd, APPS.source.rateAndProbability]; + return Object.values(APPS.source) as Navigation[]; } -- GitLab From 7a0f0328e709d2c8eda639d907e9f4baa93f224b Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 14:14:35 -0700 Subject: [PATCH 9/9] add class --- projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts index 858a8e2a9..4963010c3 100644 --- a/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts +++ b/projects/nshmp-apps/src/app/hazard/dashboard/app.component.ts @@ -35,10 +35,11 @@ export class AppComponent { sections: ApplicationSections[] = [ { - gridClass: 'grid-col-12', + gridClass: 'grid-col-10', sections: [ { applications: hazardApps().map(navigation => ({navigation})), + gridClass: 'grid-col-12 tablet-lg:grid-col-8 grid-offset-1', }, ], }, -- GitLab