UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

64 lines (63 loc) 3.49 kB
import Plugin from '@jbrowse/core/Plugin'; import { ConfigurationSchema } from '@jbrowse/core/configuration'; import { isAbstractMenuManager } from '@jbrowse/core/util'; import { types } from '@jbrowse/mobx-state-tree'; import LineStyleIcon from '@mui/icons-material/LineStyle'; import { BaseLinearDisplay, BaseLinearDisplayComponent, baseLinearDisplayConfigSchema, } from "./BaseLinearDisplay/index.js"; import BasicTrackF from "./BasicTrack/index.js"; import FeatureTrackF from "./FeatureTrack/index.js"; import LaunchLinearGenomeViewF from "./LaunchLinearGenomeView/index.js"; import LinearBareDisplayF from "./LinearBareDisplay/index.js"; import LinearBasicDisplayF from "./LinearBasicDisplay/index.js"; import ZoomControls from "./LinearGenomeView/components/HeaderZoomControls.js"; import LinearGenomeViewF, { LinearGenomeView, SearchBox, } from "./LinearGenomeView/index.js"; export default class LinearGenomeViewPlugin extends Plugin { name = 'LinearGenomeViewPlugin'; exports = { BaseLinearDisplayComponent, BaseLinearDisplay, baseLinearDisplayConfigSchema, SearchBox, ZoomControls, LinearGenomeView, }; configurationSchema = ConfigurationSchema('LinearGenomeViewConfigSchema', { trackLabels: { type: 'string', defaultValue: 'overlapping', model: types.enumeration('trackLabelOptions', [ 'offset', 'overlapping', 'hidden', ]), }, }); install(pluginManager) { FeatureTrackF(pluginManager); BasicTrackF(pluginManager); LinearBasicDisplayF(pluginManager); LinearGenomeViewF(pluginManager); LinearBareDisplayF(pluginManager); LaunchLinearGenomeViewF(pluginManager); } configure(pluginManager) { if (isAbstractMenuManager(pluginManager.rootModel)) { pluginManager.rootModel.appendToSubMenu(['Add'], { label: 'Linear genome view', icon: LineStyleIcon, onClick: (session) => { session.addView('LinearGenomeView', {}); }, }); } } } export { configSchemaFactory as linearBareDisplayConfigSchemaFactory, stateModelFactory as linearBareDisplayStateModelFactory, } from "./LinearBareDisplay/index.js"; export { BaseLinearDisplay, BaseLinearDisplayComponent, BlockMsg, FeatureDensityMixin, FloatingLegend, NonBlockCanvasDisplayComponent, NonBlockCanvasDisplayMixin, SVGLegend, TooLargeMessage, TrackHeightMixin, baseLinearDisplayConfigSchema, calculateSvgLegendWidth, createSubfeatureLabelMetadata, drawCanvasImageData, } from "./BaseLinearDisplay/index.js"; export { HighlightBand, RefNameAutocomplete, SearchBox, } from "./LinearGenomeView/index.js"; export { fetchResults } from "./searchUtils.js"; export { SVGGridlines, SVGRuler, SVGTracks, renderToSvg, } from "./LinearGenomeView/svgcomponents/SVGLinearGenomeView.js"; export { totalHeight } from "./LinearGenomeView/svgcomponents/util.js"; export { configSchema as linearBasicDisplayConfigSchemaFactory, modelFactory as linearBasicDisplayModelFactory, } from "./LinearBasicDisplay/index.js"; export { configSchema as linearFeatureDisplayConfigSchemaFactory, modelFactory as linearFeatureDisplayModelFactory, } from "./LinearFeatureDisplay/index.js"; export { default as LinearBasicDisplayComponent } from "./LinearBasicDisplay/components/LinearBasicDisplayComponent.js";