UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

64 lines (63 loc) 3 kB
import Plugin from '@jbrowse/core/Plugin'; import { ConfigurationSchema } from '@jbrowse/core/configuration'; import { isAbstractMenuManager } from '@jbrowse/core/util'; import LineStyleIcon from '@mui/icons-material/LineStyle'; import { types } from 'mobx-state-tree'; import { BaseLinearDisplay, BaseLinearDisplayComponent, baseLinearDisplayConfigSchema, } from './BaseLinearDisplay'; import BasicTrackF from './BasicTrack'; import FeatureTrackF from './FeatureTrack'; import LaunchLinearGenomeViewF from './LaunchLinearGenomeView'; import LinearBareDisplayF from './LinearBareDisplay'; import LinearBasicDisplayF from './LinearBasicDisplay'; import LinearGenomeViewF, { LinearGenomeView, SearchBox, } from './LinearGenomeView'; import ZoomControls from './LinearGenomeView/components/HeaderZoomControls'; export default class LinearGenomeViewPlugin extends Plugin { constructor() { super(...arguments); this.name = 'LinearGenomeViewPlugin'; this.exports = { BaseLinearDisplayComponent, BaseLinearDisplay, baseLinearDisplayConfigSchema, SearchBox, ZoomControls, LinearGenomeView, }; this.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'; export { BaseLinearDisplay, BaseLinearDisplayComponent, BlockMsg, FeatureDensityMixin, TooLargeMessage, TrackHeightMixin, baseLinearDisplayConfigSchema, } from './BaseLinearDisplay'; export { RefNameAutocomplete, SearchBox, } from './LinearGenomeView'; export { SVGRuler, SVGTracks, renderToSvg, } from './LinearGenomeView/svgcomponents/SVGLinearGenomeView'; export { totalHeight } from './LinearGenomeView/svgcomponents/util'; export { configSchema as linearBasicDisplayConfigSchemaFactory, modelFactory as linearBasicDisplayModelFactory, } from './LinearBasicDisplay';