@jbrowse/core 1.7.6 → 1.7.9
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/assemblyManager/assemblyManager.d.ts +3 -3
- package/assemblyManager/assemblyManager.js +22 -6
- package/package.json +4 -2
- package/pluggableElementTypes/models/InternetAccountModel.d.ts +2 -2
- 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/SanitizedHTML.js +26 -4
- package/ui/SnackbarModel.d.ts +2 -2
- package/util/declare.d.js +1 -0
- package/util/offscreenCanvasPonyfill.d.ts +8 -1
- package/util/offscreenCanvasPonyfill.js +140 -12
- package/util/offscreenCanvasUtils.d.ts +19 -1
- package/util/offscreenCanvasUtils.js +146 -12
- 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
|
@@ -285,19 +285,19 @@ export default function assemblyManagerFactory(assemblyConfigType: IAnyType, plu
|
|
|
285
285
|
[k: string]: string;
|
|
286
286
|
}>;
|
|
287
287
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined>;
|
|
288
|
-
getRefNameMapForAdapter(adapterConf: unknown, assemblyName: string, opts: {
|
|
288
|
+
getRefNameMapForAdapter(adapterConf: unknown, assemblyName: string | undefined, opts: {
|
|
289
289
|
signal?: AbortSignal;
|
|
290
290
|
sessionId: string;
|
|
291
291
|
}): Promise<{
|
|
292
292
|
[k: string]: string;
|
|
293
293
|
} | undefined>;
|
|
294
|
-
getReverseRefNameMapForAdapter(adapterConf: unknown, assemblyName: string, opts: {
|
|
294
|
+
getReverseRefNameMapForAdapter(adapterConf: unknown, assemblyName: string | undefined, opts: {
|
|
295
295
|
signal?: AbortSignal;
|
|
296
296
|
sessionId: string;
|
|
297
297
|
}): Promise<{
|
|
298
298
|
[k: string]: string;
|
|
299
299
|
} | undefined>;
|
|
300
|
-
isValidRefName(refName: string, assemblyName?: string
|
|
300
|
+
isValidRefName(refName: string, assemblyName?: string): boolean;
|
|
301
301
|
} & {
|
|
302
302
|
removeAssembly(asm: import("mobx-state-tree").ModelInstanceTypeProps<{
|
|
303
303
|
configuration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<IAnyType>>;
|
|
@@ -155,7 +155,12 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
|
|
|
155
155
|
while (1) {
|
|
156
156
|
switch (_context2.prev = _context2.next) {
|
|
157
157
|
case 0:
|
|
158
|
-
|
|
158
|
+
if (!assemblyName) {
|
|
159
|
+
_context2.next = 4;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
_context2.next = 3;
|
|
159
164
|
return (0, _util.when)(function () {
|
|
160
165
|
return Boolean(self.get(assemblyName));
|
|
161
166
|
}, {
|
|
@@ -163,10 +168,13 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
|
|
|
163
168
|
name: 'when assembly ready'
|
|
164
169
|
});
|
|
165
170
|
|
|
166
|
-
case
|
|
171
|
+
case 3:
|
|
167
172
|
return _context2.abrupt("return", (_self$get = self.get(assemblyName)) === null || _self$get === void 0 ? void 0 : _self$get.getRefNameMapForAdapter(adapterConf, opts));
|
|
168
173
|
|
|
169
|
-
case
|
|
174
|
+
case 4:
|
|
175
|
+
return _context2.abrupt("return", {});
|
|
176
|
+
|
|
177
|
+
case 5:
|
|
170
178
|
case "end":
|
|
171
179
|
return _context2.stop();
|
|
172
180
|
}
|
|
@@ -182,7 +190,12 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
|
|
|
182
190
|
while (1) {
|
|
183
191
|
switch (_context3.prev = _context3.next) {
|
|
184
192
|
case 0:
|
|
185
|
-
|
|
193
|
+
if (!assemblyName) {
|
|
194
|
+
_context3.next = 4;
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
_context3.next = 3;
|
|
186
199
|
return (0, _util.when)(function () {
|
|
187
200
|
return Boolean(self.get(assemblyName));
|
|
188
201
|
}, {
|
|
@@ -190,10 +203,13 @@ function assemblyManagerFactory(assemblyConfigType, pluginManager) {
|
|
|
190
203
|
name: 'when assembly ready'
|
|
191
204
|
});
|
|
192
205
|
|
|
193
|
-
case
|
|
206
|
+
case 3:
|
|
194
207
|
return _context3.abrupt("return", (_self$get2 = self.get(assemblyName)) === null || _self$get2 === void 0 ? void 0 : _self$get2.getReverseRefNameMapForAdapter(adapterConf, opts));
|
|
195
208
|
|
|
196
|
-
case
|
|
209
|
+
case 4:
|
|
210
|
+
return _context3.abrupt("return", {});
|
|
211
|
+
|
|
212
|
+
case 5:
|
|
197
213
|
case "end":
|
|
198
214
|
return _context3.stop();
|
|
199
215
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/core",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.9",
|
|
4
4
|
"description": "JBrowse 2 core libraries used by plugins",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"@material-ui/icons": "^4.0.1",
|
|
34
34
|
"abortable-promise-cache": "^1.5.0",
|
|
35
35
|
"canvas": "^2.8.0",
|
|
36
|
+
"canvas-sequencer": "^3.1.0",
|
|
37
|
+
"canvas2svg": "^1.0.16",
|
|
36
38
|
"clsx": "^1.0.4",
|
|
37
39
|
"color": "^3.1.3",
|
|
38
40
|
"copy-to-clipboard": "^3.3.1",
|
|
@@ -72,5 +74,5 @@
|
|
|
72
74
|
"access": "public",
|
|
73
75
|
"directory": "dist"
|
|
74
76
|
},
|
|
75
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "a6504c385d703ce6e755d05652ef659ffe28c864"
|
|
76
78
|
}
|
|
@@ -69,7 +69,7 @@ export declare const InternetAccount: import("mobx-state-tree").IModelType<{
|
|
|
69
69
|
* @param location - UriLocation of the resource
|
|
70
70
|
* @returns A promise for the token
|
|
71
71
|
*/
|
|
72
|
-
getToken(location?: UriLocation
|
|
72
|
+
getToken(location?: UriLocation): Promise<string>;
|
|
73
73
|
} & {
|
|
74
74
|
addAuthHeaderToInit(init: RequestInit | undefined, token: string): {
|
|
75
75
|
headers: Headers;
|
|
@@ -107,7 +107,7 @@ export declare const InternetAccount: import("mobx-state-tree").IModelType<{
|
|
|
107
107
|
* @param location - UriLocation of the resource
|
|
108
108
|
* @returns A function that can be used to fetch
|
|
109
109
|
*/
|
|
110
|
-
getFetcher(location?: UriLocation
|
|
110
|
+
getFetcher(location?: UriLocation): (input: RequestInfo, init?: RequestInit) => Promise<Response>;
|
|
111
111
|
} & {
|
|
112
112
|
/**
|
|
113
113
|
* Gets a filehandle that uses a fetch that adds auth headers
|
|
@@ -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";
|