@jbrowse/plugin-linear-genome-view 2.2.0 → 2.2.2

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 (225) hide show
  1. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +1 -1
  2. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +3 -3
  3. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +2 -2
  4. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +1 -1
  5. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  6. package/dist/BasicTrack/index.d.ts +1 -1
  7. package/dist/BasicTrack/index.js +4 -4
  8. package/dist/BasicTrack/index.js.map +1 -1
  9. package/dist/LaunchLinearGenomeView/index.d.ts +3 -0
  10. package/dist/LaunchLinearGenomeView/index.js +44 -0
  11. package/dist/LaunchLinearGenomeView/index.js.map +1 -0
  12. package/dist/LinearBareDisplay/index.d.ts +6 -2
  13. package/dist/LinearBareDisplay/index.js +17 -2
  14. package/dist/LinearBareDisplay/index.js.map +1 -1
  15. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +2 -15
  16. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -1
  17. package/dist/LinearBasicDisplay/index.d.ts +6 -2
  18. package/dist/LinearBasicDisplay/index.js +20 -4
  19. package/dist/LinearBasicDisplay/index.js.map +1 -1
  20. package/dist/LinearBasicDisplay/model.d.ts +21 -14
  21. package/dist/LinearBasicDisplay/model.js +2 -1
  22. package/dist/LinearBasicDisplay/model.js.map +1 -1
  23. package/dist/LinearGenomeView/components/CenterLine.d.ts +1 -1
  24. package/dist/LinearGenomeView/components/ExportSvgDialog.js +1 -19
  25. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -1
  26. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -1
  27. package/dist/LinearGenomeView/components/GetSequenceDialog.js +7 -18
  28. package/dist/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  29. package/dist/LinearGenomeView/components/Gridlines.d.ts +1 -1
  30. package/dist/LinearGenomeView/components/Header.d.ts +1 -1
  31. package/dist/LinearGenomeView/components/Header.js +2 -2
  32. package/dist/LinearGenomeView/components/HelpDialog.js +2 -17
  33. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -1
  34. package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -1
  35. package/dist/LinearGenomeView/components/ImportForm.js +18 -16
  36. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -1
  37. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +1 -1
  38. package/dist/LinearGenomeView/components/LinearGenomeView.js +1 -3
  39. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  40. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +1 -1
  41. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +5 -5
  42. package/dist/LinearGenomeView/components/{OverviewRubberBand.d.ts → OverviewRubberband.d.ts} +3 -3
  43. package/dist/LinearGenomeView/components/{OverviewRubberBand.js → OverviewRubberband.js} +27 -79
  44. package/dist/LinearGenomeView/components/OverviewRubberband.js.map +1 -0
  45. package/{esm/LinearGenomeView/components/OverviewScaleBar.d.ts → dist/LinearGenomeView/components/OverviewScalebar.d.ts} +3 -3
  46. package/dist/LinearGenomeView/components/{OverviewScaleBar.js → OverviewScalebar.js} +25 -24
  47. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +1 -0
  48. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +1 -1
  49. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -1
  50. package/dist/LinearGenomeView/components/{RubberBand.d.ts → Rubberband.d.ts} +3 -3
  51. package/dist/LinearGenomeView/components/Rubberband.js +57 -0
  52. package/dist/LinearGenomeView/components/Rubberband.js.map +1 -0
  53. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +14 -0
  54. package/dist/LinearGenomeView/components/RubberbandSpan.js +90 -0
  55. package/dist/LinearGenomeView/components/RubberbandSpan.js.map +1 -0
  56. package/dist/LinearGenomeView/components/{ScaleBar.d.ts → Scalebar.d.ts} +3 -3
  57. package/dist/LinearGenomeView/components/{ScaleBar.js → Scalebar.js} +11 -11
  58. package/dist/LinearGenomeView/components/{ScaleBar.js.map → Scalebar.js.map} +1 -1
  59. package/dist/LinearGenomeView/components/SearchBox.js +6 -6
  60. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -1
  61. package/dist/LinearGenomeView/components/SearchResultsDialog.js +17 -31
  62. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  63. package/dist/LinearGenomeView/components/SequenceSearchDialog.js +4 -19
  64. package/dist/LinearGenomeView/components/SequenceSearchDialog.js.map +1 -1
  65. package/dist/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  66. package/dist/LinearGenomeView/components/TrackContainer.js +13 -10
  67. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
  68. package/dist/LinearGenomeView/components/TrackLabel.js +9 -1
  69. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -1
  70. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  71. package/dist/LinearGenomeView/components/TracksContainer.js +21 -118
  72. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -1
  73. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +9 -0
  74. package/dist/LinearGenomeView/components/VerticalGuide.js +29 -0
  75. package/dist/LinearGenomeView/components/VerticalGuide.js.map +1 -0
  76. package/dist/LinearGenomeView/components/hooks.d.ts +65 -0
  77. package/dist/LinearGenomeView/components/hooks.js +264 -0
  78. package/dist/LinearGenomeView/components/hooks.js.map +1 -0
  79. package/dist/LinearGenomeView/components/util.d.ts +5 -2
  80. package/dist/LinearGenomeView/components/util.js +7 -6
  81. package/dist/LinearGenomeView/components/util.js.map +1 -1
  82. package/dist/LinearGenomeView/index.d.ts +3 -453
  83. package/dist/LinearGenomeView/index.js +11 -1247
  84. package/dist/LinearGenomeView/index.js.map +1 -1
  85. package/dist/LinearGenomeView/model.d.ts +535 -0
  86. package/dist/LinearGenomeView/model.js +1357 -0
  87. package/dist/LinearGenomeView/model.js.map +1 -0
  88. package/dist/index.d.ts +20 -8
  89. package/dist/index.js +9 -72
  90. package/dist/index.js.map +1 -1
  91. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +1 -1
  92. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +3 -3
  93. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +2 -2
  94. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +1 -1
  95. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  96. package/esm/BasicTrack/index.d.ts +1 -1
  97. package/esm/BasicTrack/index.js +4 -4
  98. package/esm/BasicTrack/index.js.map +1 -1
  99. package/esm/LaunchLinearGenomeView/index.d.ts +3 -0
  100. package/esm/LaunchLinearGenomeView/index.js +42 -0
  101. package/esm/LaunchLinearGenomeView/index.js.map +1 -0
  102. package/esm/LinearBareDisplay/index.d.ts +6 -2
  103. package/esm/LinearBareDisplay/index.js +18 -2
  104. package/esm/LinearBareDisplay/index.js.map +1 -1
  105. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +3 -13
  106. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -1
  107. package/esm/LinearBasicDisplay/index.d.ts +6 -2
  108. package/esm/LinearBasicDisplay/index.js +19 -2
  109. package/esm/LinearBasicDisplay/index.js.map +1 -1
  110. package/esm/LinearBasicDisplay/model.d.ts +21 -14
  111. package/esm/LinearBasicDisplay/model.js +2 -1
  112. package/esm/LinearBasicDisplay/model.js.map +1 -1
  113. package/esm/LinearGenomeView/components/CenterLine.d.ts +1 -1
  114. package/esm/LinearGenomeView/components/ExportSvgDialog.js +3 -18
  115. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -1
  116. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -1
  117. package/esm/LinearGenomeView/components/GetSequenceDialog.js +8 -19
  118. package/esm/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  119. package/esm/LinearGenomeView/components/Gridlines.d.ts +1 -1
  120. package/esm/LinearGenomeView/components/Header.d.ts +1 -1
  121. package/esm/LinearGenomeView/components/Header.js +2 -2
  122. package/esm/LinearGenomeView/components/HelpDialog.js +3 -18
  123. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -1
  124. package/esm/LinearGenomeView/components/ImportForm.d.ts +1 -1
  125. package/esm/LinearGenomeView/components/ImportForm.js +18 -16
  126. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -1
  127. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +1 -1
  128. package/esm/LinearGenomeView/components/LinearGenomeView.js +2 -4
  129. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  130. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +1 -1
  131. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +3 -3
  132. package/esm/LinearGenomeView/components/{OverviewRubberBand.d.ts → OverviewRubberband.d.ts} +3 -3
  133. package/esm/LinearGenomeView/components/{OverviewRubberBand.js → OverviewRubberband.js} +25 -80
  134. package/esm/LinearGenomeView/components/OverviewRubberband.js.map +1 -0
  135. package/{dist/LinearGenomeView/components/OverviewScaleBar.d.ts → esm/LinearGenomeView/components/OverviewScalebar.d.ts} +3 -3
  136. package/esm/LinearGenomeView/components/{OverviewScaleBar.js → OverviewScalebar.js} +25 -24
  137. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +1 -0
  138. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +1 -1
  139. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -1
  140. package/esm/LinearGenomeView/components/{RubberBand.d.ts → Rubberband.d.ts} +3 -3
  141. package/esm/LinearGenomeView/components/Rubberband.js +29 -0
  142. package/esm/LinearGenomeView/components/Rubberband.js.map +1 -0
  143. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +14 -0
  144. package/esm/LinearGenomeView/components/RubberbandSpan.js +65 -0
  145. package/esm/LinearGenomeView/components/RubberbandSpan.js.map +1 -0
  146. package/esm/LinearGenomeView/components/{ScaleBar.d.ts → Scalebar.d.ts} +3 -3
  147. package/esm/LinearGenomeView/components/{ScaleBar.js → Scalebar.js} +11 -11
  148. package/esm/LinearGenomeView/components/{ScaleBar.js.map → Scalebar.js.map} +1 -1
  149. package/esm/LinearGenomeView/components/SearchBox.js +6 -6
  150. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -1
  151. package/esm/LinearGenomeView/components/SearchResultsDialog.js +18 -32
  152. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  153. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +5 -17
  154. package/esm/LinearGenomeView/components/SequenceSearchDialog.js.map +1 -1
  155. package/esm/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  156. package/esm/LinearGenomeView/components/TrackContainer.js +14 -11
  157. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
  158. package/esm/LinearGenomeView/components/TrackLabel.js +9 -1
  159. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -1
  160. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  161. package/esm/LinearGenomeView/components/TracksContainer.js +22 -119
  162. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -1
  163. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +9 -0
  164. package/esm/LinearGenomeView/components/VerticalGuide.js +24 -0
  165. package/esm/LinearGenomeView/components/VerticalGuide.js.map +1 -0
  166. package/esm/LinearGenomeView/components/hooks.d.ts +65 -0
  167. package/esm/LinearGenomeView/components/hooks.js +255 -0
  168. package/esm/LinearGenomeView/components/hooks.js.map +1 -0
  169. package/esm/LinearGenomeView/components/util.d.ts +5 -2
  170. package/esm/LinearGenomeView/components/util.js +4 -3
  171. package/esm/LinearGenomeView/components/util.js.map +1 -1
  172. package/esm/LinearGenomeView/index.d.ts +3 -453
  173. package/esm/LinearGenomeView/index.js +9 -1238
  174. package/esm/LinearGenomeView/index.js.map +1 -1
  175. package/esm/LinearGenomeView/model.d.ts +535 -0
  176. package/esm/LinearGenomeView/model.js +1322 -0
  177. package/esm/LinearGenomeView/model.js.map +1 -0
  178. package/esm/index.d.ts +20 -8
  179. package/esm/index.js +9 -72
  180. package/esm/index.js.map +1 -1
  181. package/package.json +3 -3
  182. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  183. package/src/BasicTrack/index.ts +4 -8
  184. package/src/LaunchLinearGenomeView/index.ts +66 -0
  185. package/src/LinearBareDisplay/index.ts +21 -2
  186. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +3 -28
  187. package/src/LinearBasicDisplay/index.ts +23 -2
  188. package/src/LinearBasicDisplay/model.ts +2 -1
  189. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +2 -23
  190. package/src/LinearGenomeView/components/GetSequenceDialog.tsx +13 -31
  191. package/src/LinearGenomeView/components/Header.tsx +3 -3
  192. package/src/LinearGenomeView/components/HelpDialog.tsx +8 -34
  193. package/src/LinearGenomeView/components/ImportForm.tsx +19 -16
  194. package/src/LinearGenomeView/components/LinearGenomeView.tsx +2 -8
  195. package/src/LinearGenomeView/components/LinearGenomeViewSvg.tsx +3 -3
  196. package/src/LinearGenomeView/components/{OverviewRubberBand.tsx → OverviewRubberband.tsx} +32 -114
  197. package/src/LinearGenomeView/components/{OverviewScaleBar.tsx → OverviewScalebar.tsx} +26 -25
  198. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +2 -1
  199. package/src/LinearGenomeView/components/Rubberband.tsx +89 -0
  200. package/src/LinearGenomeView/components/RubberbandSpan.tsx +116 -0
  201. package/src/LinearGenomeView/components/{ScaleBar.test.tsx → Scalebar.test.tsx} +5 -5
  202. package/src/LinearGenomeView/components/{ScaleBar.tsx → Scalebar.tsx} +11 -11
  203. package/src/LinearGenomeView/components/SearchBox.tsx +6 -6
  204. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +17 -44
  205. package/src/LinearGenomeView/components/SequenceSearchDialog.tsx +4 -30
  206. package/src/LinearGenomeView/components/TrackContainer.tsx +41 -28
  207. package/src/LinearGenomeView/components/TrackLabel.tsx +10 -1
  208. package/src/LinearGenomeView/components/TracksContainer.tsx +59 -136
  209. package/src/LinearGenomeView/components/VerticalGuide.tsx +37 -0
  210. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +37 -39
  211. package/src/LinearGenomeView/components/hooks.ts +300 -0
  212. package/src/LinearGenomeView/components/util.ts +8 -11
  213. package/src/LinearGenomeView/index.test.ts +6 -7
  214. package/src/LinearGenomeView/index.ts +17 -0
  215. package/src/LinearGenomeView/{index.tsx → model.ts} +159 -75
  216. package/src/index.ts +13 -108
  217. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +0 -1
  218. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +0 -1
  219. package/dist/LinearGenomeView/components/RubberBand.js +0 -221
  220. package/dist/LinearGenomeView/components/RubberBand.js.map +0 -1
  221. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +0 -1
  222. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +0 -1
  223. package/esm/LinearGenomeView/components/RubberBand.js +0 -196
  224. package/esm/LinearGenomeView/components/RubberBand.js.map +0 -1
  225. package/src/LinearGenomeView/components/RubberBand.tsx +0 -308
