@jbrowse/plugin-wiggle 2.1.7 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/BigWigAdapter/configSchema.d.ts +2 -2
  2. package/dist/BigWigAdapter/configSchema.js +12 -1
  3. package/dist/BigWigAdapter/configSchema.js.map +1 -1
  4. package/dist/DensityRenderer/configSchema.js +11 -1
  5. package/dist/DensityRenderer/configSchema.js.map +1 -1
  6. package/dist/LinePlotRenderer/configSchema.js +14 -1
  7. package/dist/LinePlotRenderer/configSchema.js.map +1 -1
  8. package/dist/LinearWiggleDisplay/models/configSchema.js +38 -1
  9. package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -1
  10. package/dist/LinearWiggleDisplay/models/model.d.ts +202 -7
  11. package/dist/LinearWiggleDisplay/models/model.js +589 -409
  12. package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
  13. package/dist/MultiDensityRenderer/configSchema.js +11 -1
  14. package/dist/MultiDensityRenderer/configSchema.js.map +1 -1
  15. package/dist/MultiLineRenderer/configSchema.js +17 -1
  16. package/dist/MultiLineRenderer/configSchema.js.map +1 -1
  17. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +38 -1
  18. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -1
  19. package/dist/MultiQuantitativeTrack/configSchema.d.ts +3 -0
  20. package/dist/MultiQuantitativeTrack/configSchema.js +18 -0
  21. package/dist/MultiQuantitativeTrack/configSchema.js.map +1 -0
  22. package/dist/MultiQuantitativeTrack/index.js +2 -2
  23. package/dist/MultiQuantitativeTrack/index.js.map +1 -1
  24. package/dist/MultiRowLineRenderer/configSchema.js +17 -1
  25. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -1
  26. package/dist/MultiRowXYPlotRenderer/configSchema.js +23 -1
  27. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -1
  28. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -2
  29. package/dist/MultiWiggleAdapter/configSchema.js +14 -1
  30. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -1
  31. package/dist/MultiXYPlotRenderer/configSchema.js +23 -1
  32. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -1
  33. package/dist/QuantitativeTrack/configSchema.d.ts +3 -0
  34. package/dist/QuantitativeTrack/configSchema.js +18 -0
  35. package/dist/QuantitativeTrack/configSchema.js.map +1 -0
  36. package/dist/QuantitativeTrack/index.js +2 -2
  37. package/dist/QuantitativeTrack/index.js.map +1 -1
  38. package/dist/WiggleBaseRenderer.d.ts +4 -0
  39. package/dist/XYPlotRenderer/configSchema.js +23 -1
  40. package/dist/XYPlotRenderer/configSchema.js.map +1 -1
  41. package/dist/configSchema.d.ts +2 -2
  42. package/dist/configSchema.js +25 -1
  43. package/dist/configSchema.js.map +1 -1
  44. package/dist/drawxy.js +4 -4
  45. package/dist/drawxy.js.map +1 -1
  46. package/dist/index.d.ts +1 -305
  47. package/esm/BigWigAdapter/configSchema.d.ts +2 -2
  48. package/esm/BigWigAdapter/configSchema.js +12 -1
  49. package/esm/BigWigAdapter/configSchema.js.map +1 -1
  50. package/esm/DensityRenderer/configSchema.js +12 -2
  51. package/esm/DensityRenderer/configSchema.js.map +1 -1
  52. package/esm/LinePlotRenderer/configSchema.js +15 -2
  53. package/esm/LinePlotRenderer/configSchema.js.map +1 -1
  54. package/esm/LinearWiggleDisplay/models/configSchema.js +38 -1
  55. package/esm/LinearWiggleDisplay/models/configSchema.js.map +1 -1
  56. package/esm/LinearWiggleDisplay/models/model.d.ts +202 -7
  57. package/esm/LinearWiggleDisplay/models/model.js +589 -409
  58. package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
  59. package/esm/MultiDensityRenderer/configSchema.js +12 -2
  60. package/esm/MultiDensityRenderer/configSchema.js.map +1 -1
  61. package/esm/MultiLineRenderer/configSchema.js +18 -2
  62. package/esm/MultiLineRenderer/configSchema.js.map +1 -1
  63. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +38 -1
  64. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -1
  65. package/esm/MultiQuantitativeTrack/configSchema.d.ts +3 -0
  66. package/esm/MultiQuantitativeTrack/configSchema.js +16 -0
  67. package/esm/MultiQuantitativeTrack/configSchema.js.map +1 -0
  68. package/esm/MultiQuantitativeTrack/index.js +3 -3
  69. package/esm/MultiQuantitativeTrack/index.js.map +1 -1
  70. package/esm/MultiRowLineRenderer/configSchema.js +18 -2
  71. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -1
  72. package/esm/MultiRowXYPlotRenderer/configSchema.js +24 -2
  73. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -1
  74. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -2
  75. package/esm/MultiWiggleAdapter/configSchema.js +14 -1
  76. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -1
  77. package/esm/MultiXYPlotRenderer/configSchema.js +24 -2
  78. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -1
  79. package/esm/QuantitativeTrack/configSchema.d.ts +3 -0
  80. package/esm/QuantitativeTrack/configSchema.js +16 -0
  81. package/esm/QuantitativeTrack/configSchema.js.map +1 -0
  82. package/esm/QuantitativeTrack/index.js +3 -3
  83. package/esm/QuantitativeTrack/index.js.map +1 -1
  84. package/esm/WiggleBaseRenderer.d.ts +4 -0
  85. package/esm/XYPlotRenderer/configSchema.js +24 -2
  86. package/esm/XYPlotRenderer/configSchema.js.map +1 -1
  87. package/esm/configSchema.d.ts +2 -2
  88. package/esm/configSchema.js +25 -1
  89. package/esm/configSchema.js.map +1 -1
  90. package/esm/drawxy.js +4 -4
  91. package/esm/drawxy.js.map +1 -1
  92. package/esm/index.d.ts +1 -305
  93. package/package.json +2 -2
  94. package/src/BigWigAdapter/configSchema.ts +15 -1
  95. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +6 -0
  96. package/src/DensityRenderer/configSchema.ts +13 -2
  97. package/src/LinePlotRenderer/configSchema.ts +16 -2
  98. package/src/LinearWiggleDisplay/models/configSchema.ts +40 -2
  99. package/src/LinearWiggleDisplay/models/model.tsx +188 -8
  100. package/src/MultiDensityRenderer/configSchema.ts +13 -2
  101. package/src/MultiLineRenderer/configSchema.ts +18 -3
  102. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +41 -1
  103. package/src/MultiQuantitativeTrack/configSchema.ts +23 -0
  104. package/src/MultiQuantitativeTrack/index.ts +3 -10
  105. package/src/MultiRowLineRenderer/configSchema.ts +19 -2
  106. package/src/MultiRowXYPlotRenderer/configSchema.ts +25 -2
  107. package/src/MultiWiggleAdapter/configSchema.ts +17 -1
  108. package/src/MultiXYPlotRenderer/configSchema.ts +25 -2
  109. package/src/QuantitativeTrack/configSchema.ts +23 -0
  110. package/src/QuantitativeTrack/index.ts +3 -10
  111. package/src/WiggleBaseRenderer.tsx +1 -1
  112. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +6 -0
  113. package/src/XYPlotRenderer/configSchema.ts +25 -2
  114. package/src/configSchema.ts +26 -1
  115. package/src/drawxy.ts +4 -4
