@jbrowse/plugin-linear-genome-view 1.7.11 → 2.1.0

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 (272) 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 +146 -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 +19 -14
  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 +15 -13
  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 -14
  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.d.ts +1 -0
  48. package/dist/LinearGenomeView/components/Header.js +70 -125
  49. package/dist/LinearGenomeView/components/Header.js.map +1 -0
  50. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  51. package/dist/LinearGenomeView/components/HelpDialog.js +62 -44
  52. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
  53. package/dist/LinearGenomeView/components/ImportForm.d.ts +1 -0
  54. package/dist/LinearGenomeView/components/ImportForm.js +222 -289
  55. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
  56. package/dist/LinearGenomeView/components/LinearGenomeView.js +60 -124
  57. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  58. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
  59. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  60. package/dist/LinearGenomeView/components/MiniControls.js +64 -78
  61. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
  62. package/dist/LinearGenomeView/components/OverviewRubberBand.js +229 -293
  63. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  64. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +3 -3
  65. package/dist/LinearGenomeView/components/OverviewScaleBar.js +275 -370
  66. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  67. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
  68. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
  69. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  70. package/dist/LinearGenomeView/components/RubberBand.js +228 -296
  71. package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
  72. package/dist/LinearGenomeView/components/Ruler.js +45 -90
  73. package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
  74. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -403
  75. package/dist/LinearGenomeView/components/ScaleBar.js +121 -172
  76. package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
  77. package/dist/LinearGenomeView/components/SearchBox.js +155 -166
  78. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
  79. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
  80. package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -149
  81. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  82. package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
  83. package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  84. package/dist/LinearGenomeView/components/TrackContainer.d.ts +2 -1
  85. package/dist/LinearGenomeView/components/TrackContainer.js +113 -158
  86. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
  87. package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
  88. package/dist/LinearGenomeView/components/TrackLabel.js +113 -133
  89. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
  90. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  91. package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
  92. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
  93. package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
  94. package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
  95. package/dist/LinearGenomeView/components/util.js +94 -71
  96. package/dist/LinearGenomeView/components/util.js.map +1 -0
  97. package/dist/LinearGenomeView/index.d.ts +64 -77
  98. package/dist/LinearGenomeView/index.js +1035 -1412
  99. package/dist/LinearGenomeView/index.js.map +1 -0
  100. package/dist/LinearGenomeView/util.js +76 -83
  101. package/dist/LinearGenomeView/util.js.map +1 -0
  102. package/dist/index.d.ts +98 -48
  103. package/dist/index.js +225 -295
  104. package/dist/index.js.map +1 -0
  105. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
  106. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
  107. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  108. package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
  109. package/esm/BaseLinearDisplay/components/Block.js +46 -0
  110. package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
  111. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
  112. package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
  113. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  114. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
  115. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +114 -0
  116. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  117. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  118. package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
  119. package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  120. package/esm/BaseLinearDisplay/index.d.ts +5 -0
  121. package/esm/BaseLinearDisplay/index.js +4 -0
  122. package/esm/BaseLinearDisplay/index.js.map +1 -0
  123. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
  124. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
  125. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  126. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
  127. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
  128. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  129. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
  130. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
  131. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  132. package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
  133. package/esm/LinearBareDisplay/configSchema.js +9 -0
  134. package/esm/LinearBareDisplay/configSchema.js.map +1 -0
  135. package/esm/LinearBareDisplay/index.d.ts +2 -0
  136. package/esm/LinearBareDisplay/index.js +3 -0
  137. package/esm/LinearBareDisplay/index.js.map +1 -0
  138. package/esm/LinearBareDisplay/model.d.ts +194 -0
  139. package/esm/LinearBareDisplay/model.js +28 -0
  140. package/esm/LinearBareDisplay/model.js.map +1 -0
  141. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
  142. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
  143. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  144. package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
  145. package/esm/LinearBasicDisplay/configSchema.js +14 -0
  146. package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
  147. package/esm/LinearBasicDisplay/index.d.ts +2 -0
  148. package/esm/LinearBasicDisplay/index.js +3 -0
  149. package/esm/LinearBasicDisplay/index.js.map +1 -0
  150. package/esm/LinearBasicDisplay/model.d.ts +218 -0
  151. package/esm/LinearBasicDisplay/model.js +127 -0
  152. package/esm/LinearBasicDisplay/model.js.map +1 -0
  153. package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
  154. package/esm/LinearGenomeView/components/CenterLine.js +40 -0
  155. package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
  156. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
  157. package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
  158. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  159. package/esm/LinearGenomeView/components/Gridlines.d.ts +8 -0
  160. package/esm/LinearGenomeView/components/Gridlines.js +71 -0
  161. package/esm/LinearGenomeView/components/Gridlines.js.map +1 -0
  162. package/esm/LinearGenomeView/components/Header.d.ts +7 -0
  163. package/esm/LinearGenomeView/components/Header.js +81 -0
  164. package/esm/LinearGenomeView/components/Header.js.map +1 -0
  165. package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
  166. package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
  167. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
  168. package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
  169. package/esm/LinearGenomeView/components/ImportForm.js +141 -0
  170. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
  171. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
  172. package/esm/LinearGenomeView/components/LinearGenomeView.js +63 -0
  173. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  174. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
  175. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
  176. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  177. package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
  178. package/esm/LinearGenomeView/components/MiniControls.js +25 -0
  179. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
  180. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
  181. package/esm/LinearGenomeView/components/OverviewRubberBand.js +197 -0
  182. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  183. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
  184. package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
  185. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  186. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
  187. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
  188. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  189. package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
  190. package/esm/LinearGenomeView/components/RubberBand.js +197 -0
  191. package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
  192. package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
  193. package/esm/LinearGenomeView/components/Ruler.js +50 -0
  194. package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
  195. package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
  196. package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
  197. package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
  198. package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
  199. package/esm/LinearGenomeView/components/SearchBox.js +94 -0
  200. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
  201. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
  202. package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
  203. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  204. package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
  205. package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
  206. package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  207. package/esm/LinearGenomeView/components/TrackContainer.d.ts +10 -0
  208. package/esm/LinearGenomeView/components/TrackContainer.js +104 -0
  209. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
  210. package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
  211. package/esm/LinearGenomeView/components/TrackLabel.js +88 -0
  212. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
  213. package/{dist/LinearGenomeView/components/VerticalGuides.d.ts → esm/LinearGenomeView/components/TracksContainer.d.ts} +4 -3
  214. package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
  215. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
  216. package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
  217. package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
  218. package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
  219. package/esm/LinearGenomeView/components/util.d.ts +14 -0
  220. package/esm/LinearGenomeView/components/util.js +17 -0
  221. package/esm/LinearGenomeView/components/util.js.map +1 -0
  222. package/esm/LinearGenomeView/index.d.ts +275 -0
  223. package/esm/LinearGenomeView/index.js +978 -0
  224. package/esm/LinearGenomeView/index.js.map +1 -0
  225. package/esm/LinearGenomeView/util.d.ts +14 -0
  226. package/esm/LinearGenomeView/util.js +62 -0
  227. package/esm/LinearGenomeView/util.js.map +1 -0
  228. package/esm/index.d.ts +615 -0
  229. package/esm/index.js +127 -0
  230. package/esm/index.js.map +1 -0
  231. package/package.json +22 -15
  232. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +4 -4
  233. package/src/BaseLinearDisplay/components/Block.tsx +5 -5
  234. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
  235. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +9 -9
  236. package/src/BaseLinearDisplay/components/Tooltip.tsx +14 -4
  237. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +6 -4
  238. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  239. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
  240. package/src/LinearBasicDisplay/model.ts +19 -11
  241. package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
  242. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
  243. package/src/LinearGenomeView/components/{VerticalGuides.tsx → Gridlines.tsx} +9 -11
  244. package/src/LinearGenomeView/components/Header.tsx +10 -15
  245. package/src/LinearGenomeView/components/HelpDialog.tsx +5 -5
  246. package/src/LinearGenomeView/components/ImportForm.tsx +6 -12
  247. package/src/LinearGenomeView/components/LinearGenomeView.test.js +16 -6
  248. package/src/LinearGenomeView/components/LinearGenomeView.tsx +6 -9
  249. package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
  250. package/src/LinearGenomeView/components/OverviewRubberBand.tsx +20 -29
  251. package/src/LinearGenomeView/components/OverviewScaleBar.tsx +61 -59
  252. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
  253. package/src/LinearGenomeView/components/RubberBand.tsx +12 -18
  254. package/src/LinearGenomeView/components/Ruler.tsx +5 -11
  255. package/src/LinearGenomeView/components/ScaleBar.tsx +23 -27
  256. package/src/LinearGenomeView/components/SearchBox.tsx +4 -3
  257. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -6
  258. package/src/LinearGenomeView/components/SequenceDialog.tsx +10 -10
  259. package/src/LinearGenomeView/components/TrackContainer.tsx +29 -39
  260. package/src/LinearGenomeView/components/TrackLabel.tsx +76 -79
  261. package/src/LinearGenomeView/components/TracksContainer.tsx +10 -15
  262. package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
  263. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +500 -550
  264. package/src/LinearGenomeView/index.test.ts +15 -36
  265. package/src/LinearGenomeView/index.tsx +390 -564
  266. package/src/index.ts +1 -1
  267. package/dist/LinearBareDisplay/index.test.js +0 -33
  268. package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
  269. package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
  270. package/dist/LinearGenomeView/components/VerticalGuides.js +0 -116
  271. package/dist/LinearGenomeView/index.test.js +0 -1187
  272. package/dist/LinearGenomeView/util.test.js +0 -78
