@jbrowse/plugin-alignments 2.4.2 → 2.6.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 (443) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +2 -2
  3. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +2 -1
  4. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -1
  5. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +2 -2
  6. package/dist/AlignmentsFeatureDetail/index.d.ts +4 -1
  7. package/dist/AlignmentsTrack/configSchemaF.d.ts +74 -0
  8. package/dist/AlignmentsTrack/configSchemaF.js +19 -0
  9. package/dist/AlignmentsTrack/configSchemaF.js.map +1 -0
  10. package/dist/AlignmentsTrack/index.js +2 -15
  11. package/dist/AlignmentsTrack/index.js.map +1 -1
  12. package/dist/BamAdapter/BamAdapter.d.ts +2 -2
  13. package/dist/BamAdapter/BamAdapter.js +27 -32
  14. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  15. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -1
  16. package/dist/BamAdapter/configSchema.d.ts +50 -1
  17. package/dist/CramAdapter/CramAdapter.d.ts +1 -1
  18. package/dist/CramAdapter/CramAdapter.js +49 -47
  19. package/dist/CramAdapter/CramAdapter.js.map +1 -1
  20. package/dist/CramAdapter/CramSlightlyLazyFeature.js +3 -5
  21. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  22. package/dist/CramAdapter/CramTestAdapters.js +3 -3
  23. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  24. package/dist/CramAdapter/configSchema.d.ts +40 -1
  25. package/dist/HtsgetBamAdapter/configSchema.d.ts +26 -1
  26. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -2
  27. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +39 -1
  28. package/dist/LinearAlignmentsDisplay/models/model.d.ts +20 -6
  29. package/dist/LinearAlignmentsDisplay/models/model.js +9 -4
  30. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  31. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +2 -2
  32. package/dist/LinearPileupDisplay/components/ColorByModifications.js +3 -23
  33. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  34. package/dist/LinearPileupDisplay/components/ColorByTag.d.ts +2 -2
  35. package/dist/LinearPileupDisplay/components/ColorByTag.js +2 -6
  36. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  37. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -3
  38. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +6 -6
  39. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -1
  40. package/dist/LinearPileupDisplay/components/ModificationsTable.d.ts +4 -0
  41. package/dist/LinearPileupDisplay/components/ModificationsTable.js +29 -0
  42. package/dist/LinearPileupDisplay/components/ModificationsTable.js.map +1 -0
  43. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  44. package/dist/LinearPileupDisplay/components/SetMaxHeight.d.ts +2 -2
  45. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +3 -5
  46. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  47. package/dist/LinearPileupDisplay/components/SortByTag.d.ts +2 -2
  48. package/dist/LinearPileupDisplay/configSchema.d.ts +57 -1
  49. package/dist/LinearPileupDisplay/model.d.ts +160 -80
  50. package/dist/LinearPileupDisplay/model.js +181 -138
  51. package/dist/LinearPileupDisplay/model.js.map +1 -1
  52. package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  53. package/dist/LinearReadArcsDisplay/components/ReactComponent.js +36 -39
  54. package/dist/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -1
  55. package/dist/LinearReadArcsDisplay/configSchema.d.ts +59 -1
  56. package/dist/LinearReadArcsDisplay/drawFeats.d.ts +2 -15
  57. package/dist/LinearReadArcsDisplay/drawFeats.js +58 -66
  58. package/dist/LinearReadArcsDisplay/drawFeats.js.map +1 -1
  59. package/dist/LinearReadArcsDisplay/model.d.ts +58 -193
  60. package/dist/LinearReadArcsDisplay/model.js +65 -115
  61. package/dist/LinearReadArcsDisplay/model.js.map +1 -1
  62. package/dist/LinearReadArcsDisplay/util.d.ts +2 -0
  63. package/dist/LinearReadArcsDisplay/util.js +13 -0
  64. package/dist/LinearReadArcsDisplay/util.js.map +1 -0
  65. package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  66. package/dist/LinearReadCloudDisplay/components/ReactComponent.js +34 -36
  67. package/dist/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -1
  68. package/dist/LinearReadCloudDisplay/configSchema.d.ts +52 -1
  69. package/dist/LinearReadCloudDisplay/drawFeats.d.ts +2 -10
  70. package/dist/LinearReadCloudDisplay/drawFeats.js +11 -127
  71. package/dist/LinearReadCloudDisplay/drawFeats.js.map +1 -1
  72. package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +11 -0
  73. package/dist/LinearReadCloudDisplay/drawLongReadChains.js +69 -0
  74. package/dist/LinearReadCloudDisplay/drawLongReadChains.js.map +1 -0
  75. package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +17 -0
  76. package/dist/LinearReadCloudDisplay/drawPairChains.js +100 -0
  77. package/dist/LinearReadCloudDisplay/drawPairChains.js.map +1 -0
  78. package/dist/LinearReadCloudDisplay/model.d.ts +65 -196
  79. package/dist/LinearReadCloudDisplay/model.js +55 -92
  80. package/dist/LinearReadCloudDisplay/model.js.map +1 -1
  81. package/dist/LinearReadCloudDisplay/util.d.ts +2 -0
  82. package/dist/LinearReadCloudDisplay/util.js +35 -0
  83. package/dist/LinearReadCloudDisplay/util.js.map +1 -0
  84. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -2
  85. package/dist/LinearSNPCoverageDisplay/models/configSchema.d.ts +79 -1
  86. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +157 -70
  87. package/dist/LinearSNPCoverageDisplay/models/model.js +46 -33
  88. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  89. package/dist/MismatchParser/index.d.ts +7 -2
  90. package/dist/MismatchParser/index.js +44 -5
  91. package/dist/MismatchParser/index.js.map +1 -1
  92. package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +15 -2
  93. package/dist/PileupRPC/methods/GetReducedFeatures.js +1 -8
  94. package/dist/PileupRPC/methods/GetReducedFeatures.js.map +1 -1
  95. package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  96. package/dist/PileupRenderer/PileupRenderer.d.ts +4 -117
  97. package/dist/PileupRenderer/PileupRenderer.js +18 -752
  98. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  99. package/dist/PileupRenderer/colorBy.d.ts +7 -0
  100. package/dist/PileupRenderer/colorBy.js +69 -0
  101. package/dist/PileupRenderer/colorBy.js.map +1 -0
  102. package/dist/PileupRenderer/components/PileupRendering.d.ts +7 -2
  103. package/dist/PileupRenderer/components/PileupRendering.js +17 -18
  104. package/dist/PileupRenderer/components/PileupRendering.js.map +1 -1
  105. package/dist/PileupRenderer/configSchema.d.ts +87 -1
  106. package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +10 -0
  107. package/dist/PileupRenderer/getAlignmentShapeColor.js +60 -0
  108. package/dist/PileupRenderer/getAlignmentShapeColor.js.map +1 -0
  109. package/dist/PileupRenderer/index.js +1 -1
  110. package/dist/PileupRenderer/index.js.map +1 -1
  111. package/dist/PileupRenderer/layoutFeature.d.ts +18 -0
  112. package/dist/PileupRenderer/layoutFeature.js +41 -0
  113. package/dist/PileupRenderer/layoutFeature.js.map +1 -0
  114. package/dist/PileupRenderer/layoutFeatures.d.ts +2 -0
  115. package/dist/PileupRenderer/layoutFeatures.js +35 -0
  116. package/dist/PileupRenderer/layoutFeatures.js.map +1 -0
  117. package/dist/PileupRenderer/makeImageData.d.ts +17 -0
  118. package/dist/PileupRenderer/makeImageData.js +64 -0
  119. package/dist/PileupRenderer/makeImageData.js.map +1 -0
  120. package/dist/PileupRenderer/renderAlignment.d.ts +13 -0
  121. package/dist/PileupRenderer/renderAlignment.js +72 -0
  122. package/dist/PileupRenderer/renderAlignment.js.map +1 -0
  123. package/dist/PileupRenderer/renderAlignmentShape.d.ts +7 -0
  124. package/dist/PileupRenderer/renderAlignmentShape.js +41 -0
  125. package/dist/PileupRenderer/renderAlignmentShape.js.map +1 -0
  126. package/dist/PileupRenderer/renderMethylation.d.ts +11 -0
  127. package/dist/PileupRenderer/renderMethylation.js +63 -0
  128. package/dist/PileupRenderer/renderMethylation.js.map +1 -0
  129. package/dist/PileupRenderer/renderMismatches.d.ts +21 -0
  130. package/dist/PileupRenderer/renderMismatches.js +135 -0
  131. package/dist/PileupRenderer/renderMismatches.js.map +1 -0
  132. package/dist/PileupRenderer/renderModifications.d.ts +11 -0
  133. package/dist/PileupRenderer/renderModifications.js +54 -0
  134. package/dist/PileupRenderer/renderModifications.js.map +1 -0
  135. package/dist/PileupRenderer/renderPerBaseLettering.d.ts +13 -0
  136. package/dist/PileupRenderer/renderPerBaseLettering.js +47 -0
  137. package/dist/PileupRenderer/renderPerBaseLettering.js.map +1 -0
  138. package/dist/PileupRenderer/renderPerBaseQuality.d.ts +9 -0
  139. package/dist/PileupRenderer/renderPerBaseQuality.js +39 -0
  140. package/dist/PileupRenderer/renderPerBaseQuality.js.map +1 -0
  141. package/dist/PileupRenderer/renderSoftClipping.d.ts +13 -0
  142. package/dist/PileupRenderer/renderSoftClipping.js +48 -0
  143. package/dist/PileupRenderer/renderSoftClipping.js.map +1 -0
  144. package/dist/PileupRenderer/sortUtil.js +1 -2
  145. package/dist/PileupRenderer/sortUtil.js.map +1 -1
  146. package/dist/PileupRenderer/util.d.ts +24 -0
  147. package/dist/PileupRenderer/util.js +51 -0
  148. package/dist/PileupRenderer/util.js.map +1 -0
  149. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +1 -3
  150. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +2 -5
  151. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  152. package/dist/SNPCoverageAdapter/configSchema.d.ts +10 -1
  153. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +3 -43
  154. package/dist/SNPCoverageAdapter/generateCoverageBins.js +86 -59
  155. package/dist/SNPCoverageAdapter/generateCoverageBins.js.map +1 -1
  156. package/dist/SNPCoverageAdapter/index.js +0 -2
  157. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  158. package/dist/SNPCoverageAdapter/util.d.ts +29 -0
  159. package/dist/SNPCoverageAdapter/util.js +3 -0
  160. package/dist/SNPCoverageAdapter/util.js.map +1 -0
  161. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  162. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +2 -2
  163. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  164. package/dist/SNPCoverageRenderer/configSchema.d.ts +47 -1
  165. package/dist/SNPCoverageRenderer/configSchema.js +5 -0
  166. package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
  167. package/dist/shared/BaseDisplayComponent.d.ts +8 -0
  168. package/dist/shared/BaseDisplayComponent.js +49 -0
  169. package/dist/shared/BaseDisplayComponent.js.map +1 -0
  170. package/dist/shared/FilterByTag.d.ts +13 -12
  171. package/dist/shared/FilterByTag.js +8 -13
  172. package/dist/shared/FilterByTag.js.map +1 -1
  173. package/dist/shared/afterAttach.d.ts +2 -0
  174. package/dist/shared/afterAttach.js +44 -0
  175. package/dist/shared/afterAttach.js.map +1 -0
  176. package/dist/shared/color.d.ts +44 -6
  177. package/dist/shared/color.js +57 -23
  178. package/dist/shared/color.js.map +1 -1
  179. package/dist/shared/fetchChains.d.ts +3 -2
  180. package/dist/shared/fetchChains.js +14 -20
  181. package/dist/shared/fetchChains.js.map +1 -1
  182. package/dist/shared/renderSvg.d.ts +7 -0
  183. package/dist/shared/renderSvg.js +69 -0
  184. package/dist/shared/renderSvg.js.map +1 -0
  185. package/dist/shared/util.d.ts +2 -0
  186. package/dist/shared/util.js +13 -0
  187. package/dist/shared/util.js.map +1 -0
  188. package/dist/util.d.ts +16 -2
  189. package/dist/util.js +45 -4
  190. package/dist/util.js.map +1 -1
  191. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +2 -2
  192. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.d.ts +2 -2
  193. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js +3 -2
  194. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureFlags.js.map +1 -1
  195. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureSuppAligns.d.ts +2 -2
  196. package/esm/AlignmentsFeatureDetail/index.d.ts +4 -1
  197. package/esm/AlignmentsTrack/configSchemaF.d.ts +74 -0
  198. package/esm/AlignmentsTrack/configSchemaF.js +16 -0
  199. package/esm/AlignmentsTrack/configSchemaF.js.map +1 -0
  200. package/esm/AlignmentsTrack/index.js +3 -16
  201. package/esm/AlignmentsTrack/index.js.map +1 -1
  202. package/esm/BamAdapter/BamAdapter.d.ts +2 -2
  203. package/esm/BamAdapter/BamAdapter.js +27 -32
  204. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  205. package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +1 -1
  206. package/esm/BamAdapter/configSchema.d.ts +50 -1
  207. package/esm/CramAdapter/CramAdapter.d.ts +1 -1
  208. package/esm/CramAdapter/CramAdapter.js +50 -48
  209. package/esm/CramAdapter/CramAdapter.js.map +1 -1
  210. package/esm/CramAdapter/CramSlightlyLazyFeature.js +3 -5
  211. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  212. package/esm/CramAdapter/CramTestAdapters.js +2 -2
  213. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  214. package/esm/CramAdapter/configSchema.d.ts +40 -1
  215. package/esm/HtsgetBamAdapter/configSchema.d.ts +26 -1
  216. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +2 -2
  217. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +39 -1
  218. package/esm/LinearAlignmentsDisplay/models/model.d.ts +20 -6
  219. package/esm/LinearAlignmentsDisplay/models/model.js +9 -4
  220. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  221. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +2 -2
  222. package/esm/LinearPileupDisplay/components/ColorByModifications.js +2 -22
  223. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  224. package/esm/LinearPileupDisplay/components/ColorByTag.d.ts +2 -2
  225. package/esm/LinearPileupDisplay/components/ColorByTag.js +2 -6
  226. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  227. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +3 -3
  228. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +6 -6
  229. package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js.map +1 -1
  230. package/esm/LinearPileupDisplay/components/ModificationsTable.d.ts +4 -0
  231. package/esm/LinearPileupDisplay/components/ModificationsTable.js +23 -0
  232. package/esm/LinearPileupDisplay/components/ModificationsTable.js.map +1 -0
  233. package/esm/LinearPileupDisplay/components/SetFeatureHeight.d.ts +2 -2
  234. package/esm/LinearPileupDisplay/components/SetMaxHeight.d.ts +2 -2
  235. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +3 -5
  236. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  237. package/esm/LinearPileupDisplay/components/SortByTag.d.ts +2 -2
  238. package/esm/LinearPileupDisplay/configSchema.d.ts +57 -1
  239. package/esm/LinearPileupDisplay/model.d.ts +160 -80
  240. package/esm/LinearPileupDisplay/model.js +182 -139
  241. package/esm/LinearPileupDisplay/model.js.map +1 -1
  242. package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +2 -2
  243. package/esm/LinearReadArcsDisplay/components/ReactComponent.js +13 -39
  244. package/esm/LinearReadArcsDisplay/components/ReactComponent.js.map +1 -1
  245. package/esm/LinearReadArcsDisplay/configSchema.d.ts +59 -1
  246. package/esm/LinearReadArcsDisplay/drawFeats.d.ts +2 -15
  247. package/esm/LinearReadArcsDisplay/drawFeats.js +56 -63
  248. package/esm/LinearReadArcsDisplay/drawFeats.js.map +1 -1
  249. package/esm/LinearReadArcsDisplay/model.d.ts +58 -193
  250. package/esm/LinearReadArcsDisplay/model.js +69 -119
  251. package/esm/LinearReadArcsDisplay/model.js.map +1 -1
  252. package/esm/LinearReadArcsDisplay/util.d.ts +2 -0
  253. package/esm/LinearReadArcsDisplay/util.js +9 -0
  254. package/esm/LinearReadArcsDisplay/util.js.map +1 -0
  255. package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +2 -2
  256. package/esm/LinearReadCloudDisplay/components/ReactComponent.js +11 -36
  257. package/esm/LinearReadCloudDisplay/components/ReactComponent.js.map +1 -1
  258. package/esm/LinearReadCloudDisplay/configSchema.d.ts +52 -1
  259. package/esm/LinearReadCloudDisplay/drawFeats.d.ts +2 -10
  260. package/esm/LinearReadCloudDisplay/drawFeats.js +9 -126
  261. package/esm/LinearReadCloudDisplay/drawFeats.js.map +1 -1
  262. package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +11 -0
  263. package/esm/LinearReadCloudDisplay/drawLongReadChains.js +65 -0
  264. package/esm/LinearReadCloudDisplay/drawLongReadChains.js.map +1 -0
  265. package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +17 -0
  266. package/esm/LinearReadCloudDisplay/drawPairChains.js +95 -0
  267. package/esm/LinearReadCloudDisplay/drawPairChains.js.map +1 -0
  268. package/esm/LinearReadCloudDisplay/model.d.ts +65 -196
  269. package/esm/LinearReadCloudDisplay/model.js +59 -96
  270. package/esm/LinearReadCloudDisplay/model.js.map +1 -1
  271. package/esm/LinearReadCloudDisplay/util.d.ts +2 -0
  272. package/esm/LinearReadCloudDisplay/util.js +30 -0
  273. package/esm/LinearReadCloudDisplay/util.js.map +1 -0
  274. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +2 -2
  275. package/esm/LinearSNPCoverageDisplay/models/configSchema.d.ts +79 -1
  276. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +157 -70
  277. package/esm/LinearSNPCoverageDisplay/models/model.js +48 -35
  278. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  279. package/esm/MismatchParser/index.d.ts +7 -2
  280. package/esm/MismatchParser/index.js +41 -4
  281. package/esm/MismatchParser/index.js.map +1 -1
  282. package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +15 -2
  283. package/esm/PileupRPC/methods/GetReducedFeatures.js +2 -9
  284. package/esm/PileupRPC/methods/GetReducedFeatures.js.map +1 -1
  285. package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  286. package/esm/PileupRenderer/PileupRenderer.d.ts +4 -117
  287. package/esm/PileupRenderer/PileupRenderer.js +20 -754
  288. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  289. package/esm/PileupRenderer/colorBy.d.ts +7 -0
  290. package/esm/PileupRenderer/colorBy.js +61 -0
  291. package/esm/PileupRenderer/colorBy.js.map +1 -0
  292. package/esm/PileupRenderer/components/PileupRendering.d.ts +7 -2
  293. package/esm/PileupRenderer/components/PileupRendering.js +17 -18
  294. package/esm/PileupRenderer/components/PileupRendering.js.map +1 -1
  295. package/esm/PileupRenderer/configSchema.d.ts +87 -1
  296. package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +10 -0
  297. package/esm/PileupRenderer/getAlignmentShapeColor.js +56 -0
  298. package/esm/PileupRenderer/getAlignmentShapeColor.js.map +1 -0
  299. package/esm/PileupRenderer/index.js +1 -1
  300. package/esm/PileupRenderer/index.js.map +1 -1
  301. package/esm/PileupRenderer/layoutFeature.d.ts +18 -0
  302. package/esm/PileupRenderer/layoutFeature.js +37 -0
  303. package/esm/PileupRenderer/layoutFeature.js.map +1 -0
  304. package/esm/PileupRenderer/layoutFeatures.d.ts +2 -0
  305. package/esm/PileupRenderer/layoutFeatures.js +31 -0
  306. package/esm/PileupRenderer/layoutFeatures.js.map +1 -0
  307. package/esm/PileupRenderer/makeImageData.d.ts +17 -0
  308. package/esm/PileupRenderer/makeImageData.js +60 -0
  309. package/esm/PileupRenderer/makeImageData.js.map +1 -0
  310. package/esm/PileupRenderer/renderAlignment.d.ts +13 -0
  311. package/esm/PileupRenderer/renderAlignment.js +68 -0
  312. package/esm/PileupRenderer/renderAlignment.js.map +1 -0
  313. package/esm/PileupRenderer/renderAlignmentShape.d.ts +7 -0
  314. package/esm/PileupRenderer/renderAlignmentShape.js +37 -0
  315. package/esm/PileupRenderer/renderAlignmentShape.js.map +1 -0
  316. package/esm/PileupRenderer/renderMethylation.d.ts +11 -0
  317. package/esm/PileupRenderer/renderMethylation.js +59 -0
  318. package/esm/PileupRenderer/renderMethylation.js.map +1 -0
  319. package/esm/PileupRenderer/renderMismatches.d.ts +21 -0
  320. package/esm/PileupRenderer/renderMismatches.js +131 -0
  321. package/esm/PileupRenderer/renderMismatches.js.map +1 -0
  322. package/esm/PileupRenderer/renderModifications.d.ts +11 -0
  323. package/esm/PileupRenderer/renderModifications.js +50 -0
  324. package/esm/PileupRenderer/renderModifications.js.map +1 -0
  325. package/esm/PileupRenderer/renderPerBaseLettering.d.ts +13 -0
  326. package/esm/PileupRenderer/renderPerBaseLettering.js +43 -0
  327. package/esm/PileupRenderer/renderPerBaseLettering.js.map +1 -0
  328. package/esm/PileupRenderer/renderPerBaseQuality.d.ts +9 -0
  329. package/esm/PileupRenderer/renderPerBaseQuality.js +35 -0
  330. package/esm/PileupRenderer/renderPerBaseQuality.js.map +1 -0
  331. package/esm/PileupRenderer/renderSoftClipping.d.ts +13 -0
  332. package/esm/PileupRenderer/renderSoftClipping.js +44 -0
  333. package/esm/PileupRenderer/renderSoftClipping.js.map +1 -0
  334. package/esm/PileupRenderer/sortUtil.js +1 -2
  335. package/esm/PileupRenderer/sortUtil.js.map +1 -1
  336. package/esm/PileupRenderer/util.d.ts +24 -0
  337. package/esm/PileupRenderer/util.js +42 -0
  338. package/esm/PileupRenderer/util.js.map +1 -0
  339. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +1 -3
  340. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +2 -4
  341. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  342. package/esm/SNPCoverageAdapter/configSchema.d.ts +10 -1
  343. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +3 -43
  344. package/esm/SNPCoverageAdapter/generateCoverageBins.js +87 -60
  345. package/esm/SNPCoverageAdapter/generateCoverageBins.js.map +1 -1
  346. package/esm/SNPCoverageAdapter/index.js +0 -2
  347. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  348. package/esm/SNPCoverageAdapter/util.d.ts +29 -0
  349. package/esm/SNPCoverageAdapter/util.js +2 -0
  350. package/esm/SNPCoverageAdapter/util.js.map +1 -0
  351. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +1 -1
  352. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +2 -2
  353. package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js.map +1 -1
  354. package/esm/SNPCoverageRenderer/configSchema.d.ts +47 -1
  355. package/esm/SNPCoverageRenderer/configSchema.js +5 -0
  356. package/esm/SNPCoverageRenderer/configSchema.js.map +1 -1
  357. package/esm/shared/BaseDisplayComponent.d.ts +8 -0
  358. package/esm/shared/BaseDisplayComponent.js +44 -0
  359. package/esm/shared/BaseDisplayComponent.js.map +1 -0
  360. package/esm/shared/FilterByTag.d.ts +13 -12
  361. package/esm/shared/FilterByTag.js +8 -13
  362. package/esm/shared/FilterByTag.js.map +1 -1
  363. package/esm/shared/afterAttach.d.ts +2 -0
  364. package/esm/shared/afterAttach.js +40 -0
  365. package/esm/shared/afterAttach.js.map +1 -0
  366. package/esm/shared/color.d.ts +44 -6
  367. package/esm/shared/color.js +54 -20
  368. package/esm/shared/color.js.map +1 -1
  369. package/esm/shared/fetchChains.d.ts +3 -2
  370. package/esm/shared/fetchChains.js +14 -20
  371. package/esm/shared/fetchChains.js.map +1 -1
  372. package/esm/shared/renderSvg.d.ts +7 -0
  373. package/esm/shared/renderSvg.js +39 -0
  374. package/esm/shared/renderSvg.js.map +1 -0
  375. package/esm/shared/util.d.ts +2 -0
  376. package/esm/shared/util.js +9 -0
  377. package/esm/shared/util.js.map +1 -0
  378. package/esm/util.d.ts +16 -2
  379. package/esm/util.js +42 -3
  380. package/esm/util.js.map +1 -1
  381. package/package.json +3 -3
  382. package/src/AlignmentsFeatureDetail/AlignmentsFeatureFlags.tsx +3 -5
  383. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.tsx.snap +1 -2
  384. package/src/AlignmentsTrack/configSchemaF.ts +22 -0
  385. package/src/AlignmentsTrack/index.ts +3 -24
  386. package/src/BamAdapter/BamAdapter.ts +46 -44
  387. package/src/CombinationTest.test.ts +2 -2
  388. package/src/CramAdapter/CramAdapter.ts +70 -56
  389. package/src/CramAdapter/CramSlightlyLazyFeature.ts +2 -5
  390. package/src/CramAdapter/CramTestAdapters.ts +2 -2
  391. package/src/LinearAlignmentsDisplay/models/model.tsx +16 -4
  392. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +3 -39
  393. package/src/LinearPileupDisplay/components/ColorByTag.tsx +1 -6
  394. package/src/LinearPileupDisplay/components/LinearPileupDisplayBlurb.tsx +10 -11
  395. package/src/LinearPileupDisplay/components/ModificationsTable.tsx +38 -0
  396. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +3 -5
  397. package/src/LinearPileupDisplay/model.ts +235 -186
  398. package/src/LinearReadArcsDisplay/components/ReactComponent.tsx +23 -61
  399. package/src/LinearReadArcsDisplay/drawFeats.ts +79 -87
  400. package/src/LinearReadArcsDisplay/model.tsx +77 -155
  401. package/src/LinearReadArcsDisplay/util.ts +10 -0
  402. package/src/LinearReadCloudDisplay/components/ReactComponent.tsx +21 -59
  403. package/src/LinearReadCloudDisplay/drawFeats.ts +12 -166
  404. package/src/LinearReadCloudDisplay/drawLongReadChains.ts +85 -0
  405. package/src/LinearReadCloudDisplay/drawPairChains.ts +139 -0
  406. package/src/LinearReadCloudDisplay/model.tsx +72 -131
  407. package/src/LinearReadCloudDisplay/util.ts +47 -0
  408. package/src/LinearSNPCoverageDisplay/models/model.ts +63 -50
  409. package/src/MismatchParser/index.ts +46 -4
  410. package/src/PileupRPC/methods/GetReducedFeatures.ts +2 -10
  411. package/src/PileupRenderer/PileupLayoutSession.ts +1 -1
  412. package/src/PileupRenderer/PileupRenderer.ts +23 -1190
  413. package/src/PileupRenderer/colorBy.ts +74 -0
  414. package/src/PileupRenderer/components/PileupRendering.tsx +20 -25
  415. package/src/PileupRenderer/getAlignmentShapeColor.ts +87 -0
  416. package/src/PileupRenderer/index.ts +1 -1
  417. package/src/PileupRenderer/layoutFeature.ts +83 -0
  418. package/src/PileupRenderer/layoutFeatures.ts +44 -0
  419. package/src/PileupRenderer/makeImageData.ts +93 -0
  420. package/src/PileupRenderer/renderAlignment.ts +97 -0
  421. package/src/PileupRenderer/renderAlignmentShape.ts +45 -0
  422. package/src/PileupRenderer/renderMethylation.ts +75 -0
  423. package/src/PileupRenderer/renderMismatches.ts +206 -0
  424. package/src/PileupRenderer/renderModifications.ts +74 -0
  425. package/src/PileupRenderer/renderPerBaseLettering.ts +67 -0
  426. package/src/PileupRenderer/renderPerBaseQuality.ts +46 -0
  427. package/src/PileupRenderer/renderSoftClipping.ts +78 -0
  428. package/src/PileupRenderer/sortUtil.ts +1 -3
  429. package/src/PileupRenderer/util.ts +63 -0
  430. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +5 -5
  431. package/src/SNPCoverageAdapter/generateCoverageBins.ts +105 -91
  432. package/src/SNPCoverageAdapter/index.ts +0 -2
  433. package/src/SNPCoverageAdapter/util.ts +33 -0
  434. package/src/SNPCoverageRenderer/SNPCoverageRenderer.ts +3 -3
  435. package/src/SNPCoverageRenderer/configSchema.ts +6 -0
  436. package/src/shared/BaseDisplayComponent.tsx +83 -0
  437. package/src/shared/FilterByTag.tsx +13 -23
  438. package/src/shared/afterAttach.tsx +66 -0
  439. package/src/shared/color.ts +59 -20
  440. package/src/shared/fetchChains.ts +23 -24
  441. package/src/shared/renderSvg.tsx +64 -0
  442. package/src/shared/util.ts +10 -0
  443. package/src/util.ts +54 -5