@@ -22,7 +22,7 @@ import { BlockSet, BaseBlock } from '@jbrowse/core/util/blockTypes'
22
22
  import calculateDynamicBlocks from '@jbrowse/core/util/calculateDynamicBlocks'
23
23
  import calculateStaticBlocks from '@jbrowse/core/util/calculateStaticBlocks'
24
24
  import { getParentRenderProps } from '@jbrowse/core/util/tracks'
25
- import { transaction, autorun } from 'mobx'
25
+ import { when, transaction, autorun } from 'mobx'
26
26
  import {
27
27
  addDisposer,
28
28
  cast,
@@ -59,6 +59,7 @@ import Header from './components/Header'
59
59
  import ZoomControls from './components/ZoomControls'
60
60
  import LinearGenomeView from './components/LinearGenomeView'
61
61
 
62
+ // lazies
62
63
  const SequenceSearchDialog = lazy(
63
64
  () => import('./components/SequenceSearchDialog'),
64
65
  )
@@ -136,8 +137,11 @@ export function stateModelFactory(pluginManager: PluginManager) {
136
137
 
137
138
  /**
138
139
  * #property
140
+ * this is a string instead of the const literal 'LinearGenomeView' to reduce some
141
+ * typescripting strictness, but you should pass the string 'LinearGenomeView' to
142
+ * the model explicitly
139
143
  */
140
- type: types.literal('LinearGenomeView'),
144
+ type: types.literal('LinearGenomeView') as unknown as string,
141
145
 
142
146
  /**
143
147
  * #property
@@ -274,16 +278,25 @@ export function stateModelFactory(pluginManager: PluginManager) {
274
278
  },
275
279
  }))
276
280
  .views(self => ({
281
+ /**
282
+ * #method
283
+ */
277
284
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
278
285
  MiniControlsComponent(): React.FC<any> {
279
286
  return MiniControls
280
287
  },
281
288
 
289
+ /**
290
+ * #method
291
+ */
282
292
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
283
293
  HeaderComponent(): React.FC<any> {
284
294
  return Header
285
295
  },
286
296
 
297
+ /**
298
+ * #getter
299
+ */
287
300
  get assemblyErrors() {
288
301
  const { assemblyManager } = getSession(self)
289
302
  const { assemblyNames } = self
@@ -293,23 +306,46 @@ export function stateModelFactory(pluginManager: PluginManager) {
293
306
  .join(', ')
294
307
  },
295
308
 
309
+ /**
310
+ * #getter
311
+ */
296
312
  get assembliesInitialized() {
297
313
  const { assemblyManager } = getSession(self)
298
314
  const { assemblyNames } = self
299
315
  return assemblyNames.every(a => assemblyManager.get(a)?.initialized)
300
316
  },
317
+
318
+ /**
319
+ * #getter
320
+ */
301
321
  get initialized() {
302
322
  return self.volatileWidth !== undefined && this.assembliesInitialized
303
323
  },
324
+
325
+ /**
326
+ * #getter
327
+ */
304
328
  get hasDisplayedRegions() {
305
329
  return self.displayedRegions.length > 0
306
330
  },
331
+
332
+ /**
333
+ * #getter
334
+ */
307
335
  get isSearchDialogDisplayed() {
308
336
  return self.searchResults !== undefined
309
337
  },
338
+
339
+ /**
340
+ * #getter
341
+ */
310
342
  get scaleBarHeight() {
311
343
  return SCALE_BAR_HEIGHT + RESIZE_HANDLE_HEIGHT
312
344
  },
345
+
346
+ /**
347
+ * #getter
348
+ */
313
349
  get headerHeight() {
314
350
  if (self.hideHeader) {
315
351
  return 0
@@ -319,15 +355,26 @@ export function stateModelFactory(pluginManager: PluginManager) {
319
355
  }
320
356
  return HEADER_BAR_HEIGHT + HEADER_OVERVIEW_HEIGHT
321
357
  },
358
+
359
+ /**
360
+ * #getter
361
+ */
322
362
  get trackHeights() {
323
363
  return self.tracks
324
364
  .map(t => t.displays[0].height)
325
365
  .reduce((a, b) => a + b, 0)
326
366
  },
327
367
 
368
+ /**
369
+ * #getter
370
+ */
328
371
  get trackHeightsWithResizeHandles() {
329
372
  return this.trackHeights + self.tracks.length * RESIZE_HANDLE_HEIGHT
330
373
  },
374
+
375
+ /**
376
+ * #getter
377
+ */
331
378
  get height() {
332
379
  return (
333
380
  this.trackHeightsWithResizeHandles +
@@ -335,38 +382,63 @@ export function stateModelFactory(pluginManager: PluginManager) {
335
382
  this.scaleBarHeight
336
383
  )
337
384
  },
385
+
386
+ /**
387
+ * #getter
388
+ */
338
389
  get totalBp() {
339
390
  return self.displayedRegions.reduce((a, b) => a + b.end - b.start, 0)
340
391
  },
341
392
 
393
+ /**
394
+ * #getter
395
+ */
342
396
  get maxBpPerPx() {
343
397
  return this.totalBp / (self.width * 0.9)
344
398
  },
345
399
 
400
+ /**
401
+ * #getter
402
+ */
346
403
  get minBpPerPx() {
347
404
  return 1 / 50
348
405
  },
349
406
 
407
+ /**
408
+ * #getter
409
+ */
350
410
  get error() {
351
411
  return self.volatileError || this.assemblyErrors
352
412
  },
353
413
 
414
+ /**
415
+ * #getter
416
+ */
354
417
  get maxOffset() {
355
418
  // objectively determined to keep the linear genome on the main screen
356
419
  const leftPadding = 10
357
420
  return this.displayedRegionsTotalPx - leftPadding
358
421
  },
359
422
 
423
+ /**
424
+ * #getter
425
+ */
360
426
  get minOffset() {
361
427
  // objectively determined to keep the linear genome on the main screen
362
428
  const rightPadding = 30
363
429
  return -self.width + rightPadding
364
430
  },
365
431
 
432
+ /**
433
+ * #getter
434
+ */
366
435
  get displayedRegionsTotalPx() {
367
436
  return this.totalBp / self.bpPerPx
368
437
  },
369
438
 
439
+ /**
440
+ * #method
441
+ */
370
442
  renderProps() {
371
443
  return {
372
444
  ...getParentRenderProps(self),
@@ -378,6 +450,9 @@ export function stateModelFactory(pluginManager: PluginManager) {
378
450
  }
379
451
  },
380
452
 
453
+ /**
454
+ * #method
455
+ */
381
456
  searchScope(assemblyName: string) {
382
457
  return {
383
458
  assemblyName,
@@ -386,10 +461,16 @@ export function stateModelFactory(pluginManager: PluginManager) {
386
461
  }
387
462
  },
388
463
 
464
+ /**
465
+ * #method
466
+ */
389
467
  getTrack(id: string) {
390
468
  return self.tracks.find(t => t.configuration.trackId === id)
391
469
  },
392
470
 
471
+ /**
472
+ * #method
473
+ */
393
474
  rankSearchResults(results: BaseResult[]) {
394
475
  // order of rank
395
476
  const openTrackIds = self.tracks.map(
@@ -403,7 +484,10 @@ export function stateModelFactory(pluginManager: PluginManager) {
403
484
  return results
404
485
  },
405
486
 
406
- // modifies view menu action onClick to apply to all tracks of same type
487
+ /**
488
+ * #method
489
+ * modifies view menu action onClick to apply to all tracks of same type
490
+ */
407
491
  rewriteOnClicks(trackType: string, viewMenuActions: MenuItem[]) {
408
492
  viewMenuActions.forEach(action => {
409
493
  // go to lowest level menu
@@ -422,7 +506,9 @@ export function stateModelFactory(pluginManager: PluginManager) {
422
506
  }
423
507
  })
424
508
  },
425
-
509
+ /**
510
+ * #getter
511
+ */
426
512
  get trackTypeActions() {
427
513
  const allActions: Map<string, MenuItem[]> = new Map()
428
514
  self.tracks.forEach(track => {
@@ -609,7 +695,9 @@ export function stateModelFactory(pluginManager: PluginManager) {
609
695
  }
610
696
  return t[0]
611
697
  },
612
-
698
+ /**
699
+ * #action
700
+ */
613
701
  hideTrack(trackId: string) {
614
702
  const schema = pluginManager.pluggableConfigSchemaType('track')
615
703
  const conf = resolveIdentifier(schema, getRoot(self), trackId)
@@ -973,59 +1061,57 @@ export function stateModelFactory(pluginManager: PluginManager) {
973
1061
  icon: SyncAltIcon,
974
1062
  onClick: self.horizontallyFlip,
975
1063
  },
976
- { type: 'divider' },
977
- {
978
- label: 'Show all regions in assembly',
979
- icon: VisibilityIcon,
980
- onClick: self.showAllRegionsInAssembly,
981
- },
982
- {
983
- label: 'Show center line',
984
- icon: VisibilityIcon,
985
- type: 'checkbox',
986
- checked: self.showCenterLine,
987
- onClick: self.toggleCenterLine,
988
- },
989
- {
990
- label: 'Show header',
991
- icon: VisibilityIcon,
992
- type: 'checkbox',
993
- checked: !self.hideHeader,
994
- onClick: self.toggleHeader,
995
- },
996
- {
997
- label: 'Show header overview',
998
- icon: VisibilityIcon,
999
- type: 'checkbox',
1000
- checked: !self.hideHeaderOverview,
1001
- onClick: self.toggleHeaderOverview,
1002
- disabled: self.hideHeader,
1003
- },
1004
- {
1005
- label: 'Show no tracks active button',
1006
- icon: VisibilityIcon,
1007
- type: 'checkbox',
1008
- checked: !self.hideNoTracksActive,
1009
- onClick: self.toggleNoTracksActive,
1010
- },
1011
1064
  {
1012
- label: 'Show guidelines',
1065
+ label: 'Show...',
1013
1066
  icon: VisibilityIcon,
1014
- type: 'checkbox',
1015
- checked: self.showGridlines,
1016
- onClick: self.toggleShowGridlines,
1067
+ subMenu: [
1068
+ {
1069
+ label: 'Show all regions in assembly',
1070
+ onClick: self.showAllRegionsInAssembly,
1071
+ },
1072
+ {
1073
+ label: 'Show center line',
1074
+ type: 'checkbox',
1075
+ checked: self.showCenterLine,
1076
+ onClick: self.toggleCenterLine,
1077
+ },
1078
+ {
1079
+ label: 'Show header',
1080
+ type: 'checkbox',
1081
+ checked: !self.hideHeader,
1082
+ onClick: self.toggleHeader,
1083
+ },
1084
+ {
1085
+ label: 'Show header overview',
1086
+ type: 'checkbox',
1087
+ checked: !self.hideHeaderOverview,
1088
+ onClick: self.toggleHeaderOverview,
1089
+ disabled: self.hideHeader,
1090
+ },
1091
+ {
1092
+ label: 'Show no tracks active button',
1093
+ type: 'checkbox',
1094
+ checked: !self.hideNoTracksActive,
1095
+ onClick: self.toggleNoTracksActive,
1096
+ },
1097
+ {
1098
+ label: 'Show guidelines',
1099
+ type: 'checkbox',
1100
+ checked: self.showGridlines,
1101
+ onClick: self.toggleShowGridlines,
1102
+ },
1103
+ ...(canShowCytobands
1104
+ ? [
1105
+ {
1106
+ label: 'Show ideogram',
1107
+ type: 'checkbox' as const,
1108
+ checked: self.showCytobands,
1109
+ onClick: () => self.setShowCytobands(!showCytobands),
1110
+ },
1111
+ ]
1112
+ : []),
1113
+ ],
1017
1114
  },
1018
- ...(canShowCytobands
1019
- ? [
1020
- {
1021
- label: 'Show ideogram',
1022
- icon: VisibilityIcon,
1023
- type: 'checkbox' as const,
1024
- checked: self.showCytobands,
1025
- onClick: () => self.setShowCytobands(!showCytobands),
1026
- },
1027
- ]
1028
- : []),
1029
1115
  {
1030
1116
  label: 'Track labels',
1031
1117
  icon: LabelIcon,
@@ -1181,6 +1267,7 @@ export function stateModelFactory(pluginManager: PluginManager) {
1181
1267
  const { assemblyNames } = self
1182
1268
  const { assemblyManager } = getSession(self)
1183
1269
  const { isValidRefName } = assemblyManager
1270
+ await when(() => self.volatileWidth !== undefined)
1184
1271
  const assemblyName = optAssemblyName || assemblyNames[0]
1185
1272
  let parsedLocStrings
1186
1273
  const inputs = locString
@@ -1195,8 +1282,8 @@ export function stateModelFactory(pluginManager: PluginManager) {
1195
1282
  // first try interpreting as a whitespace-separated sequence of
1196
1283
  // multiple locstrings
1197
1284
  try {
1198
- parsedLocStrings = inputs.map(l =>
1199
- parseLocString(l, ref => isValidRefName(ref, assemblyName)),
1285
+ parsedLocStrings = inputs.map(loc =>
1286
+ parseLocString(loc, ref => isValidRefName(ref, assemblyName)),
1200
1287
  )
1201
1288
  } catch (e) {
1202
1289
  // if this fails, try interpreting as a whitespace-separated refname,
@@ -1375,18 +1462,14 @@ export function stateModelFactory(pluginManager: PluginManager) {
1375
1462
  )
1376
1463
  return
1377
1464
  }
1378
- let locationIndex = 0
1379
- let locationStart = 0
1380
- let locationEnd = 0
1381
- for (
1382
- locationIndex;
1383
- locationIndex < locations.length;
1384
- locationIndex++
1385
- ) {
1386
- const location = locations[locationIndex]
1387
- const region = self.displayedRegions[index + locationIndex]
1388
- locationStart = location.start || region.start
1389
- locationEnd = location.end || region.end
1465
+ let idx = 0
1466
+ let start = 0
1467
+ let end = 0
1468
+ for (idx; idx < locations.length; idx++) {
1469
+ const location = locations[idx]
1470
+ const region = self.displayedRegions[index + idx]
1471
+ start = location.start || region.start
1472
+ end = location.end || region.end
1390
1473
  if (location.refName !== region.refName) {
1391
1474
  throw new Error(
1392
1475
  `Entered location ${assembleLocString(
@@ -1395,10 +1478,9 @@ export function stateModelFactory(pluginManager: PluginManager) {
1395
1478
  )
1396
1479
  }
1397
1480
  }
1398
- locationIndex -= 1
1481
+ idx -= 1
1399
1482
  const startDisplayedRegion = self.displayedRegions[index]
1400
- const endDisplayedRegion =
1401
- self.displayedRegions[index + locationIndex]
1483
+ const endDisplayedRegion = self.displayedRegions[index + idx]
1402
1484
  this.moveTo(
1403
1485
  {
1404
1486
  index,
@@ -1407,10 +1489,10 @@ export function stateModelFactory(pluginManager: PluginManager) {
1407
1489
  : s - startDisplayedRegion.start,
1408
1490
  },
1409
1491
  {
1410
- index: index + locationIndex,
1492
+ index: index + idx,
1411
1493
  offset: endDisplayedRegion.reversed
1412
- ? endDisplayedRegion.end - locationStart
1413
- : locationEnd - endDisplayedRegion.start,
1494
+ ? endDisplayedRegion.end - start
1495
+ : end - endDisplayedRegion.start,
1414
1496
  },
1415
1497
  )
1416
1498
  return
@@ -1503,6 +1585,8 @@ export {
1503
1585
  ZoomControls,
1504
1586
  LinearGenomeView,
1505
1587
  }
1588
+
1506
1589
  export type LinearGenomeViewStateModel = ReturnType<typeof stateModelFactory>
1507
1590
  export type LinearGenomeViewModel = Instance<LinearGenomeViewStateModel>
1591
+
1508
1592
  export { default as ReactComponent } from './components/LinearGenomeView'
package/src/index.ts CHANGED
@@ -1,42 +1,36 @@
1
- import { lazy } from 'react'
2
- import { when } from 'mobx'
3
-
4
- import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType'
5
- import ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'
6
1
  import Plugin from '@jbrowse/core/Plugin'
7
2
  import PluginManager from '@jbrowse/core/PluginManager'
8
3
  import { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'
4
+
5
+ // icons
9
6
  import LineStyleIcon from '@mui/icons-material/LineStyle'
7
+
10
8
  import {
11
9
  BaseLinearDisplay,
12
10
  BaseLinearDisplayComponent,
13
- baseLinearDisplayConfigSchema,
14
11
  BlockModel,
12
+ baseLinearDisplayConfigSchema,
15
13
  } from './BaseLinearDisplay'
16
- import {
14
+ import LinearBareDisplayF, {
17
15
  configSchemaFactory as linearBareDisplayConfigSchemaFactory,
18
- stateModelFactory as LinearBareDisplayStateModelFactory,
19
16
  } from './LinearBareDisplay'
20
- import {
17
+ import LinearGenomeViewF, {
18
+ renderToSvg,
21
19
  LinearGenomeViewModel,
22
20
  LinearGenomeViewStateModel,
23
- stateModelFactory as linearGenomeViewStateModelFactory,
24
- renderToSvg,
25
21
  RefNameAutocomplete,
26
22
  SearchBox,
27
23
  ZoomControls,
28
24
  LinearGenomeView,
29
25
  } from './LinearGenomeView'
30
-
31
- import {
26
+ import LinearBasicDisplayF, {
32
27
  configSchema as linearBasicDisplayConfigSchemaFactory,
33
28
  modelFactory as linearBasicDisplayModelFactory,
34
29
  } from './LinearBasicDisplay'
35
30
 
36
31
  import FeatureTrackF from './FeatureTrack'
37
32
  import BasicTrackF from './BasicTrack'
38
-
39
- type LGV = LinearGenomeViewModel
33
+ import LaunchLinearGenomeViewF from './LaunchLinearGenomeView'
40
34
 
41
35
  export default class LinearGenomeViewPlugin extends Plugin {
42
36
  name = 'LinearGenomeViewPlugin'
@@ -53,99 +47,10 @@ export default class LinearGenomeViewPlugin extends Plugin {
53
47
  install(pluginManager: PluginManager) {
54
48
  FeatureTrackF(pluginManager)
55
49
  BasicTrackF(pluginManager)
56
- pluginManager.addDisplayType(() => {
57
- const configSchema = linearBareDisplayConfigSchemaFactory(pluginManager)
58
- return new DisplayType({
59
- name: 'LinearBareDisplay',
60
- configSchema,
61
- stateModel: LinearBareDisplayStateModelFactory(configSchema),
62
- trackType: 'BasicTrack',
63
- viewType: 'LinearGenomeView',
64
- ReactComponent: BaseLinearDisplayComponent,
65
- })
66
- })
67
-
68
- pluginManager.addDisplayType(() => {
69
- const configSchema = linearBasicDisplayConfigSchemaFactory(pluginManager)
70
- return new DisplayType({
71
- name: 'LinearBasicDisplay',
72
- configSchema,
73
- stateModel: linearBasicDisplayModelFactory(configSchema),
74
- trackType: 'FeatureTrack',
75
- viewType: 'LinearGenomeView',
76
- ReactComponent: BaseLinearDisplayComponent,
77
- })
78
- })
79
-
80
- pluginManager.addViewType(
81
- () =>
82
- new ViewType({
83
- name: 'LinearGenomeView',
84
- stateModel: linearGenomeViewStateModelFactory(pluginManager),
85
- ReactComponent: lazy(
86
- () => import('./LinearGenomeView/components/LinearGenomeView'),
87
- ),
88
- }),
89
- )
90
-
91
- pluginManager.addToExtensionPoint(
92
- 'LaunchView-LinearGenomeView',
93
- // @ts-ignore
94
- async ({
95
- session,
96
- assembly,
97
- loc,
98
- tracks = [],
99
- }: {
100
- session: AbstractSessionModel
101
- assembly?: string
102
- loc: string
103
- tracks?: string[]
104
- }) => {
105
- try {
106
- const { assemblyManager } = session
107
- const view = session.addView('LinearGenomeView', {}) as LGV
108
-
109
- await when(() => !!view.volatileWidth)
110
-
111
- if (!assembly) {
112
- throw new Error(
113
- 'No assembly provided when launching linear genome view',
114
- )
115
- }
116
-
117
- const asm = await assemblyManager.waitForAssembly(assembly)
118
- if (!asm) {
119
- throw new Error(
120
- `Assembly "${assembly}" not found when launching linear genome view`,
121
- )
122
- }
123
-
124
- view.navToLocString(loc, assembly)
125
-
126
- const idsNotFound = [] as string[]
127
- tracks.forEach(track => {
128
- try {
129
- view.showTrack(track)
130
- } catch (e) {
131
- if (`${e}`.match('Could not resolve identifier')) {
132
- idsNotFound.push(track)
133
- } else {
134
- throw e
135
- }
136
- }
137
- })
138
- if (idsNotFound.length) {
139
- throw new Error(
140
- `Could not resolve identifiers: ${idsNotFound.join(',')}`,
141
- )
142
- }
143
- } catch (e) {
144
- session.notify(`${e}`, 'error')
145
- throw e
146
- }
147
- },
148
- )
50
+ LinearBasicDisplayF(pluginManager)
51
+ LinearGenomeViewF(pluginManager)
52
+ LinearBareDisplayF(pluginManager)
53
+ LaunchLinearGenomeViewF(pluginManager)
149
54
  }
150
55
 
151
56
  configure(pluginManager: PluginManager) {
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewRubberBand.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/OverviewRubberBand.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewScaleBar.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/OverviewScaleBar.tsx"],"names":[],"mappings":"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"}