@@ -1,47 +1,65 @@
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 = HelpDialog;
9
- exports.useStyles = void 0;
10
-
11
- var _react = _interopRequireDefault(require("react"));
12
-
13
- var _core = require("@material-ui/core");
14
-
15
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
16
-
17
- var useStyles = (0, _core.makeStyles)(function (theme) {
18
- return {
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var material_1 = require("@mui/material");
8
+ var mui_1 = require("tss-react/mui");
9
+ var Close_1 = __importDefault(require("@mui/icons-material/Close"));
10
+ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
19
11
  closeButton: {
20
- position: 'absolute',
21
- right: theme.spacing(1),
22
- top: theme.spacing(1),
23
- color: theme.palette.grey[500]
24
- }
25
- };
26
- });
27
- exports.useStyles = useStyles;
28
-
29
- function HelpDialog(_ref) {
30
- var handleClose = _ref.handleClose;
31
- var classes = useStyles();
32
- return /*#__PURE__*/_react.default.createElement(_core.Dialog, {
33
- open: true,
34
- maxWidth: "xl",
35
- onClose: handleClose
36
- }, /*#__PURE__*/_react.default.createElement(_core.DialogTitle, null, "Using the search box", handleClose ? /*#__PURE__*/_react.default.createElement(_core.IconButton, {
37
- className: classes.closeButton,
38
- onClick: function onClick() {
39
- return handleClose();
40
- }
41
- }, /*#__PURE__*/_react.default.createElement(_Close.default, null)) : null), /*#__PURE__*/_react.default.createElement(_core.Divider, null), /*#__PURE__*/_react.default.createElement(_core.DialogContent, null, /*#__PURE__*/_react.default.createElement("h3", null, "Searching"), /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, "Jump to a feature or reference sequence by typing its name in the location box and pressing Enter."), /*#__PURE__*/_react.default.createElement("li", null, "Jump to a specific region by typing the region into the location box as: ", /*#__PURE__*/_react.default.createElement("code", null, "ref:start..end"), " or ", /*#__PURE__*/_react.default.createElement("code", null, "ref:start-end"), ". Commas are allowed in the start and end coordinates. A space-separated list of locstrings can be used to open up multiple chromosomes at a time")), /*#__PURE__*/_react.default.createElement("h3", null, "Example Searches"), /*#__PURE__*/_react.default.createElement("ul", null, /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "BRCA"), " - searches for the feature named BRCA"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr4"), " - jumps to chromosome 4"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr4:79,500,000..80,000,000"), " - jumps the region on chromosome 4 between 79.5Mb and 80Mb."), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr1:1-100 chr2:1-100"), " - create a split view of chr1:1-100 and chr2:1-100"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr1 chr2 chr3"), " - open up multiple chromosomes at once"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr1:1-100[rev] chr2:1-100"), " - open up the first region in the horizontally flipped orientation"), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("code", null, "chr1 100 200"), " - use whitespace separated refname, start, end"))), /*#__PURE__*/_react.default.createElement(_core.Divider, null), /*#__PURE__*/_react.default.createElement(_core.DialogActions, null, /*#__PURE__*/_react.default.createElement(_core.Button, {
42
- onClick: function onClick() {
43
- return handleClose();
12
+ position: 'absolute',
13
+ right: theme.spacing(1),
14
+ top: theme.spacing(1),
15
+ color: theme.palette.grey[500],
44
16
  },
