@jbrowse/plugin-linear-genome-view 2.4.2 → 2.6.1

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 (326) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  2. package/dist/BaseLinearDisplay/components/Block.d.ts +3 -3
  3. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  4. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -3
  5. package/dist/BaseLinearDisplay/components/TooLargeMessage.d.ts +5 -5
  6. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +7 -3
  7. package/dist/BaseLinearDisplay/components/TooLargeMessage.js.map +1 -1
  8. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +2 -2
  9. package/dist/BaseLinearDisplay/index.d.ts +5 -2
  10. package/dist/BaseLinearDisplay/index.js +7 -1
  11. package/dist/BaseLinearDisplay/index.js.map +1 -1
  12. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +107 -126
  13. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +37 -352
  14. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  15. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  16. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js +190 -0
  17. package/dist/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
  18. package/dist/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  19. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js +56 -0
  20. package/dist/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
  21. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  22. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js +42 -0
  23. package/dist/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
  24. package/dist/BaseLinearDisplay/models/configSchema.d.ts +35 -1
  25. package/dist/BaseLinearDisplay/models/configSchema.js +10 -0
  26. package/dist/BaseLinearDisplay/models/configSchema.js.map +1 -1
  27. package/dist/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  28. package/dist/BaseLinearDisplay/models/renderSvg.js +83 -0
  29. package/dist/BaseLinearDisplay/models/renderSvg.js.map +1 -0
  30. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +30 -22
  31. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  32. package/dist/BaseLinearDisplay/models/util.d.ts +6 -2
  33. package/dist/BaseLinearDisplay/models/util.js +4 -4
  34. package/dist/BaseLinearDisplay/models/util.js.map +1 -1
  35. package/dist/BasicTrack/configSchema.d.ts +73 -1
  36. package/dist/BasicTrack/configSchema.js +1 -0
  37. package/dist/BasicTrack/configSchema.js.map +1 -1
  38. package/dist/FeatureTrack/configSchema.d.ts +73 -1
  39. package/dist/FeatureTrack/configSchema.js +1 -0
  40. package/dist/FeatureTrack/configSchema.js.map +1 -1
  41. package/dist/LinearBareDisplay/configSchema.d.ts +29 -1
  42. package/dist/LinearBareDisplay/configSchema.js +1 -0
  43. package/dist/LinearBareDisplay/configSchema.js.map +1 -1
  44. package/dist/LinearBareDisplay/model.d.ts +106 -42
  45. package/dist/LinearBareDisplay/model.js +3 -2
  46. package/dist/LinearBareDisplay/model.js.map +1 -1
  47. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -2
  48. package/dist/LinearBasicDisplay/configSchema.d.ts +29 -1
  49. package/dist/LinearBasicDisplay/configSchema.js +1 -9
  50. package/dist/LinearBasicDisplay/configSchema.js.map +1 -1
  51. package/dist/LinearBasicDisplay/model.d.ts +124 -62
  52. package/dist/LinearBasicDisplay/model.js +1 -0
  53. package/dist/LinearBasicDisplay/model.js.map +1 -1
  54. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -2
  55. package/dist/LinearGenomeView/components/Cytobands.d.ts +24 -24
  56. package/dist/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -2
  57. package/dist/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -2
  58. package/dist/LinearGenomeView/components/GetSequenceDialog.js +14 -16
  59. package/dist/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  60. package/dist/LinearGenomeView/components/Gridlines.d.ts +2 -2
  61. package/dist/LinearGenomeView/components/Header.d.ts +2 -2
  62. package/dist/LinearGenomeView/components/ImportForm.d.ts +2 -2
  63. package/dist/LinearGenomeView/components/ImportForm.js +4 -7
  64. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -1
  65. package/dist/LinearGenomeView/components/LinearGenomeView.d.ts +2 -2
  66. package/dist/LinearGenomeView/components/LinearGenomeView.js +28 -8
  67. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  68. package/dist/LinearGenomeView/components/MiniControls.d.ts +3 -3
  69. package/dist/LinearGenomeView/components/MiniControls.js +20 -40
  70. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -1
  71. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  72. package/dist/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  73. package/dist/LinearGenomeView/components/OverviewScalebar.js +12 -5
  74. package/dist/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  75. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  76. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +22 -0
  77. package/dist/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
  78. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  79. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +52 -0
  80. package/dist/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
  81. package/dist/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -2
  82. package/dist/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
  83. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  84. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +111 -0
  85. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
  86. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  87. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js +59 -0
  88. package/dist/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
  89. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
  90. package/dist/LinearGenomeView/components/RubberbandSpan.d.ts +2 -2
  91. package/dist/LinearGenomeView/components/SearchBox.d.ts +2 -2
  92. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -4
  93. package/dist/LinearGenomeView/components/SearchResultsDialog.js +6 -82
  94. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  95. package/dist/LinearGenomeView/components/SearchResultsTable.d.ts +9 -0
  96. package/dist/LinearGenomeView/components/SearchResultsTable.js +83 -0
  97. package/dist/LinearGenomeView/components/SearchResultsTable.js.map +1 -0
  98. package/dist/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -2
  99. package/dist/LinearGenomeView/components/TrackContainer.d.ts +3 -4
  100. package/dist/LinearGenomeView/components/TrackContainer.js +17 -67
  101. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -1
  102. package/dist/LinearGenomeView/components/TrackLabel.js +6 -10
  103. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -1
  104. package/dist/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  105. package/dist/LinearGenomeView/components/TrackLabelContainer.js +32 -0
  106. package/dist/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
  107. package/dist/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  108. package/dist/LinearGenomeView/components/TrackRenderingContainer.js +74 -0
  109. package/dist/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
  110. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  111. package/dist/LinearGenomeView/components/TracksContainer.js +5 -7
  112. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -1
  113. package/dist/LinearGenomeView/components/VerticalGuide.d.ts +2 -2
  114. package/dist/LinearGenomeView/components/ZoomControls.d.ts +2 -2
  115. package/dist/LinearGenomeView/components/util.js +1 -1
  116. package/dist/LinearGenomeView/components/util.js.map +1 -1
  117. package/dist/LinearGenomeView/model.d.ts +51 -37
  118. package/dist/LinearGenomeView/model.js +132 -209
  119. package/dist/LinearGenomeView/model.js.map +1 -1
  120. package/dist/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -2
  121. package/dist/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -5
  122. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
  123. package/dist/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
  124. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  125. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
  126. package/dist/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -2
  127. package/dist/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -2
  128. package/dist/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -2
  129. package/dist/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -2
  130. package/dist/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -2
  131. package/dist/LinearGenomeView/util.d.ts +29 -0
  132. package/dist/LinearGenomeView/util.js +79 -1
  133. package/dist/LinearGenomeView/util.js.map +1 -1
  134. package/dist/index.d.ts +325 -180
  135. package/dist/index.js +6 -3
  136. package/dist/index.js.map +1 -1
  137. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -1
  138. package/esm/BaseLinearDisplay/components/Block.d.ts +3 -3
  139. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +1 -1
  140. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +3 -3
  141. package/esm/BaseLinearDisplay/components/TooLargeMessage.d.ts +5 -5
  142. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +7 -3
  143. package/esm/BaseLinearDisplay/components/TooLargeMessage.js.map +1 -1
  144. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +2 -2
  145. package/esm/BaseLinearDisplay/index.d.ts +5 -2
  146. package/esm/BaseLinearDisplay/index.js +3 -0
  147. package/esm/BaseLinearDisplay/index.js.map +1 -1
  148. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +107 -126
  149. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +39 -331
  150. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -1
  151. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.d.ts +99 -0
  152. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js +184 -0
  153. package/esm/BaseLinearDisplay/models/FeatureDensityMixin.js.map +1 -0
  154. package/esm/BaseLinearDisplay/models/TrackHeightMixin.d.ts +30 -0
  155. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js +53 -0
  156. package/esm/BaseLinearDisplay/models/TrackHeightMixin.js.map +1 -0
  157. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.d.ts +2 -0
  158. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js +39 -0
  159. package/esm/BaseLinearDisplay/models/autorunFeatureDensityStats.js.map +1 -0
  160. package/esm/BaseLinearDisplay/models/configSchema.d.ts +35 -1
  161. package/esm/BaseLinearDisplay/models/configSchema.js +10 -0
  162. package/esm/BaseLinearDisplay/models/configSchema.js.map +1 -1
  163. package/esm/BaseLinearDisplay/models/renderSvg.d.ts +8 -0
  164. package/esm/BaseLinearDisplay/models/renderSvg.js +54 -0
  165. package/esm/BaseLinearDisplay/models/renderSvg.js.map +1 -0
  166. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +30 -22
  167. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -1
  168. package/esm/BaseLinearDisplay/models/util.d.ts +6 -2
  169. package/esm/BaseLinearDisplay/models/util.js +2 -2
  170. package/esm/BaseLinearDisplay/models/util.js.map +1 -1
  171. package/esm/BasicTrack/configSchema.d.ts +73 -1
  172. package/esm/BasicTrack/configSchema.js +1 -0
  173. package/esm/BasicTrack/configSchema.js.map +1 -1
  174. package/esm/FeatureTrack/configSchema.d.ts +73 -1
  175. package/esm/FeatureTrack/configSchema.js +1 -0
  176. package/esm/FeatureTrack/configSchema.js.map +1 -1
  177. package/esm/LinearBareDisplay/configSchema.d.ts +29 -1
  178. package/esm/LinearBareDisplay/configSchema.js +1 -0
  179. package/esm/LinearBareDisplay/configSchema.js.map +1 -1
  180. package/esm/LinearBareDisplay/model.d.ts +106 -42
  181. package/esm/LinearBareDisplay/model.js +2 -1
  182. package/esm/LinearBareDisplay/model.js.map +1 -1
  183. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +2 -2
  184. package/esm/LinearBasicDisplay/configSchema.d.ts +29 -1
  185. package/esm/LinearBasicDisplay/configSchema.js +1 -9
  186. package/esm/LinearBasicDisplay/configSchema.js.map +1 -1
  187. package/esm/LinearBasicDisplay/model.d.ts +124 -62
  188. package/esm/LinearBasicDisplay/model.js +1 -0
  189. package/esm/LinearBasicDisplay/model.js.map +1 -1
  190. package/esm/LinearGenomeView/components/CenterLine.d.ts +2 -2
  191. package/esm/LinearGenomeView/components/Cytobands.d.ts +24 -24
  192. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +2 -2
  193. package/esm/LinearGenomeView/components/GetSequenceDialog.d.ts +2 -2
  194. package/esm/LinearGenomeView/components/GetSequenceDialog.js +15 -17
  195. package/esm/LinearGenomeView/components/GetSequenceDialog.js.map +1 -1
  196. package/esm/LinearGenomeView/components/Gridlines.d.ts +2 -2
  197. package/esm/LinearGenomeView/components/Header.d.ts +2 -2
  198. package/esm/LinearGenomeView/components/ImportForm.d.ts +2 -2
  199. package/esm/LinearGenomeView/components/ImportForm.js +5 -8
  200. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -1
  201. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +2 -2
  202. package/esm/LinearGenomeView/components/LinearGenomeView.js +4 -7
  203. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -1
  204. package/esm/LinearGenomeView/components/MiniControls.d.ts +3 -3
  205. package/esm/LinearGenomeView/components/MiniControls.js +20 -17
  206. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -1
  207. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  208. package/esm/LinearGenomeView/components/OverviewScalebar.d.ts +2 -2
  209. package/esm/LinearGenomeView/components/OverviewScalebar.js +12 -5
  210. package/esm/LinearGenomeView/components/OverviewScalebar.js.map +1 -1
  211. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.d.ts +10 -0
  212. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js +16 -0
  213. package/esm/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.js.map +1 -0
  214. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.d.ts +5 -0
  215. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js +23 -0
  216. package/esm/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.js.map +1 -0
  217. package/esm/LinearGenomeView/components/{HelpDialog.d.ts → RefNameAutocomplete/HelpDialog.d.ts} +2 -2
  218. package/esm/LinearGenomeView/components/RefNameAutocomplete/HelpDialog.js.map +1 -0
  219. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +18 -0
  220. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +83 -0
  221. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js.map +1 -0
  222. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.d.ts +12 -0
  223. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js +50 -0
  224. package/esm/LinearGenomeView/components/RefNameAutocomplete/util.js.map +1 -0
  225. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
  226. package/esm/LinearGenomeView/components/RubberbandSpan.d.ts +2 -2
  227. package/esm/LinearGenomeView/components/SearchBox.d.ts +2 -2
  228. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -4
  229. package/esm/LinearGenomeView/components/SearchResultsDialog.js +7 -83
  230. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -1
  231. package/esm/LinearGenomeView/components/SearchResultsTable.d.ts +9 -0
  232. package/esm/LinearGenomeView/components/SearchResultsTable.js +77 -0
  233. package/esm/LinearGenomeView/components/SearchResultsTable.js.map +1 -0
  234. package/esm/LinearGenomeView/components/SequenceSearchDialog.d.ts +2 -2
  235. package/esm/LinearGenomeView/components/TrackContainer.d.ts +3 -4
  236. package/esm/LinearGenomeView/components/TrackContainer.js +18 -68
  237. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -1
  238. package/esm/LinearGenomeView/components/TrackLabel.js +6 -10
  239. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -1
  240. package/esm/LinearGenomeView/components/TrackLabelContainer.d.ts +9 -0
  241. package/esm/LinearGenomeView/components/TrackLabelContainer.js +27 -0
  242. package/esm/LinearGenomeView/components/TrackLabelContainer.js.map +1 -0
  243. package/esm/LinearGenomeView/components/TrackRenderingContainer.d.ts +10 -0
  244. package/esm/LinearGenomeView/components/TrackRenderingContainer.js +49 -0
  245. package/esm/LinearGenomeView/components/TrackRenderingContainer.js.map +1 -0
  246. package/esm/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  247. package/esm/LinearGenomeView/components/TracksContainer.js +5 -7
  248. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -1
  249. package/esm/LinearGenomeView/components/VerticalGuide.d.ts +2 -2
  250. package/esm/LinearGenomeView/components/ZoomControls.d.ts +2 -2
  251. package/esm/LinearGenomeView/components/util.js +1 -1
  252. package/esm/LinearGenomeView/components/util.js.map +1 -1
  253. package/esm/LinearGenomeView/model.d.ts +51 -37
  254. package/esm/LinearGenomeView/model.js +129 -206
  255. package/esm/LinearGenomeView/model.js.map +1 -1
  256. package/esm/LinearGenomeView/svgcomponents/SVGBackground.d.ts +2 -2
  257. package/esm/LinearGenomeView/svgcomponents/SVGHeader.d.ts +3 -5
  258. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js +7 -2
  259. package/esm/LinearGenomeView/svgcomponents/SVGHeader.js.map +1 -1
  260. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  261. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js.map +1 -1
  262. package/esm/LinearGenomeView/svgcomponents/SVGRegionSeparators.d.ts +2 -2
  263. package/esm/LinearGenomeView/svgcomponents/SVGRuler.d.ts +2 -2
  264. package/esm/LinearGenomeView/svgcomponents/SVGScalebar.d.ts +2 -2
  265. package/esm/LinearGenomeView/svgcomponents/SVGTrackLabel.d.ts +2 -2
  266. package/esm/LinearGenomeView/svgcomponents/SVGTracks.d.ts +2 -2
  267. package/esm/LinearGenomeView/util.d.ts +29 -0
  268. package/esm/LinearGenomeView/util.js +76 -0
  269. package/esm/LinearGenomeView/util.js.map +1 -1
  270. package/esm/index.d.ts +325 -180
  271. package/esm/index.js +1 -1
  272. package/esm/index.js.map +1 -1
  273. package/package.json +3 -3
  274. package/src/BaseLinearDisplay/components/TooLargeMessage.tsx +10 -6
  275. package/src/BaseLinearDisplay/index.ts +5 -1
  276. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +50 -401
  277. package/src/BaseLinearDisplay/models/FeatureDensityMixin.tsx +213 -0
  278. package/src/BaseLinearDisplay/models/TrackHeightMixin.tsx +59 -0
  279. package/src/BaseLinearDisplay/models/autorunFeatureDensityStats.ts +46 -0
  280. package/src/BaseLinearDisplay/models/configSchema.ts +11 -0
  281. package/src/BaseLinearDisplay/models/renderSvg.tsx +101 -0
  282. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +40 -32
  283. package/src/BaseLinearDisplay/models/util.ts +10 -4
  284. package/src/BasicTrack/configSchema.ts +1 -0
  285. package/src/FeatureTrack/configSchema.ts +1 -0
  286. package/src/LinearBareDisplay/configSchema.ts +1 -0
  287. package/src/LinearBareDisplay/model.ts +2 -1
  288. package/src/LinearBasicDisplay/configSchema.ts +1 -10
  289. package/src/LinearBasicDisplay/model.ts +1 -0
  290. package/src/LinearGenomeView/components/GetSequenceDialog.tsx +15 -25
  291. package/src/LinearGenomeView/components/ImportForm.tsx +4 -14
  292. package/src/LinearGenomeView/components/LinearGenomeView.test.tsx +3 -3
  293. package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -17
  294. package/src/LinearGenomeView/components/MiniControls.tsx +37 -38
  295. package/src/LinearGenomeView/components/OverviewScalebar.tsx +13 -6
  296. package/src/LinearGenomeView/components/RefNameAutocomplete/AutocompleteTextField.tsx +53 -0
  297. package/src/LinearGenomeView/components/RefNameAutocomplete/EndAdornment.tsx +44 -0
  298. package/src/LinearGenomeView/components/RefNameAutocomplete/index.tsx +160 -0
  299. package/src/LinearGenomeView/components/RefNameAutocomplete/util.ts +65 -0
  300. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +17 -112
  301. package/src/LinearGenomeView/components/SearchResultsTable.tsx +121 -0
  302. package/src/LinearGenomeView/components/TrackContainer.tsx +25 -104
  303. package/src/LinearGenomeView/components/TrackLabel.tsx +7 -27
  304. package/src/LinearGenomeView/components/TrackLabelContainer.tsx +48 -0
  305. package/src/LinearGenomeView/components/TrackRenderingContainer.tsx +96 -0
  306. package/src/LinearGenomeView/components/TracksContainer.tsx +9 -6
  307. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.tsx.snap +14 -14
  308. package/src/LinearGenomeView/components/util.ts +2 -1
  309. package/src/LinearGenomeView/index.test.ts +10 -12
  310. package/src/LinearGenomeView/model.ts +175 -247
  311. package/src/LinearGenomeView/svgcomponents/SVGHeader.tsx +8 -6
  312. package/src/LinearGenomeView/svgcomponents/SVGLinearGenomeView.tsx +1 -1
  313. package/src/LinearGenomeView/util.ts +98 -0
  314. package/src/index.ts +11 -5
  315. package/dist/LinearGenomeView/components/HelpDialog.js.map +0 -1
  316. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  317. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +0 -182
  318. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  319. package/esm/LinearGenomeView/components/HelpDialog.js.map +0 -1
  320. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +0 -23
  321. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +0 -154
  322. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +0 -1
  323. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +0 -279
  324. /package/dist/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
  325. /package/esm/LinearGenomeView/components/{HelpDialog.js → RefNameAutocomplete/HelpDialog.js} +0 -0
  326. /package/src/LinearGenomeView/components/{HelpDialog.tsx → RefNameAutocomplete/HelpDialog.tsx} +0 -0
