@jbrowse/plugin-data-management 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +4 -8
  2. package/dist/AddTrackWidget/model.d.ts +81 -0
  3. package/dist/AddTrackWidget/model.js +81 -0
  4. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
  5. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +11 -53
  6. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +5 -7
  7. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +12 -11
  8. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +5 -7
  9. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +11 -8
  10. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -11
  11. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -7
  12. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +40 -135
  13. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +12 -0
  14. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +59 -0
  15. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +6 -0
  16. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +45 -0
  17. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +71 -46
  18. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +5 -34
  19. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +8 -3
  20. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +6 -0
  21. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +42 -0
  22. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +7 -6
  23. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +9 -28
  24. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +12 -0
  25. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +50 -0
  26. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  27. package/dist/HierarchicalTrackSelectorWidget/components/util.js +5 -1
  28. package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +128 -0
  29. package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +206 -0
  30. package/dist/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +2 -0
  31. package/dist/HierarchicalTrackSelectorWidget/{components/faceted/util.js → facetedUtil.js} +5 -1
  32. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +17 -5
  33. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +27 -21
  34. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +193 -15
  35. package/dist/HierarchicalTrackSelectorWidget/model.js +209 -22
  36. package/dist/ucsc-trackhub/doConnect.d.ts +1 -0
  37. package/dist/ucsc-trackhub/doConnect.js +131 -0
  38. package/dist/ucsc-trackhub/model.d.ts +19 -2
  39. package/dist/ucsc-trackhub/model.js +16 -71
  40. package/dist/ucsc-trackhub/ucscTrackHub.d.ts +161 -4
  41. package/dist/ucsc-trackhub/ucscTrackHub.js +49 -166
  42. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +4 -8
  43. package/esm/AddTrackWidget/model.d.ts +81 -0
  44. package/esm/AddTrackWidget/model.js +81 -0
  45. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
  46. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +12 -31
  47. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +5 -7
  48. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +13 -11
  49. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +5 -7
  50. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +12 -8
  51. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -11
  52. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -7
  53. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +41 -113
  54. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +12 -0
  55. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +31 -0
  56. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +6 -0
  57. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +40 -0
  58. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +71 -46
  59. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +6 -12
  60. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +8 -3
  61. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +6 -0
  62. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +37 -0
  63. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +7 -6
  64. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +8 -27
  65. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +12 -0
  66. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +45 -0
  67. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  68. package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -1
  69. package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +128 -0
  70. package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +202 -0
  71. package/esm/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +2 -0
  72. package/esm/HierarchicalTrackSelectorWidget/{components/faceted/util.js → facetedUtil.js} +3 -0
  73. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +17 -5
  74. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +27 -21
  75. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +193 -15
  76. package/esm/HierarchicalTrackSelectorWidget/model.js +211 -24
  77. package/esm/ucsc-trackhub/doConnect.d.ts +1 -0
  78. package/esm/ucsc-trackhub/doConnect.js +127 -0
  79. package/esm/ucsc-trackhub/model.d.ts +19 -2
  80. package/esm/ucsc-trackhub/model.js +17 -72
  81. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +161 -4
  82. package/esm/ucsc-trackhub/ucscTrackHub.js +48 -141
  83. package/package.json +3 -4
  84. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -1
  85. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -1
@@ -1,10 +1,10 @@
1
- import { TrackDbFile } from '@gmod/ucsc-hub';
2
1
  import { FileLocation } from '@jbrowse/core/util';
3
- export declare function fetchHubFile(hubLocation: FileLocation): Promise<import("@gmod/ucsc-hub").HubFile>;
4
- export declare function fetchGenomesFile(genomesLoc: FileLocation): Promise<import("@gmod/ucsc-hub").GenomesFile>;
2
+ import { GenomesFile, TrackDbFile } from '@gmod/ucsc-hub';
3
+ export declare function fetchGenomesFile(genomesLoc: FileLocation): Promise<GenomesFile>;
5
4
  export declare function fetchTrackDbFile(trackDbLoc: FileLocation): Promise<TrackDbFile>;
