@jbrowse/plugin-data-management 2.1.0 → 2.1.3
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 +23 -40
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -1
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +6 -6
- package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -1
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +7 -9
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
- package/dist/AddConnectionWidget/index.js +1 -1
- package/dist/AddConnectionWidget/index.js.map +1 -1
- package/dist/AddConnectionWidget/model.js +2 -2
- package/dist/AddConnectionWidget/model.js.map +1 -1
- package/dist/AddTrackWidget/components/AddTrackWidget.js +17 -42
- package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -1
- package/dist/AddTrackWidget/components/ConfirmTrack.js +70 -96
- package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +78 -138
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -1
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +11 -12
- package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -1
- package/dist/AddTrackWidget/index.js +1 -1
- package/dist/AddTrackWidget/index.js.map +1 -1
- package/dist/AddTrackWidget/model.js +34 -30
- package/dist/AddTrackWidget/model.js.map +1 -1
- package/dist/AssemblyManager/AssemblyAddForm.js +42 -61
- package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -1
- package/dist/AssemblyManager/AssemblyEditor.js +4 -5
- package/dist/AssemblyManager/AssemblyEditor.js.map +1 -1
- package/dist/AssemblyManager/AssemblyManager.js +24 -41
- package/dist/AssemblyManager/AssemblyManager.js.map +1 -1
- package/dist/AssemblyManager/AssemblyTable.js +17 -18
- package/dist/AssemblyManager/AssemblyTable.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +9 -29
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +7 -8
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/Header.js +74 -106
- package/dist/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +70 -147
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +17 -18
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/Node.js +89 -123
- package/dist/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +19 -20
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -3
- package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/configSchema.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/index.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/model.js +87 -141
- package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
- package/dist/PluginStoreWidget/components/CustomPluginForm.js +25 -43
- package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -1
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +29 -47
- package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -1
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +12 -15
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
- package/dist/PluginStoreWidget/components/PluginCard.js +23 -40
- package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -1
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +49 -117
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
- package/dist/PluginStoreWidget/index.js +1 -1
- package/dist/PluginStoreWidget/index.js.map +1 -1
- package/dist/PluginStoreWidget/model.js +6 -6
- package/dist/PluginStoreWidget/model.js.map +1 -1
- package/dist/SetDefaultSession/SetDefaultSession.js +9 -10
- package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -1
- package/dist/index.js +38 -60
- package/dist/index.js.map +1 -1
- package/dist/ucsc-trackhub/configSchema.js +2 -2
- package/dist/ucsc-trackhub/configSchema.js.map +1 -1
- package/dist/ucsc-trackhub/model.js +33 -97
- package/dist/ucsc-trackhub/model.js.map +1 -1
- package/dist/ucsc-trackhub/ucscAssemblies.js +197 -1
- package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -1
- package/dist/ucsc-trackhub/ucscTrackHub.js +43 -132
- package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/Node.js +41 -46
- package/esm/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/model.js +2 -1
- package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +1 -2
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
- package/package.json +2 -3
- package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +7 -8
- package/src/HierarchicalTrackSelectorWidget/components/{HierarchicalTrackSelector.test.js → HierarchicalTrackSelector.test.tsx} +29 -12
- package/src/HierarchicalTrackSelectorWidget/components/Node.tsx +2 -4
- package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/{HierarchicalTrackSelector.test.js.snap → HierarchicalTrackSelector.test.tsx.snap} +24 -48
- package/src/HierarchicalTrackSelectorWidget/model.ts +4 -1
- package/src/PluginStoreWidget/components/PluginStoreWidget.test.js +16 -4
- package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +1 -2
- package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +111 -123
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { createJBrowseTheme } from '@jbrowse/core/ui'
|
|
1
5
|
import { createTestSession } from '@jbrowse/web/src/rootModel'
|
|
2
|
-
import { createTheme, ThemeProvider } from '@mui/material/styles'
|
|
3
6
|
import { cleanup, render } from '@testing-library/react'
|
|
4
|
-
import
|
|
7
|
+
import { ThemeProvider } from '@mui/material/styles'
|
|
8
|
+
|
|
9
|
+
// locals
|
|
5
10
|
import HierarchicalTrackSelector from './HierarchicalTrackSelector'
|
|
11
|
+
|
|
6
12
|
jest.mock('@jbrowse/web/src/makeWorkerInstance', () => () => {})
|
|
7
13
|
|
|
14
|
+
// @ts-ignore
|
|
8
15
|
window.requestIdleCallback = cb => cb()
|
|
9
16
|
window.cancelIdleCallback = () => {}
|
|
10
17
|
|
|
@@ -13,11 +20,12 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
13
20
|
|
|
14
21
|
it('renders nothing with no assembly', () => {
|
|
15
22
|
const session = createTestSession()
|
|
16
|
-
const firstView = session
|
|
23
|
+
const firstView = session!.addView('LinearGenomeView')
|
|
17
24
|
const model = firstView.activateTrackSelector()
|
|
18
25
|
|
|
19
26
|
const { container } = render(
|
|
20
|
-
<ThemeProvider theme={
|
|
27
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
28
|
+
{/* @ts-ignore*/}
|
|
21
29
|
<HierarchicalTrackSelector model={model} />
|
|
22
30
|
</ThemeProvider>,
|
|
23
31
|
)
|
|
@@ -26,6 +34,7 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
26
34
|
|
|
27
35
|
it('renders with a couple of uncategorized tracks', async () => {
|
|
28
36
|
const session = createTestSession()
|
|
37
|
+
// @ts-ignore
|
|
29
38
|
session.addAssemblyConf({
|
|
30
39
|
name: 'volMyt1',
|
|
31
40
|
sequence: {
|
|
@@ -45,19 +54,21 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
45
54
|
},
|
|
46
55
|
},
|
|
47
56
|
})
|
|
57
|
+
// @ts-ignore
|
|
48
58
|
session.addTrackConf({
|
|
49
59
|
trackId: 'fooC',
|
|
50
60
|
assemblyNames: ['volMyt1'],
|
|
51
61
|
type: 'FeatureTrack',
|
|
52
62
|
adapter: { type: 'FromConfigAdapter', features: [] },
|
|
53
63
|
})
|
|
64
|
+
// @ts-ignore
|
|
54
65
|
session.addTrackConf({
|
|
55
66
|
trackId: 'barC',
|
|
56
67
|
assemblyNames: ['volMyt1'],
|
|
57
68
|
type: 'FeatureTrack',
|
|
58
69
|
adapter: { type: 'FromConfigAdapter', features: [] },
|
|
59
70
|
})
|
|
60
|
-
const firstView = session
|
|
71
|
+
const firstView = session!.addView('LinearGenomeView', {
|
|
61
72
|
displayedRegions: [
|
|
62
73
|
{
|
|
63
74
|
assemblyName: 'volMyt1',
|
|
@@ -67,12 +78,13 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
67
78
|
},
|
|
68
79
|
],
|
|
69
80
|
})
|
|
70
|
-
firstView.showTrack(session
|
|
71
|
-
firstView.showTrack(session
|
|
81
|
+
firstView.showTrack(session!.sessionTracks[0].trackId)
|
|
82
|
+
firstView.showTrack(session!.sessionTracks[1].trackId)
|
|
72
83
|
const model = firstView.activateTrackSelector()
|
|
73
84
|
|
|
74
85
|
const { container, findByTestId } = render(
|
|
75
|
-
<ThemeProvider theme={
|
|
86
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
87
|
+
{/* @ts-ignore*/}
|
|
76
88
|
<HierarchicalTrackSelector model={model} />
|
|
77
89
|
</ThemeProvider>,
|
|
78
90
|
)
|
|
@@ -82,6 +94,7 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
82
94
|
|
|
83
95
|
it('renders with a couple of categorized tracks', async () => {
|
|
84
96
|
const session = createTestSession()
|
|
97
|
+
// @ts-ignore
|
|
85
98
|
session.addAssemblyConf({
|
|
86
99
|
name: 'volMyt1',
|
|
87
100
|
sequence: {
|
|
@@ -101,19 +114,22 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
101
114
|
},
|
|
102
115
|
},
|
|
103
116
|
})
|
|
117
|
+
|
|
118
|
+
// @ts-ignore
|
|
104
119
|
session.addTrackConf({
|
|
105
120
|
trackId: 'fooC',
|
|
106
121
|
assemblyNames: ['volMyt1'],
|
|
107
122
|
type: 'FeatureTrack',
|
|
108
123
|
adapter: { type: 'FromConfigAdapter', features: [] },
|
|
109
124
|
})
|
|
125
|
+
// @ts-ignore
|
|
110
126
|
session.addTrackConf({
|
|
111
127
|
trackId: 'barC',
|
|
112
128
|
assemblyNames: ['volMyt1'],
|
|
113
129
|
type: 'FeatureTrack',
|
|
114
130
|
adapter: { type: 'FromConfigAdapter', features: [] },
|
|
115
131
|
})
|
|
116
|
-
const firstView = session
|
|
132
|
+
const firstView = session!.addView('LinearGenomeView', {
|
|
117
133
|
displayedRegions: [
|
|
118
134
|
{
|
|
119
135
|
assemblyName: 'volMyt1',
|
|
@@ -123,8 +139,8 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
123
139
|
},
|
|
124
140
|
],
|
|
125
141
|
})
|
|
126
|
-
firstView.showTrack(session
|
|
127
|
-
firstView.showTrack(session
|
|
142
|
+
firstView.showTrack(session!.sessionTracks[0].trackId)
|
|
143
|
+
firstView.showTrack(session!.sessionTracks[1].trackId)
|
|
128
144
|
firstView.tracks[0].configuration.category.set(['Foo Category'])
|
|
129
145
|
firstView.tracks[1].configuration.category.set([
|
|
130
146
|
'Foo Category',
|
|
@@ -133,7 +149,8 @@ describe('HierarchicalTrackSelector widget', () => {
|
|
|
133
149
|
const model = firstView.activateTrackSelector()
|
|
134
150
|
|
|
135
151
|
const { container, findByTestId } = render(
|
|
136
|
-
<ThemeProvider theme={
|
|
152
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
153
|
+
{/* @ts-ignore*/}
|
|
137
154
|
<HierarchicalTrackSelector model={model} />
|
|
138
155
|
</ThemeProvider>,
|
|
139
156
|
)
|
|
@@ -60,10 +60,8 @@ const useStyles = makeStyles()(theme => ({
|
|
|
60
60
|
// accordionColor set's display:flex so that the child accordionText use
|
|
61
61
|
// vertically centered text
|
|
62
62
|
accordionColor: {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// @ts-ignore
|
|
66
|
-
color: theme.palette.tertiary?.contrastText,
|
|
63
|
+
background: theme.palette.tertiary.main,
|
|
64
|
+
color: theme.palette.tertiary.contrastText,
|
|
67
65
|
width: '100%',
|
|
68
66
|
display: 'flex',
|
|
69
67
|
paddingLeft: 5,
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`HierarchicalTrackSelector widget renders nothing with no assembly 1`] = `
|
|
4
4
|
<button
|
|
5
|
-
class="MuiButtonBase-root MuiFab-root MuiFab-circular MuiFab-
|
|
5
|
+
class="MuiButtonBase-root MuiFab-root MuiFab-circular MuiFab-sizeSmall MuiFab-secondary tss-805w6w-fab css-10w0o2e-MuiButtonBase-root-MuiFab-root"
|
|
6
6
|
tabindex="0"
|
|
7
7
|
type="button"
|
|
8
8
|
>
|
|
9
9
|
<svg
|
|
10
10
|
aria-hidden="true"
|
|
11
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
11
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
12
12
|
data-testid="AddIcon"
|
|
13
13
|
focusable="false"
|
|
14
14
|
viewBox="0 0 24 24"
|
|
@@ -31,13 +31,13 @@ exports[`HierarchicalTrackSelector widget renders with a couple of categorized t
|
|
|
31
31
|
style="display: flex;"
|
|
32
32
|
>
|
|
33
33
|
<button
|
|
34
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
34
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall tss-1qeitpp-menuIcon css-zubjuh-MuiButtonBase-root-MuiIconButton-root"
|
|
35
35
|
tabindex="0"
|
|
36
36
|
type="button"
|
|
37
37
|
>
|
|
38
38
|
<svg
|
|
39
39
|
aria-hidden="true"
|
|
40
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
40
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
41
41
|
data-testid="MenuIcon"
|
|
42
42
|
focusable="false"
|
|
43
43
|
viewBox="0 0 24 24"
|
|
@@ -51,13 +51,13 @@ exports[`HierarchicalTrackSelector widget renders with a couple of categorized t
|
|
|
51
51
|
/>
|
|
52
52
|
</button>
|
|
53
53
|
<button
|
|
54
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
54
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall tss-1qeitpp-menuIcon css-zubjuh-MuiButtonBase-root-MuiIconButton-root"
|
|
55
55
|
tabindex="0"
|
|
56
56
|
type="button"
|
|
57
57
|
>
|
|
58
58
|
<svg
|
|
59
59
|
aria-hidden="true"
|
|
60
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
60
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
61
61
|
focusable="false"
|
|
62
62
|
viewBox="0 0 24 24"
|
|
63
63
|
>
|
|
@@ -70,10 +70,10 @@ exports[`HierarchicalTrackSelector widget renders with a couple of categorized t
|
|
|
70
70
|
/>
|
|
71
71
|
</button>
|
|
72
72
|
<div
|
|
73
|
-
class="MuiFormControl-root MuiFormControl-fullWidth MuiTextField-root tss-
|
|
73
|
+
class="MuiFormControl-root MuiFormControl-marginDense MuiFormControl-fullWidth MuiTextField-root tss-45fwc5-searchBox css-1z10yd4-MuiFormControl-root-MuiTextField-root"
|
|
74
74
|
>
|
|
75
75
|
<label
|
|
76
|
-
class="MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-
|
|
76
|
+
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-sizeSmall MuiInputLabel-standard MuiFormLabel-colorPrimary css-1s1jvl0-MuiFormLabel-root-MuiInputLabel-root"
|
|
77
77
|
data-shrink="false"
|
|
78
78
|
for="mui-5"
|
|
79
79
|
id="mui-5-label"
|
|
@@ -81,26 +81,26 @@ exports[`HierarchicalTrackSelector widget renders with a couple of categorized t
|
|
|
81
81
|
Filter tracks
|
|
82
82
|
</label>
|
|
83
83
|
<div
|
|
84
|
-
class="
|
|
84
|
+
class="MuiInputBase-root MuiInput-root MuiInput-underline MuiInputBase-colorPrimary MuiInputBase-fullWidth MuiInputBase-formControl MuiInputBase-sizeSmall MuiInputBase-adornedEnd css-1wz39fi-MuiInputBase-root-MuiInput-root"
|
|
85
85
|
>
|
|
86
86
|
<input
|
|
87
87
|
aria-invalid="false"
|
|
88
|
-
class="
|
|
88
|
+
class="MuiInputBase-input MuiInput-input MuiInputBase-inputSizeSmall MuiInputBase-inputAdornedEnd css-nz481w-MuiInputBase-input-MuiInput-input"
|
|
89
89
|
id="mui-5"
|
|
90
90
|
type="text"
|
|
91
91
|
value=""
|
|
92
92
|
/>
|
|
93
93
|
<div
|
|
94
|
-
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-
|
|
94
|
+
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-standard MuiInputAdornment-sizeSmall css-1laqsz7-MuiInputAdornment-root"
|
|
95
95
|
>
|
|
96
96
|
<button
|
|
97
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-
|
|
97
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-sizeSmall css-16a6k96-MuiButtonBase-root-MuiIconButton-root"
|
|
98
98
|
tabindex="0"
|
|
99
99
|
type="button"
|
|
100
100
|
>
|
|
101
101
|
<svg
|
|
102
102
|
aria-hidden="true"
|
|
103
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
103
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
104
104
|
data-testid="ClearIcon"
|
|
105
105
|
focusable="false"
|
|
106
106
|
viewBox="0 0 24 24"
|
|
@@ -114,18 +114,6 @@ exports[`HierarchicalTrackSelector widget renders with a couple of categorized t
|
|
|
114
114
|
/>
|
|
115
115
|
</button>
|
|
116
116
|
</div>
|
|
117
|
-
<fieldset
|
|
118
|
-
aria-hidden="true"
|
|
119
|
-
class="MuiOutlinedInput-notchedOutline css-1d3z3hw-MuiOutlinedInput-notchedOutline"
|
|
120
|
-
>
|
|
121
|
-
<legend
|
|
122
|
-
class="css-1ftyaf0"
|
|
123
|
-
>
|
|
124
|
-
<span>
|
|
125
|
-
Filter tracks
|
|
126
|
-
</span>
|
|
127
|
-
</legend>
|
|
128
|
-
</fieldset>
|
|
129
117
|
</div>
|
|
130
118
|
</div>
|
|
131
119
|
</div>
|
|
@@ -140,13 +128,13 @@ exports[`HierarchicalTrackSelector widget renders with a couple of uncategorized
|
|
|
140
128
|
style="display: flex;"
|
|
141
129
|
>
|
|
142
130
|
<button
|
|
143
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
131
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall tss-1qeitpp-menuIcon css-zubjuh-MuiButtonBase-root-MuiIconButton-root"
|
|
144
132
|
tabindex="0"
|
|
145
133
|
type="button"
|
|
146
134
|
>
|
|
147
135
|
<svg
|
|
148
136
|
aria-hidden="true"
|
|
149
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
137
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
150
138
|
data-testid="MenuIcon"
|
|
151
139
|
focusable="false"
|
|
152
140
|
viewBox="0 0 24 24"
|
|
@@ -160,13 +148,13 @@ exports[`HierarchicalTrackSelector widget renders with a couple of uncategorized
|
|
|
160
148
|
/>
|
|
161
149
|
</button>
|
|
162
150
|
<button
|
|
163
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
151
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall tss-1qeitpp-menuIcon css-zubjuh-MuiButtonBase-root-MuiIconButton-root"
|
|
164
152
|
tabindex="0"
|
|
165
153
|
type="button"
|
|
166
154
|
>
|
|
167
155
|
<svg
|
|
168
156
|
aria-hidden="true"
|
|
169
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
157
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
170
158
|
focusable="false"
|
|
171
159
|
viewBox="0 0 24 24"
|
|
172
160
|
>
|
|
@@ -179,10 +167,10 @@ exports[`HierarchicalTrackSelector widget renders with a couple of uncategorized
|
|
|
179
167
|
/>
|
|
180
168
|
</button>
|
|
181
169
|
<div
|
|
182
|
-
class="MuiFormControl-root MuiFormControl-fullWidth MuiTextField-root tss-
|
|
170
|
+
class="MuiFormControl-root MuiFormControl-marginDense MuiFormControl-fullWidth MuiTextField-root tss-45fwc5-searchBox css-1z10yd4-MuiFormControl-root-MuiTextField-root"
|
|
183
171
|
>
|
|
184
172
|
<label
|
|
185
|
-
class="MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-
|
|
173
|
+
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-sizeSmall MuiInputLabel-standard MuiFormLabel-colorPrimary css-1s1jvl0-MuiFormLabel-root-MuiInputLabel-root"
|
|
186
174
|
data-shrink="false"
|
|
187
175
|
for="mui-1"
|
|
188
176
|
id="mui-1-label"
|
|
@@ -190,26 +178,26 @@ exports[`HierarchicalTrackSelector widget renders with a couple of uncategorized
|
|
|
190
178
|
Filter tracks
|
|
191
179
|
</label>
|
|
192
180
|
<div
|
|
193
|
-
class="
|
|
181
|
+
class="MuiInputBase-root MuiInput-root MuiInput-underline MuiInputBase-colorPrimary MuiInputBase-fullWidth MuiInputBase-formControl MuiInputBase-sizeSmall MuiInputBase-adornedEnd css-1wz39fi-MuiInputBase-root-MuiInput-root"
|
|
194
182
|
>
|
|
195
183
|
<input
|
|
196
184
|
aria-invalid="false"
|
|
197
|
-
class="
|
|
185
|
+
class="MuiInputBase-input MuiInput-input MuiInputBase-inputSizeSmall MuiInputBase-inputAdornedEnd css-nz481w-MuiInputBase-input-MuiInput-input"
|
|
198
186
|
id="mui-1"
|
|
199
187
|
type="text"
|
|
200
188
|
value=""
|
|
201
189
|
/>
|
|
202
190
|
<div
|
|
203
|
-
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-
|
|
191
|
+
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-standard MuiInputAdornment-sizeSmall css-1laqsz7-MuiInputAdornment-root"
|
|
204
192
|
>
|
|
205
193
|
<button
|
|
206
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-
|
|
194
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorSecondary MuiIconButton-sizeSmall css-16a6k96-MuiButtonBase-root-MuiIconButton-root"
|
|
207
195
|
tabindex="0"
|
|
208
196
|
type="button"
|
|
209
197
|
>
|
|
210
198
|
<svg
|
|
211
199
|
aria-hidden="true"
|
|
212
|
-
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-
|
|
200
|
+
class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium css-havevq-MuiSvgIcon-root"
|
|
213
201
|
data-testid="ClearIcon"
|
|
214
202
|
focusable="false"
|
|
215
203
|
viewBox="0 0 24 24"
|
|
@@ -223,18 +211,6 @@ exports[`HierarchicalTrackSelector widget renders with a couple of uncategorized
|
|
|
223
211
|
/>
|
|
224
212
|
</button>
|
|
225
213
|
</div>
|
|
226
|
-
<fieldset
|
|
227
|
-
aria-hidden="true"
|
|
228
|
-
class="MuiOutlinedInput-notchedOutline css-1d3z3hw-MuiOutlinedInput-notchedOutline"
|
|
229
|
-
>
|
|
230
|
-
<legend
|
|
231
|
-
class="css-1ftyaf0"
|
|
232
|
-
>
|
|
233
|
-
<span>
|
|
234
|
-
Filter tracks
|
|
235
|
-
</span>
|
|
236
|
-
</legend>
|
|
237
|
-
</fieldset>
|
|
238
214
|
</div>
|
|
239
215
|
</div>
|
|
240
216
|
</div>
|
|
@@ -27,7 +27,10 @@ function getTrackName(config: AnyConfigurationModel): string {
|
|
|
27
27
|
}
|
|
28
28
|
return (
|
|
29
29
|
readConfObject(config, 'name') ||
|
|
30
|
-
`Reference sequence (${
|
|
30
|
+
`Reference sequence (${
|
|
31
|
+
readConfObject(getParent(config), 'displayName') ||
|
|
32
|
+
readConfObject(getParent(config), 'name')
|
|
33
|
+
})`
|
|
31
34
|
)
|
|
32
35
|
}
|
|
33
36
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { getSnapshot, getParent } from 'mobx-state-tree'
|
|
3
|
+
import { ThemeProvider } from '@mui/material/styles'
|
|
3
4
|
import { render, cleanup, fireEvent, waitFor } from '@testing-library/react'
|
|
5
|
+
import { createJBrowseTheme } from '@jbrowse/core/ui'
|
|
4
6
|
import { createTestSession } from '@jbrowse/web/src/rootModel'
|
|
5
7
|
|
|
6
8
|
import PluginStoreWidget from './PluginStoreWidget'
|
|
@@ -42,14 +44,20 @@ describe('<PluginStoreWidget />', () => {
|
|
|
42
44
|
|
|
43
45
|
it('renders with the available plugins', async () => {
|
|
44
46
|
const { container, findByText } = render(
|
|
45
|
-
<
|
|
47
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
48
|
+
<PluginStoreWidget model={model} />
|
|
49
|
+
</ThemeProvider>,
|
|
46
50
|
)
|
|
47
51
|
await findByText('multiple sequence alignment browser plugin for JBrowse 2')
|
|
48
52
|
expect(container.firstChild).toMatchSnapshot()
|
|
49
53
|
})
|
|
50
54
|
|
|
51
55
|
it('Installs a session plugin', async () => {
|
|
52
|
-
const { findByText } = render(
|
|
56
|
+
const { findByText } = render(
|
|
57
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
58
|
+
<PluginStoreWidget model={model} />
|
|
59
|
+
</ThemeProvider>,
|
|
60
|
+
)
|
|
53
61
|
await findByText('multiple sequence alignment browser plugin for JBrowse 2')
|
|
54
62
|
fireEvent.click(await findByText('Install'))
|
|
55
63
|
await waitFor(() => {
|
|
@@ -62,7 +70,9 @@ describe('<PluginStoreWidget />', () => {
|
|
|
62
70
|
session = createTestSession({}, true)
|
|
63
71
|
model = session.addWidget('PluginStoreWidget', 'pluginStoreWidget')
|
|
64
72
|
const { findByText, getByText, getByLabelText } = render(
|
|
65
|
-
<
|
|
73
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
74
|
+
<PluginStoreWidget model={model} />
|
|
75
|
+
</ThemeProvider>,
|
|
66
76
|
)
|
|
67
77
|
await findByText('multiple sequence alignment browser plugin for JBrowse 2')
|
|
68
78
|
fireEvent.click(getByText('Add custom plugin'))
|
|
@@ -99,7 +109,9 @@ describe('<PluginStoreWidget />', () => {
|
|
|
99
109
|
const { jbrowse } = rootModel
|
|
100
110
|
jbrowse.addPlugin(plugins.plugins[0])
|
|
101
111
|
const { findByText, getByText, getByTestId } = render(
|
|
102
|
-
<
|
|
112
|
+
<ThemeProvider theme={createJBrowseTheme()}>
|
|
113
|
+
<PluginStoreWidget model={model} />
|
|
114
|
+
</ThemeProvider>,
|
|
103
115
|
)
|
|
104
116
|
await findByText('multiple sequence alignment browser plugin for JBrowse 2')
|
|
105
117
|
fireEvent.click(getByTestId('removePlugin-SVGPlugin'))
|
|
@@ -37,8 +37,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
37
37
|
adminBadge: {
|
|
38
38
|
margin: '0.5em',
|
|
39
39
|
borderRadius: 3,
|
|
40
|
-
|
|
41
|
-
backgroundColor: '#FFB11D',
|
|
40
|
+
backgroundColor: theme.palette.quaternary.main,
|
|
42
41
|
padding: '1em',
|
|
43
42
|
display: 'flex',
|
|
44
43
|
alignContent: 'center',
|