45
- color: "primary"
46
- }, "Close")));
47
- }
17
+ }); });
18
+ function HelpDialog(_a) {
19
+ var handleClose = _a.handleClose;
20
+ var classes = useStyles().classes;
21
+ return (react_1.default.createElement(material_1.Dialog, { open: true, maxWidth: "xl", onClose: handleClose },
22
+ react_1.default.createElement(material_1.DialogTitle, null,
23
+ "Using the search box",
24
+ handleClose ? (react_1.default.createElement(material_1.IconButton, { className: classes.closeButton, onClick: function () { return handleClose(); } },
25
+ react_1.default.createElement(Close_1.default, null))) : null),
26
+ react_1.default.createElement(material_1.Divider, null),
27
+ react_1.default.createElement(material_1.DialogContent, null,
28
+ react_1.default.createElement("h3", null, "Searching"),
29
+ react_1.default.createElement("ul", null,
30
+ react_1.default.createElement("li", null, "Jump to a feature or reference sequence by typing its name in the location box and pressing Enter."),
31
+ react_1.default.createElement("li", null,
32
+ "Jump to a specific region by typing the region into the location box as: ",
33
+ react_1.default.createElement("code", null, "ref:start..end"),
34
+ " or ",
35
+ react_1.default.createElement("code", null, "ref:start-end"),
36
+ ". Commas are allowed in the start and end coordinates. A space-separated list of locstrings can be used to open up multiple chromosomes at a time")),
37
+ react_1.default.createElement("h3", null, "Example Searches"),
38
+ react_1.default.createElement("ul", null,
39
+ react_1.default.createElement("li", null,
40
+ react_1.default.createElement("code", null, "BRCA"),
41
+ " - searches for the feature named BRCA"),
42
+ react_1.default.createElement("li", null,
43
+ react_1.default.createElement("code", null, "chr4"),
44
+ " - jumps to chromosome 4"),
45
+ react_1.default.createElement("li", null,
46
+ react_1.default.createElement("code", null, "chr4:79,500,000..80,000,000"),
47
+ " - jumps the region on chromosome 4 between 79.5Mb and 80Mb."),
48
+ react_1.default.createElement("li", null,
49
+ react_1.default.createElement("code", null, "chr1:1-100 chr2:1-100"),
50
+ " - create a split view of chr1:1-100 and chr2:1-100"),
51
+ react_1.default.createElement("li", null,
52
+ react_1.default.createElement("code", null, "chr1 chr2 chr3"),
53
+ " - open up multiple chromosomes at once"),
54
+ react_1.default.createElement("li", null,
55
+ react_1.default.createElement("code", null, "chr1:1-100[rev] chr2:1-100"),
56
+ " - open up the first region in the horizontally flipped orientation"),
57
+ react_1.default.createElement("li", null,
58
+ react_1.default.createElement("code", null, "chr1 100 200"),
59
+ " - use whitespace separated refname, start, end"))),
60
+ react_1.default.createElement(material_1.Divider, null),
61
+ react_1.default.createElement(material_1.DialogActions, null,
62
+ react_1.default.createElement(material_1.Button, { onClick: function () { return handleClose(); }, color: "primary" }, "Close"))));
63
+ }
64
+ exports.default = HelpDialog;
65
+ //# sourceMappingURL=HelpDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpDialog.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/HelpDialog.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAyB;AACzB,0CAQsB;AACtB,qCAA0C;AAC1C,oEAAiD;AAEjD,IAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,UAAA,KAAK,IAAI,OAAA,CAAC;IACvC,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvB,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B;CACF,CAAC,EAPsC,CAOtC,CAAC,CAAA;AAEH,SAAwB,UAAU,CAAC,EAIlC;QAHC,WAAW,iBAAA;IAIH,IAAA,OAAO,GAAK,SAAS,EAAE,QAAhB,CAAgB;IAC/B,OAAO,CACL,8BAAC,iBAAM,IAAC,IAAI,QAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW;QAC7C,8BAAC,sBAAW;;YAET,WAAW,CAAC,CAAC,CAAC,CACb,8BAAC,qBAAU,IACT,SAAS,EAAE,OAAO,CAAC,WAAW,EAC9B,OAAO,EAAE,cAAM,OAAA,WAAW,EAAE,EAAb,CAAa;gBAE5B,8BAAC,eAAS,OAAG,CACF,CACd,CAAC,CAAC,CAAC,IAAI,CACI;QACd,8BAAC,kBAAO,OAAG;QACX,8BAAC,wBAAa;YACZ,sDAAkB;YAClB;gBACE,+IAGK;gBACL;;oBAEM,6DAA2B;;oBAAI,4DAA0B;wKAI1D,CACF;YACL,6DAAyB;YACzB;gBACE;oBACE,mDAAiB;6DACd;gBACL;oBACE,mDAAiB;+CACd;gBACL;oBACE,0EAAwC;mFAErC;gBACL;oBACE,oEAAkC;0EAE/B;gBACL;oBACE,6DAA2B;8DACxB;gBACL;oBACE,yEAAuC;0FAEpC;gBACL;oBACE,2DAAyB;sEAEtB,CACF,CACS;QAChB,8BAAC,kBAAO,OAAG;QACX,8BAAC,wBAAa;YACZ,8BAAC,iBAAM,IAAC,OAAO,EAAE,cAAM,OAAA,WAAW,EAAE,EAAb,CAAa,EAAE,KAAK,EAAC,SAAS,YAE5C,CACK,CACT,CACV,CAAA;AACH,CAAC;AAxED,6BAwEC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { LinearGenomeViewModel } from '..';
2
3
  declare type LGV = LinearGenomeViewModel;
