webglimpse
Version:
Webglimpse is a data visualization library for the web.
72 lines (71 loc) • 2.95 kB
TypeScript
import { TimelineUi } from './timeline_ui';
import { TimelineRowModel, TimelineModel, TimelineEventModel } from './timeline_model';
export declare class TimelineLaneArray {
private _ui;
private _row;
private _lanes;
private _laneNums;
private _rebuildLanesMouseWheel;
private _rebuildLanes;
private _newEvent;
private _addEvent;
private _removeEvent;
private _model;
private _eventAttrsListeners;
constructor(model: TimelineModel, row: TimelineRowModel, ui: TimelineUi, allowMultipleLanes: boolean);
get length(): number;
lane(index: number): TimelineLane;
get numEvents(): number;
eventAt(laneNum: number, time_PMILLIS: number): TimelineEventModel;
dispose(): void;
}
export declare function effectiveEdges_PMILLIS(ui: TimelineUi, event: TimelineEventModel): number[];
export interface TimelineLane {
length: number;
event(index: number): TimelineEventModel;
isEmpty(): boolean;
eventAtTime(time_PMILLIS: number): TimelineEventModel;
add(event: TimelineEventModel): void;
remove(event: TimelineEventModel): void;
eventStillFits(event: TimelineEventModel): boolean;
update(event: TimelineEventModel): void;
collisionsWithInterval(start_PMILLIS: number, end_PMILLIS: number): TimelineEventModel[];
couldFitEvent(event: TimelineEventModel): boolean;
}
export declare class TimelineLaneStack implements TimelineLane {
private _events;
private _starts_PMILLIS;
private _ends_PMILLIS;
private _indices;
private _ui;
constructor(ui: TimelineUi);
get length(): number;
event(index: number): TimelineEventModel;
isEmpty(): boolean;
eventAtTime(time_PMILLIS: number): TimelineEventModel;
add(event: TimelineEventModel): void;
remove(event: TimelineEventModel): void;
eventStillFits(event: TimelineEventModel): boolean;
update(event: TimelineEventModel): void;
collisionsWithInterval(start_PMILLIS: number, end_PMILLIS: number): TimelineEventModel[];
couldFitEvent(event: TimelineEventModel): boolean;
_eventFitsBetween(event: TimelineEventModel, iBefore: number, iAfter: number): boolean;
}
export declare class TimelineLaneSimple implements TimelineLane {
private _events;
private _orders;
private _ids;
private _ui;
constructor(ui: TimelineUi);
get length(): number;
event(index: number): TimelineEventModel;
isEmpty(): boolean;
eventAtTime(time_PMILLIS: number): TimelineEventModel;
add(event: TimelineEventModel): void;
remove(event: TimelineEventModel): void;
update(event: TimelineEventModel): void;
collisionsWithInterval(start_PMILLIS: number, end_PMILLIS: number): TimelineEventModel[];
eventStillFits(event: TimelineEventModel): boolean;
couldFitEvent(event: TimelineEventModel): boolean;
_getIndex(queryEvent: TimelineEventModel): number;
}