molstar
Version:
A comprehensive macromolecular library.
42 lines • 1.77 kB
JavaScript
/**
* Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author David Sehnal <david.sehnal@gmail.com>
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPluginAsync = exports.createPlugin = void 0;
var tslib_1 = require("tslib");
var React = (0, tslib_1.__importStar)(require("react"));
var ReactDOM = (0, tslib_1.__importStar)(require("react-dom"));
var plugin_1 = require("./plugin");
var context_1 = require("./context");
var spec_1 = require("./spec");
function createPlugin(target, spec) {
var ctx = new context_1.PluginUIContext(spec || (0, spec_1.DefaultPluginUISpec)());
ctx.init();
ReactDOM.render(React.createElement(plugin_1.Plugin, { plugin: ctx }), target);
return ctx;
}
exports.createPlugin = createPlugin;
/** Returns the instance of the plugin after all behaviors have been initialized */
function createPluginAsync(target, spec) {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
var ctx, init;
return (0, tslib_1.__generator)(this, function (_a) {
switch (_a.label) {
case 0:
ctx = new context_1.PluginUIContext(spec || (0, spec_1.DefaultPluginUISpec)());
init = ctx.init();
ReactDOM.render(React.createElement(plugin_1.Plugin, { plugin: ctx }), target);
return [4 /*yield*/, init];
case 1:
_a.sent();
return [2 /*return*/, ctx];
}
});
});
}
exports.createPluginAsync = createPluginAsync;
//# sourceMappingURL=index.js.map
;