@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,180 +0,0 @@
1
- import React, { useEffect, useRef } from 'react'
2
- import { Paper } from '@mui/material'
3
- import { makeStyles } from 'tss-react/mui'
4
- import { observer } from 'mobx-react'
5
- import { isAlive } from 'mobx-state-tree'
6
- import { ErrorBoundary } from 'react-error-boundary'
7
-
8
- // jbrowse core
9
- import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
10
- import { getConf } from '@jbrowse/core/configuration'
11
- import { ResizeHandle, ErrorMessage } from '@jbrowse/core/ui'
12
- import { useDebouncedCallback } from '@jbrowse/core/util'
13
-
14
- // locals
15
- import { LinearGenomeViewModel } from '..'
16
- import TrackLabel from './TrackLabel'
17
-
18
- const useStyles = makeStyles()({
19
- root: {
20
- marginTop: 2,
21
- },
22
- resizeHandle: {
23
- height: 3,
24
- boxSizing: 'border-box',
25
- position: 'relative',
26
- zIndex: 2,
27
- },
28
- overlay: {
29
- pointerEvents: 'none',
30
- position: 'absolute',
31
- top: 0,
32
- left: 0,
33
- width: '100%',
34
- zIndex: 3,
35
- },
36
- trackLabel: {
37
- zIndex: 3,
38
- },
39
-
40
- // aligns with block boundaries. check for example the breakpoint split view
41
- // demo to see if features align if wanting to change things
42
- renderingComponentContainer: {
43
- position: 'absolute',
44
- // -1 offset because of the 1px border of the Paper
45
- left: -1,
46
- height: '100%',
47
- width: '100%',
48
- },
49
- trackLabelOffset: {
50
- position: 'relative',
51
- display: 'inline-block',
52
- },
53
- trackLabelOverlap: {
54
- position: 'absolute',
55
- },
56
- trackRenderingContainer: {
57
- overflowY: 'auto',
58
- overflowX: 'hidden',
59
- whiteSpace: 'nowrap',
60
- position: 'relative',
61
- background: 'none',
62
- zIndex: 2,
63
- },
64
- })
65
-
66
- type LGV = LinearGenomeViewModel
67
-
68
- const TrackContainerLabel = observer(
69
- ({ model, view }: { model: BaseTrackModel; view: LGV }) => {
70
- const { classes, cx } = useStyles()
71
- const display = model.displays[0]
72
- const { trackLabel, trackLabelOverlap, trackLabelOffset } = classes
73
- const labelStyle =
74
- view.trackLabels !== 'overlapping' || display.prefersOffset
75
- ? trackLabelOffset
76
- : trackLabelOverlap
77
-
78
- return view.trackLabels !== 'hidden' ? (
79
- <TrackLabel track={model} className={cx(trackLabel, labelStyle)} />
80
- ) : null
81
- },
82
- )
83
-
84
- function TrackContainer({
85
- model,
86
- track,
87
- }: {
88
- model: LGV
89
- track: BaseTrackModel
90
- }) {
91
- const { classes } = useStyles()
92
- const display = track.displays[0]
93
- const { horizontalScroll, draggingTrackId, moveTrack } = model
94
- const { height, RenderingComponent, DisplayBlurb } = display
95
- const trackId = getConf(track, 'trackId')
96
- const ref = useRef<HTMLDivElement>(null)
97
- const dimmed = draggingTrackId !== undefined && draggingTrackId !== display.id
98
- const minimized = track.minimized
99
- const debouncedOnDragEnter = useDebouncedCallback(() => {
100
- if (isAlive(display) && dimmed) {
101
- moveTrack(draggingTrackId, track.id)
102
- }
103
- }, 100)
104
- useEffect(() => {
105
- if (ref.current) {
106
- model.trackRefs[trackId] = ref.current
107
- }
108
- return () => {
109
- delete model.trackRefs[trackId]
110
- }
111
- }, [model.trackRefs, trackId])
112
-
113
- return (
114
- <Paper
115
- ref={ref}
116
- className={classes.root}
117
- variant="outlined"
118
- onClick={event => {
119
- if (event.detail === 2 && !track.displays[0].featureIdUnderMouse) {
120
- const left = ref.current?.getBoundingClientRect().left || 0
121
- model.zoomTo(model.bpPerPx / 2, event.clientX - left, true)
122
- }
123
- }}
124
- >
125
- <TrackContainerLabel model={track} view={model} />
126
- <ErrorBoundary
127
- key={track.id}
128
- FallbackComponent={({ error }) => <ErrorMessage error={error} />}
129
- >
130
- <div
131
- className={classes.trackRenderingContainer}
132
- style={{ height: minimized ? 20 : height }}
133
- onScroll={evt => display.setScrollTop(evt.currentTarget.scrollTop)}
134
- onDragEnter={debouncedOnDragEnter}
135
- data-testid={`trackRenderingContainer-${model.id}-${trackId}`}
136
- >
137
- {!minimized ? (
138
- <>
139
- <div
140
- className={classes.renderingComponentContainer}
141
- style={{ transform: `scaleX(${model.scaleFactor})` }}
142
- >
143
- <RenderingComponent
144
- model={display}
145
- onHorizontalScroll={horizontalScroll}
146
- />
147
- </div>
148
-
149
- {DisplayBlurb ? (
150
- <div
151
- style={{
152
- position: 'absolute',
153
- left: 0,
154
- top: display.height - 20,
155
- }}
156
- >
157
- <DisplayBlurb model={display} />
158
- </div>
159
- ) : null}
160
- </>
161
- ) : null}
162
- </div>
163
- </ErrorBoundary>
164
- <div
165
- className={classes.overlay}
166
- style={{
167
- height: display.height,
168
- background: dimmed ? 'rgba(0, 0, 0, 0.4)' : undefined,
169
- }}
170
- onDragEnter={debouncedOnDragEnter}
171
- />
172
- <ResizeHandle
173
- onDrag={display.resizeHeight}
174
- className={classes.resizeHandle}
175
- />
176
- </Paper>
177
- )
178
- }
179
-
180
- export default observer(TrackContainer)
@@ -1,143 +0,0 @@
1
- import React from 'react'
2
- import { IconButton, Paper, Typography, alpha } from '@mui/material'
3
- import { makeStyles } from 'tss-react/mui'
4
- import { observer } from 'mobx-react'
5
- import { getConf } from '@jbrowse/core/configuration'
6
- import { getSession, getContainingView } from '@jbrowse/core/util'
7
- import { getTrackName } from '@jbrowse/core/util/tracks'
8
- import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
9
- import { SanitizedHTML } from '@jbrowse/core/ui'
10
- import CascadingMenu from '@jbrowse/core/ui/CascadingMenu'
11
-
12
- import {
13
- bindTrigger,
14
- bindPopover,
15
- usePopupState,
16
- } from 'material-ui-popup-state/hooks'
17
-
18
- // icons
19
- import MoreVertIcon from '@mui/icons-material/MoreVert'
20
- import DragIcon from '@mui/icons-material/DragIndicator'
21
- import CloseIcon from '@mui/icons-material/Close'
22
- import MinimizeIcon from '@mui/icons-material/Minimize'
23
- import AddIcon from '@mui/icons-material/Add'
24
-
25
- import { LinearGenomeViewModel } from '..'
26
-
27
- const useStyles = makeStyles()(theme => ({
28
- root: {
29
- background: alpha(theme.palette.background.paper, 0.8),
30
- '&:hover': {
31
- background: theme.palette.background.paper,
32
- },
33
- transition: theme.transitions.create(['background'], {
34
- duration: theme.transitions.duration.shortest,
35
- }),
36
- },
37
- trackName: {
38
- margin: '0 auto',
39
- width: '90%',
40
- fontSize: '0.8rem',
41
- pointerEvents: 'none',
42
- },
43
- dragHandle: {
44
- cursor: 'grab',
45
- },
46
- dragHandleIcon: {
47
- display: 'inline-block',
48
- verticalAlign: 'middle',
49
- pointerEvents: 'none',
50
- },
51
- iconButton: {
52
- padding: theme.spacing(1),
53
- },
54
- }))
55
-
56
- type LGV = LinearGenomeViewModel
57
-
58
- interface Props {
59
- track: BaseTrackModel
60
- className?: string
61
- }
62
-
63
- const TrackLabel = React.forwardRef<HTMLDivElement, Props>(function (
64
- { track, className },
65
- ref,
66
- ) {
67
- const { classes, cx } = useStyles()
68
- const view = getContainingView(track) as LGV
69
- const session = getSession(track)
70
- const trackConf = track.configuration
71
- const minimized = track.minimized
72
- const trackId = getConf(track, 'trackId')
73
- const trackName = getTrackName(trackConf, session)
74
-
75
- const popupState = usePopupState({
76
- popupId: 'trackLabelMenu',
77
- variant: 'popover',
78
- })
79
-
80
- const items = [
81
- {
82
- label: minimized ? 'Restore track' : 'Minimize track',
83
- icon: minimized ? AddIcon : MinimizeIcon,
84
- onClick: () => track.setMinimized(!minimized),
85
- },
86
- ...(session.getTrackActionMenuItems?.(trackConf) || []),
87
- ...track.trackMenuItems(),
88
- ].sort((a, b) => (b.priority || 0) - (a.priority || 0))
89
-
90
- return (
91
- <Paper ref={ref} className={cx(className, classes.root)}>
92
- <span
93
- draggable
94
- className={classes.dragHandle}
95
- onDragStart={event => {
96
- const target = event.currentTarget
97
- if (target.parentNode) {
98
- const parent = target.parentNode as HTMLElement
99
- event.dataTransfer.setDragImage(parent, 20, 20)
100
- view.setDraggingTrackId(track.id)
101
- }
102
- }}
103
- onDragEnd={() => view.setDraggingTrackId(undefined)}
104
- data-testid={`dragHandle-${view.id}-${trackId}`}
105
- >
106
- <DragIcon className={classes.dragHandleIcon} fontSize="small" />
107
- </span>
108
- <IconButton
109
- onClick={() => view.hideTrack(trackId)}
110
- className={classes.iconButton}
111
- title="close this track"
112
- >
113
- <CloseIcon fontSize="small" />
114
- </IconButton>
115
-
116
- <Typography
117
- variant="body1"
118
- component="span"
119
- className={classes.trackName}
120
- >
121
- <SanitizedHTML
122
- html={`${trackName}${minimized ? ' (minimized)' : ''}`}
123
- />
124
- </Typography>
125
- <IconButton
126
- {...bindTrigger(popupState)}
127
- className={classes.iconButton}
128
- data-testid="track_menu_icon"
129
- disabled={items.length === 0}
130
- >
131
- <MoreVertIcon fontSize="small" />
132
- </IconButton>
133
- <CascadingMenu
134
- {...bindPopover(popupState)}
135
- onMenuItemClick={(_: unknown, callback: Function) => callback()}
136
- menuItems={items}
137
- popupState={popupState}
138
- />
139
- </Paper>
140
- )
141
- })
142
-
143
- export default observer(TrackLabel)
@@ -1,114 +0,0 @@
1
- import React, { useRef } from 'react'
2
- import { makeStyles } from 'tss-react/mui'
3
- import { observer } from 'mobx-react'
4
- import { Menu } from '@jbrowse/core/ui'
5
-
6
- // local utils
7
- import { LinearGenomeViewModel, SCALE_BAR_HEIGHT } from '..'
8
- import { useSideScroll, useRangeSelect, useWheelScroll } from './hooks'
9
-
10
- // local components
11
- import Rubberband from './Rubberband'
12
- import Scalebar from './Scalebar'
13
- import Gridlines from './Gridlines'
14
- import CenterLine from './CenterLine'
15
- import VerticalGuide from './VerticalGuide'
16
- import RubberbandSpan from './RubberbandSpan'
17
- import { getEnv } from '@jbrowse/core/util'
18
-
19
- const useStyles = makeStyles()({
20
- tracksContainer: {
21
- position: 'relative',
22
- overflow: 'hidden',
23
- },
24
- })
25
-
26
- type LGV = LinearGenomeViewModel
27
-
28
- export default observer(function TracksContainer({
29
- children,
30
- model,
31
- }: {
32
- children: React.ReactNode
33
- model: LGV
34
- }) {
35
- const { classes } = useStyles()
36
- const { pluginManager } = getEnv(model)
37
- const { mouseDown: mouseDown1, mouseUp } = useSideScroll(model)
38
- const ref = useRef<HTMLDivElement>(null)
39
- const {
40
- guideX,
41
- rubberbandOn,
42
- leftBpOffset,
43
- rightBpOffset,
44
- numOfBpSelected,
45
- width,
46
- left,
47
- anchorPosition,
48
- handleMenuItemClick,
49
- open,
50
- handleClose,
51
- mouseMove,
52
- mouseDown: mouseDown2,
53
- } = useRangeSelect(ref, model, true)
54
- useWheelScroll(ref, model)
55
-
56
- const additionals = pluginManager.evaluateExtensionPoint(
57
- 'LinearGenomeView-TracksContainerComponent',
58
- undefined,
59
- { model },
60
- ) as React.ReactNode
61
-
62
- return (
63
- <div
64
- ref={ref}
65
- data-testid="trackContainer"
66
- className={classes.tracksContainer}
67
- onMouseDown={event => {
68
- mouseDown1(event)
69
- mouseDown2(event)
70
- }}
71
- onMouseMove={mouseMove}
72
- onMouseUp={mouseUp}
73
- >
74
- {model.showGridlines ? <Gridlines model={model} /> : null}
75
- {model.showCenterLine ? <CenterLine model={model} /> : null}
76
- {guideX !== undefined ? (
77
- <VerticalGuide model={model} coordX={guideX} />
78
- ) : rubberbandOn ? (
79
- <RubberbandSpan
80
- leftBpOffset={leftBpOffset}
81
- rightBpOffset={rightBpOffset}
82
- numOfBpSelected={numOfBpSelected}
83
- width={width}
84
- left={left}
85
- />
86
- ) : null}
87
- {anchorPosition ? (
88
- <Menu
89
- anchorReference="anchorPosition"
90
- anchorPosition={{
91
- left: anchorPosition.clientX,
92
- top: anchorPosition.clientY,
93
- }}
94
- onMenuItemClick={handleMenuItemClick}
95
- open={open}
96
- onClose={handleClose}
97
- menuItems={model.rubberBandMenuItems()}
98
- />
99
- ) : null}
100
-
101
- <Rubberband
102
- model={model}
103
- ControlComponent={
104
- <Scalebar
105
- model={model}
106
- style={{ height: SCALE_BAR_HEIGHT, boxSizing: 'border-box' }}
107
- />
108
- }
109
- />
110
- {additionals}
111
- {children}
112
- </div>
113
- )
114
- })
@@ -1,37 +0,0 @@
1
- import React from 'react'
2
- import { Tooltip } from '@mui/material'
3
- import { makeStyles } from 'tss-react/mui'
4
- import { observer } from 'mobx-react'
5
- import { stringify } from '@jbrowse/core/util'
6
-
7
- // locals
8
- import { LinearGenomeViewModel } from '..'
9
-
10
- type LGV = LinearGenomeViewModel
11
-
12
- const useStyles = makeStyles()({
13
- guide: {
14
- pointerEvents: 'none',
15
- height: '100%',
16
- width: 1,
17
- position: 'absolute',
18
- zIndex: 10,
19
- },
20
- })
21
-
22
- function VerticalGuide({ model, coordX }: { model: LGV; coordX: number }) {
23
- const { classes } = useStyles()
24
- return (
25
- <Tooltip open placement="top" title={stringify(model.pxToBp(coordX))} arrow>
26
- <div
27
- className={classes.guide}
28
- style={{
29
- left: coordX,
30
- background: 'red',
31
- }}
32
- />
33
- </Tooltip>
34
- )
35
- }
36
-
37
- export default observer(VerticalGuide)
@@ -1,62 +0,0 @@
1
- import React, { useState, useEffect } from 'react'
2
- import { observer } from 'mobx-react'
3
- import { Slider, IconButton } from '@mui/material'
4
- import { makeStyles } from 'tss-react/mui'
5
- import ZoomIn from '@mui/icons-material/ZoomIn'
6
- import ZoomOut from '@mui/icons-material/ZoomOut'
7
- import { LinearGenomeViewModel } from '..'
8
-
9
- const useStyles = makeStyles()(theme => ({
10
- container: {
11
- display: 'flex',
12
- flexDirection: 'row',
13
- alignItems: 'center',
14
- },
15
- slider: {
16
- width: 70,
17
- color: theme.palette.text.secondary,
18
- },
19
- }))
20
-
21
- function ZoomControls({ model }: { model: LinearGenomeViewModel }) {
22
- const { classes } = useStyles()
23
- const { maxBpPerPx, minBpPerPx, bpPerPx, scaleFactor } = model
24
- const [value, setValue] = useState(-Math.log2(bpPerPx) * 100)
25
- useEffect(() => {
26
- setValue(-Math.log2(bpPerPx) * 100)
27
- }, [setValue, bpPerPx])
28
-
29
- return (
30
- <div className={classes.container}>
31
- <IconButton
32
- data-testid="zoom_out"
33
- onClick={() => model.zoom(bpPerPx * 2)}
34
- disabled={bpPerPx >= maxBpPerPx - 0.0001 || scaleFactor !== 1}
35
- size="large"
36
- >
37
- <ZoomOut />
38
- </IconButton>
39
-
40
- <Slider
41
- size="small"
42
- className={classes.slider}
43
- value={value}
44
- min={-Math.log2(maxBpPerPx) * 100}
45
- max={-Math.log2(minBpPerPx) * 100}
46
- onChange={(_, val) => setValue(val as number)}
47
- onChangeCommitted={() => model.zoomTo(2 ** (-value / 100))}
48
- disabled={scaleFactor !== 1}
49
- />
50
- <IconButton
51
- data-testid="zoom_in"
52
- onClick={() => model.zoom(model.bpPerPx / 2)}
53
- disabled={bpPerPx <= minBpPerPx + 0.0001 || scaleFactor !== 1}
54
- size="large"
55
- >
56
- <ZoomIn />
57
- </IconButton>
58
- </div>
59
- )
60
- }
61
-
62
- export default observer(ZoomControls)