@rcsb/rcsb-saguaro
Version:
RCSB 1D Feature Viewer
70 lines (69 loc) • 2.7 kB
TypeScript
import { RcsbD3Manager } from "./RcsbD3/RcsbD3Manager";
import { RcsbFvContextManager } from "../RcsbFv/RcsbFvContextManager/RcsbFvContextManager";
import { RcsbDisplayInterface } from "./RcsbDisplay/RcsbDisplayInterface";
import { RcsbFvTrackDataElementInterface } from "../RcsbDataManager/RcsbDataManager";
import { RcsbSelection } from "./RcsbSelection";
import { Subject } from "rxjs";
import { RcsbScaleInterface } from "./RcsbD3/RcsbD3ScaleFactory";
export interface LocationViewInterface {
from: number;
to: number;
}
export declare class RcsbBoard {
readonly d3Manager: RcsbD3Manager;
private readonly domId;
private readonly boardDiv;
private _width;
private _bgColor;
private _innerPadding;
private tracks;
private highlightHoverElementFlag;
private readonly selection;
private readonly _xScale;
private limits;
private currentLocationView;
private updateTask;
private updateDelay;
private upToDate;
private isIntersecting;
private zoomEventHandler;
private readonly boardSubject;
private readonly mouseHoverSubject;
readonly elementClickSubject: Subject<{
d?: RcsbFvTrackDataElementInterface;
e?: MouseEvent;
}>;
private readonly contextManager;
private readonly scrollEvent;
constructor(elementId: string, xScale: RcsbScaleInterface, selection: RcsbSelection, contextManager: RcsbFvContextManager);
removeScrollEvent(): void;
private addSVG;
private addMainG;
setElementClickCallback(f: (d?: RcsbFvTrackDataElementInterface, e?: MouseEvent) => void): void;
setHighlightHoverPosition(): void;
addHoverCallback(f: (n: Array<RcsbFvTrackDataElementInterface>) => void): void;
setRange(from: number, to: number): void;
setSelection(boardId: string, mode: 'select' | 'hover'): void;
highlightRegion(d: RcsbFvTrackDataElementInterface | null, operation: 'set' | 'add' | 'replace-last', mode: 'select' | 'hover', propFlag?: boolean): void;
private moveSelection;
startBoard(): void;
private startTracks;
reset(): void;
setHighlightHoverElement(flag: boolean): void;
private addHighlightHoverElement;
addTrack(track: RcsbDisplayInterface | Array<RcsbDisplayInterface>, options?: {}): void;
private addTrackCallbacks;
private setBoardHeight;
setBoardWidth(w: number): void;
private setLocation;
private updateAllTracks;
private moveAllTracks;
xScale(): RcsbScaleInterface;
private moveBoard;
private updateAndMove;
private updateWithDelay;
setScale(domId: string): void;
getSelection(): RcsbSelection;
private triggerScaleEvent;
private triggerSelectionEvent;
}