6
5
  export declare function makeLoc(first: string, base: {
7
6
  uri: string;
7
+ baseUri?: string;
8
8
  }): {
9
9
  uri: string;
10
10
  locationType: string;
@@ -19,5 +19,162 @@ export declare function makeLoc2(first: string, alt?: string): {
19
19
  uri: string | undefined;
20
20
  locationType: string;
21
21
  };
22
- export declare function generateTracks(trackDb: TrackDbFile, trackDbLoc: FileLocation, assemblyName: string, sequenceAdapter: any): any;
22
+ export declare function generateTracks({ trackDb, trackDbLoc, assemblyName, sequenceAdapter, }: {
23
+ trackDb: TrackDbFile;
24
+ trackDbLoc: FileLocation;
25
+ assemblyName: string;
26
+ sequenceAdapter: any;
27
+ }): ({
28
+ trackId: string;
29
+ assemblyNames: string[];
30
+ type: string;
31
+ name: string;
32
+ description: string;
33
+ category: string[] | undefined;
34
+ } | {
35
+ trackId: string;
36
+ assemblyNames: string[];
37
+ type: string;
38
+ name: string;
39
+ description: string;
40
+ category: string[];
41
+ adapter: {
42
+ type: string;
43
+ bamLocation: {
44
+ uri: string | undefined;
45
+ locationType: string;
46
+ };
47
+ index: {
48
+ location: {
49
+ uri: string | undefined;
50
+ locationType: string;
51
+ };
52
+ };
53
+ cramLocation?: undefined;
54
+ craiLocation?: undefined;
55
+ sequenceAdapter?: undefined;
56
+ bigBedLocation?: undefined;
57
+ bigWigLocation?: undefined;
58
+ vcfGzLocation?: undefined;
59
+ hicLocation?: undefined;
60
+ };
61
+ } | {
62
+ trackId: string;
63
+ assemblyNames: string[];
64
+ type: string;
65
+ name: string;
66
+ description: string;
67
+ category: string[];
68
+ adapter: {
69
+ type: string;
70
+ cramLocation: {
71
+ uri: string | undefined;
72
+ locationType: string;
73
+ };
74
+ craiLocation: {
75
+ uri: string | undefined;
76
+ locationType: string;
77
+ };
78
+ sequenceAdapter: any;
79
+ bamLocation?: undefined;
80
+ index?: undefined;
81
+ bigBedLocation?: undefined;
82
+ bigWigLocation?: undefined;
83
+ vcfGzLocation?: undefined;
84
+ hicLocation?: undefined;
85
+ };
86
+ } | {
87
+ trackId: string;
88
+ assemblyNames: string[];
89
+ type: string;
90
+ name: string;
91
+ description: string;
92
+ category: string[];
93
+ adapter: {
94
+ type: string;
95
+ bigBedLocation: {
96
+ uri: string | undefined;
97
+ locationType: string;
98
+ };
99
+ bamLocation?: undefined;
100
+ index?: undefined;
101
+ cramLocation?: undefined;
102
+ craiLocation?: undefined;
103
+ sequenceAdapter?: undefined;
104
+ bigWigLocation?: undefined;
105
+ vcfGzLocation?: undefined;
106
+ hicLocation?: undefined;
107
+ };
108
+ } | {
109
+ trackId: string;
110
+ assemblyNames: string[];
111
+ type: string;
112
+ name: string;
113
+ description: string;
114
+ category: string[];
115
+ adapter: {
116
+ type: string;
117
+ bigWigLocation: {
118
+ uri: string | undefined;
119
+ locationType: string;
120
+ };
121
+ bamLocation?: undefined;
122
+ index?: undefined;
123
+ cramLocation?: undefined;
124
+ craiLocation?: undefined;
125
+ sequenceAdapter?: undefined;
126
+ bigBedLocation?: undefined;
127
+ vcfGzLocation?: undefined;
128
+ hicLocation?: undefined;
129
+ };
130
+ } | {
131
+ trackId: string;
132
+ assemblyNames: string[];
133
+ type: string;
134
+ name: string;
135
+ description: string;
136
+ category: string[];
137
+ adapter: {
138
+ type: string;
139
+ vcfGzLocation: {
140
+ uri: string | undefined;
141
+ locationType: string;
142
+ };
143
+ index: {
144
+ location: {
145
+ uri: string | undefined;
146
+ locationType: string;
147
+ };
148
+ };
149
+ bamLocation?: undefined;
150
+ cramLocation?: undefined;
151
+ craiLocation?: undefined;
152
+ sequenceAdapter?: undefined;
153
+ bigBedLocation?: undefined;
154
+ bigWigLocation?: undefined;
155
+ hicLocation?: undefined;
156
+ };
157
+ } | {
158
+ trackId: string;
159
+ assemblyNames: string[];
160
+ type: string;
161
+ name: string;
162
+ description: string;
163
+ category: string[];
164
+ adapter: {
165
+ type: string;
166
+ hicLocation: {
167
+ uri: string | undefined;
168
+ locationType: string;
169
+ };
170
+ bamLocation?: undefined;
171
+ index?: undefined;
172
+ cramLocation?: undefined;
173
+ craiLocation?: undefined;
174
+ sequenceAdapter?: undefined;
175
+ bigBedLocation?: undefined;
176
+ bigWigLocation?: undefined;
177
+ vcfGzLocation?: undefined;
178
+ };
179
+ })[];
23
180
  export { default as ucscAssemblies } from './ucscAssemblies';
@@ -1,61 +1,27 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ucscAssemblies = exports.generateTracks = exports.makeLoc2 = exports.makeLocAlt = exports.makeLoc = exports.fetchTrackDbFile = exports.fetchGenomesFile = exports.fetchHubFile = void 0;
6
+ exports.ucscAssemblies = exports.generateTracks = exports.makeLoc2 = exports.makeLocAlt = exports.makeLoc = exports.fetchTrackDbFile = exports.fetchGenomesFile = void 0;
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
30
8
  const util_1 = require("@jbrowse/core/util");
31
9
  const io_1 = require("@jbrowse/core/util/io");
32
10
  const tracks_1 = require("@jbrowse/core/util/tracks");
33
- async function fetchHubFile(hubLocation) {
34
- try {
35
- const hubFileText = await (0, io_1.openLocation)(hubLocation).readFile('utf8');
36
- const { HubFile } = await Promise.resolve().then(() => __importStar(require('@gmod/ucsc-hub')));
37
- return new HubFile(hubFileText);
38
- }
39
- catch (error) {
40
- throw new Error(`Not a valid hub.txt file, got error: '${error}'`);
41
- }
42
- }
43
- exports.fetchHubFile = fetchHubFile;
11
+ const ucsc_hub_1 = require("@gmod/ucsc-hub");
44
12
  async function fetchGenomesFile(genomesLoc) {
45
13
  const genomesFileText = await (0, io_1.openLocation)(genomesLoc).readFile('utf8');
46
- const { GenomesFile } = await Promise.resolve().then(() => __importStar(require('@gmod/ucsc-hub')));
47
- return new GenomesFile(genomesFileText);
14
+ return new ucsc_hub_1.GenomesFile(genomesFileText);
48
15
  }
49
16
  exports.fetchGenomesFile = fetchGenomesFile;
50
17
  async function fetchTrackDbFile(trackDbLoc) {
51
18
  const text = await (0, io_1.openLocation)(trackDbLoc).readFile('utf8');
52
- const { TrackDbFile } = await Promise.resolve().then(() => __importStar(require('@gmod/ucsc-hub')));
53
- return new TrackDbFile(text);
19
+ return new ucsc_hub_1.TrackDbFile(text);
54
20
  }
55
21
  exports.fetchTrackDbFile = fetchTrackDbFile;
56
22
  function makeLoc(first, base) {
57
23
  return {
58
- uri: new URL(first, base.uri).href,
24
+ uri: new URL(first, new URL(base.uri, base.baseUri)).href,
59
25
  locationType: 'UriLocation',
60
26
  };
61
27
  }
@@ -76,11 +42,11 @@ function makeLoc2(first, alt) {
76
42
  };
77
43
  }
