@rcsb/rcsb-saguaro-3d
Version:
RCSB Molstar/Saguaro Web App
67 lines (66 loc) • 4 kB
JavaScript
"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
}
});