UNPKG

@rcsb/rcsb-saguaro-3d

Version:
37 lines (36 loc) 2.35 kB
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; }