@jbrowse/plugin-linear-genome-view 2.5.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -1
  3. package/dist/BaseLinearDisplay/components/Block.d.ts +3 -3
  4. package/dist/BaseLinearDisplay/components/Block.js +0 -1
  5. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  6. package/dist/BaseLinearDisplay/components/BlockMsg.js +0 -1
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  8. package/dist/BaseLinearDisplay/components/LinearBlocks.js +0 -1
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -1
  10. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  11. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +0 -1
  12. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  13. package/dist/BaseLinearDisplay/components/Tooltip.js +0 -1
  14. package/dist/BaseLinearDisplay/index.d.ts +5 -2
  15. package/dist/BaseLinearDisplay/index.js +7 -2
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +34 -356
  18. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  19. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +189 -0
  20. package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  21. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +55 -0
  22. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  23. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +41 -0
  24. package/dist/BaseLinearDisplay/models/configSchema.js +1 -1
  25. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  26. package/dist/BaseLinearDisplay/models/renderSvg.js +82 -0
  27. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -17
  28. package/dist/BaseLinearDisplay/models/util.js +0 -1
  29. package/dist/BasicTrack/configSchema.js +1 -1
  30. package/dist/BasicTrack/index.js +0 -1
  31. package/dist/FeatureTrack/configSchema.d.ts +1 -3
  32. package/dist/FeatureTrack/configSchema.js +1 -1
  33. package/dist/FeatureTrack/index.js +0 -1
  34. package/dist/LaunchLinearGenomeView/index.js +0 -1
  35. package/dist/LinearBareDisplay/configSchema.d.ts +1 -0
  36. package/dist/LinearBareDisplay/configSchema.js +1 -1
  37. package/dist/LinearBareDisplay/index.js +0 -1
  38. package/dist/LinearBareDisplay/model.d.ts +52 -39
  39. package/dist/LinearBareDisplay/model.js +1 -1
  40. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  41. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +0 -1
  42. package/dist/LinearBasicDisplay/configSchema.d.ts +1 -0
  43. package/dist/LinearBasicDisplay/configSchema.js +1 -1
  44. package/dist/LinearBasicDisplay/index.js +0 -1
  45. package/dist/LinearBasicDisplay/model.d.ts +67 -66
  46. package/dist/LinearBasicDisplay/model.js +1 -1
  47. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -1
  48. package/dist/LinearGenomeView/components/CenterLine.js +0 -1
  49. package/dist/LinearGenomeView/components/Cytobands.d.ts +2 -1
  50. package/dist/LinearGenomeView/components/Cytobands.js +0 -1
  51. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  52. package/dist/LinearGenomeView/components/ExportSvgDialog.js +0 -1
  53. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  54. package/dist/LinearGenomeView/components/GetSequenceDialog.js +0 -1
  55. package/dist/LinearGenomeView/components/Gridlines.d.ts +2 -1
  56. package/dist/LinearGenomeView/components/Gridlines.js +0 -1
  57. package/dist/LinearGenomeView/components/Header.d.ts +2 -1
  58. package/dist/LinearGenomeView/components/Header.js +0 -1
  59. package/dist/LinearGenomeView/components/ImportForm.d.ts +2 -1
  60. package/dist/LinearGenomeView/components/ImportForm.js +0 -1
  61. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  62. package/dist/LinearGenomeView/components/LinearGenomeView.js +28 -5
  63. package/dist/LinearGenomeView/components/MiniControls.d.ts +3 -2
  64. package/dist/LinearGenomeView/components/MiniControls.js +20 -41
  65. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  66. package/dist/LinearGenomeView/components/OverviewRubberband.js +0 -1
  67. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  68. package/dist/LinearGenomeView/components/OverviewScalebar.js +10 -5
  69. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  70. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +21 -0
  71. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  72. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +51 -0
  73. package/dist/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  74. package/dist/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -1
  75. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  76. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +110 -0
  77. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  78. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +58 -0
  79. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
  80. package/dist/LinearGenomeView/components/Rubberband.js +0 -1
  81. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  82. package/dist/LinearGenomeView/components/RubberbandSpan.js +0 -1
  83. package/dist/LinearGenomeView/components/Scalebar.js +0 -1
  84. package/dist/LinearGenomeView/components/SearchBox.d.ts +2 -1
  85. package/dist/LinearGenomeView/components/SearchBox.js +0 -1
  86. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  87. package/dist/LinearGenomeView/components/SearchResultsDialog.js +0 -1
  88. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  89. package/dist/LinearGenomeView/components/SearchResultsTable.js +0 -1
  90. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  91. package/dist/LinearGenomeView/components/SequenceSearchDialog.js +0 -1
  92. package/dist/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  93. package/dist/LinearGenomeView/components/TrackContainer.js +12 -69
  94. package/dist/LinearGenomeView/components/TrackLabel.js +7 -12
  95. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  96. package/dist/LinearGenomeView/components/TrackLabelContainer.js +31 -0
  97. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  98. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +73 -0
  99. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  100. package/dist/LinearGenomeView/components/TracksContainer.js +2 -3
  101. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  102. package/dist/LinearGenomeView/components/VerticalGuide.js +0 -1
  103. package/dist/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  104. package/dist/LinearGenomeView/components/ZoomControls.js +0 -1
  105. package/dist/LinearGenomeView/components/hooks.js +0 -1
  106. package/dist/LinearGenomeView/components/util.js +0 -1
  107. package/dist/LinearGenomeView/index.js +0 -1
  108. package/dist/LinearGenomeView/model.d.ts +13 -12
  109. package/dist/LinearGenomeView/model.js +25 -26
  110. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  111. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js +0 -1
  112. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  113. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +7 -3
  114. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -2
  115. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  116. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -1
  117. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  118. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js +0 -1
  119. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  120. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -1
  121. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  122. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -1
  123. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  124. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js +0 -1
  125. package/dist/LinearGenomeView/util.d.ts +2 -2
  126. package/dist/LinearGenomeView/util.js +0 -1
  127. package/dist/index.d.ts +160 -134
  128. package/dist/index.js +6 -4
  129. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  130. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +0 -1
  131. package/esm/BaseLinearDisplay/components/Block.d.ts +3 -3
  132. package/esm/BaseLinearDisplay/components/Block.js +0 -1
  133. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  134. package/esm/BaseLinearDisplay/components/BlockMsg.js +0 -1
  135. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -2
  136. package/esm/BaseLinearDisplay/components/LinearBlocks.js +0 -1
  137. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +0 -1
  138. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +2 -1
  139. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +0 -1
  140. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -1
  141. package/esm/BaseLinearDisplay/components/Tooltip.js +0 -1
  142. package/esm/BaseLinearDisplay/index.d.ts +5 -2
  143. package/esm/BaseLinearDisplay/index.js +3 -1
  144. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +62 -142
  145. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +36 -335
  146. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  147. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +183 -0
  148. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  149. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +52 -0
  150. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  151. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +38 -0
  152. package/esm/BaseLinearDisplay/models/configSchema.js +1 -1
  153. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  154. package/esm/BaseLinearDisplay/models/renderSvg.js +53 -0
  155. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +20 -17
  156. package/esm/BaseLinearDisplay/models/util.js +0 -1
  157. package/esm/BasicTrack/configSchema.js +1 -1
  158. package/esm/BasicTrack/index.js +0 -1
  159. package/esm/FeatureTrack/configSchema.d.ts +1 -3
  160. package/esm/FeatureTrack/configSchema.js +1 -1
  161. package/esm/FeatureTrack/index.js +0 -1
  162. package/esm/LaunchLinearGenomeView/index.js +0 -1
  163. package/esm/LinearBareDisplay/configSchema.d.ts +1 -0
  164. package/esm/LinearBareDisplay/configSchema.js +1 -1
  165. package/esm/LinearBareDisplay/index.js +0 -1
  166. package/esm/LinearBareDisplay/model.d.ts +52 -39
  167. package/esm/LinearBareDisplay/model.js +1 -1
  168. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -1
  169. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +0 -1
  170. package/esm/LinearBasicDisplay/configSchema.d.ts +1 -0
  171. package/esm/LinearBasicDisplay/configSchema.js +1 -1
  172. package/esm/LinearBasicDisplay/index.js +0 -1
  173. package/esm/LinearBasicDisplay/model.d.ts +67 -66
  174. package/esm/LinearBasicDisplay/model.js +1 -1
  175. package/esm/LinearGenomeView/components/CenterLine.d.ts +2 -1
  176. package/esm/LinearGenomeView/components/CenterLine.js +0 -1
  177. package/esm/LinearGenomeView/components/Cytobands.d.ts +2 -1
  178. package/esm/LinearGenomeView/components/Cytobands.js +0 -1
  179. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -1
  180. package/esm/LinearGenomeView/components/ExportSvgDialog.js +0 -1
  181. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -1
  182. package/esm/LinearGenomeView/components/GetSequenceDialog.js +0 -1
  183. package/esm/LinearGenomeView/components/Gridlines.d.ts +2 -1
  184. package/esm/LinearGenomeView/components/Gridlines.js +0 -1
  185. package/esm/LinearGenomeView/components/Header.d.ts +2 -1
  186. package/esm/LinearGenomeView/components/Header.js +0 -1
  187. package/esm/LinearGenomeView/components/ImportForm.d.ts +2 -1
  188. package/esm/LinearGenomeView/components/ImportForm.js +0 -1
  189. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +2 -1
  190. package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -4
  191. package/esm/LinearGenomeView/components/MiniControls.d.ts +3 -2
  192. package/esm/LinearGenomeView/components/MiniControls.js +20 -18
  193. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  194. package/esm/LinearGenomeView/components/OverviewRubberband.js +0 -1
  195. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  196. package/esm/LinearGenomeView/components/OverviewScalebar.js +10 -5
  197. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  198. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +15 -0
  199. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  200. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +22 -0
  201. package/esm/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -1
  202. package/esm/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -1
  203. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  204. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +82 -0
  205. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  206. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +49 -0
  207. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
  208. package/esm/LinearGenomeView/components/Rubberband.js +0 -1
  209. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +2 -1
  210. package/esm/LinearGenomeView/components/RubberbandSpan.js +0 -1
  211. package/esm/LinearGenomeView/components/Scalebar.js +0 -1
  212. package/esm/LinearGenomeView/components/SearchBox.d.ts +2 -1
  213. package/esm/LinearGenomeView/components/SearchBox.js +0 -1
  214. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +2 -1
  215. package/esm/LinearGenomeView/components/SearchResultsDialog.js +0 -1
  216. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +2 -1
  217. package/esm/LinearGenomeView/components/SearchResultsTable.js +0 -1
  218. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -1
  219. package/esm/LinearGenomeView/components/SequenceSearchDialog.js +0 -1
  220. package/esm/LinearGenomeView/components/TrackContainer.d.ts +3 -3
  221. package/esm/LinearGenomeView/components/TrackContainer.js +13 -70
  222. package/esm/LinearGenomeView/components/TrackLabel.js +7 -12
  223. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  224. package/esm/LinearGenomeView/components/TrackLabelContainer.js +26 -0
  225. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  226. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +48 -0
  227. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  228. package/esm/LinearGenomeView/components/TracksContainer.js +2 -3
  229. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -1
  230. package/esm/LinearGenomeView/components/VerticalGuide.js +0 -1
  231. package/esm/LinearGenomeView/components/ZoomControls.d.ts +2 -1
  232. package/esm/LinearGenomeView/components/ZoomControls.js +0 -1
  233. package/esm/LinearGenomeView/components/hooks.js +0 -1
  234. package/esm/LinearGenomeView/components/util.js +0 -1
  235. package/esm/LinearGenomeView/index.js +0 -1
  236. package/esm/LinearGenomeView/model.d.ts +13 -12
  237. package/esm/LinearGenomeView/model.js +21 -22
  238. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -1
  239. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js +0 -1
  240. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -4
  241. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +7 -3
  242. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -2
  243. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -1
  244. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js +0 -1
  245. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -1
  246. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js +0 -1
  247. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -1
  248. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js +0 -1
  249. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -1
  250. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js +0 -1
  251. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -1
  252. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js +0 -1
  253. package/esm/LinearGenomeView/util.d.ts +2 -2
  254. package/esm/LinearGenomeView/util.js +0 -1
  255. package/esm/index.d.ts +160 -134
  256. package/esm/index.js +1 -2
  257. package/package.json +3 -4
  258. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +0 -1
  259. package/dist/BaseLinearDisplay/components/Block.js.map +0 -1
  260. package/dist/BaseLinearDisplay/components/BlockMsg.js.map +0 -1
  261. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +0 -1
  262. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +0 -1
  263. package/dist/BaseLinearDisplay/components/TooLargeMessage.js.map +0 -1
  264. package/dist/BaseLinearDisplay/components/Tooltip.js.map +0 -1
  265. package/dist/BaseLinearDisplay/index.js.map +0 -1
  266. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +0 -1
  267. package/dist/BaseLinearDisplay/models/configSchema.js.map +0 -1
  268. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +0 -1
  269. package/dist/BaseLinearDisplay/models/util.js.map +0 -1
  270. package/dist/BasicTrack/configSchema.js.map +0 -1
  271. package/dist/BasicTrack/index.js.map +0 -1
  272. package/dist/FeatureTrack/configSchema.js.map +0 -1
  273. package/dist/FeatureTrack/index.js.map +0 -1
  274. package/dist/LaunchLinearGenomeView/index.js.map +0 -1
  275. package/dist/LinearBareDisplay/configSchema.js.map +0 -1
  276. package/dist/LinearBareDisplay/index.js.map +0 -1
  277. package/dist/LinearBareDisplay/model.js.map +0 -1
  278. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +0 -1
  279. package/dist/LinearBasicDisplay/configSchema.js.map +0 -1
  280. package/dist/LinearBasicDisplay/index.js.map +0 -1
  281. package/dist/LinearBasicDisplay/model.js.map +0 -1
  282. package/dist/LinearGenomeView/components/CenterLine.js.map +0 -1
  283. package/dist/LinearGenomeView/components/Cytobands.js.map +0 -1
  284. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +0 -1
  285. package/dist/LinearGenomeView/components/GetSequenceDialog.js.map +0 -1
  286. package/dist/LinearGenomeView/components/Gridlines.js.map +0 -1
  287. package/dist/LinearGenomeView/components/Header.js.map +0 -1
  288. package/dist/LinearGenomeView/components/HelpDialog.js.map +0 -1
  289. package/dist/LinearGenomeView/components/ImportForm.js.map +0 -1
  290. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +0 -1
  291. package/dist/LinearGenomeView/components/MiniControls.js.map +0 -1
  292. package/dist/LinearGenomeView/components/OverviewRubberband.js.map +0 -1
  293. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +0 -1
  294. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  295. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +0 -189
  296. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  297. package/dist/LinearGenomeView/components/Rubberband.js.map +0 -1
  298. package/dist/LinearGenomeView/components/RubberbandSpan.js.map +0 -1
  299. package/dist/LinearGenomeView/components/Scalebar.js.map +0 -1
  300. package/dist/LinearGenomeView/components/SearchBox.js.map +0 -1
  301. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +0 -1
  302. package/dist/LinearGenomeView/components/SearchResultsTable.js.map +0 -1
  303. package/dist/LinearGenomeView/components/SequenceSearchDialog.js.map +0 -1
  304. package/dist/LinearGenomeView/components/TrackContainer.js.map +0 -1
  305. package/dist/LinearGenomeView/components/TrackLabel.js.map +0 -1
  306. package/dist/LinearGenomeView/components/TracksContainer.js.map +0 -1
  307. package/dist/LinearGenomeView/components/VerticalGuide.js.map +0 -1
  308. package/dist/LinearGenomeView/components/ZoomControls.js.map +0 -1
  309. package/dist/LinearGenomeView/components/hooks.js.map +0 -1
  310. package/dist/LinearGenomeView/components/util.js.map +0 -1
  311. package/dist/LinearGenomeView/index.js.map +0 -1
  312. package/dist/LinearGenomeView/model.js.map +0 -1
  313. package/dist/LinearGenomeView/svgcomponents/SVGBackground.js.map +0 -1
  314. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js.map +0 -1
  315. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +0 -1
  316. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.js.map +0 -1
  317. package/dist/LinearGenomeView/svgcomponents/SVGRuler.js.map +0 -1
  318. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.js.map +0 -1
  319. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.js.map +0 -1
  320. package/dist/LinearGenomeView/svgcomponents/SVGTracks.js.map +0 -1
  321. package/dist/LinearGenomeView/util.js.map +0 -1
  322. package/dist/index.js.map +0 -1
  323. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +0 -1
  324. package/esm/BaseLinearDisplay/components/Block.js.map +0 -1
  325. package/esm/BaseLinearDisplay/components/BlockMsg.js.map +0 -1
  326. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +0 -1
  327. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +0 -1
  328. package/esm/BaseLinearDisplay/components/TooLargeMessage.js.map +0 -1
  329. package/esm/BaseLinearDisplay/components/Tooltip.js.map +0 -1
  330. package/esm/BaseLinearDisplay/index.js.map +0 -1
  331. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +0 -1
  332. package/esm/BaseLinearDisplay/models/configSchema.js.map +0 -1
  333. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +0 -1
  334. package/esm/BaseLinearDisplay/models/util.js.map +0 -1
  335. package/esm/BasicTrack/configSchema.js.map +0 -1
  336. package/esm/BasicTrack/index.js.map +0 -1
  337. package/esm/FeatureTrack/configSchema.js.map +0 -1
  338. package/esm/FeatureTrack/index.js.map +0 -1
  339. package/esm/LaunchLinearGenomeView/index.js.map +0 -1
  340. package/esm/LinearBareDisplay/configSchema.js.map +0 -1
  341. package/esm/LinearBareDisplay/index.js.map +0 -1
  342. package/esm/LinearBareDisplay/model.js.map +0 -1
  343. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +0 -1
  344. package/esm/LinearBasicDisplay/configSchema.js.map +0 -1
  345. package/esm/LinearBasicDisplay/index.js.map +0 -1
  346. package/esm/LinearBasicDisplay/model.js.map +0 -1
  347. package/esm/LinearGenomeView/components/CenterLine.js.map +0 -1
  348. package/esm/LinearGenomeView/components/Cytobands.js.map +0 -1
  349. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +0 -1
  350. package/esm/LinearGenomeView/components/GetSequenceDialog.js.map +0 -1
  351. package/esm/LinearGenomeView/components/Gridlines.js.map +0 -1
  352. package/esm/LinearGenomeView/components/Header.js.map +0 -1
  353. package/esm/LinearGenomeView/components/HelpDialog.js.map +0 -1
  354. package/esm/LinearGenomeView/components/ImportForm.js.map +0 -1
  355. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +0 -1
  356. package/esm/LinearGenomeView/components/MiniControls.js.map +0 -1
  357. package/esm/LinearGenomeView/components/OverviewRubberband.js.map +0 -1
  358. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +0 -1
  359. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  360. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +0 -161
  361. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  362. package/esm/LinearGenomeView/components/Rubberband.js.map +0 -1
  363. package/esm/LinearGenomeView/components/RubberbandSpan.js.map +0 -1
  364. package/esm/LinearGenomeView/components/Scalebar.js.map +0 -1
  365. package/esm/LinearGenomeView/components/SearchBox.js.map +0 -1
  366. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +0 -1
  367. package/esm/LinearGenomeView/components/SearchResultsTable.js.map +0 -1
  368. package/esm/LinearGenomeView/components/SequenceSearchDialog.js.map +0 -1
  369. package/esm/LinearGenomeView/components/TrackContainer.js.map +0 -1
  370. package/esm/LinearGenomeView/components/TrackLabel.js.map +0 -1
  371. package/esm/LinearGenomeView/components/TracksContainer.js.map +0 -1
  372. package/esm/LinearGenomeView/components/VerticalGuide.js.map +0 -1
  373. package/esm/LinearGenomeView/components/ZoomControls.js.map +0 -1
  374. package/esm/LinearGenomeView/components/hooks.js.map +0 -1
  375. package/esm/LinearGenomeView/components/util.js.map +0 -1
  376. package/esm/LinearGenomeView/index.js.map +0 -1
  377. package/esm/LinearGenomeView/model.js.map +0 -1
  378. package/esm/LinearGenomeView/svgcomponents/SVGBackground.js.map +0 -1
  379. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js.map +0 -1
  380. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +0 -1
  381. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.js.map +0 -1
  382. package/esm/LinearGenomeView/svgcomponents/SVGRuler.js.map +0 -1
  383. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.js.map +0 -1
  384. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.js.map +0 -1
  385. package/esm/LinearGenomeView/svgcomponents/SVGTracks.js.map +0 -1
  386. package/esm/LinearGenomeView/util.js.map +0 -1
  387. package/esm/index.js.map +0 -1
  388. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +0 -117
  389. package/src/BaseLinearDisplay/components/Block.tsx +0 -77
  390. package/src/BaseLinearDisplay/components/BlockMsg.tsx +0 -42
  391. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +0 -119
  392. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +0 -69
  393. package/src/BaseLinearDisplay/components/TooLargeMessage.tsx +0 -36
  394. package/src/BaseLinearDisplay/components/Tooltip.tsx +0 -107
  395. package/src/BaseLinearDisplay/index.ts +0 -12
  396. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +0 -768
  397. package/src/BaseLinearDisplay/models/configSchema.ts +0 -59
  398. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +0 -318
  399. package/src/BaseLinearDisplay/models/util.ts +0 -67
  400. package/src/BasicTrack/configSchema.ts +0 -23
  401. package/src/BasicTrack/index.ts +0 -18
  402. package/src/FeatureTrack/configSchema.ts +0 -27
  403. package/src/FeatureTrack/index.ts +0 -18
  404. package/src/LaunchLinearGenomeView/index.ts +0 -66
  405. package/src/LinearBareDisplay/configSchema.ts +0 -27
  406. package/src/LinearBareDisplay/index.test.js +0 -34
  407. package/src/LinearBareDisplay/index.ts +0 -25
  408. package/src/LinearBareDisplay/model.ts +0 -53
  409. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +0 -73
  410. package/src/LinearBasicDisplay/configSchema.ts +0 -27
  411. package/src/LinearBasicDisplay/index.ts +0 -25
  412. package/src/LinearBasicDisplay/model.ts +0 -214
  413. package/src/LinearGenomeView/README.md +0 -9
  414. package/src/LinearGenomeView/components/CenterLine.tsx +0 -65
  415. package/src/LinearGenomeView/components/Cytobands.tsx +0 -154
  416. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +0 -149
  417. package/src/LinearGenomeView/components/GetSequenceDialog.tsx +0 -269
  418. package/src/LinearGenomeView/components/Gridlines.tsx +0 -119
  419. package/src/LinearGenomeView/components/Header.tsx +0 -126
  420. package/src/LinearGenomeView/components/HelpDialog.tsx +0 -69
  421. package/src/LinearGenomeView/components/ImportForm.tsx +0 -217
  422. package/src/LinearGenomeView/components/LinearGenomeView.test.tsx +0 -167
  423. package/src/LinearGenomeView/components/LinearGenomeView.tsx +0 -72
  424. package/src/LinearGenomeView/components/MiniControls.tsx +0 -55
  425. package/src/LinearGenomeView/components/OverviewRubberband.tsx +0 -219
  426. package/src/LinearGenomeView/components/OverviewScalebar.tsx +0 -345
  427. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +0 -321
  428. package/src/LinearGenomeView/components/Rubberband.tsx +0 -89
  429. package/src/LinearGenomeView/components/RubberbandSpan.tsx +0 -99
  430. package/src/LinearGenomeView/components/Scalebar.test.tsx +0 -145
  431. package/src/LinearGenomeView/components/Scalebar.tsx +0 -199
  432. package/src/LinearGenomeView/components/SearchBox.tsx +0 -123
  433. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +0 -57
  434. package/src/LinearGenomeView/components/SearchResultsTable.tsx +0 -121
  435. package/src/LinearGenomeView/components/SequenceSearchDialog.tsx +0 -136
  436. package/src/LinearGenomeView/components/TrackContainer.tsx +0 -180
  437. package/src/LinearGenomeView/components/TrackLabel.tsx +0 -143
  438. package/src/LinearGenomeView/components/TracksContainer.tsx +0 -114
  439. package/src/LinearGenomeView/components/VerticalGuide.tsx +0 -37
  440. package/src/LinearGenomeView/components/ZoomControls.tsx +0 -62
  441. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +0 -1520
  442. package/src/LinearGenomeView/components/hooks.ts +0 -306
  443. package/src/LinearGenomeView/components/util.ts +0 -76
  444. package/src/LinearGenomeView/hg38DisplayedRegions.json +0 -3187
  445. package/src/LinearGenomeView/index.test.ts +0 -993
  446. package/src/LinearGenomeView/index.ts +0 -17
  447. package/src/LinearGenomeView/model.ts +0 -1532
  448. package/src/LinearGenomeView/svgcomponents/SVGBackground.tsx +0 -21
  449. package/src/LinearGenomeView/svgcomponents/SVGHeader.tsx +0 -93
  450. package/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +0 -114
  451. package/src/LinearGenomeView/svgcomponents/SVGRegionSeparators.tsx +0 -31
  452. package/src/LinearGenomeView/svgcomponents/SVGRuler.tsx +0 -125
  453. package/src/LinearGenomeView/svgcomponents/SVGScalebar.tsx +0 -57
  454. package/src/LinearGenomeView/svgcomponents/SVGTrackLabel.tsx +0 -47
  455. package/src/LinearGenomeView/svgcomponents/SVGTracks.tsx +0 -67
  456. package/src/LinearGenomeView/util.test.ts +0 -33
  457. package/src/LinearGenomeView/util.ts +0 -182
  458. package/src/LinearGenomeView/volvoxDisplayedRegions.json +0 -16
  459. package/src/index.ts +0 -85
