* Encountered a bug where firstFullSnapshot was played twice because timer was immediately started and reached the snapshot before the setTimeout returned * Ignoring a FullSnapshot needs to be a one-time only thing, as otherwise we'll ignore it after scrubbing (restarting play head at a particular time). This is a problem if mutations have altered the player state, and we try to replay those mutations, so we e.g. try to remove an element that has already been removed because we haven't reset the FullSnapshot state * Some `npm run typings` related fixups
68 lines
2.2 KiB
TypeScript
68 lines
2.2 KiB
TypeScript
import { Timer } from './timer';
|
|
import { createPlayerService, createSpeedService } from './machine';
|
|
import { eventWithTime, playerConfig, playerMetaData, Handler, Mirror } from '../types';
|
|
import './styles/style.css';
|
|
export declare class Replayer {
|
|
wrapper: HTMLDivElement;
|
|
iframe: HTMLIFrameElement;
|
|
service: ReturnType<typeof createPlayerService>;
|
|
speedService: ReturnType<typeof createSpeedService>;
|
|
get timer(): Timer;
|
|
config: playerConfig;
|
|
private mouse;
|
|
private mouseTail;
|
|
private tailPositions;
|
|
private emitter;
|
|
private nextUserInteractionEvent;
|
|
private legacy_missingNodeRetryMap;
|
|
private treeIndex;
|
|
private fragmentParentMap;
|
|
private elementStateMap;
|
|
private imageMap;
|
|
private mirror;
|
|
private firstFullSnapshot;
|
|
private newDocumentQueue;
|
|
constructor(events: Array<eventWithTime | string>, config?: Partial<playerConfig>);
|
|
on(event: string, handler: Handler): this;
|
|
off(event: string, handler: Handler): this;
|
|
setConfig(config: Partial<playerConfig>): void;
|
|
getMetaData(): playerMetaData;
|
|
getCurrentTime(): number;
|
|
getTimeOffset(): number;
|
|
getMirror(): Mirror;
|
|
play(timeOffset?: number): void;
|
|
pause(timeOffset?: number): void;
|
|
resume(timeOffset?: number): void;
|
|
startLive(baselineTime?: number): void;
|
|
addEvent(rawEvent: eventWithTime | string): void;
|
|
enableInteract(): void;
|
|
disableInteract(): void;
|
|
private setupDom;
|
|
private handleResize;
|
|
private getCastFn;
|
|
private rebuildFullSnapshot;
|
|
private insertStyleRules;
|
|
private attachDocumentToIframe;
|
|
private collectIframeAndAttachDocument;
|
|
private waitForStylesheetLoad;
|
|
private preloadAllImages;
|
|
private applyIncremental;
|
|
private applyMutation;
|
|
private applyScroll;
|
|
private applyInput;
|
|
private legacy_resolveMissingNode;
|
|
private moveAndHover;
|
|
private drawMouseTail;
|
|
private hoverElements;
|
|
private isUserInteraction;
|
|
private backToNormal;
|
|
private restoreRealParent;
|
|
private storeState;
|
|
private restoreState;
|
|
private warnNodeNotFound;
|
|
private warnCanvasMutationFailed;
|
|
private debugNodeNotFound;
|
|
private warn;
|
|
private debug;
|
|
}
|