File

components/plot-settings-panel/plot-settings-panel.component.ts

Description

Settings for all plots.

Metadata

Index

Properties
Methods

Methods

updatePlot
updatePlot(id: string, plot: NshmpPlot)
Parameters :
Name Type Optional
id string No
plot NshmpPlot No
Returns : void

Properties

plots
Default value : computed<PlotSettingsPlots[]>(() => { const defaultPlots = this.service.plots(); const expanded = false; return [ { defaultPlotSetting: defaultPlots.get(Plots.HAZARD).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.HAZARD), updatePlot: plot => this.updatePlot(Plots.HAZARD, plot), }, { defaultPlotSetting: defaultPlots.get(Plots.HAZARD_DIFFERENCES).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.HAZARD_DIFFERENCES), updatePlot: plot => this.updatePlot(Plots.HAZARD_DIFFERENCES, plot), }, { defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.SPECTRUM), updatePlot: plot => this.updatePlot(Plots.SPECTRUM, plot), }, { defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM_COMPONENTS).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.SPECTRUM_DIFFERENCES), updatePlot: plot => this.updatePlot(Plots.SPECTRUM_DIFFERENCES, plot), }, { defaultPlotSetting: defaultPlots.get(Plots.HAZARD_COMPONENTS).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.HAZARD_COMPONENTS), updatePlot: plot => this.updatePlot(Plots.HAZARD_COMPONENTS, plot), }, { defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM_COMPONENTS).settingsForm.getRawValue(), expanded, plot: defaultPlots.get(Plots.SPECTRUM_COMPONENTS), updatePlot: plot => this.updatePlot(Plots.SPECTRUM_COMPONENTS, plot), }, ]; })
Private service
Default value : inject(AppService)
import {Component, computed, inject} from '@angular/core';
import {
  NshmpPlot,
  NshmpPlotSettingsExpansionPanelComponent,
  PlotSettingsPlots,
} from '@ghsc/nshmp-lib-ng/plot';

import {Plots} from '../../models/state.model';
import {AppService} from '../../services/app.service';

/**
 * Settings for all plots.
 */
@Component({
  imports: [NshmpPlotSettingsExpansionPanelComponent],
  selector: 'app-plot-settings-panel',
  styleUrl: './plot-settings-panel.component.scss',
  templateUrl: './plot-settings-panel.component.html',
})
export class PlotSettingsPanelComponent {
  private service = inject(AppService);

  plots = computed<PlotSettingsPlots[]>(() => {
    const defaultPlots = this.service.plots();
    const expanded = false;

    return [
      {
        defaultPlotSetting: defaultPlots.get(Plots.HAZARD).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.HAZARD),
        updatePlot: plot => this.updatePlot(Plots.HAZARD, plot),
      },
      {
        defaultPlotSetting: defaultPlots.get(Plots.HAZARD_DIFFERENCES).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.HAZARD_DIFFERENCES),
        updatePlot: plot => this.updatePlot(Plots.HAZARD_DIFFERENCES, plot),
      },
      {
        defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.SPECTRUM),
        updatePlot: plot => this.updatePlot(Plots.SPECTRUM, plot),
      },
      {
        defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM_COMPONENTS).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.SPECTRUM_DIFFERENCES),
        updatePlot: plot => this.updatePlot(Plots.SPECTRUM_DIFFERENCES, plot),
      },
      {
        defaultPlotSetting: defaultPlots.get(Plots.HAZARD_COMPONENTS).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.HAZARD_COMPONENTS),
        updatePlot: plot => this.updatePlot(Plots.HAZARD_COMPONENTS, plot),
      },
      {
        defaultPlotSetting: defaultPlots.get(Plots.SPECTRUM_COMPONENTS).settingsForm.getRawValue(),
        expanded,
        plot: defaultPlots.get(Plots.SPECTRUM_COMPONENTS),
        updatePlot: plot => this.updatePlot(Plots.SPECTRUM_COMPONENTS, plot),
      },
    ];
  });

  updatePlot(id: string, plot: NshmpPlot): void {
    const plots = new Map(this.service.plots());
    plots.set(id, plot);
    this.service.updateState({
      plots,
    });
  }
}
<nshmp-plot-settings-expansion-panel [plots]="plots()" />
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""