@jbrowse/plugin-data-management 2.4.0 → 2.4.2
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/AddTrackWidget/components/ConfirmTrack.js +1 -1
- package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
- package/dist/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
- package/dist/AddTrackWidget/components/TrackAdapterSelector.js.map +1 -1
- package/dist/AddTrackWidget/components/TrackTypeSelector.js +1 -1
- package/dist/AddTrackWidget/components/TrackTypeSelector.js.map +1 -1
- package/dist/AddTrackWidget/model.js +5 -5
- package/dist/AddTrackWidget/model.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +9 -9
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +2 -4
- package/dist/HierarchicalTrackSelectorWidget/index.js +4 -2
- package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/model.js +15 -6
- package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +4 -4
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
- package/dist/PluginStoreWidget/components/PluginCard.js +2 -1
- package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js.map +1 -1
- package/dist/ucsc-trackhub/ucscTrackHub.d.ts +1 -2
- package/dist/ucsc-trackhub/ucscTrackHub.js +11 -11
- package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -1
- package/esm/AddTrackWidget/components/ConfirmTrack.js +1 -1
- package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
- package/esm/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
- package/esm/AddTrackWidget/components/TrackAdapterSelector.js.map +1 -1
- package/esm/AddTrackWidget/components/TrackTypeSelector.js +1 -1
- package/esm/AddTrackWidget/components/TrackTypeSelector.js.map +1 -1
- package/esm/AddTrackWidget/model.js +5 -5
- package/esm/AddTrackWidget/model.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +9 -9
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -4
- package/esm/HierarchicalTrackSelectorWidget/index.js +2 -1
- package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/model.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/model.js +15 -6
- package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js +4 -4
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
- package/esm/PluginStoreWidget/components/PluginCard.js +2 -1
- package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -1
- package/esm/index.d.ts +2 -3
- package/esm/index.js.map +1 -1
- package/esm/ucsc-trackhub/ucscTrackHub.d.ts +1 -2
- package/esm/ucsc-trackhub/ucscTrackHub.js +9 -10
- package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -1
- package/package.json +2 -2
- package/src/AddConnectionWidget/components/AddConnectionWidget.test.tsx +4 -4
- package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +1 -1
- package/src/AddTrackWidget/components/ConfirmTrack.tsx +1 -1
- package/src/AddTrackWidget/components/TrackAdapterSelector.tsx +1 -1
- package/src/AddTrackWidget/components/TrackTypeSelector.tsx +1 -1
- package/src/AddTrackWidget/index.test.tsx +2 -2
- package/src/AddTrackWidget/model.ts +5 -5
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.tsx +4 -4
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.tsx +9 -9
- package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx +4 -5
- package/src/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.tsx +0 -2
- package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.tsx +4 -4
- package/src/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/util.ts +1 -1
- package/src/HierarchicalTrackSelectorWidget/index.ts +7 -4
- package/src/HierarchicalTrackSelectorWidget/model.ts +14 -6
- package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +7 -5
- package/src/PluginStoreWidget/components/PluginCard.tsx +2 -3
- package/src/PluginStoreWidget/components/PluginStoreWidget.test.tsx +3 -3
- package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.tsx.snap +1 -1
- package/src/index.ts +5 -5
- package/src/ucsc-trackhub/ucscTrackHub.ts +9 -10
|
@@ -15,7 +15,14 @@ import { ElementId } from '@jbrowse/core/util/types/mst'
|
|
|
15
15
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
16
16
|
|
|
17
17
|
function hasAnyOverlap<T>(a1: T[] = [], a2: T[] = []) {
|
|
18
|
-
|
|
18
|
+
// shortcut case is that arrays are single entries, and are equal
|
|
19
|
+
// long case is that we use a set
|
|
20
|
+
if (a1[0] === a2[0]) {
|
|
21
|
+
return true
|
|
22
|
+
} else {
|
|
23
|
+
const s1 = new Set(a1)
|
|
24
|
+
return a2.some(a => s1.has(a))
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
export function matches(
|
|
@@ -116,7 +123,7 @@ export function generateHierarchy(
|
|
|
116
123
|
id: conf.trackId,
|
|
117
124
|
name: getTrackName(conf, session),
|
|
118
125
|
conf,
|
|
119
|
-
checked:
|
|
126
|
+
checked: tracks.some(f => f.configuration === conf),
|
|
120
127
|
children: [],
|
|
121
128
|
},
|
|
122
129
|
)
|
|
@@ -175,7 +182,7 @@ export default function stateTreeFactory(pluginManager: PluginManager) {
|
|
|
175
182
|
return undefined
|
|
176
183
|
}
|
|
177
184
|
for (const display of trackConf.displays) {
|
|
178
|
-
if (viewType.displayTypes.
|
|
185
|
+
if (viewType.displayTypes.some(d => d.name === display.type)) {
|
|
179
186
|
return trackConf
|
|
180
187
|
}
|
|
181
188
|
}
|
|
@@ -194,9 +201,10 @@ export default function stateTreeFactory(pluginManager: PluginManager) {
|
|
|
194
201
|
const refseq = self.getRefSeqTrackConf(assemblyName)
|
|
195
202
|
// filter out tracks that don't match the current assembly (check all
|
|
196
203
|
// assembly aliases) and display types
|
|
197
|
-
return
|
|
204
|
+
return [
|
|
205
|
+
...(refseq ? [refseq] : []),
|
|
198
206
|
...filterTracks(tracks, self, assemblyName),
|
|
199
|
-
]
|
|
207
|
+
]
|
|
200
208
|
},
|
|
201
209
|
|
|
202
210
|
get assemblyNames(): string[] {
|
|
@@ -233,7 +241,7 @@ export default function stateTreeFactory(pluginManager: PluginManager) {
|
|
|
233
241
|
(assembly &&
|
|
234
242
|
connectionInstances
|
|
235
243
|
?.map(c => ({
|
|
236
|
-
// @ts-
|
|
244
|
+
// @ts-expect-error
|
|
237
245
|
id: getSnapshot(c).configuration,
|
|
238
246
|
name: getConf(c, 'name'),
|
|
239
247
|
children: this.connectionHierarchy(assemblyName, c),
|
|
@@ -14,17 +14,19 @@ function InstalledPluginsList({
|
|
|
14
14
|
}) {
|
|
15
15
|
const { plugins } = pluginManager
|
|
16
16
|
|
|
17
|
-
const corePlugins =
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const corePlugins = new Set(
|
|
18
|
+
plugins
|
|
19
|
+
.filter(p => pluginManager.pluginMetadata[p.name]?.isCore)
|
|
20
|
+
.map(p => p.name),
|
|
21
|
+
)
|
|
20
22
|
|
|
21
23
|
const externalPlugins = plugins.filter(
|
|
22
|
-
plugin => !corePlugins.
|
|
24
|
+
plugin => !corePlugins.has(plugin.name),
|
|
23
25
|
)
|
|
24
26
|
|
|
25
27
|
return (
|
|
26
28
|
<List>
|
|
27
|
-
{externalPlugins.length ? (
|
|
29
|
+
{externalPlugins.length > 0 ? (
|
|
28
30
|
externalPlugins
|
|
29
31
|
.filter(plugin =>
|
|
30
32
|
plugin.name.toLowerCase().includes(model.filterText.toLowerCase()),
|
|
@@ -54,9 +54,8 @@ export default observer(function PluginCard({
|
|
|
54
54
|
const { classes } = useStyles()
|
|
55
55
|
const session = getSession(model)
|
|
56
56
|
const { pluginManager } = getEnv(model)
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
)
|
|
57
|
+
const { runtimePluginDefinitions } = pluginManager
|
|
58
|
+
const isInstalled = runtimePluginDefinitions.some(d => d.url === plugin.url)
|
|
60
59
|
const [tempDisabled, setTempDisabled] = useState(false)
|
|
61
60
|
const disableButton = isInstalled || tempDisabled
|
|
62
61
|
|
|
@@ -34,17 +34,17 @@ beforeEach(() => {
|
|
|
34
34
|
model = session.addWidget('PluginStoreWidget', 'pluginStoreWidget')
|
|
35
35
|
const { location } = window
|
|
36
36
|
|
|
37
|
-
// @ts-
|
|
37
|
+
// @ts-expect-error
|
|
38
38
|
delete window.location
|
|
39
39
|
window.location = {
|
|
40
40
|
...location,
|
|
41
41
|
reload: jest.fn(),
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
// @ts-
|
|
44
|
+
// @ts-expect-error
|
|
45
45
|
fetch.resetMocks()
|
|
46
46
|
|
|
47
|
-
// @ts-
|
|
47
|
+
// @ts-expect-error
|
|
48
48
|
fetch.mockResponse(JSON.stringify(plugins))
|
|
49
49
|
})
|
|
50
50
|
|
|
@@ -789,7 +789,7 @@ exports[`renders with the available plugins 1`] = `
|
|
|
789
789
|
class="MuiTypography-root MuiTypography-h5 css-1ldbtdh-MuiTypography-root"
|
|
790
790
|
>
|
|
791
791
|
<a
|
|
792
|
-
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-
|
|
792
|
+
class="MuiTypography-root MuiTypography-inherit MuiLink-root MuiLink-underlineAlways css-ygjubp-MuiTypography-root-MuiLink-root"
|
|
793
793
|
href="https://github.com/GMOD/jbrowse-plugin-msaview#readme"
|
|
794
794
|
rel="noopener"
|
|
795
795
|
target="_blank"
|
package/src/index.ts
CHANGED
|
@@ -3,12 +3,10 @@ import Plugin from '@jbrowse/core/Plugin'
|
|
|
3
3
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
4
|
import UCSCTrackHubConnectionF from './ucsc-trackhub'
|
|
5
5
|
import AddTrackWidgetF from './AddTrackWidget'
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
import AddConnectionWidgetF from './AddConnectionWidget'
|
|
8
8
|
import PluginStoreWidgetF from './PluginStoreWidget'
|
|
9
|
-
import HierarchicalTrackSelectorWidgetF
|
|
10
|
-
HierarchicalTrackSelectorModel,
|
|
11
|
-
} from './HierarchicalTrackSelectorWidget'
|
|
9
|
+
import HierarchicalTrackSelectorWidgetF from './HierarchicalTrackSelectorWidget'
|
|
12
10
|
|
|
13
11
|
const SetDefaultSession = lazy(() => import('./SetDefaultSession'))
|
|
14
12
|
|
|
@@ -34,4 +32,6 @@ export default class extends Plugin {
|
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
export { AssemblyManager, SetDefaultSession }
|
|
37
|
-
|
|
35
|
+
|
|
36
|
+
export { type AddTrackModel } from './AddTrackWidget/model'
|
|
37
|
+
export { type HierarchicalTrackSelectorModel } from './HierarchicalTrackSelectorWidget'
|
|
@@ -6,9 +6,6 @@ import {
|
|
|
6
6
|
generateUnsupportedTrackConf,
|
|
7
7
|
generateUnknownTrackConf,
|
|
8
8
|
} from '@jbrowse/core/util/tracks'
|
|
9
|
-
import ucscAssemblies from './ucscAssemblies'
|
|
10
|
-
|
|
11
|
-
export { ucscAssemblies }
|
|
12
9
|
|
|
13
10
|
export async function fetchHubFile(hubLocation: FileLocation) {
|
|
14
11
|
try {
|
|
@@ -63,16 +60,16 @@ export function generateTracks(
|
|
|
63
60
|
) {
|
|
64
61
|
const tracks: any = []
|
|
65
62
|
|
|
66
|
-
trackDb.
|
|
67
|
-
const trackKeys =
|
|
68
|
-
const parentTrackKeys = [
|
|
63
|
+
for (const [trackName, track] of trackDb.entries()) {
|
|
64
|
+
const trackKeys = [...track.keys()]
|
|
65
|
+
const parentTrackKeys = new Set([
|
|
69
66
|
'superTrack',
|
|
70
67
|
'compositeTrack',
|
|
71
68
|
'container',
|
|
72
69
|
'view',
|
|
73
|
-
]
|
|
74
|
-
if (trackKeys.some(key => parentTrackKeys.
|
|
75
|
-
|
|
70
|
+
])
|
|
71
|
+
if (trackKeys.some(key => parentTrackKeys.has(key))) {
|
|
72
|
+
continue
|
|
76
73
|
}
|
|
77
74
|
const parentTracks = []
|
|
78
75
|
let currentTrackName = trackName
|
|
@@ -99,7 +96,7 @@ export function generateTracks(
|
|
|
99
96
|
trackId: `ucsc-trackhub-${objectHash(res)}`,
|
|
100
97
|
assemblyNames: [assemblyName],
|
|
101
98
|
})
|
|
102
|
-
}
|
|
99
|
+
}
|
|
103
100
|
|
|
104
101
|
return tracks
|
|
105
102
|
}
|
|
@@ -324,3 +321,5 @@ function makeTrackConfig(
|
|
|
324
321
|
return generateUnknownTrackConf(name, baseTrackType, categories)
|
|
325
322
|
}
|
|
326
323
|
}
|
|
324
|
+
|
|
325
|
+
export { default as ucscAssemblies } from './ucscAssemblies'
|