@jbrowse/plugin-linear-genome-view 2.1.7 → 2.2.1

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 (147) hide show
  1. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +2 -2
  2. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +2 -22
  3. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -1
  4. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +1 -1
  5. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +149 -4
  6. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +600 -464
  7. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  8. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +19 -1
  9. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -1
  10. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +2 -2
  11. package/dist/BasicTrack/configSchema.d.ts +3 -0
  12. package/dist/BasicTrack/configSchema.js +18 -0
  13. package/dist/BasicTrack/configSchema.js.map +1 -0
  14. package/dist/BasicTrack/index.d.ts +3 -0
  15. package/dist/BasicTrack/index.js +18 -0
  16. package/dist/BasicTrack/index.js.map +1 -0
  17. package/dist/FeatureTrack/configSchema.d.ts +3 -0
  18. package/dist/FeatureTrack/configSchema.js +21 -0
  19. package/dist/FeatureTrack/configSchema.js.map +1 -0
  20. package/dist/FeatureTrack/index.d.ts +3 -0
  21. package/dist/FeatureTrack/index.js +18 -0
  22. package/dist/FeatureTrack/index.js.map +1 -0
  23. package/dist/LinearBareDisplay/configSchema.d.ts +5 -1
  24. package/dist/LinearBareDisplay/configSchema.js +12 -1
  25. package/dist/LinearBareDisplay/configSchema.js.map +1 -1
  26. package/dist/LinearBareDisplay/model.d.ts +16 -0
  27. package/dist/LinearBareDisplay/model.js +16 -0
  28. package/dist/LinearBareDisplay/model.js.map +1 -1
  29. package/dist/LinearBasicDisplay/configSchema.d.ts +5 -1
  30. package/dist/LinearBasicDisplay/configSchema.js +16 -1
  31. package/dist/LinearBasicDisplay/configSchema.js.map +1 -1
  32. package/dist/LinearBasicDisplay/model.d.ts +79 -8
  33. package/dist/LinearBasicDisplay/model.js +167 -111
  34. package/dist/LinearBasicDisplay/model.js.map +1 -1
  35. package/dist/LinearGenomeView/components/CenterLine.d.ts +1 -1
  36. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -1
  37. package/dist/LinearGenomeView/components/Gridlines.d.ts +1 -1
  38. package/dist/LinearGenomeView/components/Header.d.ts +1 -1
  39. package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -1
  40. package/dist/LinearGenomeView/components/ImportForm.js +38 -31
  41. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -1
  42. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +1 -1
  43. package/dist/LinearGenomeView/components/LinearGenomeView.js +2 -24
  44. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  45. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +1 -1
  46. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +7 -5
  47. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -1
  48. package/dist/LinearGenomeView/components/OverviewRubberBand.d.ts +1 -1
  49. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +27 -35
  50. package/dist/LinearGenomeView/components/RubberBand.d.ts +1 -1
  51. package/dist/LinearGenomeView/components/ScaleBar.d.ts +1 -1
  52. package/dist/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  53. package/dist/LinearGenomeView/components/TrackContainer.js +12 -9
  54. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
  55. package/dist/LinearGenomeView/components/TrackLabel.js +9 -1
  56. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -1
  57. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  58. package/dist/LinearGenomeView/index.d.ts +273 -18
  59. package/dist/LinearGenomeView/index.js +409 -90
  60. package/dist/LinearGenomeView/index.js.map +1 -1
  61. package/dist/index.d.ts +30 -90
  62. package/dist/index.js +4 -25
  63. package/dist/index.js.map +1 -1
  64. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +2 -2
  65. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +2 -22
  66. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -1
  67. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +1 -1
  68. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +149 -4
  69. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +600 -464
  70. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  71. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +19 -1
  72. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -1
  73. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +2 -2
  74. package/esm/BasicTrack/configSchema.d.ts +3 -0
  75. package/esm/BasicTrack/configSchema.js +16 -0
  76. package/esm/BasicTrack/configSchema.js.map +1 -0
  77. package/esm/BasicTrack/index.d.ts +3 -0
  78. package/esm/BasicTrack/index.js +13 -0
  79. package/esm/BasicTrack/index.js.map +1 -0
  80. package/esm/FeatureTrack/configSchema.d.ts +3 -0
  81. package/esm/FeatureTrack/configSchema.js +19 -0
  82. package/esm/FeatureTrack/configSchema.js.map +1 -0
  83. package/esm/FeatureTrack/index.d.ts +3 -0
  84. package/esm/FeatureTrack/index.js +13 -0
  85. package/esm/FeatureTrack/index.js.map +1 -0
  86. package/esm/LinearBareDisplay/configSchema.d.ts +5 -1
  87. package/esm/LinearBareDisplay/configSchema.js +14 -2
  88. package/esm/LinearBareDisplay/configSchema.js.map +1 -1
  89. package/esm/LinearBareDisplay/model.d.ts +16 -0
  90. package/esm/LinearBareDisplay/model.js +16 -0
  91. package/esm/LinearBareDisplay/model.js.map +1 -1
  92. package/esm/LinearBasicDisplay/configSchema.d.ts +5 -1
  93. package/esm/LinearBasicDisplay/configSchema.js +18 -2
  94. package/esm/LinearBasicDisplay/configSchema.js.map +1 -1
  95. package/esm/LinearBasicDisplay/model.d.ts +79 -8
  96. package/esm/LinearBasicDisplay/model.js +167 -111
  97. package/esm/LinearBasicDisplay/model.js.map +1 -1
  98. package/esm/LinearGenomeView/components/CenterLine.d.ts +1 -1
  99. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +1 -1
  100. package/esm/LinearGenomeView/components/Gridlines.d.ts +1 -1
  101. package/esm/LinearGenomeView/components/Header.d.ts +1 -1
  102. package/esm/LinearGenomeView/components/ImportForm.d.ts +1 -1
  103. package/esm/LinearGenomeView/components/ImportForm.js +40 -33
  104. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -1
  105. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +1 -1
  106. package/esm/LinearGenomeView/components/LinearGenomeView.js +3 -25
  107. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  108. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +1 -1
  109. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +7 -5
  110. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -1
  111. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +1 -1
  112. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +27 -35
  113. package/esm/LinearGenomeView/components/RubberBand.d.ts +1 -1
  114. package/esm/LinearGenomeView/components/ScaleBar.d.ts +1 -1
  115. package/esm/LinearGenomeView/components/TrackContainer.d.ts +1 -1
  116. package/esm/LinearGenomeView/components/TrackContainer.js +13 -10
  117. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
  118. package/esm/LinearGenomeView/components/TrackLabel.js +9 -1
  119. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -1
  120. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  121. package/esm/LinearGenomeView/index.d.ts +273 -18
  122. package/esm/LinearGenomeView/index.js +409 -90
  123. package/esm/LinearGenomeView/index.js.map +1 -1
  124. package/esm/index.d.ts +30 -90
  125. package/esm/index.js +4 -25
  126. package/esm/index.js.map +1 -1
  127. package/package.json +2 -2
  128. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +2 -24
  129. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +695 -555
  130. package/src/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.ts +20 -1
  131. package/src/BasicTrack/configSchema.ts +23 -0
  132. package/src/BasicTrack/index.ts +18 -0
  133. package/src/FeatureTrack/configSchema.ts +27 -0
  134. package/src/FeatureTrack/index.ts +21 -0
  135. package/src/LinearBareDisplay/configSchema.ts +15 -2
  136. package/src/LinearBareDisplay/model.ts +16 -0
  137. package/src/LinearBasicDisplay/configSchema.ts +19 -2
  138. package/src/LinearBasicDisplay/model.ts +63 -11
  139. package/src/LinearGenomeView/components/ImportForm.tsx +85 -67
  140. package/src/LinearGenomeView/components/LinearGenomeView.tsx +3 -33
  141. package/src/LinearGenomeView/components/LinearGenomeViewSvg.tsx +21 -18
  142. package/src/LinearGenomeView/components/TrackContainer.tsx +38 -27
  143. package/src/LinearGenomeView/components/TrackLabel.tsx +10 -1
  144. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +204 -204
  145. package/src/LinearGenomeView/index.test.ts +33 -26
  146. package/src/LinearGenomeView/index.tsx +471 -133
  147. package/src/index.ts +6 -46
