@jbrowse/plugin-data-management 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 (267) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +115 -162
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.js +33 -32
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +48 -64
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
  7. package/dist/AddConnectionWidget/index.js +10 -20
  8. package/dist/AddConnectionWidget/index.js.map +1 -0
  9. package/dist/AddConnectionWidget/model.js +7 -15
  10. package/dist/AddConnectionWidget/model.js.map +1 -0
  11. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  12. package/dist/AddTrackWidget/components/AddTrackWidget.js +51 -246
  13. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  14. package/dist/AddTrackWidget/components/ConfirmTrack.js +267 -385
  15. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  16. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  17. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +222 -0
  18. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  19. package/dist/AddTrackWidget/components/TrackSourceSelect.js +28 -55
  20. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  21. package/dist/AddTrackWidget/index.js +10 -20
  22. package/dist/AddTrackWidget/index.js.map +1 -0
  23. package/dist/AddTrackWidget/model.js +150 -174
  24. package/dist/AddTrackWidget/model.js.map +1 -0
  25. package/dist/AssemblyManager/AssemblyAddForm.js +162 -282
  26. package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -0
  27. package/dist/AssemblyManager/AssemblyEditor.js +12 -23
  28. package/dist/AssemblyManager/AssemblyEditor.js.map +1 -0
  29. package/dist/AssemblyManager/AssemblyManager.js +102 -132
  30. package/dist/AssemblyManager/AssemblyManager.js.map +1 -0
  31. package/dist/AssemblyManager/AssemblyTable.d.ts +1 -1
  32. package/dist/AssemblyManager/AssemblyTable.js +60 -84
  33. package/dist/AssemblyManager/AssemblyTable.js.map +1 -0
  34. package/dist/AssemblyManager/index.js +8 -14
  35. package/dist/AssemblyManager/index.js.map +1 -0
  36. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +49 -50
  37. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  38. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +28 -44
  39. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  40. package/dist/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  41. package/dist/HierarchicalTrackSelectorWidget/components/Header.js +209 -0
  42. package/dist/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  43. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -0
  44. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +217 -649
  45. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  46. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -74
  47. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  48. package/dist/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  49. package/dist/HierarchicalTrackSelectorWidget/components/Node.js +207 -0
  50. package/dist/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  51. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -91
  52. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  53. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  54. package/dist/HierarchicalTrackSelectorWidget/components/util.js +11 -0
  55. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  56. package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  57. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +6 -0
  58. package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  59. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
  60. package/dist/HierarchicalTrackSelectorWidget/index.js +10 -20
  61. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  62. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +13 -3
  63. package/dist/HierarchicalTrackSelectorWidget/model.js +250 -284
  64. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  65. package/dist/PluginStoreWidget/components/CustomPluginForm.js +140 -202
  66. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  67. package/dist/PluginStoreWidget/components/InstalledPlugin.js +112 -127
  68. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  69. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +22 -45
  70. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  71. package/dist/PluginStoreWidget/components/PluginCard.js +95 -110
  72. package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -0
  73. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +188 -227
  74. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  75. package/dist/PluginStoreWidget/index.d.ts +0 -1
  76. package/dist/PluginStoreWidget/index.js +10 -28
  77. package/dist/PluginStoreWidget/index.js.map +1 -0
  78. package/dist/PluginStoreWidget/model.js +21 -26
  79. package/dist/PluginStoreWidget/model.js.map +1 -0
  80. package/dist/SetDefaultSession/SetDefaultSession.js +34 -58
  81. package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -0
  82. package/dist/SetDefaultSession/index.js +8 -14
  83. package/dist/SetDefaultSession/index.js.map +1 -0
  84. package/dist/index.d.ts +4 -1
  85. package/dist/index.js +109 -147
  86. package/dist/index.js.map +1 -0
  87. package/dist/ucsc-trackhub/configSchema.js +18 -28
  88. package/dist/ucsc-trackhub/configSchema.js.map +1 -0
  89. package/dist/ucsc-trackhub/index.js +10 -22
  90. package/dist/ucsc-trackhub/index.js.map +1 -0
  91. package/dist/ucsc-trackhub/model.js +150 -128
  92. package/dist/ucsc-trackhub/model.js.map +1 -0
  93. package/dist/ucsc-trackhub/ucscAssemblies.js +3 -9
  94. package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  95. package/dist/ucsc-trackhub/ucscTrackHub.js +458 -491
  96. package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  97. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -0
  98. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +86 -0
  99. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
  100. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -0
  101. package/esm/AddConnectionWidget/components/ConfigureConnection.js +11 -0
  102. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
  103. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -0
  104. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +24 -0
  105. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
  106. package/esm/AddConnectionWidget/index.d.ts +2 -0
  107. package/esm/AddConnectionWidget/index.js +4 -0
  108. package/esm/AddConnectionWidget/index.js.map +1 -0
  109. package/esm/AddConnectionWidget/model.d.ts +5 -0
  110. package/esm/AddConnectionWidget/model.js +7 -0
  111. package/esm/AddConnectionWidget/model.js.map +1 -0
  112. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +7 -0
  113. package/esm/AddTrackWidget/components/AddTrackWidget.js +26 -0
  114. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  115. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +7 -0
  116. package/esm/AddTrackWidget/components/ConfirmTrack.js +246 -0
  117. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  118. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  119. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +134 -0
  120. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  121. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -0
  122. package/esm/AddTrackWidget/components/TrackSourceSelect.js +27 -0
  123. package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  124. package/esm/AddTrackWidget/index.d.ts +2 -0
  125. package/esm/AddTrackWidget/index.js +4 -0
  126. package/esm/AddTrackWidget/index.js.map +1 -0
  127. package/esm/AddTrackWidget/model.d.ts +51 -0
  128. package/esm/AddTrackWidget/model.js +154 -0
  129. package/esm/AddTrackWidget/model.js.map +1 -0
  130. package/esm/AssemblyManager/AssemblyAddForm.d.ts +6 -0
  131. package/esm/AssemblyManager/AssemblyAddForm.js +132 -0
  132. package/esm/AssemblyManager/AssemblyAddForm.js.map +1 -0
  133. package/esm/AssemblyManager/AssemblyEditor.d.ts +5 -0
  134. package/esm/AssemblyManager/AssemblyEditor.js +8 -0
  135. package/esm/AssemblyManager/AssemblyEditor.js.map +1 -0
  136. package/esm/AssemblyManager/AssemblyManager.d.ts +6 -0
  137. package/esm/AssemblyManager/AssemblyManager.js +69 -0
  138. package/esm/AssemblyManager/AssemblyManager.js.map +1 -0
  139. package/esm/AssemblyManager/AssemblyTable.d.ts +13 -0
  140. package/esm/AssemblyManager/AssemblyTable.js +62 -0
  141. package/esm/AssemblyManager/AssemblyTable.js.map +1 -0
  142. package/esm/AssemblyManager/index.d.ts +1 -0
  143. package/esm/AssemblyManager/index.js +2 -0
  144. package/esm/AssemblyManager/index.js.map +1 -0
  145. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +13 -0
  146. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +26 -0
  147. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  148. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -0
  149. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +24 -0
  150. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  151. package/esm/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  152. package/esm/HierarchicalTrackSelectorWidget/components/Header.js +149 -0
  153. package/esm/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  154. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +11 -0
  155. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +127 -0
  156. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  157. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +10 -0
  158. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -0
  159. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  160. package/esm/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  161. package/esm/HierarchicalTrackSelectorWidget/components/Node.js +149 -0
  162. package/esm/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  163. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +11 -0
  164. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -0
  165. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  166. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  167. package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -0
  168. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  169. package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  170. package/esm/HierarchicalTrackSelectorWidget/configSchema.js +4 -0
  171. package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  172. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +4 -0
  173. package/esm/HierarchicalTrackSelectorWidget/index.js +4 -0
  174. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  175. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +69 -0
  176. package/esm/HierarchicalTrackSelectorWidget/model.js +204 -0
  177. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  178. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -0
  179. package/esm/PluginStoreWidget/components/CustomPluginForm.js +109 -0
  180. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  181. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -0
  182. package/esm/PluginStoreWidget/components/InstalledPlugin.js +77 -0
  183. package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  184. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -0
  185. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +16 -0
  186. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  187. package/esm/PluginStoreWidget/components/PluginCard.d.ts +10 -0
  188. package/esm/PluginStoreWidget/components/PluginCard.js +61 -0
  189. package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -0
  190. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -0
  191. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +106 -0
  192. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  193. package/esm/PluginStoreWidget/index.d.ts +2 -0
  194. package/esm/PluginStoreWidget/index.js +4 -0
  195. package/esm/PluginStoreWidget/index.js.map +1 -0
  196. package/esm/PluginStoreWidget/model.d.ts +13 -0
  197. package/esm/PluginStoreWidget/model.js +20 -0
  198. package/esm/PluginStoreWidget/model.js.map +1 -0
  199. package/esm/SetDefaultSession/SetDefaultSession.d.ts +6 -0
  200. package/esm/SetDefaultSession/SetDefaultSession.js +34 -0
  201. package/esm/SetDefaultSession/SetDefaultSession.js.map +1 -0
  202. package/esm/SetDefaultSession/index.d.ts +1 -0
  203. package/esm/SetDefaultSession/index.js +2 -0
  204. package/esm/SetDefaultSession/index.js.map +1 -0
  205. package/esm/index.d.ts +30 -0
  206. package/esm/index.js +70 -0
  207. package/esm/index.js.map +1 -0
  208. package/esm/ucsc-trackhub/configSchema.d.ts +2 -0
  209. package/esm/ucsc-trackhub/configSchema.js +18 -0
  210. package/esm/ucsc-trackhub/configSchema.js.map +1 -0
  211. package/esm/ucsc-trackhub/index.d.ts +2 -0
  212. package/esm/ucsc-trackhub/index.js +3 -0
  213. package/esm/ucsc-trackhub/index.js.map +1 -0
  214. package/esm/ucsc-trackhub/model.d.ts +15 -0
  215. package/esm/ucsc-trackhub/model.js +82 -0
  216. package/esm/ucsc-trackhub/model.js.map +1 -0
  217. package/esm/ucsc-trackhub/ucscAssemblies.d.ts +2 -0
  218. package/esm/ucsc-trackhub/ucscAssemblies.js +201 -0
  219. package/esm/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  220. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +6 -0
  221. package/esm/ucsc-trackhub/ucscTrackHub.js +348 -0
  222. package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  223. package/package.json +21 -13
  224. package/src/AddConnectionWidget/components/AddConnectionWidget.js +14 -10
  225. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +2 -4
  226. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +63 -67
  227. package/src/AddTrackWidget/components/{AddTrackWidget.test.js → AddTrackWidget.test.tsx} +19 -34
  228. package/src/AddTrackWidget/components/AddTrackWidget.tsx +36 -200
  229. package/src/AddTrackWidget/components/ConfirmTrack.tsx +32 -32
  230. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +205 -0
  231. package/src/AddTrackWidget/components/TrackSourceSelect.tsx +9 -5
  232. package/src/AssemblyManager/AssemblyAddForm.tsx +5 -11
  233. package/src/AssemblyManager/AssemblyManager.tsx +8 -8
  234. package/src/AssemblyManager/AssemblyTable.tsx +10 -10
  235. package/src/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.tsx +1 -1
  236. package/src/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.tsx +1 -1
  237. package/src/HierarchicalTrackSelectorWidget/components/Header.tsx +287 -0
  238. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -1
  239. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +23 -440
  240. package/src/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.tsx +6 -6
  241. package/src/HierarchicalTrackSelectorWidget/components/Node.tsx +284 -0
  242. package/src/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.tsx +7 -7
  243. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +122 -115
  244. package/src/HierarchicalTrackSelectorWidget/components/util.ts +11 -0
  245. package/src/HierarchicalTrackSelectorWidget/configSchema.ts +3 -0
  246. package/src/HierarchicalTrackSelectorWidget/index.ts +4 -6
  247. package/src/HierarchicalTrackSelectorWidget/model.ts +45 -41
  248. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +11 -14
  249. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +9 -8
  250. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +1 -1
  251. package/src/PluginStoreWidget/components/PluginCard.tsx +10 -11
  252. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +9 -9
  253. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +267 -217
  254. package/src/PluginStoreWidget/index.js +0 -1
  255. package/src/SetDefaultSession/SetDefaultSession.tsx +1 -1
  256. package/src/index.ts +4 -1
  257. package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +0 -279
  258. package/dist/AddTrackWidget/components/AddTrackWidget.test.js +0 -218
  259. package/dist/AddTrackWidget/index.test.js +0 -292
  260. package/dist/AssemblyManager/AssemblyManager.test.js +0 -113
  261. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +0 -191
  262. package/dist/HierarchicalTrackSelectorWidget/model.test.js +0 -28
  263. package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +0 -201
  264. package/dist/PluginStoreWidget/model.test.js +0 -17
  265. package/dist/SetDefaultSession/SetDefaultSession.test.js +0 -75
  266. package/dist/index.test.js +0 -56
  267. package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +0 -350
