@jbrowse/plugin-data-management 1.7.11 → 2.0.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 (226) 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.js +206 -230
  12. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  13. package/dist/AddTrackWidget/components/ConfirmTrack.js +268 -385
  14. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  15. package/dist/AddTrackWidget/components/TrackSourceSelect.js +28 -55
  16. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  17. package/dist/AddTrackWidget/index.js +10 -20
  18. package/dist/AddTrackWidget/index.js.map +1 -0
  19. package/dist/AddTrackWidget/model.js +150 -174
  20. package/dist/AddTrackWidget/model.js.map +1 -0
  21. package/dist/AssemblyManager/AssemblyAddForm.js +162 -282
  22. package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -0
  23. package/dist/AssemblyManager/AssemblyEditor.js +12 -23
  24. package/dist/AssemblyManager/AssemblyEditor.js.map +1 -0
  25. package/dist/AssemblyManager/AssemblyManager.js +102 -132
  26. package/dist/AssemblyManager/AssemblyManager.js.map +1 -0
  27. package/dist/AssemblyManager/AssemblyTable.d.ts +1 -1
  28. package/dist/AssemblyManager/AssemblyTable.js +60 -84
  29. package/dist/AssemblyManager/AssemblyTable.js.map +1 -0
  30. package/dist/AssemblyManager/index.js +8 -14
  31. package/dist/AssemblyManager/index.js.map +1 -0
  32. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +49 -50
  33. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  34. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +28 -44
  35. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  36. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -0
  37. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +416 -639
  38. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  39. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -74
  40. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  41. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -91
  42. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  43. package/dist/HierarchicalTrackSelectorWidget/index.js +10 -20
  44. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  45. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +3 -1
  46. package/dist/HierarchicalTrackSelectorWidget/model.js +247 -285
  47. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  48. package/dist/PluginStoreWidget/components/CustomPluginForm.js +140 -202
  49. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  50. package/dist/PluginStoreWidget/components/InstalledPlugin.js +112 -127
  51. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  52. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +22 -45
  53. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  54. package/dist/PluginStoreWidget/components/PluginCard.js +95 -110
  55. package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -0
  56. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +188 -227
  57. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  58. package/dist/PluginStoreWidget/index.d.ts +0 -1
  59. package/dist/PluginStoreWidget/index.js +10 -28
  60. package/dist/PluginStoreWidget/index.js.map +1 -0
  61. package/dist/PluginStoreWidget/model.js +21 -26
  62. package/dist/PluginStoreWidget/model.js.map +1 -0
  63. package/dist/SetDefaultSession/SetDefaultSession.js +34 -58
  64. package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -0
  65. package/dist/SetDefaultSession/index.js +8 -14
  66. package/dist/SetDefaultSession/index.js.map +1 -0
  67. package/dist/index.js +109 -147
  68. package/dist/index.js.map +1 -0
  69. package/dist/ucsc-trackhub/configSchema.js +18 -28
  70. package/dist/ucsc-trackhub/configSchema.js.map +1 -0
  71. package/dist/ucsc-trackhub/index.js +10 -22
  72. package/dist/ucsc-trackhub/index.js.map +1 -0
  73. package/dist/ucsc-trackhub/model.js +150 -128
  74. package/dist/ucsc-trackhub/model.js.map +1 -0
  75. package/dist/ucsc-trackhub/ucscAssemblies.js +3 -9
  76. package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  77. package/dist/ucsc-trackhub/ucscTrackHub.js +458 -491
  78. package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  79. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -0
  80. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +86 -0
  81. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
  82. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -0
  83. package/esm/AddConnectionWidget/components/ConfigureConnection.js +11 -0
  84. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
  85. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -0
  86. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +24 -0
  87. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
  88. package/esm/AddConnectionWidget/index.d.ts +2 -0
  89. package/esm/AddConnectionWidget/index.js +4 -0
  90. package/esm/AddConnectionWidget/index.js.map +1 -0
  91. package/esm/AddConnectionWidget/model.d.ts +5 -0
  92. package/esm/AddConnectionWidget/model.js +7 -0
  93. package/esm/AddConnectionWidget/model.js.map +1 -0
  94. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +7 -0
  95. package/esm/AddTrackWidget/components/AddTrackWidget.js +139 -0
  96. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  97. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +7 -0
  98. package/esm/AddTrackWidget/components/ConfirmTrack.js +247 -0
  99. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  100. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -0
  101. package/esm/AddTrackWidget/components/TrackSourceSelect.js +27 -0
  102. package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  103. package/esm/AddTrackWidget/index.d.ts +2 -0
  104. package/esm/AddTrackWidget/index.js +4 -0
  105. package/esm/AddTrackWidget/index.js.map +1 -0
  106. package/esm/AddTrackWidget/model.d.ts +51 -0
  107. package/esm/AddTrackWidget/model.js +154 -0
  108. package/esm/AddTrackWidget/model.js.map +1 -0
  109. package/esm/AssemblyManager/AssemblyAddForm.d.ts +6 -0
  110. package/esm/AssemblyManager/AssemblyAddForm.js +132 -0
  111. package/esm/AssemblyManager/AssemblyAddForm.js.map +1 -0
  112. package/esm/AssemblyManager/AssemblyEditor.d.ts +5 -0
  113. package/esm/AssemblyManager/AssemblyEditor.js +8 -0
  114. package/esm/AssemblyManager/AssemblyEditor.js.map +1 -0
  115. package/esm/AssemblyManager/AssemblyManager.d.ts +6 -0
  116. package/esm/AssemblyManager/AssemblyManager.js +69 -0
  117. package/esm/AssemblyManager/AssemblyManager.js.map +1 -0
  118. package/esm/AssemblyManager/AssemblyTable.d.ts +13 -0
  119. package/esm/AssemblyManager/AssemblyTable.js +62 -0
  120. package/esm/AssemblyManager/AssemblyTable.js.map +1 -0
  121. package/esm/AssemblyManager/index.d.ts +1 -0
  122. package/esm/AssemblyManager/index.js +2 -0
  123. package/esm/AssemblyManager/index.js.map +1 -0
  124. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +13 -0
  125. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +26 -0
  126. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  127. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -0
  128. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +24 -0
  129. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  130. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +11 -0
  131. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +326 -0
  132. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  133. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +10 -0
  134. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -0
  135. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  136. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +11 -0
  137. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -0
  138. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  139. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -0
  140. package/esm/HierarchicalTrackSelectorWidget/index.js +4 -0
  141. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  142. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +61 -0
  143. package/esm/HierarchicalTrackSelectorWidget/model.js +200 -0
  144. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  145. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -0
  146. package/esm/PluginStoreWidget/components/CustomPluginForm.js +109 -0
  147. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  148. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -0
  149. package/esm/PluginStoreWidget/components/InstalledPlugin.js +77 -0
  150. package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  151. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -0
  152. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +16 -0
  153. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  154. package/esm/PluginStoreWidget/components/PluginCard.d.ts +10 -0
  155. package/esm/PluginStoreWidget/components/PluginCard.js +61 -0
  156. package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -0
  157. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -0
  158. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +106 -0
  159. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  160. package/esm/PluginStoreWidget/index.d.ts +2 -0
  161. package/esm/PluginStoreWidget/index.js +4 -0
  162. package/esm/PluginStoreWidget/index.js.map +1 -0
  163. package/esm/PluginStoreWidget/model.d.ts +13 -0
  164. package/esm/PluginStoreWidget/model.js +20 -0
  165. package/esm/PluginStoreWidget/model.js.map +1 -0
  166. package/esm/SetDefaultSession/SetDefaultSession.d.ts +6 -0
  167. package/esm/SetDefaultSession/SetDefaultSession.js +34 -0
  168. package/esm/SetDefaultSession/SetDefaultSession.js.map +1 -0
  169. package/esm/SetDefaultSession/index.d.ts +1 -0
  170. package/esm/SetDefaultSession/index.js +2 -0
  171. package/esm/SetDefaultSession/index.js.map +1 -0
  172. package/esm/index.d.ts +27 -0
  173. package/esm/index.js +70 -0
  174. package/esm/index.js.map +1 -0
  175. package/esm/ucsc-trackhub/configSchema.d.ts +2 -0
  176. package/esm/ucsc-trackhub/configSchema.js +18 -0
  177. package/esm/ucsc-trackhub/configSchema.js.map +1 -0
  178. package/esm/ucsc-trackhub/index.d.ts +2 -0
  179. package/esm/ucsc-trackhub/index.js +3 -0
  180. package/esm/ucsc-trackhub/index.js.map +1 -0
  181. package/esm/ucsc-trackhub/model.d.ts +15 -0
  182. package/esm/ucsc-trackhub/model.js +82 -0
  183. package/esm/ucsc-trackhub/model.js.map +1 -0
  184. package/esm/ucsc-trackhub/ucscAssemblies.d.ts +2 -0
  185. package/esm/ucsc-trackhub/ucscAssemblies.js +201 -0
  186. package/esm/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  187. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +6 -0
  188. package/esm/ucsc-trackhub/ucscTrackHub.js +348 -0
  189. package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  190. package/package.json +19 -11
  191. package/src/AddConnectionWidget/components/AddConnectionWidget.js +14 -10
  192. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +2 -4
  193. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +63 -67
  194. package/src/AddTrackWidget/components/AddTrackWidget.test.js +4 -4
  195. package/src/AddTrackWidget/components/AddTrackWidget.tsx +5 -5
  196. package/src/AddTrackWidget/components/ConfirmTrack.tsx +22 -22
  197. package/src/AddTrackWidget/components/TrackSourceSelect.tsx +9 -5
  198. package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +76 -95
  199. package/src/AssemblyManager/AssemblyAddForm.tsx +5 -11
  200. package/src/AssemblyManager/AssemblyManager.tsx +8 -8
  201. package/src/AssemblyManager/AssemblyTable.tsx +10 -10
  202. package/src/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.tsx +1 -1
  203. package/src/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.tsx +1 -1
  204. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -1
  205. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +15 -13
  206. package/src/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.tsx +6 -6
  207. package/src/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.tsx +7 -7
  208. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +122 -115
  209. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +11 -14
  210. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +9 -8
  211. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +1 -1
  212. package/src/PluginStoreWidget/components/PluginCard.tsx +10 -11
  213. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +9 -9
  214. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +267 -217
  215. package/src/PluginStoreWidget/index.js +0 -1
  216. package/src/SetDefaultSession/SetDefaultSession.tsx +1 -1
  217. package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +0 -279
  218. package/dist/AddTrackWidget/components/AddTrackWidget.test.js +0 -218
  219. package/dist/AddTrackWidget/index.test.js +0 -292
  220. package/dist/AssemblyManager/AssemblyManager.test.js +0 -113
  221. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +0 -191
  222. package/dist/HierarchicalTrackSelectorWidget/model.test.js +0 -28
  223. package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +0 -201
  224. package/dist/PluginStoreWidget/model.test.js +0 -17
  225. package/dist/SetDefaultSession/SetDefaultSession.test.js +0 -75
  226. package/dist/index.test.js +0 -56