@@ -1,3 +1,4 @@
1
+ import { waitFor } from '@testing-library/react'
1
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
3
  import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType'
3
4
  import {
@@ -10,7 +11,7 @@ import { Instance, types } from 'mobx-state-tree'
10
11
  import { LinearGenomeViewStateModel, stateModelFactory } from '.'
11
12
  import { BaseLinearDisplayComponent } from '..'
12
13
  import { stateModelFactory as LinearBasicDisplayStateModelFactory } from '../LinearBareDisplay'
13
- import hg38DisplayedRegions from './hg38DisplayedRegions.json'
14
+ import hg38Regions from './hg38DisplayedRegions.json'
14
15
  import volvoxDisplayedRegions from './volvoxDisplayedRegions.json'
15
16
 
16
17
  // use initializer function to avoid having console.warn jest.fn in a global
@@ -77,6 +78,9 @@ function initialize() {
77
78
  get(str: string) {
78
79
  return self.assemblies.get(str)
79
80
  },
81
+ waitForAssembly(str: string) {
82
+ return self.assemblies.get(str)
83
+ },
80
84
  }))
81
85
  const LinearGenomeModel = stateModelFactory(stubManager)
82
86
  const Session = types
@@ -599,7 +603,7 @@ test('can perform pxToBp on human genome things with ellided blocks (zoomed in)'
599
603
  )
600
604
  const width = 800
601
605
  model.setWidth(width)
602
- model.setDisplayedRegions(hg38DisplayedRegions)
606
+ model.setDisplayedRegions(hg38Regions)
603
607
  model.setNewView(6359.273152497633, 503862)
604
608
  expect(model.pxToBp(0).refName).toBe('Y')
605
609
  expect(model.pxToBp(400).refName).toBe('Y')
