@jbrowse/core 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/BaseFeatureWidget/BaseFeatureDetail.d.ts +3 -6
- package/BaseFeatureWidget/BaseFeatureDetail.js +158 -103
- package/BaseFeatureWidget/index.d.ts +23 -2
- package/BaseFeatureWidget/index.js +98 -3
- package/assemblyManager/assembly.d.ts +6 -7
- package/assemblyManager/assembly.js +26 -16
- package/assemblyManager/assemblyManager.d.ts +71 -15
- package/assemblyManager/assemblyManager.js +30 -36
- package/package.json +6 -3
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +2 -2
- package/pluggableElementTypes/models/baseTrackConfig.js +20 -13
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +6 -14
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +6 -0
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +44 -2
- package/pluggableElementTypes/renderers/declare.d.js +1 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.d.ts +1 -1
- package/ui/AboutDialog.js +24 -7
- package/ui/CascadingMenu.d.ts +9 -0
- package/ui/CascadingMenu.js +211 -0
- package/ui/Menu.d.ts +10 -0
- package/ui/Menu.js +9 -14
- package/ui/SanitizedHTML.js +26 -4
- package/ui/SnackbarModel.d.ts +2 -2
- package/ui/index.d.ts +1 -0
- package/ui/index.js +9 -0
- package/util/declare.d.js +1 -0
- package/util/index.d.ts +3 -1
- package/util/index.js +21 -1
- package/util/jexl.js +42 -43
- package/util/offscreenCanvasPonyfill.d.ts +8 -1
- package/util/offscreenCanvasPonyfill.js +138 -12
- package/util/offscreenCanvasUtils.d.ts +19 -1
- package/util/offscreenCanvasUtils.js +146 -12
- package/util/types/index.d.ts +12 -2
- package/util/types/index.js +6 -0
- package/util/types/mst.d.ts +9 -9
- package/util/offscreenCanvas/Canvas2DContextShim/Canvas2DContextShim.test.js +0 -15
- package/util/offscreenCanvas/Canvas2DContextShim/context.d.ts +0 -56
- package/util/offscreenCanvas/Canvas2DContextShim/context.js +0 -356
- package/util/offscreenCanvas/Canvas2DContextShim/index.d.ts +0 -2
- package/util/offscreenCanvas/Canvas2DContextShim/index.js +0 -13
- package/util/offscreenCanvas/Canvas2DContextShim/svg.d.ts +0 -3
- package/util/offscreenCanvas/Canvas2DContextShim/svg.js +0 -210
- package/util/offscreenCanvas/Canvas2DContextShim/types.d.ts +0 -50
- package/util/offscreenCanvas/Canvas2DContextShim/types.js +0 -59
- package/util/offscreenCanvas/Canvas2DContextShim/util.d.ts +0 -12
- package/util/offscreenCanvas/Canvas2DContextShim/util.js +0 -91
- package/util/offscreenCanvas/CanvasShim.d.ts +0 -11
- package/util/offscreenCanvas/CanvasShim.js +0 -54
- package/util/offscreenCanvas/index.d.ts +0 -14
- package/util/offscreenCanvas/index.js +0 -170
- package/util/offscreenCanvas/ponyfill.d.ts +0 -6
- package/util/offscreenCanvas/ponyfill.js +0 -145
- package/util/offscreenCanvas/types.d.ts +0 -16
- package/util/offscreenCanvas/types.js +0 -14
|
@@ -143,11 +143,7 @@ var ComparativeServerSideRenderer = /*#__PURE__*/function (_ServerSideRenderer)
|
|
|
143
143
|
}, {
|
|
144
144
|
key: "featurePassesFilters",
|
|
145
145
|
value: function featurePassesFilters(renderArgs, feature) {
|
|
146
|
-
|
|
147
|
-
return true;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
return renderArgs.filters.passes(feature, renderArgs);
|
|
146
|
+
return renderArgs.filters ? renderArgs.filters.passes(feature, renderArgs) : true;
|
|
151
147
|
}
|
|
152
148
|
}, {
|
|
153
149
|
key: "getFeatures",
|
|
@@ -155,13 +151,13 @@ var ComparativeServerSideRenderer = /*#__PURE__*/function (_ServerSideRenderer)
|
|
|
155
151
|
var _getFeatures = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(renderArgs) {
|
|
156
152
|
var _this = this;
|
|
157
153
|
|
|
158
|
-
var
|
|
154
|
+
var sessionId, adapterConfig, _yield$getAdapter, dataAdapter, regions, requestRegions;
|
|
159
155
|
|
|
160
156
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
161
157
|
while (1) {
|
|
162
158
|
switch (_context3.prev = _context3.next) {
|
|
163
159
|
case 0:
|
|
164
|
-
|
|
160
|
+
sessionId = renderArgs.sessionId, adapterConfig = renderArgs.adapterConfig;
|
|
165
161
|
_context3.next = 3;
|
|
166
162
|
return (0, _dataAdapterCache.getAdapter)(this.pluginManager, sessionId, adapterConfig);
|
|
167
163
|
|
|
@@ -197,15 +193,11 @@ var ComparativeServerSideRenderer = /*#__PURE__*/function (_ServerSideRenderer)
|
|
|
197
193
|
return requestRegion;
|
|
198
194
|
}); // note that getFeaturesInMultipleRegions does not do glyph expansion
|
|
199
195
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
});
|
|
203
|
-
return _context3.abrupt("return", featureObservable.pipe( // @ts-ignore
|
|
204
|
-
(0, _operators.filter)(function (feature) {
|
|
205
|
-
return _this.featurePassesFilters(renderArgs, feature);
|
|
196
|
+
return _context3.abrupt("return", dataAdapter.getFeaturesInMultipleRegions(requestRegions, renderArgs).pipe((0, _operators.filter)(function (f) {
|
|
197
|
+
return _this.featurePassesFilters(renderArgs, f);
|
|
206
198
|
}), (0, _operators.toArray)()).toPromise());
|
|
207
199
|
|
|
208
|
-
case
|
|
200
|
+
case 12:
|
|
209
201
|
case "end":
|
|
210
202
|
return _context3.stop();
|
|
211
203
|
}
|
|
@@ -29,6 +29,12 @@ export type { RenderResults };
|
|
|
29
29
|
export interface ResultsSerialized extends Omit<RenderResults, 'reactElement'> {
|
|
30
30
|
html: string;
|
|
31
31
|
}
|
|
32
|
+
export interface ResultsSerializedSvgExport extends ResultsSerialized {
|
|
33
|
+
canvasRecordedData: unknown;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
reactElement: unknown;
|
|
37
|
+
}
|
|
32
38
|
export declare type ResultsDeserialized = RenderResults;
|
|
33
39
|
export default class ServerSideRenderer extends RendererType {
|
|
34
40
|
/**
|
|
@@ -2,6 +2,8 @@
|
|
|
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
|
});
|
|
@@ -31,6 +33,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
31
33
|
|
|
32
34
|
var _styles = require("@material-ui/core/styles");
|
|
33
35
|
|
|
36
|
+
var _canvasSequencer = require("canvas-sequencer");
|
|
37
|
+
|
|
34
38
|
var _server = require("react-dom/server");
|
|
35
39
|
|
|
36
40
|
var _mobxStateTree = require("mobx-state-tree");
|
|
@@ -47,6 +51,10 @@ var _ServerSideRenderedContent = _interopRequireDefault(require("./ServerSideRen
|
|
|
47
51
|
|
|
48
52
|
var _excluded = ["html"];
|
|
49
53
|
|
|
54
|
+
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); }
|
|
55
|
+
|
|
56
|
+
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; }
|
|
57
|
+
|
|
50
58
|
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; }
|
|
51
59
|
|
|
52
60
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -55,6 +63,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
55
63
|
|
|
56
64
|
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; } }
|
|
57
65
|
|
|
66
|
+
function isSvgExport(elt) {
|
|
67
|
+
return 'canvasRecordedData' in elt;
|
|
68
|
+
}
|
|
69
|
+
|
|
58
70
|
var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
59
71
|
(0, _inherits2.default)(ServerSideRenderer, _RendererType);
|
|
60
72
|
|
|
@@ -164,13 +176,43 @@ var ServerSideRenderer = /*#__PURE__*/function (_RendererType) {
|
|
|
164
176
|
key: "renderInClient",
|
|
165
177
|
value: function () {
|
|
166
178
|
var _renderInClient = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(rpcManager, args) {
|
|
179
|
+
var results, width, height, canvasRecordedData, C2S, ctx, seq, str;
|
|
167
180
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
168
181
|
while (1) {
|
|
169
182
|
switch (_context.prev = _context.next) {
|
|
170
183
|
case 0:
|
|
171
|
-
|
|
184
|
+
_context.next = 2;
|
|
185
|
+
return rpcManager.call(args.sessionId, 'CoreRender', args);
|
|
186
|
+
|
|
187
|
+
case 2:
|
|
188
|
+
results = _context.sent;
|
|
189
|
+
|
|
190
|
+
if (!isSvgExport(results)) {
|
|
191
|
+
_context.next = 14;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
width = results.width, height = results.height, canvasRecordedData = results.canvasRecordedData;
|
|
196
|
+
_context.next = 7;
|
|
197
|
+
return Promise.resolve().then(function () {
|
|
198
|
+
return _interopRequireWildcard(require('canvas2svg'));
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
case 7:
|
|
202
|
+
C2S = _context.sent;
|
|
203
|
+
ctx = new C2S.default(width, height);
|
|
204
|
+
seq = new _canvasSequencer.CanvasSequence(canvasRecordedData);
|
|
205
|
+
seq.execute(ctx);
|
|
206
|
+
str = ctx.getSvg(); // innerHTML strips the outer <svg> element from returned data, we add
|
|
207
|
+
// our own <svg> element in the view's SVG export
|
|
208
|
+
|
|
209
|
+
results.html = str.innerHTML;
|
|
210
|
+
delete results.reactElement;
|
|
211
|
+
|
|
212
|
+
case 14:
|
|
213
|
+
return _context.abrupt("return", results);
|
|
172
214
|
|
|
173
|
-
case
|
|
215
|
+
case 15:
|
|
174
216
|
case "end":
|
|
175
217
|
return _context.stop();
|
|
176
218
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|