3
4
  declare const ImportForm: ({ model }: {
@@ -1,300 +1,233 @@
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 _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _mobxReact = require("mobx-react");
21
-
22
- var _util = require("@jbrowse/core/util");
23
-
24
- var _core = require("@material-ui/core");
25
-
26
- var _ErrorMessage = _interopRequireDefault(require("@jbrowse/core/ui/ErrorMessage"));
27
-
28
- var _BaseResults = _interopRequireDefault(require("@jbrowse/core/TextSearch/BaseResults"));
29
-
30
- var _AssemblySelector = _interopRequireDefault(require("@jbrowse/core/ui/AssemblySelector"));
31
-
32
- var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
33
-
34
- var _RefNameAutocomplete = _interopRequireDefault(require("./RefNameAutocomplete"));
35
-
36
- var _util2 = require("./util");
37
-
38
- var _ = require("..");
39
-
40
- 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); }
41
-
42
- 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; }
43
-
44
- var SearchResultsDialog = /*#__PURE__*/(0, _react.lazy)(function () {
45
- return Promise.resolve().then(function () {
46
- return _interopRequireWildcard(require('./SearchResultsDialog'));
47
- });
48
- });
49
- var useStyles = (0, _core.makeStyles)(function (theme) {
50
- return {
51
- importFormContainer: {
52
- padding: theme.spacing(2)
53
- },
54
- button: {
55
- margin: theme.spacing(2)
56
- },
57
- container: {
58
- padding: theme.spacing(4)
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
59
7
  }
60
- };
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
61
17
  });
