@jbrowse/core 4.1.8 → 4.1.10
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/esm/pluggableElementTypes/renderers/FeatureRendererType.d.ts +1 -11
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +42 -14
- package/esm/pluggableElementTypes/renderers/ServerSideRendererType.js +14 -15
- package/esm/rpc/methods/CoreRender.d.ts +2 -12
- package/package.json +2 -2
- package/esm/pluggableElementTypes/renderers/RenderResult.d.ts +0 -8
- package/esm/pluggableElementTypes/renderers/RenderResult.js +0 -4
- package/esm/pluggableElementTypes/renderers/ServerSideRendererTypes.d.ts +0 -42
- package/esm/pluggableElementTypes/renderers/ServerSideRendererTypes.js +0 -1
- package/esm/pluggableElementTypes/renderers/SvgRenderResult.d.ts +0 -8
- package/esm/pluggableElementTypes/renderers/SvgRenderResult.js +0 -10
|
@@ -45,17 +45,7 @@ export default class FeatureRendererType extends ServerSideRendererType {
|
|
|
45
45
|
html?: string;
|
|
46
46
|
} | {
|
|
47
47
|
blockKey: string;
|
|
48
|
-
reactElement: import("react").
|
|
49
|
-
res: ServerSideResultsSerialized;
|
|
50
|
-
args: ServerSideRenderArgs;
|
|
51
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
52
|
-
supportsSVG: boolean;
|
|
53
|
-
}> | import("react").FunctionComponentElement<{
|
|
54
|
-
res: ServerSideResultsSerialized;
|
|
55
|
-
args: ServerSideRenderArgs;
|
|
56
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
57
|
-
renderingProps?: Record<string, unknown>;
|
|
58
|
-
}>;
|
|
48
|
+
reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
59
49
|
html?: string;
|
|
60
50
|
}>;
|
|
61
51
|
serializeArgsInClient(args: RenderArgs): ServerSideRenderArgsSerialized;
|
|
@@ -1,22 +1,50 @@
|
|
|
1
1
|
import RendererType from './RendererType.tsx';
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
2
|
+
import SerializableFilterChain from './util/serializableFilterChain.ts';
|
|
3
|
+
import type { RenderProps, RenderResults } from './RendererType.tsx';
|
|
4
|
+
import type { SerializedFilterChain } from './util/serializableFilterChain.ts';
|
|
5
|
+
import type { AnyConfigurationModel } from '../../configuration/index.ts';
|
|
4
6
|
import type RpcManager from '../../rpc/RpcManager.ts';
|
|
5
|
-
|
|
7
|
+
import type { LastStopTokenCheck } from '../../util/stopToken.ts';
|
|
8
|
+
import type { SnapshotIn, SnapshotOrInstance } from '@jbrowse/mobx-state-tree';
|
|
9
|
+
import type { ThemeOptions } from '@mui/material';
|
|
10
|
+
interface BaseRenderArgs extends RenderProps {
|
|
11
|
+
sessionId: string;
|
|
12
|
+
trackInstanceId: string;
|
|
13
|
+
stopToken?: string;
|
|
14
|
+
theme: ThemeOptions;
|
|
15
|
+
exportSVG?: {
|
|
16
|
+
rasterizeLayers?: boolean;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface RenderArgs extends BaseRenderArgs {
|
|
20
|
+
config: SnapshotOrInstance<AnyConfigurationModel>;
|
|
21
|
+
filters?: SerializableFilterChain;
|
|
22
|
+
renderingProps?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface RenderArgsSerialized extends BaseRenderArgs {
|
|
25
|
+
statusCallback?: (arg: string) => void;
|
|
26
|
+
config: SnapshotIn<AnyConfigurationModel>;
|
|
27
|
+
filters?: SerializedFilterChain;
|
|
28
|
+
}
|
|
29
|
+
export interface RenderArgsDeserialized extends BaseRenderArgs {
|
|
30
|
+
config: AnyConfigurationModel;
|
|
31
|
+
filters?: SerializableFilterChain;
|
|
32
|
+
stopTokenCheck?: LastStopTokenCheck;
|
|
33
|
+
}
|
|
34
|
+
export type ResultsSerialized = Omit<RenderResults, 'reactElement'> & {
|
|
35
|
+
imageData?: ImageBitmap;
|
|
36
|
+
};
|
|
37
|
+
export interface ResultsSerializedSvgExport extends ResultsSerialized {
|
|
38
|
+
canvasRecordedData: unknown;
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
reactElement: unknown;
|
|
42
|
+
}
|
|
43
|
+
export type ResultsDeserialized = RenderResults;
|
|
6
44
|
export default class ServerSideRenderer extends RendererType {
|
|
7
45
|
private createReactElement;
|
|
8
46
|
renderDirect(args: RenderArgs): Promise<RenderResults | {
|
|
9
|
-
reactElement: import("react").
|
|
10
|
-
res: ResultsSerialized;
|
|
11
|
-
args: RenderArgs;
|
|
12
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
13
|
-
supportsSVG: boolean;
|
|
14
|
-
}> | import("react").FunctionComponentElement<{
|
|
15
|
-
res: ResultsSerialized;
|
|
16
|
-
args: RenderArgs;
|
|
17
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
18
|
-
renderingProps?: Record<string, unknown>;
|
|
19
|
-
}>;
|
|
47
|
+
reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
20
48
|
html?: string;
|
|
21
49
|
}>;
|
|
22
50
|
serializeArgsInClient(args: RenderArgs): RenderArgsSerialized;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { createElement } from 'react';
|
|
2
2
|
import { getSnapshot, isStateTreeNode } from '@jbrowse/mobx-state-tree';
|
|
3
|
-
import RenderResult from "./RenderResult.js";
|
|
4
3
|
import RendererType from "./RendererType.js";
|
|
5
|
-
import SvgRenderResult from "./SvgRenderResult.js";
|
|
6
4
|
import SerializableFilterChain from "./util/serializableFilterChain.js";
|
|
7
5
|
import { getSerializedSvg, updateStatus } from "../../util/index.js";
|
|
8
6
|
import { isRpcResult } from "../../util/rpc.js";
|
|
@@ -12,19 +10,20 @@ function isCanvasRecordedSvgExport(e) {
|
|
|
12
10
|
}
|
|
13
11
|
export default class ServerSideRenderer extends RendererType {
|
|
14
12
|
createReactElement(res, args) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
if (args.exportSVG) {
|
|
14
|
+
if (res.html) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (this.supportsSVG) {
|
|
18
|
+
return createElement(this.ReactComponent, { ...args, ...res });
|
|
19
|
+
}
|
|
20
|
+
return createElement('text', { y: '12', fill: 'black' }, 'SVG export not supported for this track');
|
|
21
|
+
}
|
|
22
|
+
return createElement(this.ReactComponent, {
|
|
23
|
+
...args,
|
|
24
|
+
...res,
|
|
25
|
+
...args.renderingProps,
|
|
26
|
+
});
|
|
28
27
|
}
|
|
29
28
|
async renderDirect(args) {
|
|
30
29
|
const { renderingProps, ...rest } = args;
|
|
@@ -2,19 +2,9 @@ import RpcMethodType from '../../pluggableElementTypes/RpcMethodType.ts';
|
|
|
2
2
|
import type { RenderArgs, RenderArgsSerialized, RenderResults, ResultsSerialized } from './util.ts';
|
|
3
3
|
export default class CoreRender extends RpcMethodType {
|
|
4
4
|
name: string;
|
|
5
|
-
serializeArguments(args: RenderArgs, rpcDriver: string): Promise<import("../../pluggableElementTypes/renderers/
|
|
5
|
+
serializeArguments(args: RenderArgs, rpcDriver: string): Promise<import("../../pluggableElementTypes/renderers/ServerSideRendererType.ts").RenderArgsSerialized>;
|
|
6
6
|
executeDirect(args: RenderArgs): Promise<RenderResults | {
|
|
7
|
-
reactElement: import("react").
|
|
8
|
-
res: ResultsSerialized;
|
|
9
|
-
args: import("../../pluggableElementTypes/renderers/ServerSideRendererTypes.ts").RenderArgs;
|
|
10
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
11
|
-
supportsSVG: boolean;
|
|
12
|
-
}> | import("react").FunctionComponentElement<{
|
|
13
|
-
res: ResultsSerialized;
|
|
14
|
-
args: import("../../pluggableElementTypes/renderers/ServerSideRendererTypes.ts").RenderArgs;
|
|
15
|
-
ReactComponent: import("react").ComponentType<any>;
|
|
16
|
-
renderingProps?: Record<string, unknown>;
|
|
17
|
-
}>;
|
|
7
|
+
reactElement: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
|
18
8
|
html?: string;
|
|
19
9
|
}>;
|
|
20
10
|
execute(args: RenderArgsSerialized & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/core",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "JBrowse 2 core libraries used by plugins",
|
|
6
6
|
"keywords": [
|
|
@@ -476,7 +476,7 @@
|
|
|
476
476
|
"@emotion/react": "^11.14.0",
|
|
477
477
|
"@emotion/serialize": "^1.3.3",
|
|
478
478
|
"@emotion/utils": "^1.4.2",
|
|
479
|
-
"@floating-ui/react": "^0.27.
|
|
479
|
+
"@floating-ui/react": "^0.27.18",
|
|
480
480
|
"@gmod/abortable-promise-cache": "^3.0.4",
|
|
481
481
|
"@gmod/bgzf-filehandle": "^6.0.12",
|
|
482
482
|
"@gmod/http-range-fetcher": "^5.0.7",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ComponentType } from 'react';
|
|
2
|
-
import type { RenderArgs, ResultsSerialized } from './ServerSideRendererTypes.ts';
|
|
3
|
-
export default function RenderResult({ res, args, ReactComponent, renderingProps, }: {
|
|
4
|
-
res: ResultsSerialized;
|
|
5
|
-
args: RenderArgs;
|
|
6
|
-
ReactComponent: ComponentType<any>;
|
|
7
|
-
renderingProps?: Record<string, unknown>;
|
|
8
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { RenderProps, RenderResults } from './RendererType.tsx';
|
|
2
|
-
import type SerializableFilterChain from './util/serializableFilterChain.ts';
|
|
3
|
-
import type { SerializedFilterChain } from './util/serializableFilterChain.ts';
|
|
4
|
-
import type { AnyConfigurationModel } from '../../configuration/index.ts';
|
|
5
|
-
import type { LastStopTokenCheck } from '../../util/stopToken.ts';
|
|
6
|
-
import type { SnapshotIn, SnapshotOrInstance } from '@jbrowse/mobx-state-tree';
|
|
7
|
-
import type { ThemeOptions } from '@mui/material';
|
|
8
|
-
interface BaseRenderArgs extends RenderProps {
|
|
9
|
-
sessionId: string;
|
|
10
|
-
trackInstanceId: string;
|
|
11
|
-
stopToken?: string;
|
|
12
|
-
theme: ThemeOptions;
|
|
13
|
-
exportSVG?: {
|
|
14
|
-
rasterizeLayers?: boolean;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export interface RenderArgs extends BaseRenderArgs {
|
|
18
|
-
config: SnapshotOrInstance<AnyConfigurationModel>;
|
|
19
|
-
filters?: SerializableFilterChain;
|
|
20
|
-
renderingProps?: Record<string, unknown>;
|
|
21
|
-
}
|
|
22
|
-
export interface RenderArgsSerialized extends BaseRenderArgs {
|
|
23
|
-
statusCallback?: (arg: string) => void;
|
|
24
|
-
config: SnapshotIn<AnyConfigurationModel>;
|
|
25
|
-
filters?: SerializedFilterChain;
|
|
26
|
-
}
|
|
27
|
-
export interface RenderArgsDeserialized extends BaseRenderArgs {
|
|
28
|
-
config: AnyConfigurationModel;
|
|
29
|
-
filters?: SerializableFilterChain;
|
|
30
|
-
stopTokenCheck?: LastStopTokenCheck;
|
|
31
|
-
}
|
|
32
|
-
export type ResultsSerialized = Omit<RenderResults, 'reactElement'> & {
|
|
33
|
-
imageData?: ImageBitmap;
|
|
34
|
-
};
|
|
35
|
-
export interface ResultsSerializedSvgExport extends ResultsSerialized {
|
|
36
|
-
canvasRecordedData: unknown;
|
|
37
|
-
width: number;
|
|
38
|
-
height: number;
|
|
39
|
-
reactElement: unknown;
|
|
40
|
-
}
|
|
41
|
-
export type ResultsDeserialized = RenderResults;
|
|
42
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ComponentType } from 'react';
|
|
2
|
-
import type { RenderArgs, ResultsSerialized } from './ServerSideRendererTypes.ts';
|
|
3
|
-
export default function SvgRenderResult({ res, args, ReactComponent, supportsSVG, }: {
|
|
4
|
-
res: ResultsSerialized;
|
|
5
|
-
args: RenderArgs;
|
|
6
|
-
ReactComponent: ComponentType<any>;
|
|
7
|
-
supportsSVG: boolean;
|
|
8
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
export default function SvgRenderResult({ res, args, ReactComponent, supportsSVG, }) {
|
|
3
|
-
if (res.html) {
|
|
4
|
-
return null;
|
|
5
|
-
}
|
|
6
|
-
if (supportsSVG) {
|
|
7
|
-
return _jsx(ReactComponent, { ...args, ...res });
|
|
8
|
-
}
|
|
9
|
-
return (_jsx("text", { y: "12", fill: "black", children: "SVG export not supported for this track" }));
|
|
10
|
-
}
|