@@ -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;
@@ -0,0 +1,69 @@
1
+ import React, { useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ import { Button, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, } from '@mui/material';
5
+ import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';
6
+ import CloseIcon from '@mui/icons-material/Close';
7
+ import AddIcon from '@mui/icons-material/Add';
8
+ import AssemblyTable from './AssemblyTable';
9
+ import AssemblyAddForm from './AssemblyAddForm';
10
+ import AssemblyEditor from './AssemblyEditor';
11
+ const useStyles = makeStyles()(theme => ({
12
+ titleBox: {
13
+ color: '#fff',
14
+ backgroundColor: theme.palette.primary.main,
15
+ textAlign: 'center',
16
+ },
17
+ dialogContent: {
18
+ width: '100%',
19
+ },
20
+ backButton: {
21
+ color: '#fff',
22
+ position: 'absolute',
23
+ left: theme.spacing(4),
24
+ top: theme.spacing(4),
25
+ },
26
+ closeButton: {
27
+ position: 'absolute',
28
+ right: theme.spacing(1),
29
+ top: theme.spacing(1),
30
+ color: theme.palette.grey[500],
31
+ },
32
+ }));
33
+ const AssemblyManager = observer(({ rootModel, onClose, }) => {
34
+ const { classes } = useStyles();
35
+ const [isFormOpen, setFormOpen] = useState(false);
36
+ const [isAssemblyBeingEdited, setIsAssemblyBeingEdited] = useState(false);
37
+ const [assemblyBeingEdited, setAssemblyBeingEdited] = useState();
38
+ const showAssemblyTable = !isFormOpen && !isAssemblyBeingEdited;
39
+ return (React.createElement(Dialog, { open: true, onClose: () => onClose(false) },
40
+ React.createElement(DialogTitle, { className: classes.titleBox },
41
+ showAssemblyTable ? 'Assembly manager' : null,
42
+ isFormOpen ? (React.createElement(React.Fragment, null,
43
+ React.createElement(IconButton, { "aria-label": "back", className: classes.backButton, onClick: () => setFormOpen(false) },
44
+ React.createElement(ArrowBackIosIcon, null)),
45
+ "Add new assembly")) : null,
46
+ isAssemblyBeingEdited ? (React.createElement(React.Fragment, null,
47
+ React.createElement(IconButton, { "aria-label": "back", className: classes.backButton, onClick: () => setIsAssemblyBeingEdited(false) },
48
+ React.createElement(ArrowBackIosIcon, null)),
49
+ returnAssemblyName(assemblyBeingEdited))) : null,
50
+ React.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: () => onClose(false) },
51
+ React.createElement(CloseIcon, null))),
52
+ React.createElement(DialogContent, null,
53
+ React.createElement("div", { className: classes.dialogContent },
54
+ showAssemblyTable ? (React.createElement(AssemblyTable, { rootModel: rootModel, setIsAssemblyBeingEdited: setIsAssemblyBeingEdited, setAssemblyBeingEdited: setAssemblyBeingEdited })) : null,
55
+ isAssemblyBeingEdited ? (React.createElement(AssemblyEditor, { assembly: assemblyBeingEdited })) : null,
56
+ isFormOpen ? (React.createElement(AssemblyAddForm, { rootModel: rootModel, setFormOpen: setFormOpen })) : null)),
57
+ React.createElement(DialogActions, null, showAssemblyTable ? (React.createElement(React.Fragment, null,
58
+ React.createElement(Button, { color: "secondary", variant: "contained", onClick: () => onClose(false) }, "Close"),
59
+ React.createElement(Button, { variant: "contained", color: "secondary", startIcon: React.createElement(AddIcon, null), onClick: () => setFormOpen(true) }, "Add new assembly"))) : null)));
60
+ });
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ function returnAssemblyName(assembly) {
63
+ if (assembly !== undefined) {
64
+ return assembly.name;
65
+ }
66
+ return null;
67
+ }
68
+ export default AssemblyManager;
69
+ //# sourceMappingURL=AssemblyManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssemblyManager.js","sourceRoot":"","sources":["../../src/AssemblyManager/AssemblyManager.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ declare const AssemblyTable: ({ rootModel, setIsAssemblyBeingEdited, setAssemblyBeingEdited, }: {
4
+ rootModel: {
5
+ jbrowse: {
6
+ removeAssemblyConf: (arg: string) => void;
7
+ assemblies: AnyConfigurationModel[];
8
+ };
9
+ };
10
+ setIsAssemblyBeingEdited(arg: boolean): void;
11
+ setAssemblyBeingEdited(arg: AnyConfigurationModel): void;
12
+ }) => JSX.Element;
13
+ export default AssemblyTable;
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { IconButton, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, Typography, } from '@mui/material';
4
+ import { makeStyles } from 'tss-react/mui';
5
+ import CreateIcon from '@mui/icons-material/Create';
6
+ import DeleteIcon from '@mui/icons-material/Delete';
7
+ import { readConfObject, } from '@jbrowse/core/configuration';
8
+ const useStyles = makeStyles()(() => ({
9
+ table: {
10
+ minWidth: 500,
11
+ minHeight: 150,
12
+ },
13
+ buttonCell: {
14
+ padding: 3,
15
+ },
16
+ button: {
17
+ display: 'inline-block',
18
+ padding: 3,
19
+ minHeight: 0,
20
+ minWidth: 0,
21
+ },
22
+ }));
23
+ const AssemblyTable = observer(({ rootModel, setIsAssemblyBeingEdited, setAssemblyBeingEdited, }) => {
24
+ const { classes } = useStyles();
25
+ function removeAssembly(name) {
26
+ rootModel.jbrowse.removeAssemblyConf(name);
27
+ }
28
+ const rows = rootModel.jbrowse.assemblies.map(assembly => {
29
+ const name = readConfObject(assembly, 'name');
30
+ const displayName = readConfObject(assembly, 'displayName');
31
+ const aliases = readConfObject(assembly, 'aliases');
32
+ return (React.createElement(TableRow, { key: name },
33
+ React.createElement(TableCell, null, name),
34
+ React.createElement(TableCell, null, displayName),
35
+ React.createElement(TableCell, null, aliases ? aliases.toString() : ''),
36
+ React.createElement(TableCell, { className: classes.buttonCell },
37
+ React.createElement(IconButton, { "data-testid": `${name}-edit`, className: classes.button, onClick: () => {
38
+ setIsAssemblyBeingEdited(true);
39
+ setAssemblyBeingEdited(assembly);
40
+ } },
41
+ React.createElement(CreateIcon, { color: "primary" })),
42
+ React.createElement(IconButton, { "data-testid": `${name}-delete`, className: classes.button, onClick: () => {
43
+ removeAssembly(name);
44
+ } },
45
+ React.createElement(DeleteIcon, { color: "error" })))));
46
+ });
47
+ return (React.createElement(TableContainer, { component: Paper },
48
+ React.createElement(Table, { className: classes.table },
49
+ React.createElement(TableHead, null,
50
+ React.createElement(TableRow, null,
51
+ React.createElement(TableCell, null,
52
+ React.createElement(Typography, { variant: "h5" }, "Name")),
53
+ React.createElement(TableCell, null,
54
+ React.createElement(Typography, { variant: "h5" }, "Display name")),
55
+ React.createElement(TableCell, null,
56
+ React.createElement(Typography, { variant: "h5" }, "Aliases")),
57
+ React.createElement(TableCell, null,
58
+ React.createElement(Typography, { variant: "h5" }, "Actions")))),
59
+ React.createElement(TableBody, null, rows))));
60
+ });
61
+ export default AssemblyTable;
62
+ //# sourceMappingURL=AssemblyTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssemblyTable.js","sourceRoot":"","sources":["../../src/AssemblyManager/AssemblyTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,EACL,cAAc,GAEf,MAAM,6BAA6B,CAAA;AAEpC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE;QACL,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;KACf;IACD,UAAU,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,MAAM,EAAE;QACN,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,QAAQ,CAC5B,CAAC,EACC,SAAS,EACT,wBAAwB,EACxB,sBAAsB,GAUvB,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAE/B,SAAS,cAAc,CAAC,IAAY;QAClC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvD,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACnD,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,IAAI;YACjB,oBAAC,SAAS,QAAE,IAAI,CAAa;YAC7B,oBAAC,SAAS,QAAE,WAAW,CAAa;YACpC,oBAAC,SAAS,QAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAa;YAC1D,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,UAAU;gBACtC,oBAAC,UAAU,mBACI,GAAG,IAAI,OAAO,EAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,wBAAwB,CAAC,IAAI,CAAC,CAAA;wBAC9B,sBAAsB,CAAC,QAAQ,CAAC,CAAA;oBAClC,CAAC;oBAED,oBAAC,UAAU,IAAC,KAAK,EAAC,SAAS,GAAG,CACnB;gBACb,oBAAC,UAAU,mBACI,GAAG,IAAI,SAAS,EAC7B,SAAS,EAAE,OAAO,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,cAAc,CAAC,IAAI,CAAC,CAAA;oBACtB,CAAC;oBAED,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,GAAG,CACjB,CACH,CACH,CACZ,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,oBAAC,cAAc,IAAC,SAAS,EAAE,KAAK;QAC9B,oBAAC,KAAK,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK;YAC7B,oBAAC,SAAS;gBACR,oBAAC,QAAQ;oBACP,oBAAC,SAAS;wBACR,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,WAAkB,CAChC;oBACZ,oBAAC,SAAS;wBACR,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,mBAA0B,CACxC;oBACZ,oBAAC,SAAS;wBACR,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,cAAqB,CACnC;oBACZ,oBAAC,SAAS;wBACR,oBAAC,UAAU,IAAC,OAAO,EAAC,IAAI,cAAqB,CACnC,CACH,CACD;YACZ,oBAAC,SAAS,QAAE,IAAI,CAAa,CACvB,CACO,CAClB,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './AssemblyManager';
@@ -0,0 +1,2 @@
1
+ export { default } from './AssemblyManager';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AssemblyManager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ declare function CloseConnectionDialog({ modalInfo, setModalInfo, }: {
3
+ modalInfo?: {
4
+ name?: string;
5
+ dereferenceTypeCount?: {
6
+ [key: string]: number;
7
+ };
8
+ safelyBreakConnection?: Function;
9
+ };
10
+ setModalInfo: Function;
11
+ }): JSX.Element;
12
+ declare const _default: typeof CloseConnectionDialog;
13
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { Dialog, DialogTitle, DialogContent, DialogContentText, Button, List, ListItem, DialogActions, } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ function CloseConnectionDialog({ modalInfo = {}, setModalInfo, }) {
5
+ const { name, dereferenceTypeCount, safelyBreakConnection } = modalInfo;
6
+ return (React.createElement(Dialog, { open: true },
7
+ React.createElement(DialogTitle, null,
8
+ "Close connection \"",
9
+ name,
10
+ "\""),
11
+ React.createElement(DialogContent, null,
12
+ dereferenceTypeCount ? (React.createElement(React.Fragment, null,
13
+ React.createElement(DialogContentText, null, "Closing this connection will close:"),
14
+ React.createElement(List, null, Object.entries(dereferenceTypeCount).map(([key, value]) => (React.createElement(ListItem, { key: key }, `${value} ${key}`)))))) : null,
15
+ React.createElement(DialogContentText, null, "Are you sure you want to close this connection?")),
16
+ React.createElement(DialogActions, null,
17
+ React.createElement(Button, { onClick: () => setModalInfo(), color: "primary" }, "Cancel"),
18
+ React.createElement(Button, { variant: "contained", onClick: modalInfo
19
+ ? () => {
20
+ safelyBreakConnection === null || safelyBreakConnection === void 0 ? void 0 : safelyBreakConnection();
21
+ setModalInfo();
22
+ }
23
+ : () => { }, color: "primary" }, "OK"))));
24
+ }
25
+ export default observer(CloseConnectionDialog);
26
+ //# sourceMappingURL=CloseConnectionDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloseConnectionDialog.js","sourceRoot":"","sources":["../../../src/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,SAAS,qBAAqB,CAAC,EAC7B,SAAS,GAAG,EAAE,EACd,YAAY,GAQb;IACC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAA;IACvE,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI;QACV,oBAAC,WAAW;;YAAyB,IAAI;iBAAqB;QAC9D,oBAAC,aAAa;YACX,oBAAoB,CAAC,CAAC,CAAC,CACtB;gBACE,oBAAC,iBAAiB,8CAEE;gBACpB,oBAAC,IAAI,QACF,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAC1D,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,IAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAAY,CACnD,CAAC,CACG,CACN,CACJ,CAAC,CAAC,CAAC,IAAI;YACR,oBAAC,iBAAiB,0DAEE,CACN;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAC,SAAS,aAE7C;YACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,OAAO,EACL,SAAS;oBACP,CAAC,CAAC,GAAG,EAAE;wBACH,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,EAAI,CAAA;wBACzB,YAAY,EAAE,CAAA;oBAChB,CAAC;oBACH,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,EAEd,KAAK,EAAC,SAAS,SAGR,CACK,CACT,CACV,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration/configurationSchema';
3
+ import { AbstractSessionModel } from '@jbrowse/core/util';
4
+ declare function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }: {
5
+ deleteDialogDetails: {
6
+ name: string;
7
+ connectionConf: AnyConfigurationModel;
8
+ };
9
+ session: AbstractSessionModel;
10
+ handleClose: () => void;
11
+ }): JSX.Element;
12
+ declare const _default: typeof DeleteConnectionDialog;
13
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, Button, } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }) {
5
+ const { connectionConf, name } = deleteDialogDetails;
6
+ return (React.createElement(Dialog, { open: true },
7
+ React.createElement(DialogTitle, null,
8
+ "Delete connection \"",
9
+ name,
10
+ "\""),
11
+ React.createElement(DialogContent, null,
12
+ React.createElement(DialogContentText, null, "Are you sure you want to delete this connection?")),
13
+ React.createElement(DialogActions, null,
14
+ React.createElement(Button, { onClick: () => handleClose(), color: "primary" }, "Cancel"),
15
+ React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
16
+ var _a;
17
+ if (connectionConf) {
18
+ (_a = session.deleteConnection) === null || _a === void 0 ? void 0 : _a.call(session, connectionConf);
19
+ }
20
+ handleClose();
21
+ } }, "OK"))));
22
+ }
23
+ export default observer(DeleteConnectionDialog);
24
+ //# sourceMappingURL=DeleteConnectionDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteConnectionDialog.js","sourceRoot":"","sources":["../../../src/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,MAAM,GACP,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS,sBAAsB,CAAC,EAC9B,mBAAmB,EACnB,OAAO,EACP,WAAW,GAKZ;IACC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAA;IACpD,OAAO,CACL,oBAAC,MAAM,IAAC,IAAI;QACV,oBAAC,WAAW;;YAA0B,IAAI;iBAAqB;QAC/D,oBAAC,aAAa;YACZ,oBAAC,iBAAiB,2DAEE,CACN;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAC,SAAS,aAE5C;YACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;;oBACZ,IAAI,cAAc,EAAE;wBAClB,MAAA,OAAO,CAAC,gBAAgB,wDAAG,cAAc,CAAC,CAAA;qBAC3C;oBACD,WAAW,EAAE,CAAA;gBACf,CAAC,SAGM,CACK,CACT,CACV,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,sBAAsB,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { HierarchicalTrackSelectorModel } from '../model';
3
+ declare const HierarchicalTrackSelectorContainer: ({ model, toolbarHeight, overrideDimensions, }: {
4
+ model: HierarchicalTrackSelectorModel;
5
+ toolbarHeight: number;
6
+ overrideDimensions?: {
7
+ width: number;
8
+ height: number;
9
+ } | undefined;
10
+ }) => JSX.Element;
11
+ export default HierarchicalTrackSelectorContainer;