@jbrowse/core 2.7.0 → 2.7.2
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/DataGridDetails.js +8 -3
- package/PluginLoader.d.ts +1 -0
- package/PluginLoader.js +2 -1
- package/package.json +2 -2
- package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +5 -0
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +6 -1
- package/pluggableElementTypes/models/baseTrackConfig.js +5 -7
- package/pluggableElementTypes/renderers/RendererType.js +1 -1
- package/rpc/BaseRpcDriver.js +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/MenuButton.d.ts +8 -0
- package/ui/MenuButton.js +42 -0
- package/ui/SanitizedHTML.d.ts +1 -1
- package/ui/SanitizedHTML.js +4 -1
- package/util/blobToDataURL.d.ts +1 -0
- package/util/blobToDataURL.js +18 -0
- package/util/index.d.ts +33 -10
- package/util/index.js +42 -30
- package/util/layouts/SceneGraph.js +0 -13
- package/util/offscreenCanvasUtils.js +2 -2
- package/util/types/index.d.ts +4 -2
- package/BaseFeatureWidget/BaseFeatureDetail/UriLink.d.ts +0 -7
- package/BaseFeatureWidget/BaseFeatureDetail/UriLink.js +0 -13
|
@@ -34,8 +34,8 @@ const material_1 = require("@mui/material");
|
|
|
34
34
|
const util_1 = require("../../util");
|
|
35
35
|
const ResizeBar_1 = __importDefault(require("../../ui/ResizeBar"));
|
|
36
36
|
const FieldName_1 = __importDefault(require("./FieldName"));
|
|
37
|
-
const UriLink_1 = __importDefault(require("./UriLink"));
|
|
38
37
|
const useResizeBar_1 = require("../../ui/useResizeBar");
|
|
38
|
+
const ui_1 = require("../../ui");
|
|
39
39
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
40
40
|
margin: {
|
|
41
41
|
margin: theme.spacing(1),
|
|
@@ -88,12 +88,17 @@ function DataGridDetails({ value, prefix, name, }) {
|
|
|
88
88
|
// @ts-expect-error the rows gets confused by the renderCell of the
|
|
89
89
|
// columns below
|
|
90
90
|
rows: rows, rowCount: 25, rowHeight: 25, columnHeaderHeight: 35, hideFooter: rows.length < 25, slots: { toolbar: checked ? x_data_grid_1.GridToolbar : null }, slotProps: {
|
|
91
|
-
toolbar: {
|
|
91
|
+
toolbar: {
|
|
92
|
+
printOptions: {
|
|
93
|
+
disableToolbarButton: true,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
92
96
|
}, columns: colNames.map((val, index) => ({
|
|
93
97
|
field: val,
|
|
94
98
|
renderCell: params => {
|
|
95
99
|
const value = params.value;
|
|
96
|
-
return (react_1.default.createElement("div", { className: classes.cell },
|
|
100
|
+
return (react_1.default.createElement("div", { className: classes.cell },
|
|
101
|
+
react_1.default.createElement(ui_1.SanitizedHTML, { html: (0, util_1.getStr)(value) })));
|
|
97
102
|
},
|
|
98
103
|
width: widths[index],
|
|
99
104
|
})) }))));
|
package/PluginLoader.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface PluginRecord {
|
|
|
40
40
|
export interface LoadedPlugin {
|
|
41
41
|
default: PluginConstructor;
|
|
42
42
|
}
|
|
43
|
+
export declare function pluginDescriptionString(pluginDefinition: PluginDefinition): string;
|
|
43
44
|
export default class PluginLoader {
|
|
44
45
|
definitions: PluginDefinition[];
|
|
45
46
|
fetchESM?: (url: string) => Promise<LoadedPlugin>;
|
package/PluginLoader.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isCJSPluginDefinition = exports.isESMPluginDefinition = exports.isUMDPluginDefinition = void 0;
|
|
6
|
+
exports.pluginDescriptionString = exports.isCJSPluginDefinition = exports.isESMPluginDefinition = exports.isUMDPluginDefinition = void 0;
|
|
7
7
|
const load_script_1 = __importDefault(require("load-script"));
|
|
8
8
|
// locals
|
|
9
9
|
const Plugin_1 = __importDefault(require("./Plugin"));
|
|
@@ -63,6 +63,7 @@ function pluginDescriptionString(pluginDefinition) {
|
|
|
63
63
|
}
|
|
64
64
|
return 'unknown plugin';
|
|
65
65
|
}
|
|
66
|
+
exports.pluginDescriptionString = pluginDescriptionString;
|
|
66
67
|
function isInWebWorker() {
|
|
67
68
|
return Boolean('WorkerGlobalScope' in globalThis);
|
|
68
69
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/core",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"description": "JBrowse 2 core libraries used by plugins",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"access": "public",
|
|
74
74
|
"directory": "dist"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "9052b295f2d322e729254457ed9fe2231fb22cce"
|
|
77
77
|
}
|
|
@@ -30,6 +30,11 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
|
|
|
30
30
|
};
|
|
31
31
|
}, import("../../configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "connectionId">>;
|
|
32
32
|
}, {
|
|
33
|
+
/**
|
|
34
|
+
* #action
|
|
35
|
+
*/
|
|
36
|
+
connect(_arg: AnyConfigurationModel): void;
|
|
37
|
+
} & {
|
|
33
38
|
afterAttach(): void;
|
|
34
39
|
/**
|
|
35
40
|
* #action
|
|
@@ -25,10 +25,15 @@ function stateModelFactory(pluginManager) {
|
|
|
25
25
|
*/
|
|
26
26
|
configuration: (0, configuration_1.ConfigurationReference)(baseConnectionConfig_1.default),
|
|
27
27
|
})
|
|
28
|
+
.actions(() => ({
|
|
29
|
+
/**
|
|
30
|
+
* #action
|
|
31
|
+
*/
|
|
32
|
+
connect(_arg) { },
|
|
33
|
+
}))
|
|
28
34
|
.actions(self => ({
|
|
29
35
|
afterAttach() {
|
|
30
36
|
if (self.tracks.length === 0) {
|
|
31
|
-
// @ts-expect-error
|
|
32
37
|
self.connect(self.configuration);
|
|
33
38
|
}
|
|
34
39
|
},
|
|
@@ -127,19 +127,17 @@ function createBaseTrackConfig(pluginManager) {
|
|
|
127
127
|
}, {
|
|
128
128
|
preProcessSnapshot: s2 => {
|
|
129
129
|
const snap = pluginManager.evaluateExtensionPoint('Core-preProcessTrackConfig', JSON.parse(JSON.stringify(s2)));
|
|
130
|
-
const displayTypes = new Set();
|
|
131
130
|
const { displays = [] } = snap;
|
|
132
131
|
if (snap.trackId !== 'placeholderId') {
|
|
133
132
|
// Gets the displays on the track snapshot and the possible displays
|
|
134
133
|
// from the track type and adds any missing possible displays to the
|
|
135
134
|
// snapshot
|
|
136
|
-
displays.
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (!displayTypes.has(displayType.name)) {
|
|
135
|
+
const configDisplayTypes = new Set(displays.filter(d => !!d).map(d => d.type));
|
|
136
|
+
pluginManager.getTrackType(snap.type).displayTypes.forEach(d => {
|
|
137
|
+
if (!configDisplayTypes.has(d.name)) {
|
|
140
138
|
displays.push({
|
|
141
|
-
displayId: `${snap.trackId}-${
|
|
142
|
-
type:
|
|
139
|
+
displayId: `${snap.trackId}-${d.name}`,
|
|
140
|
+
type: d.name,
|
|
143
141
|
});
|
|
144
142
|
}
|
|
145
143
|
});
|
|
@@ -9,7 +9,7 @@ const PluggableElementBase_1 = __importDefault(require("../PluggableElementBase"
|
|
|
9
9
|
class RendererType extends PluggableElementBase_1.default {
|
|
10
10
|
constructor(stuff) {
|
|
11
11
|
super(stuff);
|
|
12
|
-
this.supportsSVG =
|
|
12
|
+
this.supportsSVG = true;
|
|
13
13
|
this.ReactComponent = stuff.ReactComponent;
|
|
14
14
|
this.configSchema = stuff.configSchema;
|
|
15
15
|
this.pluginManager = stuff.pluginManager;
|
package/rpc/BaseRpcDriver.js
CHANGED
|
@@ -130,7 +130,8 @@ class BaseRpcDriver {
|
|
|
130
130
|
throw new TypeError('sessionId is required');
|
|
131
131
|
}
|
|
132
132
|
let done = false;
|
|
133
|
-
const
|
|
133
|
+
const unextendedWorker = await this.getWorker(sessionId);
|
|
134
|
+
const worker = pluginManager.evaluateExtensionPoint('Core-extendWorker', unextendedWorker);
|
|
134
135
|
const rpcMethod = pluginManager.getRpcMethodType(functionName);
|
|
135
136
|
const serializedArgs = await rpcMethod.serializeArguments(args, this.name);
|
|
136
137
|
const filteredAndSerializedArgs = this.filterArgs(serializedArgs, sessionId);
|