@@ -3,6 +3,11 @@ import { baseLinearDisplayConfigSchema } from '@jbrowse/plugin-linear-genome-vie
3
3
  import { types } from 'mobx-state-tree'
4
4
  import PluginManager from '@jbrowse/core/PluginManager'
5
5
 
6
+ /**
7
+ * #config LinearWiggleDisplay
8
+ */
9
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
10
+
6
11
  export default function WiggleConfigFactory(pluginManager: PluginManager) {
7
12
  const XYPlotRendererConfigSchema =
8
13
  pluginManager.getRendererType('XYPlotRenderer').configSchema
@@ -14,6 +19,9 @@ export default function WiggleConfigFactory(pluginManager: PluginManager) {
14
19
  return ConfigurationSchema(
15
20
  'LinearWiggleDisplay',
16
21
  {
22
+ /**
23
+ * #slot
24
+ */
17
25
  autoscale: {
18
26
  type: 'stringEnum',
19
27
  defaultValue: 'local',
@@ -27,52 +35,82 @@ export default function WiggleConfigFactory(pluginManager: PluginManager) {
27
35
  description:
28
36
  'global/local using their min/max values or w/ standard deviations (globalsd/localsd)',
29
37
  },
38
+
39
+ /**
40
+ * #slot
41
+ */
30
42
  minimalTicks: {
31
43
  type: 'boolean',
32
44
  defaultValue: false,
33
45
  description: 'use the minimal amount of ticks',
34
46
  },
35
47
 
48
+ /**
49
+ * #slot
50
+ */
36
51
  minScore: {
37
52
  type: 'number',
38
53
  defaultValue: Number.MIN_VALUE,
39
54
  description: 'minimum value for the y-scale',
40
55
  },
56
+ /**
57
+ * #slot
58
+ */
41
59
  maxScore: {
42
60
  type: 'number',
43
61
  description: 'maximum value for the y-scale',
44
62
  defaultValue: Number.MAX_VALUE,
45
63
  },
64
+ /**
65
+ * #slot
66
+ */
46
67
  numStdDev: {
47
68
  type: 'number',
48
69
  description:
49
70
  'number of standard deviations to use for autoscale types globalsd or localsd',
50
71
  defaultValue: 3,
51
72
  },
73
+ /**
74
+ * #slot
75
+ */
52
76
  scaleType: {
53
77
  type: 'stringEnum',
54
78
  model: types.enumeration('Scale type', ['linear', 'log']), // todo zscale
55
79
  description: 'The type of scale to use',
56
80
  defaultValue: 'linear',
57
81
  },
82
+ /**
83
+ * #slot
84
+ */
58
85
  inverted: {
59
86
  type: 'boolean',
60
87
  description: 'draw upside down',
61
88
  defaultValue: false,
62
89
  },
63
90
 
91
+ /**
92
+ * #slot
93
+ */
64
94
  defaultRendering: {
65
95
  type: 'stringEnum',
66
96
  model: types.enumeration('Rendering', ['density', 'xyplot', 'line']),
67
97
  defaultValue: 'xyplot',
68
98
  },
69
-
99
+ /**
100
+ * #slot
101
+ */
70
102
  renderers: ConfigurationSchema('RenderersConfiguration', {
71
103
  DensityRenderer: DensityRendererConfigSchema,
72
104
  XYPlotRenderer: XYPlotRendererConfigSchema,
73
105
  LinePlotRenderer: LinePlotRendererConfigSchema,
74
106
  }),
75
107
  },
76
- { baseConfiguration: baseLinearDisplayConfigSchema, explicitlyTyped: true },
108
+ {
109
+ /**
110
+ * #baseConfiguration
111
+ */
112
+ baseConfiguration: baseLinearDisplayConfigSchema,
113
+ explicitlyTyped: true,
114
+ },
77
115
  )
78
116
  }
@@ -44,29 +44,78 @@ const rendererTypes = new Map([
44
44
 
45
45
  type LGV = LinearGenomeViewModel
46
46
 
47
- const stateModelFactory = (
47
+ /**
48
+ * #stateModel LinearWiggleDisplay
49
+ * Extends `BaseLinearDisplay`
50
+ */
51
+ function stateModelFactory(
48
52
  pluginManager: PluginManager,
49
53
  configSchema: AnyConfigurationSchemaType,
50
- ) =>
51
- types
54
+ ) {
55
+ return types
52
56
  .compose(
53
57
  'LinearWiggleDisplay',
54
58
  BaseLinearDisplay,
55
59
  types.model({
60
+ /**
61
+ * #property
62
+ */
56
63
  type: types.literal('LinearWiggleDisplay'),
64
+ /**
65
+ * #property
66
+ */
57
67
  configuration: ConfigurationReference(configSchema),
68
+ /**
69
+ * #property
70
+ */
58
71
  selectedRendering: types.optional(types.string, ''),
72
+ /**
73
+ * #property
74
+ */
59
75
  resolution: types.optional(types.number, 1),
76
+ /**
77
+ * #property
78
+ */
60
79
  fill: types.maybe(types.boolean),
80
+ /**
81
+ * #property
82
+ */
61
83
  minSize: types.maybe(types.number),
84
+ /**
85
+ * #property
86
+ */
62
87
  color: types.maybe(types.string),
88
+ /**
89
+ * #property
90
+ */
63
91
  posColor: types.maybe(types.string),
92
+ /**
93
+ * #property
94
+ */
64
95
  negColor: types.maybe(types.string),
96
+ /**
97
+ * #property
98
+ */
65
99
  summaryScoreMode: types.maybe(types.string),
100
+ /**
101
+ * #property
102
+ */
66
103
  rendererTypeNameState: types.maybe(types.string),
104
+ /**
105
+ * #property
106
+ */
67
107
  scale: types.maybe(types.string),
108
+ /**
109
+ * #property
110
+ */
68
111
  autoscale: types.maybe(types.string),
112
+ /**
113
+ * #property
114
+ */
69
115
  displayCrossHatches: types.maybe(types.boolean),
116
+ /**
117
+ * #property
118
+ */
70
119
  constraints: types.optional(
71
120
  types.model({
72
121
  max: types.maybe(types.number),
@@ -83,6 +132,9 @@ const stateModelFactory = (
83
132
  statsFetchInProgress: undefined as undefined | AbortController,
84
133
  }))
85
134
  .actions(self => ({
135
+ /**
136
+ * #action
137
+ */
86
138
  updateStats(stats: { scoreMin: number; scoreMax: number }) {
87
139
  const { scoreMin, scoreMax } = stats
88
140
  const EPSILON = 0.000001
@@ -94,16 +146,28 @@ const stateModelFactory = (
94
146
  self.statsReady = true
95
147
  }
96
148
  },
149
+ /**
150
+ * #action
151
+ */
97
152
  setColor(color?: string) {
98
153
  self.color = color
99
154
  },
155
+ /**
156
+ * #action
157
+ */
100
158
  setPosColor(color?: string) {
101
159
  self.posColor = color
102
160
  },
161
+ /**
162
+ * #action
163
+ */
103
164
  setNegColor(color?: string) {
104
165
  self.negColor = color
105
166
  },
106
167
 
168
+ /**
169
+ * #action
170
+ */
107
171
  setLoading(aborter: AbortController) {
108
172
  const { statsFetchInProgress: statsFetch } = self
109
173
  if (statsFetch !== undefined && !statsFetch.signal.aborted) {
@@ -112,19 +176,29 @@ const stateModelFactory = (
112
176
  self.statsFetchInProgress = aborter
113
177
  },
114
178
 
115
- // this overrides the BaseLinearDisplayModel to avoid popping up a
116
- // feature detail display, but still sets the feature selection on the
117
- // model so listeners can detect a click
179
+ /**
180
+ * #action
181
+ * this overrides the BaseLinearDisplayModel to avoid popping up a
182
+ * feature detail display, but still sets the feature selection on the
183
+ * model so listeners can detect a click
184
+ */
118
185
  selectFeature(feature: Feature) {
119
186
  const session = getSession(self)
120
187
  if (isSelectionContainer(session)) {
121
188
  session.setSelection(feature)
122
189
  }
123
190
  },
191
+
192
+ /**
193
+ * #action
194
+ */
124
195
  setResolution(res: number) {
125
196
  self.resolution = res
126
197
  },
127
198
 
199
+ /**
200
+ * #action
201
+ */
128
202
  setFill(fill: number) {
129
203
  if (fill === 0) {
130
204
  self.fill = true
@@ -138,6 +212,9 @@ const stateModelFactory = (
138
212
  }
139
213
  },
140
214
 
215
+ /**
216
+ * #action
217
+ */
141
218
  toggleLogScale() {
142
219
  if (self.scale !== 'log') {
143
220
  self.scale = 'log'
@@ -146,51 +223,87 @@ const stateModelFactory = (
146
223
  }
147
224
  },
148
225
 
226
+ /**
227
+ * #action
228
+ */
149
229
  setScaleType(scale?: string) {
150
230
  self.scale = scale
151
231
  },
152
232
 
233
+ /**
234
+ * #action
235
+ */
153
236
  setSummaryScoreMode(val: string) {
154
237
  self.summaryScoreMode = val
155
238
  },
156
239
 
240
+ /**
241
+ * #action
242
+ */
157
243
  setAutoscale(val: string) {
158
244
  self.autoscale = val
159
245
  },
160
246
 
247
+ /**
248
+ * #action
249
+ */
161
250
  setMaxScore(val?: number) {
162
251
  self.constraints.max = val
163
252
  },
164
253
 
254
+ /**
255
+ * #action
256
+ */
165
257
  setRendererType(val: string) {
166
258
  self.rendererTypeNameState = val
167
259
  },
168
260
 
261
+ /**
262
+ * #action
263
+ */
169
264
  setMinScore(val?: number) {
170
265
  self.constraints.min = val
171
266
  },
172
267
 
268
+ /**
269
+ * #action
270
+ */
173
271
  toggleCrossHatches() {
174
272
  self.displayCrossHatches = !self.displayCrossHatches
175
273
  },
176
274
 
275
+ /**
276
+ * #action
277
+ */
177
278
  setCrossHatches(cross: boolean) {
178
279
  self.displayCrossHatches = cross
179
280
  },
180
281
  }))
181
282
  .views(self => ({
283
+ /**
284
+ * #getter
285
+ */
182
286
  get TooltipComponent() {
183
287
  return Tooltip as unknown as React.FC
184
288
  },
185
289
 
290
+ /**
291
+ * #getter
292
+ */
186
293
  get adapterTypeName() {
187
294
  return self.adapterConfig.type
188
295
  },
189
296
 
297
+ /**
298
+ * #getter
299
+ */
190
300
  get rendererTypeNameSimple() {
191
301
  return self.rendererTypeNameState || getConf(self, 'defaultRendering')
192
302
  },
193
303
 
304
+ /**
305
+ * #getter
306
+ */
194
307
  get rendererTypeName() {
195
308
  const name = this.rendererTypeNameSimple
196
309
  const rendererType = rendererTypes.get(name)
@@ -200,24 +313,39 @@ const stateModelFactory = (
200
313
  return rendererType
201
314
  },
202
315
 
203
- // subclasses can define these, as snpcoverage track does
316
+ /**
317
+ * #getter
318
+ * subclasses can define these, as snpcoverage track does
319
+ */
204
320
  get filters() {
205
321
  return undefined
206
322
  },
207
323
 
324
+ /**
325
+ * #getter
326
+ */
208
327
  get scaleType() {
209
328
  return self.scale || getConf(self, 'scaleType')
210
329
  },
211
330
 
331
+ /**
332
+ * #getter
333
+ */
212
334
  get maxScore() {
213
335
  return self.constraints.max ?? getConf(self, 'maxScore')
214
336
  },
215
337
 
338
+ /**
339
+ * #getter
340
+ */
216
341
  get minScore() {
217
342
  return self.constraints.min ?? getConf(self, 'minScore')
218
343
  },
219
344
  }))
220
345
  .views(self => ({
346
+ /**
347
+ * #getter
348
+ */
221
349
  get rendererConfig() {
222
350
  const configBlob =
223
351
  getConf(self, ['renderers', self.rendererTypeName]) || {}
@@ -254,14 +382,23 @@ const stateModelFactory = (
254
382
  .views(self => {
255
383
  let oldDomain: [number, number] = [0, 0]
256
384
  return {
385
+ /**
386
+ * #getter
387
+ */
257
388
  get filled() {
258
389
  const { fill, rendererConfig: conf } = self
259
390
  return fill ?? readConfObject(conf, 'filled')
260
391
  },
392
+ /**
393
+ * #getter
394
+ */
261
395
  get summaryScoreModeSetting() {
262
396
  const { summaryScoreMode, rendererConfig: conf } = self
263
397
  return summaryScoreMode ?? readConfObject(conf, 'summaryScoreMode')
264
398
  },
399
+ /**
400
+ * #getter
401
+ */
265
402
  get domain() {
266
403
  const { stats, scaleType, minScore, maxScore } = self
267
404
 
@@ -284,12 +421,18 @@ const stateModelFactory = (
284
421
  return oldDomain
285
422
  },
286
423
 
424
+ /**
425
+ * #getter
426
+ */
287
427
  get needsScalebar() {
288
428
  return (
289
429
  self.rendererTypeName === 'XYPlotRenderer' ||
290
430
  self.rendererTypeName === 'LinePlotRenderer'
291
431
  )
292
432
  },
433
+ /**
434
+ * #getter
435
+ */
293
436
  get scaleOpts() {
294
437
  return {
295
438
  domain: this.domain,
@@ -300,14 +443,23 @@ const stateModelFactory = (
300
443
  }
301
444
  },
302
445
 
446
+ /**
447
+ * #getter
448
+ */
303
449
  get canHaveFill() {
304
450
  return self.rendererTypeName === 'XYPlotRenderer'
305
451
  },
306
452
 
453
+ /**
454
+ * #getter
455
+ */
307
456
  get autoscaleType() {
308
457
  return self.autoscale ?? getConf(self, 'autoscale')
309
458
  },
310
459
 
460
+ /**
461
+ * #getter
462
+ */
311
463
  get displayCrossHatchesSetting() {
312
464
  const { displayCrossHatches: hatches, rendererConfig: conf } = self
313
465
  return hatches ?? readConfObject(conf, 'displayCrossHatches')
@@ -315,6 +467,9 @@ const stateModelFactory = (
315
467
  }
316
468
  })
317
469
  .views(self => ({
470
+ /**
471
+ * #getter
472
+ */
318
473
  get ticks() {
319
474
  const { scaleType, domain, height } = self
320
475
  const minimalTicks = getConf(self, 'minimalTicks')
@@ -332,6 +487,9 @@ const stateModelFactory = (
332
487
  : ticks
333
488
  },
334
489
 
490
+ /**
491
+ * #getter
492
+ */
335
493
  get adapterCapabilities() {
336
494
  return pluginManager.getAdapterType(self.adapterTypeName)
337
495
  .adapterCapabilities
@@ -340,6 +498,9 @@ const stateModelFactory = (
340
498
  .views(self => {
341
499
  const { renderProps: superRenderProps } = self
342
500
  return {
501
+ /**
502
+ * #method
503
+ */
343
504
  renderProps() {
344
505
  const superProps = superRenderProps()
345
506
  const { filters, ticks, height, resolution, scaleOpts } = self
@@ -357,14 +518,23 @@ const stateModelFactory = (
357
518
  filters,
358
519
  }
359
520
  },
521
+ /**
522
+ * #getter
523
+ */
360
524
  get hasResolution() {
361
525
  return self.adapterCapabilities.includes('hasResolution')
362
526
  },
363
527
 
528
+ /**
529
+ * #getter
530
+ */
364
531
  get hasGlobalStats() {
365
532
  return self.adapterCapabilities.includes('hasGlobalStats')
366
533
  },
367
534
 
535
+ /**
536
+ * #getter
537
+ */
368
538
  get fillSetting() {
369
539
  if (self.filled) {
370
540
  return 0
@@ -380,6 +550,9 @@ const stateModelFactory = (
380
550
  const { trackMenuItems: superTrackMenuItems } = self
381
551
  const hasRenderings = getConf(self, 'defaultRendering')
382
552
  return {
553
+ /**
554
+ * #method
555
+ */
383
556
  trackMenuItems() {
384
557
  return [
385
558
  ...superTrackMenuItems(),
@@ -501,7 +674,10 @@ const stateModelFactory = (
501
674
  type ExportSvgOpts = Parameters<typeof superRenderSvg>[0]
502
675
 
503
676
  return {
504
- // re-runs stats and refresh whole display on reload
677
+ /**
678
+ * #action
679
+ * re-runs stats and refresh whole display on reload
680
+ */
505
681
  async reload() {
506
682
  self.setError()
507
683
  const aborter = new AbortController()
@@ -522,6 +698,9 @@ const stateModelFactory = (
522
698
  afterAttach() {
523
699
  statsAutorun(self)
524
700
  },
701
+ /**
702
+ * #action
703
+ */
525
704
  async renderSvg(opts: ExportSvgOpts) {
526
705
  await when(() => self.statsReady && !!self.regionCannotBeRenderedText)
527
706
  const { needsScalebar, stats } = self
@@ -542,6 +721,7 @@ const stateModelFactory = (
542
721
  },
543
722
  }
544
723
  })
724
+ }
545
725
 
546
726
  export type WiggleDisplayStateModel = ReturnType<typeof stateModelFactory>
547
727
  export type WiggleDisplayModel = Instance<WiggleDisplayStateModel>
@@ -1,10 +1,21 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import ConfigSchema from '../configSchema'
2
+ import baseWiggleRendererConfigSchema from '../configSchema'
3
+
4
+ /**
5
+ * #config MultiDensityRenderer
6
+ */
7
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
3
8
 
4
9
  const configSchema = ConfigurationSchema(
5
10
  'MultiDensityRenderer',
6
11
  {},
7
- { baseConfiguration: ConfigSchema, explicitlyTyped: true },
12
+ {
13
+ /**
14
+ * #baseConfiguration
15
+ */
16
+ baseConfiguration: baseWiggleRendererConfigSchema,
17
+ explicitlyTyped: true,
18
+ },
8
19
  )
9
20
 
10
21
  export default configSchema
@@ -1,16 +1,25 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
2
  import { types } from 'mobx-state-tree'
3
- import ConfigSchema from '../configSchema'
3
+ import baseWiggleRendererConfigSchema from '../configSchema'
4
+ /**
5
+ * #config MultiLineRenderer
6
+ */
7
+ function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
4
8
 
5
9
  const configSchema = ConfigurationSchema(
6
10
  'MultiLineRenderer',
7
11
  {
12
+ /**
13
+ * #slot
14
+ */
8
15
  displayCrossHatches: {
9
16
  type: 'boolean',
10
17
  description: 'choose to draw cross hatches (sideways lines)',
11
18
  defaultValue: false,
12
19
  },
13
-
20
+ /**
21
+ * #slot
22
+ */
14
23
  summaryScoreMode: {
15
24
  type: 'stringEnum',
16
25
  model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
@@ -19,6 +28,12 @@ const configSchema = ConfigurationSchema(
19
28
  defaultValue: 'avg',
20
29
  },
21
30
  },
22
- { baseConfiguration: ConfigSchema, explicitlyTyped: true },
31
+ {
32
+ /**
33
+ * #baseConfiguration
34
+ */
35
+ baseConfiguration: baseWiggleRendererConfigSchema,
36
+ explicitlyTyped: true,
37
+ },
23
38
  )
24
39
  export default configSchema