@@ -1,8 +1,6 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import React from 'react';
3
1
  import { BaseDisplay } from '@jbrowse/core/pluggableElementTypes/models';
4
- import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
5
- import { isAbortException, getContainingView, getContainingTrack, getSession, getViewParams, isSelectionContainer, isSessionModelWithWidgets, isFeature, ReactRendering, } from '@jbrowse/core/util';
2
+ import { ConfigurationReference } from '@jbrowse/core/configuration';
3
+ import { getContainingView, getContainingTrack, getSession, isSelectionContainer, isSessionModelWithWidgets, isFeature, } from '@jbrowse/core/util';
6
4
  import CompositeMap from '@jbrowse/core/util/compositeMap';
7
5
  import { getParentRenderProps } from '@jbrowse/core/util/tracks';
8
6
  import { autorun } from 'mobx';
@@ -10,54 +8,34 @@ import { addDisposer, isAlive, types } from 'mobx-state-tree';
10
8
  // icons
11
9
  import MenuOpenIcon from '@mui/icons-material/MenuOpen';
12
10
  import { Tooltip } from '../components/BaseLinearDisplay';
13
- import TooLargeMessage from '../components/TooLargeMessage';
14
- import BlockState, { renderBlockData } from './serverSideRenderedBlock';
15
- import { getId, getDisplayStr, getFeatureDensityStatsPre } from './util';
11
+ import BlockState from './serverSideRenderedBlock';
16
12
  import configSchema from './configSchema';