@@ -13,7 +13,7 @@ interface Filter {
13
13
  }
14
14
  /**
15
15
  * #stateModel LinearReadCloudDisplay
16
- * extends `BaseLinearDisplay`
16
+ * extends `BaseDisplay`, it is not a block based track, hence not BaseLinearDisplay
17
17
  */
18
18
  declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
19
19
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
@@ -21,70 +21,12 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
21
21
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
22
22
  } & {
23
23
  heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
24
- blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
25
- key: import("mobx-state-tree").ISimpleType<string>;
26
- region: import("mobx-state-tree").IModelType<{
27
- refName: import("mobx-state-tree").ISimpleType<string>;
28
- start: import("mobx-state-tree").ISimpleType<number>;
29
- end: import("mobx-state-tree").ISimpleType<number>;
30
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
31
- } & {
32
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
33
- }, {
34
- setRefName(newRefName: string): void;
35
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
36
- reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
37
- isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
38
- isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
39
- }, {
40
- renderInProgress: AbortController | undefined;
41
- filled: boolean;
42
- reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
43
- features: Map<string, import("@jbrowse/core/util").Feature> | undefined; /**
44
- * #action
45
- */
46
- layout: any;
47
- status: string;
48
- error: unknown;
49
- message: string | undefined;
50
- maxHeightReached: boolean;
51
- ReactComponent: ({ model, }: {
52
- model: any;
53
- }) => any;
54
- renderProps: any;
55
- } & {
56
- doReload(): void;
57
- afterAttach(): void; /**
58
- * #action
59
- */
60
- setStatus(message: string): void;
61
- setLoading(abortController: AbortController): void;
62
- setMessage(messageText: string): void;
63
- setRendered(props: {
64
- reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
65
- features: Map<string, import("@jbrowse/core/util").Feature>;
66
- layout: any;
67
- maxHeightReached: boolean;
68
- renderProps: any;
69
- } | undefined): void;
70
- setError(error: unknown): void;
71
- reload(): void;
72
- beforeDestroy(): void;
73
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
24
+ } & {
74
25
  userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
75
26
  userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
76
27
  } & {
77
- /**
78
- * #property
79
- */
80
28
  type: import("mobx-state-tree").ISimpleType<"LinearReadCloudDisplay">;
81
- /**
82
- * #property
83
- */
84
- configuration: import("mobx-state-tree").ITypeUnion<any, any, any>;
85
- /**
86
- * #property
87
- */
29
+ configuration: AnyConfigurationSchemaType;
88
30
  filterBy: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{
89
31
  flagInclude: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
90
32
  flagExclude: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
@@ -94,17 +36,16 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
94
36
  value: import("mobx-state-tree").ISimpleType<string>;
95
37
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
96
38
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
97
- /**
98
- * #property
99
- */
100
39
  colorBy: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
101
40
  type: import("mobx-state-tree").ISimpleType<string>;
102
41
  tag: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
103
42
  extra: import("mobx-state-tree").IType<any, any, any>;
104
43
  }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
44
+ drawSingletons: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
105
45
  }, {
106
46
  rendererTypeName: string;
107
47
  error: unknown;
48
+ message: string | undefined;
108
49
  } & {
109
50
  readonly RenderingComponent: React.FC<{
110
51
  model: {
@@ -114,6 +55,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
114
55
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
115
56
  rendererTypeName: string;
116
57
  error: unknown;
58
+ message: string | undefined;
117
59
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
118
60
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
119
61
  type: import("mobx-state-tree").ISimpleType<string>;
@@ -121,6 +63,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
121
63
  }, {
122
64
  rendererTypeName: string;
123
65
  error: unknown;
66
+ message: string | undefined;
124
67
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
125
68
  onHorizontalScroll?: Function | undefined;
126
69
  blockState?: Record<string, any> | undefined;
@@ -133,13 +76,19 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
133
76
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
134
77
  rendererTypeName: string;
135
78
  error: unknown;
79
+ message: string | undefined;
136
80
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
137
81
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
138
- type: import("mobx-state-tree").ISimpleType<string>;
82
+ type: import("mobx-state-tree").ISimpleType<string>; /**
83
+ * #action
84
+ * internal, a reference to a HTMLCanvas because we use a autorun to draw
85
+ * the canvas
86
+ */
139
87
  rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
140
88
  }, {
141
89
  rendererTypeName: string;
142
90
  error: unknown;
91
+ message: string | undefined;
143
92
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
144
93
  }> | null;
145
94
  readonly adapterConfig: any;
@@ -149,100 +98,66 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
149
98
  readonly DisplayMessageComponent: React.FC<any> | undefined;
150
99
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
151
100
  readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
152
- regionCannotBeRendered(): undefined;
101
+ regionCannotBeRendered(): null;
153
102
  } & {
103
+ setMessage(arg?: string | undefined): void;
154
104
  setError(error?: unknown): void;
155
105
  setRpcDriverName(rpcDriverName: string): void;
156
106
  reload(): void;
157
107
  } & {
158
- currBpPerPx: number;
159
108
  scrollTop: number;
160
- message: string;
161
- featureIdUnderMouse: string | undefined;
162
- contextMenuFeature: import("@jbrowse/core/util").Feature | undefined;
163
- estimatedRegionsStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats> | undefined;
164
- estimatedRegionsStats: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined;
165
109
  } & {
166
110
  readonly height: number;
167
- readonly blockType: "dynamicBlocks" | "staticBlocks";
168
- readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
169
111
  } & {
170
- readonly renderDelay: number;
171
- readonly TooltipComponent: React.FC<any>;
172
- readonly selectedFeatureId: string | undefined;
173
- readonly DisplayMessageComponent: React.FC<any> | undefined;
112
+ setScrollTop(scrollTop: number): void;
113
+ setHeight(displayHeight: number): number;
114
+ resizeHeight(distance: number): number;
115
+ } & {
116
+ featureDensityStatsP: Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats> | undefined;
117
+ featureDensityStats: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined;
118
+ currStatsBpPerPx: number;
174
119
  } & {
175
- readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
176
- readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
177
- getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
178
- getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
179
- searchFeatureByID(id: string): [number, number, number, number] | undefined;
180
120
  readonly currentBytesRequested: number;
181
121
  readonly currentFeatureScreenDensity: number;
182
122
  readonly maxFeatureScreenDensity: any;
183
- readonly estimatedStatsReady: boolean;
123
+ readonly featureDensityStatsReady: boolean;
184
124
  readonly maxAllowableBytes: number;
185
- } & {
186
- setMessage(message: string): void;
187
125
  } & {
188
126
  afterAttach(): void;
189
- estimateRegionsStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").Stats>;
190
- setRegionsStatsP(arg: any): void;
191
- setRegionsStats(estimatedRegionsStats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
192
- clearRegionsStats(): void;
193
- setHeight(displayHeight: number): number;
194
- resizeHeight(distance: number): number;
195
- setScrollTop(scrollTop: number): void;
196
- updateStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").Stats | undefined): void;
197
- addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
198
- setCurrBpPerPx(n: number): void;
199
- deleteBlock(key: string): void;
200
- selectFeature(feature: import("@jbrowse/core/util").Feature): void;
201
- clearFeatureSelection(): void;
202
- setFeatureIdUnderMouse(feature: string | undefined): void;
203
- reload(): void;
204
- setContextMenuFeature(feature?: import("@jbrowse/core/util").Feature | undefined): void;
127
+ } & {
128
+ setCurrStatsBpPerPx(n: number): void;
129
+ setFeatureDensityStatsLimit(stats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined): void;
130
+ getFeatureDensityStats(): Promise<import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats>;
131
+ setFeatureDensityStatsP(arg: any): void; /**
132
+ * #property
133
+ */
134
+ setFeatureDensityStats(featureDensityStats?: import("@jbrowse/core/data_adapters/BaseAdapter").FeatureDensityStats | undefined): void;
135
+ clearFeatureDensityStats(): void;
205
136
  } & {
206
137
  readonly regionTooLarge: boolean;
207
138
  readonly regionTooLargeReason: string;
208
- } & {
209
- reload(): Promise<void>;
210
- } & {
211
- afterAttach(): void;
212
139
  } & {
213
140
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
214
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): JSX.Element | null;
215
- trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
216
- contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
217
- renderProps(): any;
218
- } & {
219
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions & {
220
- overrideHeight: number;
221
- theme: import("@mui/material").ThemeOptions;
222
- }): Promise<JSX.Element>;
141
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): React.JSX.Element | null;
223
142
  } & {
224
143
  loading: boolean;
225
- drawn: boolean;
226
144
  chainData: ChainData | undefined;
145
+ lastDrawnOffsetPx: number | undefined;
146
+ lastDrawnBpPerPx: number;
227
147
  ref: HTMLCanvasElement | null;
228
- lastDrawnOffsetPx: number;
229
148
  } & {
230
149
  /**
231
150
  * #action
232
- * internal, a reference to a HTMLCanvas because we use a autorun to draw the canvas
233
151
  */
234
- reload(): void;
152
+ setDrawSingletons(f: boolean): void;
235
153
  /**
236
154
  * #action
237
155
  */
238
- setRef(ref: HTMLCanvasElement | null): void;
239
- setColorScheme(s: {
240
- type: string;
241
- }): void;
156
+ setLastDrawnOffsetPx(n: number): void;
242
157
  /**
243
158
  * #action
244
159
  */
245
- setChainData(args: ChainData): void;
160
+ setLastDrawnBpPerPx(n: number): void;
246
161
  /**
247
162
  * #action
248
163
  */
@@ -250,31 +165,46 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
250
165
  /**
251
166
  * #action
252
167
  */
253
- setDrawn(f: boolean): void;
168
+ reload(): void;
254
169
  /**
255
170
  * #action
171
+ * internal, a reference to a HTMLCanvas because we use a autorun to draw
172
+ * the canvas
256
173
  */
257
- setFilterBy(filter: Filter): void;
174
+ setRef(ref: HTMLCanvasElement | null): void;
175
+ setColorScheme(s: {
176
+ type: string;
177
+ }): void;
258
178
  /**
259
179
  * #action
260
180
  */
261
- setLastDrawnOffsetPx(n: number): void;
262
- } & {
181
+ setChainData(args: ChainData): void;
263
182
  /**
264
- * #getter
183
+ * #action
265
184
  */
266
- readonly ready: boolean;
267
- readonly rendererTypeName: string;
185
+ setFilterBy(filter: Filter): void;
186
+ } & {
187
+ readonly drawn: boolean;
188
+ } & {
268
189
  renderProps(): any;
269
190
  /**
270
191
  * #method
271
192
  */
272
193
  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 | {
194
+ label: string;
195
+ type: string;
196
+ checked: boolean;
197
+ onClick: () => void;
198
+ icon?: undefined;
199
+ subMenu?: undefined;
200
+ } | {
273
201
  label: string;
274
202
  icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
275
203
  muiName: string;
276
204
  };
277
205
  onClick: () => void;
206
+ type?: undefined;
207
+ checked?: undefined;
278
208
  subMenu?: undefined;
279
209
  } | {
280
210
  label: string;
@@ -285,6 +215,8 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
285
215
  label: string;
286
216
  onClick: () => void;
287
217
  }[];
