@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.
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +115 -162
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +33 -32
- package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +48 -64
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
- package/dist/AddConnectionWidget/index.js +10 -20
- package/dist/AddConnectionWidget/index.js.map +1 -0
- package/dist/AddConnectionWidget/model.js +7 -15
- package/dist/AddConnectionWidget/model.js.map +1 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
- package/dist/AddTrackWidget/components/AddTrackWidget.js +51 -246
- package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
- package/dist/AddTrackWidget/components/ConfirmTrack.js +267 -385
- package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +222 -0
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +28 -55
- package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
- package/dist/AddTrackWidget/index.js +10 -20
- package/dist/AddTrackWidget/index.js.map +1 -0
- package/dist/AddTrackWidget/model.js +150 -174
- package/dist/AddTrackWidget/model.js.map +1 -0
- package/dist/AssemblyManager/AssemblyAddForm.js +162 -282
- package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -0
- package/dist/AssemblyManager/AssemblyEditor.js +12 -23
- package/dist/AssemblyManager/AssemblyEditor.js.map +1 -0
- package/dist/AssemblyManager/AssemblyManager.js +102 -132
- package/dist/AssemblyManager/AssemblyManager.js.map +1 -0
- package/dist/AssemblyManager/AssemblyTable.d.ts +1 -1
- package/dist/AssemblyManager/AssemblyTable.js +60 -84
- package/dist/AssemblyManager/AssemblyTable.js.map +1 -0
- package/dist/AssemblyManager/index.js +8 -14
- package/dist/AssemblyManager/index.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +49 -50
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +28 -44
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Header.js +209 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +217 -649
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -74
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Node.js +207 -0
- package/dist/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -91
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +11 -0
- package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
- package/dist/HierarchicalTrackSelectorWidget/configSchema.js +6 -0
- package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
- package/dist/HierarchicalTrackSelectorWidget/index.js +10 -20
- package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -0
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +13 -3
- package/dist/HierarchicalTrackSelectorWidget/model.js +250 -284
- package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -0
- package/dist/PluginStoreWidget/components/CustomPluginForm.js +140 -202
- package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +112 -127
- package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +22 -45
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
- package/dist/PluginStoreWidget/components/PluginCard.js +95 -110
- package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -0
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +188 -227
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
- package/dist/PluginStoreWidget/index.d.ts +0 -1
- package/dist/PluginStoreWidget/index.js +10 -28
- package/dist/PluginStoreWidget/index.js.map +1 -0
- package/dist/PluginStoreWidget/model.js +21 -26
- package/dist/PluginStoreWidget/model.js.map +1 -0
- package/dist/SetDefaultSession/SetDefaultSession.js +34 -58
- package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -0
- package/dist/SetDefaultSession/index.js +8 -14
- package/dist/SetDefaultSession/index.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +109 -147
- package/dist/index.js.map +1 -0
- package/dist/ucsc-trackhub/configSchema.js +18 -28
- package/dist/ucsc-trackhub/configSchema.js.map +1 -0
- package/dist/ucsc-trackhub/index.js +10 -22
- package/dist/ucsc-trackhub/index.js.map +1 -0
- package/dist/ucsc-trackhub/model.js +150 -128
- package/dist/ucsc-trackhub/model.js.map +1 -0
- package/dist/ucsc-trackhub/ucscAssemblies.js +3 -9
- package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -0
- package/dist/ucsc-trackhub/ucscTrackHub.js +458 -491
- package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -0
- package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -0
- package/esm/AddConnectionWidget/components/AddConnectionWidget.js +86 -0
- package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
- package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -0
- package/esm/AddConnectionWidget/components/ConfigureConnection.js +11 -0
- package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -0
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +24 -0
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
- package/esm/AddConnectionWidget/index.d.ts +2 -0
- package/esm/AddConnectionWidget/index.js +4 -0
- package/esm/AddConnectionWidget/index.js.map +1 -0
- package/esm/AddConnectionWidget/model.d.ts +5 -0
- package/esm/AddConnectionWidget/model.js +7 -0
- package/esm/AddConnectionWidget/model.js.map +1 -0
- package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +7 -0
- package/esm/AddTrackWidget/components/AddTrackWidget.js +26 -0
- package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
- package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +7 -0
- package/esm/AddTrackWidget/components/ConfirmTrack.js +246 -0
- package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +134 -0
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
- package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -0
- package/esm/AddTrackWidget/components/TrackSourceSelect.js +27 -0
- package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
- package/esm/AddTrackWidget/index.d.ts +2 -0
- package/esm/AddTrackWidget/index.js +4 -0
- package/esm/AddTrackWidget/index.js.map +1 -0
- package/esm/AddTrackWidget/model.d.ts +51 -0
- package/esm/AddTrackWidget/model.js +154 -0
- package/esm/AddTrackWidget/model.js.map +1 -0
- package/esm/AssemblyManager/AssemblyAddForm.d.ts +6 -0
- package/esm/AssemblyManager/AssemblyAddForm.js +132 -0
- package/esm/AssemblyManager/AssemblyAddForm.js.map +1 -0
- package/esm/AssemblyManager/AssemblyEditor.d.ts +5 -0
- package/esm/AssemblyManager/AssemblyEditor.js +8 -0
- package/esm/AssemblyManager/AssemblyEditor.js.map +1 -0
- package/esm/AssemblyManager/AssemblyManager.d.ts +6 -0
- package/esm/AssemblyManager/AssemblyManager.js +69 -0
- package/esm/AssemblyManager/AssemblyManager.js.map +1 -0
- package/esm/AssemblyManager/AssemblyTable.d.ts +13 -0
- package/esm/AssemblyManager/AssemblyTable.js +62 -0
- package/esm/AssemblyManager/AssemblyTable.js.map +1 -0
- package/esm/AssemblyManager/index.d.ts +1 -0
- package/esm/AssemblyManager/index.js +2 -0
- package/esm/AssemblyManager/index.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +13 -0
- package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +26 -0
- package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -0
- package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +24 -0
- package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Header.js +149 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +11 -0
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +127 -0
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +10 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Node.js +149 -0
- package/esm/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +11 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
- package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -0
- package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
- package/esm/HierarchicalTrackSelectorWidget/configSchema.js +4 -0
- package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/index.d.ts +4 -0
- package/esm/HierarchicalTrackSelectorWidget/index.js +4 -0
- package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -0
- package/esm/HierarchicalTrackSelectorWidget/model.d.ts +69 -0
- package/esm/HierarchicalTrackSelectorWidget/model.js +204 -0
- package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -0
- package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -0
- package/esm/PluginStoreWidget/components/CustomPluginForm.js +109 -0
- package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
- package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -0
- package/esm/PluginStoreWidget/components/InstalledPlugin.js +77 -0
- package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
- package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -0
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js +16 -0
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
- package/esm/PluginStoreWidget/components/PluginCard.d.ts +10 -0
- package/esm/PluginStoreWidget/components/PluginCard.js +61 -0
- package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -0
- package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -0
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +106 -0
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
- package/esm/PluginStoreWidget/index.d.ts +2 -0
- package/esm/PluginStoreWidget/index.js +4 -0
- package/esm/PluginStoreWidget/index.js.map +1 -0
- package/esm/PluginStoreWidget/model.d.ts +13 -0
- package/esm/PluginStoreWidget/model.js +20 -0
- package/esm/PluginStoreWidget/model.js.map +1 -0
- package/esm/SetDefaultSession/SetDefaultSession.d.ts +6 -0
- package/esm/SetDefaultSession/SetDefaultSession.js +34 -0
- package/esm/SetDefaultSession/SetDefaultSession.js.map +1 -0
- package/esm/SetDefaultSession/index.d.ts +1 -0
- package/esm/SetDefaultSession/index.js +2 -0
- package/esm/SetDefaultSession/index.js.map +1 -0
- package/esm/index.d.ts +30 -0
- package/esm/index.js +70 -0
- package/esm/index.js.map +1 -0
- package/esm/ucsc-trackhub/configSchema.d.ts +2 -0
- package/esm/ucsc-trackhub/configSchema.js +18 -0
- package/esm/ucsc-trackhub/configSchema.js.map +1 -0
- package/esm/ucsc-trackhub/index.d.ts +2 -0
- package/esm/ucsc-trackhub/index.js +3 -0
- package/esm/ucsc-trackhub/index.js.map +1 -0
- package/esm/ucsc-trackhub/model.d.ts +15 -0
- package/esm/ucsc-trackhub/model.js +82 -0
- package/esm/ucsc-trackhub/model.js.map +1 -0
- package/esm/ucsc-trackhub/ucscAssemblies.d.ts +2 -0
- package/esm/ucsc-trackhub/ucscAssemblies.js +201 -0
- package/esm/ucsc-trackhub/ucscAssemblies.js.map +1 -0
- package/esm/ucsc-trackhub/ucscTrackHub.d.ts +6 -0
- package/esm/ucsc-trackhub/ucscTrackHub.js +348 -0
- package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -0
- package/package.json +21 -13
- package/src/AddConnectionWidget/components/AddConnectionWidget.js +14 -10
- package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +2 -4
- package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +63 -67
- package/src/AddTrackWidget/components/{AddTrackWidget.test.js → AddTrackWidget.test.tsx} +19 -34
- package/src/AddTrackWidget/components/AddTrackWidget.tsx +36 -200
- package/src/AddTrackWidget/components/ConfirmTrack.tsx +32 -32
- package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +205 -0
- package/src/AddTrackWidget/components/TrackSourceSelect.tsx +9 -5
- package/src/AssemblyManager/AssemblyAddForm.tsx +5 -11
- package/src/AssemblyManager/AssemblyManager.tsx +8 -8
- package/src/AssemblyManager/AssemblyTable.tsx +10 -10
- package/src/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/Header.tsx +287 -0
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +23 -440
- package/src/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.tsx +6 -6
- package/src/HierarchicalTrackSelectorWidget/components/Node.tsx +284 -0
- package/src/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.tsx +7 -7
- package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +122 -115
- package/src/HierarchicalTrackSelectorWidget/components/util.ts +11 -0
- package/src/HierarchicalTrackSelectorWidget/configSchema.ts +3 -0
- package/src/HierarchicalTrackSelectorWidget/index.ts +4 -6
- package/src/HierarchicalTrackSelectorWidget/model.ts +45 -41
- package/src/PluginStoreWidget/components/CustomPluginForm.tsx +11 -14
- package/src/PluginStoreWidget/components/InstalledPlugin.tsx +9 -8
- package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +1 -1
- package/src/PluginStoreWidget/components/PluginCard.tsx +10 -11
- package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +9 -9
- package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +267 -217
- package/src/PluginStoreWidget/index.js +0 -1
- package/src/SetDefaultSession/SetDefaultSession.tsx +1 -1
- package/src/index.ts +4 -1
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +0 -279
- package/dist/AddTrackWidget/components/AddTrackWidget.test.js +0 -218
- package/dist/AddTrackWidget/index.test.js +0 -292
- package/dist/AssemblyManager/AssemblyManager.test.js +0 -113
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +0 -191
- package/dist/HierarchicalTrackSelectorWidget/model.test.js +0 -28
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +0 -201
- package/dist/PluginStoreWidget/model.test.js +0 -17
- package/dist/SetDefaultSession/SetDefaultSession.test.js +0 -75
- package/dist/index.test.js +0 -56
- package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +0 -350
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`<AddConnectionWidget /> renders 1`] = `
|
|
4
4
|
<div
|
|
5
|
-
class="
|
|
5
|
+
class="tss-1ohm0fb-root"
|
|
6
6
|
>
|
|
7
7
|
<div
|
|
8
|
-
class="
|
|
8
|
+
class="MuiStepper-root MuiStepper-vertical tss-1v8zuu8-stepper css-9tmuzo-MuiStepper-root"
|
|
9
9
|
>
|
|
10
10
|
<div
|
|
11
|
-
class="MuiStep-root MuiStep-vertical"
|
|
11
|
+
class="MuiStep-root MuiStep-vertical css-8wcvy5-MuiStep-root"
|
|
12
12
|
>
|
|
13
13
|
<span
|
|
14
|
-
class="MuiStepLabel-root MuiStepLabel-vertical"
|
|
14
|
+
class="MuiStepLabel-root MuiStepLabel-vertical css-14sza3e-MuiStepLabel-root"
|
|
15
15
|
>
|
|
16
16
|
<span
|
|
17
|
-
class="MuiStepLabel-iconContainer"
|
|
17
|
+
class="MuiStepLabel-iconContainer css-vnkopk-MuiStepLabel-iconContainer"
|
|
18
18
|
>
|
|
19
19
|
<svg
|
|
20
20
|
aria-hidden="true"
|
|
21
|
-
class="MuiSvgIcon-root MuiStepIcon-root MuiStepIcon-
|
|
21
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiStepIcon-root Mui-active css-1u4zpwo-MuiSvgIcon-root-MuiStepIcon-root"
|
|
22
22
|
focusable="false"
|
|
23
23
|
viewBox="0 0 24 24"
|
|
24
24
|
>
|
|
@@ -28,57 +28,64 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
28
28
|
r="12"
|
|
29
29
|
/>
|
|
30
30
|
<text
|
|
31
|
-
class="MuiStepIcon-text"
|
|
31
|
+
class="MuiStepIcon-text css-117w1su-MuiStepIcon-text"
|
|
32
|
+
dominant-baseline="central"
|
|
32
33
|
text-anchor="middle"
|
|
33
34
|
x="12"
|
|
34
|
-
y="
|
|
35
|
+
y="12"
|
|
35
36
|
>
|
|
36
37
|
1
|
|
37
38
|
</text>
|
|
38
39
|
</svg>
|
|
39
40
|
</span>
|
|
40
41
|
<span
|
|
41
|
-
class="MuiStepLabel-labelContainer"
|
|
42
|
+
class="MuiStepLabel-labelContainer css-16ubnlw-MuiStepLabel-labelContainer"
|
|
42
43
|
>
|
|
43
44
|
<span
|
|
44
|
-
class="
|
|
45
|
+
class="MuiStepLabel-label Mui-active css-qivjh0-MuiStepLabel-label"
|
|
45
46
|
>
|
|
46
47
|
Select a Connection Type
|
|
47
48
|
</span>
|
|
48
49
|
</span>
|
|
49
50
|
</span>
|
|
50
51
|
<div
|
|
51
|
-
class="MuiStepContent-root"
|
|
52
|
-
icon="1"
|
|
52
|
+
class="MuiStepContent-root css-14yr603-MuiStepContent-root"
|
|
53
53
|
>
|
|
54
54
|
<div
|
|
55
|
-
class="MuiCollapse-root MuiStepContent-transition MuiCollapse-entered"
|
|
55
|
+
class="MuiCollapse-root MuiCollapse-vertical MuiStepContent-transition MuiCollapse-entered css-1rw7nzj-MuiCollapse-root-MuiStepContent-transition"
|
|
56
56
|
style="min-height: 0px;"
|
|
57
57
|
>
|
|
58
58
|
<div
|
|
59
|
-
class="MuiCollapse-wrapper"
|
|
59
|
+
class="MuiCollapse-wrapper MuiCollapse-vertical css-smkl36-MuiCollapse-wrapper"
|
|
60
60
|
>
|
|
61
61
|
<div
|
|
62
|
-
class="MuiCollapse-wrapperInner"
|
|
62
|
+
class="MuiCollapse-wrapperInner MuiCollapse-vertical css-9l5vo-MuiCollapse-wrapperInner"
|
|
63
63
|
>
|
|
64
64
|
<form
|
|
65
65
|
autocomplete="off"
|
|
66
66
|
>
|
|
67
67
|
<div
|
|
68
|
-
class="MuiFormControl-root MuiTextField-root MuiFormControl-
|
|
68
|
+
class="MuiFormControl-root MuiFormControl-fullWidth MuiTextField-root css-wb57ya-MuiFormControl-root-MuiTextField-root"
|
|
69
69
|
>
|
|
70
70
|
<label
|
|
71
|
-
class="
|
|
71
|
+
class="MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-root MuiFormLabel-colorPrimary MuiFormLabel-filled css-1sumxir-MuiFormLabel-root-MuiInputLabel-root"
|
|
72
72
|
data-shrink="true"
|
|
73
|
+
for="mui-1"
|
|
74
|
+
id="mui-1-label"
|
|
73
75
|
>
|
|
74
76
|
connectionType
|
|
75
77
|
</label>
|
|
76
78
|
<div
|
|
77
|
-
class="
|
|
79
|
+
class="MuiOutlinedInput-root MuiInputBase-root MuiInputBase-colorPrimary MuiInputBase-fullWidth MuiInputBase-formControl css-md26zr-MuiInputBase-root-MuiOutlinedInput-root"
|
|
80
|
+
variant="outlined"
|
|
78
81
|
>
|
|
79
82
|
<div
|
|
83
|
+
aria-describedby="mui-1-helper-text"
|
|
84
|
+
aria-expanded="false"
|
|
80
85
|
aria-haspopup="listbox"
|
|
81
|
-
|
|
86
|
+
aria-labelledby="mui-1-label mui-1"
|
|
87
|
+
class="MuiSelect-select MuiSelect-outlined MuiOutlinedInput-input MuiInputBase-input css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input"
|
|
88
|
+
id="mui-1"
|
|
82
89
|
role="button"
|
|
83
90
|
tabindex="0"
|
|
84
91
|
>
|
|
@@ -86,13 +93,14 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
86
93
|
</div>
|
|
87
94
|
<input
|
|
88
95
|
aria-hidden="true"
|
|
89
|
-
class="MuiSelect-nativeInput"
|
|
96
|
+
class="MuiSelect-nativeInput css-yf8vq0-MuiSelect-nativeInput"
|
|
90
97
|
tabindex="-1"
|
|
91
98
|
value="UCSCTrackHubConnection"
|
|
92
99
|
/>
|
|
93
100
|
<svg
|
|
94
101
|
aria-hidden="true"
|
|
95
|
-
class="MuiSvgIcon-root MuiSelect-icon MuiSelect-iconOutlined"
|
|
102
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiSelect-icon MuiSelect-iconOutlined css-hfutr2-MuiSvgIcon-root-MuiSelect-icon"
|
|
103
|
+
data-testid="ArrowDropDownIcon"
|
|
96
104
|
focusable="false"
|
|
97
105
|
viewBox="0 0 24 24"
|
|
98
106
|
>
|
|
@@ -102,10 +110,10 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
102
110
|
</svg>
|
|
103
111
|
<fieldset
|
|
104
112
|
aria-hidden="true"
|
|
105
|
-
class="
|
|
113
|
+
class="MuiOutlinedInput-notchedOutline css-1d3z3hw-MuiOutlinedInput-notchedOutline"
|
|
106
114
|
>
|
|
107
115
|
<legend
|
|
108
|
-
class="
|
|
116
|
+
class="css-1in441m"
|
|
109
117
|
>
|
|
110
118
|
<span>
|
|
111
119
|
connectionType
|
|
@@ -114,66 +122,55 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
114
122
|
</fieldset>
|
|
115
123
|
</div>
|
|
116
124
|
<p
|
|
117
|
-
class="MuiFormHelperText-root MuiFormHelperText-contained MuiFormHelperText-filled"
|
|
125
|
+
class="MuiFormHelperText-root MuiFormHelperText-sizeMedium MuiFormHelperText-contained MuiFormHelperText-filled css-1wc848c-MuiFormHelperText-root"
|
|
126
|
+
id="mui-1-helper-text"
|
|
118
127
|
>
|
|
119
128
|
A track or assembly hub in the Track Hub format
|
|
120
129
|
<a
|
|
121
|
-
|
|
122
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary"
|
|
130
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-sizeMedium css-1gws2xf-MuiButtonBase-root-MuiIconButton-root"
|
|
123
131
|
href="//genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html#Intro"
|
|
124
132
|
rel="noopener noreferrer"
|
|
125
133
|
tabindex="0"
|
|
126
134
|
target="_blank"
|
|
127
135
|
>
|
|
128
|
-
<
|
|
129
|
-
|
|
136
|
+
<svg
|
|
137
|
+
aria-hidden="true"
|
|
138
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-i4bv87-MuiSvgIcon-root"
|
|
139
|
+
data-testid="OpenInNewIcon"
|
|
140
|
+
focusable="false"
|
|
141
|
+
viewBox="0 0 24 24"
|
|
130
142
|
>
|
|
131
|
-
<
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
viewBox="0 0 24 24"
|
|
136
|
-
>
|
|
137
|
-
<path
|
|
138
|
-
d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"
|
|
139
|
-
/>
|
|
140
|
-
</svg>
|
|
141
|
-
</span>
|
|
143
|
+
<path
|
|
144
|
+
d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"
|
|
145
|
+
/>
|
|
146
|
+
</svg>
|
|
142
147
|
<span
|
|
143
|
-
class="MuiTouchRipple-root"
|
|
148
|
+
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
|
|
144
149
|
/>
|
|
145
150
|
</a>
|
|
146
151
|
</p>
|
|
147
152
|
</div>
|
|
148
153
|
</form>
|
|
149
154
|
<div
|
|
150
|
-
class="
|
|
155
|
+
class="tss-1spe31o-actionsContainer"
|
|
151
156
|
>
|
|
152
157
|
<button
|
|
153
|
-
class="
|
|
158
|
+
class="MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButtonBase-root Mui-disabled tss-11xjtta-button css-1e6y48t-MuiButtonBase-root-MuiButton-root"
|
|
154
159
|
disabled=""
|
|
155
160
|
tabindex="-1"
|
|
156
161
|
type="button"
|
|
157
162
|
>
|
|
158
|
-
|
|
159
|
-
class="MuiButton-label"
|
|
160
|
-
>
|
|
161
|
-
Back
|
|
162
|
-
</span>
|
|
163
|
+
Back
|
|
163
164
|
</button>
|
|
164
165
|
<button
|
|
165
|
-
class="
|
|
166
|
+
class="MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButtonBase-root tss-11xjtta-button css-sghohy-MuiButtonBase-root-MuiButton-root"
|
|
166
167
|
data-testid="addConnectionNext"
|
|
167
168
|
tabindex="0"
|
|
168
169
|
type="button"
|
|
169
170
|
>
|
|
171
|
+
Next
|
|
170
172
|
<span
|
|
171
|
-
class="
|
|
172
|
-
>
|
|
173
|
-
Next
|
|
174
|
-
</span>
|
|
175
|
-
<span
|
|
176
|
-
class="MuiTouchRipple-root"
|
|
173
|
+
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
|
|
177
174
|
/>
|
|
178
175
|
</button>
|
|
179
176
|
</div>
|
|
@@ -183,24 +180,24 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
183
180
|
</div>
|
|
184
181
|
</div>
|
|
185
182
|
<div
|
|
186
|
-
class="MuiStepConnector-root MuiStepConnector-vertical MuiStepConnector-
|
|
183
|
+
class="MuiStepConnector-root MuiStepConnector-vertical Mui-disabled css-1pe7n21-MuiStepConnector-root"
|
|
187
184
|
>
|
|
188
185
|
<span
|
|
189
|
-
class="MuiStepConnector-line MuiStepConnector-lineVertical"
|
|
186
|
+
class="MuiStepConnector-line MuiStepConnector-lineVertical css-8t49rw-MuiStepConnector-line"
|
|
190
187
|
/>
|
|
191
188
|
</div>
|
|
192
189
|
<div
|
|
193
|
-
class="MuiStep-root MuiStep-vertical"
|
|
190
|
+
class="MuiStep-root MuiStep-vertical css-8wcvy5-MuiStep-root"
|
|
194
191
|
>
|
|
195
192
|
<span
|
|
196
|
-
class="MuiStepLabel-root MuiStepLabel-vertical MuiStepLabel-
|
|
193
|
+
class="MuiStepLabel-root MuiStepLabel-vertical Mui-disabled css-14sza3e-MuiStepLabel-root"
|
|
197
194
|
>
|
|
198
195
|
<span
|
|
199
|
-
class="MuiStepLabel-iconContainer"
|
|
196
|
+
class="MuiStepLabel-iconContainer css-vnkopk-MuiStepLabel-iconContainer"
|
|
200
197
|
>
|
|
201
198
|
<svg
|
|
202
199
|
aria-hidden="true"
|
|
203
|
-
class="MuiSvgIcon-root MuiStepIcon-root"
|
|
200
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiStepIcon-root css-1u4zpwo-MuiSvgIcon-root-MuiStepIcon-root"
|
|
204
201
|
focusable="false"
|
|
205
202
|
viewBox="0 0 24 24"
|
|
206
203
|
>
|
|
@@ -210,29 +207,28 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
210
207
|
r="12"
|
|
211
208
|
/>
|
|
212
209
|
<text
|
|
213
|
-
class="MuiStepIcon-text"
|
|
210
|
+
class="MuiStepIcon-text css-117w1su-MuiStepIcon-text"
|
|
211
|
+
dominant-baseline="central"
|
|
214
212
|
text-anchor="middle"
|
|
215
213
|
x="12"
|
|
216
|
-
y="
|
|
214
|
+
y="12"
|
|
217
215
|
>
|
|
218
216
|
2
|
|
219
217
|
</text>
|
|
220
218
|
</svg>
|
|
221
219
|
</span>
|
|
222
220
|
<span
|
|
223
|
-
class="MuiStepLabel-labelContainer"
|
|
221
|
+
class="MuiStepLabel-labelContainer css-16ubnlw-MuiStepLabel-labelContainer"
|
|
224
222
|
>
|
|
225
223
|
<span
|
|
226
|
-
class="
|
|
224
|
+
class="MuiStepLabel-label Mui-disabled css-qivjh0-MuiStepLabel-label"
|
|
227
225
|
>
|
|
228
226
|
Configure Connection
|
|
229
227
|
</span>
|
|
230
228
|
</span>
|
|
231
229
|
</span>
|
|
232
230
|
<div
|
|
233
|
-
class="MuiStepContent-root MuiStepContent-last"
|
|
234
|
-
disabled=""
|
|
235
|
-
icon="2"
|
|
231
|
+
class="MuiStepContent-root MuiStepContent-last css-1mz1l2x-MuiStepContent-root"
|
|
236
232
|
/>
|
|
237
233
|
</div>
|
|
238
234
|
</div>
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { render,
|
|
2
|
+
import { render, fireEvent } from '@testing-library/react'
|
|
3
3
|
import { createTestSession } from '@jbrowse/web/src/rootModel'
|
|
4
4
|
import AddTrackWidget from './AddTrackWidget'
|
|
5
|
+
import { AddTrackModel } from '../model'
|
|
6
|
+
import { AbstractSessionModel } from '@jbrowse/core/util'
|
|
5
7
|
jest.mock('@jbrowse/web/src/makeWorkerInstance', () => () => {})
|
|
6
8
|
|
|
7
9
|
describe('<AddTrackWidget />', () => {
|
|
8
|
-
let session
|
|
9
|
-
let model
|
|
10
|
+
let session: AbstractSessionModel
|
|
11
|
+
let model: AddTrackModel
|
|
10
12
|
|
|
11
13
|
beforeAll(() => {
|
|
14
|
+
// @ts-ignore
|
|
12
15
|
session = createTestSession()
|
|
16
|
+
// @ts-ignore
|
|
13
17
|
session.addAssemblyConf({
|
|
14
18
|
name: 'volMyt1',
|
|
15
19
|
sequence: {
|
|
@@ -29,6 +33,7 @@ describe('<AddTrackWidget />', () => {
|
|
|
29
33
|
},
|
|
30
34
|
},
|
|
31
35
|
})
|
|
36
|
+
// @ts-ignore
|
|
32
37
|
session.addTrackConf({
|
|
33
38
|
trackId: 'i3jUPmrgMOS',
|
|
34
39
|
type: 'FeatureTrack',
|
|
@@ -77,6 +82,8 @@ describe('<AddTrackWidget />', () => {
|
|
|
77
82
|
},
|
|
78
83
|
filterAttributes: ['type', 'start', 'end'],
|
|
79
84
|
})
|
|
85
|
+
|
|
86
|
+
// @ts-ignore
|
|
80
87
|
const view = session.addView('LinearGenomeView', {
|
|
81
88
|
displayedRegions: [
|
|
82
89
|
{
|
|
@@ -87,58 +94,36 @@ describe('<AddTrackWidget />', () => {
|
|
|
87
94
|
},
|
|
88
95
|
],
|
|
89
96
|
})
|
|
97
|
+
|
|
98
|
+
// @ts-ignore
|
|
90
99
|
model = session.addWidget('AddTrackWidget', 'addTrackWidget', {
|
|
91
100
|
view: view.id,
|
|
92
101
|
})
|
|
93
102
|
})
|
|
94
103
|
|
|
95
|
-
afterEach(cleanup)
|
|
96
|
-
|
|
97
|
-
it('renders', () => {
|
|
98
|
-
const { container } = render(<AddTrackWidget model={model} />)
|
|
99
|
-
expect(container.firstChild).toMatchSnapshot()
|
|
100
|
-
})
|
|
101
|
-
|
|
102
104
|
it('adds a track', async () => {
|
|
103
105
|
const { getByTestId, getAllByTestId, findByText, findAllByText } = render(
|
|
104
106
|
<AddTrackWidget model={model} />,
|
|
105
107
|
)
|
|
108
|
+
// @ts-ignore
|
|
106
109
|
expect(session.sessionTracks.length).toBe(1)
|
|
107
110
|
fireEvent.change(getAllByTestId('urlInput')[0], {
|
|
108
111
|
target: { value: 'test.txt' },
|
|
109
112
|
})
|
|
110
|
-
fireEvent.click(
|
|
113
|
+
fireEvent.click(getAllByTestId('addTrackNextButton')[0])
|
|
111
114
|
fireEvent.mouseDown(getByTestId('adapterTypeSelect'))
|
|
112
115
|
const bamAdapter = await findByText('BamAdapter')
|
|
113
116
|
fireEvent.click(bamAdapter)
|
|
114
117
|
fireEvent.change(getByTestId('trackNameInput'), {
|
|
115
118
|
target: { value: 'Test track name' },
|
|
116
119
|
})
|
|
117
|
-
|
|
118
|
-
fireEvent.
|
|
119
|
-
|
|
120
|
-
fireEvent.click(featureTrack)
|
|
121
|
-
const assemblyNameSelect = getByTestId('assemblyNameSelect')
|
|
122
|
-
fireEvent.mouseDown(assemblyNameSelect)
|
|
120
|
+
fireEvent.mouseDown(getByTestId('trackTypeSelect'))
|
|
121
|
+
fireEvent.click(await findByText('FeatureTrack'))
|
|
122
|
+
fireEvent.mouseDown(getByTestId('assemblyNameSelect'))
|
|
123
123
|
const volMyt1 = await findAllByText('volMyt1')
|
|
124
124
|
fireEvent.click(volMyt1[1])
|
|
125
|
-
fireEvent.click(
|
|
126
|
-
|
|
127
|
-
})
|
|
128
|
-
|
|
129
|
-
xit('fails to add a track', async () => {
|
|
130
|
-
const { getByTestId, getAllByTestId, findByText } = render(
|
|
131
|
-
<AddTrackWidget model={model} />,
|
|
132
|
-
)
|
|
133
|
-
expect(session.sessionTracks.length).toBe(2)
|
|
134
|
-
fireEvent.change(getAllByTestId('urlInput')[0], {
|
|
135
|
-
target: { value: 'test.txt' },
|
|
136
|
-
})
|
|
137
|
-
fireEvent.click(getByTestId('addTrackNextButton'))
|
|
138
|
-
fireEvent.mouseDown(getByTestId('adapterTypeSelect'))
|
|
139
|
-
const chrom = await findByText('ChromSizesAdapter')
|
|
140
|
-
fireEvent.click(chrom)
|
|
141
|
-
fireEvent.click(getByTestId('addTrackNextButton'))
|
|
125
|
+
fireEvent.click(getAllByTestId('addTrackNextButton')[0])
|
|
126
|
+
// @ts-ignore
|
|
142
127
|
expect(session.sessionTracks.length).toBe(2)
|
|
143
128
|
})
|
|
144
129
|
})
|
|
@@ -1,209 +1,45 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
3
|
-
Button,
|
|
4
|
-
Step,
|
|
5
|
-
StepContent,
|
|
6
|
-
StepLabel,
|
|
7
|
-
Stepper,
|
|
8
|
-
Typography,
|
|
9
|
-
makeStyles,
|
|
10
|
-
} from '@material-ui/core'
|
|
11
|
-
import {
|
|
12
|
-
getSession,
|
|
13
|
-
isElectron,
|
|
14
|
-
supportedIndexingAdapters,
|
|
15
|
-
} from '@jbrowse/core/util'
|
|
16
|
-
import { getConf } from '@jbrowse/core/configuration'
|
|
1
|
+
import React from 'react'
|
|
17
2
|
import { observer } from 'mobx-react'
|
|
3
|
+
import { FormControl, FormHelperText, Select, MenuItem } from '@mui/material'
|
|
4
|
+
import { AddTrackWorkflowType } from '@jbrowse/core/pluggableElementTypes'
|
|
5
|
+
import { useLocalStorage } from '@jbrowse/core/util'
|
|
18
6
|
import { getEnv } from 'mobx-state-tree'
|
|
19
|
-
import { Alert } from '@material-ui/lab'
|
|
20
7
|
|
|
21
8
|
// locals
|
|
22
|
-
import ConfirmTrack from './ConfirmTrack'
|
|
23
|
-
import TrackSourceSelect from './TrackSourceSelect'
|
|
24
9
|
import { AddTrackModel } from '../model'
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
margin: theme.spacing(1),
|
|
42
|
-
},
|
|
43
|
-
alertContainer: {
|
|
44
|
-
padding: `${theme.spacing(2)}px 0px ${theme.spacing(2)}px 0px`,
|
|
45
|
-
},
|
|
46
|
-
}))
|
|
47
|
-
|
|
48
|
-
const steps = ['Enter track data', 'Confirm track type']
|
|
49
|
-
|
|
50
|
-
function AddTrackWidget({ model }: { model: AddTrackModel }) {
|
|
51
|
-
const [activeStep, setActiveStep] = useState(0)
|
|
52
|
-
const classes = useStyles()
|
|
53
|
-
const session = getSession(model)
|
|
54
|
-
const { pluginManager } = getEnv(session)
|
|
55
|
-
const { rootModel } = pluginManager
|
|
56
|
-
const { jobsManager } = rootModel
|
|
57
|
-
const {
|
|
58
|
-
assembly,
|
|
59
|
-
trackAdapter,
|
|
60
|
-
trackData,
|
|
61
|
-
trackName,
|
|
62
|
-
trackType,
|
|
63
|
-
textIndexTrack,
|
|
64
|
-
textIndexingConf,
|
|
65
|
-
} = model
|
|
66
|
-
const [trackErrorMessage, setTrackErrorMessage] = useState<string>()
|
|
67
|
-
|
|
68
|
-
function getStepContent(step: number) {
|
|
69
|
-
switch (step) {
|
|
70
|
-
case 0:
|
|
71
|
-
return <TrackSourceSelect model={model} />
|
|
72
|
-
case 1:
|
|
73
|
-
return <ConfirmTrack model={model} />
|
|
74
|
-
default:
|
|
75
|
-
return <Typography>Unknown step</Typography>
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async function handleNext() {
|
|
80
|
-
if (activeStep !== steps.length - 1) {
|
|
81
|
-
setActiveStep(activeStep + 1)
|
|
82
|
-
return
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const trackId = `${trackName
|
|
86
|
-
.toLowerCase()
|
|
87
|
-
.replace(/ /g, '_')}-${Date.now()}${
|
|
88
|
-
session.adminMode ? '' : '-sessionTrack'
|
|
89
|
-
}`
|
|
90
|
-
|
|
91
|
-
const assemblyInstance = session.assemblyManager.get(assembly)
|
|
92
|
-
|
|
93
|
-
if (trackAdapter && trackAdapter.type !== 'UNKNOWN') {
|
|
94
|
-
// @ts-ignore
|
|
95
|
-
session.addTrackConf({
|
|
96
|
-
trackId,
|
|
97
|
-
type: trackType,
|
|
98
|
-
name: trackName,
|
|
99
|
-
assemblyNames: [assembly],
|
|
100
|
-
adapter: {
|
|
101
|
-
...trackAdapter,
|
|
102
|
-
sequenceAdapter: getConf(assemblyInstance, ['sequence', 'adapter']),
|
|
103
|
-
},
|
|
104
|
-
})
|
|
105
|
-
const textSearchingDefault = {
|
|
106
|
-
attributes: ['Name', 'ID'],
|
|
107
|
-
exclude: ['CDS', 'exon'],
|
|
108
|
-
}
|
|
109
|
-
if (model.view) {
|
|
110
|
-
model.view.showTrack(trackId)
|
|
111
|
-
if (isElectron) {
|
|
112
|
-
if (textIndexTrack && supportedIndexingAdapters(trackAdapter.type)) {
|
|
113
|
-
const attr = textIndexingConf || textSearchingDefault
|
|
114
|
-
const indexName = trackName + '-index'
|
|
115
|
-
const indexingParams = {
|
|
116
|
-
...attr,
|
|
117
|
-
assemblies: [assembly],
|
|
118
|
-
tracks: [trackId],
|
|
119
|
-
indexType: 'perTrack',
|
|
120
|
-
name: indexName,
|
|
121
|
-
timestamp: new Date().toISOString(),
|
|
122
|
-
}
|
|
123
|
-
const newEntry = {
|
|
124
|
-
indexingParams: indexingParams,
|
|
125
|
-
name: indexName,
|
|
126
|
-
cancelCallback: () => {
|
|
127
|
-
jobsManager.abortJob()
|
|
128
|
-
},
|
|
129
|
-
}
|
|
130
|
-
jobsManager.queueJob(newEntry)
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
} else {
|
|
134
|
-
session.notify(
|
|
135
|
-
'Open a new view, or use the track selector in an existing view, to view this track',
|
|
136
|
-
'info',
|
|
137
|
-
)
|
|
138
|
-
}
|
|
139
|
-
model.clearData()
|
|
140
|
-
// @ts-ignore
|
|
141
|
-
session.hideWidget(model)
|
|
142
|
-
} else {
|
|
143
|
-
setTrackErrorMessage(
|
|
144
|
-
'Failed to add track.\nThe configuration of this file is not currently supported.',
|
|
145
|
-
)
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
function handleBack() {
|
|
150
|
-
setTrackErrorMessage(undefined)
|
|
151
|
-
setActiveStep(activeStep - 1)
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function isNextDisabled() {
|
|
155
|
-
switch (activeStep) {
|
|
156
|
-
case 0:
|
|
157
|
-
return !trackData
|
|
158
|
-
case 1:
|
|
159
|
-
return !(trackName && trackType && trackAdapter?.type && assembly)
|
|
160
|
-
default:
|
|
161
|
-
return true
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
10
|
+
import DefaultAddTrackWorkflow from './DefaultAddTrackWorkflow'
|
|
11
|
+
|
|
12
|
+
function AddTrackSelector({ model }: { model: AddTrackModel }) {
|
|
13
|
+
const [val, setVal] = useLocalStorage('trackSelector-choice', 'Default')
|
|
14
|
+
const { pluginManager } = getEnv(model)
|
|
15
|
+
const widgets = pluginManager.getElementTypesInGroup(
|
|
16
|
+
'add track workflow',
|
|
17
|
+
) as AddTrackWorkflowType[]
|
|
18
|
+
const ComponentMap = {
|
|
19
|
+
Default: DefaultAddTrackWorkflow,
|
|
20
|
+
...Object.fromEntries(widgets.map(w => [w.name, w.ReactComponent])),
|
|
21
|
+
} as { [key: string]: React.FC<{ model: AddTrackModel }> }
|
|
22
|
+
|
|
23
|
+
// make sure the selected value is in the list
|
|
24
|
+
const val2 = ComponentMap[val] ? val : 'Default'
|
|
25
|
+
const Component = ComponentMap[val2]
|
|
165
26
|
return (
|
|
166
|
-
|
|
167
|
-
<
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
className={classes.button}
|
|
182
|
-
>
|
|
183
|
-
Back
|
|
184
|
-
</Button>
|
|
185
|
-
<Button
|
|
186
|
-
disabled={isNextDisabled()}
|
|
187
|
-
variant="contained"
|
|
188
|
-
color="primary"
|
|
189
|
-
onClick={handleNext}
|
|
190
|
-
className={classes.button}
|
|
191
|
-
data-testid="addTrackNextButton"
|
|
192
|
-
>
|
|
193
|
-
{activeStep === steps.length - 1 ? 'Add' : 'Next'}
|
|
194
|
-
</Button>
|
|
195
|
-
</div>
|
|
196
|
-
{trackErrorMessage ? (
|
|
197
|
-
<div className={classes.alertContainer}>
|
|
198
|
-
<Alert severity="error">{trackErrorMessage}</Alert>
|
|
199
|
-
</div>
|
|
200
|
-
) : null}
|
|
201
|
-
</StepContent>
|
|
202
|
-
</Step>
|
|
203
|
-
))}
|
|
204
|
-
</Stepper>
|
|
205
|
-
</div>
|
|
27
|
+
<>
|
|
28
|
+
<FormControl>
|
|
29
|
+
<Select value={val2} onChange={event => setVal(event.target.value)}>
|
|
30
|
+
{Object.keys(ComponentMap).map(e => (
|
|
31
|
+
<MenuItem key={e} value={e}>
|
|
32
|
+
{e}
|
|
33
|
+
</MenuItem>
|
|
34
|
+
))}
|
|
35
|
+
</Select>
|
|
36
|
+
<FormHelperText>Type of add track workflow</FormHelperText>
|
|
37
|
+
</FormControl>
|
|
38
|
+
|
|
39
|
+
<br />
|
|
40
|
+
<Component model={model} />
|
|
41
|
+
</>
|
|
206
42
|
)
|
|
207
43
|
}
|
|
208
44
|
|
|
209
|
-
export default observer(
|
|
45
|
+
export default observer(AddTrackSelector)
|