@jbrowse/plugin-linear-genome-view
Version:
JBrowse 2 linear genome view
64 lines (63 loc) • 3 kB
JavaScript
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';