MAIDR Documentation - v3.39.0
    Preparing search index...

    Class AbstractTraceAbstract

    Interface representing a trace with navigation and observation capabilities

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    observers: Observer<TraceState>[]
    id: string
    type: TraceType
    title: string
    xAxis: string
    yAxis: string
    fill: string
    navigationService: NavigationService
    layer: MaidrLayer
    supportsExtrema: boolean

    Abstract property that subclasses must implement to indicate extrema support

    Accessors

    • get isOutOfBounds(): boolean

      Returns boolean

    • set isOutOfBounds(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get state(): TraceState

      Gets the current state of the trace including audio, braille, text, and highlight information.

      Returns TraceState

      The current TraceState

    • get highlightValues(): (SVGElement | SVGElement[])[][] | null

      Returns (SVGElement | SVGElement[])[][] | null

    Methods

    • Gets safe row and column indices to prevent accessing undefined values

      Returns { row: number; col: number }

      Object with safe row and column indices

    • Base implementation of navigation in HIGHER and LOWER modes of ROTOR, default is no-op Needs to be implemented in Line, Bar, Heatmap, Candlestick

      Parameters

      • _direction: "left" | "right" | "up" | "down"
      • _type: "lower" | "higher"

      Returns boolean

    • Parameters

      • a: number

        Utility function to compare point values for rotor functionality

      • b: number
      • type: "lower" | "higher"

      Returns boolean

      boolean value

    • Moves up in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves down in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves left in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Moves right in rotor mode, optionally filtering by lower or higher values.

      Parameters

      • Optional_mode: "lower" | "higher"

        Optional mode for filtering (lower or higher)

      Returns boolean

      Error always - subclasses must override this method

    • Common post-navigation cleanup that should be called by subclasses after they update their internal state

      Returns void

    • Default implementation for updating visual point position Subclasses can override if they need custom positioning logic

      Returns void

    • Checks if this plot supports extrema navigation.

      Returns boolean

      True if extrema navigation is supported

    • Parameters

      • x: number
      • y: number

      Returns { element: SVGElement; row: number; col: number } | null

    • Checks if the specified coordinates are within bounds of the element.

      Parameters

      • x: number

        The x-coordinate

      • y: number

        The y-coordinate

      • element: { element: SVGElement; row: number; col: number }

        Object containing the SVG element and its position

        • element: SVGElement

          The SVG element to check bounds against

        • row: number

          The row position of the element

        • col: number

          The column position of the element

      Returns boolean

      True if the point is in bounds, false otherwise