@jbrowse/plugin-linear-genome-view 1.7.8 → 1.7.11
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/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -5
- package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +32 -120
- package/dist/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
- package/dist/BaseLinearDisplay/components/Tooltip.js +125 -0
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +4 -4
- package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +3 -2
- package/dist/LinearBareDisplay/model.d.ts +1 -1
- package/dist/LinearBasicDisplay/model.d.ts +1 -2
- package/dist/LinearBasicDisplay/model.js +2 -2
- package/dist/LinearGenomeView/components/ExportSvgDialog.js +35 -25
- package/dist/LinearGenomeView/components/Header.d.ts +0 -1
- package/dist/LinearGenomeView/components/Header.js +3 -1
- package/dist/LinearGenomeView/components/HelpDialog.js +2 -3
- package/dist/LinearGenomeView/components/ImportForm.d.ts +0 -1
- package/dist/LinearGenomeView/components/ImportForm.js +40 -70
- package/dist/LinearGenomeView/components/LinearGenomeView.js +6 -2
- package/dist/LinearGenomeView/components/LinearGenomeView.test.js +2 -2
- package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +21 -5
- package/dist/LinearGenomeView/components/OverviewScaleBar.js +25 -18
- package/dist/LinearGenomeView/components/ScaleBar.d.ts +6 -2
- package/dist/LinearGenomeView/components/ScaleBar.js +8 -3
- package/dist/LinearGenomeView/components/SearchBox.js +36 -72
- package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +1 -1
- package/dist/LinearGenomeView/components/SearchResultsDialog.js +0 -1
- package/dist/LinearGenomeView/components/TrackLabel.js +25 -41
- package/dist/LinearGenomeView/components/util.d.ts +12 -0
- package/dist/LinearGenomeView/components/util.js +59 -0
- package/dist/LinearGenomeView/index.d.ts +7 -11
- package/dist/LinearGenomeView/index.js +60 -33
- package/dist/LinearGenomeView/index.test.js +22 -5
- package/dist/index.d.ts +3 -3
- package/dist/index.js +22 -11
- package/package.json +3 -2
- package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +4 -89
- package/src/BaseLinearDisplay/components/Tooltip.tsx +97 -0
- package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +11 -4
- package/src/LinearBasicDisplay/model.ts +2 -4
- package/src/LinearGenomeView/components/ExportSvgDialog.tsx +24 -11
- package/src/LinearGenomeView/components/Header.tsx +2 -1
- package/src/LinearGenomeView/components/HelpDialog.tsx +5 -4
- package/src/LinearGenomeView/components/ImportForm.tsx +18 -25
- package/src/LinearGenomeView/components/LinearGenomeView.test.js +2 -2
- package/src/LinearGenomeView/components/LinearGenomeView.tsx +16 -10
- package/src/LinearGenomeView/components/OverviewScaleBar.tsx +42 -34
- package/src/LinearGenomeView/components/ScaleBar.tsx +6 -9
- package/src/LinearGenomeView/components/SearchBox.tsx +18 -29
- package/src/LinearGenomeView/components/SearchResultsDialog.tsx +0 -1
- package/src/LinearGenomeView/components/TrackLabel.tsx +25 -28
- package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +4 -21
- package/src/LinearGenomeView/components/util.ts +43 -0
- package/src/LinearGenomeView/index.test.ts +20 -5
- package/src/LinearGenomeView/index.tsx +56 -27
- package/src/index.ts +35 -30
|
@@ -11,8 +11,6 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
13
|
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
15
|
|
|
18
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -35,6 +33,8 @@ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
|
|
|
35
33
|
|
|
36
34
|
var _RefNameAutocomplete = _interopRequireDefault(require("./RefNameAutocomplete"));
|
|
37
35
|
|
|
36
|
+
var _util2 = require("./util");
|
|
37
|
+
|
|
38
38
|
var _ = require("..");
|
|
39
39
|
|
|
40
40
|
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); }
|
|
@@ -98,106 +98,68 @@ var ImportForm = (0, _mobxReact.observer)(function (_ref) {
|
|
|
98
98
|
|
|
99
99
|
var option = new _BaseResults.default({
|
|
100
100
|
label: value
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
function fetchResults(_x, _x2) {
|
|
104
|
-
return _fetchResults.apply(this, arguments);
|
|
105
|
-
} // gets a string as input, or use stored option results from previous query,
|
|
101
|
+
}); // gets a string as input, or use stored option results from previous query,
|
|
106
102
|
// then re-query and
|
|
107
103
|
// 1) if it has multiple results: pop a dialog
|
|
108
104
|
// 2) if it's a single result navigate to it
|
|
109
105
|
// 3) else assume it's a locstring and navigate to it
|
|
110
106
|
|
|
111
|
-
|
|
112
|
-
function _fetchResults() {
|
|
113
|
-
_fetchResults = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(query, searchType) {
|
|
114
|
-
var _assembly$allRefNames;
|
|
115
|
-
|
|
116
|
-
var textSearchResults, refNameResults;
|
|
117
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
118
|
-
while (1) {
|
|
119
|
-
switch (_context.prev = _context.next) {
|
|
120
|
-
case 0:
|
|
121
|
-
if (!textSearchManager) {
|
|
122
|
-
console.warn('No text search manager');
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
_context.next = 3;
|
|
126
|
-
return textSearchManager === null || textSearchManager === void 0 ? void 0 : textSearchManager.search({
|
|
127
|
-
queryString: query,
|
|
128
|
-
searchType: searchType
|
|
129
|
-
}, searchScope, rankSearchResults);
|
|
130
|
-
|
|
131
|
-
case 3:
|
|
132
|
-
textSearchResults = _context.sent;
|
|
133
|
-
refNameResults = assembly === null || assembly === void 0 ? void 0 : (_assembly$allRefNames = assembly.allRefNames) === null || _assembly$allRefNames === void 0 ? void 0 : _assembly$allRefNames.filter(function (refName) {
|
|
134
|
-
return refName.startsWith(query);
|
|
135
|
-
}).map(function (r) {
|
|
136
|
-
return new _BaseResults.default({
|
|
137
|
-
label: r
|
|
138
|
-
});
|
|
139
|
-
}).slice(0, 10);
|
|
140
|
-
return _context.abrupt("return", [].concat((0, _toConsumableArray2.default)(refNameResults || []), (0, _toConsumableArray2.default)(textSearchResults || [])));
|
|
141
|
-
|
|
142
|
-
case 6:
|
|
143
|
-
case "end":
|
|
144
|
-
return _context.stop();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, _callee);
|
|
148
|
-
}));
|
|
149
|
-
return _fetchResults.apply(this, arguments);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function handleSelectedRegion(_x3) {
|
|
107
|
+
function handleSelectedRegion(_x) {
|
|
153
108
|
return _handleSelectedRegion.apply(this, arguments);
|
|
154
109
|
}
|
|
155
110
|
|
|
156
111
|
function _handleSelectedRegion() {
|
|
157
|
-
_handleSelectedRegion = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function
|
|
112
|
+
_handleSelectedRegion = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(input) {
|
|
158
113
|
var trackId, location, _location$split, _location$split2, ref, rest, allRefs, results;
|
|
159
114
|
|
|
160
|
-
return _regenerator.default.wrap(function
|
|
115
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
161
116
|
while (1) {
|
|
162
|
-
switch (
|
|
117
|
+
switch (_context.prev = _context.next) {
|
|
163
118
|
case 0:
|
|
164
119
|
if (option) {
|
|
165
|
-
|
|
120
|
+
_context.next = 2;
|
|
166
121
|
break;
|
|
167
122
|
}
|
|
168
123
|
|
|
169
|
-
return
|
|
124
|
+
return _context.abrupt("return");
|
|
170
125
|
|
|
171
126
|
case 2:
|
|
172
127
|
trackId = option.getTrackId();
|
|
173
128
|
location = input || option.getLocation() || '';
|
|
174
129
|
_location$split = location.split(':'), _location$split2 = (0, _slicedToArray2.default)(_location$split, 2), ref = _location$split2[0], rest = _location$split2[1];
|
|
175
130
|
allRefs = (assembly === null || assembly === void 0 ? void 0 : assembly.allRefNames) || [];
|
|
176
|
-
|
|
131
|
+
_context.prev = 6;
|
|
177
132
|
|
|
178
133
|
if (!(allRefs.includes(location) || allRefs.includes(ref) && rest !== undefined && !Number.isNaN(parseInt(rest, 10)))) {
|
|
179
|
-
|
|
134
|
+
_context.next = 11;
|
|
180
135
|
break;
|
|
181
136
|
}
|
|
182
137
|
|
|
183
138
|
model.navToLocString(location, selectedAsm);
|
|
184
|
-
|
|
139
|
+
_context.next = 22;
|
|
185
140
|
break;
|
|
186
141
|
|
|
187
142
|
case 11:
|
|
188
|
-
|
|
189
|
-
return
|
|
143
|
+
_context.next = 13;
|
|
144
|
+
return (0, _util2.fetchResults)({
|
|
145
|
+
queryString: input,
|
|
146
|
+
searchType: 'exact',
|
|
147
|
+
searchScope: searchScope,
|
|
148
|
+
rankSearchResults: rankSearchResults,
|
|
149
|
+
textSearchManager: textSearchManager,
|
|
150
|
+
assembly: assembly
|
|
151
|
+
});
|
|
190
152
|
|
|
191
153
|
case 13:
|
|
192
|
-
results =
|
|
154
|
+
results = _context.sent;
|
|
193
155
|
|
|
194
156
|
if (!(results.length > 1)) {
|
|
195
|
-
|
|
157
|
+
_context.next = 19;
|
|
196
158
|
break;
|
|
197
159
|
}
|
|
198
160
|
|
|
199
161
|
model.setSearchResults(results, input.toLowerCase());
|
|
200
|
-
return
|
|
162
|
+
return _context.abrupt("return");
|
|
201
163
|
|
|
202
164
|
case 19:
|
|
203
165
|
if (results.length === 1) {
|
|
@@ -213,21 +175,21 @@ var ImportForm = (0, _mobxReact.observer)(function (_ref) {
|
|
|
213
175
|
}
|
|
214
176
|
|
|
215
177
|
case 22:
|
|
216
|
-
|
|
178
|
+
_context.next = 28;
|
|
217
179
|
break;
|
|
218
180
|
|
|
219
181
|
case 24:
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
console.error(
|
|
223
|
-
session.notify("".concat(
|
|
182
|
+
_context.prev = 24;
|
|
183
|
+
_context.t0 = _context["catch"](6);
|
|
184
|
+
console.error(_context.t0);
|
|
185
|
+
session.notify("".concat(_context.t0), 'warning');
|
|
224
186
|
|
|
225
187
|
case 28:
|
|
226
188
|
case "end":
|
|
227
|
-
return
|
|
189
|
+
return _context.stop();
|
|
228
190
|
}
|
|
229
191
|
}
|
|
230
|
-
},
|
|
192
|
+
}, _callee, null, [[6, 24]]);
|
|
231
193
|
}));
|
|
232
194
|
return _handleSelectedRegion.apply(this, arguments);
|
|
233
195
|
}
|
|
@@ -276,7 +238,15 @@ var ImportForm = (0, _mobxReact.observer)(function (_ref) {
|
|
|
276
238
|
color: 'red'
|
|
277
239
|
}
|
|
278
240
|
}) : value ? /*#__PURE__*/_react.default.createElement(_RefNameAutocomplete.default, {
|
|
279
|
-
fetchResults: fetchResults
|
|
241
|
+
fetchResults: function fetchResults(queryString) {
|
|
242
|
+
return (0, _util2.fetchResults)({
|
|
243
|
+
queryString: queryString,
|
|
244
|
+
assembly: assembly,
|
|
245
|
+
textSearchManager: textSearchManager,
|
|
246
|
+
rankSearchResults: rankSearchResults,
|
|
247
|
+
searchScope: searchScope
|
|
248
|
+
});
|
|
249
|
+
},
|
|
280
250
|
model: model,
|
|
281
251
|
assemblyName: assemblyError ? undefined : selectedAsm,
|
|
282
252
|
value: value // note: minWidth 270 accomodates full width of helperText
|
|
@@ -109,7 +109,7 @@ var LinearGenomeView = (0, _mobxReact.observer)(function (_ref) {
|
|
|
109
109
|
}, !tracks.length ? /*#__PURE__*/_react.default.createElement(_core.Paper, {
|
|
110
110
|
variant: "outlined",
|
|
111
111
|
className: classes.note
|
|
112
|
-
}, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "No tracks active."), /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
112
|
+
}, !model.hideNoTracksActive ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "No tracks active."), /*#__PURE__*/_react.default.createElement(_core.Button, {
|
|
113
113
|
variant: "contained",
|
|
114
114
|
color: "primary",
|
|
115
115
|
onClick: model.activateTrackSelector,
|
|
@@ -117,7 +117,11 @@ var LinearGenomeView = (0, _mobxReact.observer)(function (_ref) {
|
|
|
117
117
|
zIndex: 1000
|
|
118
118
|
},
|
|
119
119
|
startIcon: /*#__PURE__*/_react.default.createElement(_Icons.TrackSelector, null)
|
|
120
|
-
}, "Open track selector")) :
|
|
120
|
+
}, "Open track selector")) : /*#__PURE__*/_react.default.createElement("div", {
|
|
121
|
+
style: {
|
|
122
|
+
height: '48px'
|
|
123
|
+
}
|
|
124
|
+
})) : tracks.map(function (track) {
|
|
121
125
|
return /*#__PURE__*/_react.default.createElement(_TrackContainer.default, {
|
|
122
126
|
key: track.id,
|
|
123
127
|
model: model,
|
|
@@ -129,7 +129,7 @@ describe('<LinearGenomeView />', function () {
|
|
|
129
129
|
|
|
130
130
|
case 9:
|
|
131
131
|
_context2.next = 11;
|
|
132
|
-
return findByText('
|
|
132
|
+
return findByText('100bp');
|
|
133
133
|
|
|
134
134
|
case 11:
|
|
135
135
|
expect(container.firstChild).toMatchSnapshot();
|
|
@@ -215,7 +215,7 @@ describe('<LinearGenomeView />', function () {
|
|
|
215
215
|
|
|
216
216
|
case 10:
|
|
217
217
|
_context3.next = 12;
|
|
218
|
-
return findByText('
|
|
218
|
+
return findByText('798bp');
|
|
219
219
|
|
|
220
220
|
case 12:
|
|
221
221
|
_context3.next = 14;
|
|
@@ -18,7 +18,10 @@ declare const Cytobands: ({ overview, block, assembly, }: {
|
|
|
18
18
|
error: Error | undefined;
|
|
19
19
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
20
20
|
refNameAliases: {
|
|
21
|
-
[
|
|
21
|
+
[x: string]: string;
|
|
22
|
+
} | undefined;
|
|
23
|
+
lowerCaseRefNameAliases: {
|
|
24
|
+
[x: string]: string;
|
|
22
25
|
} | undefined;
|
|
23
26
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
24
27
|
} & {
|
|
@@ -37,17 +40,22 @@ declare const Cytobands: ({ overview, block, assembly, }: {
|
|
|
37
40
|
isValidRefName(refName: string): boolean;
|
|
38
41
|
} & {
|
|
39
42
|
setLoading(): void;
|
|
40
|
-
setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
|
|
43
|
+
setLoaded({ adapterRegionsWithAssembly, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
|
|
41
44
|
adapterRegionsWithAssembly: import("@jbrowse/core/util").Region[];
|
|
42
45
|
refNameAliases: {
|
|
43
46
|
[x: string]: string;
|
|
44
47
|
};
|
|
48
|
+
lowerCaseRefNameAliases: {
|
|
49
|
+
[x: string]: string;
|
|
50
|
+
};
|
|
45
51
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
46
52
|
}): void;
|
|
47
53
|
setError(e: Error): void;
|
|
48
54
|
setRegions(regions: import("@jbrowse/core/util").Region[]): void;
|
|
49
55
|
setRefNameAliases(refNameAliases: {
|
|
50
56
|
[x: string]: string;
|
|
57
|
+
}, lowerCaseRefNameAliases: {
|
|
58
|
+
[x: string]: string;
|
|
51
59
|
}): void;
|
|
52
60
|
setCytobands(cytobands: import("@jbrowse/core/util").Feature[]): void;
|
|
53
61
|
afterAttach(): void;
|
|
@@ -72,7 +80,10 @@ declare const Cytobands: ({ overview, block, assembly, }: {
|
|
|
72
80
|
error: Error | undefined;
|
|
73
81
|
regions: import("@jbrowse/core/assemblyManager/assembly").BasicRegion[] | undefined;
|
|
74
82
|
refNameAliases: {
|
|
75
|
-
[
|
|
83
|
+
[x: string]: string;
|
|
84
|
+
} | undefined;
|
|
85
|
+
lowerCaseRefNameAliases: {
|
|
86
|
+
[x: string]: string;
|
|
76
87
|
} | undefined;
|
|
77
88
|
cytobands: import("@jbrowse/core/util").Feature[] | undefined;
|
|
78
89
|
} & {
|
|
@@ -91,17 +102,22 @@ declare const Cytobands: ({ overview, block, assembly, }: {
|
|
|
91
102
|
isValidRefName(refName: string): boolean;
|
|
92
103
|
} & {
|
|
93
104
|
setLoading(): void;
|
|
94
|
-
setLoaded({ adapterRegionsWithAssembly, refNameAliases, cytobands, }: {
|
|
105
|
+
setLoaded({ adapterRegionsWithAssembly, refNameAliases, lowerCaseRefNameAliases, cytobands, }: {
|
|
95
106
|
adapterRegionsWithAssembly: import("@jbrowse/core/util").Region[];
|
|
96
107
|
refNameAliases: {
|
|
97
108
|
[x: string]: string;
|
|
98
109
|
};
|
|
110
|
+
lowerCaseRefNameAliases: {
|
|
111
|
+
[x: string]: string;
|
|
112
|
+
};
|
|
99
113
|
cytobands: import("@jbrowse/core/util").Feature[];
|
|
100
114
|
}): void;
|
|
101
115
|
setError(e: Error): void;
|
|
102
116
|
setRegions(regions: import("@jbrowse/core/util").Region[]): void;
|
|
103
117
|
setRefNameAliases(refNameAliases: {
|
|
104
118
|
[x: string]: string;
|
|
119
|
+
}, lowerCaseRefNameAliases: {
|
|
120
|
+
[x: string]: string;
|
|
105
121
|
}): void;
|
|
106
122
|
setCytobands(cytobands: import("@jbrowse/core/util").Feature[]): void;
|
|
107
123
|
afterAttach(): void;
|
|
@@ -122,7 +138,7 @@ declare const Cytobands: ({ overview, block, assembly, }: {
|
|
|
122
138
|
}>;
|
|
123
139
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
|
|
124
140
|
block: ContentBlock;
|
|
125
|
-
}) => JSX.Element
|
|
141
|
+
}) => JSX.Element;
|
|
126
142
|
declare function OverviewScaleBar({ model, children, }: {
|
|
127
143
|
model: LGV;
|
|
128
144
|
children: React.ReactNode;
|
|
@@ -66,7 +66,6 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
|
66
66
|
},
|
|
67
67
|
scaleBarLabel: {
|
|
68
68
|
height: _.HEADER_OVERVIEW_HEIGHT,
|
|
69
|
-
width: 1,
|
|
70
69
|
position: 'absolute',
|
|
71
70
|
display: 'flex',
|
|
72
71
|
justifyContent: 'center',
|
|
@@ -151,15 +150,11 @@ var colorMap = {
|
|
|
151
150
|
stalk: 'rgb(127,127,127)',
|
|
152
151
|
acen: '#800'
|
|
153
152
|
};
|
|
154
|
-
|
|
153
|
+
|
|
154
|
+
function getCytobands(assembly, refName) {
|
|
155
155
|
var _assembly$cytobands;
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
block = _ref2.block,
|
|
159
|
-
assembly = _ref2.assembly;
|
|
160
|
-
var offsetPx = block.offsetPx,
|
|
161
|
-
reversed = block.reversed;
|
|
162
|
-
var cytobands = assembly === null || assembly === void 0 ? void 0 : (_assembly$cytobands = assembly.cytobands) === null || _assembly$cytobands === void 0 ? void 0 : _assembly$cytobands.map(function (f) {
|
|
157
|
+
return (assembly === null || assembly === void 0 ? void 0 : (_assembly$cytobands = assembly.cytobands) === null || _assembly$cytobands === void 0 ? void 0 : _assembly$cytobands.map(function (f) {
|
|
163
158
|
return {
|
|
164
159
|
refName: assembly.getCanonicalRefName(f.get('refName')),
|
|
165
160
|
start: f.get('start'),
|
|
@@ -167,8 +162,18 @@ var Cytobands = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
167
162
|
type: f.get('type')
|
|
168
163
|
};
|
|
169
164
|
}).filter(function (f) {
|
|
170
|
-
return f.refName ===
|
|
171
|
-
})
|
|
165
|
+
return f.refName === refName;
|
|
166
|
+
})) || [];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
var Cytobands = (0, _mobxReact.observer)(function (_ref2) {
|
|
170
|
+
var overview = _ref2.overview,
|
|
171
|
+
block = _ref2.block,
|
|
172
|
+
assembly = _ref2.assembly;
|
|
173
|
+
var offsetPx = block.offsetPx,
|
|
174
|
+
reversed = block.reversed;
|
|
175
|
+
var cytobands = getCytobands(assembly, block.refName);
|
|
176
|
+
var coords = cytobands.map(function (f) {
|
|
172
177
|
var refName = f.refName,
|
|
173
178
|
start = f.start,
|
|
174
179
|
end = f.end,
|
|
@@ -185,9 +190,9 @@ var Cytobands = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
185
190
|
var lcap = reversed ? arr.length - 1 : 0;
|
|
186
191
|
var rcap = reversed ? 0 : arr.length - 1;
|
|
187
192
|
var firstCent = true;
|
|
188
|
-
return
|
|
193
|
+
return /*#__PURE__*/_react.default.createElement("g", {
|
|
189
194
|
transform: "translate(-".concat(offsetPx, ")")
|
|
190
|
-
},
|
|
195
|
+
}, coords.map(function (_ref3, index) {
|
|
191
196
|
var _ref4 = (0, _slicedToArray2.default)(_ref3, 3),
|
|
192
197
|
start = _ref4[0],
|
|
193
198
|
end = _ref4[1],
|
|
@@ -234,7 +239,7 @@ var Cytobands = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
234
239
|
fill: colorMap[type]
|
|
235
240
|
});
|
|
236
241
|
}
|
|
237
|
-
}))
|
|
242
|
+
}));
|
|
238
243
|
});
|
|
239
244
|
exports.Cytobands = Cytobands;
|
|
240
245
|
var OverviewBox = (0, _mobxReact.observer)(function (_ref5) {
|
|
@@ -244,6 +249,7 @@ var OverviewBox = (0, _mobxReact.observer)(function (_ref5) {
|
|
|
244
249
|
overview = _ref5.overview;
|
|
245
250
|
var classes = useStyles();
|
|
246
251
|
var cytobandOffset = model.cytobandOffset,
|
|
252
|
+
bpPerPx = model.bpPerPx,
|
|
247
253
|
showCytobands = model.showCytobands;
|
|
248
254
|
var start = block.start,
|
|
249
255
|
end = block.end,
|
|
@@ -266,20 +272,21 @@ var OverviewBox = (0, _mobxReact.observer)(function (_ref5) {
|
|
|
266
272
|
tickLabels.push(reversed ? end - offsetLabel : start + offsetLabel);
|
|
267
273
|
}
|
|
268
274
|
|
|
275
|
+
var canDisplayCytobands = showCytobands && getCytobands(assembly, block.refName).length;
|
|
269
276
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
270
277
|
style: {
|
|
271
278
|
left: block.offsetPx + 3,
|
|
272
|
-
color:
|
|
279
|
+
color: canDisplayCytobands ? 'black' : refNameColor
|
|
273
280
|
},
|
|
274
281
|
className: classes.scaleBarRefName
|
|
275
282
|
}, refName), /*#__PURE__*/_react.default.createElement("div", {
|
|
276
|
-
className: (0, _clsx.default)(classes.scaleBarContig,
|
|
283
|
+
className: (0, _clsx.default)(classes.scaleBarContig, canDisplayCytobands ? undefined : reversed ? classes.scaleBarContigReverse : classes.scaleBarContigForward, !canDisplayCytobands ? classes.scaleBarBorder : undefined),
|
|
277
284
|
style: {
|
|
278
285
|
left: block.offsetPx + cytobandOffset,
|
|
279
286
|
width: block.widthPx,
|
|
280
287
|
borderColor: refNameColor
|
|
281
288
|
}
|
|
282
|
-
}, !
|
|
289
|
+
}, !canDisplayCytobands ? tickLabels.map(function (tickLabel, labelIdx) {
|
|
283
290
|
return /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
284
291
|
key: "".concat(JSON.stringify(block), "-").concat(tickLabel, "-").concat(labelIdx),
|
|
285
292
|
className: classes.scaleBarLabel,
|
|
@@ -289,8 +296,8 @@ var OverviewBox = (0, _mobxReact.observer)(function (_ref5) {
|
|
|
289
296
|
pointerEvents: 'none',
|
|
290
297
|
color: refNameColor
|
|
291
298
|
}
|
|
292
|
-
},
|
|
293
|
-
}) : null,
|
|
299
|
+
}, (0, _util.getTickDisplayStr)(tickLabel, bpPerPx));
|
|
300
|
+
}) : null, canDisplayCytobands ? /*#__PURE__*/_react.default.createElement("svg", {
|
|
294
301
|
style: {
|
|
295
302
|
width: '100%'
|
|
296
303
|
}
|
|
@@ -21,6 +21,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
21
21
|
tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
|
|
22
22
|
hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
23
23
|
hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
24
|
+
hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
24
25
|
trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<"hierarchical">, [undefined]>;
|
|
25
26
|
trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
26
27
|
showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -52,6 +53,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
52
53
|
} & {
|
|
53
54
|
readonly width: number;
|
|
54
55
|
readonly interRegionPaddingWidth: number;
|
|
56
|
+
readonly assemblyNames: string[];
|
|
55
57
|
} & {
|
|
56
58
|
readonly assemblyErrors: string;
|
|
57
59
|
readonly assembliesInitialized: boolean;
|
|
@@ -71,7 +73,6 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
71
73
|
readonly minOffset: number;
|
|
72
74
|
readonly displayedRegionsTotalPx: number;
|
|
73
75
|
renderProps(): any;
|
|
74
|
-
readonly assemblyNames: string[];
|
|
75
76
|
searchScope(assemblyName: string): {
|
|
76
77
|
assemblyName: string;
|
|
77
78
|
includeAggregateIndexes: boolean;
|
|
@@ -117,6 +118,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
117
118
|
setError(error: Error | undefined): void;
|
|
118
119
|
toggleHeader(): void;
|
|
119
120
|
toggleHeaderOverview(): void;
|
|
121
|
+
toggleNoTracksActive(): void;
|
|
120
122
|
scrollTo(offsetPx: number): number;
|
|
121
123
|
zoomTo(bpPerPx: number): number;
|
|
122
124
|
setOffsets(left: import("..").BpOffset | undefined, right: import("..").BpOffset | undefined): void;
|
|
@@ -218,6 +220,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
218
220
|
tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
|
|
219
221
|
hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
220
222
|
hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
223
|
+
hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
221
224
|
trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<"hierarchical">, [undefined]>;
|
|
222
225
|
trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
223
226
|
showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
|
|
@@ -249,6 +252,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
249
252
|
} & {
|
|
250
253
|
readonly width: number;
|
|
251
254
|
readonly interRegionPaddingWidth: number;
|
|
255
|
+
readonly assemblyNames: string[];
|
|
252
256
|
} & {
|
|
253
257
|
readonly assemblyErrors: string;
|
|
254
258
|
readonly assembliesInitialized: boolean;
|
|
@@ -268,7 +272,6 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
268
272
|
readonly minOffset: number;
|
|
269
273
|
readonly displayedRegionsTotalPx: number;
|
|
270
274
|
renderProps(): any;
|
|
271
|
-
readonly assemblyNames: string[];
|
|
272
275
|
searchScope(assemblyName: string): {
|
|
273
276
|
assemblyName: string;
|
|
274
277
|
includeAggregateIndexes: boolean;
|
|
@@ -314,6 +317,7 @@ declare const _default: React.ForwardRefExoticComponent<{
|
|
|
314
317
|
setError(error: Error | undefined): void;
|
|
315
318
|
toggleHeader(): void;
|
|
316
319
|
toggleHeaderOverview(): void;
|
|
320
|
+
toggleNoTracksActive(): void;
|
|
317
321
|
scrollTo(offsetPx: number): number;
|
|
318
322
|
zoomTo(bpPerPx: number): number;
|
|
319
323
|
setOffsets(left: import("..").BpOffset | undefined, right: import("..").BpOffset | undefined): void;
|
|
@@ -27,6 +27,8 @@ var _Block = require("../../BaseLinearDisplay/components/Block");
|
|
|
27
27
|
|
|
28
28
|
var _util = require("../util");
|
|
29
29
|
|
|
30
|
+
var _util2 = require("@jbrowse/core/util");
|
|
31
|
+
|
|
30
32
|
var _excluded = ["model", "style", "className"];
|
|
31
33
|
|
|
32
34
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -100,16 +102,19 @@ var RenderedRefNameLabels = (0, _mobxReact.observer)(function (_ref) {
|
|
|
100
102
|
var RenderedScaleBarLabels = (0, _mobxReact.observer)(function (_ref2) {
|
|
101
103
|
var model = _ref2.model;
|
|
102
104
|
var classes = useStyles();
|
|
105
|
+
var bpPerPx = model.bpPerPx;
|
|
103
106
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, model.staticBlocks.map(function (block, index) {
|
|
104
107
|
if (block instanceof _blockTypes.ContentBlock) {
|
|
105
|
-
var
|
|
108
|
+
var start = block.start,
|
|
109
|
+
end = block.end;
|
|
110
|
+
var ticks = (0, _util.makeTicks)(start, end, bpPerPx, true, false);
|
|
106
111
|
return /*#__PURE__*/_react.default.createElement(_Block.ContentBlock, {
|
|
107
112
|
key: "".concat(block.key, "-").concat(index),
|
|
108
113
|
block: block
|
|
109
114
|
}, ticks.map(function (tick) {
|
|
110
115
|
if (tick.type === 'major') {
|
|
111
116
|
var x = (block.reversed ? block.end - tick.base : tick.base - block.start) / model.bpPerPx;
|
|
112
|
-
var baseNumber =
|
|
117
|
+
var baseNumber = tick.base + 1;
|
|
113
118
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
114
119
|
key: tick.base,
|
|
115
120
|
className: classes.tick,
|
|
@@ -118,7 +123,7 @@ var RenderedScaleBarLabels = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
118
123
|
}
|
|
119
124
|
}, baseNumber ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
|
|
120
125
|
className: classes.majorTickLabel
|
|
121
|
-
}, baseNumber) : null);
|
|
126
|
+
}, (0, _util2.getTickDisplayStr)(baseNumber, bpPerPx)) : null);
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
return null;
|