@@ -0,0 +1,213 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import React from 'react'
3
+ import { getConf } from '@jbrowse/core/configuration'
4
+ import { getContainingView } from '@jbrowse/core/util'
5
+ import { FeatureDensityStats } from '@jbrowse/core/data_adapters/BaseAdapter'
6
+ import { Region } from '@jbrowse/core/util/types'
7
+ import { autorun } from 'mobx'
8
+ import { addDisposer, isAlive, types } from 'mobx-state-tree'
9
+
10
+ // locals
11
+ import { LinearGenomeViewModel } from '../../LinearGenomeView'
12
+ import TooLargeMessage from '../components/TooLargeMessage'
13
+ import { getDisplayStr, getFeatureDensityStatsPre } from './util'
14
+ import autorunFeatureDensityStats from './autorunFeatureDensityStats'
15
+
16
+ type LGV = LinearGenomeViewModel
17
+
18
+ /**
19
+ * #stateModel FeatureDensityMixin
20
+ * #category display
21
+ */
22
+ export default function FeatureDensityMixin() {
23
+ return types
24
+ .model({
25
+ /**
26
+ * #property
27
+ */
28
+ userBpPerPxLimit: types.maybe(types.number),
29
+ /**
30
+ * #property
31
+ */
32
+
33
+ userByteSizeLimit: types.maybe(types.number),
34
+ })
35
+ .volatile(() => ({
36
+ featureDensityStatsP: undefined as
37
+ | undefined
38
+ | Promise<FeatureDensityStats>,
39
+ featureDensityStats: undefined as undefined | FeatureDensityStats,
40
+ currStatsBpPerPx: 0,
41
+ }))
42
+ .views(self => ({
43
+ /**
44
+ * #getter
45
+ */
46
+ get currentBytesRequested() {
47
+ return self.featureDensityStats?.bytes || 0
48
+ },
49
+
50
+ /**
51
+ * #getter
52
+ */
53
+ get currentFeatureScreenDensity() {
54
+ const view = getContainingView(self) as LGV
55
+ return (self.featureDensityStats?.featureDensity || 0) * view.bpPerPx
56
+ },
57
+
58
+ /**
59
+ * #getter
60
+ */
61
+ get maxFeatureScreenDensity() {
62
+ // @ts-expect-error
63
+ return getConf(self, 'maxFeatureScreenDensity')
64
+ },
65
+ /**
66
+ * #getter
67
+ */
68
+ get featureDensityStatsReady() {
69
+ const view = getContainingView(self)
70
+ return (
71
+ self.currStatsBpPerPx === view.bpPerPx &&
72
+ (!!self.featureDensityStats || !!self.userBpPerPxLimit)
73
+ )
74
+ },
75
+
76
+ /**
77
+ * #getter
78
+ */
79
+ get maxAllowableBytes() {
80
+ return (
81
+ self.userByteSizeLimit ||
82
+ self.featureDensityStats?.fetchSizeLimit ||
83
+ // @ts-expect-error
84
+ (getConf(self, 'fetchSizeLimit') as number)
85
+ )
86
+ },
87
+ }))
88
+ .actions(self => ({
89
+ afterAttach() {
90
+ addDisposer(
91
+ self,
92
+ autorun(() => autorunFeatureDensityStats(self as any)),
93
+ )
94
+ },
95
+ }))
96
+ .actions(self => ({
97
+ /**
98
+ * #action
99
+ */
100
+ setCurrStatsBpPerPx(n: number) {
101
+ self.currStatsBpPerPx = n
102
+ },
103
+ /**
104
+ * #action
105
+ */
106
+ setFeatureDensityStatsLimit(stats?: FeatureDensityStats) {
107
+ const view = getContainingView(self) as LGV
108
+ if (stats?.bytes) {
109
+ self.userByteSizeLimit = stats.bytes
110
+ } else {
111
+ self.userBpPerPxLimit = view.bpPerPx
112
+ }
113
+ },
114
+ /**
115
+ * #action
116
+ */
117
+ async getFeatureDensityStats() {
118
+ if (!self.featureDensityStatsP) {
119
+ self.featureDensityStatsP = getFeatureDensityStatsPre(
120
+ self as any,
121
+ ).catch(e => {
122
+ if (isAlive(self)) {
123
+ this.setFeatureDensityStatsP(undefined)
124
+ }
125
+ throw e
126
+ })
127
+ }
128
+ return self.featureDensityStatsP
129
+ },
130
+
131
+ /**
132
+ * #action
133
+ */
134
+ setFeatureDensityStatsP(arg: any) {
135
+ self.featureDensityStatsP = arg
136
+ },
137
+
138
+ /**
139
+ * #action
140
+ */
141
+ setFeatureDensityStats(featureDensityStats?: FeatureDensityStats) {
142
+ self.featureDensityStats = featureDensityStats
143
+ },
144
+ /**
145
+ * #action
146
+ */
147
+ clearFeatureDensityStats() {
148
+ self.featureDensityStatsP = undefined
149
+ self.featureDensityStats = undefined
150
+ },
151
+ }))
152
+ .views(self => ({
153
+ /**
154
+ * #getter
155
+ * region is too large if:
156
+ * - stats are ready
157
+ * - region is greater than 20kb (don't warn when zoomed in less than that)
158
+ * - and bytes is greater than max allowed bytes or density greater than max
159
+ * density
160
+ */
161
+ get regionTooLarge() {
162
+ const view = getContainingView(self) as LGV
163
+ if (
164
+ !self.featureDensityStatsReady ||
165
+ view.dynamicBlocks.totalBp < 20_000
166
+ ) {
167
+ return false
168
+ }
169
+ return (
170
+ self.currentBytesRequested > self.maxAllowableBytes ||
171
+ (self.userBpPerPxLimit
172
+ ? view.bpPerPx > self.userBpPerPxLimit
173
+ : self.currentFeatureScreenDensity > self.maxFeatureScreenDensity)
174
+ )
175
+ },
176
+
177
+ /**
178
+ * #getter
179
+ * only shows a message of bytes requested is defined, the feature density
180
+ * based stats don't produce any helpful message besides to zoom in
181
+ */
182
+ get regionTooLargeReason() {
183
+ const req = self.currentBytesRequested
184
+ const max = self.maxAllowableBytes
185
+
186
+ return req && req > max
187
+ ? `Requested too much data (${getDisplayStr(req)})`
188
+ : ''
189
+ },
190
+ }))
191
+ .views(self => ({
192
+ /**
193
+ * #method
194
+ */
195
+ regionCannotBeRenderedText(_region: Region) {
196
+ return self.regionTooLarge ? 'Force load to see features' : ''
197
+ },
198
+
199
+ /**
200
+ * #method
201
+ * @param region -
202
+ * @returns falsy if the region is fine to try rendering. Otherwise,
203
+ * return a react node + string of text.
204
+ * string of text describes why it cannot be rendered
205
+ * react node allows user to force load at current setting
206
+ */
207
+ regionCannotBeRendered(_region: Region) {
208
+ return self.regionTooLarge ? (
209
+ <TooLargeMessage model={self as any} />
210
+ ) : null
211
+ },
212
+ }))
213
+ }
@@ -0,0 +1,59 @@
1
+ import { getConf } from '@jbrowse/core/configuration'
2
+ import { types } from 'mobx-state-tree'
3
+
4
+ const minDisplayHeight = 20
5
+
6
+ /**
7
+ * #stateModel TrackHeightMixin
8
+ * #category display
9
+ */
10
+ export default function TrackHeightMixin() {
11
+ return types
12
+ .model({
13
+ /**
14
+ * #property
15
+ */
16
+ heightPreConfig: types.maybe(
17
+ types.refinement(
18
+ 'displayHeight',
19
+ types.number,
20
+ n => n >= minDisplayHeight,
21
+ ),
22
+ ),
23
+ })
24
+ .volatile(() => ({
25
+ /**
26
+ * #property
27
+ */
28
+ scrollTop: 0,
29
+ }))
30
+ .views(self => ({
31
+ get height() {
32
+ // @ts-expect-error
33
+ return self.heightPreConfig ?? (getConf(self, 'height') as number)
34
+ },
35
+ }))
36
+ .actions(self => ({
37
+ /**
38
+ * #action
39
+ */
40
+ setScrollTop(scrollTop: number) {
41
+ self.scrollTop = scrollTop
42
+ },
43
+ /**
44
+ * #action
45
+ */
46
+ setHeight(displayHeight: number) {
47
+ self.heightPreConfig = Math.max(displayHeight, minDisplayHeight)
48
+ return self.height
49
+ },
50
+ /**
51
+ * #action
52
+ */
53
+ resizeHeight(distance: number) {
54
+ const oldHeight = self.height
55
+ const newHeight = this.setHeight(self.height + distance)
56
+ return newHeight - oldHeight
57
+ },
58
+ }))
59
+ }
@@ -0,0 +1,46 @@
1
+ import { getContainingView, isAbortException } from '@jbrowse/core/util'
2
+ import { LinearGenomeViewModel } from '../../LinearGenomeView'
3
+ import { isAlive } from 'mobx-state-tree'
4
+ import { BaseLinearDisplayModel } from './BaseLinearDisplayModel'
5
+
6
+ // stats estimation autorun calls getFeatureDensityStats against the data
7
+ // adapter which by default uses featureDensity, but can also respond with a
8
+ // byte size estimate and fetch size limit (data adapter can define what is too
9
+ // much data)
10
+ export default async function autorunFeatureDensityStats(
11
+ self: BaseLinearDisplayModel,
12
+ ) {
13
+ try {
14
+ const view = getContainingView(self) as LinearGenomeViewModel
15
+
16
+ // extra check for contentBlocks.length
17
+ // https://github.com/GMOD/jbrowse-components/issues/2694
18
+ if (
19
+ !view.initialized ||
20
+ !view.staticBlocks.contentBlocks.length ||
21
+ view.bpPerPx === self.currStatsBpPerPx ||
22
+ self.error
23
+ ) {
24
+ return
25
+ }
26
+
27
+ // don't re-estimate featureDensity even if zoom level changes,
28
+ // jbrowse1-style assume it's sort of representative
29
+ if (self.featureDensityStats?.featureDensity !== undefined) {
30
+ self.setCurrStatsBpPerPx(view.bpPerPx)
31
+ return
32
+ }
33
+
34
+ self.clearFeatureDensityStats()
35
+ self.setCurrStatsBpPerPx(view.bpPerPx)
36
+ const stats = await self.getFeatureDensityStats()
37
+ if (isAlive(self)) {
38
+ self.setFeatureDensityStats(stats)
39
+ }
40
+ } catch (e) {
41
+ if (!isAbortException(e) && isAlive(self)) {
42
+ console.error(e)
43
+ self.setError(e)
44
+ }
45
+ }
46
+ }
@@ -2,6 +2,7 @@ import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
2
 
