UNPKG

@jbrowse/plugin-linear-genome-view

Version:

JBrowse 2 linear genome view

36 lines (35 loc) 1.31 kB
import { ConfigurationReference, getConf } from '@jbrowse/core/configuration'; import { getEnv } from '@jbrowse/core/util'; import { getParentRenderProps } from '@jbrowse/core/util/tracks'; import { types } from 'mobx-state-tree'; import { BaseLinearDisplay } from '../BaseLinearDisplay'; 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']) || {}; const config = configBlob; return self.rendererType.configSchema.create(config, getEnv(self)); }, get rendererTypeName() { return getConf(self, ['renderer', 'type']); }, })) .views(self => { const { renderProps: superRenderProps } = self; return { renderProps() { return { ...superRenderProps(), ...getParentRenderProps(self), rpcDriverName: self.rpcDriverName, config: self.rendererConfig, }; }, }; }); }