@jbrowse/plugin-linear-genome-view 1.7.10 → 2.0.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 (271) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +119 -139
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  3. package/dist/BaseLinearDisplay/components/Block.js +53 -74
  4. package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
  5. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
  6. package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  8. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +145 -175
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  10. package/dist/BaseLinearDisplay/components/Tooltip.js +109 -116
  11. package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  12. package/dist/BaseLinearDisplay/index.js +13 -40
  13. package/dist/BaseLinearDisplay/index.js.map +1 -0
  14. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +20 -15
  15. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -684
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  17. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
  18. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  19. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
  20. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
  21. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  22. package/dist/LinearBareDisplay/configSchema.js +11 -17
  23. package/dist/LinearBareDisplay/configSchema.js.map +1 -0
  24. package/dist/LinearBareDisplay/index.js +7 -20
  25. package/dist/LinearBareDisplay/index.js.map +1 -0
  26. package/dist/LinearBareDisplay/model.d.ts +16 -14
  27. package/dist/LinearBareDisplay/model.js +36 -42
  28. package/dist/LinearBareDisplay/model.js.map +1 -0
  29. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  30. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
  31. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  32. package/dist/LinearBasicDisplay/configSchema.js +15 -23
  33. package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
  34. package/dist/LinearBasicDisplay/index.js +10 -22
  35. package/dist/LinearBasicDisplay/index.js.map +1 -0
  36. package/dist/LinearBasicDisplay/model.d.ts +20 -15
  37. package/dist/LinearBasicDisplay/model.js +180 -159
  38. package/dist/LinearBasicDisplay/model.js.map +1 -0
  39. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
  40. package/dist/LinearGenomeView/components/CenterLine.js +60 -74
  41. package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
  42. package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
  43. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  44. package/dist/LinearGenomeView/components/Gridlines.d.ts +8 -0
  45. package/dist/LinearGenomeView/components/Gridlines.js +78 -0
  46. package/dist/LinearGenomeView/components/Gridlines.js.map +1 -0
  47. package/dist/LinearGenomeView/components/Header.js +70 -126
  48. package/dist/LinearGenomeView/components/Header.js.map +1 -0
  49. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  50. package/dist/LinearGenomeView/components/HelpDialog.js +62 -44
  51. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
  52. package/dist/LinearGenomeView/components/ImportForm.js +223 -320
  53. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
  54. package/dist/LinearGenomeView/components/LinearGenomeView.js +64 -124
  55. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  56. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
  57. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  58. package/dist/LinearGenomeView/components/MiniControls.js +64 -78
  59. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
  60. package/dist/LinearGenomeView/components/OverviewRubberBand.js +229 -293
  61. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  62. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +24 -8
  63. package/dist/LinearGenomeView/components/OverviewScaleBar.js +277 -365
  64. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  65. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
  66. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
  67. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  68. package/dist/LinearGenomeView/components/RubberBand.js +228 -296
  69. package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
  70. package/dist/LinearGenomeView/components/Ruler.js +45 -90
  71. package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
  72. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -403
  73. package/dist/LinearGenomeView/components/ScaleBar.js +121 -172
  74. package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
  75. package/dist/LinearGenomeView/components/SearchBox.js +158 -205
  76. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
  77. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
  78. package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -150
  79. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  80. package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
  81. package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  82. package/dist/LinearGenomeView/components/TrackContainer.js +116 -156
  83. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
  84. package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
  85. package/dist/LinearGenomeView/components/TrackLabel.js +115 -134
  86. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
  87. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  88. package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
  89. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
  90. package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
  91. package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
  92. package/dist/LinearGenomeView/components/util.d.ts +12 -0
  93. package/dist/LinearGenomeView/components/util.js +95 -13
  94. package/dist/LinearGenomeView/components/util.js.map +1 -0
  95. package/dist/LinearGenomeView/index.d.ts +64 -77
  96. package/dist/LinearGenomeView/index.js +1035 -1412
  97. package/dist/LinearGenomeView/index.js.map +1 -0
  98. package/dist/LinearGenomeView/util.js +76 -83
  99. package/dist/LinearGenomeView/util.js.map +1 -0
  100. package/dist/index.d.ts +101 -51
  101. package/dist/index.js +225 -295
  102. package/dist/index.js.map +1 -0
  103. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
  104. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
  105. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  106. package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
  107. package/esm/BaseLinearDisplay/components/Block.js +46 -0
  108. package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
  109. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
  110. package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
  111. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  112. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
  113. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +113 -0
  114. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  115. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  116. package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
  117. package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  118. package/esm/BaseLinearDisplay/index.d.ts +5 -0
  119. package/esm/BaseLinearDisplay/index.js +4 -0
  120. package/esm/BaseLinearDisplay/index.js.map +1 -0
  121. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
  122. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
  123. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  124. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
  125. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
  126. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  127. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
  128. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
  129. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  130. package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
  131. package/esm/LinearBareDisplay/configSchema.js +9 -0
  132. package/esm/LinearBareDisplay/configSchema.js.map +1 -0
  133. package/esm/LinearBareDisplay/index.d.ts +2 -0
  134. package/esm/LinearBareDisplay/index.js +3 -0
  135. package/esm/LinearBareDisplay/index.js.map +1 -0
  136. package/esm/LinearBareDisplay/model.d.ts +194 -0
  137. package/esm/LinearBareDisplay/model.js +28 -0
  138. package/esm/LinearBareDisplay/model.js.map +1 -0
  139. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
  140. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
  141. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  142. package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
  143. package/esm/LinearBasicDisplay/configSchema.js +14 -0
  144. package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
  145. package/esm/LinearBasicDisplay/index.d.ts +2 -0
  146. package/esm/LinearBasicDisplay/index.js +3 -0
  147. package/esm/LinearBasicDisplay/index.js.map +1 -0
  148. package/esm/LinearBasicDisplay/model.d.ts +218 -0
  149. package/esm/LinearBasicDisplay/model.js +127 -0
  150. package/esm/LinearBasicDisplay/model.js.map +1 -0
  151. package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
  152. package/esm/LinearGenomeView/components/CenterLine.js +40 -0
  153. package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
  154. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
  155. package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
  156. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  157. package/esm/LinearGenomeView/components/Gridlines.d.ts +8 -0
  158. package/esm/LinearGenomeView/components/Gridlines.js +71 -0
  159. package/esm/LinearGenomeView/components/Gridlines.js.map +1 -0
  160. package/esm/LinearGenomeView/components/Header.d.ts +7 -0
  161. package/esm/LinearGenomeView/components/Header.js +81 -0
  162. package/esm/LinearGenomeView/components/Header.js.map +1 -0
  163. package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
  164. package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
  165. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
  166. package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
  167. package/esm/LinearGenomeView/components/ImportForm.js +141 -0
  168. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
  169. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
  170. package/esm/LinearGenomeView/components/LinearGenomeView.js +67 -0
  171. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  172. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
  173. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
  174. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  175. package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
  176. package/esm/LinearGenomeView/components/MiniControls.js +25 -0
  177. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
  178. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
  179. package/esm/LinearGenomeView/components/OverviewRubberBand.js +197 -0
  180. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  181. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
  182. package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
  183. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  184. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
  185. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
  186. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  187. package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
  188. package/esm/LinearGenomeView/components/RubberBand.js +197 -0
  189. package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
  190. package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
  191. package/esm/LinearGenomeView/components/Ruler.js +50 -0
  192. package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
  193. package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
  194. package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
  195. package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
  196. package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
  197. package/esm/LinearGenomeView/components/SearchBox.js +94 -0
  198. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
  199. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
  200. package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
  201. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  202. package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
  203. package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
  204. package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  205. package/esm/LinearGenomeView/components/TrackContainer.d.ts +9 -0
  206. package/esm/LinearGenomeView/components/TrackContainer.js +109 -0
  207. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
  208. package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
  209. package/esm/LinearGenomeView/components/TrackLabel.js +89 -0
  210. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
  211. package/{dist/LinearGenomeView/components/VerticalGuides.d.ts → esm/LinearGenomeView/components/TracksContainer.d.ts} +4 -3
  212. package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
  213. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
  214. package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
  215. package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
  216. package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
  217. package/esm/LinearGenomeView/components/util.d.ts +14 -0
  218. package/esm/LinearGenomeView/components/util.js +17 -0
  219. package/esm/LinearGenomeView/components/util.js.map +1 -0
  220. package/esm/LinearGenomeView/index.d.ts +275 -0
  221. package/esm/LinearGenomeView/index.js +978 -0
  222. package/esm/LinearGenomeView/index.js.map +1 -0
  223. package/esm/LinearGenomeView/util.d.ts +14 -0
  224. package/esm/LinearGenomeView/util.js +62 -0
  225. package/esm/LinearGenomeView/util.js.map +1 -0
  226. package/esm/index.d.ts +615 -0
  227. package/esm/index.js +127 -0
  228. package/esm/index.js.map +1 -0
  229. package/package.json +22 -15
  230. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +4 -3
  231. package/src/BaseLinearDisplay/components/Block.tsx +5 -5
  232. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
  233. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +7 -8
  234. package/src/BaseLinearDisplay/components/Tooltip.tsx +14 -4
  235. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +6 -4
  236. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  237. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
  238. package/src/LinearBasicDisplay/model.ts +21 -15
  239. package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
  240. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
  241. package/src/LinearGenomeView/components/{VerticalGuides.tsx → Gridlines.tsx} +9 -11
  242. package/src/LinearGenomeView/components/Header.tsx +13 -18
  243. package/src/LinearGenomeView/components/HelpDialog.tsx +5 -5
  244. package/src/LinearGenomeView/components/ImportForm.tsx +24 -37
  245. package/src/LinearGenomeView/components/LinearGenomeView.test.js +16 -6
  246. package/src/LinearGenomeView/components/LinearGenomeView.tsx +4 -3
  247. package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
  248. package/src/LinearGenomeView/components/OverviewRubberBand.tsx +20 -29
  249. package/src/LinearGenomeView/components/OverviewScaleBar.tsx +100 -89
  250. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
  251. package/src/LinearGenomeView/components/RubberBand.tsx +12 -18
  252. package/src/LinearGenomeView/components/Ruler.tsx +5 -11
  253. package/src/LinearGenomeView/components/ScaleBar.tsx +23 -27
  254. package/src/LinearGenomeView/components/SearchBox.tsx +22 -32
  255. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -7
  256. package/src/LinearGenomeView/components/SequenceDialog.tsx +10 -10
  257. package/src/LinearGenomeView/components/TrackContainer.tsx +12 -12
  258. package/src/LinearGenomeView/components/TrackLabel.tsx +21 -31
  259. package/src/LinearGenomeView/components/TracksContainer.tsx +10 -15
  260. package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
  261. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +500 -547
  262. package/src/LinearGenomeView/components/util.ts +43 -0
  263. package/src/LinearGenomeView/index.test.ts +14 -36
  264. package/src/LinearGenomeView/index.tsx +390 -564
  265. package/src/index.ts +1 -1
  266. package/dist/LinearBareDisplay/index.test.js +0 -33
  267. package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
  268. package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
  269. package/dist/LinearGenomeView/components/VerticalGuides.js +0 -116
  270. package/dist/LinearGenomeView/index.test.js +0 -1187
  271. package/dist/LinearGenomeView/util.test.js +0 -78
