@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
24 lines (23 loc) • 1.16 kB
JavaScript
import { ConfigurationSchema } from '@jbrowse/core/configuration';
import { types } from 'mobx-state-tree';
import sharedWiggleConfigFactory from '../shared/SharedWiggleConfigSchema';
export default function WiggleConfigFactory(pluginManager) {
const XYPlotRendererConfigSchema = pluginManager.getRendererType('XYPlotRenderer').configSchema;
const DensityRendererConfigSchema = pluginManager.getRendererType('DensityRenderer').configSchema;
const LinePlotRendererConfigSchema = pluginManager.getRendererType('LinePlotRenderer').configSchema;
return ConfigurationSchema('LinearWiggleDisplay', {
defaultRendering: {
type: 'stringEnum',
model: types.enumeration('Rendering', ['density', 'xyplot', 'line']),
defaultValue: 'xyplot',
},
renderers: ConfigurationSchema('RenderersConfiguration', {
DensityRenderer: DensityRendererConfigSchema,
XYPlotRenderer: XYPlotRendererConfigSchema,
LinePlotRenderer: LinePlotRendererConfigSchema,
}),
}, {
baseConfiguration: sharedWiggleConfigFactory(),
explicitlyTyped: true,
});
}