UNPKG

@rcsb/rcsb-saguaro-app

Version:
24 lines (23 loc) 754 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MountableComponent = void 0; const client_1 = require("react-dom/client"); class MountableComponent { constructor(element) { var _a; if (MountableComponent.ROOT.has(element.id)) { (_a = MountableComponent.ROOT.get(element.id)) === null || _a === void 0 ? void 0 : _a.unmount(); } this.root = (0, client_1.createRoot)(element); MountableComponent.ROOT.set(element.id, this.root); } render(node) { this.unmount(); this.root.render(node); } unmount() { this.root.render(undefined); } } exports.MountableComponent = MountableComponent; MountableComponent.ROOT = new Map();