3
3
  /**
4
4
  * #config BaseLinearDisplay
5
+ * #category display
5
6
  * `BaseLinearDisplay` is a "base" config that is extended by classes like
6
7
  * `LinearBasicDisplay` (used for feature tracks, etc) and `LinearBareDisplay`
7
8
  * (more stripped down than even the basic display, not commonly used)
@@ -37,6 +38,16 @@ const baseLinearDisplayConfigSchema = ConfigurationSchema(
37
38
  defaultValue: 100,
38
39
  description: 'default height for the track',
39
40
  },
41
+ /**
42
+ * #slot
43
+ */
44
+ mouseover: {
45
+ type: 'string',
46
+ description: 'text to display when the cursor hovers over a feature',
47
+ defaultValue: `jexl:get(feature,'name')`,
48
+
49
+ contextVariable: ['feature'],
50
+ },
40
51
  },
41
52
  {
42
53
  /**
@@ -0,0 +1,101 @@
1
+ import React from 'react'
2
+ import { ThemeOptions } from '@mui/material'
3
+ import {
4
+ getContainingView,
5
+ getViewParams,
6
+ ReactRendering,
7
+ } from '@jbrowse/core/util'
8
+
9
+ // locals
10
+ import { ExportSvgOptions, LinearGenomeViewModel } from '../../LinearGenomeView'
11
+ import BlockState, { renderBlockData } from './serverSideRenderedBlock'
12
+ import { getId } from './util'
13
+
14
+ import { BaseLinearDisplayModel } from './BaseLinearDisplayModel'
15
+
16
+ export default async function renderBaseLinearDisplaySvg(
17
+ self: BaseLinearDisplayModel,
18
+ opts: ExportSvgOptions & {
19
+ overrideHeight: number
20
+ theme: ThemeOptions
21
+ },
22
+ ) {
23
+ const { height, id } = self
24
+ const { overrideHeight } = opts
25
+ const view = getContainingView(self) as LinearGenomeViewModel
26
+ const { offsetPx: viewOffsetPx, roundedDynamicBlocks, width } = view
27
+ const renderings = await Promise.all(
28
+ roundedDynamicBlocks.map(async block => {
29
+ const blockState = BlockState.create({
30
+ key: block.key,
31
+ region: block,
32
+ })
33
+
34
+ // regionCannotBeRendered can return jsx so look for plaintext
35
+ // version, or just get the default if none available
36
+ const cannotBeRenderedReason =
37
+ self.regionCannotBeRenderedText(block) ||
38
+ self.regionCannotBeRendered(block)
39
+
40
+ if (cannotBeRenderedReason) {
41
+ return [
42
+ block,
43
+ {
44
+ reactElement: (
45
+ <>
46
+ <rect x={0} y={0} width={width} height={20} fill="#aaa" />
47
+ <text x={0} y={15}>
48
+ {cannotBeRenderedReason}
49
+ </text>
50
+ </>
51
+ ),
52
+ },
53
+ ] as const
54
+ }
55
+
56
+ const { rpcManager, renderArgs, renderProps, rendererType } =
57
+ renderBlockData(blockState, self)
58
+
59
+ return [
60
+ block,
61
+ await rendererType.renderInClient(rpcManager, {
62
+ ...renderArgs,
63
+ ...renderProps,
64
+ viewParams: getViewParams(self, true),
65
+ exportSVG: opts,
66
+ theme: opts.theme || renderProps.theme,
67
+ }),
68
+ ] as const
69
+ }),
70
+ )
71
+
72
+ return (
73
+ <>
74
+ {renderings.map(([block, rendering], index) => {
75
+ const { offsetPx, widthPx } = block
76
+ const offset = offsetPx - viewOffsetPx
77
+ const clipid = getId(id, index)
78
+
79
+ return (
80
+ <React.Fragment key={`frag-${index}`}>
81
+ <defs>
82
+ <clipPath id={clipid}>
83
+ <rect
84
+ x={0}
85
+ y={0}
86
+ width={widthPx}
87
+ height={overrideHeight || height}
88
+ />
89
+ </clipPath>
90
+ </defs>
91
+ <g transform={`translate(${offset} 0)`}>
92
+ <g clipPath={`url(#${clipid})`}>
93
+ <ReactRendering rendering={rendering} />
94
+ </g>
95
+ </g>
96
+ </React.Fragment>
97
+ )
98
+ })}
99
+ </>
100
+ )
101
+ }
@@ -63,19 +63,25 @@ const blockState = types
63
63
  },
64
64
  afterAttach() {
65
65
  const display = getContainingDisplay(self)
66
- makeAbortableReaction(
67
- self as any,
68
- renderBlockData,
69
- renderBlockEffect, // reaction doesn't expect async here
70
- {
71
- name: `${display.id}/${assembleLocString(self.region)} rendering`,
72
- delay: display.renderDelay,
73
- fireImmediately: true,
74
- },
75
- this.setLoading,
76
- this.setRendered,
77
- this.setError,
78
- )
66
+ setTimeout(() => {
67
+ if (isAlive(self)) {
68
+ makeAbortableReaction(
69
+ self as any,
70
+ renderBlockData,
71
+ renderBlockEffect, // reaction doesn't expect async here
72
+ {
73
+ name: `${display.id}/${assembleLocString(
74
+ self.region,
75
+ )} rendering`,
76
+ delay: display.renderDelay,
77
+ fireImmediately: true,
78
+ },
79
+ this.setLoading,
80
+ this.setRendered,
81
+ this.setError,
82
+ )
83
+ }
84
+ }, display.renderDelay)
79
85
  },
80
86
  setStatus(message: string) {
81
87
  self.status = message
@@ -175,25 +181,27 @@ const blockState = types
175
181
  getParent<any>(self, 2).reload()
176
182
  },
177
183
  beforeDestroy() {
178
- if (renderInProgress && !renderInProgress.signal.aborted) {
179
- renderInProgress.abort()
180
- }
181
- const display = getContainingDisplay(self)
182
- const { rpcManager } = getSession(self)
183
- const { rendererType } = display
184
- const { renderArgs } = renderBlockData(cast(self))
185
- // renderArgs can be undefined if an error occurred in this block
186
- if (renderArgs) {
187
- rendererType
188
- .freeResourcesInClient(
189
- rpcManager,
190
- JSON.parse(JSON.stringify(renderArgs)),
191
- )
192
- .catch((e: Error) => {
193
- // just console.error if it's something while it's being destroyed
194
- console.warn('Error while destroying block', e)
195
- })
196
- }
184
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
185
+ ;(async () => {
186
+ try {
187
+ if (renderInProgress && !renderInProgress.signal.aborted) {
188
+ renderInProgress.abort()
189
+ }
190
+ const display = getContainingDisplay(self)
191
+ const { rpcManager } = getSession(self)
192
+ const { rendererType } = display
193
+ const { renderArgs } = renderBlockData(cast(self))
194
+ // renderArgs can be undefined if an error occurred in this block
195
+ if (renderArgs) {
196
+ await rendererType.freeResourcesInClient(
197
+ rpcManager,
198
+ JSON.parse(JSON.stringify(renderArgs)),
199
+ )
200
+ }
201
+ } catch (e) {
202
+ console.error('Error while destroying block', e)
203
+ }
204
+ })()
197
205
  },
198
206
  }
199
207
  })
@@ -1,4 +1,5 @@
1
- import { Stats } from '@jbrowse/core/data_adapters/BaseAdapter'
1
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration'
2
+ import { FeatureDensityStats } from '@jbrowse/core/data_adapters/BaseAdapter'
2
3
  import { getContainingView, getSession } from '@jbrowse/core/util'
3
4
  import { getRpcSessionId } from '@jbrowse/core/util/tracks'
4
5
  import { IAnyStateTreeNode, isAlive } from 'mobx-state-tree'
@@ -35,7 +36,12 @@ export function getId(id: string, index: number) {
35
36
  return `clip-${isJest ? id : 'jest'}-${index}`
36
37
  }
37
38
 
38
- export async function estimateRegionsStatsPre(self: IAnyStateTreeNode) {
39
+ export async function getFeatureDensityStatsPre(
40
+ self: IAnyStateTreeNode & {
41
+ adapterConfig?: AnyConfigurationModel
42
+ setMessage: (arg: string) => void
43
+ },
44
+ ) {
39
45
  const view = getContainingView(self) as LinearGenomeViewModel
40
46
  const regions = view.staticBlocks.contentBlocks
41
47
 
@@ -48,7 +54,7 @@ export async function estimateRegionsStatsPre(self: IAnyStateTreeNode) {
48
54
  }
49
55
  const sessionId = getRpcSessionId(self)
50
56
 
51
- return rpcManager.call(sessionId, 'CoreEstimateRegionStats', {
57
+ return rpcManager.call(sessionId, 'CoreGetFeatureDensityStats', {
52
58
  sessionId,
53
59
  regions,
54
60
  adapterConfig,
@@ -57,5 +63,5 @@ export async function estimateRegionsStatsPre(self: IAnyStateTreeNode) {
57
63
  self.setMessage(message)
58
64
  }
59
65
  },
60
- }) as Promise<Stats>
66
+ }) as Promise<FeatureDensityStats>
61
67
  }
@@ -4,6 +4,7 @@ import PluginManager from '@jbrowse/core/PluginManager'
4
4
 
5
5
  /**
6
6
  * #config BasicTrack
7
+ * #category track
7
8
  * synonym for FeatureTrack
8
9
  */
9
10
  function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
@@ -4,6 +4,7 @@ import PluginManager from '@jbrowse/core/PluginManager'
4
4
 
5
5
  /**
6
6
  * #config FeatureTrack
7
+ * #category track
7
8
  * used for basic gene and feature tracks, generally used with LinearBasicDisplay
8
9
  */
9
10
  function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
@@ -4,6 +4,7 @@ import { baseLinearDisplayConfigSchema } from '../BaseLinearDisplay'
4
4
 
5
5
  /**
6
6
  * #config LinearBareDisplay
7
+ * #category display
7
8
  */
8
9
  function configSchemaFactory(pluginManager: PluginManager) {
9
10
  return ConfigurationSchema(
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  AnyConfigurationSchemaType,
3
3
  ConfigurationReference,
4
- } from '@jbrowse/core/configuration/configurationSchema'
4
+ } from '@jbrowse/core/configuration'
5
5
  import { getParentRenderProps } from '@jbrowse/core/util/tracks'
6
6
  import { types } from 'mobx-state-tree'
7
7
  import { BaseLinearDisplay } from '../BaseLinearDisplay'
8
8
 
9
9
  /**
10
10
  * #stateModel LinearBareDisplay
11
+ * #category display
11
12
  * extends `BaseLinearDisplay`
12
13
  */
13
14
  export function stateModelFactory(configSchema: AnyConfigurationSchemaType) {
@@ -4,21 +4,12 @@ import { baseLinearDisplayConfigSchema } from '../BaseLinearDisplay'
4
4
 
5
5
  /**
6
6
  * #config LinearBasicDisplay
7
+ * #category display
7
8
  */
8
9
  function configSchemaFactory(pluginManager: PluginManager) {
9
10
  return ConfigurationSchema(
10
11
  'LinearBasicDisplay',
11
12
  {
12
- /**
13
- * #slot
14
- */
15
- mouseover: {
16
- type: 'string',
17
- description: 'what to display in a given mouseover',
18
- defaultValue: `jexl:get(feature,'name')`,
19
-
20
- contextVariable: ['feature'],
21
- },
22
13
  /**
23
14
  * #slot
24
15
  */
@@ -18,6 +18,7 @@ const SetMaxHeightDlg = lazy(() => import('./components/SetMaxHeight'))
18
18
 
19
19
  /**
20
20
  * #stateModel LinearBasicDisplay
21
+ * #category display
21
22
  * used by `FeatureTrack`, has simple settings like "show/hide feature labels",
22
23
  * etc.
23
24
  */