UNPKG

@rcsb/rcsb-saguaro-3d

Version:
38 lines (37 loc) 2.09 kB
import { DataContainer } from "../../../Utils/DataContainer"; import { RcsbFvAdditionalConfig, RcsbFvModulePublicInterface } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface"; import { OperatorInfo } from "../../../RcsbFvStructure/StructureViewerInterface"; import { RcsbFvStateInterface } from "../../../RcsbFvState/RcsbFvStateInterface"; import { RcsbFvBoardConfigInterface } from "@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFvConfig/RcsbFvConfigInterface"; export interface PfvManagerFactoryConfigInterface<U> { rcsbFvDivId: string; rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>; stateManager: RcsbFvStateInterface; boardConfigContainer: DataContainer<Partial<RcsbFvBoardConfigInterface>>; pfvChangeCallback(context: U): Promise<void>; additionalConfig: (RcsbFvAdditionalConfig & { operatorChangeCallback?: (operatorInfo: OperatorInfo) => void; }) | undefined; } export interface PfvManagerFactoryInterface<T, U> { getPfvManager(config: T & PfvManagerFactoryConfigInterface<U>): PfvManagerInterface; } export interface BuildPfvInterface { defaultAsymId?: string; defaultOperatorName?: string; } export interface PfvManagerInterface { create(config?: BuildPfvInterface): Promise<RcsbFvModulePublicInterface | undefined>; } export declare abstract class AbstractPfvManager<T, U> implements PfvManagerInterface { protected readonly rcsbFvDivId: string; protected readonly rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>; protected readonly stateManager: RcsbFvStateInterface; protected readonly boardConfigContainer: DataContainer<Partial<RcsbFvBoardConfigInterface>>; protected readonly pfvChangeCallback: (context: U) => Promise<void>; protected readonly additionalConfig: (RcsbFvAdditionalConfig & { operatorChangeCallback?: (operatorInfo: OperatorInfo) => void; }) | undefined; protected constructor(config: T & PfvManagerFactoryConfigInterface<U>); abstract create(config?: BuildPfvInterface): Promise<RcsbFvModulePublicInterface | undefined>; }