File

src/pages/dataPortal/modules/graphPanel/traceSelector/reusableYAxes.pipe.ts

Metadata

Methods

Private getReusableYAxes
getReusableYAxes(trace: Trace, selectedTraces: Record<string | Trace>)

Returns any current YAxis objects that can be re-used by the passed in Trace.

Parameters :
Name Type Optional
trace Trace No
selectedTraces Record<string | Trace> No
Returns : Array<YAxis>
transform
transform(selectedTraces: Record<string | Trace>, trace: Trace)
Parameters :
Name Type Optional
selectedTraces Record<string | Trace> No
trace Trace No
Returns : Array<YAxis>
import { Pipe, PipeTransform } from '@angular/core';
import { Trace } from '../objects/trace';
import { YAxis } from '../objects/yAxis';

@Pipe({
  name: 'reusableYAxes',
})
export class ReusableYAxesPipe implements PipeTransform {
  transform(
    selectedTraces: Record<string, Trace>,
    trace: Trace,
  ): Array<YAxis> {
    return this.getReusableYAxes(trace, selectedTraces);
  }

  /** Returns any current {@link YAxis} objects that can be re-used by the passed in {@link Trace}. */
  private getReusableYAxes(trace: Trace, selectedTraces: Record<string, Trace>): Array<YAxis> {
    const axes = ((null == selectedTraces) || (null == trace))
      ? new Array<YAxis>()
      : Object.values(selectedTraces).map((thisTrace: Trace) => {
        return ((null != thisTrace.yAxis) && (trace.yUnit === thisTrace.yAxis.unit))
          ? thisTrace.yAxis
          : null;
      })
        .filter(yAxis => (null != yAxis)) // filter nulls
        .filter((yAxis: YAxis, index: number, array: Array<YAxis>) => {
          // filter to make unique
          return (array.indexOf(yAxis) === index);
        });
    return axes as Array<YAxis>;
  }
}

results matching ""

    No results matching ""