@jbrowse/core 3.1.0 → 3.3.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.
- package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +2 -1
- package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +4 -4
- package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +10 -9
- package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +3 -13
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +2 -1
- package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +2 -2
- package/CorePlugin.js +2 -2
- package/PluginLoader.js +3 -3
- package/PluginManager.d.ts +1 -1
- package/PluginManager.js +15 -14
- package/ReExports/modules.d.ts +1 -1
- package/ReExports/modules.js +1 -22
- package/assemblyManager/assemblyManager.js +1 -1
- package/configuration/configurationSchema.js +2 -2
- package/configuration/util.js +2 -2
- package/data_adapters/BaseAdapter/BaseAdapter.d.ts +2 -2
- package/data_adapters/BaseAdapter/BaseAdapter.js +1 -0
- package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +9 -2
- package/data_adapters/BaseAdapter/BaseOptions.d.ts +0 -1
- package/data_adapters/BaseAdapter/types.d.ts +1 -1
- package/data_adapters/CytobandAdapter/configSchema.js +17 -2
- package/data_adapters/dataAdapterCache.js +4 -4
- package/package.json +5 -5
- package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +3 -1
- package/pluggableElementTypes/models/BaseTrackModel.js +3 -1
- package/pluggableElementTypes/models/baseTrackConfig.js +2 -2
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +8 -9
- package/pluggableElementTypes/renderers/FeatureRendererType.js +1 -0
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -4
- package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +2 -30
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -30
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +6 -7
- package/rpc/methods/CoreFreeResources.js +2 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/DataGridFlexContainer.d.ts +3 -0
- package/ui/DataGridFlexContainer.js +15 -0
- package/ui/theme.js +5 -5
- package/util/Base1DUtils.js +1 -1
- package/util/analytics.js +2 -2
- package/util/cluster.d.ts +17 -0
- package/util/cluster.js +96 -0
- package/util/idMaker.d.ts +1 -1
- package/util/idMaker.js +1 -1
- package/util/index.d.ts +4 -1
- package/util/index.js +41 -10
- package/util/layouts/PrecomputedMultiLayout.js +2 -2
- package/util/map-obj.js +2 -2
- package/util/offscreenCanvasUtils.d.ts +11 -11
- package/util/offscreenCanvasUtils.js +4 -1
- package/util/rxjs.d.ts +1 -1
- package/util/rxjs.js +3 -1
- package/util/stopToken.d.ts +1 -1
|
@@ -1,37 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const material_1 = require("@mui/material");
|
|
6
4
|
const mobx_react_1 = require("mobx-react");
|
|
7
|
-
const client_1 = require("react-dom/client");
|
|
8
|
-
const ui_1 = require("../../ui");
|
|
9
|
-
const util_1 = require("../../util");
|
|
10
5
|
const RpcRenderedSvgGroup = (0, mobx_react_1.observer)(function RpcRenderedSvgGroup(props) {
|
|
11
|
-
const { html,
|
|
12
|
-
|
|
13
|
-
const rootRef = (0, react_1.useRef)(null);
|
|
14
|
-
(0, react_1.useEffect)(() => {
|
|
15
|
-
const renderTimeout = (0, util_1.rIC)(() => {
|
|
16
|
-
var _a;
|
|
17
|
-
if (!ref.current) {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const jbrowseTheme = (0, ui_1.createJBrowseTheme)(theme);
|
|
21
|
-
rootRef.current =
|
|
22
|
-
(_a = rootRef.current) !== null && _a !== void 0 ? _a : (0, client_1.hydrateRoot)(ref.current, (0, jsx_runtime_1.jsx)(material_1.ThemeProvider, { theme: jbrowseTheme, children: (0, jsx_runtime_1.jsx)(RenderingComponent, { ...rest }) }));
|
|
23
|
-
});
|
|
24
|
-
return () => {
|
|
25
|
-
if (renderTimeout !== undefined) {
|
|
26
|
-
clearTimeout(renderTimeout);
|
|
27
|
-
}
|
|
28
|
-
const root = rootRef.current;
|
|
29
|
-
rootRef.current = null;
|
|
30
|
-
setTimeout(() => {
|
|
31
|
-
root === null || root === void 0 ? void 0 : root.unmount();
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
}, [RenderingComponent, theme, rest]);
|
|
35
|
-
return (0, jsx_runtime_1.jsx)("g", { ref: ref, dangerouslySetInnerHTML: { __html: html } });
|
|
6
|
+
const { html, RenderingComponent, ...rest } = props;
|
|
7
|
+
return (0, jsx_runtime_1.jsx)(RenderingComponent, { ...rest });
|
|
36
8
|
});
|
|
37
9
|
exports.default = RpcRenderedSvgGroup;
|
|
@@ -2,5 +2,5 @@ import type { RenderArgs, ResultsSerialized } from './ServerSideRendererType';
|
|
|
2
2
|
interface Props extends ResultsSerialized, RenderArgs {
|
|
3
3
|
RenderingComponent: React.ComponentType<any>;
|
|
4
4
|
}
|
|
5
|
-
declare const ServerSideRenderedContent: ({
|
|
5
|
+
declare const ServerSideRenderedContent: ({ html, RenderingComponent, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export default ServerSideRenderedContent;
|
|
@@ -1,36 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const styles_1 = require("@mui/material/styles");
|
|
6
4
|
const mobx_react_1 = require("mobx-react");
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const util_1 = require("../../util");
|
|
10
|
-
const ServerSideRenderedContent = (0, mobx_react_1.observer)(function ServerSideRenderedContent({ theme, html, RenderingComponent, ...rest }) {
|
|
11
|
-
const ref = (0, react_1.useRef)(null);
|
|
12
|
-
const rootRef = (0, react_1.useRef)(null);
|
|
13
|
-
(0, react_1.useEffect)(() => {
|
|
14
|
-
const renderTimeout = (0, util_1.rIC)(() => {
|
|
15
|
-
var _a;
|
|
16
|
-
if (!ref.current) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const jbrowseTheme = (0, ui_1.createJBrowseTheme)(theme);
|
|
20
|
-
rootRef.current =
|
|
21
|
-
(_a = rootRef.current) !== null && _a !== void 0 ? _a : (0, client_1.hydrateRoot)(ref.current, (0, jsx_runtime_1.jsx)(styles_1.ThemeProvider, { theme: jbrowseTheme, children: (0, jsx_runtime_1.jsx)(RenderingComponent, { ...rest }) }));
|
|
22
|
-
});
|
|
23
|
-
return () => {
|
|
24
|
-
if (renderTimeout !== undefined) {
|
|
25
|
-
clearTimeout(renderTimeout);
|
|
26
|
-
}
|
|
27
|
-
const root = rootRef.current;
|
|
28
|
-
rootRef.current = null;
|
|
29
|
-
setTimeout(() => {
|
|
30
|
-
root === null || root === void 0 ? void 0 : root.unmount();
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
}, [theme, rest, RenderingComponent]);
|
|
34
|
-
return (0, jsx_runtime_1.jsx)("div", { ref: ref, dangerouslySetInnerHTML: { __html: html } });
|
|
5
|
+
const ServerSideRenderedContent = (0, mobx_react_1.observer)(function ServerSideRenderedContent({ html, RenderingComponent, ...props }) {
|
|
6
|
+
return (0, jsx_runtime_1.jsx)(RenderingComponent, { ...props });
|
|
35
7
|
});
|
|
36
8
|
exports.default = ServerSideRenderedContent;
|
|
@@ -28,18 +28,17 @@ class ServerSideRenderer extends RendererType_1.default {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
deserializeResultsInClient(res, args) {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return args.exportSVG
|
|
32
|
+
? {
|
|
33
33
|
...res,
|
|
34
34
|
html: this.supportsSVG
|
|
35
35
|
? res.html
|
|
36
36
|
: '<text y="12" fill="black">SVG export not supported for this track</text>',
|
|
37
|
+
}
|
|
38
|
+
: {
|
|
39
|
+
...res,
|
|
40
|
+
reactElement: ((0, jsx_runtime_1.jsx)(ServerSideRenderedContent_1.default, { ...args, ...res, RenderingComponent: this.ReactComponent })),
|
|
37
41
|
};
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
...res,
|
|
41
|
-
reactElement: ((0, jsx_runtime_1.jsx)(ServerSideRenderedContent_1.default, { ...args, ...res, RenderingComponent: this.ReactComponent })),
|
|
42
|
-
};
|
|
43
42
|
}
|
|
44
43
|
deserializeArgsInWorker(args) {
|
|
45
44
|
const deserialized = { ...args };
|
|
@@ -12,9 +12,9 @@ class CoreFreeResources extends RpcMethodType_1.default {
|
|
|
12
12
|
}
|
|
13
13
|
async execute(args) {
|
|
14
14
|
(0, dataAdapterCache_1.freeAdapterResources)(args);
|
|
15
|
-
this.pluginManager.getRendererTypes()
|
|
15
|
+
for (const renderer of this.pluginManager.getRendererTypes()) {
|
|
16
16
|
renderer.freeResources(args);
|
|
17
|
-
}
|
|
17
|
+
}
|
|
18
18
|
}
|
|
19
19
|
async serializeArguments(args, _rpcDriver) {
|
|
20
20
|
return args;
|