@jbrowse/plugin-linear-genome-view
Version:
JBrowse 2 linear genome view
33 lines (32 loc) • 1.14 kB
JavaScript
import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
import { getParentRenderProps } from '@jbrowse/core/util/tracks';
import { types } from '@jbrowse/mobx-state-tree';
import { BaseLinearDisplay } from "../BaseLinearDisplay/index.js";
export function stateModelFactory(configSchema) {
return types
.compose('LinearBareDisplay', BaseLinearDisplay, types.model({
type: types.literal('LinearBareDisplay'),
configuration: ConfigurationReference(configSchema),
}))
.views(self => ({
get rendererConfig() {
const configBlob = getConf(self, ['renderer']) || {};
return configBlob;
},
get rendererTypeName() {
return getConf(self, ['renderer', 'type']);
},
}))
.views(self => {
const { renderProps: superRenderProps } = self;
return {
renderProps() {
return {
...superRenderProps(),
...getParentRenderProps(self),
config: self.rendererConfig,
};
},
};
});
}