@@ -1,16 +1,16 @@
1
1
  import React from 'react'
2
2
  import { observer } from 'mobx-react'
3
- import { makeStyles, useTheme, alpha } from '@material-ui/core'
3
+ import { useTheme, alpha } from '@mui/material'
4
+ import { makeStyles } from 'tss-react/mui'
4
5
  import BaseResult from '@jbrowse/core/TextSearch/BaseResults'
5
6
  import { getSession } from '@jbrowse/core/util'
6
- import { SearchType } from '@jbrowse/core/data_adapters/BaseAdapter'
7
7
 
8
8
  // locals
9
9
  import RefNameAutocomplete from './RefNameAutocomplete'
10
- import { dedupe } from './util'
10
+ import { fetchResults } from './util'
11
11
  import { LinearGenomeViewModel, SPACING, WIDGET_HEIGHT } from '..'
12
12
 
13
- const useStyles = makeStyles(() => ({
13
+ const useStyles = makeStyles()(() => ({
14
14
  headerRefName: {
15
15
  minWidth: 100,
16
16
  },
@@ -23,7 +23,7 @@ function SearchBox({
23
23
  showHelp?: boolean
24
24
  model: LinearGenomeViewModel
25
25
  }) {
26
- const classes = useStyles()
26
+ const { classes } = useStyles()
27
27
  const theme = useTheme()
28
28
  const session = getSession(model)
29
29
 
@@ -33,31 +33,6 @@ function SearchBox({
33
33
  const assembly = assemblyManager.get(assemblyName)
34
34
  const searchScope = model.searchScope(assemblyName)
35
35
 
36
- async function fetchResults(query: string, searchType?: SearchType) {
37
- if (!textSearchManager) {
38
- console.warn('No text search manager')
39
- }
40
-
41
- const textSearchResults = await textSearchManager?.search(
42
- {
43
- queryString: query,
44
- searchType,
45
- },
46
- searchScope,
47
- rankSearchResults,
48
- )
49
-
50
- const refNameResults = assembly?.allRefNames
51
- ?.filter(refName => refName.startsWith(query))
52
- .map(r => new BaseResult({ label: r }))
53
- .slice(0, 10)
54
-
55
- return dedupe(
56
- [...(refNameResults || []), ...(textSearchResults || [])],
57
- elt => elt.getId(),
58
- )
59
- }
60
-
61
36
  // gets a string as input, or use stored option results from previous query,
62
37
  // then re-query and
63
38
  // 1) if it has multiple results: pop a dialog
@@ -82,7 +57,14 @@ function SearchBox({
82
57
  ) {
83
58
  model.navToLocString(location, assemblyName)
84
59
  } else {
85
- const results = await fetchResults(label, 'exact')
60
+ const results = await fetchResults({
61
+ queryString: label,
62
+ searchType: 'exact',
63
+ searchScope,
64
+ rankSearchResults,
65
+ textSearchManager,
66
+ assembly,
67
+ })
86
68
  if (results.length > 1) {
87
69
  model.setSearchResults(results, label.toLowerCase())
88
70
  return
@@ -106,7 +88,15 @@ function SearchBox({
106
88
  showHelp={showHelp}
107
89
  onSelect={handleSelectedRegion}
108
90
  assemblyName={assemblyName}
109
- fetchResults={fetchResults}
91
+ fetchResults={queryString =>
92
+ fetchResults({
93
+ queryString,
94
+ searchScope,
95
+ rankSearchResults,
96
+ textSearchManager,
97
+ assembly,
98
+ })
99
+ }
110
100
  model={model}
111
101
  TextFieldProps={{
112
102
  variant: 'outlined',
@@ -1,4 +1,5 @@
1
1
  import React from 'react'
2
+ import { makeStyles } from 'tss-react/mui'
2
3
  import { getEnv, resolveIdentifier, getRoot } from 'mobx-state-tree'
3
4
  import { getSession } from '@jbrowse/core/util'
4
5
  import {
@@ -9,6 +10,7 @@ import {
9
10
  DialogTitle,
10
11
  Divider,
11
12
  IconButton,
13
+ Paper,
12
14
  Table,
13
15
  TableBody,
14
16
  TableCell,
@@ -16,13 +18,11 @@ import {
16
18
  TableHead,
17
19
  TableRow,
18
20
  Typography,
19
- Paper,
20
- makeStyles,
21
- } from '@material-ui/core'
22
- import CloseIcon from '@material-ui/icons/Close'
21
+ } from '@mui/material'
22
+ import CloseIcon from '@mui/icons-material/Close'
23
23
  import { LinearGenomeViewModel } from '../..'
24
24
 
25
- export const useStyles = makeStyles(theme => ({
25
+ const useStyles = makeStyles()(theme => ({
26
26
  dialogContent: {
27
27
  width: '80em',
28
28
  },
@@ -43,7 +43,7 @@ export default function SearchResultsDialog({
43
43
  optAssemblyName?: string
44
44
  handleClose: () => void
45
45
  }) {
46
- const classes = useStyles()
46
+ const { classes } = useStyles()
47
47
  const session = getSession(model)
48
48
  const { pluginManager } = getEnv(session)
49
49
  const { assemblyManager } = session
@@ -108,6 +108,7 @@ export default function SearchResultsDialog({
108
108
  onClick={() => {
109
109
  handleClose()
110
110
  }}
111
+ size="large"
111
112
  >
112
113
  <CloseIcon />
113
114
  </IconButton>
@@ -156,7 +157,6 @@ export default function SearchResultsDialog({
156
157
  }
157
158
  handleClose()
158
159
  }}
159
- disabled={!getTrackName(result.getTrackId())}
160
160
  color="primary"
161
161
  variant="contained"
162
162
  >
@@ -1,19 +1,18 @@
1
1
  import React, { useEffect, useMemo, useState } from 'react'
2
-
2
+ import { makeStyles } from 'tss-react/mui'
3
3
  import {
4
4
  Button,
5
5
  CircularProgress,
6
+ Container,
6
7
  Dialog,
7
8
  DialogActions,
8
9
  DialogContent,
9
10
  DialogTitle,
10
- Container,
11
- Typography,
12
11
  Divider,
13
12
  IconButton,
14
13
  TextField,
15
- makeStyles,
16
- } from '@material-ui/core'
14
+ Typography,
15
+ } from '@mui/material'
17
16
  import { observer } from 'mobx-react'
18
17
  import { saveAs } from 'file-saver'
19
18
  import { Region } from '@jbrowse/core/util/types'
@@ -25,13 +24,13 @@ import { formatSeqFasta } from '@jbrowse/core/util/formatFastaStrings'
25
24
 
26
25
  // icons
27
26
  import { ContentCopy as ContentCopyIcon } from '@jbrowse/core/ui/Icons'
28
- import CloseIcon from '@material-ui/icons/Close'
29
- import GetAppIcon from '@material-ui/icons/GetApp'
27
+ import CloseIcon from '@mui/icons-material/Close'
28
+ import GetAppIcon from '@mui/icons-material/GetApp'
30
29
 
31
30
  // locals
32
31
  import { LinearGenomeViewModel } from '..'
33
32
 
34
- const useStyles = makeStyles(theme => ({
33
+ const useStyles = makeStyles()(theme => ({
35
34
  loadingMessage: {
36
35
  padding: theme.spacing(5),
37
36
  },
@@ -93,7 +92,7 @@ function SequenceDialog({
93
92
  model: LinearGenomeViewModel
94
93
  handleClose: () => void
95
94
  }) {
96
- const classes = useStyles()
95
+ const { classes } = useStyles()
97
96
  const session = getSession(model)
98
97
  const [error, setError] = useState<unknown>()
99
98
  const [sequence, setSequence] = useState<string>()
@@ -181,6 +180,7 @@ function SequenceDialog({
181
180
  handleClose()
182
181
  model.setOffsets(undefined, undefined)
183
182
  }}
183
+ size="large"
184
184
  >
185
185
  <CloseIcon />
186
186
  </IconButton>
@@ -248,7 +248,7 @@ function SequenceDialog({
248
248
  >
249
249
  Download FASTA
250
250
  </Button>
251
- <Button onClick={handleClose} color="primary" autoFocus>
251
+ <Button onClick={handleClose} variant="contained">
252
252
  Close
253
253
  </Button>
254
254
  </DialogActions>
@@ -1,21 +1,22 @@
1
1
  import React, { useEffect, useRef } from 'react'
2
+ import { Paper } from '@mui/material'
3
+ import { makeStyles } from 'tss-react/mui'
2
4
  import { observer } from 'mobx-react'
3
5
  import { isAlive } from 'mobx-state-tree'
4
6
  import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
5
7
  import { getConf } from '@jbrowse/core/configuration'
6
8
  import { ResizeHandle } from '@jbrowse/core/ui'
7
9
  import { useDebouncedCallback } from '@jbrowse/core/util'
8
- import clsx from 'clsx'
9
- import Paper from '@material-ui/core/Paper'
10
- import { makeStyles } from '@material-ui/core/styles'
11
10
 
12
- import { LinearGenomeViewModel, RESIZE_HANDLE_HEIGHT } from '..'
11
+ import { LinearGenomeViewModel } from '..'
13
12
  import TrackLabel from './TrackLabel'
14
13
 
15
- const useStyles = makeStyles(theme => ({
16
- root: { marginTop: 2 },
14
+ const useStyles = makeStyles()({
15
+ root: {
16
+ marginTop: 2,
17
+ },
17
18
  resizeHandle: {
18
- height: RESIZE_HANDLE_HEIGHT,
19
+ height: 3,
19
20
  boxSizing: 'border-box',
20
21
  position: 'relative',
21
22
  zIndex: 2,
@@ -27,7 +28,6 @@ const useStyles = makeStyles(theme => ({
27
28
  left: 0,
28
29
  width: '100%',
29
30
  zIndex: 3,
30
- borderRadius: theme.shape.borderRadius,
31
31
  },
32
32
  trackLabel: {
33
33
  zIndex: 3,
@@ -57,13 +57,13 @@ const useStyles = makeStyles(theme => ({
57
57
  background: 'none',
58
58
  zIndex: 2,
59
59
  },
60
- }))
60
+ })
61
61
 
62
62
  type LGV = LinearGenomeViewModel
63
63
 
64
64
  const TrackContainerLabel = observer(
65
65
  ({ model, view }: { model: BaseTrackModel; view: LGV }) => {
66
- const classes = useStyles()
66
+ const { classes, cx } = useStyles()
67
67
  const labelStyle =
68
68
  view.trackLabels === 'overlapping'
69
69
  ? classes.trackLabelOverlap
@@ -71,7 +71,7 @@ const TrackContainerLabel = observer(
71
71
  return view.trackLabels !== 'hidden' ? (
72
72
  <TrackLabel
73
73
  track={model}
74
- className={clsx(classes.trackLabel, labelStyle)}
74
+ className={cx(classes.trackLabel, labelStyle)}
75
75
  />
76
76
  ) : null
77
77
  },
@@ -84,7 +84,7 @@ function TrackContainer({
84
84
  model: LinearGenomeViewModel
85
85
  track: BaseTrackModel
86
86
  }) {
87
- const classes = useStyles()
87
+ const { classes } = useStyles()
88
88
  const display = track.displays[0]
89
89
  const { horizontalScroll, draggingTrackId, moveTrack } = model
90
90
  const { height } = display
@@ -1,15 +1,12 @@
1
1
  import React from 'react'
2
+ import { observer } from 'mobx-react'
3
+ import { Instance } from 'mobx-state-tree'
2
4
  import { getConf, readConfObject } from '@jbrowse/core/configuration'
3
5
  import CascadingMenu from '@jbrowse/core/ui/CascadingMenu'
4
6
  import { getSession, getContainingView } from '@jbrowse/core/util'
5
7
  import { BaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
6
- import {
7
- IconButton,
8
- Paper,
9
- Typography,
10
- alpha,
11
- makeStyles,
12
- } from '@material-ui/core'
8
+ import { IconButton, Paper, Typography, alpha } from '@mui/material'
9
+ import { makeStyles } from 'tss-react/mui'
13
10
 
14
11
  import {
15
12
  bindTrigger,
@@ -17,18 +14,14 @@ import {
17
14
  usePopupState,
18
15
  } from 'material-ui-popup-state/hooks'
19
16
 
20
- import clsx from 'clsx'
21
- import { observer } from 'mobx-react'
22
- import { Instance } from 'mobx-state-tree'
23
-
24
17
  // icons
25
- import MoreVertIcon from '@material-ui/icons/MoreVert'
26
- import DragIcon from '@material-ui/icons/DragIndicator'
27
- import CloseIcon from '@material-ui/icons/Close'
18
+ import MoreVertIcon from '@mui/icons-material/MoreVert'
19
+ import DragIcon from '@mui/icons-material/DragIndicator'
20
+ import CloseIcon from '@mui/icons-material/Close'
28
21
 
29
22
  import { LinearGenomeViewStateModel } from '..'
30
23
 
31
- const useStyles = makeStyles(theme => ({
24
+ const useStyles = makeStyles()(theme => ({
32
25
  root: {
33
26
  background: alpha(theme.palette.background.paper, 0.8),
34
27
  '&:hover': {
@@ -59,13 +52,13 @@ const useStyles = makeStyles(theme => ({
59
52
  }))
60
53
 
61
54
  type LGV = Instance<LinearGenomeViewStateModel>
62
-
63
- const TrackLabel = React.forwardRef(
64
- (
65
- { track, className }: { track: BaseTrackModel; className?: string },
66
- ref,
67
- ) => {
68
- const classes = useStyles()
55
+ interface Props {
56
+ track: BaseTrackModel
57
+ className?: string
58
+ }
59
+ const TrackLabel = React.forwardRef<HTMLDivElement, Props>(
60
+ ({ track, className }, ref) => {
61
+ const { classes, cx } = useStyles()
69
62
  const view = getContainingView(track) as LGV
70
63
  const session = getSession(track)
71
64
  const trackConf = track.configuration
@@ -79,11 +72,8 @@ const TrackLabel = React.forwardRef(
79
72
  const onDragStart = (event: React.DragEvent<HTMLSpanElement>) => {
80
73
  const target = event.target as HTMLElement
81
74
  if (target.parentNode) {
82
- event.dataTransfer.setDragImage(
83
- target.parentNode as HTMLElement,
84
- 20,
85
- 20,
86
- )
75
+ const parent = target.parentNode as HTMLElement
76
+ event.dataTransfer.setDragImage(parent, 20, 20)
87
77
  view.setDraggingTrackId(track.id)
88
78
  }
89
79
  }
@@ -109,7 +99,7 @@ const TrackLabel = React.forwardRef(
109
99
 
110
100
  return (
111
101
  <>
112
- <Paper ref={ref} className={clsx(className, classes.root)}>
102
+ <Paper ref={ref} className={cx(className, classes.root)}>
113
103
  <span
114
104
  draggable
115
105
  className={classes.dragHandle}
@@ -117,7 +107,7 @@ const TrackLabel = React.forwardRef(
117
107
  onDragEnd={onDragEnd}
118
108
  data-testid={`dragHandle-${view.id}-${trackId}`}
119
109
  >
120
- <DragIcon className={classes.dragHandleIcon} />
110
+ <DragIcon className={classes.dragHandleIcon} fontSize="small" />
121
111
  </span>
122
112
  <IconButton
123
113
  onClick={() => view.hideTrack(trackId)}
@@ -125,7 +115,7 @@ const TrackLabel = React.forwardRef(
125
115
  title="close this track"
126
116
  color="secondary"
127
117
  >
128
- <CloseIcon />
118
+ <CloseIcon fontSize="small" />
129
119
  </IconButton>
130
120
  <Typography
131
121
  variant="body1"
@@ -141,7 +131,7 @@ const TrackLabel = React.forwardRef(
141
131
  data-testid="track_menu_icon"
142
132
  disabled={!items.length}
143
133
  >
144
- <MoreVertIcon />
134
+ <MoreVertIcon fontSize="small" />
145
135
  </IconButton>
146
136
  </Paper>
147
137
  <CascadingMenu
@@ -1,30 +1,25 @@
1
- import { makeStyles } from '@material-ui/core/styles'
1
+ import React, { useEffect, useRef, useState } from 'react'
2
+ import { makeStyles } from 'tss-react/mui'
2
3
  import { observer } from 'mobx-react'
3
4
  import { Instance } from 'mobx-state-tree'
4
- import React, { useEffect, useRef, useState } from 'react'
5
5
  import normalizeWheel from 'normalize-wheel'
6
6
 
7
- import {
8
- LinearGenomeViewStateModel,
9
- RESIZE_HANDLE_HEIGHT,
10
- SCALE_BAR_HEIGHT,
11
- } from '..'
7
+ import { LinearGenomeViewStateModel, SCALE_BAR_HEIGHT } from '..'
12
8
  import RubberBand from './RubberBand'
13
9
  import ScaleBar from './ScaleBar'
14
- import VerticalGuides from './VerticalGuides'
10
+ import Gridlines from './Gridlines'
15
11
  import CenterLine from './CenterLine'
16
12
 
17
- const useStyles = makeStyles(theme => ({
13
+ const useStyles = makeStyles()({
18
14
  tracksContainer: {
19
15
  position: 'relative',
20
- borderRadius: theme.shape.borderRadius,
21
16
  overflow: 'hidden',
22
17
  },
23
18
  spacer: {
24
19
  position: 'relative',
25
- height: RESIZE_HANDLE_HEIGHT,
20
+ height: 3,
26
21
  },
27
- }))
22
+ })
28
23
 
29
24
  type LGV = Instance<LinearGenomeViewStateModel>
30
25
  type Timer = ReturnType<typeof setTimeout>
@@ -36,7 +31,7 @@ function TracksContainer({
36
31
  children: React.ReactNode
37
32
  model: LGV
38
33
  }) {
39
- const classes = useStyles()
34
+ const { classes } = useStyles()
40
35
  // refs are to store these variables to avoid repeated rerenders associated
41
36
  // with useState/setState
42
37
  const delta = useRef(0)
@@ -167,13 +162,13 @@ function TracksContainer({
167
162
  return (
168
163
  <div
169
164
  ref={ref}
170
- role="presentation"
165
+ data-testid="trackContainer"
171
166
  className={classes.tracksContainer}
172
167
  onMouseDown={mouseDown}
173
168
  onMouseUp={mouseUp}
174
169
  onMouseLeave={mouseLeave}
175
170
  >
176
- <VerticalGuides model={model} />
171
+ {model.showGridlines ? <Gridlines model={model} /> : null}
177
172
  {model.showCenterLine ? <CenterLine model={model} /> : null}
178
173
 
179
174
  <RubberBand
@@ -1,13 +1,12 @@
1
1
  import React, { useState, useEffect } from 'react'
2
2
  import { observer } from 'mobx-react'
3
- import IconButton from '@material-ui/core/IconButton'
4
- import Slider from '@material-ui/core/Slider'
5
- import { makeStyles } from '@material-ui/core/styles'
6
- import ZoomIn from '@material-ui/icons/ZoomIn'
7
- import ZoomOut from '@material-ui/icons/ZoomOut'
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'
8
7
  import { LinearGenomeViewModel } from '..'
9
8
 
10
- const useStyles = makeStyles({
9
+ const useStyles = makeStyles()({
11
10
  container: {
12
11
  display: 'flex',
13
12
  flexDirection: 'row',
@@ -19,26 +18,27 @@ const useStyles = makeStyles({
19
18
  })
20
19
 
21
20
  function ZoomControls({ model }: { model: LinearGenomeViewModel }) {
22
- const classes = useStyles()
21
+ const { classes } = useStyles()
23
22
  const { maxBpPerPx, minBpPerPx, bpPerPx, scaleFactor } = model
24
23
  const [value, setValue] = useState(-Math.log2(bpPerPx) * 100)
25
24
  useEffect(() => {
26
25
  setValue(-Math.log2(bpPerPx) * 100)
27
26
  }, [setValue, bpPerPx])
27
+
28
28
  return (
29
29
  <div className={classes.container}>
30
30
  <IconButton
31
31
  data-testid="zoom_out"
32
- onClick={() => {
33
- model.zoom(bpPerPx * 2)
34
- }}
32
+ onClick={() => model.zoom(bpPerPx * 2)}
35
33
  disabled={bpPerPx >= maxBpPerPx - 0.0001 || scaleFactor !== 1}
36
34
  color="secondary"
35
+ size="large"
37
36
  >
38
37
  <ZoomOut />
39
38
  </IconButton>
40
39
 
41
40
  <Slider
41
+ size="small"
42
42
  className={classes.slider}
43
43
  value={value}
44
44
  min={-Math.log2(maxBpPerPx) * 100}
@@ -49,11 +49,10 @@ function ZoomControls({ model }: { model: LinearGenomeViewModel }) {
49
49
  />
50
50
  <IconButton
51
51
  data-testid="zoom_in"
52
- onClick={() => {
53
- model.zoom(model.bpPerPx / 2)
54
- }}
52
+ onClick={() => model.zoom(model.bpPerPx / 2)}
55
53
  disabled={bpPerPx <= minBpPerPx + 0.0001 || scaleFactor !== 1}
56
54
  color="secondary"
55
+ size="large"
57
56
  >
58
57
  <ZoomIn />
59
58
  </IconButton>