@jbrowse/plugin-data-management 1.7.3 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +17 -17
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +7 -7
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +6 -6
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +8 -8
- package/dist/AddConnectionWidget/index.js +1 -1
- package/dist/AddConnectionWidget/model.js +2 -2
- package/dist/AddTrackWidget/components/AddTrackWidget.js +58 -22
- package/dist/AddTrackWidget/components/AddTrackWidget.test.js +7 -7
- package/dist/AddTrackWidget/components/ConfirmTrack.js +182 -41
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +6 -6
- package/dist/AddTrackWidget/index.js +1 -1
- package/dist/AddTrackWidget/index.test.js +13 -13
- package/dist/AddTrackWidget/model.d.ts +9 -0
- package/dist/AddTrackWidget/model.js +13 -3
- package/dist/AssemblyManager/AssemblyAddForm.js +36 -36
- package/dist/AssemblyManager/AssemblyEditor.js +3 -3
- package/dist/AssemblyManager/AssemblyManager.js +18 -18
- package/dist/AssemblyManager/AssemblyManager.test.js +6 -6
- package/dist/AssemblyManager/AssemblyTable.js +15 -15
- package/dist/AssemblyManager/index.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +8 -8
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +5 -5
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +58 -58
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +10 -10
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +11 -11
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +9 -9
- package/dist/HierarchicalTrackSelectorWidget/index.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/model.js +8 -8
- package/dist/PluginStoreWidget/components/CustomPluginForm.js +24 -24
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +14 -14
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +5 -5
- package/dist/PluginStoreWidget/components/PluginCard.js +13 -13
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +31 -31
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +13 -13
- package/dist/PluginStoreWidget/index.js +2 -2
- package/dist/PluginStoreWidget/model.js +1 -1
- package/dist/SetDefaultSession/SetDefaultSession.js +7 -7
- package/dist/SetDefaultSession/SetDefaultSession.test.js +3 -3
- package/dist/SetDefaultSession/index.js +1 -1
- package/dist/index.js +15 -15
- package/dist/index.test.js +2 -2
- package/dist/ucsc-trackhub/configSchema.js +2 -2
- package/dist/ucsc-trackhub/index.js +2 -2
- package/dist/ucsc-trackhub/model.js +7 -7
- package/dist/ucsc-trackhub/ucscAssemblies.js +2 -2
- package/dist/ucsc-trackhub/ucscTrackHub.js +9 -9
- package/package.json +3 -3
- package/src/AddTrackWidget/components/AddTrackWidget.tsx +44 -2
- package/src/AddTrackWidget/components/ConfirmTrack.tsx +153 -2
- package/src/AddTrackWidget/model.ts +14 -1
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
|
-
exports
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
13
|
|
|
10
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
15
|
|
|
12
16
|
var _configuration = require("@jbrowse/core/configuration");
|
|
13
17
|
|
|
@@ -15,16 +19,36 @@ var _util = require("@jbrowse/core/util");
|
|
|
15
19
|
|
|
16
20
|
var _core = require("@material-ui/core");
|
|
17
21
|
|
|
22
|
+
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
23
|
+
|
|
24
|
+
var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
25
|
+
|
|
18
26
|
var _mobxReact = require("mobx-react");
|
|
19
27
|
|
|
20
28
|
var _mobxStateTree = require("mobx-state-tree");
|
|
21
29
|
|
|
22
30
|
var _tracks = require("@jbrowse/core/util/tracks");
|
|
23
31
|
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
// icons
|
|
24
37
|
var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
25
38
|
return {
|
|
26
39
|
spacing: {
|
|
27
40
|
marginBottom: theme.spacing(3)
|
|
41
|
+
},
|
|
42
|
+
paper: {
|
|
43
|
+
display: 'flex',
|
|
44
|
+
flexDirection: 'column',
|
|
45
|
+
padding: theme.spacing(1)
|
|
46
|
+
},
|
|
47
|
+
spacer: {
|
|
48
|
+
height: theme.spacing(8)
|
|
49
|
+
},
|
|
50
|
+
card: {
|
|
51
|
+
marginTop: theme.spacing(1)
|
|
28
52
|
}
|
|
29
53
|
};
|
|
30
54
|
});
|
|
@@ -35,11 +59,11 @@ function StatusMessage(_ref) {
|
|
|
35
59
|
var trackAdapter = _ref.trackAdapter,
|
|
36
60
|
trackType = _ref.trackType;
|
|
37
61
|
var classes = useStyles();
|
|
38
|
-
return trackAdapter.type === 'SNPCoverageAdapter' ? /*#__PURE__*/_react
|
|
62
|
+
return trackAdapter.type === 'SNPCoverageAdapter' ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
39
63
|
className: classes.spacing
|
|
40
|
-
}, "Selected ", /*#__PURE__*/_react
|
|
64
|
+
}, "Selected ", /*#__PURE__*/_react.default.createElement("code", null, trackType), ". Using adapter", ' ', /*#__PURE__*/_react.default.createElement("code", null, trackAdapter.type), " with subadapter", ' ', /*#__PURE__*/_react.default.createElement("code", null, (_trackAdapter$subadap = trackAdapter.subadapter) === null || _trackAdapter$subadap === void 0 ? void 0 : _trackAdapter$subadap.type), ". Please enter a track name and, if necessary, update the track type.") : /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
41
65
|
className: classes.spacing
|
|
42
|
-
}, "Using adapter ", /*#__PURE__*/_react
|
|
66
|
+
}, "Using adapter ", /*#__PURE__*/_react.default.createElement("code", null, trackAdapter.type), " and guessing track type", ' ', /*#__PURE__*/_react.default.createElement("code", null, trackType), ". Please enter a track name and, if necessary, update the track type.");
|
|
43
67
|
}
|
|
44
68
|
/**
|
|
45
69
|
* categorizeAdapters takes a list of adapters and sorts their menu item elements under an appropriate ListSubheader
|
|
@@ -65,13 +89,13 @@ function categorizeAdapters(adaptersList) {
|
|
|
65
89
|
var _adapter$adapterMetad3, _adapter$adapterMetad4, _adapter$adapterMetad5, _adapter$adapterMetad6;
|
|
66
90
|
|
|
67
91
|
currentCategory = (_adapter$adapterMetad3 = adapter.adapterMetadata) === null || _adapter$adapterMetad3 === void 0 ? void 0 : _adapter$adapterMetad3.category;
|
|
68
|
-
items.push( /*#__PURE__*/_react
|
|
92
|
+
items.push( /*#__PURE__*/_react.default.createElement(_core.ListSubheader, {
|
|
69
93
|
key: (_adapter$adapterMetad4 = adapter.adapterMetadata) === null || _adapter$adapterMetad4 === void 0 ? void 0 : _adapter$adapterMetad4.category,
|
|
70
94
|
value: (_adapter$adapterMetad5 = adapter.adapterMetadata) === null || _adapter$adapterMetad5 === void 0 ? void 0 : _adapter$adapterMetad5.category
|
|
71
95
|
}, (_adapter$adapterMetad6 = adapter.adapterMetadata) === null || _adapter$adapterMetad6 === void 0 ? void 0 : _adapter$adapterMetad6.category));
|
|
72
96
|
}
|
|
73
97
|
|
|
74
|
-
items.push( /*#__PURE__*/_react
|
|
98
|
+
items.push( /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
|
|
75
99
|
key: adapter.name,
|
|
76
100
|
value: adapter.name
|
|
77
101
|
}, (_adapter$adapterMetad7 = adapter.adapterMetadata) !== null && _adapter$adapterMetad7 !== void 0 && _adapter$adapterMetad7.displayName ? (_adapter$adapterMetad8 = adapter.adapterMetadata) === null || _adapter$adapterMetad8 === void 0 ? void 0 : _adapter$adapterMetad8.displayName : adapter.name));
|
|
@@ -88,14 +112,113 @@ function getTrackTypes(pluginManager) {
|
|
|
88
112
|
return pluginManager.getElementTypesInGroup('track');
|
|
89
113
|
}
|
|
90
114
|
|
|
91
|
-
var
|
|
115
|
+
var TextIndexingConfig = (0, _mobxReact.observer)(function (_ref2) {
|
|
92
116
|
var model = _ref2.model;
|
|
93
117
|
var classes = useStyles();
|
|
118
|
+
|
|
119
|
+
var _useState = (0, _react.useState)(''),
|
|
120
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
121
|
+
value1 = _useState2[0],
|
|
122
|
+
setValue1 = _useState2[1];
|
|
123
|
+
|
|
124
|
+
var _useState3 = (0, _react.useState)(''),
|
|
125
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
126
|
+
value2 = _useState4[0],
|
|
127
|
+
setValue2 = _useState4[1];
|
|
128
|
+
|
|
129
|
+
var _useState5 = (0, _react.useState)(['Name', 'ID']),
|
|
130
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
131
|
+
attributes = _useState6[0],
|
|
132
|
+
setAttributes = _useState6[1];
|
|
133
|
+
|
|
134
|
+
var _useState7 = (0, _react.useState)(['CDS', 'exon']),
|
|
135
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
136
|
+
exclude = _useState8[0],
|
|
137
|
+
setExclude = _useState8[1];
|
|
138
|
+
|
|
139
|
+
var sections = [{
|
|
140
|
+
label: 'Indexing attributes',
|
|
141
|
+
values: attributes
|
|
142
|
+
}, {
|
|
143
|
+
label: 'Feature types to exclude',
|
|
144
|
+
values: exclude
|
|
145
|
+
}];
|
|
146
|
+
(0, _react.useEffect)(function () {
|
|
147
|
+
model.setTextIndexingConf({
|
|
148
|
+
attributes: attributes,
|
|
149
|
+
exclude: exclude
|
|
150
|
+
});
|
|
151
|
+
}, [model, attributes, exclude]);
|
|
152
|
+
return /*#__PURE__*/_react.default.createElement(_core.Paper, {
|
|
153
|
+
className: classes.paper
|
|
154
|
+
}, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, "Indexing configuration"), sections.map(function (section, index) {
|
|
155
|
+
return /*#__PURE__*/_react.default.createElement(_core.Card, {
|
|
156
|
+
raised: true,
|
|
157
|
+
key: section.label,
|
|
158
|
+
className: classes.card
|
|
159
|
+
}, /*#__PURE__*/_react.default.createElement(_core.CardContent, null, /*#__PURE__*/_react.default.createElement(_core.InputLabel, null, section.label), /*#__PURE__*/_react.default.createElement(_core.List, {
|
|
160
|
+
disablePadding: true
|
|
161
|
+
}, section.values.map(function (val, idx) {
|
|
162
|
+
return /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
163
|
+
key: idx,
|
|
164
|
+
disableGutters: true
|
|
165
|
+
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
166
|
+
value: val,
|
|
167
|
+
InputProps: {
|
|
168
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
169
|
+
position: "end"
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
171
|
+
color: "secondary",
|
|
172
|
+
onClick: function onClick() {
|
|
173
|
+
var newAttr = section.values.filter(function (a, i) {
|
|
174
|
+
return i !== idx;
|
|
175
|
+
});
|
|
176
|
+
index === 0 ? setAttributes(newAttr) : setExclude(newAttr);
|
|
177
|
+
}
|
|
178
|
+
}, /*#__PURE__*/_react.default.createElement(_Delete.default, null)))
|
|
179
|
+
}
|
|
180
|
+
}));
|
|
181
|
+
}), /*#__PURE__*/_react.default.createElement(_core.ListItem, {
|
|
182
|
+
disableGutters: true
|
|
183
|
+
}, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
184
|
+
value: index === 0 ? value1 : value2,
|
|
185
|
+
placeholder: "add new",
|
|
186
|
+
onChange: function onChange(event) {
|
|
187
|
+
index === 0 ? setValue1(event.target.value) : setValue2(event.target.value);
|
|
188
|
+
},
|
|
189
|
+
InputProps: {
|
|
190
|
+
endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
|
|
191
|
+
position: "end"
|
|
192
|
+
}, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
|
|
193
|
+
onClick: function onClick() {
|
|
194
|
+
if (index === 0) {
|
|
195
|
+
var newAttr = attributes;
|
|
196
|
+
newAttr.push(value1);
|
|
197
|
+
setAttributes(newAttr);
|
|
198
|
+
setValue1('');
|
|
199
|
+
} else {
|
|
200
|
+
var newFeat = exclude;
|
|
201
|
+
newFeat.push(value2);
|
|
202
|
+
setExclude(newFeat);
|
|
203
|
+
setValue2('');
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
disabled: index === 0 ? value1 === '' : value2 === '',
|
|
207
|
+
color: "secondary",
|
|
208
|
+
"data-testid": "stringArrayAdd-Feat"
|
|
209
|
+
}, /*#__PURE__*/_react.default.createElement(_Add.default, null)))
|
|
210
|
+
}
|
|
211
|
+
})))));
|
|
212
|
+
}));
|
|
213
|
+
});
|
|
214
|
+
var TrackAdapterSelector = (0, _mobxReact.observer)(function (_ref3) {
|
|
215
|
+
var model = _ref3.model;
|
|
216
|
+
var classes = useStyles();
|
|
94
217
|
var session = (0, _util.getSession)(model);
|
|
95
218
|
var trackAdapter = model.trackAdapter; // prettier-ignore
|
|
96
219
|
|
|
97
220
|
var adapters = getAdapterTypes((0, _mobxStateTree.getEnv)(session).pluginManager);
|
|
98
|
-
return /*#__PURE__*/_react
|
|
221
|
+
return /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
99
222
|
className: classes.spacing,
|
|
100
223
|
value: (trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type) !== 'UNKNOWN' ? trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type : '',
|
|
101
224
|
label: "adapterType",
|
|
@@ -119,7 +242,7 @@ var TrackAdapterSelector = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
119
242
|
}).map(function (elt) {
|
|
120
243
|
var _elt$adapterMetadata3, _elt$adapterMetadata4;
|
|
121
244
|
|
|
122
|
-
return /*#__PURE__*/_react
|
|
245
|
+
return /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
|
|
123
246
|
key: elt.name,
|
|
124
247
|
value: elt.name
|
|
125
248
|
}, (_elt$adapterMetadata3 = elt.adapterMetadata) !== null && _elt$adapterMetadata3 !== void 0 && _elt$adapterMetadata3.displayName ? (_elt$adapterMetadata4 = elt.adapterMetadata) === null || _elt$adapterMetadata4 === void 0 ? void 0 : _elt$adapterMetadata4.displayName : elt.name);
|
|
@@ -130,31 +253,31 @@ var TrackAdapterSelector = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
130
253
|
})));
|
|
131
254
|
});
|
|
132
255
|
|
|
133
|
-
function UnknownAdapterPrompt(
|
|
134
|
-
var model =
|
|
256
|
+
function UnknownAdapterPrompt(_ref4) {
|
|
257
|
+
var model = _ref4.model;
|
|
135
258
|
var classes = useStyles();
|
|
136
|
-
return /*#__PURE__*/_react
|
|
259
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
137
260
|
className: classes.spacing
|
|
138
|
-
}, "JBrowse was not able to guess the adapter type for this data, but it may be in the list below. If not, you can", ' ', /*#__PURE__*/_react
|
|
261
|
+
}, "JBrowse was not able to guess the adapter type for this data, but it may be in the list below. If not, you can", ' ', /*#__PURE__*/_react.default.createElement(_core.Link, {
|
|
139
262
|
href: "https://github.com/GMOD/jbrowse-components/releases",
|
|
140
263
|
target: "_blank",
|
|
141
264
|
rel: "noopener noreferrer"
|
|
142
|
-
}, "check for new releases"), ' ', "of JBrowse to see if they support this data type or", ' ', /*#__PURE__*/_react
|
|
265
|
+
}, "check for new releases"), ' ', "of JBrowse to see if they support this data type or", ' ', /*#__PURE__*/_react.default.createElement(_core.Link, {
|
|
143
266
|
href: "https://github.com/GMOD/jbrowse-components/issues/new",
|
|
144
267
|
target: "_blank",
|
|
145
268
|
rel: "noopener noreferrer"
|
|
146
|
-
}, "file an issue"), ' ', "and add a feature request for this data type."), /*#__PURE__*/_react
|
|
269
|
+
}, "file an issue"), ' ', "and add a feature request for this data type."), /*#__PURE__*/_react.default.createElement(TrackAdapterSelector, {
|
|
147
270
|
model: model
|
|
148
271
|
}));
|
|
149
272
|
}
|
|
150
273
|
|
|
151
|
-
var TrackTypeSelector = (0, _mobxReact.observer)(function (
|
|
152
|
-
var model =
|
|
274
|
+
var TrackTypeSelector = (0, _mobxReact.observer)(function (_ref5) {
|
|
275
|
+
var model = _ref5.model;
|
|
153
276
|
var classes = useStyles();
|
|
154
277
|
var session = (0, _util.getSession)(model);
|
|
155
278
|
var trackType = model.trackType;
|
|
156
279
|
var trackTypes = getTrackTypes((0, _mobxStateTree.getEnv)(session).pluginManager);
|
|
157
|
-
return /*#__PURE__*/_react
|
|
280
|
+
return /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
158
281
|
className: classes.spacing,
|
|
159
282
|
value: trackType,
|
|
160
283
|
label: "trackType",
|
|
@@ -170,19 +293,19 @@ var TrackTypeSelector = (0, _mobxReact.observer)(function (_ref4) {
|
|
|
170
293
|
'data-testid': 'trackTypeSelect'
|
|
171
294
|
}
|
|
172
295
|
}
|
|
173
|
-
}, trackTypes.map(function (
|
|
174
|
-
var name =
|
|
175
|
-
return /*#__PURE__*/_react
|
|
296
|
+
}, trackTypes.map(function (_ref6) {
|
|
297
|
+
var name = _ref6.name;
|
|
298
|
+
return /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
|
|
176
299
|
key: name,
|
|
177
300
|
value: name
|
|
178
301
|
}, name);
|
|
179
302
|
}));
|
|
180
303
|
});
|
|
181
|
-
var TrackAssemblySelector = (0, _mobxReact.observer)(function (
|
|
182
|
-
var model =
|
|
304
|
+
var TrackAssemblySelector = (0, _mobxReact.observer)(function (_ref7) {
|
|
305
|
+
var model = _ref7.model;
|
|
183
306
|
var session = (0, _util.getSession)(model);
|
|
184
307
|
var assembly = model.assembly;
|
|
185
|
-
return /*#__PURE__*/_react
|
|
308
|
+
return /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
186
309
|
value: assembly,
|
|
187
310
|
label: "assemblyName",
|
|
188
311
|
helperText: "Assembly to which the track will be added",
|
|
@@ -200,16 +323,22 @@ var TrackAssemblySelector = (0, _mobxReact.observer)(function (_ref6) {
|
|
|
200
323
|
}, session.assemblies.map(function (conf) {
|
|
201
324
|
return (0, _configuration.readConfObject)(conf, 'name');
|
|
202
325
|
}).map(function (name) {
|
|
203
|
-
return /*#__PURE__*/_react
|
|
326
|
+
return /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
|
|
204
327
|
key: name,
|
|
205
328
|
value: name
|
|
206
329
|
}, name);
|
|
207
330
|
}));
|
|
208
331
|
});
|
|
209
332
|
|
|
210
|
-
function ConfirmTrack(
|
|
211
|
-
var model =
|
|
333
|
+
function ConfirmTrack(_ref8) {
|
|
334
|
+
var model = _ref8.model;
|
|
212
335
|
var classes = useStyles();
|
|
336
|
+
|
|
337
|
+
var _useState9 = (0, _react.useState)(true),
|
|
338
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
339
|
+
check = _useState10[0],
|
|
340
|
+
setCheck = _useState10[1];
|
|
341
|
+
|
|
213
342
|
var trackName = model.trackName,
|
|
214
343
|
trackAdapter = model.trackAdapter,
|
|
215
344
|
trackType = model.trackType,
|
|
@@ -217,13 +346,13 @@ function ConfirmTrack(_ref7) {
|
|
|
217
346
|
adapterHint = model.adapterHint;
|
|
218
347
|
|
|
219
348
|
if (model.unsupported) {
|
|
220
|
-
return /*#__PURE__*/_react
|
|
349
|
+
return /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
221
350
|
className: classes.spacing
|
|
222
|
-
}, "This version of JBrowse cannot display data of this type. It is possible, however, that there is a newer version that can display them. You can", ' ', /*#__PURE__*/_react
|
|
351
|
+
}, "This version of JBrowse cannot display data of this type. It is possible, however, that there is a newer version that can display them. You can", ' ', /*#__PURE__*/_react.default.createElement(_core.Link, {
|
|
223
352
|
href: "https://github.com/GMOD/jbrowse-components/releases",
|
|
224
353
|
target: "_blank",
|
|
225
354
|
rel: "noopener noreferrer"
|
|
226
|
-
}, "check for new releases"), ' ', "of JBrowse or", ' ', /*#__PURE__*/_react
|
|
355
|
+
}, "check for new releases"), ' ', "of JBrowse or", ' ', /*#__PURE__*/_react.default.createElement(_core.Link, {
|
|
227
356
|
href: "https://github.com/GMOD/jbrowse-components/issues/new",
|
|
228
357
|
target: "_blank",
|
|
229
358
|
rel: "noopener noreferrer"
|
|
@@ -231,7 +360,7 @@ function ConfirmTrack(_ref7) {
|
|
|
231
360
|
}
|
|
232
361
|
|
|
233
362
|
if ((trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type) === _tracks.UNKNOWN) {
|
|
234
|
-
return /*#__PURE__*/_react
|
|
363
|
+
return /*#__PURE__*/_react.default.createElement(UnknownAdapterPrompt, {
|
|
235
364
|
model: model
|
|
236
365
|
});
|
|
237
366
|
}
|
|
@@ -241,17 +370,18 @@ function ConfirmTrack(_ref7) {
|
|
|
241
370
|
}
|
|
242
371
|
|
|
243
372
|
if (!(trackAdapter !== null && trackAdapter !== void 0 && trackAdapter.type)) {
|
|
244
|
-
return /*#__PURE__*/_react
|
|
373
|
+
return /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Could not recognize this data type.");
|
|
245
374
|
}
|
|
246
375
|
|
|
247
|
-
|
|
376
|
+
var supportedForIndexing = (0, _util.supportedIndexingAdapters)(trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type);
|
|
377
|
+
return /*#__PURE__*/_react.default.createElement("div", null, trackAdapter ? /*#__PURE__*/_react.default.createElement(StatusMessage, {
|
|
248
378
|
trackAdapter: trackAdapter,
|
|
249
379
|
trackType: trackType
|
|
250
|
-
}) : null, warningMessage ? /*#__PURE__*/_react
|
|
380
|
+
}) : null, warningMessage ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
251
381
|
style: {
|
|
252
382
|
color: 'orange'
|
|
253
383
|
}
|
|
254
|
-
}, warningMessage) : null, /*#__PURE__*/_react
|
|
384
|
+
}, warningMessage) : null, /*#__PURE__*/_react.default.createElement(_core.TextField, {
|
|
255
385
|
className: classes.spacing,
|
|
256
386
|
label: "trackName",
|
|
257
387
|
helperText: "A name for this track",
|
|
@@ -263,15 +393,26 @@ function ConfirmTrack(_ref7) {
|
|
|
263
393
|
inputProps: {
|
|
264
394
|
'data-testid': 'trackNameInput'
|
|
265
395
|
}
|
|
266
|
-
}), /*#__PURE__*/_react
|
|
396
|
+
}), /*#__PURE__*/_react.default.createElement(TrackAdapterSelector, {
|
|
267
397
|
model: model
|
|
268
|
-
}), /*#__PURE__*/_react
|
|
398
|
+
}), /*#__PURE__*/_react.default.createElement(TrackTypeSelector, {
|
|
269
399
|
model: model
|
|
270
|
-
}), /*#__PURE__*/_react
|
|
400
|
+
}), /*#__PURE__*/_react.default.createElement(TrackAssemblySelector, {
|
|
271
401
|
model: model
|
|
272
|
-
})
|
|
402
|
+
}), _util.isElectron && supportedForIndexing && /*#__PURE__*/_react.default.createElement(_core.FormControl, null, /*#__PURE__*/_react.default.createElement(_core.FormControlLabel, {
|
|
403
|
+
label: 'Index track for text searching?',
|
|
404
|
+
control: /*#__PURE__*/_react.default.createElement(_core.Checkbox, {
|
|
405
|
+
checked: check,
|
|
406
|
+
onChange: function onChange(e) {
|
|
407
|
+
setCheck(e.target.checked);
|
|
408
|
+
model.setTextIndexTrack(e.target.checked);
|
|
409
|
+
}
|
|
410
|
+
})
|
|
411
|
+
})), _util.isElectron && check && supportedForIndexing ? /*#__PURE__*/_react.default.createElement(TextIndexingConfig, {
|
|
412
|
+
model: model
|
|
413
|
+
}) : null);
|
|
273
414
|
}
|
|
274
415
|
|
|
275
416
|
var _default = (0, _mobxReact.observer)(ConfirmTrack);
|
|
276
417
|
|
|
277
|
-
exports
|
|
418
|
+
exports.default = _default;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
@@ -34,18 +34,18 @@ function TrackSourceSelect(_ref) {
|
|
|
34
34
|
var model = _ref.model;
|
|
35
35
|
var classes = useStyles();
|
|
36
36
|
var rootModel = (0, _mobxStateTree.getRoot)(model);
|
|
37
|
-
return /*#__PURE__*/_react
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_core.Paper, {
|
|
38
38
|
className: classes.paper
|
|
39
|
-
}, /*#__PURE__*/_react
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.FileSelector, {
|
|
40
40
|
name: "Main file",
|
|
41
41
|
description: "",
|
|
42
42
|
location: model.trackData,
|
|
43
43
|
setLocation: model.setTrackData,
|
|
44
44
|
setName: model.setTrackName,
|
|
45
45
|
rootModel: rootModel
|
|
46
|
-
}), /*#__PURE__*/_react
|
|
46
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
47
47
|
className: classes.spacer
|
|
48
|
-
}), /*#__PURE__*/_react
|
|
48
|
+
}), /*#__PURE__*/_react.default.createElement(_ui.FileSelector, {
|
|
49
49
|
name: "Index file",
|
|
50
50
|
description: "(Optional) The URL of the index file is automatically inferred from the URL of the main file if it is not supplied.",
|
|
51
51
|
location: model.indexTrackData,
|
|
@@ -57,4 +57,4 @@ function TrackSourceSelect(_ref) {
|
|
|
57
57
|
|
|
58
58
|
var _default = (0, _mobxReact.observer)(TrackSourceSelect);
|
|
59
59
|
|
|
60
|
-
exports
|
|
60
|
+
exports.default = _default;
|
|
@@ -36,19 +36,19 @@ var _pluginVariants = _interopRequireDefault(require("@jbrowse/plugin-variants")
|
|
|
36
36
|
|
|
37
37
|
var _pluginHic = _interopRequireDefault(require("@jbrowse/plugin-hic"));
|
|
38
38
|
|
|
39
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2
|
|
39
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
40
40
|
|
|
41
41
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
42
42
|
|
|
43
43
|
function standardInitializer() {
|
|
44
|
-
var pluginManager = new _PluginManager
|
|
44
|
+
var pluginManager = new _PluginManager.default([new FakeViewPlugin(), new _pluginAlignments.default(), new _pluginSvg.default(), new _pluginVariants.default(), new _pluginHic.default()]);
|
|
45
45
|
pluginManager.createPluggableElements();
|
|
46
46
|
pluginManager.configure();
|
|
47
47
|
|
|
48
48
|
var SessionModel = _mobxStateTree.types.model({
|
|
49
49
|
view: FakeViewModel,
|
|
50
|
-
widget: (0, _model
|
|
51
|
-
})
|
|
50
|
+
widget: (0, _model.default)(pluginManager)
|
|
51
|
+
}).volatile(function () {
|
|
52
52
|
return {
|
|
53
53
|
rpcManager: {},
|
|
54
54
|
configuration: {}
|
|
@@ -89,40 +89,40 @@ var FakeViewModel = _mobxStateTree.types.model('FakeView', {
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
var FakeViewPlugin = /*#__PURE__*/function (_Plugin) {
|
|
92
|
-
(0, _inherits2
|
|
92
|
+
(0, _inherits2.default)(FakeViewPlugin, _Plugin);
|
|
93
93
|
|
|
94
94
|
var _super = _createSuper(FakeViewPlugin);
|
|
95
95
|
|
|
96
96
|
function FakeViewPlugin() {
|
|
97
97
|
var _this;
|
|
98
98
|
|
|
99
|
-
(0, _classCallCheck2
|
|
99
|
+
(0, _classCallCheck2.default)(this, FakeViewPlugin);
|
|
100
100
|
|
|
101
101
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
102
102
|
args[_key] = arguments[_key];
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
106
|
-
(0, _defineProperty2
|
|
106
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'FakeViewPlugin');
|
|
107
107
|
return _this;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
(0, _createClass2
|
|
110
|
+
(0, _createClass2.default)(FakeViewPlugin, [{
|
|
111
111
|
key: "install",
|
|
112
112
|
value: function install(pluginManager) {
|
|
113
113
|
pluginManager.addViewType(function () {
|
|
114
|
-
return new _ViewType
|
|
114
|
+
return new _ViewType.default({
|
|
115
115
|
name: 'FakeView',
|
|
116
116
|
stateModel: FakeViewModel,
|
|
117
117
|
ReactComponent: function ReactComponent() {
|
|
118
|
-
return /*#__PURE__*/_react
|
|
118
|
+
return /*#__PURE__*/_react.default.createElement("div", null, "Hello world");
|
|
119
119
|
}
|
|
120
120
|
});
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
}]);
|
|
124
124
|
return FakeViewPlugin;
|
|
125
|
-
}(_Plugin2
|
|
125
|
+
}(_Plugin2.default);
|
|
126
126
|
|
|
127
127
|
describe('tests on an LGV type system with view.assemblyNames, using URL', function () {
|
|
128
128
|
var session;
|
|
@@ -180,13 +180,13 @@ describe('tests on an LGV type system with view.assemblyNames, using URL', funct
|
|
|
180
180
|
describe('tests on an view without view.assemblyNames', function () {
|
|
181
181
|
var session;
|
|
182
182
|
beforeEach(function () {
|
|
183
|
-
var pluginManager = new _PluginManager
|
|
183
|
+
var pluginManager = new _PluginManager.default([new FakeViewPlugin()]);
|
|
184
184
|
pluginManager.createPluggableElements();
|
|
185
185
|
pluginManager.configure();
|
|
186
186
|
|
|
187
187
|
var SessionModel = _mobxStateTree.types.model({
|
|
188
188
|
view: FakeViewModel,
|
|
189
|
-
widget: (0, _model
|
|
189
|
+
widget: (0, _model.default)(pluginManager)
|
|
190
190
|
}); // no assemblyNames on the view, just in case some view does not implement
|
|
191
191
|
// view.assemblyNames (it is just a convenience)
|
|
192
192
|
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Instance } from 'mobx-state-tree';
|
|
2
2
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
3
3
|
import { FileLocation } from '@jbrowse/core/util/types';
|
|
4
|
+
interface IndexingAttr {
|
|
5
|
+
attributes: string[];
|
|
6
|
+
exclude: string[];
|
|
7
|
+
}
|
|
4
8
|
export default function f(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
5
9
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
6
10
|
type: import("mobx-state-tree").ISimpleType<"AddTrackWidget">;
|
|
@@ -13,9 +17,13 @@ export default function f(pluginManager: PluginManager): import("mobx-state-tree
|
|
|
13
17
|
altTrackName: string;
|
|
14
18
|
altTrackType: string;
|
|
15
19
|
adapterHint: string;
|
|
20
|
+
textIndexTrack: boolean;
|
|
21
|
+
textIndexingConf: IndexingAttr | undefined;
|
|
16
22
|
} & {
|
|
17
23
|
setAdapterHint(obj: string): void;
|
|
18
24
|
setTrackSource(str: string): void;
|
|
25
|
+
setTextIndexingConf(conf: IndexingAttr): void;
|
|
26
|
+
setTextIndexTrack(flag: boolean): void;
|
|
19
27
|
setTrackData(obj: FileLocation): void;
|
|
20
28
|
setIndexTrackData(obj: FileLocation): void;
|
|
21
29
|
setAssembly(str: string): void;
|
|
@@ -40,3 +48,4 @@ export default function f(pluginManager: PluginManager): import("mobx-state-tree
|
|
|
40
48
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
41
49
|
export declare type AddTrackStateModel = ReturnType<typeof f>;
|
|
42
50
|
export declare type AddTrackModel = Instance<AddTrackStateModel>;
|
|
51
|
+
export {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.default = f;
|
|
7
7
|
|
|
8
8
|
var _mobxStateTree = require("mobx-state-tree");
|
|
9
9
|
|
|
@@ -27,7 +27,7 @@ function f(pluginManager) {
|
|
|
27
27
|
id: _mst.ElementId,
|
|
28
28
|
type: _mobxStateTree.types.literal('AddTrackWidget'),
|
|
29
29
|
view: _mobxStateTree.types.safeReference(pluginManager.pluggableMstType('view', 'stateModel'))
|
|
30
|
-
})
|
|
30
|
+
}).volatile(function () {
|
|
31
31
|
return {
|
|
32
32
|
trackSource: 'fromFile',
|
|
33
33
|
trackData: undefined,
|
|
@@ -36,7 +36,9 @@ function f(pluginManager) {
|
|
|
36
36
|
altAssemblyName: '',
|
|
37
37
|
altTrackName: '',
|
|
38
38
|
altTrackType: '',
|
|
39
|
-
adapterHint: ''
|
|
39
|
+
adapterHint: '',
|
|
40
|
+
textIndexTrack: true,
|
|
41
|
+
textIndexingConf: undefined
|
|
40
42
|
};
|
|
41
43
|
}).actions(function (self) {
|
|
42
44
|
return {
|
|
@@ -46,6 +48,12 @@ function f(pluginManager) {
|
|
|
46
48
|
setTrackSource: function setTrackSource(str) {
|
|
47
49
|
self.trackSource = str;
|
|
48
50
|
},
|
|
51
|
+
setTextIndexingConf: function setTextIndexingConf(conf) {
|
|
52
|
+
self.textIndexingConf = conf;
|
|
53
|
+
},
|
|
54
|
+
setTextIndexTrack: function setTextIndexTrack(flag) {
|
|
55
|
+
self.textIndexTrack = flag;
|
|
56
|
+
},
|
|
49
57
|
setTrackData: function setTrackData(obj) {
|
|
50
58
|
self.trackData = obj;
|
|
51
59
|
},
|
|
@@ -69,6 +77,8 @@ function f(pluginManager) {
|
|
|
69
77
|
self.adapterHint = '';
|
|
70
78
|
self.indexTrackData = undefined;
|
|
71
79
|
self.trackData = undefined;
|
|
80
|
+
self.textIndexingConf = undefined;
|
|
81
|
+
self.textIndexTrack = false;
|
|
72
82
|
}
|
|
73
83
|
};
|
|
74
84
|
}).views(function (self) {
|