@jbrowse/plugin-data-management 2.7.2 → 2.9.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 (83) hide show
  1. package/dist/AddTrackWidget/model.d.ts +81 -0
  2. package/dist/AddTrackWidget/model.js +81 -0
  3. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
  4. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +11 -53
  5. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +5 -7
  6. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +12 -11
  7. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +5 -7
  8. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +11 -8
  9. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -11
  10. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -7
  11. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +40 -135
  12. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +12 -0
  13. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +57 -0
  14. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +6 -0
  15. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +42 -0
  16. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +71 -46
  17. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +5 -34
  18. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +8 -3
  19. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +6 -0
  20. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +42 -0
  21. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +7 -6
  22. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +9 -28
  23. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +12 -0
  24. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +50 -0
  25. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  26. package/dist/HierarchicalTrackSelectorWidget/components/util.js +5 -1
  27. package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +128 -0
  28. package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +206 -0
  29. package/dist/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +2 -0
  30. package/dist/HierarchicalTrackSelectorWidget/{components/faceted/util.js → facetedUtil.js} +5 -1
  31. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +17 -5
  32. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +27 -21
  33. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +196 -17
  34. package/dist/HierarchicalTrackSelectorWidget/model.js +178 -23
  35. package/dist/ucsc-trackhub/doConnect.d.ts +1 -0
  36. package/dist/ucsc-trackhub/doConnect.js +131 -0
  37. package/dist/ucsc-trackhub/model.d.ts +19 -2
  38. package/dist/ucsc-trackhub/model.js +16 -71
  39. package/dist/ucsc-trackhub/ucscTrackHub.d.ts +161 -4
  40. package/dist/ucsc-trackhub/ucscTrackHub.js +49 -166
  41. package/esm/AddTrackWidget/model.d.ts +81 -0
  42. package/esm/AddTrackWidget/model.js +81 -0
  43. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
  44. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +12 -31
  45. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +5 -7
  46. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +13 -11
  47. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +5 -7
  48. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +12 -8
  49. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -11
  50. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -7
  51. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +41 -113
  52. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +12 -0
  53. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +29 -0
  54. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +6 -0
  55. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +37 -0
  56. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +71 -46
  57. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +6 -12
  58. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +8 -3
  59. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +6 -0
  60. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +37 -0
  61. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +7 -6
  62. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +8 -27
  63. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +12 -0
  64. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +45 -0
  65. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  66. package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -1
  67. package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +128 -0
  68. package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +202 -0
  69. package/esm/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +2 -0
  70. package/esm/HierarchicalTrackSelectorWidget/{components/faceted/util.js → facetedUtil.js} +3 -0
  71. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +17 -5
  72. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +27 -21
  73. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +196 -17
  74. package/esm/HierarchicalTrackSelectorWidget/model.js +180 -25
  75. package/esm/ucsc-trackhub/doConnect.d.ts +1 -0
  76. package/esm/ucsc-trackhub/doConnect.js +127 -0
  77. package/esm/ucsc-trackhub/model.d.ts +19 -2
  78. package/esm/ucsc-trackhub/model.js +17 -72
  79. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +161 -4
  80. package/esm/ucsc-trackhub/ucscTrackHub.js +48 -141
  81. package/package.json +3 -3
  82. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -1
  83. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -1
@@ -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':
@@ -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>;
@@ -10,11 +10,23 @@ function isAbsoluteUrl(url = '') {
10
10
  return url.startsWith('/');
11
11
  }
12
12
  }
