@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
25 lines (24 loc) • 1.03 kB
JavaScript
import { lazy } from 'react';
import { configSchema, stateModelFactory } from "./BaseFeatureWidget/index.js";
import Plugin from "./Plugin.js";
import CytobandAdapterF from "./data_adapters/CytobandAdapter/index.js";
import WidgetType from "./pluggableElementTypes/WidgetType.js";
import * as coreRpcMethods from "./rpc/coreRpcMethods.js";
export default class CorePlugin extends Plugin {
name = 'CorePlugin';
install(pluginManager) {
for (const RpcMethod of Object.values(coreRpcMethods)) {
pluginManager.addRpcMethod(() => new RpcMethod(pluginManager));
}
CytobandAdapterF(pluginManager);
pluginManager.addWidgetType(() => {
return new WidgetType({
name: 'BaseFeatureWidget',
heading: 'Feature details',
configSchema,
stateModel: stateModelFactory(pluginManager),
ReactComponent: lazy(() => import("./BaseFeatureWidget/BaseFeatureDetail/index.js")),
});
});
}
}