UNPKG

@rcsb/rcsb-saguaro-app

Version:
52 lines (51 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rcsbFvCtxManager = void 0; const RcsbFv_1 = require("@rcsb/rcsb-saguaro/lib/RcsbFv/RcsbFv"); const RcsbFvTooltip_1 = require("../RcsbFvTooltip/RcsbFvTooltip"); class RcsbFvContextManager { constructor() { this.rcsbFvManager = new Map(); this.rcsbButtonManager = new Map(); } getFv(elementFvId, boardConfig) { const o = this.rcsbFvManager.get(elementFvId); if (o) { return o; } else { const rcsbFvSingleViewer = buildRcsbFvSingleViewer(elementFvId, boardConfig); this.setFv(elementFvId, rcsbFvSingleViewer); return rcsbFvSingleViewer; } } hasFv(elementFvId) { return this.rcsbFvManager.has(elementFvId); } setFv(elementFvId, rcsbFv) { this.rcsbFvManager.set(elementFvId, rcsbFv); } getButtonList(elementFvId) { return this.rcsbButtonManager.get(elementFvId); } setButton(elementFvId, buttonId) { var _a; if (this.rcsbButtonManager.get(elementFvId) == null) this.rcsbButtonManager.set(elementFvId, new Set()); (_a = this.rcsbButtonManager.get(elementFvId)) === null || _a === void 0 ? void 0 : _a.add(buttonId); } removeFv(elementFvId) { this.rcsbFvManager.delete(elementFvId); if (this.rcsbButtonManager.has(elementFvId)) this.rcsbButtonManager.delete(elementFvId); } } function buildRcsbFvSingleViewer(elementId, boardConfig) { const config = Object.assign({ rowTitleWidth: 190, tooltipGenerator: new RcsbFvTooltip_1.RcsbFvTooltip() }, boardConfig); return new RcsbFv_1.RcsbFv({ rowConfigData: [], boardConfigData: config, elementId: elementId }); } exports.rcsbFvCtxManager = new RcsbFvContextManager();