13
+ /**
14
+ * #stateModel AddTrackModel
15
+ */
13
16
  export default function f(pluginManager) {
14
17
  return types
15
18
  .model('AddTrackModel', {
19
+ /**
20
+ * #property
21
+ */
16
22
  id: ElementId,
23
+ /**
24
+ * #property
25
+ */
17
26
  type: types.literal('AddTrackWidget'),
27
+ /**
28
+ * #property
29
+ */
18
30
  view: types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
19
31
  })
20
32
  .volatile(() => ({
@@ -30,33 +42,63 @@ export default function f(pluginManager) {
30
42
  textIndexingConf: undefined,
31
43
  }))
32
44
  .actions(self => ({
45
+ /**
46
+ * #action
47
+ */
33
48
  setAdapterHint(obj) {
34
49
  self.adapterHint = obj;
35
50
  },
51
+ /**
52
+ * #action
53
+ */
36
54
  setTrackSource(str) {
37
55
  self.trackSource = str;
38
56
  },
57
+ /**
58
+ * #action
59
+ */
39
60
  setTextIndexingConf(conf) {
40
61
  self.textIndexingConf = conf;
41
62
  },
63
+ /**
64
+ * #action
65
+ */
42
66
  setTextIndexTrack(flag) {
43
67
  self.textIndexTrack = flag;
44
68
  },
69
+ /**
70
+ * #action
71
+ */
45
72
  setTrackData(obj) {
46
73
  self.trackData = obj;
47
74
  },
75
+ /**
76
+ * #action
77
+ */
48
78
  setIndexTrackData(obj) {
49
79
  self.indexTrackData = obj;
50
80
  },
81
+ /**
82
+ * #action
83
+ */
51
84
  setAssembly(str) {
52
85
  self.altAssemblyName = str;
53
86
  },
87
+ /**
88
+ * #action
89
+ */
54
90
  setTrackName(str) {
55
91
  self.altTrackName = str;
56
92
  },
93
+ /**
94
+ * #action
95
+ */
57
96
  setTrackType(str) {
58
97
  self.altTrackType = str;
59
98
  },
99
+ /**
100
+ * #action
101
+ */
60
102
  clearData() {
61
103
  self.trackSource = '';
62
104
  self.altTrackName = '';
@@ -70,16 +112,25 @@ export default function f(pluginManager) {
70
112
  },
71
113
  }))
72
114
  .views(self => ({
115
+ /**
116
+ * #getter
117
+ */
73
118
  get trackAdapter() {
74
119
  const { trackData, indexTrackData, adapterHint } = self;
75
120
  return trackData
76
121
  ? guessAdapter(trackData, indexTrackData, adapterHint, self)
77
122
  : undefined;
78
123
  },
124
+ /**
125
+ * #getter
126
+ */
79
127
  get trackName() {
80
128
  return (self.altTrackName ||
81
129
  (self.trackData ? getFileName(self.trackData) : ''));
82
130
  },
131
+ /**
132
+ * #getter
133
+ */
83
134
  get isFtp() {
84
135
  var _a, _b;
85
136
  const { trackData: track, indexTrackData: index } = self;
@@ -87,43 +138,70 @@ export default function f(pluginManager) {
87
138
  // @ts-expect-error
88
139
  (((_a = index === null || index === void 0 ? void 0 : index.uri) === null || _a === void 0 ? void 0 : _a.startsWith('ftp://')) || ((_b = track === null || track === void 0 ? void 0 : track.uri) === null || _b === void 0 ? void 0 : _b.startsWith('ftp://'))));
89
140
  },
141
+ /**
142
+ * #getter
143
+ */
90
144
  get isRelativeTrackUrl() {
91
145
  var _a;
92
146
  // @ts-expect-error
93
147
  const uri = (_a = self.trackData) === null || _a === void 0 ? void 0 : _a.uri;
94
148
  return uri ? !isAbsoluteUrl(uri) : false;
95
149
  },
150
+ /**
151
+ * #getter
152
+ */
96
153
  get isRelativeIndexUrl() {
97
154
  var _a;
98
155
  // @ts-expect-error
99
156
  const uri = (_a = self.indexTrackData) === null || _a === void 0 ? void 0 : _a.uri;
100
157
  return uri ? !isAbsoluteUrl(uri) : false;
101
158
  },
159
+ /**
160
+ * #getter
161
+ */
102
162
  get isRelativeUrl() {
103
163
  return this.isRelativeIndexUrl || this.isRelativeTrackUrl;
104
164
  },
165
+ /**
166
+ * #getter
167
+ */
105
168
  get trackHttp() {
106
169
  var _a, _b;
107
170
  // @ts-expect-error
108
171
  return (_b = (_a = self.trackData) === null || _a === void 0 ? void 0 : _a.uri) === null || _b === void 0 ? void 0 : _b.startsWith('http://');
109
172
  },
173
+ /**
174
+ * #getter
175
+ */
110
176
  get indexHttp() {
111
177
  var _a, _b;
112
178
  // @ts-expect-error
113
179
  return (_b = (_a = self.indexTrackData) === null || _a === void 0 ? void 0 : _a.uri) === null || _b === void 0 ? void 0 : _b.startsWith('http://');
114
180
  },
181
+ /**
182
+ * #getter
183
+ */
115
184
  get wrongProtocol() {
116
185
  return (window.location.protocol === 'https:' &&
117
186
  (this.trackHttp || this.indexHttp));
118
187
  },
188
+ /**
189
+ * #getter
190
+ */
119
191
  get unsupported() {
120
192
  var _a;
121
193
  return ((_a = this.trackAdapter) === null || _a === void 0 ? void 0 : _a.type) === UNSUPPORTED;
122
194
  },
195
+ /**
196
+ * #getter
197
+ */
123
198
  get assembly() {
124
199
  var _a;
125
200
  return self.altAssemblyName || ((_a = self.view.assemblyNames) === null || _a === void 0 ? void 0 : _a[0]);
126
201
  },
202
+ /**
203
+ * #getter
204
+ */
127
205
  get trackType() {
128
206
  return (self.altTrackType ||
129
207
  (this.trackAdapter
@@ -132,6 +210,9 @@ export default function f(pluginManager) {
132
210
  },
133
211
  }))
134
212
  .views(self => ({
213
+ /**
214
+ * #getter
215
+ */
135
216
  get warningMessage() {
136
217
  if (self.isFtp) {
137
218
  return `Warning: JBrowse cannot access files using the ftp protocol`;
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  import { HierarchicalTrackSelectorModel } from '../model';
3
3
  declare const ShoppingCart: ({ model, }: {
4
4
  model: HierarchicalTrackSelectorModel;
5
- }) => React.JSX.Element;
5
+ }) => React.JSX.Element | null;
6
6
  export default ShoppingCart;