UNPKG

@rcsb/rcsb-saguaro-3d

Version:
67 lines (66 loc) 4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RcsbFv3DUniprot = void 0; const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const RcsbFv3DAbstract_1 = require("./RcsbFv3DAbstract"); const uniqid_1 = tslib_1.__importDefault(require("uniqid")); const MolstarActionManager_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarActionManager"); const StructureViewer_1 = require("../RcsbFvStructure/StructureViewers/StructureViewer"); const MolstarManagerFactory_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarManagerFactory"); const MsaCallbackManager_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/CallbackManagerFactoryImplementation/MsaCallbackManager"); const RcsbFvStructure_1 = require("../RcsbFvStructure/RcsbFvStructure"); const MolstarAlignmentLoader_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarAlignmentLoader"); const MsaBehaviour_1 = require("../RcsbFvStructure/StructureViewerBehaviour/MsaBehaviour"); const HelpLinkComponent_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/Components/HelpLinkComponent"); const DataContainer_1 = require("../Utils/DataContainer"); const MsaPfvManagerFactory_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/PfvManagerFactoryImplementation/MsaPfvManagerFactory"); const MolstarTools_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarTools"); var getModelIdFromTrajectory = MolstarTools_1.MolstarTools.getModelIdFromTrajectory; const RcsbFvBuilder_1 = require("@rcsb/rcsb-saguaro-app/lib/RcsbFvWeb/RcsbFvBuilder"); class RcsbFv3DUniprot extends RcsbFv3DAbstract_1.RcsbFv3DAbstract { constructor(params) { var _a, _b; const elementId = (_a = params.elementId) !== null && _a !== void 0 ? _a : (0, uniqid_1.default)("RcsbFv3D_"); const alignmentResponseContainer = new DataContainer_1.DataContainer(); super({ elementId, sequenceConfig: { title: params.config.title, subtitle: params.config.subtitle, config: { rcsbId: params.config.upAcc, additionalConfig: params.additionalConfig, pfvParams: { id: params.config.upAcc, pfvArgs: [params.config.upAcc, params.config.query], buildMsaAlignmentFv: RcsbFvBuilder_1.buildUniprotAlignmentFv, alignmentResponseContainer }, buildPfvOnMount: true, pfvManagerFactory: new MsaPfvManagerFactory_1.MsaPfvManagerFactory(), callbackManagerFactory: new MsaCallbackManager_1.MsaCallbackManagerFactory({ pluginLoadParamsDefinition, alignmentResponseContainer }), additionalContent: (props) => ((0, jsx_runtime_1.jsx)(HelpLinkComponent_1.HelpLinkComponent, Object.assign({}, props, { helpHref: "/docs/grouping-structures/explore-sequence-alignments-in-3d" }))) } }, structureConfig: { structureViewerConfig: { viewerElement: RcsbFvStructure_1.RcsbFvStructure.componentId(elementId), viewerProps: (_b = params.molstarProps) !== null && _b !== void 0 ? _b : {} } }, structureViewer: new StructureViewer_1.StructureViewer(new MolstarManagerFactory_1.MolstarManagerFactory(getModelIdFromTrajectory)), structureViewerBehaviourObserver: new MsaBehaviour_1.MsaBehaviourObserver(new MolstarAlignmentLoader_1.MolstarAlignmentLoader()) }); } } exports.RcsbFv3DUniprot = RcsbFv3DUniprot; const pluginLoadParamsDefinition = (entryId) => ({ loadMethod: MolstarActionManager_1.LoadMethod.loadPdbId, loadParams: { entryId } });