1. add a liveMode flag to config, when liveMode is set, the timer will keep running even though all the actions casted 2. add a public method addEvent, which will cast newly added event in sync 3. move mouse in sync mode with the latest position info
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import Timer from './timer';
|
|
import { eventWithTime, playerConfig, playerMetaData } from '../types';
|
|
import './styles/style.css';
|
|
export declare class Replayer {
|
|
wrapper: HTMLDivElement;
|
|
iframe: HTMLIFrameElement;
|
|
timer: Timer;
|
|
private events;
|
|
private config;
|
|
private mouse;
|
|
private emitter;
|
|
private baselineTime;
|
|
private lastPlayedEvent;
|
|
private nextUserInteractionEvent;
|
|
private noramlSpeed;
|
|
private missingNodeRetryMap;
|
|
constructor(events: eventWithTime[], config?: Partial<playerConfig>);
|
|
on(event: string, handler: mitt.Handler): void;
|
|
setConfig(config: Partial<playerConfig>): void;
|
|
getMetaData(): playerMetaData;
|
|
getTimeOffset(): number;
|
|
play(timeOffset?: number): void;
|
|
pause(): void;
|
|
resume(timeOffset?: number): void;
|
|
addEvent(event: eventWithTime): void;
|
|
private setupDom;
|
|
private handleResize;
|
|
private getDelay;
|
|
private getCastFn;
|
|
private rebuildFullSnapshot;
|
|
private waitForStylesheetLoad;
|
|
private applyIncremental;
|
|
private resolveMissingNode;
|
|
private moveAndHover;
|
|
private hoverElements;
|
|
private isUserInteraction;
|
|
private restoreSpeed;
|
|
private warnNodeNotFound;
|
|
private debugNodeNotFound;
|
|
}
|