@jbrowse/core 1.5.2 → 1.5.6
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 +4 -2
- package/BaseFeatureWidget/BaseFeatureDetail.js +113 -100
- package/BaseFeatureWidget/SequenceFeatureDetails.js +59 -66
- package/BaseFeatureWidget/SequenceFeatureDetails.test.js +9 -9
- package/BaseFeatureWidget/index.js +1 -1
- package/BaseFeatureWidget/index.test.js +3 -3
- package/BaseFeatureWidget/types.js +5 -1
- package/BaseFeatureWidget/util.js +9 -13
- package/CorePlugin.js +19 -31
- package/Plugin.js +11 -13
- package/PluginLoader.js +33 -38
- package/PluginManager.d.ts +5 -5
- package/PluginManager.js +55 -60
- package/ReExports/index.js +4 -4
- package/ReExports/list.js +2 -2
- package/ReExports/material-ui-colors.js +20 -20
- package/ReExports/modules.js +47 -51
- package/TextSearch/BaseResults.js +24 -34
- package/TextSearch/BaseResults.test.js +3 -7
- package/TextSearch/TextSearchManager.d.ts +1 -1
- package/TextSearch/TextSearchManager.js +15 -18
- package/assemblyManager/assembly.js +34 -39
- package/assemblyManager/assemblyConfigSchema.js +2 -2
- package/assemblyManager/assemblyManager.js +16 -20
- package/assemblyManager/index.js +3 -3
- package/configuration/configurationSchema.js +17 -19
- package/configuration/configurationSlot.js +11 -11
- package/configuration/configurationSlot.test.js +5 -5
- package/configuration/util.js +5 -5
- package/data_adapters/BaseAdapter.d.ts +4 -4
- package/data_adapters/BaseAdapter.js +36 -47
- package/data_adapters/BaseAdapter.test.js +24 -30
- package/data_adapters/CytobandAdapter.js +16 -22
- package/data_adapters/dataAdapterCache.js +9 -9
- package/package.json +7 -7
- package/pluggableElementTypes/AdapterType.js +22 -29
- package/pluggableElementTypes/ConnectionType.js +18 -26
- package/pluggableElementTypes/DisplayType.js +17 -25
- package/pluggableElementTypes/InternetAccountType.js +14 -22
- package/pluggableElementTypes/PluggableElementBase.js +9 -10
- package/pluggableElementTypes/RpcMethodType.js +40 -56
- package/pluggableElementTypes/RpcMethodType.test.js +17 -23
- package/pluggableElementTypes/TextSearchAdapterType.js +15 -23
- package/pluggableElementTypes/TrackType.js +15 -25
- package/pluggableElementTypes/ViewType.js +15 -25
- package/pluggableElementTypes/WidgetType.js +17 -25
- package/pluggableElementTypes/index.js +11 -11
- package/pluggableElementTypes/models/BaseConnectionModelFactory.js +5 -5
- package/pluggableElementTypes/models/BaseDisplayModel.js +5 -8
- package/pluggableElementTypes/models/BaseTrackModel.js +8 -11
- package/pluggableElementTypes/models/BaseViewModel.js +3 -3
- package/pluggableElementTypes/models/InternetAccountModel.js +5 -5
- package/pluggableElementTypes/models/baseConnectionConfig.js +2 -2
- package/pluggableElementTypes/models/baseTrackConfig.js +4 -7
- package/pluggableElementTypes/models/index.js +4 -4
- package/pluggableElementTypes/renderers/BoxRendererType.js +39 -49
- package/pluggableElementTypes/renderers/CircularChordRendererType.js +12 -16
- package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +27 -35
- package/pluggableElementTypes/renderers/FeatureRendererType.js +36 -46
- package/pluggableElementTypes/renderers/RendererType.js +21 -31
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +8 -12
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +31 -44
- package/pluggableElementTypes/renderers/index.js +8 -8
- package/pluggableElementTypes/renderers/util/serializableFilterChain.js +8 -10
- package/pluggableElementTypes/renderers/util/serializableFilterChain.test.js +2 -2
- package/rpc/BaseRpcDriver.d.ts +1 -1
- package/rpc/BaseRpcDriver.js +37 -42
- package/rpc/BaseRpcDriver.test.js +49 -63
- package/rpc/MainThreadRpcDriver.js +22 -32
- package/rpc/RpcManager.d.ts +2 -2
- package/rpc/RpcManager.js +20 -25
- package/rpc/WebWorkerRpcDriver.d.ts +2 -2
- package/rpc/WebWorkerRpcDriver.js +29 -40
- package/rpc/configSchema.js +2 -2
- package/rpc/coreRpcMethods.js +72 -82
- package/rpc/remoteAbortSignals.js +3 -3
- package/ui/AboutDialog.js +17 -21
- package/ui/App.js +38 -42
- package/ui/AssemblySelector.js +5 -5
- package/ui/Drawer.js +7 -7
- package/ui/DrawerWidget.js +33 -37
- package/ui/DropDownMenu.js +9 -21
- package/ui/EditableTypography.js +19 -30
- package/ui/ErrorMessage.js +5 -5
- package/ui/FactoryResetDialog.js +8 -8
- package/ui/FatalErrorDialog.js +12 -29
- package/ui/FatalErrorDialog.test.js +11 -11
- package/ui/FileSelector/FileSelector.js +32 -42
- package/ui/FileSelector/LocalFileChooser.js +9 -9
- package/ui/FileSelector/UrlChooser.js +4 -4
- package/ui/FileSelector/index.js +4 -4
- package/ui/Icons.js +9 -9
- package/ui/Logo.js +19 -19
- package/ui/Menu.js +35 -46
- package/ui/NewSessionCards.js +19 -29
- package/ui/PrerenderedCanvas.js +10 -27
- package/ui/ResizeHandle.js +10 -17
- package/ui/SanitizedHTML.js +5 -5
- package/ui/SanitizedHTML.test.js +4 -4
- package/ui/Snackbar.js +12 -16
- package/ui/SnackbarModel.js +1 -1
- package/ui/Tooltip.js +7 -11
- package/ui/ViewContainer.js +20 -30
- package/ui/index.js +13 -17
- package/ui/theme.js +11 -15
- package/util/Base1DViewModel.js +10 -14
- package/util/Base1DViewModel.test.js +5 -5
- package/util/QuickLRU.js +27 -31
- package/util/aborting.js +16 -24
- package/util/analytics.js +7 -7
- package/util/blockTypes.js +36 -49
- package/util/calculateDynamicBlocks.js +4 -4
- package/util/calculateDynamicBlocks.test.js +10 -14
- package/util/calculateStaticBlocks.js +1 -1
- package/util/calculateStaticBlocks.test.js +15 -15
- package/util/compositeMap.js +30 -41
- package/util/idMaker.js +4 -4
- package/util/index.js +35 -48
- package/util/index.test.js +7 -11
- package/util/io/RemoteFileWithRangeCache.js +29 -41
- package/util/io/index.js +6 -6
- package/util/jexl.js +8 -5
- package/util/jexlStrings.js +2 -2
- package/util/jexlStrings.test.js +2 -2
- package/util/layouts/BaseLayout.js +5 -1
- package/util/layouts/GranularRectLayout.js +28 -34
- package/util/layouts/GranularRectLayout.test.js +10 -10
- package/util/layouts/MultiLayout.d.ts +1 -1
- package/util/layouts/MultiLayout.js +14 -21
- package/util/layouts/PrecomputedLayout.js +14 -16
- package/util/layouts/PrecomputedMultiLayout.js +18 -22
- package/util/layouts/SceneGraph.d.ts +3 -3
- package/util/layouts/SceneGraph.js +17 -31
- package/util/layouts/index.js +6 -6
- package/util/mst-reflection.d.ts +3 -3
- package/util/offscreenCanvasPonyfill.js +29 -31
- package/util/offscreenCanvasUtils.js +6 -6
- package/util/range.test.js +20 -20
- package/util/rxjs.js +2 -2
- package/util/simpleFeature.js +19 -24
- package/util/simpleFeature.test.js +3 -3
- package/util/stats.js +7 -11
- package/util/stats.test.js +15 -15
- package/util/types/index.d.ts +2 -0
- package/util/types/index.js +29 -36
- package/util/types/mst.js +15 -19
- package/util/types/util.js +5 -1
- package/util/when.js +6 -6
- package/babel.config.d.ts +0 -15
- package/babel.config.js +0 -19
|
@@ -4,19 +4,21 @@ import { BaseCardProps, BaseProps } from './types';
|
|
|
4
4
|
import { SimpleFeatureSerialized } from '../util/simpleFeature';
|
|
5
5
|
export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"expandIcon" | "expansionPanelDetails" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue">;
|
|
6
6
|
export declare function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): JSX.Element;
|
|
7
|
-
export declare const FieldName: ({ description, name, prefix, }: {
|
|
7
|
+
export declare const FieldName: ({ description, name, prefix, width, }: {
|
|
8
8
|
description?: React.ReactNode;
|
|
9
9
|
name: string;
|
|
10
10
|
prefix?: string[] | undefined;
|
|
11
|
+
width?: number | undefined;
|
|
11
12
|
}) => JSX.Element;
|
|
12
13
|
export declare const BasicValue: ({ value }: {
|
|
13
14
|
value: string | React.ReactNode;
|
|
14
15
|
}) => JSX.Element;
|
|
15
|
-
export declare const SimpleValue: ({ name, value, description, prefix, }: {
|
|
16
|
+
export declare const SimpleValue: ({ name, value, description, prefix, width, }: {
|
|
16
17
|
description?: React.ReactNode;
|
|
17
18
|
name: string;
|
|
18
19
|
value: any;
|
|
19
20
|
prefix?: string[] | undefined;
|
|
21
|
+
width?: number | undefined;
|
|
20
22
|
}) => JSX.Element | null;
|
|
21
23
|
export declare const BaseCoreDetails: (props: BaseProps) => JSX.Element;
|
|
22
24
|
interface AttributeProps {
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("
|
|
3
|
+
var _interopRequireDefault = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireDefault.js")["default"];
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _interopRequireWildcard = require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/interopRequireWildcard.js")["default"];
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports.BaseAttributes = exports.Attributes = void 0;
|
|
11
11
|
exports.BaseCard = BaseCard;
|
|
12
|
-
exports.useStyles = exports
|
|
12
|
+
exports.useStyles = exports["default"] = exports.SimpleValue = exports.FieldName = exports.FeatureDetails = exports.BasicValue = exports.BaseCoreDetails = void 0;
|
|
13
13
|
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _objectSpread2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/objectSpread2.js"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _toConsumableArray2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js"));
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
20
|
+
var _slicedToArray2 = _interopRequireDefault(require("/home/ubuntu/jbrowse-components/node_modules/@babel/runtime/helpers/esm/slicedToArray.js"));
|
|
23
21
|
|
|
24
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
25
23
|
|
|
@@ -50,16 +48,8 @@ var _SequenceFeatureDetails = _interopRequireDefault(require("./SequenceFeatureD
|
|
|
50
48
|
var _util2 = require("./util");
|
|
51
49
|
|
|
52
50
|
var _excluded = ["id"];
|
|
51
|
+
var MAX_FIELD_NAME_WIDTH = 170; // these are always omitted as too detailed
|
|
53
52
|
|
|
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
|
-
|
|
58
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
59
|
-
|
|
60
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
61
|
-
|
|
62
|
-
// these are always omitted as too detailed
|
|
63
53
|
var globalOmit = ['length', 'position', 'subfeatures', 'uniqueId', 'exonFrames', 'parentId', 'thickStart', 'thickEnd']; // coreDetails are omitted in some circumstances
|
|
64
54
|
|
|
65
55
|
var coreDetails = ['name', 'start', 'end', 'strand', 'refName', 'description', 'type'];
|
|
@@ -84,7 +74,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
|
|
|
84
74
|
fieldName: {
|
|
85
75
|
wordBreak: 'break-all',
|
|
86
76
|
minWidth: '90px',
|
|
87
|
-
maxWidth: '150px',
|
|
88
77
|
borderBottom: '1px solid #0003',
|
|
89
78
|
background: theme.palette.grey[200],
|
|
90
79
|
marginRight: theme.spacing(1),
|
|
@@ -117,11 +106,11 @@ function BaseCard(_ref) {
|
|
|
117
106
|
var classes = useStyles();
|
|
118
107
|
|
|
119
108
|
var _useState = (0, _react.useState)(defaultExpanded),
|
|
120
|
-
_useState2 = (0, _slicedToArray2
|
|
109
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
121
110
|
expanded = _useState2[0],
|
|
122
111
|
setExpanded = _useState2[1];
|
|
123
112
|
|
|
124
|
-
return /*#__PURE__*/_react
|
|
113
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Accordion, {
|
|
125
114
|
expanded: expanded,
|
|
126
115
|
onChange: function onChange() {
|
|
127
116
|
return setExpanded(function (s) {
|
|
@@ -131,13 +120,13 @@ function BaseCard(_ref) {
|
|
|
131
120
|
TransitionProps: {
|
|
132
121
|
unmountOnExit: true
|
|
133
122
|
}
|
|
134
|
-
}, /*#__PURE__*/_react
|
|
135
|
-
expandIcon: /*#__PURE__*/_react
|
|
123
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.AccordionSummary, {
|
|
124
|
+
expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], {
|
|
136
125
|
className: classes.expandIcon
|
|
137
126
|
})
|
|
138
|
-
}, /*#__PURE__*/_react
|
|
127
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
139
128
|
variant: "button"
|
|
140
|
-
}, " ", title)), /*#__PURE__*/_react
|
|
129
|
+
}, " ", title)), /*#__PURE__*/_react["default"].createElement(_core.AccordionDetails, {
|
|
141
130
|
className: classes.expansionPanelDetails
|
|
142
131
|
}, children));
|
|
143
132
|
}
|
|
@@ -146,16 +135,20 @@ var FieldName = function FieldName(_ref2) {
|
|
|
146
135
|
var description = _ref2.description,
|
|
147
136
|
name = _ref2.name,
|
|
148
137
|
_ref2$prefix = _ref2.prefix,
|
|
149
|
-
prefix = _ref2$prefix === void 0 ? [] : _ref2$prefix
|
|
138
|
+
prefix = _ref2$prefix === void 0 ? [] : _ref2$prefix,
|
|
139
|
+
width = _ref2.width;
|
|
150
140
|
var classes = useStyles();
|
|
151
|
-
var val = [].concat((0, _toConsumableArray2
|
|
152
|
-
return description ? /*#__PURE__*/_react
|
|
141
|
+
var val = [].concat((0, _toConsumableArray2["default"])(prefix), [name]).join('.');
|
|
142
|
+
return description ? /*#__PURE__*/_react["default"].createElement(_core.Tooltip, {
|
|
153
143
|
title: description,
|
|
154
144
|
placement: "left"
|
|
155
|
-
}, /*#__PURE__*/_react
|
|
156
|
-
className: (0, _clsx
|
|
157
|
-
}, val)) : /*#__PURE__*/_react
|
|
158
|
-
className: classes.fieldName
|
|
145
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
146
|
+
className: (0, _clsx["default"])(classes.fieldDescription, classes.fieldName)
|
|
147
|
+
}, val)) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
148
|
+
className: classes.fieldName,
|
|
149
|
+
style: {
|
|
150
|
+
width: width
|
|
151
|
+
}
|
|
159
152
|
}, val);
|
|
160
153
|
};
|
|
161
154
|
|
|
@@ -164,10 +157,10 @@ exports.FieldName = FieldName;
|
|
|
164
157
|
var BasicValue = function BasicValue(_ref3) {
|
|
165
158
|
var value = _ref3.value;
|
|
166
159
|
var classes = useStyles();
|
|
167
|
-
return /*#__PURE__*/_react
|
|
160
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
161
|
className: classes.fieldValue
|
|
169
|
-
}, /*#__PURE__*/_react
|
|
170
|
-
html: (0, _isObject
|
|
162
|
+
}, /*#__PURE__*/_react["default"].isValidElement(value) ? value : /*#__PURE__*/_react["default"].createElement(_SanitizedHTML["default"], {
|
|
163
|
+
html: (0, _isObject["default"])(value) ? JSON.stringify(value) : String(value)
|
|
171
164
|
}));
|
|
172
165
|
};
|
|
173
166
|
|
|
@@ -177,15 +170,17 @@ var SimpleValue = function SimpleValue(_ref4) {
|
|
|
177
170
|
var name = _ref4.name,
|
|
178
171
|
value = _ref4.value,
|
|
179
172
|
description = _ref4.description,
|
|
180
|
-
prefix = _ref4.prefix
|
|
173
|
+
prefix = _ref4.prefix,
|
|
174
|
+
width = _ref4.width;
|
|
181
175
|
var classes = useStyles();
|
|
182
|
-
return value !== null && value !== undefined ? /*#__PURE__*/_react
|
|
176
|
+
return value !== null && value !== undefined ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
183
177
|
className: classes.field
|
|
184
|
-
}, /*#__PURE__*/_react
|
|
178
|
+
}, /*#__PURE__*/_react["default"].createElement(FieldName, {
|
|
185
179
|
prefix: prefix,
|
|
186
180
|
description: description,
|
|
187
|
-
name: name
|
|
188
|
-
|
|
181
|
+
name: name,
|
|
182
|
+
width: width
|
|
183
|
+
}), /*#__PURE__*/_react["default"].createElement(BasicValue, {
|
|
189
184
|
value: value
|
|
190
185
|
})) : null;
|
|
191
186
|
};
|
|
@@ -199,36 +194,36 @@ var ArrayValue = function ArrayValue(_ref5) {
|
|
|
199
194
|
_ref5$prefix = _ref5.prefix,
|
|
200
195
|
prefix = _ref5$prefix === void 0 ? [] : _ref5$prefix;
|
|
201
196
|
var classes = useStyles();
|
|
202
|
-
return /*#__PURE__*/_react
|
|
197
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, value.length === 1 ? (0, _isObject["default"])(value[0]) ? /*#__PURE__*/_react["default"].createElement(Attributes, {
|
|
203
198
|
attributes: value[0],
|
|
204
|
-
prefix: [].concat((0, _toConsumableArray2
|
|
205
|
-
}) : /*#__PURE__*/_react
|
|
199
|
+
prefix: [].concat((0, _toConsumableArray2["default"])(prefix), [name])
|
|
200
|
+
}) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
206
201
|
className: classes.field
|
|
207
|
-
}, /*#__PURE__*/_react
|
|
202
|
+
}, /*#__PURE__*/_react["default"].createElement(FieldName, {
|
|
208
203
|
prefix: prefix,
|
|
209
204
|
description: description,
|
|
210
205
|
name: name
|
|
211
|
-
}), /*#__PURE__*/_react
|
|
206
|
+
}), /*#__PURE__*/_react["default"].createElement(BasicValue, {
|
|
212
207
|
value: value[0]
|
|
213
208
|
})) : value.every(function (val) {
|
|
214
|
-
return (0, _isObject
|
|
209
|
+
return (0, _isObject["default"])(val);
|
|
215
210
|
}) ? value.map(function (val, i) {
|
|
216
|
-
return /*#__PURE__*/_react
|
|
211
|
+
return /*#__PURE__*/_react["default"].createElement(Attributes, {
|
|
217
212
|
key: JSON.stringify(val) + '-' + i,
|
|
218
213
|
attributes: val,
|
|
219
|
-
prefix: [].concat((0, _toConsumableArray2
|
|
214
|
+
prefix: [].concat((0, _toConsumableArray2["default"])(prefix), [name + '-' + i])
|
|
220
215
|
});
|
|
221
|
-
}) : /*#__PURE__*/_react
|
|
216
|
+
}) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
222
217
|
className: classes.field
|
|
223
|
-
}, /*#__PURE__*/_react
|
|
218
|
+
}, /*#__PURE__*/_react["default"].createElement(FieldName, {
|
|
224
219
|
prefix: prefix,
|
|
225
220
|
description: description,
|
|
226
221
|
name: name
|
|
227
222
|
}), value.map(function (val, i) {
|
|
228
|
-
return /*#__PURE__*/_react
|
|
223
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
229
224
|
key: JSON.stringify(val) + '-' + i,
|
|
230
225
|
className: classes.fieldSubvalue
|
|
231
|
-
}, /*#__PURE__*/_react
|
|
226
|
+
}, /*#__PURE__*/_react["default"].createElement(BasicValue, {
|
|
232
227
|
value: val
|
|
233
228
|
}));
|
|
234
229
|
})));
|
|
@@ -250,26 +245,24 @@ function CoreDetails(props) {
|
|
|
250
245
|
var displayStart = (start + 1).toLocaleString('en-US');
|
|
251
246
|
var displayEnd = end.toLocaleString('en-US');
|
|
252
247
|
var displayRef = refName ? "".concat(refName, ":") : '';
|
|
253
|
-
|
|
254
|
-
var displayedDetails = _objectSpread(_objectSpread({}, feature), {}, {
|
|
248
|
+
var displayedDetails = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, feature), {}, {
|
|
255
249
|
length: (end - start).toLocaleString('en-US'),
|
|
256
250
|
position: "".concat(displayRef).concat(displayStart, "..").concat(displayEnd, " ").concat(strandStr)
|
|
257
251
|
});
|
|
258
|
-
|
|
259
252
|
var coreRenderedDetails = ['Position', 'Description', 'Name', 'Length', 'Type'];
|
|
260
|
-
return /*#__PURE__*/_react
|
|
253
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, coreRenderedDetails.map(function (key) {
|
|
261
254
|
return [key, displayedDetails[key.toLowerCase()]];
|
|
262
255
|
}).filter(function (_ref7) {
|
|
263
|
-
var _ref8 = (0, _slicedToArray2
|
|
256
|
+
var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
|
|
264
257
|
value = _ref8[1];
|
|
265
258
|
|
|
266
259
|
return value !== null && value !== undefined;
|
|
267
260
|
}).map(function (_ref9) {
|
|
268
|
-
var _ref10 = (0, _slicedToArray2
|
|
261
|
+
var _ref10 = (0, _slicedToArray2["default"])(_ref9, 2),
|
|
269
262
|
key = _ref10[0],
|
|
270
263
|
value = _ref10[1];
|
|
271
264
|
|
|
272
|
-
return /*#__PURE__*/_react
|
|
265
|
+
return /*#__PURE__*/_react["default"].createElement(SimpleValue, {
|
|
273
266
|
key: key,
|
|
274
267
|
name: key,
|
|
275
268
|
value: value
|
|
@@ -278,9 +271,9 @@ function CoreDetails(props) {
|
|
|
278
271
|
}
|
|
279
272
|
|
|
280
273
|
var BaseCoreDetails = function BaseCoreDetails(props) {
|
|
281
|
-
return /*#__PURE__*/_react
|
|
274
|
+
return /*#__PURE__*/_react["default"].createElement(BaseCard, Object.assign({}, props, {
|
|
282
275
|
title: "Primary data"
|
|
283
|
-
}), /*#__PURE__*/_react
|
|
276
|
+
}), /*#__PURE__*/_react["default"].createElement(CoreDetails, props));
|
|
284
277
|
};
|
|
285
278
|
|
|
286
279
|
exports.BaseCoreDetails = BaseCoreDetails;
|
|
@@ -300,13 +293,13 @@ var DataGridDetails = function DataGridDetails(_ref11) {
|
|
|
300
293
|
if (unionKeys.size < keys.length + 5) {
|
|
301
294
|
// avoids key 'id' from being used in row data
|
|
302
295
|
var rows = Object.entries(value).map(function (_ref12) {
|
|
303
|
-
var _ref13 = (0, _slicedToArray2
|
|
296
|
+
var _ref13 = (0, _slicedToArray2["default"])(_ref12, 2),
|
|
304
297
|
k = _ref13[0],
|
|
305
298
|
val = _ref13[1];
|
|
306
299
|
|
|
307
300
|
var id = val.id,
|
|
308
|
-
rest = (0, _objectWithoutProperties2
|
|
309
|
-
return
|
|
301
|
+
rest = (0, _objectWithoutProperties2["default"])(val, _excluded);
|
|
302
|
+
return (0, _objectSpread2["default"])({
|
|
310
303
|
id: k,
|
|
311
304
|
// used by material UI
|
|
312
305
|
identifier: id
|
|
@@ -317,16 +310,16 @@ var DataGridDetails = function DataGridDetails(_ref11) {
|
|
|
317
310
|
var colNames;
|
|
318
311
|
|
|
319
312
|
if (unionKeys.has('id')) {
|
|
320
|
-
unionKeys
|
|
321
|
-
colNames = ['identifier'].concat((0, _toConsumableArray2
|
|
313
|
+
unionKeys["delete"]('id');
|
|
314
|
+
colNames = ['identifier'].concat((0, _toConsumableArray2["default"])(unionKeys));
|
|
322
315
|
} else {
|
|
323
|
-
colNames = (0, _toConsumableArray2
|
|
316
|
+
colNames = (0, _toConsumableArray2["default"])(unionKeys);
|
|
324
317
|
}
|
|
325
318
|
|
|
326
319
|
var columns = colNames.map(function (val) {
|
|
327
320
|
return {
|
|
328
321
|
field: val,
|
|
329
|
-
width: Math.max.apply(Math, (0, _toConsumableArray2
|
|
322
|
+
width: Math.max.apply(Math, (0, _toConsumableArray2["default"])(rows.map(function (row) {
|
|
330
323
|
var result = String(row[val]);
|
|
331
324
|
return Math.min(Math.max((0, _util.measureText)(result, 14) + 50, 80), 1000);
|
|
332
325
|
})))
|
|
@@ -334,15 +327,15 @@ var DataGridDetails = function DataGridDetails(_ref11) {
|
|
|
334
327
|
}); // disableSelection on click helps avoid
|
|
335
328
|
// https://github.com/mui-org/material-ui-x/issues/1197
|
|
336
329
|
|
|
337
|
-
return /*#__PURE__*/_react
|
|
330
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FieldName, {
|
|
338
331
|
prefix: prefix,
|
|
339
332
|
name: name
|
|
340
|
-
}), /*#__PURE__*/_react
|
|
333
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
341
334
|
style: {
|
|
342
335
|
height: Math.min(rows.length, 100) * 20 + 50 + (rows.length < 100 ? 0 : 50),
|
|
343
336
|
width: '100%'
|
|
344
337
|
}
|
|
345
|
-
}, /*#__PURE__*/_react
|
|
338
|
+
}, /*#__PURE__*/_react["default"].createElement(_xDataGrid.DataGrid, {
|
|
346
339
|
disableSelectionOnClick: true,
|
|
347
340
|
rowHeight: 20,
|
|
348
341
|
headerHeight: 25,
|
|
@@ -371,6 +364,17 @@ function accessNested(arr) {
|
|
|
371
364
|
return typeof obj === 'string' ? obj : typeof ((_obj = obj) === null || _obj === void 0 ? void 0 : _obj.Description) === 'string' ? obj.Description : undefined;
|
|
372
365
|
}
|
|
373
366
|
|
|
367
|
+
function generateMaxWidth(array, prefix) {
|
|
368
|
+
// @ts-ignore
|
|
369
|
+
var arr = [];
|
|
370
|
+
array.forEach(function (key, value) {
|
|
371
|
+
var val = [].concat((0, _toConsumableArray2["default"])(prefix), [key[0]]).join('.');
|
|
372
|
+
arr.push((0, _util.measureText)(val, 12));
|
|
373
|
+
}); // @ts-ignore
|
|
374
|
+
|
|
375
|
+
return Math.ceil(Math.max.apply(Math, arr)) + 10;
|
|
376
|
+
}
|
|
377
|
+
|
|
374
378
|
var Attributes = function Attributes(props) {
|
|
375
379
|
var attributes = props.attributes,
|
|
376
380
|
_props$omit = props.omit,
|
|
@@ -382,22 +386,30 @@ var Attributes = function Attributes(props) {
|
|
|
382
386
|
} : _props$formatter,
|
|
383
387
|
_props$prefix = props.prefix,
|
|
384
388
|
prefix = _props$prefix === void 0 ? [] : _props$prefix;
|
|
385
|
-
var omits = [].concat((0, _toConsumableArray2
|
|
386
|
-
|
|
387
|
-
var _ref15 = (0, _slicedToArray2
|
|
389
|
+
var omits = [].concat((0, _toConsumableArray2["default"])(omit), globalOmit);
|
|
390
|
+
var maxLabelWidth = generateMaxWidth(Object.entries(attributes).filter(function (_ref14) {
|
|
391
|
+
var _ref15 = (0, _slicedToArray2["default"])(_ref14, 2),
|
|
388
392
|
k = _ref15[0],
|
|
389
393
|
v = _ref15[1];
|
|
390
394
|
|
|
391
395
|
return v !== undefined && !omits.includes(k);
|
|
392
|
-
})
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
+
}), prefix);
|
|
397
|
+
var labelWidth = maxLabelWidth <= MAX_FIELD_NAME_WIDTH ? maxLabelWidth : MAX_FIELD_NAME_WIDTH;
|
|
398
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, Object.entries(attributes).filter(function (_ref16) {
|
|
399
|
+
var _ref17 = (0, _slicedToArray2["default"])(_ref16, 2),
|
|
400
|
+
k = _ref17[0],
|
|
401
|
+
v = _ref17[1];
|
|
402
|
+
|
|
403
|
+
return v !== undefined && !omits.includes(k);
|
|
404
|
+
}).map(function (_ref18) {
|
|
405
|
+
var _ref19 = (0, _slicedToArray2["default"])(_ref18, 2),
|
|
406
|
+
key = _ref19[0],
|
|
407
|
+
value = _ref19[1];
|
|
396
408
|
|
|
397
409
|
if (Array.isArray(value) && value.length > 2 && value.every(function (val) {
|
|
398
|
-
return (0, _isObject
|
|
410
|
+
return (0, _isObject["default"])(val);
|
|
399
411
|
})) {
|
|
400
|
-
return /*#__PURE__*/_react
|
|
412
|
+
return /*#__PURE__*/_react["default"].createElement(DataGridDetails, {
|
|
401
413
|
key: key,
|
|
402
414
|
prefix: prefix,
|
|
403
415
|
name: key,
|
|
@@ -405,10 +417,10 @@ var Attributes = function Attributes(props) {
|
|
|
405
417
|
});
|
|
406
418
|
}
|
|
407
419
|
|
|
408
|
-
var description = accessNested([].concat((0, _toConsumableArray2
|
|
420
|
+
var description = accessNested([].concat((0, _toConsumableArray2["default"])(prefix), [key]), descriptions);
|
|
409
421
|
|
|
410
422
|
if (Array.isArray(value)) {
|
|
411
|
-
return /*#__PURE__*/_react
|
|
423
|
+
return /*#__PURE__*/_react["default"].createElement(ArrayValue, {
|
|
412
424
|
key: key,
|
|
413
425
|
name: key,
|
|
414
426
|
value: value,
|
|
@@ -417,22 +429,23 @@ var Attributes = function Attributes(props) {
|
|
|
417
429
|
});
|
|
418
430
|
}
|
|
419
431
|
|
|
420
|
-
if ((0, _isObject
|
|
421
|
-
return /*#__PURE__*/_react
|
|
432
|
+
if ((0, _isObject["default"])(value)) {
|
|
433
|
+
return /*#__PURE__*/_react["default"].createElement(Attributes, {
|
|
422
434
|
omit: omits,
|
|
423
435
|
key: key,
|
|
424
436
|
attributes: value,
|
|
425
437
|
descriptions: descriptions,
|
|
426
|
-
prefix: [].concat((0, _toConsumableArray2
|
|
438
|
+
prefix: [].concat((0, _toConsumableArray2["default"])(prefix), [key])
|
|
427
439
|
});
|
|
428
440
|
}
|
|
429
441
|
|
|
430
|
-
return /*#__PURE__*/_react
|
|
442
|
+
return /*#__PURE__*/_react["default"].createElement(SimpleValue, {
|
|
431
443
|
key: key,
|
|
432
444
|
name: key,
|
|
433
445
|
value: formatter(value, key),
|
|
434
446
|
description: description,
|
|
435
|
-
prefix: prefix
|
|
447
|
+
prefix: prefix,
|
|
448
|
+
width: labelWidth
|
|
436
449
|
});
|
|
437
450
|
}));
|
|
438
451
|
};
|
|
@@ -441,9 +454,9 @@ exports.Attributes = Attributes;
|
|
|
441
454
|
|
|
442
455
|
var BaseAttributes = function BaseAttributes(props) {
|
|
443
456
|
var feature = props.feature;
|
|
444
|
-
return /*#__PURE__*/_react
|
|
457
|
+
return /*#__PURE__*/_react["default"].createElement(BaseCard, Object.assign({}, props, {
|
|
445
458
|
title: "Attributes"
|
|
446
|
-
}), /*#__PURE__*/_react
|
|
459
|
+
}), /*#__PURE__*/_react["default"].createElement(Attributes, Object.assign({}, props, {
|
|
447
460
|
attributes: feature
|
|
448
461
|
})));
|
|
449
462
|
};
|
|
@@ -471,26 +484,26 @@ var FeatureDetails = function FeatureDetails(props) {
|
|
|
471
484
|
var session = (0, _util.getSession)(model);
|
|
472
485
|
var defaultSeqTypes = ['mRNA', 'transcript'];
|
|
473
486
|
var sequenceTypes = (0, _configuration.getConf)(session, ['featureDetails', 'sequenceTypes']) || defaultSeqTypes;
|
|
474
|
-
return /*#__PURE__*/_react
|
|
487
|
+
return /*#__PURE__*/_react["default"].createElement(BaseCard, {
|
|
475
488
|
title: [(0, _util2.ellipses)(name || id), type].filter(function (f) {
|
|
476
489
|
return !!f;
|
|
477
490
|
}).join(' - ')
|
|
478
|
-
}, /*#__PURE__*/_react
|
|
491
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Core details"), /*#__PURE__*/_react["default"].createElement(CoreDetails, props), /*#__PURE__*/_react["default"].createElement(_core.Divider, null), /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Attributes"), /*#__PURE__*/_react["default"].createElement(Attributes, Object.assign({
|
|
479
492
|
attributes: feature
|
|
480
493
|
}, props, {
|
|
481
|
-
omit: [].concat((0, _toConsumableArray2
|
|
482
|
-
})), sequenceTypes.includes(feature.type) ? /*#__PURE__*/_react
|
|
483
|
-
FallbackComponent: function FallbackComponent(
|
|
484
|
-
var error =
|
|
485
|
-
return /*#__PURE__*/_react
|
|
494
|
+
omit: [].concat((0, _toConsumableArray2["default"])(omit), coreDetails)
|
|
495
|
+
})), sequenceTypes.includes(feature.type) ? /*#__PURE__*/_react["default"].createElement(_reactErrorBoundary.ErrorBoundary, {
|
|
496
|
+
FallbackComponent: function FallbackComponent(_ref20) {
|
|
497
|
+
var error = _ref20.error;
|
|
498
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
486
499
|
color: "error"
|
|
487
500
|
}, "Failed to fetch sequence for feature: ", "".concat(error));
|
|
488
501
|
}
|
|
489
|
-
}, /*#__PURE__*/_react
|
|
502
|
+
}, /*#__PURE__*/_react["default"].createElement(_SequenceFeatureDetails["default"], props)) : null, subfeatures !== null && subfeatures !== void 0 && subfeatures.length ? /*#__PURE__*/_react["default"].createElement(BaseCard, {
|
|
490
503
|
title: "Subfeatures",
|
|
491
504
|
defaultExpanded: !sequenceTypes.includes(feature.type)
|
|
492
505
|
}, subfeatures.map(function (sub) {
|
|
493
|
-
return /*#__PURE__*/_react
|
|
506
|
+
return /*#__PURE__*/_react["default"].createElement(FeatureDetails, {
|
|
494
507
|
key: JSON.stringify(sub),
|
|
495
508
|
feature: sub,
|
|
496
509
|
model: model,
|
|
@@ -514,10 +527,10 @@ var BaseFeatureDetails = (0, _mobxReact.observer)(function (props) {
|
|
|
514
527
|
return null;
|
|
515
528
|
}
|
|
516
529
|
|
|
517
|
-
return /*#__PURE__*/_react
|
|
530
|
+
return /*#__PURE__*/_react["default"].createElement(FeatureDetails, {
|
|
518
531
|
model: model,
|
|
519
532
|
feature: feature
|
|
520
533
|
});
|
|
521
534
|
});
|
|
522
535
|
var _default = BaseFeatureDetails;
|
|
523
|
-
exports
|
|
536
|
+
exports["default"] = _default;
|