From a2f34e1bd3ff56ba60d0add255aec9eff6ee1882 Mon Sep 17 00:00:00 2001 From: Brandon Clayton <bclayton@usgs.gov> Date: Tue, 26 Nov 2024 15:08:16 -0700 Subject: [PATCH] add design map dashboard --- .../designmaps/dashboard/app.component.html | 19 ++++++++ .../designmaps/dashboard/app.component.scss | 0 .../dashboard/app.component.spec.ts | 30 ++++++++++++ .../app/designmaps/dashboard/app.component.ts | 47 +++++++++++++++++++ .../src/app/designmaps/design-maps.routes.ts | 5 ++ 5 files changed, 101 insertions(+) create mode 100644 projects/nshmp-apps/src/app/designmaps/dashboard/app.component.html create mode 100644 projects/nshmp-apps/src/app/designmaps/dashboard/app.component.scss create mode 100644 projects/nshmp-apps/src/app/designmaps/dashboard/app.component.spec.ts create mode 100644 projects/nshmp-apps/src/app/designmaps/dashboard/app.component.ts diff --git a/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.html b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.html new file mode 100644 index 000000000..1a7c48e65 --- /dev/null +++ b/projects/nshmp-apps/src/app/designmaps/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 /> + Design Map 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/designmaps/dashboard/app.component.scss b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.spec.ts b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.spec.ts new file mode 100644 index 000000000..10ce8a002 --- /dev/null +++ b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.spec.ts @@ -0,0 +1,30 @@ +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'; + +describe('AppComponent', () => { + let component: AppComponent; + let fixture: ComponentFixture<AppComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AppComponent], + providers: [ + provideHttpClient(), + provideNoopAnimations(), + provideRouter([]), + ], + }).compileComponents(); + + fixture = TestBed.createComponent(AppComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.ts b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.ts new file mode 100644 index 000000000..fbc4ee08a --- /dev/null +++ b/projects/nshmp-apps/src/app/designmaps/dashboard/app.component.ts @@ -0,0 +1,47 @@ +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 { + designMapApps, + 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-10', + sections: [ + { + applications: designMapApps().map(navigation => ({navigation})), + gridClass: 'grid-col-12 tablet-lg:grid-col-8 grid-offset-1', + }, + ], + }, + ]; +} diff --git a/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts b/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts index f6c3e3cbd..ab715b048 100644 --- a/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts +++ b/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts @@ -1,6 +1,11 @@ import {Routes} from '@angular/router'; const routes: Routes = [ + { + loadComponent: () => + import('./dashboard/app.component').then(com => com.AppComponent), + path: '', + }, { loadComponent: () => import('./rtgm/app.component').then(com => com.AppComponent), -- GitLab