218
+ type?: undefined;
219
+ checked?: undefined;
288
220
  onClick?: undefined;
289
221
  })[];
290
222
  /**
@@ -292,73 +224,10 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
292
224
  */
293
225
  renderSvg(opts: {
294
226
  rasterizeLayers?: boolean;
295
- }): Promise<JSX.Element | undefined>;
227
+ }): Promise<React.ReactNode>;
296
228
  } & {
297
229
  afterAttach(): void;
298
- }, {
299
- type: string;
300
- } & Partial<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
301
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
302
- type: import("mobx-state-tree").ISimpleType<string>;
303
- rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
304
- } & {
305
- heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
306
- blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
307
- key: import("mobx-state-tree").ISimpleType<string>;
308
- region: import("mobx-state-tree").IModelType<{
309
- refName: import("mobx-state-tree").ISimpleType<string>;
310
- start: import("mobx-state-tree").ISimpleType<number>;
311
- end: import("mobx-state-tree").ISimpleType<number>;
312
- reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
313
- } & {
314
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
315
- }, {
316
- setRefName(newRefName: string): void;
317
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
318
- reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
319
- isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
320
- isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
321
- }, {
322
- renderInProgress: AbortController | undefined;
323
- filled: boolean;
324
- reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
325
- features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
326
- layout: any;
327
- status: string;
328
- error: unknown;
329
- message: string | undefined;
330
- maxHeightReached: boolean;
331
- ReactComponent: ({ model, }: {
332
- model: any;
333
- }) => any;
334
- renderProps: any;
335
- } & {
336
- doReload(): void;
337
- afterAttach(): void;
338
- setStatus(message: string): void;
339
- setLoading(abortController: AbortController): void;
340
- setMessage(messageText: string): void;
341
- setRendered(props: {
342
- reactElement: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
343
- features: Map<string, import("@jbrowse/core/util").Feature>;
344
- layout: any;
345
- maxHeightReached: boolean;
346
- renderProps: any;
347
- } | undefined): void;
348
- setError(error: unknown): void;
349
- reload(): void;
350
- beforeDestroy(): void;
351
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
352
- userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
353
- userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
354
- }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, {
355
- type: string;
356
- id: string;
357
- rpcDriverName: string | undefined;
358
- heightPreConfig: number | undefined;
359
- userBpPerPxLimit: number | undefined;
360
- userByteSizeLimit: number | undefined;
361
- } & import("mobx-state-tree")._NotCustomized>;
230
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
362
231
  export type LinearReadCloudDisplayStateModel = ReturnType<typeof stateModelFactory>;
363
232
  export type LinearReadCloudDisplayModel = Instance<LinearReadCloudDisplayStateModel>;
364
233
  export default stateModelFactory;
@@ -26,9 +26,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const mobx_1 = require("mobx");
29
+ const react_1 = require("react");
31
30
  const mobx_state_tree_1 = require("mobx-state-tree");
31
+ const pluggableElementTypes_1 = require("@jbrowse/core/pluggableElementTypes");
32
32
  const configuration_1 = require("@jbrowse/core/configuration");
33
33
  const util_1 = require("@jbrowse/core/util");
34
34
  const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
@@ -37,22 +37,15 @@ const Palette_1 = __importDefault(require("@mui/icons-material/Palette"));
37
37
  const ClearAll_1 = __importDefault(require("@mui/icons-material/ClearAll"));
38
38
  // locals
39
39
  const shared_1 = require("../shared");
40
- const fetchChains_1 = require("../shared/fetchChains");
41
- const drawFeats_1 = __importDefault(require("./drawFeats"));
42
40
  // async
43
41
  const FilterByTagDlg = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../shared/FilterByTag'))));
44
- // stabilize clipid under test for snapshot
45
- function getId(id) {
46
- const isJest = typeof jest === 'undefined';
47
- return `cloud-clip-${isJest ? id : 'jest'}`;
48
- }
49
42
  /**
50
43
  * #stateModel LinearReadCloudDisplay
51
- * extends `BaseLinearDisplay`
44
+ * extends `BaseDisplay`, it is not a block based track, hence not BaseLinearDisplay
52
45
  */
53
46
  function stateModelFactory(configSchema) {
54
47
  return mobx_state_tree_1.types
55
- .compose('LinearReadCloudDisplay', plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
48
+ .compose('LinearReadCloudDisplay', pluggableElementTypes_1.BaseDisplay, (0, plugin_linear_genome_view_1.TrackHeightMixin)(), (0, plugin_linear_genome_view_1.FeatureDensityMixin)(), mobx_state_tree_1.types.model({
56
49
  /**
57
50
  * #property
58
51
  */
@@ -73,36 +66,36 @@ function stateModelFactory(configSchema) {
73
66
  tag: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
74
67
  extra: mobx_state_tree_1.types.frozen(),
75
68
  })),
69
+ /**
70
+ * #property
71
+ */
72
+ drawSingletons: true,
76
73
  }))
77
74
  .volatile(() => ({
78
75
  loading: false,
79
- drawn: false,
80
76
  chainData: undefined,
77
+ lastDrawnOffsetPx: undefined,
78
+ lastDrawnBpPerPx: 0,
81
79
  ref: null,
82
- lastDrawnOffsetPx: 0,
83
80
  }))
84
81
  .actions(self => ({
85
82
  /**
86
83
  * #action
87
- * internal, a reference to a HTMLCanvas because we use a autorun to draw the canvas
88
84
  */
89
- reload() {
90
- self.error = undefined;
85
+ setDrawSingletons(f) {
86
+ self.drawSingletons = f;
91
87
  },
92
88
  /**
93
89
  * #action
94
90
  */
95
- setRef(ref) {
96
- self.ref = ref;
97
- },
98
- setColorScheme(s) {
99
- self.colorBy = (0, mobx_state_tree_1.cast)(s);
91
+ setLastDrawnOffsetPx(n) {
92
+ self.lastDrawnOffsetPx = n;
100
93
  },
101
94
  /**
102
95
  * #action
103
96
  */
104
- setChainData(args) {
105
- self.chainData = args;
97
+ setLastDrawnBpPerPx(n) {
98
+ self.lastDrawnBpPerPx = n;
106
99
  },
107
100
  /**
108
101
  * #action
@@ -113,44 +106,47 @@ function stateModelFactory(configSchema) {
113
106
  /**
114
107
  * #action
115
108
  */
116
- setDrawn(f) {
117
- self.drawn = f;
109
+ reload() {
110
+ self.error = undefined;
118
111
  },
119
112
  /**
120
113
  * #action
114
+ * internal, a reference to a HTMLCanvas because we use a autorun to draw
115
+ * the canvas
121
116
  */
122
- setFilterBy(filter) {
123
- self.filterBy = (0, mobx_state_tree_1.cast)(filter);
117
+ setRef(ref) {
118
+ self.ref = ref;
119
+ },
120
+ setColorScheme(s) {
121
+ self.colorBy = (0, mobx_state_tree_1.cast)(s);
124
122
  },
125
123
  /**
126
124
  * #action
127
125
  */
128
- setLastDrawnOffsetPx(n) {
129
- self.lastDrawnOffsetPx = n;
126
+ setChainData(args) {
127
+ self.chainData = args;
128
+ },
129
+ /**
130
+ * #action
131
+ */
132
+ setFilterBy(filter) {
133
+ self.filterBy = (0, mobx_state_tree_1.cast)(filter);
134
+ },
135
+ }))
136
+ .views(self => ({
137
+ get drawn() {
138
+ return self.lastDrawnOffsetPx !== undefined;
130
139
  },
131
140
  }))
132
141
  .views(self => {
133
142
  const { trackMenuItems: superTrackMenuItems, renderProps: superRenderProps, } = self;
134
143
  return {
135
- /**
136
- * #getter
137
- */
138
- get ready() {
139
- return !!self.chainData;
140
- },
141
- // we don't use a server side renderer, but we need to provide this
142
- // to avoid confusing the system currently
143
- get rendererTypeName() {
144
- return 'PileupRenderer';
145
- },
146
144
  // we don't use a server side renderer, so this fills in minimal
147
145
  // info so as not to crash
148
146
  renderProps() {
149
147
  return {
150
148
  ...superRenderProps(),
151
- // never ready, we don't want to use server side render
152
- notReady: true,
153
- config: (0, configuration_1.ConfigurationSchema)('empty', {}).create(),
149
+ notReady: !self.chainData,
154
150
  };
155
151
  },
156
152
  /**
@@ -159,6 +155,12 @@ function stateModelFactory(configSchema) {
159
155
  trackMenuItems() {
160
156
  return [
161
157
  ...superTrackMenuItems(),
158
+ {
159
+ label: 'Draw singletons',
160
+ type: 'checkbox',
161
+ checked: self.drawSingletons,
162
+ onClick: () => self.setDrawSingletons(!self.drawSingletons),
163
+ },
162
164
  {
163
165
  label: 'Filter by',
164
166
  icon: ClearAll_1.default,
@@ -197,66 +199,27 @@ function stateModelFactory(configSchema) {
197
199
  * #method
198
200
  */
199
201
  async renderSvg(opts) {
200
- const view = (0, util_1.getContainingView)(self);
201
- const width = view.dynamicBlocks.totalWidthPx;
202
- const height = self.height;
203
- let str;
204
- if (opts.rasterizeLayers) {
205
- const canvas = document.createElement('canvas');
206
- canvas.width = width * 2;
207
- canvas.height = height * 2;
208
- const ctx = canvas.getContext('2d');
209
- if (!ctx) {
210
- return;
211
- }
212
- ctx.scale(2, 2);
213
- await (0, drawFeats_1.default)(self, ctx);
214
- str = (react_1.default.createElement("image", { width: width, height: height, xlinkHref: canvas.toDataURL('image/png') }));
215
- }
216
- else {
217
- // @ts-ignore
218
- const C2S = await Promise.resolve().then(() => __importStar(require('canvas2svg')));
219
- const ctx = new C2S.default(width, height);
220
- await (0, drawFeats_1.default)(self, ctx);
221
- const clipid = getId(self.id);
222
- str = (react_1.default.createElement(react_1.default.Fragment, null,
223
- react_1.default.createElement("defs", null,
224
- react_1.default.createElement("clipPath", { id: clipid },
225
- react_1.default.createElement("rect", { x: 0, y: 0, width: width, height: height }))),
226
- react_1.default.createElement("g", {
227
- /* eslint-disable-next-line react/no-danger */
228
- dangerouslySetInnerHTML: {
229
- __html: ctx.getSvg().innerHTML,
230
- }, clipPath: `url(#${clipid})` })));
231
- }
232
- return react_1.default.createElement("g", null, str);
202
+ const { renderSvg } = await Promise.resolve().then(() => __importStar(require('../shared/renderSvg')));
203
+ const { drawFeats } = await Promise.resolve().then(() => __importStar(require('./drawFeats')));
204
+ return renderSvg(self, opts, drawFeats);
233
205
  },
234
206
  };
235
207
  })
236
208
  .actions(self => ({
237
209
  afterAttach() {
238
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => (0, fetchChains_1.fetchChains)(self), { delay: 1000 }));
239
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
210
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
211
+ ;
212
+ (async () => {
240
213
  try {
241
- const canvas = self.ref;
242
- if (!canvas) {
243
- return;
244
- }
245
- const ctx = canvas.getContext('2d');
246
- if (!ctx) {
247
- return;
248
- }
249
- ctx.clearRect(0, 0, canvas.width, self.height * 2);
250
- ctx.resetTransform();
251
- ctx.scale(2, 2);
252
- await (0, drawFeats_1.default)(self, ctx);
253
- self.setDrawn(true);
214
+ const { doAfterAttach } = await Promise.resolve().then(() => __importStar(require('../shared/afterAttach')));
215
+ const { drawFeats } = await Promise.resolve().then(() => __importStar(require('./drawFeats')));
216
+ doAfterAttach(self, drawFeats);
254
217
  }
255
218
  catch (e) {
256
219
  console.error(e);
257
220
  self.setError(e);
258
221
  }
259
- }, { delay: 1000 }));
222
+ })();
260
223
  },
261
224
  }));
262
225
  }