diff --git a/projects/nshmp-apps/src/app/app.routes.ts b/projects/nshmp-apps/src/app/app.routes.ts index 742855da68a5a42b408c46244913e51aa413dffd..5609f45a9e430c15cbbd0c3d7aab1fb006b18ac5 100644 --- a/projects/nshmp-apps/src/app/app.routes.ts +++ b/projects/nshmp-apps/src/app/app.routes.ts @@ -5,6 +5,7 @@ import {devRoutes} from './dev/dev.routes'; import {errorRoutes} from './error-pages/error-pages.routes'; import {gmmRoutes} from './gmm/gmm.routes'; import {hazardRoutes} from './hazard/hazard.routes'; +// import {ncmRoutes} from './ncm/ncm.routes'; import {sourceRoutes} from './source/source.routes'; /** @@ -17,6 +18,11 @@ const routes: Routes = [ import('./dashboard/app.component').then(com => com.AppComponent), path: '', }, + // NCM applications + // { + // children: ncmRoutes(), + // path: 'ncm', + // }, // Design maps applications { children: designMapsRoutes(), diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.html new file mode 100644 index 0000000000000000000000000000000000000000..7b42a2066f03e462b5cd7988f2479fa9f14f278b --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.html @@ -0,0 +1,19 @@ +<nshmp-lib-ng-template [navigationList]="navigationList" [title]="title"> + <nshmp-template-content-container> + <nshmp-template-control-panel> + <app-control-panel /> + </nshmp-template-control-panel> + + <nshmp-template-plot-content> + <app-content /> + </nshmp-template-plot-content> + + <nshmp-template-settings> + <app-plot-settings-panel /> + </nshmp-template-settings> + </nshmp-template-content-container> + + <nshmp-lib-ng-about-page> + <app-about /> + </nshmp-lib-ng-about-page> +</nshmp-lib-ng-template> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..977aba04e3b357d122075a024fc729310d67d245 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.spec.ts @@ -0,0 +1,25 @@ +import {provideHttpClient} from '@angular/common/http'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; +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(), 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/ncm/geophysical-profiles/app.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..c84f4c286838f942acd0357706bc310763a833de --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/app.component.ts @@ -0,0 +1,42 @@ +import {Component} from '@angular/core'; +import {NshmpLibNgAboutPageComponent} from '@ghsc/nshmp-lib-ng/about'; +import {NshmpLibNgTemplateComponent} from '@ghsc/nshmp-lib-ng/nshmp'; +import { + NshmpTemplateContentContainerComponent, + NshmpTemplateControlPanelComponent, + NshmpTemplatePlotContentComponent, + NshmpTemplateSettingsComponent, +} from '@ghsc/nshmp-template'; +import {apps} from 'projects/nshmp-apps/src/shared/utils/applications.utils'; +import {navigation} from 'projects/nshmp-apps/src/shared/utils/navigation.utils'; + +import {AboutComponent} from './components/about/about.component'; +import {ContentComponent} from './components/content/content.component'; +import {ControlPanelComponent} from './components/control-panel/control-panel.component'; +import {PlotSettingsPanelComponent} from './components/plot-settings-panel/plot-settings-panel.component'; + +@Component({ + imports: [ + NshmpLibNgTemplateComponent, + NshmpTemplateControlPanelComponent, + NshmpTemplateContentContainerComponent, + NshmpTemplatePlotContentComponent, + NshmpLibNgAboutPageComponent, + NshmpTemplateSettingsComponent, + ControlPanelComponent, + ContentComponent, + PlotSettingsPanelComponent, + AboutComponent, + ], + selector: 'app-app', + standalone: true, + styleUrl: './app.component.scss', + templateUrl: './app.component.html', +}) +export class AppComponent { + /** Navigation list for menu */ + navigationList = navigation(); + + /** Application title */ + title = apps().ncm.geophysicalProfiles.display; +} diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.html new file mode 100644 index 0000000000000000000000000000000000000000..6094aa9f50aa1d93f83f21960e62169fa49cb1d3 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.html @@ -0,0 +1 @@ +<p>about works!</p> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..bbad86590341eb82f2360796694dd8c002b0c4e3 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {AboutComponent} from './about.component'; + +describe('AboutComponent', () => { + let component: AboutComponent; + let fixture: ComponentFixture<AboutComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AboutComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(AboutComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..69afb87f8271ec60989a45af88e355b96854590f --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/about/about.component.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + +@Component({ + imports: [], + selector: 'app-about', + standalone: true, + styleUrl: './about.component.scss', + templateUrl: './about.component.html', +}) +export class AboutComponent {} diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.html new file mode 100644 index 0000000000000000000000000000000000000000..a8ae2af7634806a9f930db749cc23fbba521d014 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.html @@ -0,0 +1 @@ +<p>content works!</p> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a34d2735270edd3290241f2f464b887722bfe4bf --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {ContentComponent} from './content.component'; + +describe('ContentComponent', () => { + let component: ContentComponent; + let fixture: ComponentFixture<ContentComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ContentComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(ContentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..fabcd4f7d4fa70bf35f9b4dcf74c093cfbea5931 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/content/content.component.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + +@Component({ + imports: [], + selector: 'app-content', + standalone: true, + styleUrl: './content.component.scss', + templateUrl: './content.component.html', +}) +export class ContentComponent {} diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.html new file mode 100644 index 0000000000000000000000000000000000000000..8d8bc210c47b32f6f3464d082a843ef1ed379a08 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.html @@ -0,0 +1 @@ +<p>control-panel works!</p> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..091cbb8ecacb566ae46e32e2eedc27a86fc560b3 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {ControlPanelComponent} from './control-panel.component'; + +describe('ControlPanelComponent', () => { + let component: ControlPanelComponent; + let fixture: ComponentFixture<ControlPanelComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ControlPanelComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(ControlPanelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..fe2e8a48cd32a2412f6beab939b8441fe6df57ee --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/control-panel/control-panel.component.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + +@Component({ + imports: [], + selector: 'app-control-panel', + standalone: true, + styleUrl: './control-panel.component.scss', + templateUrl: './control-panel.component.html', +}) +export class ControlPanelComponent {} diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.html b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.html new file mode 100644 index 0000000000000000000000000000000000000000..8775ecff78297c48171ee6cb44059c5c35067bb9 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.html @@ -0,0 +1 @@ +<p>plot-settings-panel works!</p> diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.scss b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.spec.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..f6ea06ea54f085f0c6effbd6acaab5dc9550fb95 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.spec.ts @@ -0,0 +1,22 @@ +import {ComponentFixture, TestBed} from '@angular/core/testing'; + +import {PlotSettingsPanelComponent} from './plot-settings-panel.component'; + +describe('PlotSettingsPanelComponent', () => { + let component: PlotSettingsPanelComponent; + let fixture: ComponentFixture<PlotSettingsPanelComponent>; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [PlotSettingsPanelComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(PlotSettingsPanelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.ts b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5d03478a56393ad21293558d704065a72184c301 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/geophysical-profiles/components/plot-settings-panel/plot-settings-panel.component.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + +@Component({ + imports: [], + selector: 'app-plot-settings-panel', + standalone: true, + styleUrl: './plot-settings-panel.component.scss', + templateUrl: './plot-settings-panel.component.html', +}) +export class PlotSettingsPanelComponent {} diff --git a/projects/nshmp-apps/src/app/ncm/ncm.routes.ts b/projects/nshmp-apps/src/app/ncm/ncm.routes.ts new file mode 100644 index 0000000000000000000000000000000000000000..b339f3475347653801bcf163954e59191c7a6739 --- /dev/null +++ b/projects/nshmp-apps/src/app/ncm/ncm.routes.ts @@ -0,0 +1,18 @@ +import {Routes} from '@angular/router'; + +const routes: Routes = [ + { + loadComponent: () => + import('./geophysical-profiles/app.component').then( + com => com.AppComponent + ), + path: 'geophysical-profiles', + }, +]; + +/** + * Return NCM application routes. + */ +export function ncmRoutes(): Routes { + return routes; +} diff --git a/projects/nshmp-apps/src/shared/models/applications.model.ts b/projects/nshmp-apps/src/shared/models/applications.model.ts index ed4e1d204cc96d717ed55970a7ab0d1824498617..7645c2953889de74e0ae97eaa1e9684ad420a8cb 100644 --- a/projects/nshmp-apps/src/shared/models/applications.model.ts +++ b/projects/nshmp-apps/src/shared/models/applications.model.ts @@ -12,6 +12,8 @@ export interface Applications { gmm: GmmApplications; /** Hazard applications */ hazard: HazardApplications; + /** NCM applications */ + ncm: NcmApplications; /** Service application */ services: Navigation; /** Source applications */ @@ -31,6 +33,7 @@ export interface AwsApplications { /** Terminate hazard runs applications */ terminateHazJobs: Navigation; } + /** * Development applications navigation config. */ @@ -94,6 +97,14 @@ export interface HazardApplications { static: Navigation; } +/** + * NCM applications. + */ +export interface NcmApplications { + /** Geophysical profiles application */ + geophysicalProfiles: Navigation; +} + /** * Source applications */ diff --git a/projects/nshmp-apps/src/shared/utils/applications.utils.ts b/projects/nshmp-apps/src/shared/utils/applications.utils.ts index d8a4f7388ad0f6123a5fd3e166f09fabd049c120..9bd9e93d27c1abe9fd1c0a888f134e95f8b8bcf5 100644 --- a/projects/nshmp-apps/src/shared/utils/applications.utils.ts +++ b/projects/nshmp-apps/src/shared/utils/applications.utils.ts @@ -46,6 +46,12 @@ export function apps(): Applications { routerLink: '/hazard/static', }, }, + ncm: { + geophysicalProfiles: { + display: 'NCM Geophysical Profiles', + routerLink: '/ncm/geophysical-profiles', + }, + }, services: { display: 'Services', routerLink: '/services',