MAIDR JavaScript API
    Preparing search index...

    Interface ExtremaTarget

    Represents a single extrema target that can be navigated to

    interface ExtremaTarget {
        label: string;
        value: number;
        rankValue?: number;
        pointIndex: number;
        segment: string;
        type: "min" | "max" | "intersection";
        intersectionKind?: "point" | "slope";
        groupIndex?: number;
        categoryIndex?: number;
        navigationType: "group" | "point";
        xValue?: string | number;
        announceName?: boolean;
        intersectingLines?: number[];
        display?: {
            name?: string;
            x?: string;
            y?: string;
            coords?: string;
            otherLines?: string;
        };
    }
    Index

    Properties

    label: string

    Human-readable label for the extrema (e.g., "Max Open", "Min Volatility")

    value: number

    The actual numeric value of the extrema

    rankValue?: number

    What [ and ] rank the target by, when that is not value.

    value is the reading the Go To dialog shows. A parallel coordinates observation crosses axes measured in different units, so its readings are ranked by where each sits on its own axis, from 0 to 1, rather than by which number is largest.

    A place is a quotient, so two readings drawn at one height on axes of different extents can differ in the last bit. Rank values are therefore tied when MathUtil.nearlyEqual says they are, by the trace that lists the targets and by the service that walks them alike.

    pointIndex: number

    Index of the point to navigate to

    segment: string

    Identifier for the segment/group this extrema belongs to

    type: "min" | "max" | "intersection"

    Type of extrema - maximum, minimum, or intersection

    intersectionKind?: "point" | "slope"

    Classification for intersection targets

    groupIndex?: number

    Index of the group this extrema belongs to (for group-based plots)

    categoryIndex?: number

    Index of the category within the group (for group-based plots)

    navigationType: "group" | "point"

    Type of navigation this extrema requires

    xValue?: string | number

    Raw x-axis value for formatting (e.g., timestamp before date conversion)

    announceName?: boolean

    Whether [ and ] say the target's name (display.name) with the point they land on. Set on a target that is not the layer's lowest or highest value but the point its chart is read for in their place -- a ROC curve's best operating point, a precision-recall curve's best F1 -- so that a reader who pressed "Go to Maximum Value" is not left to take it for the curve's highest value. The Go To dialog names every target already.

    intersectingLines?: number[]

    For intersection targets: indices of all lines that intersect at this point Used for multiline plots to track which lines are involved in the intersection

    display?: {
        name?: string;
        x?: string;
        y?: string;
        coords?: string;
        otherLines?: string;
    }

    The parts the Go To dialog composes its line from, so that no consumer has to parse label — a sentence whose word order is the language's.

    Type Declaration

    • Optionalname?: string

      The extremum without its position, translated: "Max Bar", "Row Maximum"

    • Optionalx?: string

      The x value, or category, as label speaks it. The view model swaps in the layer's formatted form when this is xValue written out.

    • Optionaly?: string

      The row a grid cell is on, spoken after x

    • Optionalcoords?: string

      Pre-formatted coordinates string (e.g., "x=1.5, y=2.5", or "x between A and B, y=2.5")

    • OptionalotherLines?: string

      Names of other lines involved (for intersections, excludes current line)