78
44
  exports.makeLoc2 = makeLoc2;
79
- function generateTracks(trackDb, trackDbLoc, assemblyName, sequenceAdapter) {
80
- var _a;
81
- const tracks = [];
82
- for (const [trackName, track] of trackDb.entries()) {
83
- const trackKeys = [...track.keys()];
45
+ function generateTracks({ trackDb, trackDbLoc, assemblyName, sequenceAdapter, }) {
46
+ return Object.entries(trackDb.data)
47
+ .map(([trackName, track]) => {
48
+ var _a;
49
+ const trackKeys = Object.keys(track);
84
50
  const parentTrackKeys = new Set([
85
51
  'superTrack',
86
52
  'compositeTrack',
@@ -88,42 +54,45 @@ function generateTracks(trackDb, trackDbLoc, assemblyName, sequenceAdapter) {
88
54
  'view',
89
55
  ]);
90
56
  if (trackKeys.some(key => parentTrackKeys.has(key))) {
91
- continue;
57
+ return undefined;
92
58
  }
93
59
  const parentTracks = [];
94
60
  let currentTrackName = trackName;
95
61
  do {
96
- currentTrackName = ((_a = trackDb.get(currentTrackName)) === null || _a === void 0 ? void 0 : _a.get('parent')) || '';
62
+ currentTrackName = ((_a = trackDb.data[currentTrackName]) === null || _a === void 0 ? void 0 : _a.data.parent) || '';
97
63
  if (currentTrackName) {
98
64
  ;
99
65
  [currentTrackName] = currentTrackName.split(' ');
100
- parentTracks.push(trackDb.get(currentTrackName));
66
+ parentTracks.push(trackDb.data[currentTrackName]);
101
67
  }
102
68
  } while (currentTrackName);
103
69
  parentTracks.reverse();
104
70
  const categories = parentTracks
105
- .map(p => p === null || p === void 0 ? void 0 : p.get('shortLabel'))
71
+ .map(p => p === null || p === void 0 ? void 0 : p.data.shortLabel)
106
72
  .filter((f) => !!f);
107
- const res = makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter);
108
- tracks.push({
73
+ const res = makeTrackConfig({
74
+ track: track,
75
+ categories,
76
+ trackDbLoc,
77
+ trackDb,
78
+ sequenceAdapter,
79
+ });
80
+ return {
109
81
  ...res,
110
82
  trackId: `ucsc-trackhub-${(0, util_1.objectHash)(res)}`,
111
83
  assemblyNames: [assemblyName],
112
- });
113
- }
114
- return tracks;
84
+ };
85
+ })
86
+ .filter(util_1.notEmpty);
115
87
  }
116
88
  exports.generateTracks = generateTracks;
117
- function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter) {
89
+ function makeTrackConfig({ track, categories, trackDbLoc, trackDb, sequenceAdapter, }) {
118
90
  var _a;
119
- let trackType = track.get('type');
120
- const name = track.get('shortLabel') || '';
121
- const bigDataUrl = track.get('bigDataUrl') || '';
122
- const bigDataIdx = track.get('bigDataIndex') || '';
91
+ const trackType = track.data.type || ((_a = trackDb.data[track.data.parent || '']) === null || _a === void 0 ? void 0 : _a.data.type) || '';
92
+ const name = track.data.shortLabel || '';
93
+ const bigDataUrl = track.data.bigDataUrl || '';
94
+ const bigDataIdx = track.data.bigDataIndex || '';
123
95
  const isUri = (0, util_1.isUriLocation)(trackDbLoc);
124
- if (!trackType) {
125
- trackType = (_a = trackDb.get(track.get('parent') || '')) === null || _a === void 0 ? void 0 : _a.get('type');
126
- }
127
96
  let baseTrackType = (trackType === null || trackType === void 0 ? void 0 : trackType.split(' ')[0]) || '';
128
97
  if (baseTrackType === 'bam' && bigDataUrl.toLowerCase().endsWith('cram')) {
129
98
  baseTrackType = 'cram';
@@ -135,8 +104,8 @@ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter
135
104
  case 'bam':
136
105
  return {
137
106
  type: 'AlignmentsTrack',
138
- name: track.get('shortLabel'),
139
- description: track.get('longLabel'),
107
+ name: track.data.longLabel,
108
+ description: track.data.longLabel,
140
109
  category: categories,
141
110
  adapter: {
142
111
  type: 'BamAdapter',
@@ -148,142 +117,55 @@ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter
148
117
  },
149
118
  },
150
119
  };
151
- case 'bigBarChart':
120
+ case 'cram':
152
121
  return {
153
- type: 'FeatureTrack',
122
+ type: 'AlignmentsTrack',
154
123
  name,
155
- description: track.get('longLabel'),
124
+ description: track.data.longLabel,
156
125
  category: categories,
157
126
  adapter: {
158
- type: 'BigBedAdapter',
159
- bigBedLocation: bigDataLocation,
160
- },
161
- renderer: {
162
- type: 'SvgFeatureRenderer',
127
+ type: 'CramAdapter',
128
+ cramLocation: bigDataLocation,
129
+ craiLocation: isUri
130
+ ? makeLocAlt(bigDataIdx, bigDataUrl + '.crai', trackDbLoc)
131
+ : makeLoc2(bigDataIdx, bigDataUrl + '.crai'),
132
+ sequenceAdapter,
163
133
  },
164
134
  };
135
+ case 'bigBarChart':
165
136
  case 'bigBed':
166
- return {
167
- type: 'FeatureTrack',
168
- name,
169
- description: track.get('longLabel'),
170
- category: categories,
171
- adapter: {
172
- type: 'BigBedAdapter',
173
- bigBedLocation: bigDataLocation,
174
- },
175
- };
176
137
  case 'bigGenePred':
177
- return {
178
- type: 'FeatureTrack',
179
- name,
180
- description: track.get('longLabel'),
181
- category: categories,
182
- adapter: {
183
- type: 'BigBedAdapter',
184
- bigBedLocation: bigDataLocation,
185
- },
186
- };
187
138
  case 'bigChain':
188
- return {
189
- type: 'FeatureTrack',
190
- name,
191
- description: track.get('longLabel'),
192
- category: categories,
193
- adapter: {
194
- type: 'BigBedAdapter',
195
- bigBedLocation: bigDataLocation,
196
- },
197
- renderer: {
198
- type: 'SvgFeatureRenderer',
199
- },
200
- };
201
139
  case 'bigInteract':
202
- return {
203
- type: 'FeatureTrack',
204
- name,
205
- description: track.get('longLabel'),
206
- category: categories,
207
- adapter: {
208
- type: 'BigBedAdapter',
209
- bigBedLocation: bigDataLocation,
210
- },
211
- renderer: {
212
- type: 'SvgFeatureRenderer',
213
- },
214
- };
215
140
  case 'bigMaf':
216
- return {
217
- type: 'FeatureTrack',
218
- name,
219
- description: track.get('longLabel'),
220
- category: categories,
221
- adapter: {
222
- type: 'BigBedAdapter',
223
- bigBedLocation: bigDataLocation,
224
- },
225
- renderer: {
226
- type: 'SvgFeatureRenderer',
227
- },
228
- };
141
+ case 'bigNarrowPeak':
229
142
  case 'bigPsl':
230
143
  return {
231
144
  type: 'FeatureTrack',
232
145
  name,
233
- description: track.get('longLabel'),
146
+ description: track.data.longLabel,
234
147
  category: categories,
235
148
  adapter: {
236
149
  type: 'BigBedAdapter',
237
150
  bigBedLocation: bigDataLocation,
238
151
  },
239
- renderer: {
240
- type: 'SvgFeatureRenderer',
241
- },
242
152
  };
243
153
  case 'bigWig':
244
154
  return {
245
155
  type: 'QuantitativeTrack',
246
156
  name,
247
- description: track.get('longLabel'),
157
+ description: track.data.longLabel,
248
158
  category: categories,
249
159
  adapter: {
250
160
  type: 'BigWigAdapter',
251
161
  bigWigLocation: bigDataLocation,
252
162
  },
253
163
  };
254
- case 'cram':
255
- return {
256
- type: 'AlignmentsTrack',
257
- name,
258
- description: track.get('longLabel'),
259
- category: categories,
260
- adapter: {
261
- type: 'CramAdapter',
262
- cramLocation: bigDataLocation,
263
- craiLocation: isUri
264
- ? makeLocAlt(bigDataIdx, bigDataUrl + '.crai', trackDbLoc)
265
- : makeLoc2(bigDataIdx, bigDataUrl + '.crai'),
266
- sequenceAdapter,
267
- },
268
- };
269
- case 'bigNarrowPeak':
270
- return {
271
- type: 'FeatureTrack',
272
- name,
273
- description: track.get('longLabel'),
274
- category: categories,
275
- adapter: {
276
- type: 'BigBedAdapter',
277
- bigBedLocation: bigDataLocation,
278
- },
279
- };
280
- case 'peptideMapping':
281
- return (0, tracks_1.generateUnsupportedTrackConf)(name, baseTrackType, categories);
282
164
  case 'vcfTabix':
283
165
  return {
284
166
  type: 'VariantTrack',
285
167
  name,
286
- description: track.get('longLabel'),
168
+ description: track.data.longLabel,
287
169
  category: categories,
288
170
  adapter: {
289
171
  type: 'VcfTabixAdapter',
@@ -299,7 +181,7 @@ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter
299
181
  return {
300
182
  type: 'HicTrack',
301
183
  name,
302
- description: track.get('longLabel'),
184
+ description: track.data.longLabel,
303
185
  category: categories,
304
186
  adapter: {
305
187
  type: 'HicAdapter',
@@ -307,6 +189,7 @@ function makeTrackConfig(track, categories, trackDbLoc, trackDb, sequenceAdapter
307
189
  },
308
190
  };
309
191
  // unsupported types
192
+ // case 'peptideMapping':
310
193
  // case 'gvf':
311
194
  // case 'ld2':
312
195
  // case 'narrowPeak':
@@ -94,9 +94,6 @@ const DefaultAddTrackWorkflow = observer(function ({ model, }) {
94
94
  };
95
95
  jobsManager.queueJob(newEntry);
96
96
  }
97
- else {
98
- session.notify('Open a new view, or use the track selector in an existing view, to view this track', 'info');
99
- }
100
97
  model.clearData();
101
98
  if (isSessionModelWithWidgets(session)) {
102
99
  session.hideWidget(model);
@@ -106,10 +103,6 @@ const DefaultAddTrackWorkflow = observer(function ({ model, }) {
106
103
  setTrackErrorMessage('Failed to add track.\nThe configuration of this file is not currently supported.');
107
104
  }
108
105
  }
109
- function handleBack() {
110
- setTrackErrorMessage(undefined);
111
- setActiveStep(activeStep - 1);
112
- }
113
106
  function isNextDisabled() {
114
107
  switch (activeStep) {
115
108
  case 0:
@@ -126,7 +119,10 @@ const DefaultAddTrackWorkflow = observer(function ({ model, }) {
126
119
  React.createElement(StepContent, null,
127
120
  getStepContent(idx),
128
121
  React.createElement("div", { className: classes.actionsContainer },
129
- React.createElement(Button, { disabled: activeStep === 0, onClick: handleBack, className: classes.button }, "Back"),
122
+ React.createElement(Button, { disabled: activeStep === 0, onClick: () => {
123
+ setTrackErrorMessage(undefined);
124
+ setActiveStep(activeStep - 1);
125
+ }, className: classes.button }, "Back"),
130
126
  React.createElement(Button, { disabled: isNextDisabled(), variant: "contained", color: "primary", onClick: handleNext, className: classes.button, "data-testid": "addTrackNextButton" }, activeStep === steps.length - 1 ? 'Add' : 'Next')),
131
127
  trackErrorMessage ? (React.createElement("div", { className: classes.alertContainer },
132
128
  React.createElement(Alert, { severity: "error" }, trackErrorMessage))) : null)))))));
@@ -5,9 +5,21 @@ interface IndexingAttr {
5
5
  attributes: string[];
6
6
  exclude: string[];
7
7
  }
8
+ /**
9
+ * #stateModel AddTrackModel
10
+ */
8
11
  export default function f(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
12
+ /**
13
+ * #property
14
+ */
9
15
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
+ /**
17
+ * #property
18
+ */
10
19
  type: import("mobx-state-tree").ISimpleType<"AddTrackWidget">;
20
+ /**
21
+ * #property
22
+ */
11
23
  view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
12
24
  }, {
13
25
  trackSource: string;
@@ -20,30 +32,99 @@ export default function f(pluginManager: PluginManager): import("mobx-state-tree
20
32
  textIndexTrack: boolean;
21
33
  textIndexingConf: IndexingAttr | undefined;
22
34
  } & {
35
+ /**
36
+ * #action
37
+ */
23
38
  setAdapterHint(obj: string): void;
39
+ /**
40
+ * #action
41
+ */
24
42
  setTrackSource(str: string): void;
43
+ /**
44
+ * #action
45
+ */
25
46
  setTextIndexingConf(conf: IndexingAttr): void;
47
+ /**
48
+ * #action
49
+ */
26
50
  setTextIndexTrack(flag: boolean): void;
51
+ /**
52
+ * #action
53
+ */
27
54
  setTrackData(obj: FileLocation): void;
55
+ /**
56
+ * #action
57
+ */
28
58
  setIndexTrackData(obj: FileLocation): void;
59
+ /**
60
+ * #action
61
+ */
29
62
  setAssembly(str: string): void;
63
+ /**
64
+ * #action
65
+ */
30
66
  setTrackName(str: string): void;
67
+ /**
68
+ * #action
69
+ */
31
70
  setTrackType(str: string): void;
71
+ /**
72
+ * #action
73
+ */
32
74
  clearData(): void;
33
75
  } & {
76
+ /**
77
+ * #getter
78
+ */
34
79
  readonly trackAdapter: import("@jbrowse/core/util/tracks").AdapterConfig | undefined;
80
+ /**
81
+ * #getter
82
+ */
35
83
  readonly trackName: string;
84
+ /**
85
+ * #getter
86
+ */
36
87
  readonly isFtp: boolean;
88
+ /**
89
+ * #getter
90
+ */
37
91
  readonly isRelativeTrackUrl: boolean;
92
+ /**
93
+ * #getter
94
+ */
38
95
  readonly isRelativeIndexUrl: boolean;
96
+ /**
97
+ * #getter
98
+ */
39
99
  readonly isRelativeUrl: boolean;
100
+ /**
101
+ * #getter
102
+ */
40
103
  readonly trackHttp: any;
104
+ /**
105
+ * #getter
106
+ */
41
107
  readonly indexHttp: any;
108
+ /**
109
+ * #getter
110
+ */
42
111
  readonly wrongProtocol: any;
112
+ /**
113
+ * #getter
114
+ */
43
115
  readonly unsupported: boolean;
116
+ /**
117
+ * #getter
118
+ */
44
119
  readonly assembly: any;
120
+ /**
121
+ * #getter
122
+ */
45
123
  readonly trackType: string;
46
124
  } & {
125
+ /**
126
+ * #getter
127
+ */
47
128
  readonly warningMessage: "" | "Warning: JBrowse cannot access files using the ftp protocol" | "Warning: one or more of your files do not provide the protocol e.g.\n https://, please provide an absolute URL unless you are sure a\n relative URL is intended." | "Warning: You entered a http:// resources but we cannot access HTTP\n resources from JBrowse when it is running on https. Please use an\n https URL for your track, or access the JBrowse app from the http\n protocol";
48
129
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
49
130
  export type AddTrackStateModel = ReturnType<typeof f>;