webglimpse
Version:
Webglimpse is a data visualization library for the web.
135 lines (134 loc) • 5.39 kB
TypeScript
import { OrderedSet } from '../util/ordered_set';
import { TimelineEventStyleUi } from './timeline_event_style';
import { TimelineAnnotationStyleUi } from './timeline_annotation_style';
import { SimpleModel, XyModel } from '../misc';
import { Texture2D } from '../texture';
import { Notification, Notification1, Notification2 } from '../util/notification';
import { Pane, PointerEvent } from '../core';
import { TimelineModel, TimelineRowModel, TimelineEventModel, TimelineAnnotationModel, TimelineTimeseriesFragmentModel } from './timeline_model';
import { TimelineRowPaneFactory } from './timeline_row';
export interface TimelineUiOptions {
allowEventMultiSelection?: boolean;
}
export declare class TimelineUi {
private _input;
private _selection;
private _groupUis;
private _rowUis;
private _eventStyles;
private _annotationStyles;
private _millisPerPx;
private _imageStatus;
private _imageCache;
private _dispose;
private _panes;
constructor(model: TimelineModel, options?: TimelineUiOptions);
get input(): TimelineInput;
get selection(): TimelineSelectionModel;
get groupUis(): OrderedSet<TimelineGroupUi>;
groupUi(groupGuid: string): TimelineGroupUi;
get rowUis(): OrderedSet<TimelineRowUi>;
rowUi(rowGuid: string): TimelineRowUi;
get eventStyles(): OrderedSet<TimelineEventStyleUi>;
eventStyle(styleGuid: string): TimelineEventStyleUi;
get annotationStyles(): OrderedSet<TimelineAnnotationStyleUi>;
annotationStyle(styleGuid: string): TimelineAnnotationStyleUi;
get millisPerPx(): SimpleModel<number>;
loadImage(url: string, onLoaded: () => void): Texture2D;
get panes(): OrderedSet<Pane>;
addPane(paneId: string, pane: Pane): void;
removePane(paneId: string): void;
getPane(paneId: string): Pane;
get dispose(): Notification;
}
export declare class TimelineGroupUi {
private _groupGuid;
constructor(groupGuid: string);
get groupGuid(): string;
}
export declare class TimelineRowUi {
private _rowGuid;
private _paneFactoryChanged;
private _paneFactory;
private _panes;
constructor(rowGuid: string);
get rowGuid(): string;
get paneFactoryChanged(): Notification;
get paneFactory(): TimelineRowPaneFactory;
set paneFactory(paneFactory: TimelineRowPaneFactory);
get panes(): OrderedSet<Pane>;
addPane(paneId: string, pane: Pane): void;
removePane(paneId: string): void;
getPane(paneId: string): Pane;
}
export declare class TimelineInput {
private _mouseMove;
private _mouseExit;
private _timeHover;
private _rowHover;
private _eventHover;
private _mouseDown;
private _mouseUp;
private _contextMenu;
get mouseMove(): Notification1<PointerEvent>;
get mouseExit(): Notification1<PointerEvent>;
get timeHover(): Notification2<number, PointerEvent>;
get rowHover(): Notification2<TimelineRowModel, PointerEvent>;
get eventHover(): Notification2<TimelineEventModel, PointerEvent>;
get mouseDown(): Notification1<PointerEvent>;
get mouseUp(): Notification1<PointerEvent>;
get contextMenu(): Notification1<PointerEvent>;
}
export declare class TimelineSelectionModel {
private _mousePos;
private _hoveredY;
private _hoveredTime_PMILLIS;
private _selectedInterval;
private _hoveredRow;
private _hoveredEvent;
private _selectedEvents;
private _hoveredTimeseries;
private _hoveredAnnotation;
get mousePos(): XyModel;
get hoveredY(): SimpleModel<number>;
get hoveredTime_PMILLIS(): SimpleModel<number>;
get selectedInterval(): TimeIntervalModel;
get hoveredRow(): SimpleModel<TimelineRowModel>;
get hoveredEvent(): SimpleModel<TimelineEventModel>;
get selectedEvents(): OrderedSet<TimelineEventModel>;
get hoveredTimeseries(): TimelineTimeseriesFragmentSelectionModel;
get hoveredAnnotation(): SimpleModel<TimelineAnnotationModel>;
}
export declare class TimelineTimeseriesFragmentSelectionModel {
private _fragment;
private _index;
private _changed;
constructor(fragment?: TimelineTimeseriesFragmentModel, index?: number);
setValue(fragment: TimelineTimeseriesFragmentModel, index: number): void;
clearValue(): void;
get fragment(): TimelineTimeseriesFragmentModel;
get index(): number;
get changed(): Notification;
get times_PMILLIS(): number;
get data(): number;
}
export declare class TimeIntervalModel {
private _start_PMILLIS;
private _end_PMILLIS;
private _cursor_PMILLIS;
private _changed;
constructor(start_PMILLIS: number, end_PMILLIS: number, cursor_PMILLIS?: number);
get start_PMILLIS(): number;
get end_PMILLIS(): number;
get cursor_PMILLIS(): number;
get duration_MILLIS(): number;
get changed(): Notification;
set start_PMILLIS(start_PMILLIS: number);
set end_PMILLIS(end_PMILLIS: number);
set cursor_PMILLIS(cursor_PMILLIS: number);
setInterval(start_PMILLIS: number, end_PMILLIS: number, cursor_PMILLIS?: number): void;
overlaps(start_PMILLIS: number, end_PMILLIS: number): boolean;
contains(time_PMILLIS: number): boolean;
pan(amount_MILLIS: number): void;
scale(factor: number, anchor_PMILLIS: number): void;
}