/
configSchema.ts
76 lines (70 loc) · 2.11 KB
/
configSchema.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import { ConfigurationSchema } from '@jbrowse/core/configuration'
import { types } from 'mobx-state-tree'
import PluginManager from '@jbrowse/core/PluginManager'
// locals
import sharedWiggleConfigFactory from '../../shared/configShared'
/**
* #config MultiLinearWiggleDisplay
* extends
* - [SharedWiggleDisplay](../sharedwiggledisplay)
*/
function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
export default function WiggleConfigFactory(pluginManager: PluginManager) {
const MultiXYPlotRendererConfigSchema = pluginManager.getRendererType(
'MultiXYPlotRenderer',
).configSchema
const MultiDensityRendererConfigSchema = pluginManager.getRendererType(
'MultiDensityRenderer',
).configSchema
const MultiRowXYPlotRendererConfigSchema = pluginManager.getRendererType(
'MultiRowXYPlotRenderer',
).configSchema
const MultiLineRendererConfigSchema =
pluginManager.getRendererType('MultiLineRenderer').configSchema
const MultiRowLineRendererConfigSchema = pluginManager.getRendererType(
'MultiRowLineRenderer',
).configSchema
return ConfigurationSchema(
'MultiLinearWiggleDisplay',
{
/**
* #slot
*/
defaultRendering: {
type: 'stringEnum',
model: types.enumeration('Rendering', [
'multirowxy',
'xyplot',
'multirowdensity',
'multiline',
'multirowline',
]),
defaultValue: 'multirowxy',
},
/**
* #slot
*/
renderers: ConfigurationSchema('RenderersConfiguration', {
MultiXYPlotRenderer: MultiXYPlotRendererConfigSchema,
MultiDensityRenderer: MultiDensityRendererConfigSchema,
MultiRowXYPlotRenderer: MultiRowXYPlotRendererConfigSchema,
MultiLineRenderer: MultiLineRendererConfigSchema,
MultiRowLineRenderer: MultiRowLineRendererConfigSchema,
}),
/**
* #slot
*/
height: {
type: 'number',
defaultValue: 200,
},
},
{
/**
* #baseConfiguration
*/
baseConfiguration: sharedWiggleConfigFactory(),
explicitlyTyped: true,
},
)
}