UNPKG

@rcsb/rcsb-saguaro-3d

Version:
69 lines (68 loc) 4.12 kB
import { AbstractView, AbstractViewInterface } from "../AbstractView"; import { StructureViewerPublicInterface, ViewerActionManagerInterface } from "../../../RcsbFvStructure/StructureViewerInterface"; import { RcsbFvStateInterface } from "../../../RcsbFvState/RcsbFvStateInterface"; import { RcsbFv } from "@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFv"; import { RcsbFvBoardConfigInterface, RcsbFvRowConfigInterface } from "@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFvConfig/RcsbFvConfigInterface"; import { RcsbFvTrackDataElementInterface } from "@rcsb/rcsb-saguaro/lib/RcsbDataManager/RcsbDataManager"; import { ReactNode } from "react"; export type CustomViewStateInterface<R, L> = Omit<Omit<CustomViewInterface<R, L>, "modelChangeCallback">, "structureViewer">; export interface CustomViewInterface<R, L> { blockConfig: FeatureBlockInterface<R, L> | Array<FeatureBlockInterface<R, L>>; blockSelectorElement?: (blockSelector: BlockSelectorManager) => ReactNode; modelChangeCallback?: () => CustomViewStateInterface<R, L>; blockChangeCallback?: (plugin: StructureViewerPublicInterface<R, L>, pfvList: Array<RcsbFv>, stateManager: RcsbFvStateInterface) => void; } export interface FeatureBlockInterface<R, L> { blockId: string; blockTitle?: string; blockShortName?: string; featureViewConfig: Array<FeatureViewInterface<R, L>> | FeatureViewInterface<R, L>; } export interface FeatureViewInterface<R, L> { boardId?: string; boardConfig: RcsbFvBoardConfigInterface; rowConfig: Array<RcsbFvRowConfigInterface>; sequenceSelectionChangeCallback: (plugin: StructureViewerPublicInterface<R, L>, stateManager: RcsbFvStateInterface, sequenceRegion: Array<RcsbFvTrackDataElementInterface>) => void; sequenceElementClickCallback: (plugin: StructureViewerPublicInterface<R, L>, stateManager: RcsbFvStateInterface, d?: RcsbFvTrackDataElementInterface) => void; sequenceHoverCallback: (plugin: StructureViewerPublicInterface<R, L>, stateManager: RcsbFvStateInterface, hoverRegion: Array<RcsbFvTrackDataElementInterface>) => void; structureSelectionCallback: (plugin: StructureViewerPublicInterface<R, L>, pfv: RcsbFv, stateManager: RcsbFvStateInterface) => void; structureHoverCallback: (plugin: StructureViewerPublicInterface<R, L>, pfv: RcsbFv, stateManager: RcsbFvStateInterface) => void; } export declare class BlockSelectorManager { private blockId; private previousBlockId; private readonly blockChangeCallback; constructor(f: () => void); setActiveBlock(blockId: string): void; getActiveBlock(): string; getPreviousBlock(): string; } export declare class CustomView<R, L> extends AbstractView<CustomViewInterface<R, L> & { structureViewer: ViewerActionManagerInterface<R, L>; }, CustomViewStateInterface<R, L>> { private blockViewSelector; private boardMap; private blockMap; private rcsbFvMap; private firstModelLoad; private innerSelectionFlag; private updateContext; readonly state: CustomViewStateInterface<R, L>; constructor(props: CustomViewInterface<R, L> & { structureViewer: ViewerActionManagerInterface<R, L>; } & AbstractViewInterface); componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly<CustomViewInterface<R, L> & AbstractViewInterface>, prevState: Readonly<CustomViewStateInterface<R, L>>, snapshot?: any): void; private mapBlocks; private blockChange; private unmountBlockFv; private buildBlockFv; structureSelectionCallback(): void; structureHoverCallback(): void; representationChangeCallback(): void; additionalContent(): ReactNode; modelChangeCallback(): void; setState<K extends keyof CustomViewStateInterface<R, L>>(state: ((prevState: Readonly<CustomViewStateInterface<R, L>>, props: Readonly<CustomViewInterface<R, L> & AbstractViewInterface>) => (Pick<CustomViewStateInterface<R, L>, K> | CustomViewStateInterface<R, L> | null)) | Pick<CustomViewStateInterface<R, L>, K> | CustomViewStateInterface<R, L> | null, callback?: () => void): void; updateDimensions(): void; }