@deltares/fews-web-oc-charts
Version:
FEWS Chart Library
61 lines (60 loc) • 1.95 kB
TypeScript
import { Axes } from '../Axes/axes.js';
import { CartesianAxes } from '../index.js';
import { Visitor } from './visitor.js';
export declare enum MouseOverDirection {
Horizontal = "horizontal",
Vertical = "vertical"
}
interface MouseOverOptions {
trace?: string[];
numberFormatter?: (value: number, extent?: [number, number]) => string;
direction?: MouseOverDirection;
}
export declare class MouseOver implements Visitor {
private trace;
private group;
private axes;
private mouseGroup;
private readonly customNumberFormatter;
private readonly direction;
private isTouchLocked;
private lastPointerType;
private pendingMouse;
private frameId;
constructor(options?: MouseOverOptions);
setTrace(trace: string[] | undefined): void;
private directionStrategy;
private resolvedTraces;
private createMouseLinePath;
private setLineVisibility;
private setValueLabelVisibility;
private updateGuideLineAndValue;
private tooltipBaseX;
private directionKeys;
private pointerValue;
private buildTooltipContent;
private setChartsPointerState;
private forEachActiveTraceChart;
private collectTooltipSpans;
private handlePointerMove;
private handleTouchPointerDown;
visit(axes: Axes): void;
create(axes: CartesianAxes): void;
private scheduleUpdate;
private cancelScheduledUpdate;
onPointerdown(event: PointerEvent): void;
onPointerout(): void;
onPointerover(): void;
updateChartIndicators(mouse: [number, number]): void;
update(mouse: [number, number]): void;
updateXLine(xPos: number): void;
updateXValue(xPos: number): void;
updateYLine(yPos: number): void;
updateYValue(yPos: number): void;
updateTooltip(spanElements: HTMLSpanElement[], mouse: [number, number]): void;
private getEdgeAwareTooltipPlacement;
private xText;
private yText;
redraw(): void;
}
export {};