17
- const minDisplayHeight = 20;
13
+ import renderBaseLinearDisplaySvg from './renderSvg';
14
+ import TrackHeightMixin from './TrackHeightMixin';
15
+ import FeatureDensityMixin from './FeatureDensityMixin';
18
16
  /**
19
17
  * #stateModel BaseLinearDisplay
18
+ * #category display
20
19
  * extends `BaseDisplay`
21
20
  */
22
21
  function stateModelFactory() {
23
22
  return types
24
- .compose('BaseLinearDisplay', BaseDisplay, types.model({
25
- /**
26
- * #property
27
- */
28
- heightPreConfig: types.maybe(types.refinement('displayHeight', types.number, n => n >= minDisplayHeight)),
23
+ .compose('BaseLinearDisplay', BaseDisplay, TrackHeightMixin(), FeatureDensityMixin(), types.model({
29
24
  /**
30
25
  * #property
31
26
  * updated via autorun
32
27
  */
33
28
  blockState: types.map(BlockState),
34
- /**
35
- * #property
36
- */
37
- userBpPerPxLimit: types.maybe(types.number),
38
- /**
39
- * #property
40
- */
41
- userByteSizeLimit: types.maybe(types.number),
42
29
  /**
43
30
  * #property
44
31
  */
45
32
  configuration: ConfigurationReference(configSchema),
46
33
  }))
47
34
  .volatile(() => ({
48
- currBpPerPx: 0,
49
- scrollTop: 0,
50
- message: '',
51
35
  featureIdUnderMouse: undefined,
52
36
  contextMenuFeature: undefined,
53
- featureDensityStatsP: undefined,
54
- featureDensityStats: undefined,
55
37
  }))
56
38
  .views(self => ({
57
- get height() {
58
- var _a;
59
- return (_a = self.heightPreConfig) !== null && _a !== void 0 ? _a : getConf(self, 'height');
60
- },
61
39
  /**
62
40
  * #getter
63
41
  */
@@ -68,12 +46,11 @@ function stateModelFactory() {
68
46
  * #getter
69
47
  */
70
48
  get blockDefinitions() {
71
- const { blockType } = this;
72
49
  const view = getContainingView(self);
73
50
  if (!view.initialized) {
74
51
  throw new Error('view not initialized yet');
75
52
  }
76
- return view[blockType];
53
+ return view[this.blockType];
77
54
  },
78
55
  }))
79
56
  .views(self => ({
@@ -165,139 +142,8 @@ function stateModelFactory() {
165
142
  });
166
143
  return ret;
167
144
  },
168
- /**
169
- * #getter
170
- */
171
- get currentBytesRequested() {
172
- var _a;
173
- return ((_a = self.featureDensityStats) === null || _a === void 0 ? void 0 : _a.bytes) || 0;
174
- },
175
- /**
176
- * #getter
177
- */
178
- get currentFeatureScreenDensity() {
179
- var _a;
180
- const view = getContainingView(self);
181
- return (((_a = self.featureDensityStats) === null || _a === void 0 ? void 0 : _a.featureDensity) || 0) * view.bpPerPx;
182
- },
183
- /**
184
- * #getter
185
- */
186
- get maxFeatureScreenDensity() {
187
- return getConf(self, 'maxFeatureScreenDensity');
188
- },
189
- /**
190
- * #getter
191
- */
192
- get featureDensityStatsReady() {
193
- return !!self.featureDensityStats || !!self.userBpPerPxLimit;
194
- },
195
- /**
196
- * #getter
197
- */
198
- get maxAllowableBytes() {
199
- var _a;
200
- return (self.userByteSizeLimit ||
201
- ((_a = self.featureDensityStats) === null || _a === void 0 ? void 0 : _a.fetchSizeLimit) ||
202
- getConf(self, 'fetchSizeLimit'));
203
- },
204
145
  }))
205
146
  .actions(self => ({
206
- /**
207
- * #action
208
- */
209
- setMessage(message) {
210
- self.message = message;
211
- },
212
- }))
213
- .actions(self => ({
214
- afterAttach() {
215
- // watch the parent's blocks to update our block state when they change,
216
- // then we recreate the blocks on our own model (creating and deleting to
217
- // match the parent blocks)
218
- addDisposer(self, autorun(() => {
219
- const blocksPresent = {};
220
- const view = getContainingView(self);
221
- if (view.initialized) {
222
- self.blockDefinitions.contentBlocks.forEach(block => {
223
- blocksPresent[block.key] = true;
224
- if (!self.blockState.has(block.key)) {
225
- this.addBlock(block.key, block);
226
- }
227
- });
228
- self.blockState.forEach((_, key) => {
229
- if (!blocksPresent[key]) {
230
- this.deleteBlock(key);
231
- }
232
- });
233
- }
234
- }));
235
- },
236
- /**
237
- * #action
238
- */
239
- async getFeatureDensityStats() {
240
- if (!self.featureDensityStatsP) {
241
- self.featureDensityStatsP = getFeatureDensityStatsPre(self).catch(e => {
242
- this.setFeatureDensityStatsP(undefined);
243
- throw e;
244
- });
245
- }
246
- return self.featureDensityStatsP;
247
- },
248
- /**
249
- * #action
250
- */
251
- setFeatureDensityStatsP(arg) {
252
- self.featureDensityStatsP = arg;
253
- },
254
- /**
255
- * #action
256
- */
257
- setFeatureDensityStats(featureDensityStats) {
258
- self.featureDensityStats = featureDensityStats;
259
- },
260
- /**
261
- * #action
262
- */
263
- clearFeatureDensityStats() {
264
- self.featureDensityStatsP = undefined;
265
- self.featureDensityStats = undefined;
266
- },
267
- /**
268
- * #action
269
- */
270
- setHeight(displayHeight) {
271
- self.heightPreConfig =
272
- displayHeight > minDisplayHeight ? displayHeight : minDisplayHeight;
273
- return self.height;
274
- },
275
- /**
276
- * #action
277
- */
278
- resizeHeight(distance) {
279
- const oldHeight = self.height;
280
- const newHeight = this.setHeight(self.height + distance);
281
- return newHeight - oldHeight;
282
- },
283
- /**
284
- * #action
285
- */
286
- setScrollTop(scrollTop) {
287
- self.scrollTop = scrollTop;
288
- },
289
- /**
290
- * #action
291
- */
292
- setFeatureDensityStatsLimit(stats) {
293
- const view = getContainingView(self);
294
- if (stats === null || stats === void 0 ? void 0 : stats.bytes) {
295
- self.userByteSizeLimit = stats.bytes;
296
- }
297
- else {
298
- self.userBpPerPxLimit = view.bpPerPx;
299
- }
300
- },
301
147
  /**
302
148
  * #action
303
149
  */
@@ -307,12 +153,6 @@ function stateModelFactory() {
307
153
  region: block.toRegion(),
308
154
  }));
309
155
  },
310
- /**
311
- * #action
312
- */
313
- setCurrBpPerPx(n) {
314
- self.currBpPerPx = n;
315
- },
316
156
  /**
317
157
  * #action
318
158
  */
@@ -348,52 +188,12 @@ function stateModelFactory() {
348
188
  setFeatureIdUnderMouse(feature) {
349
189
  self.featureIdUnderMouse = feature;
350
190
  },
351
- /**
352
- * #action
353
- */
354
- reload() {
355
- ;
356
- [...self.blockState.values()].map(val => val.doReload());
357
- },
358
191
  /**
359
192
  * #action
360
193
  */
361
194
  setContextMenuFeature(feature) {
362
195
  self.contextMenuFeature = feature;
363
196
  },
364
- }))
365
- .views(self => ({
366
- /**
367
- * #getter
368
- * region is too large if:
369
- * - stats are ready
370
- * - region is greater than 20kb (don't warn when zoomed in less than that)
371
- * - and bytes is greater than max allowed bytes or density greater than max
372
- * density
373
- */
374
- get regionTooLarge() {
375
- const view = getContainingView(self);
376
- if (!self.featureDensityStatsReady ||
377
- view.dynamicBlocks.totalBp < 20000) {
378
- return false;
379
- }
380
- return (self.currentBytesRequested > self.maxAllowableBytes ||
381
- (self.userBpPerPxLimit
382
- ? view.bpPerPx > self.userBpPerPxLimit
383
- : self.currentFeatureScreenDensity > self.maxFeatureScreenDensity));
384
- },
385
- /**
386
- * #getter
387
- * only shows a message of bytes requested is defined, the feature density
388
- * based stats don't produce any helpful message besides to zoom in
389
- */
390
- get regionTooLargeReason() {
391
- const req = self.currentBytesRequested;
392
- const max = self.maxAllowableBytes;
393
- return req && req > max
394
- ? `Requested too much data (${getDisplayStr(req)})`
395
- : '';
396
- },
397
197
  }))
398
198
  .actions(self => {
399
199
  const { reload: superReload } = self;
@@ -403,88 +203,14 @@ function stateModelFactory() {
403
203
  */
404
204
  async reload() {
405
205
  self.setError();
406
- const view = getContainingView(self);
407
- // extra check for contentBlocks.length
408
- // https://github.com/GMOD/jbrowse-components/issues/2694
409
- if (!view.initialized || !view.staticBlocks.contentBlocks.length) {
410
- return;
411
- }
412
- try {
413
- const featureDensityStats = await self.getFeatureDensityStats();
414
- if (isAlive(self)) {
415
- self.setFeatureDensityStats(featureDensityStats);
416
- superReload();
417
- }
418
- }
419
- catch (e) {
420
- console.error(e);
421
- self.setError(e);
422
- }
206
+ self.setCurrStatsBpPerPx(0);
207
+ self.clearFeatureDensityStats();
208
+ [...self.blockState.values()].map(val => val.doReload());
209
+ superReload();
423
210
  },
424
211
  };
425
212
  })
426
- .actions(self => ({
427
- afterAttach() {
428
- // this autorun performs stats estimation
429
- //
430
- // the chain of events calls getFeatureDensityStats against the data
431
- // adapter which by default uses featureDensity, but can also respond
432
- // with a byte size estimate and fetch size limit (data adapter can
433
- // define what is too much data)
434
- addDisposer(self, autorun(async () => {
435
- var _a;
436
- try {
437
- const view = getContainingView(self);
438
- // extra check for contentBlocks.length
439
- // https://github.com/GMOD/jbrowse-components/issues/2694
440
- if (!view.initialized ||
441
- !view.staticBlocks.contentBlocks.length) {
442
- return;
443
- }
444
- // don't re-estimate featureDensity even if zoom level changes,
445
- // jbrowse1-style assume it's sort of representative
446
- if (((_a = self.featureDensityStats) === null || _a === void 0 ? void 0 : _a.featureDensity) !== undefined) {
447
- self.setCurrBpPerPx(view.bpPerPx);
448
- return;
449
- }
450
- // we estimate stats once at a given zoom level
451
- if (view.bpPerPx === self.currBpPerPx) {
452
- return;
453
- }
454
- self.clearFeatureDensityStats();
455
- self.setCurrBpPerPx(view.bpPerPx);
456
- const featureDensityStats = await self.getFeatureDensityStats();
457
- if (isAlive(self)) {
458
- self.setFeatureDensityStats(featureDensityStats);
459
- }
460
- }
461
- catch (e) {
462
- if (!isAbortException(e) && isAlive(self)) {
463
- console.error(e);
464
- self.setError(e);
465
- }
466
- }
467
- }));
468
- },
469
- }))
470
213
  .views(self => ({
471
- /**
472
- * #method
473
- */
474
- regionCannotBeRenderedText(_region) {
475
- return self.regionTooLarge ? 'Force load to see features' : '';
476
- },
477
- /**
478
- * #method
479
- * @param region -
480
- * @returns falsy if the region is fine to try rendering. Otherwise,
481
- * return a react node + string of text.
482
- * string of text describes why it cannot be rendered
483
- * react node allows user to force load at current setting
484
- */
485
- regionCannotBeRendered(_region) {
486
- return self.regionTooLarge ? React.createElement(TooLargeMessage, { model: self }) : null;
487
- },
488
214
  /**
489
215
  * #method
490
216
  */
@@ -515,10 +241,9 @@ function stateModelFactory() {
515
241
  * #method
516
242
  */
517
243
  renderProps() {
518
- const view = getContainingView(self);
519
244
  return {
520
245
  ...getParentRenderProps(self),
521
- notReady: self.currBpPerPx !== view.bpPerPx || !self.featureDensityStatsReady,
246
+ notReady: !self.featureDensityStatsReady,
522
247
  rpcDriverName: self.rpcDriverName,
523
248
  displayModel: self,
524
249
  onFeatureClick(_, featureId) {
@@ -565,53 +290,30 @@ function stateModelFactory() {
565
290
  * #method
566
291
  */
567
292
  async renderSvg(opts) {
568
- const { height, id } = self;
569
- const { overrideHeight } = opts;
570
- const view = getContainingView(self);
571
- const { offsetPx: viewOffsetPx, roundedDynamicBlocks, width } = view;
572
- const renderings = await Promise.all(roundedDynamicBlocks.map(async (block) => {
573
- const blockState = BlockState.create({
574
- key: block.key,
575
- region: block,
576
- });
577
- // regionCannotBeRendered can return jsx so look for plaintext
578
- // version, or just get the default if none available
579
- const cannotBeRenderedReason = self.regionCannotBeRenderedText(block) ||
580
- self.regionCannotBeRendered(block);
581
- if (cannotBeRenderedReason) {
582
- return [
583
- block,
584
- {
585
- reactElement: (React.createElement(React.Fragment, null,
586
- React.createElement("rect", { x: 0, y: 0, width: width, height: 20, fill: "#aaa" }),
587
- React.createElement("text", { x: 0, y: 15 }, cannotBeRenderedReason))),
588
- },
589
- ];
293
+ return renderBaseLinearDisplaySvg(self, opts);
294
+ },
295
+ afterAttach() {
296
+ // watch the parent's blocks to update our block state when they change,
297
+ // then we recreate the blocks on our own model (creating and deleting to
298
+ // match the parent blocks)
299
+ addDisposer(self, autorun(() => {
300
+ const blocksPresent = {};
301
+ const view = getContainingView(self);
302
+ if (!view.initialized) {
303
+ return;
590
304
  }
591
- const { rpcManager, renderArgs, renderProps, rendererType } = renderBlockData(blockState, self);
592
- return [
593
- block,
594
- await rendererType.renderInClient(rpcManager, {
595
- ...renderArgs,
596
- ...renderProps,
597
- viewParams: getViewParams(self, true),
598
- exportSVG: opts,
599
- theme: opts.theme || renderProps.theme,
600
- }),
601
- ];
305
+ self.blockDefinitions.contentBlocks.forEach(block => {
306
+ blocksPresent[block.key] = true;
307
+ if (!self.blockState.has(block.key)) {
308
+ self.addBlock(block.key, block);
309
+ }
310
+ });
311
+ self.blockState.forEach((_, key) => {
312
+ if (!blocksPresent[key]) {
313
+ self.deleteBlock(key);
314
+ }
315
+ });
602
316
  }));
603
- return (React.createElement(React.Fragment, null, renderings.map(([block, rendering], index) => {
604
- const { offsetPx, widthPx } = block;
605
- const offset = offsetPx - viewOffsetPx;
606
- const clipid = getId(id, index);
607
- return (React.createElement(React.Fragment, { key: `frag-${index}` },
608
- React.createElement("defs", null,
609
- React.createElement("clipPath", { id: clipid },
610
- React.createElement("rect", { x: 0, y: 0, width: widthPx, height: overrideHeight || height }))),
611
- React.createElement("g", { transform: `translate(${offset} 0)` },
612
- React.createElement("g", { clipPath: `url(#${clipid})` },
613
- React.createElement(ReactRendering, { rendering: rendering })))));
614
- })));
615
317
  },
616
318
  }))
617
319
  .preProcessSnapshot(snap => {
@@ -632,4 +334,3 @@ function stateModelFactory() {
632
334
  });
633
335
  }
634
336
  export const BaseLinearDisplay = stateModelFactory();
635
- //# sourceMappingURL=BaseLinearDisplayModel.js.map
@@ -0,0 +1,99 @@
1
+ import React from 'react';
2
+ import { FeatureDensityStats } from '@jbrowse/core/data_adapters/BaseAdapter';
3
+ import { Region } from '@jbrowse/core/util/types';
4
+ /**
5
+ * #stateModel FeatureDensityMixin
6
+ * #category display
7
+ */
8
+ export default function FeatureDensityMixin(): import("mobx-state-tree").IModelType<{
9
+ /**
10
+ * #property
11
+ */
12
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
13
+ /**
14
+ * #property
15
+ */
16
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
17
+ }, {
18
+ featureDensityStatsP: Promise<FeatureDensityStats> | undefined;
19
+ featureDensityStats: FeatureDensityStats | undefined;
20
+ currStatsBpPerPx: number;
21
+ } & {
22
+ /**
23
+ * #getter
24
+ */
25
+ readonly currentBytesRequested: number;
26
+ /**
27
+ * #getter
28
+ */
29
+ readonly currentFeatureScreenDensity: number;
30
+ /**
31
+ * #getter
32
+ */
33
+ readonly maxFeatureScreenDensity: any;
34
+ /**
35
+ * #getter
36
+ */
37
+ readonly featureDensityStatsReady: boolean;
38
+ /**
39
+ * #getter
40
+ */
41
+ readonly maxAllowableBytes: number;
42
+ } & {
43
+ afterAttach(): void;
44
+ } & {
45
+ /**
46
+ * #action
47
+ */
48
+ setCurrStatsBpPerPx(n: number): void;
49
+ /**
50
+ * #action
51
+ */
52
+ setFeatureDensityStatsLimit(stats?: FeatureDensityStats): void;
53
+ /**
54
+ * #action
55
+ */
56
+ getFeatureDensityStats(): Promise<FeatureDensityStats>;
57
+ /**
58
+ * #action
59
+ */
60
+ setFeatureDensityStatsP(arg: any): void;
61
+ /**
62
+ * #action
63
+ */
64
+ setFeatureDensityStats(featureDensityStats?: FeatureDensityStats): void;
65
+ /**
66
+ * #action
67
+ */
68
+ clearFeatureDensityStats(): void;
69
+ } & {
70
+ /**
71
+ * #getter
72
+ * region is too large if:
73
+ * - stats are ready
74
+ * - region is greater than 20kb (don't warn when zoomed in less than that)
75
+ * - and bytes is greater than max allowed bytes or density greater than max
76
+ * density
77
+ */
78
+ readonly regionTooLarge: boolean;
79
+ /**
80
+ * #getter
81
+ * only shows a message of bytes requested is defined, the feature density
82
+ * based stats don't produce any helpful message besides to zoom in
83
+ */
84
+ readonly regionTooLargeReason: string;
85
+ } & {
86
+ /**
87
+ * #method
88
+ */
89
+ regionCannotBeRenderedText(_region: Region): "" | "Force load to see features";
90
+ /**
91
+ * #method
92
+ * @param region -
93
+ * @returns falsy if the region is fine to try rendering. Otherwise,
94
+ * return a react node + string of text.
95
+ * string of text describes why it cannot be rendered
96
+ * react node allows user to force load at current setting
97
+ */
98
+ regionCannotBeRendered(_region: Region): React.JSX.Element | null;
99
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;