UNPKG

@rcsb/rcsb-saguaro-3d

Version:
65 lines 3.85 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { RcsbFv3DAbstract } from "./RcsbFv3DAbstract"; import uniqid from "uniqid"; import { LoadMethod } from "../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarActionManager"; import { StructureViewer } from "../RcsbFvStructure/StructureViewers/StructureViewer"; import { MolstarManagerFactory } from "../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarManagerFactory"; import { MsaCallbackManagerFactory } from "../RcsbFvSequence/SequenceViews/RcsbView/CallbackManagerFactoryImplementation/MsaCallbackManager"; import { RcsbFvStructure } from "../RcsbFvStructure/RcsbFvStructure"; import { MolstarAlignmentLoader } from "../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarAlignmentLoader"; import { MsaBehaviourObserver } from "../RcsbFvStructure/StructureViewerBehaviour/MsaBehaviour"; import { HelpLinkComponent } from "../RcsbFvSequence/SequenceViews/RcsbView/Components/HelpLinkComponent"; import { DataContainer } from "../Utils/DataContainer"; import { MsaPfvManagerFactory } from "../RcsbFvSequence/SequenceViews/RcsbView/PfvManagerFactoryImplementation/MsaPfvManagerFactory"; import { MolstarTools } from "../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarTools"; var getModelIdFromTrajectory = MolstarTools.getModelIdFromTrajectory; import { AlignmentProviderBehaviour } from "../RcsbFvSequence/SequenceViews/RcsbView/RcsbViewBehaviour/AlignmentProviderBehaviour"; import { buildDataProviderFv } from "@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvBuilder"; export class RcsbFv3DAlignmentProvider extends RcsbFv3DAbstract { constructor(params) { var _a, _b, _c; const elementId = (_a = params.elementId) !== null && _a !== void 0 ? _a : uniqid("RcsbFv3D_"); const alignmentResponseContainer = new DataContainer(); super({ elementId, sequenceConfig: { title: params.config.title, subtitle: params.config.subtitle, config: { rcsbId: "external-data", additionalConfig: params.additionalConfig, pfvParams: { id: "external-data", buildMsaAlignmentFv: buildDataProviderFv, pfvArgs: [params.config.dataProvider], alignmentResponseContainer }, buildPfvOnMount: true, pfvManagerFactory: new MsaPfvManagerFactory(), callbackManagerFactory: new MsaCallbackManagerFactory({ pluginLoadParamsDefinition, alignmentResponseContainer }), additionalContent: (_b = params.config.additionalContent) !== null && _b !== void 0 ? _b : ((props) => (_jsx(HelpLinkComponent, Object.assign({}, props, { helpHref: "/docs/grouping-structures/explore-sequence-alignments-in-3d" })))) }, rcsbViewBehaviour: new AlignmentProviderBehaviour() }, structureConfig: { loadConfig: undefined, structureViewerConfig: { viewerElement: RcsbFvStructure.componentId(elementId), viewerProps: (_c = params.molstarProps) !== null && _c !== void 0 ? _c : {} } }, structureViewer: new StructureViewer(new MolstarManagerFactory(getModelIdFromTrajectory)), structureViewerBehaviourObserver: new MsaBehaviourObserver(new MolstarAlignmentLoader(params.config.loadParamsProvider)) }); } } const pluginLoadParamsDefinition = (entryId) => ({ loadMethod: LoadMethod.loadPdbId, loadParams: { entryId } }); //# sourceMappingURL=RcsbFv3DAlignmentProvider.js.map