@equinor/videx-wellog
Version:
Visualisation components for wellbore log data
95 lines (94 loc) • 2.65 kB
TypeScript
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 {};