viz.core.InteractiveCanvasOptions
export interface InteractiveCanvasOptions {
/** Enable zoom (default: true) */
enableZoom?: boolean;
/** Enable pan (default: true) */
enablePan?: boolean;
/** Enable tooltips (default: true) */
enableTooltips?: boolean;
/** Enable selection (default: false) */
enableSelection?: boolean;
/** Minimum scale (default: 0.1) */
minScale?: number;
/** Maximum scale (default: 10) */
maxScale?: number;
/** Zoom speed (default: 0.1) */
zoomSpeed?: number;
/** Callback when view changes */
onViewChange?: (transform: ViewTransform) => void;
/** Callback for hover events */
onHover?: (x: number, y: number, dataX: number, dataY: number) => TooltipData | null;
/** Callback when selection changes */
onSelect?: (selection: SelectionRect | null) => void;
/** Callback when selection completes */
onSelectionComplete?: (selection: SelectionRect) => void;
/** Callback for click events */
onClick?: (data: ClickData) => void;
/** Callback for right-click/context menu events */
onContextMenu?: (data: ClickData) => void;
}enableZoom(boolean)optional- – Enable zoom (default: true)
enablePan(boolean)optional- – Enable pan (default: true)
enableTooltips(boolean)optional- – Enable tooltips (default: true)
enableSelection(boolean)optional- – Enable selection (default: false)
minScale(number)optional- – Minimum scale (default: 0.1)
maxScale(number)optional- – Maximum scale (default: 10)
zoomSpeed(number)optional- – Zoom speed (default: 0.1)
onViewChange((transform: ViewTransform) => void)optional- – Callback when view changes
onHover((x: number, y: number, dataX: number, dataY: number) => TooltipData | null)optional- – Callback for hover events
onSelect((selection: SelectionRect | null) => void)optional- – Callback when selection changes
onSelectionComplete((selection: SelectionRect) => void)optional- – Callback when selection completes
onClick((data: ClickData) => void)optional- – Callback for click events
onContextMenu((data: ClickData) => void)optional- – Callback for right-click/context menu events