@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverviewScaleBar.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/OverviewScaleBar.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
3
- import { TextFieldProps as TFP } from '@material-ui/core';
3
+ import { TextFieldProps as TFP } from '@mui/material';
4
4
  import { LinearGenomeViewModel } from '..';
5
5
  export interface Option {
6
6
  group?: string;
@@ -1,333 +1,246 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
-
22
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
23
-
24
- var _react = _interopRequireWildcard(require("react"));
25
-
26
- var _mobxReact = require("mobx-react");
27
-
28
- var _util = require("@jbrowse/core/util");
29
-
30
- var _BaseResults = _interopRequireWildcard(require("@jbrowse/core/TextSearch/BaseResults"));
31
-
32
- var _core = require("@material-ui/core");
33
-
34
- var _Search = _interopRequireDefault(require("@material-ui/icons/Search"));
35
-
36
- var _Autocomplete = _interopRequireDefault(require("@material-ui/lab/Autocomplete"));
37
-
38
- var _Help = _interopRequireDefault(require("@material-ui/icons/Help"));
39
-
40
- var _util2 = require("./util");
41
-
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
-
46
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
-
48
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
49
-
50
- // lazy
51
- var HelpDialog = /*#__PURE__*/(0, _react.lazy)(function () {
52
- return Promise.resolve().then(function () {
53
- return _interopRequireWildcard(require('./HelpDialog'));
54
- });
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
55
28
  });
56
-
57
- // the logic of this method is to only apply a filter to RefSequenceResults
58
- // because they do not have a matchedObject. the trix search results already
59
- // filter so don't need re-filtering
60
- function _filterOptions(options, searchQuery) {
61
- return options.filter(function (option) {
62
- var result = option.result;
63
- return result.getLabel().toLowerCase().includes(searchQuery) || result.matchedObject;
64
- });
65
- } // MyPopper used to expand search results box wider if needed
66
- // xref https://stackoverflow.com/a/63583835/2129219
67
-
68
-
69
- var MyPopper = function MyPopper(props) {
70
- var style = props.style;
71
- return /*#__PURE__*/_react.default.createElement(_core.Popper, (0, _extends2.default)({}, props, {
72
- style: {
73
- width: 'fit-content',
74
- minWidth: Math.min(+((style === null || style === void 0 ? void 0 : style.width) || 0), 200),
75
- background: 'white'
76
- },
77
- placement: "bottom-start"
78
- }));
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
79
35
  };
80
-
81
- function RefNameAutocomplete(_ref) {
82
- var model = _ref.model,
83
- onSelect = _ref.onSelect,
84
- assemblyName = _ref.assemblyName,
85
- style = _ref.style,
86
- fetchResults = _ref.fetchResults,
87
- onChange = _ref.onChange,
88
- value = _ref.value,
89
- _ref$showHelp = _ref.showHelp,
90
- showHelp = _ref$showHelp === void 0 ? true : _ref$showHelp,
91
- _ref$minWidth = _ref.minWidth,
92
- minWidth = _ref$minWidth === void 0 ? 200 : _ref$minWidth,
93
- _ref$TextFieldProps = _ref.TextFieldProps,
94
- TextFieldProps = _ref$TextFieldProps === void 0 ? {} : _ref$TextFieldProps;
95
- var session = (0, _util.getSession)(model);
96
- var assemblyManager = session.assemblyManager;
97
-
98
- var _useState = (0, _react.useState)(false),
99
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
100
- open = _useState2[0],
101
- setOpen = _useState2[1];
102
-
103
- var _useState3 = (0, _react.useState)(true),
104
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
105
- loaded = _useState4[0],
106
- setLoaded = _useState4[1];
107
-
108
- var _useState5 = (0, _react.useState)(false),
109
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
110
- isHelpDialogDisplayed = _useState6[0],
111
- setHelpDialogDisplayed = _useState6[1];
112
-
113
- var _useState7 = (0, _react.useState)(''),
114
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
115
- currentSearch = _useState8[0],
116
- setCurrentSearch = _useState8[1];
117
-
118
- var _useState9 = (0, _react.useState)(''),
119
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
120
- inputValue = _useState10[0],
121
- setInputValue = _useState10[1];
122
-
123
- var _useState11 = (0, _react.useState)(),
124
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
125
- searchOptions = _useState12[0],
126
- setSearchOptions = _useState12[1];
127
-
128
- var debouncedSearch = (0, _util.useDebounce)(currentSearch, 300);
129
- var coarseVisibleLocStrings = model.coarseVisibleLocStrings,
130
- hasDisplayedRegions = model.hasDisplayedRegions;
131
- var assembly = assemblyName ? assemblyManager.get(assemblyName) : undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
132
-
133
- var regions = (assembly === null || assembly === void 0 ? void 0 : assembly.regions) || [];
134
- var options = (0, _react.useMemo)(function () {
135
- return regions.map(function (option) {
136
- return {
137
- result: new _BaseResults.RefSequenceResult({
138
- refName: option.refName,
139
- label: option.refName,
140
- matchedAttribute: 'refName'
141
- })
142
- };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
143
43
  });
144
- }, [regions]);
145
- (0, _react.useEffect)(function () {
146
- var active = true;
147
- (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
148
- var results;
149
- return _regenerator.default.wrap(function _callee$(_context) {
150
- while (1) {
151
- switch (_context.prev = _context.next) {
152
- case 0:
153
- _context.prev = 0;
154
-
155
- if (!(debouncedSearch === '' || !assemblyName)) {
156
- _context.next = 3;
157
- break;
158
- }
159
-
160
- return _context.abrupt("return");
161
-
162
- case 3:
163
- setLoaded(false);
164
- _context.next = 6;
165
- return fetchResults(debouncedSearch);
166
-
167
- case 6:
168
- results = _context.sent;
169
-
170
- if (active) {
171
- setSearchOptions((0, _util2.dedupe)(results, function (r) {
172
- return r.getDisplayString();
173
- }).map(function (result) {
174
- return {
175
- result: result
176
- };
177
- }));
178
- setLoaded(true);
179
- }
180
-
181
- _context.next = 14;
182
- break;
183
-
184
- case 10:
185
- _context.prev = 10;
186
- _context.t0 = _context["catch"](0);
187
- console.error(_context.t0);
188
-
189
- if (active) {
190
- session.notify("".concat(_context.t0), 'error');
191
- }
192
-
193
- case 14:
194
- case "end":
195
- return _context.stop();
196
- }
197
- }
198
- }, _callee, null, [[0, 10]]);
199
- }))();
200
- return function () {
201
- active = false;
202
- };
203
- }, [assemblyName, fetchResults, debouncedSearch, session, model]);
204
- var inputBoxVal = coarseVisibleLocStrings || value || ''; // heuristic, text width + icon width
205
- // + 45 accomodates help icon and search icon
206
-
207
- var width = Math.min(Math.max((0, _util.measureText)(inputBoxVal, 16) + 45, minWidth), 550); // notes on implementation:
208
- // The selectOnFocus setting helps highlight the field when clicked
209
-
210
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Autocomplete.default, {
211
- id: "refNameAutocomplete-".concat(model.id),
212
- "data-testid": "autocomplete",
213
- disableListWrap: true,
214
- disableClearable: true,
215
- PopperComponent: MyPopper,
216
- disabled: !assemblyName,
217
- freeSolo: true,
218
- includeInputInList: true,
219
- selectOnFocus: true,
220
- style: _objectSpread(_objectSpread({}, style), {}, {
221
- width: width
222
- }),
223
- value: inputBoxVal,
224
- loading: !loaded,
225
- inputValue: inputValue,
226
- onInputChange: function onInputChange(event, newInputValue) {
227
- setInputValue(newInputValue);
228
- onChange === null || onChange === void 0 ? void 0 : onChange(newInputValue);
229
- },
230
- loadingText: "loading results",
231
- open: open,
232
- onOpen: function onOpen() {
233
- return setOpen(true);
234
- },
235
- onClose: function onClose() {
236
- setOpen(false);
237
- setLoaded(true);
238
-
239
- if (hasDisplayedRegions) {
240
- setCurrentSearch('');
241
- setSearchOptions(undefined);
242
- }
243
- },
244
- onChange: function onChange(_event, selectedOption) {
245
- if (!selectedOption || !assemblyName) {
246
- return;
247
- }
248
-
249
- if (typeof selectedOption === 'string') {
250
- // handles string inputs on keyPress enter
251
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(new _BaseResults.default({
252
- label: selectedOption
253
- }));
254
- } else {
255
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedOption.result);
256
- }
257
-
258
- setInputValue(inputBoxVal);
259
- },
260
- options: !(searchOptions !== null && searchOptions !== void 0 && searchOptions.length) ? options : searchOptions,
261
- getOptionDisabled: function getOptionDisabled(option) {
262
- return (option === null || option === void 0 ? void 0 : option.group) === 'limitOption';
263
- },
264
- filterOptions: function filterOptions(options, params) {
265
- var filtered = _filterOptions(options, params.inputValue.toLocaleLowerCase());
266
-
267
- return [].concat((0, _toConsumableArray2.default)(filtered.slice(0, 100)), (0, _toConsumableArray2.default)(filtered.length > 100 ? [{
268
- group: 'limitOption',
269
- result: new _BaseResults.default({
270
- label: 'keep typing for more results'
271
- })
272
- }] : []));
273
- },
274
- renderInput: function renderInput(params) {
275
- var helperText = TextFieldProps.helperText,
276
- _TextFieldProps$Input = TextFieldProps.InputProps,
277
- InputProps = _TextFieldProps$Input === void 0 ? {} : _TextFieldProps$Input;
278
- return /*#__PURE__*/_react.default.createElement(_core.TextField, (0, _extends2.default)({
279
- onBlur: function onBlur() {
280
- // this is used to restore a refName or the non-user-typed input
281
- // to the box on blurring
282
- setInputValue(inputBoxVal);
283
- }
284
- }, params, TextFieldProps, {
285
- helperText: helperText,
286
- InputProps: _objectSpread(_objectSpread(_objectSpread({}, params.InputProps), InputProps), {}, {
287
- endAdornment: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, regions.length === 0 ? /*#__PURE__*/_react.default.createElement(_core.CircularProgress, {
288
- color: "inherit",
289
- size: 20
290
- }) : /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
291
- position: "end",
292
- style: {
293
- marginRight: 7
294
- }
295
- }, /*#__PURE__*/_react.default.createElement(_Search.default, null), showHelp ? /*#__PURE__*/_react.default.createElement(_core.IconButton, {
296
- onClick: function onClick() {
297
- return setHelpDialogDisplayed(true);
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (_) try {
52
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
298
66
  }
299
- }, /*#__PURE__*/_react.default.createElement(_Help.default, null)) : null), params.InputProps.endAdornment)
300
- }),
301
- placeholder: "Search for location",
302
- onChange: function onChange(e) {
303
- setCurrentSearch(e.target.value);
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
72
+ var __read = (this && this.__read) || function (o, n) {
73
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
74
+ if (!m) return o;
75
+ var i = m.call(o), r, ar = [], e;
76
+ try {
77
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
78
+ }
79
+ catch (error) { e = { error: error }; }
80
+ finally {
81
+ try {
82
+ if (r && !r.done && (m = i["return"])) m.call(i);
304
83
  }
305
- }));
306
- },
307
- renderOption: function renderOption(option) {
308
- var result = option.result;
309
- var component = result.getRenderingComponent();
310
-
311
- if (component && /*#__PURE__*/_react.default.isValidElement(component)) {
312
- return component;
313
- }
314
-
315
- return /*#__PURE__*/_react.default.createElement(_core.Typography, {
316
- noWrap: true
317
- }, result.getDisplayString());
318
- },
319
- getOptionLabel: function getOptionLabel(option) {
320
- return (typeof option === 'string' ? option : option.result.getLabel()) || '';
84
+ finally { if (e) throw e.error; }
321
85
  }
322
- }), isHelpDialogDisplayed ? /*#__PURE__*/_react.default.createElement(_react.Suspense, {
323
- fallback: /*#__PURE__*/_react.default.createElement("div", null)
324
- }, /*#__PURE__*/_react.default.createElement(HelpDialog, {
325
- handleClose: function handleClose() {
326
- return setHelpDialogDisplayed(false);
86
+ return ar;
87
+ };
88
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
89
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
90
+ if (ar || !(i in from)) {
91
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
92
+ ar[i] = from[i];
93
+ }
327
94
  }
328
- })) : null);
95
+ return to.concat(ar || Array.prototype.slice.call(from));
96
+ };
97
+ var __importDefault = (this && this.__importDefault) || function (mod) {
98
+ return (mod && mod.__esModule) ? mod : { "default": mod };
99
+ };
100
+ Object.defineProperty(exports, "__esModule", { value: true });
101
+ var react_1 = __importStar(require("react"));
102
+ var mobx_react_1 = require("mobx-react");
103
+ var util_1 = require("@jbrowse/core/util");
104
+ var BaseResults_1 = __importStar(require("@jbrowse/core/TextSearch/BaseResults"));
105
+ var material_1 = require("@mui/material");
106
+ // icons
107
+ var Search_1 = __importDefault(require("@mui/icons-material/Search"));
108
+ var Help_1 = __importDefault(require("@mui/icons-material/Help"));
109
+ var util_2 = require("./util");
110
+ // lazy
111
+ var HelpDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./HelpDialog')); }); });
112
+ // the logic of this method is to only apply a filter to RefSequenceResults
113
+ // because they do not have a matchedObject. the trix search results already
114
+ // filter so don't need re-filtering
115
+ function filterOptions(options, searchQuery) {
116
+ return options.filter(function (option) {
117
+ var result = option.result;
118
+ return (result.getLabel().toLowerCase().includes(searchQuery) ||
119
+ result.matchedObject);
120
+ });
121
+ }
122
+ function RefNameAutocomplete(_a) {
123
+ var _this = this;
124
+ var model = _a.model, onSelect = _a.onSelect, assemblyName = _a.assemblyName, style = _a.style, fetchResults = _a.fetchResults, onChange = _a.onChange, value = _a.value, _b = _a.showHelp, showHelp = _b === void 0 ? true : _b, _c = _a.minWidth, minWidth = _c === void 0 ? 200 : _c, _d = _a.TextFieldProps, TextFieldProps = _d === void 0 ? {} : _d;
125
+ var session = (0, util_1.getSession)(model);
126
+ var assemblyManager = session.assemblyManager;
127
+ var _e = __read((0, react_1.useState)(false), 2), open = _e[0], setOpen = _e[1];
128
+ var _f = __read((0, react_1.useState)(true), 2), loaded = _f[0], setLoaded = _f[1];
129
+ var _g = __read((0, react_1.useState)(false), 2), isHelpDialogDisplayed = _g[0], setHelpDialogDisplayed = _g[1];
130
+ var _h = __read((0, react_1.useState)(''), 2), currentSearch = _h[0], setCurrentSearch = _h[1];
131
+ var _j = __read((0, react_1.useState)(''), 2), inputValue = _j[0], setInputValue = _j[1];
132
+ var _k = __read((0, react_1.useState)(), 2), searchOptions = _k[0], setSearchOptions = _k[1];
133
+ var debouncedSearch = (0, util_1.useDebounce)(currentSearch, 300);
134
+ var coarseVisibleLocStrings = model.coarseVisibleLocStrings, hasDisplayedRegions = model.hasDisplayedRegions;
135
+ var assembly = assemblyName ? assemblyManager.get(assemblyName) : undefined;
136
+ // eslint-disable-next-line react-hooks/exhaustive-deps
137
+ var regions = (assembly === null || assembly === void 0 ? void 0 : assembly.regions) || [];
138
+ var options = (0, react_1.useMemo)(function () {
139
+ return regions.map(function (option) { return ({
140
+ result: new BaseResults_1.RefSequenceResult({
141
+ refName: option.refName,
142
+ label: option.refName,
143
+ matchedAttribute: 'refName',
144
+ }),
145
+ }); });
146
+ }, [regions]);
147
+ (0, react_1.useEffect)(function () {
148
+ var active = true;
149
+ (function () { return __awaiter(_this, void 0, void 0, function () {
150
+ var results, e_1;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ _a.trys.push([0, 2, , 3]);
155
+ if (debouncedSearch === '' || !assemblyName) {
156
+ return [2 /*return*/];
157
+ }
158
+ setLoaded(false);
159
+ return [4 /*yield*/, fetchResults(debouncedSearch)];
160
+ case 1:
161
+ results = _a.sent();
162
+ if (active) {
163
+ setSearchOptions((0, util_2.dedupe)(results, function (r) { return r.getDisplayString(); }).map(function (result) { return ({
164
+ result: result,
165
+ }); }));
166
+ setLoaded(true);
167
+ }
168
+ return [3 /*break*/, 3];
169
+ case 2:
170
+ e_1 = _a.sent();
171
+ console.error(e_1);
172
+ if (active) {
173
+ session.notify("".concat(e_1), 'error');
174
+ }
175
+ return [3 /*break*/, 3];
176
+ case 3: return [2 /*return*/];
177
+ }
178
+ });
179
+ }); })();
180
+ return function () {
181
+ active = false;
182
+ };
183
+ }, [assemblyName, fetchResults, debouncedSearch, session, model]);
184
+ var inputBoxVal = coarseVisibleLocStrings || value || '';
185
+ // heuristic, text width + icon width
186
+ // + 45 accomodates help icon and search icon
187
+ var width = Math.min(Math.max((0, util_1.measureText)(inputBoxVal, 16) + 45, minWidth), 550);
188
+ // notes on implementation:
189
+ // The selectOnFocus setting helps highlight the field when clicked
190
+ return (react_1.default.createElement(react_1.default.Fragment, null,
191
+ react_1.default.createElement(material_1.Autocomplete, { id: "refNameAutocomplete-".concat(model.id), "data-testid": "autocomplete", disableListWrap: true, disableClearable: true, disabled: !assemblyName, freeSolo: true, includeInputInList: true, selectOnFocus: true, style: __assign(__assign({}, style), { width: width }), value: inputBoxVal, loading: !loaded, inputValue: inputValue, onInputChange: function (event, newInputValue) {
192
+ setInputValue(newInputValue);
193
+ onChange === null || onChange === void 0 ? void 0 : onChange(newInputValue);
194
+ }, loadingText: "loading results", open: open, onOpen: function () { return setOpen(true); }, onClose: function () {
195
+ setOpen(false);
196
+ setLoaded(true);
197
+ if (hasDisplayedRegions) {
198
+ setCurrentSearch('');
199
+ setSearchOptions(undefined);
200
+ }
201
+ }, onChange: function (_event, selectedOption) {
202
+ if (!selectedOption || !assemblyName) {
203
+ return;
204
+ }
205
+ if (typeof selectedOption === 'string') {
206
+ // handles string inputs on keyPress enter
207
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(new BaseResults_1.default({ label: selectedOption }));
208
+ }
209
+ else {
210
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedOption.result);
211
+ }
212
+ setInputValue(inputBoxVal);
213
+ }, options: !(searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.length) ? options : searchOptions, getOptionDisabled: function (option) { return (option === null || option === void 0 ? void 0 : option.group) === 'limitOption'; }, filterOptions: function (options, params) {
214
+ var filtered = filterOptions(options, params.inputValue.toLocaleLowerCase());
215
+ return __spreadArray(__spreadArray([], __read(filtered.slice(0, 100)), false), __read((filtered.length > 100
216
+ ? [
217
+ {
218
+ group: 'limitOption',
219
+ result: new BaseResults_1.default({
220
+ label: 'keep typing for more results',
221
+ }),
222
+ },
223
+ ]
224
+ : [])), false);
225
+ }, renderInput: function (params) {
226
+ var helperText = TextFieldProps.helperText, _a = TextFieldProps.InputProps, InputProps = _a === void 0 ? {} : _a;
227
+ return (react_1.default.createElement(material_1.TextField, __assign({ onBlur: function () {
228
+ // this is used to restore a refName or the non-user-typed input
229
+ // to the box on blurring
230
+ return setInputValue(inputBoxVal);
231
+ } }, params, TextFieldProps, { helperText: helperText, InputProps: __assign(__assign(__assign({}, params.InputProps), InputProps), { endAdornment: (react_1.default.createElement(react_1.default.Fragment, null,
232
+ regions.length === 0 ? (react_1.default.createElement(material_1.CircularProgress, { color: "inherit", size: 20 })) : (react_1.default.createElement(material_1.InputAdornment, { position: "end", style: { marginRight: 7 } },
233
+ react_1.default.createElement(Search_1.default, { fontSize: "small" }),
234
+ showHelp ? (react_1.default.createElement(material_1.IconButton, { onClick: function () { return setHelpDialogDisplayed(true); }, size: "small" },
235
+ react_1.default.createElement(Help_1.default, { fontSize: "small" }))) : null)),
236
+ params.InputProps.endAdornment)) }), placeholder: "Search for location", onChange: function (e) { return setCurrentSearch(e.target.value); } })));
237
+ }, getOptionLabel: function (option) {
238
+ return (typeof option === 'string'
239
+ ? option
240
+ : option.result.getDisplayString()) || '';
241
+ } }),
242
+ isHelpDialogDisplayed ? (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
243
+ react_1.default.createElement(HelpDialog, { handleClose: function () { return setHelpDialogDisplayed(false); } }))) : null));
329
244
  }
330
-
331
- var _default = (0, _mobxReact.observer)(RefNameAutocomplete);
332
-
333
- exports.default = _default;
245
+ exports.default = (0, mobx_react_1.observer)(RefNameAutocomplete);
246
+ //# sourceMappingURL=RefNameAutocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefNameAutocomplete.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/RefNameAutocomplete.tsx"],"names":[],"mappings":"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"}