@jbrowse/plugin-variants 2.17.0 → 2.18.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 (284) hide show
  1. package/dist/ChordVariantDisplay/index.d.ts +1 -1
  2. package/dist/ChordVariantDisplay/index.js +1 -2
  3. package/dist/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  4. package/dist/ChordVariantDisplay/models/configSchema.js +1 -10
  5. package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -27
  6. package/dist/ChordVariantDisplay/models/stateModelFactory.js +2 -23
  7. package/dist/LinearVariantDisplay/configSchema.d.ts +2 -2
  8. package/dist/LinearVariantDisplay/configSchema.js +1 -10
  9. package/dist/LinearVariantDisplay/index.d.ts +1 -1
  10. package/dist/LinearVariantDisplay/index.js +2 -2
  11. package/dist/LinearVariantDisplay/model.d.ts +8 -38
  12. package/dist/LinearVariantDisplay/model.js +1 -17
  13. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +6 -0
  14. package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +73 -0
  15. package/dist/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  16. package/dist/MultiLinearVariantDisplay/configSchema.js +30 -0
  17. package/dist/MultiLinearVariantDisplay/index.d.ts +2 -0
  18. package/dist/MultiLinearVariantDisplay/index.js +47 -0
  19. package/dist/MultiLinearVariantDisplay/model.d.ts +278 -0
  20. package/dist/MultiLinearVariantDisplay/model.js +235 -0
  21. package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +4 -0
  22. package/dist/MultiLinearVariantDisplay/renderSvg.js +18 -0
  23. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +7 -0
  24. package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +42 -0
  25. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +6 -0
  26. package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +81 -0
  27. package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  28. package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +22 -0
  29. package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  30. package/dist/MultiLinearVariantMatrixDisplay/index.js +24 -0
  31. package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +274 -0
  32. package/dist/MultiLinearVariantMatrixDisplay/model.js +218 -0
  33. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +4 -0
  34. package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +21 -0
  35. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +62 -0
  36. package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +106 -0
  37. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +6 -0
  38. package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +12 -0
  39. package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  40. package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +6 -0
  41. package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  42. package/dist/MultiLinearVariantMatrixRenderer/index.js +20 -0
  43. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +48 -0
  44. package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +60 -0
  45. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +18 -0
  46. package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +43 -0
  47. package/dist/MultiLinearVariantRenderer/configSchema.d.ts +34 -0
  48. package/dist/MultiLinearVariantRenderer/configSchema.js +13 -0
  49. package/dist/MultiLinearVariantRenderer/index.d.ts +2 -0
  50. package/dist/MultiLinearVariantRenderer/index.js +19 -0
  51. package/dist/MultiVariantBaseRenderer.d.ts +46 -0
  52. package/dist/MultiVariantBaseRenderer.js +39 -0
  53. package/dist/StructuralVariantChordRenderer/Chord.d.ts +2 -2
  54. package/dist/StructuralVariantChordRenderer/Chord.js +5 -9
  55. package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +3 -3
  56. package/dist/StructuralVariantChordRenderer/ReactComponent.js +0 -1
  57. package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  58. package/dist/StructuralVariantChordRenderer/configSchema.js +1 -13
  59. package/dist/StructuralVariantChordRenderer/index.d.ts +1 -1
  60. package/dist/StructuralVariantChordRenderer/index.js +1 -1
  61. package/dist/Tooltip.d.ts +19 -0
  62. package/dist/Tooltip.js +58 -0
  63. package/dist/VariantFeatureWidget/AnnotGrid.d.ts +1 -1
  64. package/dist/VariantFeatureWidget/AnnotGrid.js +2 -2
  65. package/dist/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  66. package/dist/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  67. package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -2
  68. package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +15 -19
  69. package/dist/VariantFeatureWidget/VariantAnnotationTable.js +1 -1
  70. package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -1
  71. package/dist/VariantFeatureWidget/VariantFeatureWidget.js +4 -6
  72. package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +1 -1
  73. package/dist/VariantFeatureWidget/VariantSampleGrid.js +9 -13
  74. package/dist/VariantFeatureWidget/index.d.ts +1 -1
  75. package/dist/VariantFeatureWidget/index.js +1 -1
  76. package/dist/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  77. package/dist/VariantFeatureWidget/stateModelFactory.js +1 -1
  78. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  79. package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +67 -0
  80. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +21 -0
  81. package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +63 -0
  82. package/dist/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  83. package/dist/VariantRPC/MultiVariantGetSources.js +22 -0
  84. package/dist/VariantTrack/configSchema.d.ts +2 -3
  85. package/dist/VariantTrack/configSchema.js +6 -13
  86. package/dist/VariantTrack/index.d.ts +1 -1
  87. package/dist/VcfAdapter/VcfAdapter.d.ts +3 -2
  88. package/dist/VcfAdapter/VcfAdapter.js +3 -5
  89. package/dist/VcfAdapter/configSchema.d.ts +0 -3
  90. package/dist/VcfAdapter/configSchema.js +1 -7
  91. package/dist/VcfAdapter/index.d.ts +1 -1
  92. package/dist/VcfFeature/index.d.ts +5 -29
  93. package/dist/VcfFeature/index.js +35 -26
  94. package/dist/VcfFeature/util.d.ts +1 -4
  95. package/dist/VcfFeature/util.js +0 -12
  96. package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  97. package/dist/VcfTabixAdapter/VcfTabixAdapter.js +10 -5
  98. package/dist/VcfTabixAdapter/configSchema.d.ts +0 -9
  99. package/dist/VcfTabixAdapter/configSchema.js +2 -14
  100. package/dist/VcfTabixAdapter/index.d.ts +1 -1
  101. package/dist/configSchema.d.ts +34 -0
  102. package/dist/configSchema.js +44 -0
  103. package/dist/extensionPoints.d.ts +1 -1
  104. package/dist/getMultiVariantFeaturesAutorun.d.ts +19 -0
  105. package/dist/getMultiVariantFeaturesAutorun.js +40 -0
  106. package/dist/getMultiVariantSourcesAutorun.d.ts +16 -0
  107. package/dist/getMultiVariantSourcesAutorun.js +37 -0
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.js +18 -4
  110. package/dist/shared/BulkEditPanel.d.ts +6 -0
  111. package/dist/shared/BulkEditPanel.js +103 -0
  112. package/dist/shared/ClusterDialog.d.ts +12 -0
  113. package/dist/shared/ClusterDialog.js +150 -0
  114. package/dist/shared/ColorLegend.d.ts +11 -0
  115. package/dist/shared/ColorLegend.js +24 -0
  116. package/dist/shared/DraggableDialog.d.ts +6 -0
  117. package/dist/shared/DraggableDialog.js +62 -0
  118. package/dist/shared/LegendBar.d.ts +18 -0
  119. package/dist/shared/LegendBar.js +38 -0
  120. package/dist/shared/MAFFilterDialog.d.ts +9 -0
  121. package/dist/shared/MAFFilterDialog.js +56 -0
  122. package/dist/shared/RectBg.d.ts +9 -0
  123. package/dist/shared/RectBg.js +12 -0
  124. package/dist/shared/RowPalettizer.d.ts +6 -0
  125. package/dist/shared/RowPalettizer.js +38 -0
  126. package/dist/shared/SetColorDialog.d.ts +12 -0
  127. package/dist/shared/SetColorDialog.js +94 -0
  128. package/dist/shared/SetMinMaxDialog.d.ts +11 -0
  129. package/dist/shared/SetMinMaxDialog.js +56 -0
  130. package/dist/shared/SharedVariantConfigSchema.d.ts +66 -0
  131. package/dist/shared/SharedVariantConfigSchema.js +56 -0
  132. package/dist/shared/SharedVariantMixin.d.ts +309 -0
  133. package/dist/shared/SharedVariantMixin.js +58 -0
  134. package/dist/shared/SourcesGrid.d.ts +8 -0
  135. package/dist/shared/SourcesGrid.js +143 -0
  136. package/dist/shared/Tooltip.d.ts +18 -0
  137. package/dist/shared/Tooltip.js +38 -0
  138. package/dist/shared/util.d.ts +10 -0
  139. package/dist/shared/util.js +32 -0
  140. package/dist/util.d.ts +11 -0
  141. package/dist/util.js +53 -0
  142. package/esm/ChordVariantDisplay/index.d.ts +1 -1
  143. package/esm/ChordVariantDisplay/index.js +1 -2
  144. package/esm/ChordVariantDisplay/models/configSchema.d.ts +1 -4
  145. package/esm/ChordVariantDisplay/models/configSchema.js +1 -10
  146. package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +9 -27
  147. package/esm/ChordVariantDisplay/models/stateModelFactory.js +3 -24
  148. package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
  149. package/esm/LinearVariantDisplay/configSchema.js +1 -10
  150. package/esm/LinearVariantDisplay/index.d.ts +1 -1
  151. package/esm/LinearVariantDisplay/index.js +2 -2
  152. package/esm/LinearVariantDisplay/model.d.ts +8 -38
  153. package/esm/LinearVariantDisplay/model.js +2 -18
  154. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +6 -0
  155. package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +45 -0
  156. package/esm/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
  157. package/esm/MultiLinearVariantDisplay/configSchema.js +24 -0
  158. package/esm/MultiLinearVariantDisplay/index.d.ts +2 -0
  159. package/esm/MultiLinearVariantDisplay/index.js +18 -0
  160. package/esm/MultiLinearVariantDisplay/model.d.ts +278 -0
  161. package/esm/MultiLinearVariantDisplay/model.js +206 -0
  162. package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +4 -0
  163. package/esm/MultiLinearVariantDisplay/renderSvg.js +12 -0
  164. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +7 -0
  165. package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +37 -0
  166. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +6 -0
  167. package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +53 -0
  168. package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
  169. package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +16 -0
  170. package/esm/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
  171. package/esm/MultiLinearVariantMatrixDisplay/index.js +18 -0
  172. package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +274 -0
  173. package/esm/MultiLinearVariantMatrixDisplay/model.js +189 -0
  174. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +4 -0
  175. package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +15 -0
  176. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +62 -0
  177. package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +100 -0
  178. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +6 -0
  179. package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +7 -0
  180. package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
  181. package/esm/MultiLinearVariantMatrixRenderer/configSchema.js +4 -0
  182. package/esm/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
  183. package/esm/MultiLinearVariantMatrixRenderer/index.js +14 -0
  184. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +48 -0
  185. package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +54 -0
  186. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +18 -0
  187. package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +18 -0
  188. package/esm/MultiLinearVariantRenderer/configSchema.d.ts +34 -0
  189. package/esm/MultiLinearVariantRenderer/configSchema.js +8 -0
  190. package/esm/MultiLinearVariantRenderer/index.d.ts +2 -0
  191. package/esm/MultiLinearVariantRenderer/index.js +13 -0
  192. package/esm/MultiVariantBaseRenderer.d.ts +46 -0
  193. package/esm/MultiVariantBaseRenderer.js +33 -0
  194. package/esm/StructuralVariantChordRenderer/Chord.d.ts +2 -2
  195. package/esm/StructuralVariantChordRenderer/Chord.js +5 -9
  196. package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +3 -3
  197. package/esm/StructuralVariantChordRenderer/ReactComponent.js +0 -1
  198. package/esm/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
  199. package/esm/StructuralVariantChordRenderer/configSchema.js +1 -13
  200. package/esm/StructuralVariantChordRenderer/index.d.ts +1 -1
  201. package/esm/StructuralVariantChordRenderer/index.js +1 -1
  202. package/esm/Tooltip.d.ts +19 -0
  203. package/esm/Tooltip.js +30 -0
  204. package/esm/VariantFeatureWidget/AnnotGrid.d.ts +1 -1
  205. package/esm/VariantFeatureWidget/AnnotGrid.js +2 -2
  206. package/esm/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
  207. package/esm/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
  208. package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +2 -2
  209. package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +15 -19
  210. package/esm/VariantFeatureWidget/VariantAnnotationTable.js +1 -1
  211. package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +1 -1
  212. package/esm/VariantFeatureWidget/VariantFeatureWidget.js +5 -7
  213. package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +1 -1
  214. package/esm/VariantFeatureWidget/VariantSampleGrid.js +10 -14
  215. package/esm/VariantFeatureWidget/index.d.ts +1 -1
  216. package/esm/VariantFeatureWidget/index.js +1 -1
  217. package/esm/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
  218. package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
  219. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
  220. package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +60 -0
  221. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +21 -0
  222. package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +56 -0
  223. package/esm/VariantRPC/MultiVariantGetSources.d.ts +14 -0
  224. package/esm/VariantRPC/MultiVariantGetSources.js +15 -0
  225. package/esm/VariantTrack/configSchema.d.ts +2 -3
  226. package/esm/VariantTrack/configSchema.js +5 -13
  227. package/esm/VariantTrack/index.d.ts +1 -1
  228. package/esm/VcfAdapter/VcfAdapter.d.ts +3 -2
  229. package/esm/VcfAdapter/VcfAdapter.js +4 -6
  230. package/esm/VcfAdapter/configSchema.d.ts +0 -3
  231. package/esm/VcfAdapter/configSchema.js +1 -7
  232. package/esm/VcfAdapter/index.d.ts +1 -1
  233. package/esm/VcfFeature/index.d.ts +5 -29
  234. package/esm/VcfFeature/index.js +35 -26
  235. package/esm/VcfFeature/util.d.ts +1 -4
  236. package/esm/VcfFeature/util.js +0 -12
  237. package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
  238. package/esm/VcfTabixAdapter/VcfTabixAdapter.js +11 -6
  239. package/esm/VcfTabixAdapter/configSchema.d.ts +0 -9
  240. package/esm/VcfTabixAdapter/configSchema.js +2 -14
  241. package/esm/VcfTabixAdapter/index.d.ts +1 -1
  242. package/esm/configSchema.d.ts +34 -0
  243. package/esm/configSchema.js +42 -0
  244. package/esm/extensionPoints.d.ts +1 -1
  245. package/esm/extensionPoints.js +1 -1
  246. package/esm/getMultiVariantFeaturesAutorun.d.ts +19 -0
  247. package/esm/getMultiVariantFeaturesAutorun.js +37 -0
  248. package/esm/getMultiVariantSourcesAutorun.d.ts +16 -0
  249. package/esm/getMultiVariantSourcesAutorun.js +34 -0
  250. package/esm/index.d.ts +1 -1
  251. package/esm/index.js +18 -4
  252. package/esm/shared/BulkEditPanel.d.ts +6 -0
  253. package/esm/shared/BulkEditPanel.js +77 -0
  254. package/esm/shared/ClusterDialog.d.ts +12 -0
  255. package/esm/shared/ClusterDialog.js +121 -0
  256. package/esm/shared/ColorLegend.d.ts +11 -0
  257. package/esm/shared/ColorLegend.js +19 -0
  258. package/esm/shared/DraggableDialog.d.ts +6 -0
  259. package/esm/shared/DraggableDialog.js +34 -0
  260. package/esm/shared/LegendBar.d.ts +18 -0
  261. package/esm/shared/LegendBar.js +32 -0
  262. package/esm/shared/MAFFilterDialog.d.ts +9 -0
  263. package/esm/shared/MAFFilterDialog.js +31 -0
  264. package/esm/shared/RectBg.d.ts +9 -0
  265. package/esm/shared/RectBg.js +7 -0
  266. package/esm/shared/RowPalettizer.d.ts +6 -0
  267. package/esm/shared/RowPalettizer.js +32 -0
  268. package/esm/shared/SetColorDialog.d.ts +12 -0
  269. package/esm/shared/SetColorDialog.js +65 -0
  270. package/esm/shared/SetMinMaxDialog.d.ts +11 -0
  271. package/esm/shared/SetMinMaxDialog.js +30 -0
  272. package/esm/shared/SharedVariantConfigSchema.d.ts +66 -0
  273. package/esm/shared/SharedVariantConfigSchema.js +53 -0
  274. package/esm/shared/SharedVariantMixin.d.ts +309 -0
  275. package/esm/shared/SharedVariantMixin.js +55 -0
  276. package/esm/shared/SourcesGrid.d.ts +8 -0
  277. package/esm/shared/SourcesGrid.js +115 -0
  278. package/esm/shared/Tooltip.d.ts +18 -0
  279. package/esm/shared/Tooltip.js +33 -0
  280. package/esm/shared/util.d.ts +10 -0
  281. package/esm/shared/util.js +28 -0
  282. package/esm/util.d.ts +11 -0
  283. package/esm/util.js +47 -0
  284. package/package.json +4 -4
