UNPKG

@equinor/videx-wellog

Version:

Visualisation components for wellbore log data

95 lines (94 loc) 2.65 kB
import Track from './track'; import { Scale, Domain } from '../common/interfaces'; import { LegendConfig } from '../utils/legend-helper'; export interface Transform { x: number; y: number; k: number; } interface TrackEvent { [propType: string]: any; } export interface OnMountEvent extends TrackEvent { elm: HTMLElement; scale: Scale; } export interface OnUnmountEvent { elm?: HTMLElement; } export interface OnUpdateEvent extends TrackEvent { elm: HTMLElement; scale?: Scale; } export interface OnRescaleEvent extends TrackEvent { scale?: Scale; domain?: Domain; transform?: Transform; } export interface TrackOptions { /** * Label to use in title if used with TrackGroup */ label?: string; /** * Tooltip to show when mouse hovers over track title if used with TrackGroup */ tooltip?: string; /** * Short label to use in title if used with TrackGroup */ abbr?: string; /** * An optional loader element that will be made visible during loading */ loader?: Element; /** * A config object used to display track legend if used with LogController */ legendConfig?: LegendConfig; /** * Orientation of track. Default is false or unset (vertical). */ horizontal?: boolean; /** * Relative track width when used in a LogController, i.e. a track with width set to * 3 will be three times wider than tracks set to width 1. */ width?: number; /** * Max width of track in pixels */ maxWidth?: number; /** * Hook when track is mounted to the DOM * @param event event data * @param track track instance reference */ onMount?(event: OnMountEvent, track: Track): void; /** * Hook when track is unmounted from the DOM * @param event event data * @param track track instance reference */ onUnmount?(event: OnUnmountEvent, track: Track): void; /** * Hook when track is updated in the DOM model. * @param event event data * @param track track instance reference */ onUpdate?(event: OnUpdateEvent, track: Track): void; /** * Hook when track is being rescaled, for example from user interaction * if used with a LogController. * @param event event data * @param track track instance reference */ onRescale?(event: OnRescaleEvent, track: Track): void; /** * Hook if a track is set in an error state * @param event event data * @param track track instance reference */ onError?(error: Error | string, track: Track): void; } export {};