@rcsb/rcsb-saguaro-3d
Version:
RCSB Molstar/Saguaro Web App
56 lines (55 loc) • 3.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RcsbFv3DAssembly = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const RcsbFv3DAbstract_1 = require("./RcsbFv3DAbstract");
const StructureViewer_1 = require("../RcsbFvStructure/StructureViewers/StructureViewer");
const MolstarManagerFactory_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarManagerFactory");
const uniqid_1 = tslib_1.__importDefault(require("uniqid"));
const RcsbFvStructure_1 = require("../RcsbFvStructure/RcsbFvStructure");
const AssemblyPfvManagerFactory_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/PfvManagerFactoryImplementation/AssemblyPfvManagerFactory");
const AssemblyCallbackManager_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/CallbackManagerFactoryImplementation/AssemblyCallbackManager");
const AssemblyBehaviour_1 = require("../RcsbFvStructure/StructureViewerBehaviour/AssemblyBehaviour");
const HelpLinkComponent_1 = require("../RcsbFvSequence/SequenceViews/RcsbView/Components/HelpLinkComponent");
const MolstarTools_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarTools");
var getModelIdFromTrajectory = MolstarTools_1.MolstarTools.getModelIdFromTrajectory;
const MolstarAssemblyLoader_1 = require("../RcsbFvStructure/StructureViewers/MolstarViewer/MolstarUtils/MolstarAssemblyLoader");
class RcsbFv3DAssembly extends RcsbFv3DAbstract_1.RcsbFv3DAbstract {
constructor(params) {
var _a, _b, _c, _d;
const elementId = (_a = params.elementId) !== null && _a !== void 0 ? _a : (0, uniqid_1.default)("RcsbFv3D_");
super({
elementId: (_b = params.elementId) !== null && _b !== void 0 ? _b : elementId,
sequenceConfig: {
title: params.config.title,
subtitle: params.config.subtitle,
config: {
rcsbId: params.config.entryId,
additionalConfig: params.additionalConfig,
useOperatorsFlag: params.useOperatorsFlag,
pfvParams: {
instanceSequenceConfig: params.instanceSequenceConfig
},
pfvManagerFactory: new AssemblyPfvManagerFactory_1.AssemblyPfvManagerFactory(),
callbackManagerFactory: new AssemblyCallbackManager_1.AssemblyCallbackManagerFactory(),
additionalContent: (props) => ((0, jsx_runtime_1.jsx)(HelpLinkComponent_1.HelpLinkComponent, Object.assign({}, props, { helpHref: "/docs/sequence-viewers/sequence-annotations-in-3d" })))
}
},
structureConfig: {
structureViewerConfig: {
viewerElement: RcsbFvStructure_1.RcsbFvStructure.componentId(elementId),
viewerProps: (_c = params.molstarProps) !== null && _c !== void 0 ? _c : {}
}
},
structureViewer: new StructureViewer_1.StructureViewer(new MolstarManagerFactory_1.MolstarManagerFactory(getModelIdFromTrajectory)),
structureViewerBehaviourObserver: new AssemblyBehaviour_1.AssemblyBehaviourObserver(new MolstarAssemblyLoader_1.MolstarAssemblyLoader({
entryId: params.config.entryId,
assemblyId: typeof (params.config.assemblyId) === "string" && ((_d = params.config.assemblyId) === null || _d === void 0 ? void 0 : _d.length) > 0 ? params.config.assemblyId : '1',
asymId: params.config.asymId
})),
cssConfig: params.cssConfig
});
}
}
exports.RcsbFv3DAssembly = RcsbFv3DAssembly;