@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,219 +0,0 @@
1
- import React, { useRef, useEffect, useState } from 'react'
2
- import { Tooltip } from '@mui/material'
3
- import { makeStyles } from 'tss-react/mui'
4
- import { getSession, stringify } from '@jbrowse/core/util'
5
- import { observer } from 'mobx-react'
6
- import { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel'
7
-
8
- // locals
9
- import { LinearGenomeViewModel } from '..'
10
- import RubberbandSpan from './RubberbandSpan'
11
- import { getRelativeX } from './util'
12
-
13
- type LGV = LinearGenomeViewModel
14
-
15
- const useStyles = makeStyles()({
16
- rubberbandControl: {
17
- cursor: 'crosshair',
18
- width: '100%',
19
- minHeight: 8,
20
- },
21
- guide: {
22
- pointerEvents: 'none',
23
- height: '100%',
24
- width: 1,
25
- position: 'absolute',
26
- zIndex: 10,
27
- },
28
- })
29
-
30
- const HoverTooltip = observer(function ({
31
- model,
32
- open,
33
- guideX,
34
- overview,
35
- }: {
36
- model: LGV
37
- open: boolean
38
- guideX: number
39
- overview: Base1DViewModel
40
- }) {
41
- const { classes } = useStyles()
42
- const { cytobandOffset } = model
43
- const { assemblyManager } = getSession(model)
44
-
45
- const px = overview.pxToBp(guideX - cytobandOffset)
46
- const assembly = assemblyManager.get(px.assemblyName)
47
- const cytoband = assembly?.cytobands?.find(
48
- f =>
49
- px.coord > f.get('start') &&
50
- px.coord < f.get('end') &&
51
- px.refName === assembly.getCanonicalRefName(f.get('refName')),
52
- )
53
-
54
- return (
55
- <Tooltip
56
- open={open}
57
- placement="top"
58
- title={[stringify(px), cytoband?.get('name')].join(' ')}
59
- arrow
60
- >
61
- <div className={classes.guide} style={{ left: guideX }} />
62
- </Tooltip>
63
- )
64
- })
65
-
66
- export default observer(function OverviewRubberband({
67
- model,
68
- overview,
69
- ControlComponent = <div />,
70
- }: {
71
- model: LGV
72
- overview: Base1DViewModel
73
- ControlComponent?: React.ReactElement
74
- }) {
75
- const { cytobandOffset } = model
76
- const [startX, setStartX] = useState<number>()
77
- const [currentX, setCurrentX] = useState<number>()
78
- const [guideX, setGuideX] = useState<number>()
79
- const controlsRef = useRef<HTMLDivElement>(null)
80
- const { classes } = useStyles()
81
- const mouseDragging = startX !== undefined
82
-
83
- useEffect(() => {
84
- function globalMouseMove(event: MouseEvent) {
85
- const ref = controlsRef.current
86
- if (ref && mouseDragging) {
87
- setCurrentX(getRelativeX(event, ref))
88
- }
89
- }
90
-
91
- function globalMouseUp() {
92
- // click and drag
93
- if (startX !== undefined && currentX !== undefined) {
94
- if (Math.abs(currentX - startX) > 3) {
95
- const left = Math.min(startX, currentX)
96
- const right = Math.max(startX, currentX)
97
- model.moveTo(
98
- overview.pxToBp(left - cytobandOffset),
99
- overview.pxToBp(right - cytobandOffset),
100
- )
101
- }
102
- }
103
-
104
- // just a click
105
- if (startX !== undefined && currentX === undefined) {
106
- const click = overview.pxToBp(startX - cytobandOffset)
107
- if (!click.refName) {
108
- getSession(model).notify('unknown position clicked')
109
- console.error('unknown position clicked', click)
110
- } else {
111
- model.centerAt(Math.round(click.coord), click.refName, click.index)
112
- }
113
- }
114
- setStartX(undefined)
115
- setCurrentX(undefined)
116
-
117
- if (startX !== undefined) {
118
- setGuideX(undefined)
119
- }
120
- }
121
-
122
- function globalKeyDown(event: KeyboardEvent) {
123
- if (event.key === 'Escape') {
124
- setStartX(undefined)
125
- setCurrentX(undefined)
126
- }
127
- }
128
-
129
- if (mouseDragging) {
130
- window.addEventListener('mousemove', globalMouseMove, true)
131
- window.addEventListener('mouseup', globalMouseUp, true)
132
- window.addEventListener('keydown', globalKeyDown, true)
133
- return () => {
134
- window.removeEventListener('mousemove', globalMouseMove, true)
135
- window.removeEventListener('mouseup', globalMouseUp, true)
136
- window.removeEventListener('keydown', globalKeyDown, true)
137
- }
138
- }
139
- return () => {}
140
- }, [mouseDragging, currentX, startX, model, overview, cytobandOffset])
141
-
142
- function mouseDown(event: React.MouseEvent<HTMLDivElement>) {
143
- event.preventDefault()
144
- event.stopPropagation()
145
- setStartX(getRelativeX(event, controlsRef.current))
146
- }
147
-
148
- function mouseMove(event: React.MouseEvent<HTMLDivElement>) {
149
- setGuideX(getRelativeX(event, controlsRef.current))
150
- }
151
-
152
- function mouseOut() {
153
- setGuideX(undefined)
154
- }
155
-
156
- if (startX === undefined) {
157
- return (
158
- <div style={{ position: 'relative' }}>
159
- {guideX !== undefined ? (
160
- <HoverTooltip
161
- model={model}
162
- open={!mouseDragging}
163
- overview={overview}
164
- guideX={guideX}
165
- />
166
- ) : null}
167
- <div
168
- className={classes.rubberbandControl}
169
- ref={controlsRef}
170
- onMouseDown={mouseDown}
171
- onMouseOut={mouseOut}
172
- onMouseMove={mouseMove}
173
- >
174
- {ControlComponent}
175
- </div>
176
- </div>
177
- )
178
- }
179
-
180
- let left = startX || 0
181
- let width = 0
182
- if (startX !== undefined && currentX !== undefined) {
183
- left = currentX < startX ? currentX : startX
184
- width = currentX - startX
185
- }
186
- // calculate the start and end bp of drag
187
- let leftBpOffset
188
- let rightBpOffset
189
- if (startX) {
190
- leftBpOffset = overview.pxToBp(startX - cytobandOffset)
191
- rightBpOffset = overview.pxToBp(startX + width - cytobandOffset)
192
- if (currentX !== undefined && currentX < startX) {
193
- ;[leftBpOffset, rightBpOffset] = [rightBpOffset, leftBpOffset]
194
- }
195
- }
196
-
197
- return (
198
- <div style={{ position: 'relative' }}>
199
- {leftBpOffset && rightBpOffset ? (
200
- <RubberbandSpan
201
- leftBpOffset={leftBpOffset}
202
- rightBpOffset={rightBpOffset}
203
- width={Math.abs(width)}
204
- left={left}
205
- />
206
- ) : null}
207
- <div
208
- data-testid="rubberband_controls"
209
- className={classes.rubberbandControl}
210
- ref={controlsRef}
211
- onMouseDown={mouseDown}
212
- onMouseOut={mouseOut}
213
- onMouseMove={mouseMove}
214
- >
215
- {ControlComponent}
216
- </div>
217
- </div>
218
- )
219
- })
@@ -1,345 +0,0 @@
1
- import React from 'react'
2
- import { Typography, useTheme, alpha } from '@mui/material'
3
- import { makeStyles } from 'tss-react/mui'
4
- import { observer } from 'mobx-react'
5
-
6
- // core
7
- import Base1DView, { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel'
8
- import { getSession, getTickDisplayStr } from '@jbrowse/core/util'
9
- import { ContentBlock } from '@jbrowse/core/util/blockTypes'
10
-
11
- // locals
12
- import {
13
- LinearGenomeViewModel,
14
- HEADER_BAR_HEIGHT,
15
- HEADER_OVERVIEW_HEIGHT,
16
- } from '..'
17
- import { chooseGridPitch } from '../util'
18
- import OverviewRubberband from './OverviewRubberband'
19
- import Cytobands from './Cytobands'
20
- import { getCytobands } from './util'
21
-
22
- const wholeSeqSpacer = 2
23
-
24
- const useStyles = makeStyles()(theme => ({
25
- scalebar: {
26
- height: HEADER_OVERVIEW_HEIGHT,
27
- },
28
- scalebarBorder: {
29
- border: '1px solid',
30
- },
31
- scalebarContig: {
32
- backgroundColor: theme.palette.background.default,
33
- position: 'absolute',
34
- top: 0,
35
- height: HEADER_OVERVIEW_HEIGHT,
36
- overflow: 'hidden',
37
- },
38
- scalebarContigForward: {
39
- backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M-.1 0L6 4.5L-.1 9' fill='none' stroke='${theme.palette.divider}'/%3E%3C/svg%3E")`,
40
- backgroundRepeat: 'repeat',
41
- },
42
- scalebarContigReverse: {
43
- backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M6 0L0 4.5L6 9' fill='none' stroke='${theme.palette.divider}'/%3E%3C/svg%3E")`,
44
- backgroundRepeat: 'repeat',
45
- },
46
-
47
- scalebarRefName: {
48
- position: 'absolute',
49
- fontWeight: 'bold',
50
- pointerEvents: 'none',
51
- zIndex: 100,
52
- },
53
- scalebarLabel: {
54
- height: HEADER_OVERVIEW_HEIGHT,
55
- position: 'absolute',
56
- display: 'flex',
57
- justifyContent: 'center',
58
- pointerEvents: 'none',
59
- },
60
- scalebarVisibleRegion: {
61
- position: 'absolute',
62
- height: HEADER_OVERVIEW_HEIGHT,
63
- pointerEvents: 'none',
64
- zIndex: 100,
65
- border: '1px solid',
66
- },
67
- overview: {
68
- height: HEADER_BAR_HEIGHT,
69
- position: 'relative',
70
- },
71
- overviewSvg: {
72
- pointerEvents: 'none',
73
- width: '100%',
74
- position: 'absolute',
75
- },
76
- }))
77
-
78
- const Polygon = observer(function ({
79
- model,
80
- overview,
81
- useOffset = true,
82
- }: {
83
- model: LGV
84
- overview: Base1DViewModel
85
- useOffset?: boolean
86
- }) {
87
- const theme = useTheme()
88
- const multiplier = Number(useOffset)
89
- const { interRegionPaddingWidth, offsetPx, dynamicBlocks, cytobandOffset } =
90
- model
91
- const { contentBlocks, totalWidthPxWithoutBorders } = dynamicBlocks
92
-
93
- const { tertiary, primary } = theme.palette
94
- const polygonColor = tertiary ? tertiary.light : primary.light
95
-
96
- if (!contentBlocks.length) {
97
- return null
98
- }
99
- const first = contentBlocks[0]
100
- const last = contentBlocks[contentBlocks.length - 1]
101
- const topLeft =
102
- (overview.bpToPx({
103
- ...first,
104
- coord: first.reversed ? first.end : first.start,
105
- }) || 0) +
106
- cytobandOffset * multiplier
107
- const topRight =
108
- (overview.bpToPx({
109
- ...last,
110
- coord: last.reversed ? last.start : last.end,
111
- }) || 0) +
112
- cytobandOffset * multiplier
113
-
114
- const startPx = Math.max(0, -offsetPx)
115
- const endPx =
116
- startPx +
117
- totalWidthPxWithoutBorders +
118
- (contentBlocks.length * interRegionPaddingWidth) / 2
119
-
120
- const points = [
121
- [startPx, HEADER_BAR_HEIGHT],
122
- [endPx, HEADER_BAR_HEIGHT],
123
- [topRight, 0],
124
- [topLeft, 0],
125
- ]
126
-
127
- return (
128
- <polygon
129
- points={points.toString()}
130
- fill={alpha(polygonColor, 0.3)}
131
- stroke={alpha(polygonColor, 0.8)}
132
- />
133
- )
134
- })
135
-
136
- type LGV = LinearGenomeViewModel
137
-
138
- const OverviewBox = observer(function ({
139
- scale,
140
- model,
141
- block,
142
- overview,
143
- }: {
144
- scale: number
145
- model: LGV
146
- block: ContentBlock
147
- overview: Base1DViewModel
148
- }) {
149
- const { classes, cx } = useStyles()
150
- const theme = useTheme()
151
- const { cytobandOffset, showCytobands } = model
152
- const { start, end, reversed, refName, assemblyName } = block
153
- const { majorPitch } = chooseGridPitch(scale, 120, 15)
154
- const { assemblyManager } = getSession(model)
155
- const assembly = assemblyManager.get(assemblyName)
156
- const refNameColor = assembly?.getRefNameColor(refName)
157
-
158
- const tickLabels = []
159
- for (let i = 0; i < Math.floor((end - start) / majorPitch); i++) {
160
- const offsetLabel = (i + 1) * majorPitch
161
- tickLabels.push(reversed ? end - offsetLabel : start + offsetLabel)
162
- }
163
-
164
- const canDisplayCytobands =
165
- showCytobands && getCytobands(assembly, block.refName).length
166
-
167
- return (
168
- <div>
169
- {/* name of sequence */}
170
- <Typography
171
- style={{
172
- left: block.offsetPx + 3,
173
- color: canDisplayCytobands
174
- ? theme.palette.text.primary
175
- : refNameColor,
176
- }}
177
- className={classes.scalebarRefName}
178
- >
179
- {refName}
180
- </Typography>
181
- <div
182
- className={cx(
183
- classes.scalebarContig,
184
- canDisplayCytobands
185
- ? undefined
186
- : reversed
187
- ? classes.scalebarContigReverse
188
- : classes.scalebarContigForward,
189
- !canDisplayCytobands ? classes.scalebarBorder : undefined,
190
- )}
191
- style={{
192
- left: block.offsetPx + cytobandOffset,
193
- width: block.widthPx,
194
- borderColor: refNameColor,
195
- }}
196
- >
197
- {!canDisplayCytobands
198
- ? tickLabels.map((tickLabel, labelIdx) => (
199
- <Typography
200
- key={`${JSON.stringify(block)}-${tickLabel}-${labelIdx}`}
201
- className={classes.scalebarLabel}
202
- variant="body2"
203
- style={{
204
- left: ((labelIdx + 1) * majorPitch) / scale,
205
- pointerEvents: 'none',
206
- color: refNameColor,
207
- }}
208
- >
209
- {getTickDisplayStr(tickLabel, overview.bpPerPx)}
210
- </Typography>
211
- ))
212
- : null}
213
-
214
- {canDisplayCytobands ? (
215
- <svg style={{ width: '100%' }}>
216
- <Cytobands overview={overview} assembly={assembly} block={block} />
217
- </svg>
218
- ) : null}
219
- </div>
220
- </div>
221
- )
222
- })
223
-
224
- const Scalebar = observer(function ({
225
- model,
226
- scale,
227
- overview,
228
- }: {
229
- model: LGV
230
- overview: Base1DViewModel
231
- scale: number
232
- }) {
233
- const { classes } = useStyles()
234
- const theme = useTheme()
235
- const { dynamicBlocks, showCytobands, cytobandOffset } = model
236
- const visibleRegions = dynamicBlocks.contentBlocks
237
- const overviewVisibleRegions = overview.dynamicBlocks
238
-
239
- const { tertiary, primary } = theme.palette
240
- const scalebarColor = tertiary ? tertiary.light : primary.light
241
-
242
- if (!visibleRegions.length) {
243
- return null
244
- }
245
- const first = visibleRegions[0]
246
- const firstOverviewPx =
247
- overview.bpToPx({
248
- ...first,
249
- coord: first.reversed ? first.end : first.start,
250
- }) || 0
251
-
252
- const last = visibleRegions[visibleRegions.length - 1]
253
- const lastOverviewPx =
254
- overview.bpToPx({
255
- ...last,
256
- coord: last.reversed ? last.start : last.end,
257
- }) || 0
258
-
259
- const color = showCytobands ? '#f00' : scalebarColor
260
- const transparency = showCytobands ? 0.1 : 0.3
261
-
262
- return (
263
- <div className={classes.scalebar}>
264
- <div
265
- className={classes.scalebarVisibleRegion}
266
- style={{
267
- width: lastOverviewPx - firstOverviewPx,
268
- left: firstOverviewPx + cytobandOffset,
269
- background: alpha(color, transparency),
270
- borderColor: color,
271
- }}
272
- />
273
- {/* this is the entire scale bar */}
274
- {overviewVisibleRegions.map((block, idx) => {
275
- return !(block instanceof ContentBlock) ? (
276
- <div
277
- key={`${JSON.stringify(block)}-${idx}`}
278
- className={classes.scalebarContig}
279
- style={{
280
- width: block.widthPx,
281
- left: block.offsetPx,
282
- backgroundColor: '#999',
283
- backgroundImage:
284
- 'repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(255,255,255,.5) 1px, rgba(255,255,255,.5) 3px)',
285
- }}
286
- />
287
- ) : (
288
- <OverviewBox
289
- scale={scale}
290
- block={block}
291
- model={model}
292
- overview={overview}
293
- key={`${JSON.stringify(block)}-${idx}`}
294
- />
295
- )
296
- })}
297
- </div>
298
- )
299
- })
300
-
301
- export default observer(function OverviewScalebar({
302
- model,
303
- children,
304
- }: {
305
- model: LGV
306
- children: React.ReactNode
307
- }) {
308
- const { classes } = useStyles()
309
- const { totalBp, width, cytobandOffset, displayedRegions } = model
310
-
311
- const overview = Base1DView.create({
312
- displayedRegions: JSON.parse(JSON.stringify(displayedRegions)),
313
- interRegionPaddingWidth: 0,
314
- minimumBlockWidth: model.minimumBlockWidth,
315
- })
316
-
317
- const modWidth = width - cytobandOffset
318
- overview.setVolatileWidth(modWidth)
319
- overview.showAllRegions()
320
-
321
- const scale =
322
- totalBp / (modWidth - (displayedRegions.length - 1) * wholeSeqSpacer)
323
-
324
- return (
325
- <div>
326
- <OverviewRubberband
327
- model={model}
328
- overview={overview}
329
- ControlComponent={
330
- <Scalebar model={model} overview={overview} scale={scale} />
331
- }
332
- />
333
- <div className={classes.overview}>
334
- <svg height={HEADER_BAR_HEIGHT} className={classes.overviewSvg}>
335
- <Polygon model={model} overview={overview} />
336
- </svg>
337
- {children}
338
- </div>
339
- </div>
340
- )
341
- })
342
-
343
- export { Polygon }
344
-
345
- export { default as Cytobands } from './Cytobands'