62
- var ImportForm = (0, _mobxReact.observer)(function (_ref) {
63
- var _regions$;
64
-
65
- var model = _ref.model;
66
- var classes = useStyles();
67
- var session = (0, _util.getSession)(model);
68
- var assemblyNames = session.assemblyNames,
69
- assemblyManager = session.assemblyManager,
70
- textSearchManager = session.textSearchManager;
71
- var rankSearchResults = model.rankSearchResults,
72
- isSearchDialogDisplayed = model.isSearchDialogDisplayed,
73
- error = model.error;
74
-
75
- var _useState = (0, _react.useState)(assemblyNames[0]),
76
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
77
- selectedAsm = _useState2[0],
78
- setSelectedAsm = _useState2[1];
79
-
80
- var _useState3 = (0, _react.useState)(error),
81
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
82
- importError = _useState4[0],
83
- setImportError = _useState4[1];
84
-
85
- var searchScope = model.searchScope(selectedAsm);
86
- var assembly = assemblyManager.get(selectedAsm);
87
- var assemblyError = assemblyNames.length ? assembly === null || assembly === void 0 ? void 0 : assembly.error : 'No configured assemblies';
88
- var regions = (assembly === null || assembly === void 0 ? void 0 : assembly.regions) || [];
89
- var err = assemblyError || importError;
90
-
91
- var _useState5 = (0, _react.useState)(''),
92
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
93
- myVal = _useState6[0],
94
- setValue = _useState6[1];
95
-
96
- var value = myVal || ((_regions$ = regions[0]) === null || _regions$ === void 0 ? void 0 : _regions$.refName); // use this instead of useState initializer because the useState initializer
97
- // won't update in response to an observable
98
-
99
- var option = new _BaseResults.default({
100
- label: value
101
- }); // gets a string as input, or use stored option results from previous query,
102
- // then re-query and
103
- // 1) if it has multiple results: pop a dialog
104
- // 2) if it's a single result navigate to it
105
- // 3) else assume it's a locstring and navigate to it
106
-
107
- function handleSelectedRegion(_x) {
108
- return _handleSelectedRegion.apply(this, arguments);
109
- }
110
-
111
- function _handleSelectedRegion() {
112
- _handleSelectedRegion = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(input) {
113
- var trackId, location, _location$split, _location$split2, ref, rest, allRefs, results;
114
-
115
- return _regenerator.default.wrap(function _callee$(_context) {
116
- while (1) {
117
- switch (_context.prev = _context.next) {
118
- case 0:
119
- if (option) {
120
- _context.next = 2;
121
- break;
122
- }
123
-
124
- return _context.abrupt("return");
125
-
126
- case 2:
127
- trackId = option.getTrackId();
128
- location = input || option.getLocation() || '';
129
- _location$split = location.split(':'), _location$split2 = (0, _slicedToArray2.default)(_location$split, 2), ref = _location$split2[0], rest = _location$split2[1];
130
- allRefs = (assembly === null || assembly === void 0 ? void 0 : assembly.allRefNames) || [];
131
- _context.prev = 6;
132
-
133
- if (!(allRefs.includes(location) || allRefs.includes(ref) && rest !== undefined && !Number.isNaN(parseInt(rest, 10)))) {
134
- _context.next = 11;
135
- break;
136
- }
137
-
138
- model.navToLocString(location, selectedAsm);
139
- _context.next = 22;
140
- break;
141
-
142
- case 11:
143
- _context.next = 13;
144
- return (0, _util2.fetchResults)({
145
- queryString: input,
146
- searchType: 'exact',
147
- searchScope: searchScope,
148
- rankSearchResults: rankSearchResults,
149
- textSearchManager: textSearchManager,
150
- assembly: assembly
151
- });
152
-
153
- case 13:
154
- results = _context.sent;
155
-
156
- if (!(results.length > 1)) {
157
- _context.next = 19;
158
- break;
159
- }
160
-
161
- model.setSearchResults(results, input.toLowerCase());
162
- return _context.abrupt("return");
163
-
164
- case 19:
165
- if (results.length === 1) {
166
- location = results[0].getLocation();
167
- trackId = results[0].getTrackId();
168
- }
169
-
170
- case 20:
171
- model.navToLocString(location, selectedAsm);
172
-
173
- if (trackId) {
174
- model.showTrack(trackId);
175
- }
176
-
177
- case 22:
178
- _context.next = 28;
179
- break;
180
-
181
- case 24:
182
- _context.prev = 24;
183
- _context.t0 = _context["catch"](6);
184
- console.error(_context.t0);
185
- session.notify("".concat(_context.t0), 'warning');
186
-
187
- case 28:
188
- case "end":
189
- return _context.stop();
190
- }
191
- }
192
- }, _callee, null, [[6, 24]]);
193
- }));
194
- return _handleSelectedRegion.apply(this, arguments);
195
- }
196
-
197
- var height = _.WIDGET_HEIGHT + 5; // implementation notes:
198
- // having this wrapped in a form allows intuitive use of enter key to submit
199
-
200
- return /*#__PURE__*/_react.default.createElement("div", {
201
- className: classes.container
202
- }, err ? /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, {
203
- error: err
204
- }) : null, /*#__PURE__*/_react.default.createElement(_core.Container, {
205
- className: classes.importFormContainer
206
- }, /*#__PURE__*/_react.default.createElement("form", {
207
- onSubmit: function onSubmit(event) {
208
- event.preventDefault();
209
- model.setError(undefined);
210
-
211
- if (value) {
212
- handleSelectedRegion(value);
213
- }
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
214
59
  }
215
- }, /*#__PURE__*/_react.default.createElement(_core.Grid, {
216
- container: true,
217
- spacing: 1,
218
- justifyContent: "center",
219
- alignItems: "center"
220
- }, /*#__PURE__*/_react.default.createElement(_core.Grid, {
221
- item: true
222
- }, /*#__PURE__*/_react.default.createElement(_AssemblySelector.default, {
223
- onChange: function onChange(val) {
224
- setImportError('');
225
- setSelectedAsm(val);
226
- },
227
- session: session,
228
- selected: selectedAsm,
229
- InputProps: {
230
- style: {
231
- height: height
232
- }
60
+ };
61
+ var __read = (this && this.__read) || function (o, n) {
62
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
63
+ if (!m) return o;
64
+ var i = m.call(o), r, ar = [], e;
65
+ try {
66
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
233
67
  }
234
- })), /*#__PURE__*/_react.default.createElement(_core.Grid, {
235
- item: true
236
- }, selectedAsm ? err ? /*#__PURE__*/_react.default.createElement(_Close.default, {
237
- style: {
238
- color: 'red'
68
+ catch (error) { e = { error: error }; }
69
+ finally {
70
+ try {
71
+ if (r && !r.done && (m = i["return"])) m.call(i);
72
+ }
73
+ finally { if (e) throw e.error; }
239
74
  }
240
- }) : value ? /*#__PURE__*/_react.default.createElement(_RefNameAutocomplete.default, {
241
- fetchResults: function fetchResults(queryString) {
242
- return (0, _util2.fetchResults)({
243
- queryString: queryString,
244
- assembly: assembly,
245
- textSearchManager: textSearchManager,
246
- rankSearchResults: rankSearchResults,
247
- searchScope: searchScope
248
- });
75
+ return ar;
76
+ };
77
+ var __importDefault = (this && this.__importDefault) || function (mod) {
78
+ return (mod && mod.__esModule) ? mod : { "default": mod };
79
+ };
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ var react_1 = __importStar(require("react"));
82
+ var mui_1 = require("tss-react/mui");
83
+ var mobx_react_1 = require("mobx-react");
84
+ var util_1 = require("@jbrowse/core/util");
85
+ var material_1 = require("@mui/material");
86
+ var ui_1 = require("@jbrowse/core/ui");
87
+ var BaseResults_1 = __importDefault(require("@jbrowse/core/TextSearch/BaseResults"));
88
+ var Close_1 = __importDefault(require("@mui/icons-material/Close"));
89
+ // locals
90
+ var RefNameAutocomplete_1 = __importDefault(require("./RefNameAutocomplete"));
91
+ var util_2 = require("./util");
92
+ var __1 = require("..");
93
+ var SearchResultsDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./SearchResultsDialog')); }); });
94
+ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
95
+ importFormContainer: {
96
+ padding: theme.spacing(2),
249
97
  },
250
- model: model,
251
- assemblyName: assemblyError ? undefined : selectedAsm,
252
- value: value // note: minWidth 270 accomodates full width of helperText
253
- ,
254
- minWidth: 270,
255
- onChange: function onChange(str) {
256
- return setValue(str);
98
+ button: {
99
+ margin: theme.spacing(2),
257
100
  },
258
- TextFieldProps: {
259
- variant: 'outlined',
260
- helperText: 'Enter sequence name, feature name, or location',
261
- style: {
262
- minWidth: '175px'
263
- },
264
- InputProps: {
265
- style: {
266
- height: height
267
- }
268
- }
269
- }
270
- }) : /*#__PURE__*/_react.default.createElement(_core.CircularProgress, {
271
- role: "progressbar",
272
- size: 20,
273
- disableShrink: true
274
- }) : null), /*#__PURE__*/_react.default.createElement(_core.Grid, {
275
- item: true
276
- }, /*#__PURE__*/_react.default.createElement(_core.Button, {
277
- type: "submit",
278
- disabled: !value,
279
- className: classes.button,
280
- variant: "contained",
281
- color: "primary"
282
- }, "Open"), /*#__PURE__*/_react.default.createElement(_core.Button, {
283
- disabled: !value,
284
- className: classes.button,
285
- onClick: function onClick() {
286
- model.setError(undefined);
287
- model.showAllRegionsInAssembly(selectedAsm);
101
+ container: {
102
+ padding: theme.spacing(4),
288
103
  },
289
- variant: "contained",
290
- color: "secondary"
291
- }, "Show all regions in assembly"))))), isSearchDialogDisplayed ? /*#__PURE__*/_react.default.createElement(SearchResultsDialog, {
292
- model: model,
293
- optAssemblyName: selectedAsm,
294
- handleClose: function handleClose() {
295
- return model.setSearchResults(undefined, undefined);
104
+ }); });
105
+ var ImportForm = (0, mobx_react_1.observer)(function (_a) {
106
+ var _b;
107
+ var model = _a.model;
108
+ var classes = useStyles().classes;
109
+ var session = (0, util_1.getSession)(model);
110
+ var assemblyNames = session.assemblyNames, assemblyManager = session.assemblyManager, textSearchManager = session.textSearchManager;
111
+ var rankSearchResults = model.rankSearchResults, isSearchDialogDisplayed = model.isSearchDialogDisplayed, error = model.error;
112
+ var _c = __read((0, react_1.useState)(assemblyNames[0]), 2), selectedAsm = _c[0], setSelectedAsm = _c[1];
113
+ var _d = __read((0, react_1.useState)(error), 2), importError = _d[0], setImportError = _d[1];
114
+ var searchScope = model.searchScope(selectedAsm);
115
+ var assembly = assemblyManager.get(selectedAsm);
116
+ var assemblyError = assemblyNames.length
117
+ ? assembly === null || assembly === void 0 ? void 0 : assembly.error
118
+ : 'No configured assemblies';
119
+ var regions = (assembly === null || assembly === void 0 ? void 0 : assembly.regions) || [];
120
+ var err = assemblyError || importError;
121
+ var _e = __read((0, react_1.useState)(''), 2), myVal = _e[0], setValue = _e[1];
122
+ var value = myVal || ((_b = regions[0]) === null || _b === void 0 ? void 0 : _b.refName);
123
+ // use this instead of useState initializer because the useState initializer
124
+ // won't update in response to an observable
125
+ var option = new BaseResults_1.default({
126
+ label: value,
127
+ });
128
+ // gets a string as input, or use stored option results from previous query,
129
+ // then re-query and
130
+ // 1) if it has multiple results: pop a dialog
131
+ // 2) if it's a single result navigate to it
132
+ // 3) else assume it's a locstring and navigate to it
133
+ function handleSelectedRegion(input) {
134
+ return __awaiter(this, void 0, void 0, function () {
135
+ var trackId, location, _a, ref, rest, allRefs, results, e_1;
136
+ return __generator(this, function (_b) {
137
+ switch (_b.label) {
138
+ case 0:
139
+ if (!option) {
140
+ return [2 /*return*/];
141
+ }
142
+ trackId = option.getTrackId();
143
+ location = input || option.getLocation() || '';
144
+ _a = __read(location.split(':'), 2), ref = _a[0], rest = _a[1];
145
+ allRefs = (assembly === null || assembly === void 0 ? void 0 : assembly.allRefNames) || [];
146
+ _b.label = 1;
147
+ case 1:
148
+ _b.trys.push([1, 5, , 6]);
149
+ if (!(allRefs.includes(location) ||
150
+ (allRefs.includes(ref) &&
151
+ rest !== undefined &&
152
+ !Number.isNaN(parseInt(rest, 10))))) return [3 /*break*/, 2];
153
+ model.navToLocString(location, selectedAsm);
154
+ return [3 /*break*/, 4];
155
+ case 2: return [4 /*yield*/, (0, util_2.fetchResults)({
156
+ queryString: input,
157
+ searchType: 'exact',
158
+ searchScope: searchScope,
159
+ rankSearchResults: rankSearchResults,
160
+ textSearchManager: textSearchManager,
161
+ assembly: assembly,
162
+ })];
163
+ case 3:
164
+ results = _b.sent();
165
+ if (results.length > 1) {
166
+ model.setSearchResults(results, input.toLowerCase());
167
+ return [2 /*return*/];
168
+ }
169
+ else if (results.length === 1) {
170
+ location = results[0].getLocation();
171
+ trackId = results[0].getTrackId();
172
+ }
173
+ model.navToLocString(location, selectedAsm);
174
+ if (trackId) {
175
+ model.showTrack(trackId);
176
+ }
177
+ _b.label = 4;
178
+ case 4: return [3 /*break*/, 6];
179
+ case 5:
180
+ e_1 = _b.sent();
181
+ console.error(e_1);
182
+ session.notify("".concat(e_1), 'warning');
183
+ return [3 /*break*/, 6];
184
+ case 6: return [2 /*return*/];
185
+ }
186
+ });
187
+ });
296
188
  }
297
- }) : null);
189
+ var height = __1.WIDGET_HEIGHT + 5;
190
+ // implementation notes:
191
+ // having this wrapped in a form allows intuitive use of enter key to submit
192
+ return (react_1.default.createElement("div", { className: classes.container },
193
+ err ? react_1.default.createElement(ui_1.ErrorMessage, { error: err }) : null,
194
+ react_1.default.createElement(material_1.Container, { className: classes.importFormContainer },
195
+ react_1.default.createElement("form", { onSubmit: function (event) {
196
+ event.preventDefault();
197
+ model.setError(undefined);
198
+ if (value) {
199
+ handleSelectedRegion(value);
200
+ }
201
+ } },
202
+ react_1.default.createElement(material_1.Grid, { container: true, spacing: 1, justifyContent: "center", alignItems: "center" },
203
+ react_1.default.createElement(material_1.Grid, { item: true },
204
+ react_1.default.createElement(ui_1.AssemblySelector, { onChange: function (val) {
205
+ setImportError('');
206
+ setSelectedAsm(val);
207
+ }, session: session, selected: selectedAsm, InputProps: { style: { height: height } } })),
208
+ react_1.default.createElement(material_1.Grid, { item: true }, selectedAsm ? (err ? (react_1.default.createElement(Close_1.default, { style: { color: 'red' } })) : value ? (react_1.default.createElement(RefNameAutocomplete_1.default, { fetchResults: function (queryString) {
209
+ return (0, util_2.fetchResults)({
210
+ queryString: queryString,
211
+ assembly: assembly,
212
+ textSearchManager: textSearchManager,
213
+ rankSearchResults: rankSearchResults,
214
+ searchScope: searchScope,
215
+ });
216
+ }, model: model, assemblyName: assemblyError ? undefined : selectedAsm, value: value,
217
+ // note: minWidth 270 accomodates full width of helperText
218
+ minWidth: 270, onChange: function (str) { return setValue(str); }, TextFieldProps: {
219
+ variant: 'outlined',
220
+ helperText: 'Enter sequence name, feature name, or location',
221
+ style: { minWidth: '175px' },
222
+ InputProps: { style: { height: height } },
223
+ } })) : (react_1.default.createElement(material_1.CircularProgress, { role: "progressbar", size: 20, disableShrink: true }))) : null),
224
+ react_1.default.createElement(material_1.Grid, { item: true },
225
+ react_1.default.createElement(material_1.Button, { type: "submit", disabled: !value, className: classes.button, variant: "contained", color: "primary" }, "Open"),
226
+ react_1.default.createElement(material_1.Button, { disabled: !value, className: classes.button, onClick: function () {
227
+ model.setError(undefined);
228
+ model.showAllRegionsInAssembly(selectedAsm);
229
+ }, variant: "contained", color: "secondary" }, "Show all regions in assembly"))))),
230
+ isSearchDialogDisplayed ? (react_1.default.createElement(SearchResultsDialog, { model: model, optAssemblyName: selectedAsm, handleClose: function () { return model.setSearchResults(undefined, undefined); } })) : null));
298
231
  });
299
- var _default = ImportForm;
300
- exports.default = _default;
232
+ exports.default = ImportForm;
233
+ //# sourceMappingURL=ImportForm.js.map