@rcsb/rcsb-saguaro-3d
Version:
RCSB Molstar/Saguaro Web App
37 lines (36 loc) • 2.35 kB
TypeScript
import { DataContainer } from "../../../Utils/DataContainer";
import { RcsbFvModulePublicInterface } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface";
import { PfvManagerInterface } from "./PfvManagerFactoryInterface";
import { RcsbFvStateInterface } from "../../../RcsbFvState/RcsbFvStateInterface";
import { RcsbFvTrackDataElementInterface } from "@rcsb/rcsb-saguaro/lib/RcsbDataManager/RcsbDataManager";
export interface CallbackManagerInterface<U> {
structureViewerSelectionCallback(mode: 'select' | 'hover'): Promise<void>;
featureClickCallback(e?: RcsbFvTrackDataElementInterface): void;
highlightHoverCallback(selection: RcsbFvTrackDataElementInterface[]): void;
pfvSelectionChangeCallback(selection: Array<RcsbFvTrackDataElementInterface>): void;
modelChangeCallback(defaultAsymId?: string, defaultOperatorName?: string): Promise<void>;
pfvChangeCallback(args: U): Promise<void>;
}
export interface CallbackManagerFactoryInterface<U> {
getCallbackManager(config: CallbackConfigInterface): CallbackManagerInterface<U>;
}
export interface CallbackConfigInterface {
rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>;
stateManager: RcsbFvStateInterface;
pfvFactory: PfvManagerInterface;
}
export declare abstract class AbstractCallbackManager<U> implements CallbackManagerInterface<U> {
protected readonly rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>;
protected readonly stateManager: RcsbFvStateInterface;
protected pfvFactory: PfvManagerInterface;
private readonly isInnerSelection;
constructor(config: CallbackConfigInterface);
structureViewerSelectionCallback(mode: 'select' | 'hover'): Promise<void>;
pfvSelectionChangeCallback(selection: Array<RcsbFvTrackDataElementInterface>): void;
abstract featureClickCallback(e: RcsbFvTrackDataElementInterface): void;
abstract highlightHoverCallback(selection: RcsbFvTrackDataElementInterface[]): void;
abstract modelChangeCallback(defaultAsymId?: string, defaultOperatorName?: string): Promise<void>;
abstract pfvChangeCallback(args: U): Promise<void>;
protected abstract innerStructureViewerSelectionChange(mode: "select" | "hover"): Promise<void>;
protected abstract innerPfvSelectionChange(selection: Array<RcsbFvTrackDataElementInterface>): void;
}