File

components/connected-applications/connected-applications.component.ts

Metadata

Index

Properties
Methods

Methods

Private magnitudeParams
magnitudeParams()
Returns : Params
Private spectraParams
spectraParams()
Returns : Params

Properties

connectedApplications
Type : ConnectedApplication[]
Default value : [ { application: apps().gmm.magnitude, description: 'Open the Ground Motion vs. Magnitude application using the current controls inputs', queryParams: () => this.magnitudeParams(), }, { application: apps().gmm.spectra, description: 'Open the Reponse Spectra application using the current controls inputs', queryParams: () => this.spectraParams(), }, ]
Private formGroup
Default value : this.service.formGroup
Private service
Default value : inject(AppService)
import {ChangeDetectionStrategy, Component, inject} from '@angular/core';
import {Params} from '@angular/router';
import {GmmAppQuery, GmmAppQueryImt, gmmUtils} from '@ghsc/nshmp-lib-ng/gmm';
import {ConnectedApplication, NshmpConnectedApplicationsComponent} from '@ghsc/nshmp-lib-ng/nshmp';
import {apps} from 'projects/nshmp-apps/src/shared/utils/applications.utils';

import {AppService} from '../../services/app.service';

@Component({
  changeDetection: ChangeDetectionStrategy.OnPush,
  imports: [NshmpConnectedApplicationsComponent],
  selector: 'app-connected-applications',
  styleUrl: './connected-applications.component.scss',
  templateUrl: './connected-applications.component.html',
})
export class ConnectedApplicationsComponent {
  private service = inject(AppService);

  private formGroup = this.service.formGroup;

  connectedApplications: ConnectedApplication[] = [
    {
      application: apps().gmm.magnitude,
      description:
        'Open the Ground Motion vs. Magnitude application using the current controls inputs',
      queryParams: () => this.magnitudeParams(),
    },
    {
      application: apps().gmm.spectra,
      description: 'Open the Reponse Spectra application using the current controls inputs',
      queryParams: () => this.spectraParams(),
    },
  ];

  private magnitudeParams(): Params {
    const values = this.formGroup.getRawValue();

    const params: Partial<GmmAppQueryImt> = {
      dampingMulti: values.dampingMulti?.toString(),
      dip: values.dip?.toString(),
      gmm: gmmUtils.gmmSourceToQuery(values.gmmSource),
      gmmGroupType: values.gmmGroupType,
      imt: values.imt,
      multiSelectableParam: values.multiSelectableParam,
      showEpistemicUncertainty: values.showEpistemicUncertainty?.toString(),
      vs30: values.vs30?.toString(),
      vs30Multi: values?.vs30Multi?.toString(),
      width: values.width?.toString(),
      z1p0: values.z1p0?.toString(),
      z2p5: values.z2p5?.toString(),
      zSed: values?.zSed?.toString(),
      zTor: values.zTor?.toString(),
    };

    return params;
  }

  private spectraParams(): Params {
    const values = this.formGroup.getRawValue();

    const params: Partial<GmmAppQuery> = {
      dampingMulti: values.dampingMulti?.toString(),
      dip: values.dip?.toString(),
      gmm: gmmUtils.gmmSourceToQuery(values.gmmSource),
      gmmGroupType: values.gmmGroupType,
      multiSelectableParam: values.multiSelectableParam,
      Mw: values.Mw?.toString(),
      MwMulti: values.MwMulti?.toString(),
      showEpistemicUncertainty: values.showEpistemicUncertainty?.toString(),
      vs30: values.vs30?.toString(),
      vs30Multi: values?.vs30Multi?.toString(),
      width: values.width?.toString(),
      z1p0: values.z1p0?.toString(),
      z2p5: values.z2p5?.toString(),
      zSed: values?.zSed?.toString(),
      zTor: values.zTor?.toString(),
    };

    return params;
  }
}
<nshmp-connected-applications [applications]="connectedApplications" />
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""