123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import {DataContainer} from "../../../Utils/DataContainer";
- import {
- RcsbFvAdditionalConfig,
- RcsbFvModulePublicInterface
- } from "@rcsb/rcsb-saguaro-app/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface";
- import {
- OperatorInfo,
- ViewerCallbackManagerInterface, ViewerActionManagerInterface
- } from "../../../RcsbFvStructure/StructureViewerInterface";
- import {RcsbFvBoardConfigInterface} from "@rcsb/rcsb-saguaro";
- import {RcsbFvStateManager} from "../../../RcsbFvState/RcsbFvStateManager";
- export interface PfvManagerFactoryConfigInterface<R,U> {
- rcsbFvDivId: string;
- rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>;
- stateManager: RcsbFvStateManager;
- structureViewer: ViewerCallbackManagerInterface & ViewerActionManagerInterface <R>;
- boardConfigContainer: DataContainer<Partial<RcsbFvBoardConfigInterface>>;
- pfvChangeCallback(context: U): Promise<void>;
- additionalConfig: RcsbFvAdditionalConfig & {operatorChangeCallback?:(operatorInfo: OperatorInfo)=>void} | undefined;
- }
- export interface PfvManagerFactoryInterface<T,R,U> {
- getPfvManager(config:T & PfvManagerFactoryConfigInterface<R,U>): PfvManagerInterface;
- }
- export interface BuildPfvInterface {
- defaultAuthId?: string;
- defaultOperatorName?:string;
- }
- export interface PfvManagerInterface {
- create(config?: BuildPfvInterface): Promise<RcsbFvModulePublicInterface | undefined>;
- }
- export abstract class AbstractPfvManager<T,R,U> implements PfvManagerInterface {
- protected readonly rcsbFvDivId: string;
- protected readonly rcsbFvContainer: DataContainer<RcsbFvModulePublicInterface>;
- protected readonly stateManager: RcsbFvStateManager;
- protected readonly structureViewer: ViewerCallbackManagerInterface & ViewerActionManagerInterface <R>;
- 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<R,U>){
- this.rcsbFvDivId = config.rcsbFvDivId;
- this.rcsbFvContainer = config.rcsbFvContainer;
- this.stateManager = config.stateManager;
- this.structureViewer = config.structureViewer;
- this.additionalConfig = config.additionalConfig;
- this.boardConfigContainer = config.boardConfigContainer;
- this.pfvChangeCallback = config.pfvChangeCallback;
- }
- public abstract create(config?: BuildPfvInterface): Promise<RcsbFvModulePublicInterface | undefined>;
- }
|