@@ -0,0 +1,134 @@
1
+ import React, { useState } from 'react';
2
+ import { Alert, Button, Step, StepContent, StepLabel, Stepper, Typography, } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import { getSession, isElectron, supportedIndexingAdapters, } from '@jbrowse/core/util';
5
+ import { getConf } from '@jbrowse/core/configuration';
6
+ import { observer } from 'mobx-react';
7
+ import { getEnv } from 'mobx-state-tree';
8
+ // locals
9
+ import ConfirmTrack from './ConfirmTrack';
10
+ import TrackSourceSelect from './TrackSourceSelect';
11
+ const useStyles = makeStyles()(theme => ({
12
+ root: {
13
+ marginTop: theme.spacing(1),
14
+ },
15
+ stepper: {
16
+ backgroundColor: theme.palette.background.default,
17
+ },
18
+ button: {
19
+ marginTop: theme.spacing(1),
20
+ marginRight: theme.spacing(1),
21
+ },
22
+ actionsContainer: {
23
+ marginBottom: theme.spacing(2),
24
+ },
25
+ stepContent: {
26
+ margin: theme.spacing(1),
27
+ },
28
+ alertContainer: {
29
+ padding: `${theme.spacing(2)}px 0px ${theme.spacing(2)}px 0px`,
30
+ },
31
+ }));
32
+ const steps = ['Enter track data', 'Confirm track type'];
33
+ function AddTrackWorkflow({ model }) {
34
+ const [activeStep, setActiveStep] = useState(0);
35
+ const { classes } = useStyles();
36
+ const { pluginManager } = getEnv(model);
37
+ const { rootModel } = pluginManager;
38
+ const { jobsManager } = rootModel;
39
+ const session = getSession(model);
40
+ const { assembly, trackAdapter, trackData, trackName, trackType, textIndexTrack, textIndexingConf, } = model;
41
+ const [trackErrorMessage, setTrackErrorMessage] = useState();
42
+ function getStepContent(step) {
43
+ switch (step) {
44
+ case 0:
45
+ return React.createElement(TrackSourceSelect, { model: model });
46
+ case 1:
47
+ return React.createElement(ConfirmTrack, { model: model });
48
+ default:
49
+ return React.createElement(Typography, null, "Unknown step");
50
+ }
51
+ }
52
+ async function handleNext() {
53
+ if (activeStep !== steps.length - 1) {
54
+ setActiveStep(activeStep + 1);
55
+ return;
56
+ }
57
+ const trackId = [
58
+ `${trackName.toLowerCase().replace(/ /g, '_')}-${Date.now()}`,
59
+ `${session.adminMode ? '' : '-sessionTrack'}`,
60
+ ].join('');
61
+ const assemblyInstance = session.assemblyManager.get(assembly);
62
+ if (trackAdapter && trackAdapter.type !== 'UNKNOWN') {
63
+ session.addTrackConf({
64
+ trackId,
65
+ type: trackType,
66
+ name: trackName,
67
+ assemblyNames: [assembly],
68
+ adapter: {
69
+ ...trackAdapter,
70
+ sequenceAdapter: getConf(assemblyInstance, ['sequence', 'adapter']),
71
+ },
72
+ });
73
+ if (model.view) {
74
+ model.view.showTrack(trackId);
75
+ if (isElectron &&
76
+ textIndexTrack &&
77
+ supportedIndexingAdapters(trackAdapter.type)) {
78
+ const attr = textIndexingConf || {
79
+ attributes: ['Name', 'ID'],
80
+ exclude: ['CDS', 'exon'],
81
+ };
82
+ const indexName = trackName + '-index';
83
+ const newEntry = {
84
+ indexingParams: {
85
+ ...attr,
86
+ assemblies: [assembly],
87
+ tracks: [trackId],
88
+ indexType: 'perTrack',
89
+ name: indexName,
90
+ timestamp: new Date().toISOString(),
91
+ },
92
+ name: indexName,
93
+ cancelCallback: () => jobsManager.abortJob(),
94
+ };
95
+ jobsManager.queueJob(newEntry);
96
+ }
97
+ }
98
+ else {
99
+ session.notify('Open a new view, or use the track selector in an existing view, to view this track', 'info');
100
+ }
101
+ model.clearData();
102
+ session.hideWidget(model);
103
+ }
104
+ else {
105
+ setTrackErrorMessage('Failed to add track.\nThe configuration of this file is not currently supported.');
106
+ }
107
+ }
108
+ function handleBack() {
109
+ setTrackErrorMessage(undefined);
110
+ setActiveStep(activeStep - 1);
111
+ }
112
+ function isNextDisabled() {
113
+ switch (activeStep) {
114
+ case 0:
115
+ return !trackData;
116
+ case 1:
117
+ return !(trackName && trackType && (trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type) && assembly);
118
+ default:
119
+ return true;
120
+ }
121
+ }
122
+ return (React.createElement("div", { className: classes.root },
123
+ React.createElement(Stepper, { className: classes.stepper, activeStep: activeStep, orientation: "vertical" }, steps.map((label, idx) => (React.createElement(Step, { key: label },
124
+ React.createElement(StepLabel, null, label),
125
+ React.createElement(StepContent, null,
126
+ getStepContent(idx),
127
+ React.createElement("div", { className: classes.actionsContainer },
128
+ React.createElement(Button, { disabled: activeStep === 0, onClick: handleBack, className: classes.button }, "Back"),
129
+ React.createElement(Button, { disabled: isNextDisabled(), variant: "contained", color: "primary", onClick: handleNext, className: classes.button, "data-testid": "addTrackNextButton" }, activeStep === steps.length - 1 ? 'Add' : 'Next')),
130
+ trackErrorMessage ? (React.createElement("div", { className: classes.alertContainer },
131
+ React.createElement(Alert, { severity: "error" }, trackErrorMessage))) : null)))))));
132
+ }
133
+ export default observer(AddTrackWorkflow);
134
+ //# sourceMappingURL=DefaultAddTrackWorkflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultAddTrackWorkflow.js","sourceRoot":"","sources":["../../../src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EACL,UAAU,EACV,UAAU,EACV,yBAAyB,GAC1B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,SAAS;AACT,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAInD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE;QACJ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,EAAE;QACP,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;KAClD;IACD,MAAM,EAAE;QACN,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9B;IACD,gBAAgB,EAAE;QAChB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/B;IACD,WAAW,EAAE;QACX,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACzB;IACD,cAAc,EAAE;QACd,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;KAC/D;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,KAAK,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;AAExD,SAAS,gBAAgB,CAAC,EAAE,KAAK,EAA4B;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAA;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,GAAG,KAAK,CAAA;IACT,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAU,CAAA;IAEpE,SAAS,cAAc,CAAC,IAAY;QAClC,QAAQ,IAAI,EAAE;YACZ,KAAK,CAAC;gBACJ,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;YAC5C,KAAK,CAAC;gBACJ,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;YACvC;gBACE,OAAO,oBAAC,UAAU,uBAA0B,CAAA;SAC/C;IACH,CAAC;IAED,KAAK,UAAU,UAAU;QACvB,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;YAC7B,OAAM;SACP;QAED,MAAM,OAAO,GAAG;YACd,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;YAC7D,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;SAC9C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEV,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE;YACnD,OAAO,CAAC,YAAY,CAAC;gBACnB,OAAO;gBACP,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,OAAO,EAAE;oBACP,GAAG,YAAY;oBACf,eAAe,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBACpE;aACF,CAAC,CAAA;YACF,IAAI,KAAK,CAAC,IAAI,EAAE;gBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;gBAC7B,IACE,UAAU;oBACV,cAAc;oBACd,yBAAyB,CAAC,YAAY,CAAC,IAAI,CAAC,EAC5C;oBACA,MAAM,IAAI,GAAG,gBAAgB,IAAI;wBAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;wBAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBACzB,CAAA;oBACD,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;oBACtC,MAAM,QAAQ,GAAG;wBACf,cAAc,EAAE;4BACd,GAAG,IAAI;4BACP,UAAU,EAAE,CAAC,QAAQ,CAAC;4BACtB,MAAM,EAAE,CAAC,OAAO,CAAC;4BACjB,SAAS,EAAE,UAAU;4BACrB,IAAI,EAAE,SAAS;4BACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC;wBACD,IAAI,EAAE,SAAS;wBACf,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE;qBAC7C,CAAA;oBACD,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;iBAC/B;aACF;iBAAM;gBACL,OAAO,CAAC,MAAM,CACZ,oFAAoF,EACpF,MAAM,CACP,CAAA;aACF;YACD,KAAK,CAAC,SAAS,EAAE,CAAA;YACjB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;SAC1B;aAAM;YACL,oBAAoB,CAClB,kFAAkF,CACnF,CAAA;SACF;IACH,CAAC;IAED,SAAS,UAAU;QACjB,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAC/B,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,cAAc;QACrB,QAAQ,UAAU,EAAE;YAClB,KAAK,CAAC;gBACJ,OAAO,CAAC,SAAS,CAAA;YACnB,KAAK,CAAC;gBACJ,OAAO,CAAC,CAAC,SAAS,IAAI,SAAS,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAA,IAAI,QAAQ,CAAC,CAAA;YACpE;gBACE,OAAO,IAAI,CAAA;SACd;IACH,CAAC;IAED,OAAO,CACL,6BAAK,SAAS,EAAE,OAAO,CAAC,IAAI;QAC1B,oBAAC,OAAO,IACN,SAAS,EAAE,OAAO,CAAC,OAAO,EAC1B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAC,UAAU,IAErB,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACzB,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK;YACd,oBAAC,SAAS,QAAE,KAAK,CAAa;YAC9B,oBAAC,WAAW;gBACT,cAAc,CAAC,GAAG,CAAC;gBACpB,6BAAK,SAAS,EAAE,OAAO,CAAC,gBAAgB;oBACtC,oBAAC,MAAM,IACL,QAAQ,EAAE,UAAU,KAAK,CAAC,EAC1B,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO,CAAC,MAAM,WAGlB;oBACT,oBAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,OAAO,CAAC,MAAM,iBACb,oBAAoB,IAE/B,UAAU,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC1C,CACL;gBACL,iBAAiB,CAAC,CAAC,CAAC,CACnB,6BAAK,SAAS,EAAE,OAAO,CAAC,cAAc;oBACpC,oBAAC,KAAK,IAAC,QAAQ,EAAC,OAAO,IAAE,iBAAiB,CAAS,CAC/C,CACP,CAAC,CAAC,CAAC,IAAI,CACI,CACT,CACR,CAAC,CACM,CACN,CACP,CAAA;AACH,CAAC;AACD,eAAe,QAAQ,CAAC,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { AddTrackModel } from '../model';
3
+ declare function TrackSourceSelect({ model }: {
4
+ model: AddTrackModel;
5
+ }): JSX.Element;
6
+ declare const _default: typeof TrackSourceSelect;
7
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { FileSelector } from '@jbrowse/core/ui';
3
+ import { Paper } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import { getRoot } from 'mobx-state-tree';
6
+ import { observer } from 'mobx-react';
7
+ const useStyles = makeStyles()(theme => ({
8
+ paper: {
9
+ display: 'flex',
10
+ flexDirection: 'column',
11
+ padding: theme.spacing(1),
12
+ },
13
+ spacer: {
14
+ height: theme.spacing(8),
15
+ },
16
+ }));
17
+ function TrackSourceSelect({ model }) {
18
+ const { classes } = useStyles();
19
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
+ const rootModel = getRoot(model);
21
+ return (React.createElement(Paper, { className: classes.paper },
22
+ React.createElement(FileSelector, { name: "Main file", description: "", location: model.trackData, setLocation: model.setTrackData, setName: model.setTrackName, rootModel: rootModel }),
23
+ React.createElement("div", { className: classes.spacer }),
24
+ React.createElement(FileSelector, { name: "Index file", description: "(Optional) The URL of the index file is automatically inferred from the URL of the main file if it is not supplied.", location: model.indexTrackData, setLocation: model.setIndexTrackData, setName: model.setTrackName, rootModel: rootModel })));
25
+ }
26
+ export default observer(TrackSourceSelect);
27
+ //# sourceMappingURL=TrackSourceSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrackSourceSelect.js","sourceRoot":"","sources":["../../../src/AddTrackWidget/components/TrackSourceSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,KAAK,EAAE;QACL,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACzB;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAA4B;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,8DAA8D;IAC9D,MAAM,SAAS,GAAG,OAAO,CAAM,KAAK,CAAC,CAAA;IAErC,OAAO,CACL,oBAAC,KAAK,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK;QAC7B,oBAAC,YAAY,IACX,IAAI,EAAC,WAAW,EAChB,WAAW,EAAC,EAAE,EACd,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,EAAE,KAAK,CAAC,YAAY,EAC/B,OAAO,EAAE,KAAK,CAAC,YAAY,EAC3B,SAAS,EAAE,SAAS,GACpB;QACF,6BAAK,SAAS,EAAE,OAAO,CAAC,MAAM,GAAI;QAClC,oBAAC,YAAY,IACX,IAAI,EAAC,YAAY,EACjB,WAAW,EAAC,qHAAqH,EACjI,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,WAAW,EAAE,KAAK,CAAC,iBAAiB,EACpC,OAAO,EAAE,KAAK,CAAC,YAAY,EAC3B,SAAS,EAAE,SAAS,GACpB,CACI,CACT,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as stateModelFactory } from "./model";
2
+ export const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
@@ -0,0 +1,4 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ export { default as stateModelFactory } from './model';
3
+ export const configSchema = ConfigurationSchema('AddTrackWidget', {});
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AddTrackWidget/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ import { FileLocation } from '@jbrowse/core/util/types';
4
+ interface IndexingAttr {
5
+ attributes: string[];
6
+ exclude: string[];
7
+ }
8
+ export default function f(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
9
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
10
+ type: import("mobx-state-tree").ISimpleType<"AddTrackWidget">;
11
+ view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
12
+ }, {
13
+ trackSource: string;
14
+ trackData: FileLocation | undefined;
15
+ indexTrackData: FileLocation | undefined;
16
+ altAssemblyName: string;
17
+ altTrackName: string;
18
+ altTrackType: string;
19
+ adapterHint: string;
20
+ textIndexTrack: boolean;
21
+ textIndexingConf: IndexingAttr | undefined;
22
+ } & {
23
+ setAdapterHint(obj: string): void;
24
+ setTrackSource(str: string): void;
25
+ setTextIndexingConf(conf: IndexingAttr): void;
26
+ setTextIndexTrack(flag: boolean): void;
27
+ setTrackData(obj: FileLocation): void;
28
+ setIndexTrackData(obj: FileLocation): void;
29
+ setAssembly(str: string): void;
30
+ setTrackName(str: string): void;
31
+ setTrackType(str: string): void;
32
+ clearData(): void;
33
+ } & {
34
+ readonly trackAdapter: import("@jbrowse/core/util/tracks").AdapterConfig | undefined;
35
+ readonly trackName: string;
36
+ readonly isFtp: boolean;
37
+ readonly isRelativeTrackUrl: boolean;
38
+ readonly isRelativeIndexUrl: boolean;
39
+ readonly isRelativeUrl: boolean;
40
+ readonly trackHttp: any;
41
+ readonly indexHttp: any;
42
+ readonly wrongProtocol: any;
43
+ readonly unsupported: boolean;
44
+ readonly assembly: any;
45
+ readonly trackType: string;
46
+ } & {
47
+ readonly warningMessage: "" | "Warning: JBrowse cannot access files using the ftp protocol" | "Warning: one or more of your files do not provide the protocol e.g.\n https://, please provide an absolute URL unless you are sure a\n relative URL is intended." | "Warning: You entered a http:// resources but we cannot access HTTP\n resources from JBrowse when it is running on https. Please use an\n https URL for your track, or access the JBrowse app from the http\n protocol";
48
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
49
+ export declare type AddTrackStateModel = ReturnType<typeof f>;
50
+ export declare type AddTrackModel = Instance<AddTrackStateModel>;
51
+ export {};
@@ -0,0 +1,154 @@
1
+ import { types } from 'mobx-state-tree';
2
+ import { ElementId } from '@jbrowse/core/util/types/mst';
3
+ import { guessAdapter, guessTrackType, UNSUPPORTED, getFileName, } from '@jbrowse/core/util/tracks';
4
+ function isAbsoluteUrl(url = '') {
5
+ try {
6
+ new URL(url);
7
+ return true;
8
+ }
9
+ catch (error) {
10
+ return url.startsWith('/');
11
+ }
12
+ }
13
+ export default function f(pluginManager) {
14
+ return types
15
+ .model('AddTrackModel', {
16
+ id: ElementId,
17
+ type: types.literal('AddTrackWidget'),
18
+ view: types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
19
+ })
20
+ .volatile(() => ({
21
+ trackSource: 'fromFile',
22
+ trackData: undefined,
23
+ indexTrackData: undefined,
24
+ // alts
25
+ altAssemblyName: '',
26
+ altTrackName: '',
27
+ altTrackType: '',
28
+ adapterHint: '',
29
+ textIndexTrack: true,
30
+ textIndexingConf: undefined,
31
+ }))
32
+ .actions(self => ({
33
+ setAdapterHint(obj) {
34
+ self.adapterHint = obj;
35
+ },
36
+ setTrackSource(str) {
37
+ self.trackSource = str;
38
+ },
39
+ setTextIndexingConf(conf) {
40
+ self.textIndexingConf = conf;
41
+ },
42
+ setTextIndexTrack(flag) {
43
+ self.textIndexTrack = flag;
44
+ },
45
+ setTrackData(obj) {
46
+ self.trackData = obj;
47
+ },
48
+ setIndexTrackData(obj) {
49
+ self.indexTrackData = obj;
50
+ },
51
+ setAssembly(str) {
52
+ self.altAssemblyName = str;
53
+ },
54
+ setTrackName(str) {
55
+ self.altTrackName = str;
56
+ },
57
+ setTrackType(str) {
58
+ self.altTrackType = str;
59
+ },
60
+ clearData() {
61
+ self.trackSource = '';
62
+ self.altTrackName = '';
63
+ self.altTrackType = '';
64
+ self.altAssemblyName = '';
65
+ self.adapterHint = '';
66
+ self.indexTrackData = undefined;
67
+ self.trackData = undefined;
68
+ self.textIndexingConf = undefined;
69
+ self.textIndexTrack = true;
70
+ },
71
+ }))
72
+ .views(self => ({
73
+ get trackAdapter() {
74
+ const { trackData, indexTrackData, adapterHint } = self;
75
+ return trackData
76
+ ? guessAdapter(trackData, indexTrackData, adapterHint, self)
77
+ : undefined;
78
+ },
79
+ get trackName() {
80
+ return (self.altTrackName ||
81
+ (self.trackData ? getFileName(self.trackData) : ''));
82
+ },
83
+ get isFtp() {
84
+ var _a, _b;
85
+ const { trackData: track, indexTrackData: index } = self;
86
+ return !!(
87
+ // @ts-ignore
88
+ (((_a = index === null || index === void 0 ? void 0 : index.uri) === null || _a === void 0 ? void 0 : _a.startsWith('ftp://')) || ((_b = track === null || track === void 0 ? void 0 : track.uri) === null || _b === void 0 ? void 0 : _b.startsWith('ftp://'))));
89
+ },
90
+ get isRelativeTrackUrl() {
91
+ var _a;
92
+ // @ts-ignore
93
+ const uri = (_a = self.trackData) === null || _a === void 0 ? void 0 : _a.uri;
94
+ return uri ? !isAbsoluteUrl(uri) : false;
95
+ },
96
+ get isRelativeIndexUrl() {
97
+ var _a;
98
+ // @ts-ignore
99
+ const uri = (_a = self.indexTrackData) === null || _a === void 0 ? void 0 : _a.uri;
100
+ return uri ? !isAbsoluteUrl(uri) : false;
101
+ },
102
+ get isRelativeUrl() {
103
+ return this.isRelativeIndexUrl || this.isRelativeTrackUrl;
104
+ },
105
+ get trackHttp() {
106
+ var _a, _b;
107
+ // @ts-ignore
108
+ return (_b = (_a = self.trackData) === null || _a === void 0 ? void 0 : _a.uri) === null || _b === void 0 ? void 0 : _b.startsWith('http://');
109
+ },
110
+ get indexHttp() {
111
+ var _a, _b;
112
+ // @ts-ignore
113
+ return (_b = (_a = self.indexTrackData) === null || _a === void 0 ? void 0 : _a.uri) === null || _b === void 0 ? void 0 : _b.startsWith('http://');
114
+ },
115
+ get wrongProtocol() {
116
+ return (window.location.protocol === 'https:' &&
117
+ (this.trackHttp || this.indexHttp));
118
+ },
119
+ get unsupported() {
120
+ var _a;
121
+ return ((_a = this.trackAdapter) === null || _a === void 0 ? void 0 : _a.type) === UNSUPPORTED;
122
+ },
123
+ get assembly() {
124
+ var _a;
125
+ return self.altAssemblyName || ((_a = self.view.assemblyNames) === null || _a === void 0 ? void 0 : _a[0]);
126
+ },
127
+ get trackType() {
128
+ return (self.altTrackType ||
129
+ (this.trackAdapter
130
+ ? guessTrackType(this.trackAdapter.type, self)
131
+ : ''));
132
+ },
133
+ }))
134
+ .views(self => ({
135
+ get warningMessage() {
136
+ if (self.isFtp) {
137
+ return `Warning: JBrowse cannot access files using the ftp protocol`;
138
+ }
139
+ else if (self.isRelativeUrl) {
140
+ return `Warning: one or more of your files do not provide the protocol e.g.
141
+ https://, please provide an absolute URL unless you are sure a
142
+ relative URL is intended.`;
143
+ }
144
+ else if (self.wrongProtocol) {
145
+ return `Warning: You entered a http:// resources but we cannot access HTTP
146
+ resources from JBrowse when it is running on https. Please use an
147
+ https URL for your track, or access the JBrowse app from the http
148
+ protocol`;
149
+ }
150
+ return '';
151
+ },
152
+ }));
153
+ }
154
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/AddTrackWidget/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare const AssemblyAddForm: ({ rootModel, setFormOpen, }: {
3
+ rootModel: any;
4
+ setFormOpen: Function;
5
+ }) => JSX.Element;
6
+ export default AssemblyAddForm;
@@ -0,0 +1,132 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import FileSelector from '@jbrowse/core/ui/FileSelector';
4
+ import { Button, Grid, MenuItem, Paper, TextField } from '@mui/material';
5
+ import { makeStyles } from 'tss-react/mui';
6
+ import AddIcon from '@mui/icons-material/Add';
7
+ const useStyles = makeStyles()(theme => ({
8
+ root: {
9
+ flexGrow: 1,
10
+ overflow: 'hidden',
11
+ padding: theme.spacing(0, 3),
12
+ },
13
+ paper: {
14
+ margin: `${theme.spacing(1)}px auto`,
15
+ padding: theme.spacing(2),
16
+ },
17
+ createButton: {
18
+ marginTop: '1em',
19
+ justifyContent: 'center',
20
+ },
21
+ paperContent: {
22
+ flex: 'auto',
23
+ margin: `${theme.spacing(1)}px auto`,
24
+ padding: theme.spacing(1),
25
+ overflow: 'auto',
26
+ },
27
+ }));
28
+ const AdapterSelector = observer(({ adapterSelection, setAdapterSelection, adapterTypes, }) => {
29
+ return (React.createElement(TextField, { value: adapterSelection, label: "Type", select: true, helperText: "Type of adapter to use", fullWidth: true, onChange: event => {
30
+ setAdapterSelection(event.target.value);
31
+ } }, adapterTypes.map(str => (React.createElement(MenuItem, { key: str, value: str }, str)))));
32
+ });
33
+ const AdapterInput = observer(({ adapterSelection, fastaLocation, setFastaLocation, faiLocation, setFaiLocation, gziLocation, setGziLocation, twoBitLocation, setTwoBitLocation, chromSizesLocation, setChromSizesLocation, }) => {
34
+ if (adapterSelection === 'IndexedFastaAdapter' ||
35
+ adapterSelection === 'BgzipFastaAdapter') {
36
+ return (React.createElement(Grid, { container: true, spacing: 2 },
37
+ React.createElement(Grid, { item: true },
38
+ React.createElement(FileSelector, { name: "fastaLocation", location: fastaLocation, setLocation: loc => setFastaLocation(loc) })),
39
+ React.createElement(Grid, { item: true },
40
+ React.createElement(FileSelector, { name: "faiLocation", location: faiLocation, setLocation: loc => setFaiLocation(loc) })),
41
+ adapterSelection === 'BgzipFastaAdapter' ? (React.createElement(Grid, { item: true },
42
+ React.createElement(FileSelector, { name: "gziLocation", location: gziLocation, setLocation: loc => setGziLocation(loc) }))) : null));
43
+ }
44
+ if (adapterSelection === 'TwoBitAdapter') {
45
+ return (React.createElement(Grid, { container: true, spacing: 2 },
46
+ React.createElement(Grid, { item: true },
47
+ React.createElement(FileSelector, { name: "twoBitLocation", location: twoBitLocation, setLocation: loc => setTwoBitLocation(loc) })),
48
+ React.createElement(Grid, { item: true },
49
+ React.createElement(FileSelector, { name: "chromSizesLocation (optional, can be added to speed up loading 2bit files with many contigs)", location: chromSizesLocation, setLocation: loc => setChromSizesLocation(loc) }))));
50
+ }
51
+ return null;
52
+ });
53
+ const blank = { uri: '' };
54
+ const AssemblyAddForm = observer(({ rootModel, setFormOpen, }) => {
55
+ const { classes } = useStyles();
56
+ const adapterTypes = [
57
+ 'IndexedFastaAdapter',
58
+ 'BgzipFastaAdapter',
59
+ 'TwoBitAdapter',
60
+ ];
61
+ const [assemblyName, setAssemblyName] = useState('');
62
+ const [assemblyDisplayName, setAssemblyDisplayName] = useState('');
63
+ const [adapterSelection, setAdapterSelection] = useState(adapterTypes[0]);
64
+ const [fastaLocation, setFastaLocation] = useState(blank);
65
+ const [faiLocation, setFaiLocation] = useState(blank);
66
+ const [gziLocation, setGziLocation] = useState(blank);
67
+ const [twoBitLocation, setTwoBitLocation] = useState(blank);
68
+ const [chromSizesLocation, setChromSizesLocation] = useState(blank);
69
+ function createAssembly() {
70
+ if (assemblyName === '') {
71
+ rootModel.session.notify("Can't create an assembly without a name");
72
+ }
73
+ else {
74
+ setFormOpen(false);
75
+ let newAssembly;
76
+ if (adapterSelection === 'IndexedFastaAdapter') {
77
+ newAssembly = {
78
+ name: assemblyName,
79
+ displayName: assemblyDisplayName,
80
+ sequence: {
81
+ adapter: {
82
+ type: 'IndexedFastaAdapter',
83
+ fastaLocation,
84
+ faiLocation,
85
+ },
86
+ },
87
+ };
88
+ }
89
+ else if (adapterSelection === 'BgzipFastaAdapter') {
90
+ newAssembly = {
91
+ name: assemblyName,
92
+ displayName: assemblyDisplayName,
93
+ sequence: {
94
+ adapter: {
95
+ type: 'BgzipFastaAdapter',
96
+ fastaLocation,
97
+ faiLocation,
98
+ gziLocation,
99
+ },
100
+ },
101
+ };
102
+ }
103
+ else if (adapterSelection === 'TwoBitAdapter') {
104
+ newAssembly = {
105
+ name: assemblyName,
106
+ displayName: assemblyDisplayName,
107
+ sequence: {
108
+ adapter: {
109
+ type: 'TwoBitAdapter',
110
+ twoBitLocation,
111
+ chromSizesLocation,
112
+ },
113
+ },
114
+ };
115
+ }
116
+ rootModel.jbrowse.addAssemblyConf(newAssembly);
117
+ rootModel.session.notify(`Successfully added ${assemblyName} assembly to JBrowse 2`, 'success');
118
+ }
119
+ }
120
+ return (React.createElement("div", { className: classes.root },
121
+ React.createElement(Paper, { className: classes.paper },
122
+ React.createElement(TextField, { id: "assembly-name", inputProps: { 'data-testid': 'assembly-name' }, label: "Assembly name", helperText: "The assembly name e.g. hg38", variant: "outlined", value: assemblyName, onChange: event => setAssemblyName(event.target.value) }),
123
+ React.createElement(TextField, { id: "assembly-name", inputProps: { 'data-testid': 'assembly-display-name' }, label: "Assembly display name", helperText: 'A human readable display name for the assembly e.g. "Homo sapiens (hg38)"', variant: "outlined", value: assemblyDisplayName, onChange: event => setAssemblyDisplayName(event.target.value) }),
124
+ React.createElement(AdapterSelector, { adapterSelection: adapterSelection, setAdapterSelection: setAdapterSelection, adapterTypes: adapterTypes }),
125
+ React.createElement("div", { className: classes.paperContent },
126
+ React.createElement(AdapterInput, { adapterSelection: adapterSelection, fastaLocation: fastaLocation, setFastaLocation: setFastaLocation, faiLocation: faiLocation, setFaiLocation: setFaiLocation, gziLocation: gziLocation, setGziLocation: setGziLocation, twoBitLocation: twoBitLocation, setTwoBitLocation: setTwoBitLocation, chromSizesLocation: chromSizesLocation, setChromSizesLocation: setChromSizesLocation }))),
127
+ React.createElement(Grid, { container: true, className: classes.createButton },
128
+ React.createElement(Grid, { item: true },
129
+ React.createElement(Button, { variant: "contained", color: "secondary", startIcon: React.createElement(AddIcon, null), onClick: createAssembly }, "Create new assembly")))));
130
+ });
131
+ export default AssemblyAddForm;
132
+ //# sourceMappingURL=AssemblyAddForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssemblyAddForm.js","sourceRoot":"","sources":["../../src/AssemblyManager/AssemblyAddForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ declare const AssemblyEditor: ({ assembly, }: {
3
+ assembly: any;
4
+ }) => JSX.Element;
5
+ export default AssemblyEditor;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { ConfigurationEditor } from '@jbrowse/plugin-config';
4
+ const AssemblyEditor = observer(({ assembly, }) => {
5
+ return React.createElement(ConfigurationEditor, { model: { target: assembly } });
6
+ });
7
+ export default AssemblyEditor;
8
+ //# sourceMappingURL=AssemblyEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssemblyEditor.js","sourceRoot":"","sources":["../../src/AssemblyManager/AssemblyEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,cAAc,GAAG,QAAQ,CAC7B,CAAC,EACC,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO,oBAAC,mBAAmB,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAI,CAAA;AAC7D,CAAC,CACF,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare const AssemblyManager: ({ rootModel, onClose, }: {
3
+ rootModel: any;
4
+ onClose: (arg: boolean) => void;
5
+ }) => JSX.Element;
6
+ export default AssemblyManager;