@@ -624,7 +628,7 @@ test('can perform pxToBp on human genome things with ellided blocks (zoomed out)
624
628
  )
625
629
  const width = 800
626
630
  model.setWidth(width)
627
- model.setDisplayedRegions(hg38DisplayedRegions)
631
+ model.setDisplayedRegions(hg38Regions)
628
632
  model.setNewView(3209286.105, -225.5083315372467)
629
633
  // chr1 to the left
630
634
  expect(model.pxToBp(0).refName).toBe('1')
@@ -887,12 +891,12 @@ describe('get sequence for selected displayed regions', () => {
887
891
  })
888
892
  })
889
893
 
890
- test('navToLocString with human assembly', () => {
894
+ test('navToLocString with human assembly', async () => {
891
895
  const { LinearGenomeModel } = initialize()
892
896
  const HumanAssembly = types
893
897
  .model({})
894
898
  .volatile(() => ({
895
- regions: hg38DisplayedRegions,
899
+ regions: hg38Regions,
896
900
  }))
897
901
  .views(() => ({
898
902
  getCanonicalRefName(refName: string) {
@@ -910,6 +914,9 @@ test('navToLocString with human assembly', () => {
910
914
  get(str: string) {
911
915
  return self.assemblies.get(str)
912
916
  },
917
+ waitForAssembly(str: string) {
918
+ return self.assemblies.get(str)
919
+ },
913
920
  }))
914
921
 
915
922
  const HumanSession = types.model({
@@ -926,7 +933,7 @@ test('navToLocString with human assembly', () => {
926
933
  assemblies: {
927
934
  hg38: {
928
935
  // @ts-ignore
929
- regions: hg38DisplayedRegions,
936
+ regions: hg38Regions,
930
937
  },
931
938
  },
932
939
  },
@@ -934,25 +941,25 @@ test('navToLocString with human assembly', () => {
934
941
  type: 'LinearGenomeView',
935
942
  },
936
943
  })
944
+ const { view } = model
937
945
 
938
- model.view.setWidth(800)
939
- model.view.setDisplayedRegions(hg38DisplayedRegions.slice(0, 1))
940
- model.view.navToLocString('2')
941
- expect(model.view.bpPerPx).toBe(
942
- hg38DisplayedRegions[1].end / model.view.width,
943
- )
944
- model.view.navToLocString('chr3')
945
- expect(model.view.bpPerPx).toBe(
946
- hg38DisplayedRegions[2].end / model.view.width,
947
- )
948
- model.view.navToLocString('chr3:1,000,000,000-1,100,000,000')
946
+ view.setWidth(800)
947
+ view.setDisplayedRegions(hg38Regions.slice(0, 1))
948
+ const w = view.width
949
+
950
+ view.navToLocString('2')
951
+ await waitFor(() => expect(view.bpPerPx).toBe(hg38Regions[1].end / w))
952
+
953
+ view.navToLocString('chr3')
954
+ await waitFor(() => expect(view.bpPerPx).toBe(hg38Regions[2].end / w))
949
955
 
950
- expect(model.view.bpPerPx).toBe(0.02)
951
- expect(model.view.offsetPx).toBe(9914777550)
952
- model.view.navToLocString('chr3:-1,100,000,000..-1,000,000,000')
956
+ view.navToLocString('chr3:1,000,000,000-1,100,000,000')
957
+ await waitFor(() => expect(view.bpPerPx).toBe(0.02))
958
+ await waitFor(() => expect(view.offsetPx).toBe(9914777550))
959
+ view.navToLocString('chr3:-1,100,000,000..-1,000,000,000')
953
960
  })
954
961
 
955
- test('multi region', () => {
962
+ test('multi region', async () => {
956
963
  const { Session, LinearGenomeModel } = initialize()
957
964
  const model = Session.create({
958
965
  configuration: {},
@@ -966,11 +973,11 @@ test('multi region', () => {
966
973
  model.setDisplayedRegions(volvoxDisplayedRegions.slice(0, 1))
967
974
 
968
975
  model.navToLocString('ctgA ctgB')
969
- expect(model.displayedRegions[0].refName).toBe('ctgA')
970
- expect(model.displayedRegions[1].refName).toBe('ctgB')
976
+ await waitFor(() => expect(model.displayedRegions[0].refName).toBe('ctgA'))
977
+ await waitFor(() => expect(model.displayedRegions[1].refName).toBe('ctgB'))
971
978
  })
972
979
 
973
- test('space separated locstring', () => {
980
+ test('space separated locstring', async () => {
974
981
  const { Session, LinearGenomeModel } = initialize()
975
982
  const model = Session.create({
976
983
  configuration: {},
@@ -985,6 +992,6 @@ test('space separated locstring', () => {
985
992
 
986
993
  model.navToLocString('ctgA 0 100')
987
994
 
988
- expect(model.offsetPx).toBe(0)
989
- expect(model.bpPerPx).toBe(0.125)
995
+ await waitFor(() => expect(model.offsetPx).toBe(0))
996
+ await waitFor(() => expect(model.bpPerPx).toBe(0.125))
990
997
  })