@jbrowse/plugin-data-management 2.3.4 → 2.4.1
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/ConnectionTypeSelect.js +1 -1
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
- package/dist/AddTrackWidget/components/ConfirmTrack.js +1 -1
- package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
- package/dist/AddTrackWidget/components/TextIndexingConfig.js +2 -2
- package/dist/AddTrackWidget/components/TextIndexingConfig.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/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/HierarchicalHeader.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.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/TrackCategory.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +5 -5
- 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.d.ts +2 -3
- package/dist/PluginStoreWidget/components/PluginCard.js +7 -7
- package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -1
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +3 -3
- package/dist/PluginStoreWidget/components/PluginStoreWidget.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/AddConnectionWidget/components/ConnectionTypeSelect.js +1 -1
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.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/TextIndexingConfig.js +2 -2
- package/esm/AddTrackWidget/components/TextIndexingConfig.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/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/HierarchicalHeader.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.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/TrackCategory.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +5 -5
- 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.d.ts +2 -3
- package/esm/PluginStoreWidget/components/PluginCard.js +7 -7
- package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -1
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +3 -3
- package/esm/PluginStoreWidget/components/PluginStoreWidget.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/ConnectionTypeSelect.tsx +0 -1
- package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +2 -2
- package/src/AddTrackWidget/components/ConfirmTrack.tsx +1 -1
- package/src/AddTrackWidget/components/TextIndexingConfig.tsx +0 -2
- 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/__snapshots__/HierarchicalTrackSelector.test.tsx.snap +4 -4
- 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/HierarchicalHeader.tsx +1 -4
- package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.tsx +4 -4
- package/src/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.tsx +4 -5
- 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 +8 -6
- package/src/PluginStoreWidget/components/PluginCard.tsx +8 -10
- package/src/PluginStoreWidget/components/PluginStoreWidget.test.tsx +3 -3
- package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +3 -7
- package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.tsx.snap +2 -2
- package/src/index.ts +5 -5
- package/src/ucsc-trackhub/ucscTrackHub.ts +9 -10
package/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import Plugin from '@jbrowse/core/Plugin';
|
|
3
3
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
4
|
-
import { AddTrackModel } from './AddTrackWidget/model';
|
|
5
|
-
import { HierarchicalTrackSelectorModel } from './HierarchicalTrackSelectorWidget';
|
|
6
4
|
declare const SetDefaultSession: import("react").LazyExoticComponent<({ rootModel, onClose }: {
|
|
7
5
|
rootModel?: unknown;
|
|
8
6
|
onClose: () => void;
|
|
@@ -27,4 +25,5 @@ export default class extends Plugin {
|
|
|
27
25
|
configure(_pluginManager: PluginManager): void;
|
|
28
26
|
}
|
|
29
27
|
export { AssemblyManager, SetDefaultSession };
|
|
30
|
-
export
|
|
28
|
+
export { type AddTrackModel } from './AddTrackWidget/model';
|
|
29
|
+
export { type HierarchicalTrackSelectorModel } from './HierarchicalTrackSelectorWidget';
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,uBAAuB,MAAM,iBAAiB,CAAA;AACrD,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAE9C,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,uBAAuB,MAAM,iBAAiB,CAAA;AACrD,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAE9C,OAAO,oBAAoB,MAAM,uBAAuB,CAAA;AACxD,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AACpD,OAAO,gCAAgC,MAAM,mCAAmC,CAAA;AAEhF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEnE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,OAAO,MAAO,SAAQ,MAAM;IAAnC;;QACE,SAAI,GAAG,sBAAsB,CAAA;QAE7B,YAAO,GAAG;YACR,eAAe;YACf,iBAAiB;SAClB,CAAA;IAWH,CAAC;IATC,OAAO,CAAC,aAA4B;QAClC,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,eAAe,CAAC,aAAa,CAAC,CAAA;QAC9B,gCAAgC,CAAC,aAAa,CAAC,CAAA;QAC/C,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACnC,kBAAkB,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,cAA6B,IAAG,CAAC;CAC5C;AAED,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { TrackDbFile } from '@gmod/ucsc-hub';
|
|
2
2
|
import { FileLocation } from '@jbrowse/core/util';
|
|
3
|
-
import ucscAssemblies from './ucscAssemblies';
|
|
4
|
-
export { ucscAssemblies };
|
|
5
3
|
export declare function fetchHubFile(hubLocation: FileLocation): Promise<import("@gmod/ucsc-hub").HubFile>;
|
|
6
4
|
export declare function fetchGenomesFile(genomesLoc: FileLocation): Promise<import("@gmod/ucsc-hub").GenomesFile>;
|
|
7
5
|
export declare function fetchTrackDbFile(trackDbLoc: FileLocation): Promise<TrackDbFile>;
|
|
@@ -22,3 +20,4 @@ export declare function makeLoc2(first: string, alt?: string): {
|
|
|
22
20
|
locationType: string;
|
|
23
21
|
};
|
|
24
22
|
export declare function generateTracks(trackDb: TrackDbFile, trackDbLoc: FileLocation, assemblyName: string, sequenceAdapter: any): any;
|
|
23
|
+
export { default as ucscAssemblies } from './ucscAssemblies';
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { isUriLocation, objectHash } from '@jbrowse/core/util';
|
|
2
2
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
3
3
|
import { generateUnsupportedTrackConf, generateUnknownTrackConf, } from '@jbrowse/core/util/tracks';
|
|
4
|
-
import ucscAssemblies from './ucscAssemblies';
|
|
5
|
-
export { ucscAssemblies };
|
|
6
4
|
export async function fetchHubFile(hubLocation) {
|
|
7
5
|
try {
|
|
8
6
|
const hubFileText = await openLocation(hubLocation).readFile('utf8');
|
|
@@ -44,18 +42,18 @@ export function makeLoc2(first, alt) {
|
|
|
44
42
|
};
|
|
45
43
|
}
|
|
46
44
|
export function generateTracks(trackDb, trackDbLoc, assemblyName, sequenceAdapter) {
|
|
45
|
+
var _a;
|
|
47
46
|
const tracks = [];
|
|
48
|
-
trackDb.
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
const parentTrackKeys = [
|
|
47
|
+
for (const [trackName, track] of trackDb.entries()) {
|
|
48
|
+
const trackKeys = [...track.keys()];
|
|
49
|
+
const parentTrackKeys = new Set([
|
|
52
50
|
'superTrack',
|
|
53
51
|
'compositeTrack',
|
|
54
52
|
'container',
|
|
55
53
|
'view',
|
|
56
|
-
];
|
|
57
|
-
if (trackKeys.some(key => parentTrackKeys.
|
|
58
|
-
|
|
54
|
+
]);
|
|
55
|
+
if (trackKeys.some(key => parentTrackKeys.has(key))) {
|
|
56
|
+
continue;
|
|
59
57
|
}
|
|
60
58
|
const parentTracks = [];
|
|
61
59
|
let currentTrackName = trackName;
|
|
@@ -77,7 +75,7 @@ export function generateTracks(trackDb, trackDbLoc, assemblyName, sequenceAdapte
|
|
|
77
75
|
trackId: `ucsc-trackhub-${objectHash(res)}`,
|
|
78
76
|
assemblyNames: [assemblyName],
|
|
79
77
|
});
|
|
80
|
-
}
|
|
78
|
+
}
|
|
81
79
|
return tracks;
|
|
82
80
|
}
|
|
83
81
|
function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter) {
|
|
@@ -289,4 +287,5 @@ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter
|
|
|
289
287
|
return generateUnknownTrackConf(name, baseTrackType, categories);
|
|
290
288
|
}
|
|
291
289
|
}
|
|
290
|
+
export { default as ucscAssemblies } from './ucscAssemblies';
|
|
292
291
|
//# sourceMappingURL=ucscTrackHub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ucscTrackHub.js","sourceRoot":"","sources":["../../src/ucsc-trackhub/ucscTrackHub.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"ucscTrackHub.js","sourceRoot":"","sources":["../../src/ucsc-trackhub/ucscTrackHub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-data-management",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "JBrowse 2 linear genome view",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"distModule": "esm/index.js",
|
|
62
62
|
"srcModule": "src/index.ts",
|
|
63
63
|
"module": "esm/index.js",
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "747c50c4edc0184827efa4f8dfc576ca9a72caeb"
|
|
65
65
|
}
|
|
@@ -47,8 +47,8 @@ describe('<AddConnectionWidget />', () => {
|
|
|
47
47
|
|
|
48
48
|
it('can handle a custom UCSC trackHub URL', async () => {
|
|
49
49
|
const mockFetch = async (url: RequestInfo | URL) => {
|
|
50
|
-
// @ts-
|
|
51
|
-
const urlText = url.href
|
|
50
|
+
// @ts-expect-error
|
|
51
|
+
const urlText = url.href || url
|
|
52
52
|
let responseText = ''
|
|
53
53
|
if (urlText.endsWith('hub.txt')) {
|
|
54
54
|
responseText = `hub TestHub
|
|
@@ -98,8 +98,8 @@ type bigWig
|
|
|
98
98
|
|
|
99
99
|
it('can handle a custom JBrowse 1 data directory URL', async () => {
|
|
100
100
|
const mockFetch = async (url: RequestInfo | URL) => {
|
|
101
|
-
// @ts-
|
|
102
|
-
const urlText = url.href
|
|
101
|
+
// @ts-expect-error
|
|
102
|
+
const urlText = url.href || url
|
|
103
103
|
let responseText = ''
|
|
104
104
|
if (urlText.endsWith('trackList.json')) {
|
|
105
105
|
responseText = '{}'
|
|
@@ -68,7 +68,7 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
68
68
|
class="MuiFormControl-root MuiFormControl-fullWidth MuiTextField-root css-wb57ya-MuiFormControl-root-MuiTextField-root"
|
|
69
69
|
>
|
|
70
70
|
<label
|
|
71
|
-
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiFormLabel-filled MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-
|
|
71
|
+
class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiFormLabel-filled MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined css-1jy569b-MuiFormLabel-root-MuiInputLabel-root"
|
|
72
72
|
data-shrink="true"
|
|
73
73
|
for="mui-1"
|
|
74
74
|
id="mui-1-label"
|
|
@@ -126,7 +126,7 @@ exports[`<AddConnectionWidget /> renders 1`] = `
|
|
|
126
126
|
>
|
|
127
127
|
A track or assembly hub in the Track Hub format
|
|
128
128
|
<a
|
|
129
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
129
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeMedium css-78trlr-MuiButtonBase-root-MuiIconButton-root"
|
|
130
130
|
href="//genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html#Intro"
|
|
131
131
|
rel="noopener noreferrer"
|
|
132
132
|
tabindex="0"
|
|
@@ -68,7 +68,6 @@ const TextIndexingConfig = observer(({ model }: { model: AddTrackModel }) => {
|
|
|
68
68
|
endAdornment: (
|
|
69
69
|
<InputAdornment position="end">
|
|
70
70
|
<IconButton
|
|
71
|
-
color="secondary"
|
|
72
71
|
onClick={() => {
|
|
73
72
|
const newAttr = section.values.filter((a, i) => {
|
|
74
73
|
return i !== idx
|
|
@@ -113,7 +112,6 @@ const TextIndexingConfig = observer(({ model }: { model: AddTrackModel }) => {
|
|
|
113
112
|
}
|
|
114
113
|
}}
|
|
115
114
|
disabled={index === 0 ? value1 === '' : value2 === ''}
|
|
116
|
-
color="secondary"
|
|
117
115
|
data-testid={`stringArrayAdd-Feat`}
|
|
118
116
|
>
|
|
119
117
|
<AddIcon />
|
|
@@ -44,7 +44,7 @@ const TrackAdapterSelector = observer(({ model }: { model: AddTrackModel }) => {
|
|
|
44
44
|
fullWidth
|
|
45
45
|
onChange={event => model.setAdapterHint(event.target.value)}
|
|
46
46
|
SelectProps={{
|
|
47
|
-
// @ts-
|
|
47
|
+
// @ts-expect-error
|
|
48
48
|
SelectDisplayProps: { 'data-testid': 'adapterTypeSelect' },
|
|
49
49
|
}}
|
|
50
50
|
>
|
|
@@ -30,7 +30,7 @@ const TrackTypeSelector = observer(({ model }: { model: AddTrackModel }) => {
|
|
|
30
30
|
fullWidth
|
|
31
31
|
onChange={event => model.setTrackType(event.target.value)}
|
|
32
32
|
SelectProps={{
|
|
33
|
-
// @ts-
|
|
33
|
+
// @ts-expect-error
|
|
34
34
|
SelectDisplayProps: { 'data-testid': 'trackTypeSelect' },
|
|
35
35
|
}}
|
|
36
36
|
>
|
|
@@ -53,9 +53,9 @@ const realLocation = window.location
|
|
|
53
53
|
|
|
54
54
|
// https://stackoverflow.com/a/60110508/2129219
|
|
55
55
|
function setWindowLoc(loc: string) {
|
|
56
|
-
// @ts-
|
|
56
|
+
// @ts-expect-error
|
|
57
57
|
delete window.location
|
|
58
|
-
// @ts-
|
|
58
|
+
// @ts-expect-error
|
|
59
59
|
window.location = new URL(loc)
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -104,18 +104,18 @@ export default function f(pluginManager: PluginManager) {
|
|
|
104
104
|
get isFtp() {
|
|
105
105
|
const { trackData: track, indexTrackData: index } = self
|
|
106
106
|
return !!(
|
|
107
|
-
// @ts-
|
|
107
|
+
// @ts-expect-error
|
|
108
108
|
(index?.uri?.startsWith('ftp://') || track?.uri?.startsWith('ftp://'))
|
|
109
109
|
)
|
|
110
110
|
},
|
|
111
111
|
|
|
112
112
|
get isRelativeTrackUrl() {
|
|
113
|
-
// @ts-
|
|
113
|
+
// @ts-expect-error
|
|
114
114
|
const uri = self.trackData?.uri
|
|
115
115
|
return uri ? !isAbsoluteUrl(uri) : false
|
|
116
116
|
},
|
|
117
117
|
get isRelativeIndexUrl() {
|
|
118
|
-
// @ts-
|
|
118
|
+
// @ts-expect-error
|
|
119
119
|
const uri = self.indexTrackData?.uri
|
|
120
120
|
return uri ? !isAbsoluteUrl(uri) : false
|
|
121
121
|
},
|
|
@@ -124,11 +124,11 @@ export default function f(pluginManager: PluginManager) {
|
|
|
124
124
|
},
|
|
125
125
|
|
|
126
126
|
get trackHttp() {
|
|
127
|
-
// @ts-
|
|
127
|
+
// @ts-expect-error
|
|
128
128
|
return self.trackData?.uri?.startsWith('http://')
|
|
129
129
|
},
|
|
130
130
|
get indexHttp() {
|
|
131
|
-
// @ts-
|
|
131
|
+
// @ts-expect-error
|
|
132
132
|
return self.indexTrackData?.uri?.startsWith('http://')
|
|
133
133
|
},
|
|
134
134
|
|
|
@@ -9,7 +9,7 @@ import HierarchicalTrackSelector from './HierarchicalTrackSelector'
|
|
|
9
9
|
|
|
10
10
|
jest.mock('@jbrowse/web/src/makeWorkerInstance', () => () => {})
|
|
11
11
|
|
|
12
|
-
// @ts-
|
|
12
|
+
// @ts-expect-error
|
|
13
13
|
window.requestIdleCallback = cb => cb()
|
|
14
14
|
window.cancelIdleCallback = () => {}
|
|
15
15
|
|
|
@@ -20,7 +20,7 @@ test('renders nothing with no assembly', () => {
|
|
|
20
20
|
|
|
21
21
|
const { container } = render(
|
|
22
22
|
<ThemeProvider theme={createJBrowseTheme()}>
|
|
23
|
-
{/* @ts-
|
|
23
|
+
{/* @ts-expect-error*/}
|
|
24
24
|
<HierarchicalTrackSelector model={model} />
|
|
25
25
|
</ThemeProvider>,
|
|
26
26
|
)
|
|
@@ -76,7 +76,7 @@ test('renders with a couple of uncategorized tracks', async () => {
|
|
|
76
76
|
|
|
77
77
|
const { container, findByTestId } = render(
|
|
78
78
|
<ThemeProvider theme={createJBrowseTheme()}>
|
|
79
|
-
{/* @ts-
|
|
79
|
+
{/* @ts-expect-error*/}
|
|
80
80
|
<HierarchicalTrackSelector model={model} />
|
|
81
81
|
</ThemeProvider>,
|
|
82
82
|
)
|
|
@@ -139,7 +139,7 @@ test('renders with a couple of categorized tracks', async () => {
|
|
|
139
139
|
|
|
140
140
|
const { container, findByTestId } = render(
|
|
141
141
|
<ThemeProvider theme={createJBrowseTheme()}>
|
|
142
|
-
{/* @ts-
|
|
142
|
+
{/* @ts-expect-error*/}
|
|
143
143
|
<HierarchicalTrackSelector model={model} />
|
|
144
144
|
</ThemeProvider>,
|
|
145
145
|
)
|
|
@@ -31,7 +31,7 @@ exports[`renders with a couple of categorized tracks 1`] = `
|
|
|
31
31
|
style="display: flex;"
|
|
32
32
|
>
|
|
33
33
|
<button
|
|
34
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-
|
|
34
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-1kgqocu-MuiButtonBase-root-MuiIconButton-root-menuIcon"
|
|
35
35
|
tabindex="0"
|
|
36
36
|
type="button"
|
|
37
37
|
>
|
|
@@ -75,7 +75,7 @@ exports[`renders with a couple of categorized tracks 1`] = `
|
|
|
75
75
|
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-standard MuiInputAdornment-sizeSmall css-1laqsz7-MuiInputAdornment-root"
|
|
76
76
|
>
|
|
77
77
|
<button
|
|
78
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
78
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-9vna8i-MuiButtonBase-root-MuiIconButton-root"
|
|
79
79
|
tabindex="0"
|
|
80
80
|
type="button"
|
|
81
81
|
>
|
|
@@ -119,7 +119,7 @@ exports[`renders with a couple of uncategorized tracks 1`] = `
|
|
|
119
119
|
style="display: flex;"
|
|
120
120
|
>
|
|
121
121
|
<button
|
|
122
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-
|
|
122
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-1kgqocu-MuiButtonBase-root-MuiIconButton-root-menuIcon"
|
|
123
123
|
tabindex="0"
|
|
124
124
|
type="button"
|
|
125
125
|
>
|
|
@@ -163,7 +163,7 @@ exports[`renders with a couple of uncategorized tracks 1`] = `
|
|
|
163
163
|
class="MuiInputAdornment-root MuiInputAdornment-positionEnd MuiInputAdornment-standard MuiInputAdornment-sizeSmall css-1laqsz7-MuiInputAdornment-root"
|
|
164
164
|
>
|
|
165
165
|
<button
|
|
166
|
-
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-
|
|
166
|
+
class="MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-9vna8i-MuiButtonBase-root-MuiIconButton-root"
|
|
167
167
|
tabindex="0"
|
|
168
168
|
type="button"
|
|
169
169
|
>
|
|
@@ -65,7 +65,7 @@ function FacetFilter({
|
|
|
65
65
|
className={classes.select}
|
|
66
66
|
value={filters[column.field]}
|
|
67
67
|
onChange={event => {
|
|
68
|
-
// @ts-
|
|
68
|
+
// @ts-expect-error
|
|
69
69
|
const { options } = event.target
|
|
70
70
|
const val: string[] = []
|
|
71
71
|
const len = options.length
|
|
@@ -105,28 +105,28 @@ export default function FacetFilters({
|
|
|
105
105
|
}) {
|
|
106
106
|
const facets = columns.slice(1)
|
|
107
107
|
const uniqs = facets.map(() => new Map<string, number>())
|
|
108
|
-
|
|
109
|
-
facets.
|
|
108
|
+
for (const row of rows) {
|
|
109
|
+
for (const [index, column] of facets.entries()) {
|
|
110
110
|
const elt = uniqs[index]
|
|
111
111
|
const key = `${row[column.field] || ''}`
|
|
112
112
|
const val = elt.get(key)
|
|
113
113
|
// we don't allow filtering on empty yet
|
|
114
114
|
if (key) {
|
|
115
|
-
if (val
|
|
116
|
-
elt.set(key, val + 1)
|
|
117
|
-
} else {
|
|
115
|
+
if (val === undefined) {
|
|
118
116
|
elt.set(key, 1)
|
|
117
|
+
} else {
|
|
118
|
+
elt.set(key, val + 1)
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
123
|
|
|
124
124
|
return (
|
|
125
125
|
<div>
|
|
126
126
|
{facets.map((column, index) => (
|
|
127
127
|
<FacetFilter
|
|
128
128
|
key={column.field}
|
|
129
|
-
vals={
|
|
129
|
+
vals={[...uniqs[index]]}
|
|
130
130
|
column={column}
|
|
131
131
|
width={width}
|
|
132
132
|
dispatch={dispatch}
|
|
@@ -99,11 +99,10 @@ export default observer(function FacetedSelector({
|
|
|
99
99
|
|
|
100
100
|
const filteredMetadataKeys = useMemo(
|
|
101
101
|
() =>
|
|
102
|
-
[...new Set(rows.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
: rows.map(r => r.metadata[f]).filter(f => !!f).length > 5,
|
|
102
|
+
[...new Set(rows.flatMap(row => getRootKeys(row.metadata)))].filter(f =>
|
|
103
|
+
!hideSparse
|
|
104
|
+
? true
|
|
105
|
+
: rows.map(r => r.metadata[f]).filter(f => !!f).length > 5,
|
|
107
106
|
),
|
|
108
107
|
[hideSparse, rows],
|
|
109
108
|
)
|
|
@@ -73,8 +73,6 @@ export default observer(function HamburgerMenu({
|
|
|
73
73
|
deletingConnection?: boolean,
|
|
74
74
|
) {
|
|
75
75
|
const name = readConfObject(connectionConf, 'name')
|
|
76
|
-
|
|
77
|
-
// @ts-ignore
|
|
78
76
|
const result = session.prepareToBreakConnection(connectionConf)
|
|
79
77
|
if (result) {
|
|
80
78
|
const [safelyBreakConnection, dereferenceTypeCount] = result
|
|
@@ -55,10 +55,7 @@ function HierarchicalTrackSelectorHeader({
|
|
|
55
55
|
InputProps={{
|
|
56
56
|
endAdornment: (
|
|
57
57
|
<InputAdornment position="end">
|
|
58
|
-
<IconButton
|
|
59
|
-
color="secondary"
|
|
60
|
-
onClick={() => model.clearFilterText()}
|
|
61
|
-
>
|
|
58
|
+
<IconButton onClick={() => model.clearFilterText()}>
|
|
62
59
|
<ClearIcon />
|
|
63
60
|
</IconButton>
|
|
64
61
|
</InputAdornment>
|
|
@@ -70,7 +70,7 @@ export default observer(function HierarchicalTree({
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
while (true) {
|
|
73
|
-
// @ts-
|
|
73
|
+
// @ts-expect-error
|
|
74
74
|
const parentMeta = yield
|
|
75
75
|
|
|
76
76
|
for (let i = 0; i < parentMeta.node.children.length; i++) {
|
|
@@ -83,7 +83,7 @@ export default observer(function HierarchicalTree({
|
|
|
83
83
|
)
|
|
84
84
|
|
|
85
85
|
useEffect(() => {
|
|
86
|
-
// @ts-
|
|
86
|
+
// @ts-expect-error
|
|
87
87
|
treeRef.current.recomputeTree({
|
|
88
88
|
refreshNodes: true,
|
|
89
89
|
useDefaultHeight: true,
|
|
@@ -91,9 +91,9 @@ export default observer(function HierarchicalTree({
|
|
|
91
91
|
}, [tree, filterText])
|
|
92
92
|
return (
|
|
93
93
|
<>
|
|
94
|
-
{/* @ts-
|
|
94
|
+
{/* @ts-expect-error */}
|
|
95
95
|
<VariableSizeTree ref={treeRef} treeWalker={treeWalker} height={height}>
|
|
96
|
-
{/* @ts-
|
|
96
|
+
{/* @ts-expect-error */}
|
|
97
97
|
{Node}
|
|
98
98
|
</VariableSizeTree>
|
|
99
99
|
</>
|
|
@@ -13,7 +13,7 @@ import { getAllChildren, treeToMap, NodeData } from '../util'
|
|
|
13
13
|
|
|
14
14
|
const useStyles = makeStyles()(theme => ({
|
|
15
15
|
contrastColor: {
|
|
16
|
-
color: theme.palette.
|
|
16
|
+
color: theme.palette.tertiary.contrastText,
|
|
17
17
|
},
|
|
18
18
|
|
|
19
19
|
// margin:auto 0 to center text vertically
|
|
@@ -15,7 +15,7 @@ import MoreHorizIcon from '@mui/icons-material/MoreHoriz'
|
|
|
15
15
|
import { isUnsupported, NodeData } from '../util'
|
|
16
16
|
import { SanitizedHTML } from '@jbrowse/core/ui'
|
|
17
17
|
|
|
18
|
-
const useStyles = makeStyles()({
|
|
18
|
+
const useStyles = makeStyles()(theme => ({
|
|
19
19
|
compactCheckbox: {
|
|
20
20
|
padding: 0,
|
|
21
21
|
},
|
|
@@ -23,10 +23,10 @@ const useStyles = makeStyles()({
|
|
|
23
23
|
checkboxLabel: {
|
|
24
24
|
marginRight: 0,
|
|
25
25
|
'&:hover': {
|
|
26
|
-
backgroundColor:
|
|
26
|
+
backgroundColor: theme.palette.action.selected,
|
|
27
27
|
},
|
|
28
28
|
},
|
|
29
|
-
})
|
|
29
|
+
}))
|
|
30
30
|
|
|
31
31
|
export interface InfoArgs {
|
|
32
32
|
target: HTMLElement
|
|
@@ -55,7 +55,7 @@ export default function TrackLabel({ data }: { data: NodeData }) {
|
|
|
55
55
|
onChange={() => onChange(id)}
|
|
56
56
|
disabled={isUnsupported(name)}
|
|
57
57
|
inputProps={{
|
|
58
|
-
// @ts-
|
|
58
|
+
// @ts-expect-error
|
|
59
59
|
'data-testid': `htsTrackEntry-${id}`,
|
|
60
60
|
}}
|
|
61
61
|
/>
|
|
@@ -70,7 +70,6 @@ export default function TrackLabel({ data }: { data: NodeData }) {
|
|
|
70
70
|
<IconButton
|
|
71
71
|
onClick={e => setInfo({ target: e.currentTarget, id, conf })}
|
|
72
72
|
style={{ padding: 0 }}
|
|
73
|
-
color="secondary"
|
|
74
73
|
data-testid={`htsTrackEntryMenu-${id}`}
|
|
75
74
|
>
|
|
76
75
|
<MoreHorizIcon />
|
|
@@ -17,7 +17,7 @@ export interface NodeData {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export function getAllChildren(subtree?: TreeNode): AnyConfigurationModel[] {
|
|
20
|
-
// @ts-
|
|
20
|
+
// @ts-expect-error
|
|
21
21
|
return (
|
|
22
22
|
subtree?.children.map(t =>
|
|
23
23
|
t.children.length ? getAllChildren(t) : (t.conf as AnyConfigurationModel),
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import stateModelFactory
|
|
1
|
+
import stateModelFactory from './model'
|
|
2
2
|
import configSchema from './configSchema'
|
|
3
3
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
4
|
import { WidgetType } from '@jbrowse/core/pluggableElementTypes'
|
|
5
5
|
import { lazy } from 'react'
|
|
6
6
|
|
|
7
|
-
export { stateModelFactory, configSchema }
|
|
8
|
-
export type { HierarchicalTrackSelectorModel }
|
|
9
|
-
|
|
10
7
|
export default (pluginManager: PluginManager) => {
|
|
11
8
|
pluginManager.addWidgetType(() => {
|
|
12
9
|
return new WidgetType({
|
|
@@ -20,3 +17,9 @@ export default (pluginManager: PluginManager) => {
|
|
|
20
17
|
})
|
|
21
18
|
})
|
|
22
19
|
}
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
type HierarchicalTrackSelectorModel,
|
|
23
|
+
default as stateModelFactory,
|
|
24
|
+
} from './model'
|
|
25
|
+
export { default as configSchema } from './configSchema'
|
|
@@ -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),
|