@@ -0,0 +1,278 @@
1
+ import { type ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
2
+ import type { Source } from '../util';
3
+ import type PluginManager from '@jbrowse/core/PluginManager';
4
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
5
+ import type { AnyReactComponentType, Feature } from '@jbrowse/core/util';
6
+ import type { Instance } from 'mobx-state-tree';
7
+ export declare function stateModelFactory(pluginManager: PluginManager, configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
8
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
9
+ type: import("mobx-state-tree").ISimpleType<string>;
10
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
11
+ } & {
12
+ heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
13
+ } & {
14
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
15
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
16
+ } & {
17
+ blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
18
+ key: import("mobx-state-tree").ISimpleType<string>;
19
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
20
+ reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
21
+ isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
22
+ isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
23
+ }, {
24
+ stopToken: string | undefined;
25
+ filled: boolean;
26
+ reactElement: React.ReactElement | undefined;
27
+ features: Map<string, Feature> | undefined;
28
+ layout: any;
29
+ status: string;
30
+ error: unknown;
31
+ message: string | undefined;
32
+ maxHeightReached: boolean;
33
+ ReactComponent: ({ model, }: {
34
+ model: {
35
+ error?: unknown;
36
+ reload: () => void;
37
+ message: React.ReactNode;
38
+ filled?: boolean;
39
+ status?: string;
40
+ reactElement?: React.ReactElement;
41
+ };
42
+ }) => import("react").JSX.Element | undefined;
43
+ renderProps: any;
44
+ } & {
45
+ doReload(): void;
46
+ afterAttach(): void;
47
+ setStatus(message: string): void;
48
+ setLoading(newStopToken: string): void;
49
+ setMessage(messageText: string): void;
50
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
51
+ setError(error: unknown): void;
52
+ reload(): void;
53
+ beforeDestroy(): void;
54
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
55
+ configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
56
+ maxFeatureScreenDensity: {
57
+ type: string;
58
+ description: string;
59
+ defaultValue: number;
60
+ };
61
+ fetchSizeLimit: {
62
+ type: string;
63
+ defaultValue: number;
64
+ description: string;
65
+ };
66
+ height: {
67
+ type: string;
68
+ defaultValue: number;
69
+ description: string;
70
+ };
71
+ mouseover: {
72
+ type: string;
73
+ description: string;
74
+ defaultValue: string;
75
+ contextVariable: string[];
76
+ };
77
+ jexlFilters: {
78
+ type: string;
79
+ description: string;
80
+ defaultValue: never[];
81
+ };
82
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
83
+ } & {
84
+ type: import("mobx-state-tree").ISimpleType<"LinearBareDisplay">;
85
+ configuration: AnyConfigurationSchemaType;
86
+ } & {
87
+ type: import("mobx-state-tree").ISimpleType<"MultiLinearVariantDisplay">;
88
+ layout: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<Source[], Source[], Source[]>, [undefined]>;
89
+ rowHeightSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
90
+ autoHeight: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
91
+ showSidebarLabelsSetting: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
92
+ }, {
93
+ rendererTypeName: string;
94
+ error: unknown;
95
+ message: string | undefined;
96
+ } & {
97
+ readonly RenderingComponent: React.FC<{
98
+ model: {
99
+ id: string;
100
+ type: string;
101
+ rpcDriverName: string | undefined;
102
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
103
+ rendererTypeName: string;
104
+ error: unknown;
105
+ message: string | undefined;
106
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
107
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
108
+ type: import("mobx-state-tree").ISimpleType<string>;
109
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
110
+ }, {
111
+ rendererTypeName: string;
112
+ error: unknown;
113
+ message: string | undefined;
114
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
115
+ onHorizontalScroll?: () => void;
116
+ blockState?: Record<string, any>;
117
+ }>;
118
+ readonly DisplayBlurb: React.FC<{
119
+ model: {
120
+ id: string;
121
+ type: string;
122
+ rpcDriverName: string | undefined;
123
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
124
+ rendererTypeName: string;
125
+ error: unknown;
126
+ message: string | undefined;
127
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
128
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
129
+ type: import("mobx-state-tree").ISimpleType<string>;
130
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
131
+ }, {
132
+ rendererTypeName: string;
133
+ error: unknown;
134
+ message: string | undefined;
135
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
136
+ }> | null;
137
+ readonly adapterConfig: any;
138
+ readonly parentTrack: any;
139
+ renderProps(): any;
140
+ readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
141
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
142
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
143
+ readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
144
+ regionCannotBeRendered(): null;
145
+ } & {
146
+ setMessage(arg?: string): void;
147
+ setError(error?: unknown): void;
148
+ setRpcDriverName(rpcDriverName: string): void;
149
+ reload(): void;
150
+ } & {
151
+ scrollTop: number;
152
+ } & {
153
+ readonly height: number;
154
+ } & {
155
+ setScrollTop(scrollTop: number): void;
156
+ setHeight(displayHeight: number): number;
157
+ resizeHeight(distance: number): number;
158
+ } & {
159
+ featureDensityStatsP: undefined | Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
160
+ featureDensityStats: undefined | import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats;
161
+ currStatsBpPerPx: number;
162
+ } & {
163
+ readonly currentBytesRequested: number;
164
+ readonly currentFeatureScreenDensity: number;
165
+ readonly maxFeatureScreenDensity: any;
166
+ readonly featureDensityStatsReady: boolean;
167
+ readonly maxAllowableBytes: number;
168
+ } & {
169
+ afterAttach(): void;
170
+ } & {
171
+ setCurrStatsBpPerPx(n: number): void;
172
+ setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
173
+ getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
174
+ setFeatureDensityStatsP(arg: any): void;
175
+ setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats): void;
176
+ clearFeatureDensityStats(): void;
177
+ } & {
178
+ readonly regionTooLarge: boolean;
179
+ readonly regionTooLargeReason: string;
180
+ } & {
181
+ readonly statsReadyAndRegionNotTooLarge: boolean;
182
+ regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
183
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
184
+ } & {
185
+ featureIdUnderMouse: undefined | string;
186
+ contextMenuFeature: undefined | Feature;
187
+ } & {
188
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
189
+ readonly blockType: "dynamicBlocks" | "staticBlocks";
190
+ readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
191
+ } & {
192
+ readonly renderDelay: number;
193
+ readonly TooltipComponent: AnyReactComponentType;
194
+ readonly selectedFeatureId: string | undefined;
195
+ } & {
196
+ readonly features: import("@jbrowse/core/util/compositeMap").default<string, Feature>;
197
+ readonly featureUnderMouse: Feature | undefined;
198
+ getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
199
+ getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
200
+ searchFeatureByID(id: string): [number, number, number, number] | undefined;
201
+ } & {
202
+ addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
203
+ deleteBlock(key: string): void;
204
+ selectFeature(feature: Feature): void;
205
+ navToFeature(feature: Feature): void;
206
+ clearFeatureSelection(): void;
207
+ setFeatureIdUnderMouse(feature?: string): void;
208
+ setContextMenuFeature(feature?: Feature): void;
209
+ } & {
210
+ reload(): Promise<void>;
211
+ } & {
212
+ trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
213
+ contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
214
+ renderProps(): any;
215
+ } & {
216
+ renderSvg(opts: ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
217
+ afterAttach(): void;
218
+ } & {
219
+ readonly rendererConfig: {
220
+ [x: string]: any;
221
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
222
+ setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
223
+ [x: string]: any;
224
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
225
+ setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
226
+ [x: string]: any;
227
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
228
+ } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
229
+ } & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>;
230
+ readonly rendererTypeName: any;
231
+ } & {
232
+ renderProps(): any;
233
+ } & {
234
+ sourcesLoadingStopToken: string | undefined;
235
+ featureUnderMouseVolatile: Feature | undefined;
236
+ sourcesVolatile: Source[] | undefined;
237
+ } & {
238
+ setSourcesLoading(str: string): void;
239
+ setLayout(layout: Source[]): void;
240
+ clearLayout(): void;
241
+ setSources(sources: Source[]): void;
242
+ setFeatureUnderMouse(f?: Feature): void;
243
+ setRowHeight(arg: number): void;
244
+ setAutoHeight(arg: boolean): void;
245
+ setShowSidebarLabels(arg: boolean): void;
246
+ } & {
247
+ readonly featureUnderMouse: Feature | undefined;
248
+ readonly TooltipComponent: AnyReactComponentType;
249
+ } & {
250
+ readonly rendererTypeName: string;
251
+ readonly sources: {
252
+ color: string;
253
+ baseUri?: string;
254
+ name: string;
255
+ group?: string;
256
+ }[] | undefined;
257
+ } & {
258
+ readonly rowHeight: number;
259
+ } & {
260
+ readonly canDisplayLabels: boolean;
261
+ readonly totalHeight: number;
262
+ adapterProps(): any;
263
+ } & {
264
+ renderProps(): any;
265
+ } & {
266
+ trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
267
+ label: string;
268
+ type: string;
269
+ checked: boolean;
270
+ onClick: () => void;
271
+ })[];
272
+ } & {
273
+ afterAttach(): void;
274
+ renderSvg(opts: ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
275
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
276
+ export type MultiLinearVariantDisplayStateModel = ReturnType<typeof stateModelFactory>;
277
+ export type MultiLinearVariantDisplayModel = Instance<MultiLinearVariantDisplayStateModel>;
278
+ export default stateModelFactory;
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.stateModelFactory = stateModelFactory;
30
+ const react_1 = require("react");
31
+ const colors_1 = require("@jbrowse/core/ui/colors");
32
+ const util_1 = require("@jbrowse/core/util");
33
+ const stopToken_1 = require("@jbrowse/core/util/stopToken");
34
+ const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
35
+ const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
36
+ const mobx_state_tree_1 = require("mobx-state-tree");
37
+ const util_2 = require("../util");
38
+ const Tooltip = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../shared/Tooltip'))));
39
+ const SetColorDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../shared/SetColorDialog'))));
40
+ const ClusterDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../shared/ClusterDialog'))));
41
+ function stateModelFactory(pluginManager, configSchema) {
42
+ return mobx_state_tree_1.types
43
+ .compose('MultiLinearVariantDisplay', (0, plugin_linear_genome_view_1.linearBareDisplayStateModelFactory)(configSchema), mobx_state_tree_1.types.model({
44
+ type: mobx_state_tree_1.types.literal('MultiLinearVariantDisplay'),
45
+ layout: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), []),
46
+ rowHeightSetting: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 11),
47
+ autoHeight: false,
48
+ showSidebarLabelsSetting: true,
49
+ }))
50
+ .volatile(() => ({
51
+ sourcesLoadingStopToken: undefined,
52
+ featureUnderMouseVolatile: undefined,
53
+ sourcesVolatile: undefined,
54
+ }))
55
+ .actions(self => ({
56
+ setSourcesLoading(str) {
57
+ if (self.sourcesLoadingStopToken) {
58
+ (0, stopToken_1.stopStopToken)(self.sourcesLoadingStopToken);
59
+ }
60
+ self.sourcesLoadingStopToken = str;
61
+ },
62
+ setLayout(layout) {
63
+ self.layout = layout;
64
+ },
65
+ clearLayout() {
66
+ self.layout = [];
67
+ },
68
+ setSources(sources) {
69
+ if (!(0, fast_deep_equal_1.default)(sources, self.sourcesVolatile)) {
70
+ self.sourcesVolatile = sources;
71
+ }
72
+ },
73
+ setFeatureUnderMouse(f) {
74
+ self.featureUnderMouseVolatile = f;
75
+ },
76
+ setRowHeight(arg) {
77
+ self.rowHeightSetting = arg;
78
+ },
79
+ setAutoHeight(arg) {
80
+ self.autoHeight = arg;
81
+ },
82
+ setShowSidebarLabels(arg) {
83
+ self.showSidebarLabelsSetting = arg;
84
+ },
85
+ }))
86
+ .views(self => ({
87
+ get featureUnderMouse() {
88
+ return self.featureUnderMouseVolatile;
89
+ },
90
+ get TooltipComponent() {
91
+ return Tooltip;
92
+ },
93
+ }))
94
+ .views(self => ({
95
+ get rendererTypeName() {
96
+ return 'MultiVariantRenderer';
97
+ },
98
+ get sources() {
99
+ var _a;
100
+ const sources = Object.fromEntries(((_a = self.sourcesVolatile) === null || _a === void 0 ? void 0 : _a.map(s => [s.name, s])) || []);
101
+ const iter = self.layout.length ? self.layout : self.sourcesVolatile;
102
+ return iter === null || iter === void 0 ? void 0 : iter.map(s => ({
103
+ ...sources[s.name],
104
+ ...s,
105
+ })).map((s, i) => ({
106
+ ...s,
107
+ color: s.color || colors_1.set1[i] || (0, util_2.randomColor)(s.name),
108
+ }));
109
+ },
110
+ }))
111
+ .views(self => ({
112
+ get rowHeight() {
113
+ const { autoHeight, sources, rowHeightSetting, height } = self;
114
+ return autoHeight ? height / ((sources === null || sources === void 0 ? void 0 : sources.length) || 1) : rowHeightSetting;
115
+ },
116
+ }))
117
+ .views(self => {
118
+ const { renderProps: superRenderProps } = self;
119
+ return {
120
+ get canDisplayLabels() {
121
+ return self.rowHeight > 8 && self.showSidebarLabelsSetting;
122
+ },
123
+ get totalHeight() {
124
+ var _a;
125
+ return self.rowHeight * (((_a = self.sources) === null || _a === void 0 ? void 0 : _a.length) || 1);
126
+ },
127
+ adapterProps() {
128
+ const superProps = superRenderProps();
129
+ return {
130
+ ...superProps,
131
+ displayModel: self,
132
+ config: self.rendererConfig,
133
+ rpcDriverName: self.rpcDriverName,
134
+ sources: self.sources,
135
+ };
136
+ },
137
+ };
138
+ })
139
+ .views(self => ({
140
+ renderProps() {
141
+ const superProps = self.adapterProps();
142
+ return {
143
+ ...superProps,
144
+ notReady: superProps.notReady || !self.sources,
145
+ displayModel: self,
146
+ rpcDriverName: self.rpcDriverName,
147
+ height: self.height,
148
+ totalHeight: self.totalHeight,
149
+ rowHeight: self.rowHeight,
150
+ scrollTop: self.scrollTop,
151
+ onMouseMove: (_, f) => {
152
+ self.setFeatureUnderMouse(f);
153
+ },
154
+ onMouseLeave: () => {
155
+ self.setFeatureUnderMouse(undefined);
156
+ },
157
+ };
158
+ },
159
+ }))
160
+ .views(self => {
161
+ const { trackMenuItems: superTrackMenuItems } = self;
162
+ return {
163
+ trackMenuItems() {
164
+ return [
165
+ ...superTrackMenuItems(),
166
+ {
167
+ label: 'Adjust to height of display?',
168
+ type: 'checkbox',
169
+ checked: self.autoHeight,
170
+ onClick: () => {
171
+ self.setAutoHeight(!self.autoHeight);
172
+ },
173
+ },
174
+ {
175
+ label: 'Show sidebar labels',
176
+ type: 'checkbox',
177
+ checked: self.showSidebarLabelsSetting,
178
+ onClick: () => {
179
+ self.setShowSidebarLabels(!self.showSidebarLabelsSetting);
180
+ },
181
+ },
182
+ {
183
+ label: 'Cluster by genotype',
184
+ onClick: () => {
185
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
186
+ ClusterDialog,
187
+ {
188
+ model: self,
189
+ handleClose,
190
+ },
191
+ ]);
192
+ },
193
+ },
194
+ {
195
+ label: 'Edit colors/arrangement...',
196
+ onClick: () => {
197
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
198
+ SetColorDialog,
199
+ {
200
+ model: self,
201
+ handleClose,
202
+ },
203
+ ]);
204
+ },
205
+ },
206
+ ];
207
+ },
208
+ };
209
+ })
210
+ .actions(self => {
211
+ const { renderSvg: superRenderSvg } = self;
212
+ return {
213
+ afterAttach() {
214
+ ;
215
+ (async () => {
216
+ try {
217
+ const { getMultiVariantSourcesAutorun } = await Promise.resolve().then(() => __importStar(require('../getMultiVariantSourcesAutorun')));
218
+ getMultiVariantSourcesAutorun(self);
219
+ }
220
+ catch (e) {
221
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
222
+ console.error(e);
223
+ (0, util_1.getSession)(self).notifyError(`${e}`, e);
224
+ }
225
+ }
226
+ })();
227
+ },
228
+ async renderSvg(opts) {
229
+ const { renderSvg } = await Promise.resolve().then(() => __importStar(require('./renderSvg')));
230
+ return renderSvg(self, opts, superRenderSvg);
231
+ },
232
+ };
233
+ });
234
+ }
235
+ exports.default = stateModelFactory;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { MultiLinearVariantDisplayModel } from './model';
3
+ import type { ExportSvgDisplayOptions } from '@jbrowse/plugin-linear-genome-view';
4
+ export declare function renderSvg(self: MultiLinearVariantDisplayModel, opts: ExportSvgDisplayOptions, superRenderSvg: (opts: ExportSvgDisplayOptions) => Promise<React.ReactNode>): Promise<React.JSX.Element>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.renderSvg = renderSvg;
7
+ const react_1 = __importDefault(require("react"));
8
+ const util_1 = require("@jbrowse/core/util");
9
+ const mobx_1 = require("mobx");
10
+ const LegendBar_1 = __importDefault(require("../shared/LegendBar"));
11
+ async function renderSvg(self, opts, superRenderSvg) {
12
+ await (0, mobx_1.when)(() => !!self.regionCannotBeRenderedText);
13
+ const { offsetPx } = (0, util_1.getContainingView)(self);
14
+ return (react_1.default.createElement(react_1.default.Fragment, null,
15
+ react_1.default.createElement("g", null, await superRenderSvg(opts)),
16
+ react_1.default.createElement("g", { transform: `translate(${Math.max(-offsetPx, 0)})` },
17
+ react_1.default.createElement(LegendBar_1.default, { model: self, orientation: "left", exportSVG: true }))));
18
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { MultiLinearVariantMatrixDisplayModel } from '../model';
3
+ declare const LinesConnectingMatrixToGenomicPosition: ({ model, exportSVG, }: {
4
+ model: MultiLinearVariantMatrixDisplayModel;
5
+ exportSVG?: boolean;
6
+ }) => React.JSX.Element | null;
7
+ export default LinesConnectingMatrixToGenomicPosition;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const util_1 = require("@jbrowse/core/util");
8
+ const mobx_react_1 = require("mobx-react");
9
+ const Wrapper = (0, mobx_react_1.observer)(function ({ children, model, exportSVG, }) {
10
+ const { height } = model;
11
+ const { width, offsetPx } = (0, util_1.getContainingView)(model);
12
+ const left = Math.max(0, -offsetPx);
13
+ return exportSVG ? (react_1.default.createElement("g", { transform: `translate(${left})` }, children)) : (react_1.default.createElement("svg", { style: {
14
+ position: 'absolute',
15
+ top: 0,
16
+ left,
17
+ pointerEvents: 'none',
18
+ height,
19
+ width,
20
+ } }, children));
21
+ });
22
+ const LinesConnectingMatrixToGenomicPosition = (0, mobx_react_1.observer)(function ({ model, exportSVG, }) {
23
+ var _a;
24
+ const { assemblyManager } = (0, util_1.getSession)(model);
25
+ const view = (0, util_1.getContainingView)(model);
26
+ const { featuresVolatile } = model;
27
+ const { offsetPx, assemblyNames, dynamicBlocks } = view;
28
+ const assembly = assemblyManager.get(assemblyNames[0]);
29
+ const b0 = ((_a = dynamicBlocks.contentBlocks[0]) === null || _a === void 0 ? void 0 : _a.widthPx) || 0;
30
+ const w = b0 / ((featuresVolatile === null || featuresVolatile === void 0 ? void 0 : featuresVolatile.length) || 1);
31
+ const l = Math.max(offsetPx, 0);
32
+ return assembly && featuresVolatile ? (react_1.default.createElement(Wrapper, { exportSVG: exportSVG, model: model }, featuresVolatile.map((f, i) => {
33
+ var _a;
34
+ const ref = f.get('refName');
35
+ const c = (((_a = view.bpToPx({
36
+ refName: assembly.getCanonicalRefName(ref) || ref,
37
+ coord: f.get('start'),
38
+ })) === null || _a === void 0 ? void 0 : _a.offsetPx) || 0) - l;
39
+ return (react_1.default.createElement("line", { stroke: "black", key: f.id(), x1: i * w + w / 2, x2: c, y1: 20, y2: 0 }));
40
+ }))) : null;
41
+ });
42
+ exports.default = LinesConnectingMatrixToGenomicPosition;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { MultiLinearVariantMatrixDisplayModel } from '../model';
3
+ declare const MultiLinearVariantMatrixDisplayComponent: (props: {
4
+ model: MultiLinearVariantMatrixDisplayModel;
5
+ }) => React.JSX.Element;
6
+ export default MultiLinearVariantMatrixDisplayComponent;