@jbrowse/core 1.7.9 → 2.0.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.d.ts +14 -7
- package/BaseFeatureWidget/BaseFeatureDetail.js +203 -125
- package/BaseFeatureWidget/SequenceFeatureDetails.js +20 -15
- package/BaseFeatureWidget/index.d.ts +23 -2
- package/BaseFeatureWidget/index.js +100 -3
- package/BaseFeatureWidget/index.test.js +48 -30
- package/PluginManager.d.ts +58 -86
- package/ReExports/Attributes.d.ts +2 -0
- package/ReExports/Attributes.js +12 -0
- package/ReExports/BaseCard.d.ts +2 -0
- package/ReExports/BaseCard.js +12 -0
- package/ReExports/DataGrid.d.ts +2 -0
- package/ReExports/DataGrid.js +13 -0
- package/ReExports/FeatureDetails.d.ts +2 -0
- package/ReExports/FeatureDetails.js +12 -0
- package/ReExports/list.js +1 -1
- package/ReExports/material-ui-colors.d.ts +1 -19
- package/ReExports/material-ui-colors.js +11 -152
- package/ReExports/modules.d.ts +59 -91
- package/ReExports/modules.js +683 -127
- package/TextSearch/TextSearchManager.d.ts +3 -1
- package/assemblyManager/assembly.d.ts +6 -7
- package/assemblyManager/assembly.js +27 -16
- package/assemblyManager/assemblyManager.d.ts +82 -24
- package/assemblyManager/assemblyManager.js +32 -36
- package/configuration/util.d.ts +1 -1
- package/package.json +15 -15
- package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
- package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
- package/pluggableElementTypes/models/BaseTrackModel.js +24 -25
- package/pluggableElementTypes/models/baseTrackConfig.js +20 -13
- package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -2
- package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
- package/pluggableElementTypes/renderers/ServerSideRendererType.js +1 -1
- package/rpc/BaseRpcDriver.js +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/ui/AboutDialog.d.ts +1 -1
- package/ui/AboutDialog.js +38 -16
- package/ui/App.js +18 -37
- package/ui/AssemblySelector.d.ts +1 -1
- package/ui/AssemblySelector.js +10 -5
- package/ui/CascadingMenu.d.ts +9 -0
- package/ui/CascadingMenu.js +207 -0
- package/ui/Drawer.js +8 -5
- package/ui/DrawerWidget.js +39 -45
- package/ui/DropDownMenu.d.ts +0 -8
- package/ui/DropDownMenu.js +9 -15
- package/ui/EditableTypography.d.ts +1 -1
- package/ui/EditableTypography.js +42 -48
- package/ui/ErrorMessage.js +13 -23
- package/ui/FactoryResetDialog.js +6 -6
- package/ui/FatalErrorDialog.js +5 -5
- package/ui/FileSelector/FileSelector.js +19 -19
- package/ui/FileSelector/LocalFileChooser.js +12 -8
- package/ui/FileSelector/UrlChooser.js +2 -2
- package/ui/Icons.d.ts +1 -1
- package/ui/Icons.js +1 -1
- package/ui/Menu.d.ts +11 -1
- package/ui/Menu.js +32 -38
- package/ui/PrerenderedCanvas.js +10 -1
- package/ui/ResizeHandle.js +8 -6
- package/ui/ReturnToImportFormDialog.js +14 -10
- package/ui/SanitizedHTML.js +15 -21
- package/ui/Snackbar.js +11 -9
- package/ui/Tooltip.d.ts +3 -1
- package/ui/Tooltip.js +5 -3
- package/ui/ViewContainer.js +38 -25
- package/ui/index.d.ts +1 -0
- package/ui/index.js +9 -0
- package/ui/theme.d.ts +279 -131
- package/ui/theme.js +174 -154
- package/ui/theme.test.js +56 -75
- package/util/Base1DViewModel.d.ts +1 -8
- package/util/Base1DViewModel.js +11 -13
- package/util/color/index.js +6 -6
- package/util/index.d.ts +4 -8
- package/util/index.js +29 -19
- package/util/jexl.js +42 -43
- package/util/layouts/GranularRectLayout.js +1 -3
- package/util/layouts/PrecomputedLayout.js +1 -3
- package/util/offscreenCanvasPonyfill.js +10 -12
- package/util/tracks.js +4 -2
- package/util/types/index.d.ts +14 -4
- package/util/types/index.js +6 -0
- package/util/types/mst.d.ts +3 -3
- package/util/types/mst.js +11 -7
package/ui/AboutDialog.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { AnyConfigurationModel } from '../configuration
|
|
2
|
+
import { AnyConfigurationModel } from '../configuration';
|
|
3
3
|
export default function AboutDialog({ config, handleClose, }: {
|
|
4
4
|
config: AnyConfigurationModel;
|
|
5
5
|
handleClose: () => void;
|
package/ui/AboutDialog.js
CHANGED
|
@@ -17,9 +17,13 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _material = require("@mui/material");
|
|
23
|
+
|
|
24
|
+
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
25
|
+
|
|
26
|
+
var _mui = require("tss-react/mui");
|
|
23
27
|
|
|
24
28
|
var _configuration = require("../configuration");
|
|
25
29
|
|
|
@@ -31,7 +35,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
31
35
|
|
|
32
36
|
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; }
|
|
33
37
|
|
|
34
|
-
var useStyles = (0,
|
|
38
|
+
var useStyles = (0, _mui.makeStyles)()(function (theme) {
|
|
35
39
|
return {
|
|
36
40
|
closeButton: {
|
|
37
41
|
position: 'absolute',
|
|
@@ -45,7 +49,9 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
|
45
49
|
function AboutDialog(_ref) {
|
|
46
50
|
var config = _ref.config,
|
|
47
51
|
handleClose = _ref.handleClose;
|
|
48
|
-
|
|
52
|
+
|
|
53
|
+
var _useStyles = useStyles(),
|
|
54
|
+
classes = _useStyles.classes;
|
|
49
55
|
|
|
50
56
|
var _useState = (0, _react.useState)(),
|
|
51
57
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -57,6 +63,11 @@ function AboutDialog(_ref) {
|
|
|
57
63
|
error = _useState4[0],
|
|
58
64
|
setError = _useState4[1];
|
|
59
65
|
|
|
66
|
+
var _useState5 = (0, _react.useState)(false),
|
|
67
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
68
|
+
copied = _useState6[0],
|
|
69
|
+
setCopied = _useState6[1];
|
|
70
|
+
|
|
60
71
|
var session = (0, _util.getSession)(config);
|
|
61
72
|
var rpcManager = session.rpcManager;
|
|
62
73
|
var conf = (0, _configuration.readConfObject)(config);
|
|
@@ -112,35 +123,46 @@ function AboutDialog(_ref) {
|
|
|
112
123
|
var trackName = (0, _configuration.readConfObject)(config, 'name');
|
|
113
124
|
|
|
114
125
|
if ((0, _configuration.readConfObject)(config, 'type') === 'ReferenceSequenceTrack') {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if (assembly.sequence === config.configuration) {
|
|
118
|
-
trackName = "Reference Sequence (".concat((0, _configuration.readConfObject)(assembly, 'name'), ")");
|
|
119
|
-
}
|
|
126
|
+
var asm = session.assemblies.find(function (a) {
|
|
127
|
+
return a.sequence === config.configuration;
|
|
120
128
|
});
|
|
129
|
+
trackName = asm ? "Reference Sequence (".concat((0, _configuration.readConfObject)(asm, 'name'), ")") : 'Reference Sequence';
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
var details = typeof info === 'string' ? {
|
|
124
133
|
header: "<pre>".concat(info.replace(/</g, '<').replace(/>/g, '>'), "</pre>")
|
|
125
134
|
} : info || {};
|
|
126
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
135
|
+
return /*#__PURE__*/_react.default.createElement(_material.Dialog, {
|
|
127
136
|
open: true,
|
|
128
137
|
onClose: handleClose
|
|
129
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement(_material.DialogTitle, null, trackName, /*#__PURE__*/_react.default.createElement(_material.IconButton, {
|
|
130
139
|
className: classes.closeButton,
|
|
131
140
|
onClick: function onClick() {
|
|
132
141
|
return handleClose();
|
|
133
|
-
}
|
|
134
|
-
|
|
142
|
+
},
|
|
143
|
+
size: "large"
|
|
144
|
+
}, /*#__PURE__*/_react.default.createElement(_Close.default, null))), /*#__PURE__*/_react.default.createElement(_material.DialogContent, null, /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.BaseCard, {
|
|
135
145
|
title: "Configuration"
|
|
136
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
147
|
+
variant: "contained",
|
|
148
|
+
style: {
|
|
149
|
+
float: 'right'
|
|
150
|
+
},
|
|
151
|
+
onClick: function onClick() {
|
|
152
|
+
(0, _copyToClipboard.default)(JSON.stringify(conf, null, 2));
|
|
153
|
+
setCopied(true);
|
|
154
|
+
setTimeout(function () {
|
|
155
|
+
return setCopied(false);
|
|
156
|
+
}, 1000);
|
|
157
|
+
}
|
|
158
|
+
}, copied ? 'Copied to clipboard!' : 'Copy config'), /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.Attributes, {
|
|
137
159
|
attributes: conf,
|
|
138
160
|
omit: ['displays', 'baseUri', 'refNames']
|
|
139
161
|
})), info !== null ? /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.BaseCard, {
|
|
140
162
|
title: "File info"
|
|
141
|
-
}, error ? /*#__PURE__*/_react.default.createElement(
|
|
163
|
+
}, error ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
142
164
|
color: "error"
|
|
143
|
-
}, "".concat(error)) :
|
|
165
|
+
}, "".concat(error)) : info === undefined ? 'Loading file data...' : /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.Attributes, {
|
|
144
166
|
attributes: details
|
|
145
167
|
})) : null));
|
|
146
168
|
}
|
package/ui/App.js
CHANGED
|
@@ -13,9 +13,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _material = require("@mui/material");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _mui = require("tss-react/mui");
|
|
19
|
+
|
|
20
|
+
var _Launch = _interopRequireDefault(require("@mui/icons-material/Launch"));
|
|
19
21
|
|
|
20
22
|
var _mobxReact = require("mobx-react");
|
|
21
23
|
|
|
@@ -40,33 +42,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
40
42
|
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; }
|
|
41
43
|
|
|
42
44
|
// locals
|
|
43
|
-
var useStyles = (0,
|
|
45
|
+
var useStyles = (0, _mui.makeStyles)()(function (theme) {
|
|
44
46
|
return {
|
|
45
|
-
'@global': {
|
|
46
|
-
html: {
|
|
47
|
-
'font-family': 'Roboto'
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
/* Based on: https://www.digitalocean.com/community/tutorials/css-scrollbars */
|
|
51
|
-
|
|
52
|
-
/* The emerging W3C standard
|
|
53
|
-
that is currently Firefox-only */
|
|
54
|
-
'*': {
|
|
55
|
-
'scrollbar-width': 'auto',
|
|
56
|
-
'scrollbar-color': 'rgba(0,0,0,.5) rgba(128,128,128)'
|
|
57
|
-
},
|
|
58
|
-
|
|
59
|
-
/* Works on Chrome/Edge/Safari */
|
|
60
|
-
'*::-webkit-scrollbar': {
|
|
61
|
-
'-webkit-appearance': 'none',
|
|
62
|
-
width: '12px'
|
|
63
|
-
},
|
|
64
|
-
'*::-webkit-scrollbar-thumb': {
|
|
65
|
-
'background-color': 'rgba(0,0,0,.5)',
|
|
66
|
-
'-webkit-box-shadow': '0 0 1px rgba(255,255,255,.5)'
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
47
|
root: {
|
|
48
|
+
fontFamily: 'Roboto',
|
|
70
49
|
display: 'grid',
|
|
71
50
|
height: '100vh',
|
|
72
51
|
width: '100%'
|
|
@@ -141,7 +120,9 @@ var App = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
141
120
|
var session = _ref2.session,
|
|
142
121
|
_ref2$HeaderButtons = _ref2.HeaderButtons,
|
|
143
122
|
HeaderButtons = _ref2$HeaderButtons === void 0 ? /*#__PURE__*/_react.default.createElement("div", null) : _ref2$HeaderButtons;
|
|
144
|
-
|
|
123
|
+
|
|
124
|
+
var _useStyles = useStyles(),
|
|
125
|
+
classes = _useStyles.classes;
|
|
145
126
|
|
|
146
127
|
var _getEnv = (0, _mobxStateTree.getEnv)(session),
|
|
147
128
|
pluginManager = _getEnv.pluginManager;
|
|
@@ -195,10 +176,10 @@ var App = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
195
176
|
className: classes.menuBarAndComponents
|
|
196
177
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
197
178
|
className: classes.menuBar
|
|
198
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
179
|
+
}, /*#__PURE__*/_react.default.createElement(_material.AppBar, {
|
|
199
180
|
className: classes.appBar,
|
|
200
181
|
position: "static"
|
|
201
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
182
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Toolbar, null, menus.map(function (menu) {
|
|
202
183
|
return /*#__PURE__*/_react.default.createElement(_DropDownMenu.default, {
|
|
203
184
|
key: menu.label,
|
|
204
185
|
menuTitle: menu.label,
|
|
@@ -207,7 +188,7 @@ var App = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
207
188
|
});
|
|
208
189
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
209
190
|
className: classes.grow
|
|
210
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
191
|
+
}), /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
211
192
|
title: "Rename Session",
|
|
212
193
|
arrow: true
|
|
213
194
|
}, /*#__PURE__*/_react.default.createElement(_EditableTypography.default, {
|
|
@@ -251,20 +232,20 @@ var App = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
251
232
|
session: session,
|
|
252
233
|
getTrackType: pluginManager.getTrackType
|
|
253
234
|
})));
|
|
254
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
235
|
+
}) : /*#__PURE__*/_react.default.createElement(_material.Paper, {
|
|
255
236
|
className: classes.selectPaper
|
|
256
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
237
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Typography, null, "Select a view to launch"), /*#__PURE__*/_react.default.createElement(_material.Select, {
|
|
257
238
|
value: value,
|
|
258
239
|
onChange: function onChange(event) {
|
|
259
240
|
return setValue(event.target.value);
|
|
260
241
|
}
|
|
261
242
|
}, viewTypes.map(function (_ref3) {
|
|
262
243
|
var name = _ref3.name;
|
|
263
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
244
|
+
return /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
264
245
|
key: name,
|
|
265
246
|
value: name
|
|
266
247
|
}, name);
|
|
267
|
-
})), /*#__PURE__*/_react.default.createElement(
|
|
248
|
+
})), /*#__PURE__*/_react.default.createElement(_material.Button, {
|
|
268
249
|
onClick: function onClick() {
|
|
269
250
|
session.addView(value, {});
|
|
270
251
|
},
|
|
@@ -274,9 +255,9 @@ var App = (0, _mobxReact.observer)(function (_ref2) {
|
|
|
274
255
|
style: {
|
|
275
256
|
height: 300
|
|
276
257
|
}
|
|
277
|
-
}))), activeWidgets.size > 0 && minimized ? /*#__PURE__*/_react.default.createElement(
|
|
258
|
+
}))), activeWidgets.size > 0 && minimized ? /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
|
|
278
259
|
title: "Open drawer widget"
|
|
279
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
260
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Fab, {
|
|
280
261
|
className: drawerPosition === 'right' ? classes.fabRight : classes.fabLeft,
|
|
281
262
|
color: "primary",
|
|
282
263
|
"data-testid": "drawer-maximize",
|
package/ui/AssemblySelector.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { InputProps as IIP } from '@material
|
|
2
|
+
import { InputProps as IIP } from '@mui/material';
|
|
3
3
|
import { AbstractSessionModel } from '../util';
|
|
4
4
|
declare const AssemblySelector: ({ session, onChange, selected, InputProps, extra, }: {
|
|
5
5
|
session: AbstractSessionModel;
|
package/ui/AssemblySelector.js
CHANGED
|
@@ -17,13 +17,15 @@ var _mobxReact = require("mobx-react");
|
|
|
17
17
|
|
|
18
18
|
var _configuration = require("../configuration");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _material = require("@mui/material");
|
|
21
|
+
|
|
22
|
+
var _mui = require("tss-react/mui");
|
|
21
23
|
|
|
22
24
|
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); }
|
|
23
25
|
|
|
24
26
|
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; }
|
|
25
27
|
|
|
26
|
-
var useStyles = (0,
|
|
28
|
+
var useStyles = (0, _mui.makeStyles)()(function () {
|
|
27
29
|
return {
|
|
28
30
|
importFormEntry: {
|
|
29
31
|
minWidth: 180
|
|
@@ -72,7 +74,10 @@ var AssemblySelector = (0, _mobxReact.observer)(function (_ref) {
|
|
|
72
74
|
InputProps = _ref.InputProps,
|
|
73
75
|
_ref$extra = _ref.extra,
|
|
74
76
|
extra = _ref$extra === void 0 ? 0 : _ref$extra;
|
|
75
|
-
|
|
77
|
+
|
|
78
|
+
var _useStyles = useStyles(),
|
|
79
|
+
classes = _useStyles.classes;
|
|
80
|
+
|
|
76
81
|
var assemblyNames = session.assemblyNames,
|
|
77
82
|
assemblyManager = session.assemblyManager; // constructs a localstorage key based on host/path/config to help
|
|
78
83
|
// remember. non-config assists usage with e.g. embedded apps
|
|
@@ -91,7 +96,7 @@ var AssemblySelector = (0, _mobxReact.observer)(function (_ref) {
|
|
|
91
96
|
}
|
|
92
97
|
}, [selection, onChange, selected]);
|
|
93
98
|
var error = assemblyNames.length ? '' : 'No configured assemblies';
|
|
94
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
99
|
+
return /*#__PURE__*/_react.default.createElement(_material.TextField, {
|
|
95
100
|
select: true,
|
|
96
101
|
label: "Assembly",
|
|
97
102
|
variant: "outlined",
|
|
@@ -110,7 +115,7 @@ var AssemblySelector = (0, _mobxReact.observer)(function (_ref) {
|
|
|
110
115
|
}, assemblyNames.map(function (name) {
|
|
111
116
|
var assembly = assemblyManager.get(name);
|
|
112
117
|
var displayName = assembly ? (0, _configuration.getConf)(assembly, 'displayName') : '';
|
|
113
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
118
|
+
return /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
114
119
|
key: name,
|
|
115
120
|
value: name
|
|
116
121
|
}, displayName || name);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { MenuItem as JBMenuItem } from './Menu';
|
|
3
|
+
import { PopupState } from 'material-ui-popup-state/hooks';
|
|
4
|
+
declare function CascadingMenuChildren(props: {
|
|
5
|
+
onMenuItemClick: Function;
|
|
6
|
+
menuItems: JBMenuItem[];
|
|
7
|
+
popupState: PopupState;
|
|
8
|
+
}): JSX.Element;
|
|
9
|
+
export default CascadingMenuChildren;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _material = require("@mui/material");
|
|
19
|
+
|
|
20
|
+
var _Menu = require("./Menu");
|
|
21
|
+
|
|
22
|
+
var _hooks = require("material-ui-popup-state/hooks");
|
|
23
|
+
|
|
24
|
+
var _HoverMenu = _interopRequireDefault(require("material-ui-popup-state/HoverMenu"));
|
|
25
|
+
|
|
26
|
+
var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
|
|
27
|
+
|
|
28
|
+
var _excluded = ["onClick"],
|
|
29
|
+
_excluded2 = ["title", "inset", "popupId"],
|
|
30
|
+
_excluded3 = ["popupState", "onMenuItemClick", "menuItems", "classes"],
|
|
31
|
+
_excluded4 = ["popupState", "onMenuItemClick", "menuItems"],
|
|
32
|
+
_excluded5 = ["onMenuItemClick", "menuItems"];
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
var CascadingContext = /*#__PURE__*/_react.default.createContext({
|
|
39
|
+
parentPopupState: null,
|
|
40
|
+
rootPopupState: null
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
function CascadingMenuItem(_ref) {
|
|
44
|
+
var onClick = _ref.onClick,
|
|
45
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
46
|
+
|
|
47
|
+
var _useContext = (0, _react.useContext)(CascadingContext),
|
|
48
|
+
rootPopupState = _useContext.rootPopupState;
|
|
49
|
+
|
|
50
|
+
if (!rootPopupState) {
|
|
51
|
+
throw new Error('must be used inside a CascadingMenu');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var handleClick = (0, _react.useCallback)(function (event) {
|
|
55
|
+
rootPopupState.close();
|
|
56
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(event);
|
|
57
|
+
}, [rootPopupState, onClick]);
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_material.MenuItem, (0, _extends2.default)({}, props, {
|
|
59
|
+
onClick: handleClick
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function CascadingSubmenu(_ref2) {
|
|
64
|
+
var title = _ref2.title,
|
|
65
|
+
inset = _ref2.inset,
|
|
66
|
+
popupId = _ref2.popupId,
|
|
67
|
+
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
68
|
+
|
|
69
|
+
var _React$useContext = _react.default.useContext(CascadingContext),
|
|
70
|
+
parentPopupState = _React$useContext.parentPopupState;
|
|
71
|
+
|
|
72
|
+
var popupState = (0, _hooks.usePopupState)({
|
|
73
|
+
popupId: popupId,
|
|
74
|
+
variant: 'popover',
|
|
75
|
+
parentPopupState: parentPopupState
|
|
76
|
+
});
|
|
77
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.MenuItem, (0, _extends2.default)({}, (0, _hooks.bindHover)(popupState), (0, _hooks.bindFocus)(popupState)), /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
|
|
78
|
+
primary: title,
|
|
79
|
+
inset: inset
|
|
80
|
+
}), /*#__PURE__*/_react.default.createElement(_ChevronRight.default, null)), /*#__PURE__*/_react.default.createElement(CascadingSubmenuHover, (0, _extends2.default)({}, props, {
|
|
81
|
+
anchorOrigin: {
|
|
82
|
+
vertical: 'top',
|
|
83
|
+
horizontal: 'right'
|
|
84
|
+
},
|
|
85
|
+
transformOrigin: {
|
|
86
|
+
vertical: 'top',
|
|
87
|
+
horizontal: 'left'
|
|
88
|
+
},
|
|
89
|
+
popupState: popupState
|
|
90
|
+
})));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function CascadingSubmenuHover(_ref3) {
|
|
94
|
+
var popupState = _ref3.popupState,
|
|
95
|
+
onMenuItemClick = _ref3.onMenuItemClick,
|
|
96
|
+
menuItems = _ref3.menuItems,
|
|
97
|
+
classes = _ref3.classes,
|
|
98
|
+
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
|
|
99
|
+
|
|
100
|
+
var _useContext2 = (0, _react.useContext)(CascadingContext),
|
|
101
|
+
rootPopupState = _useContext2.rootPopupState;
|
|
102
|
+
|
|
103
|
+
var context = (0, _react.useMemo)(function () {
|
|
104
|
+
return {
|
|
105
|
+
rootPopupState: rootPopupState || popupState,
|
|
106
|
+
parentPopupState: popupState
|
|
107
|
+
};
|
|
108
|
+
}, [rootPopupState, popupState]);
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(CascadingContext.Provider, {
|
|
110
|
+
value: context
|
|
111
|
+
}, /*#__PURE__*/_react.default.createElement(_HoverMenu.default, (0, _extends2.default)({}, props, (0, _hooks.bindMenu)(popupState))));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function CascadingMenu(_ref4) {
|
|
115
|
+
var popupState = _ref4.popupState,
|
|
116
|
+
onMenuItemClick = _ref4.onMenuItemClick,
|
|
117
|
+
menuItems = _ref4.menuItems,
|
|
118
|
+
props = (0, _objectWithoutProperties2.default)(_ref4, _excluded4);
|
|
119
|
+
|
|
120
|
+
var _React$useContext2 = _react.default.useContext(CascadingContext),
|
|
121
|
+
rootPopupState = _React$useContext2.rootPopupState;
|
|
122
|
+
|
|
123
|
+
var context = _react.default.useMemo(function () {
|
|
124
|
+
return {
|
|
125
|
+
rootPopupState: rootPopupState || popupState,
|
|
126
|
+
parentPopupState: popupState
|
|
127
|
+
};
|
|
128
|
+
}, [rootPopupState, popupState]);
|
|
129
|
+
|
|
130
|
+
return /*#__PURE__*/_react.default.createElement(CascadingContext.Provider, {
|
|
131
|
+
value: context
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Menu, (0, _extends2.default)({}, props, (0, _hooks.bindMenu)(popupState))));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function EndDecoration(_ref5) {
|
|
136
|
+
var item = _ref5.item;
|
|
137
|
+
|
|
138
|
+
if ('subMenu' in item) {
|
|
139
|
+
return /*#__PURE__*/_react.default.createElement(_Menu.MenuItemEndDecoration, {
|
|
140
|
+
type: "subMenu"
|
|
141
|
+
});
|
|
142
|
+
} else if (item.type === 'checkbox' || item.type === 'radio') {
|
|
143
|
+
return /*#__PURE__*/_react.default.createElement(_Menu.MenuItemEndDecoration, {
|
|
144
|
+
type: item.type,
|
|
145
|
+
checked: item.checked,
|
|
146
|
+
disabled: item.disabled
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function CascadingMenuList(_ref6) {
|
|
154
|
+
var onMenuItemClick = _ref6.onMenuItemClick,
|
|
155
|
+
menuItems = _ref6.menuItems,
|
|
156
|
+
props = (0, _objectWithoutProperties2.default)(_ref6, _excluded5);
|
|
157
|
+
|
|
158
|
+
function handleClick(callback) {
|
|
159
|
+
return function (event) {
|
|
160
|
+
onMenuItemClick(event, callback);
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
var hasIcon = menuItems.some(function (menuItem) {
|
|
165
|
+
return 'icon' in menuItem && menuItem.icon;
|
|
166
|
+
});
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, menuItems.map(function (item, idx) {
|
|
168
|
+
return 'subMenu' in item ? /*#__PURE__*/_react.default.createElement(CascadingSubmenu, {
|
|
169
|
+
key: "subMenu-".concat(item.label, "-").concat(idx),
|
|
170
|
+
popupId: "subMenu-".concat(item.label),
|
|
171
|
+
title: item.label,
|
|
172
|
+
inset: hasIcon,
|
|
173
|
+
onMenuItemClick: onMenuItemClick,
|
|
174
|
+
menuItems: item.subMenu
|
|
175
|
+
}, /*#__PURE__*/_react.default.createElement(CascadingMenuList, (0, _extends2.default)({}, props, {
|
|
176
|
+
onMenuItemClick: onMenuItemClick,
|
|
177
|
+
menuItems: item.subMenu
|
|
178
|
+
}))) : item.type === 'divider' ? /*#__PURE__*/_react.default.createElement(_material.Divider, {
|
|
179
|
+
key: "divider-".concat(idx),
|
|
180
|
+
component: "li"
|
|
181
|
+
}) : item.type === 'subHeader' ? /*#__PURE__*/_react.default.createElement(_material.ListSubheader, {
|
|
182
|
+
key: "subHeader-".concat(item.label, "-").concat(idx)
|
|
183
|
+
}, item.label) : /*#__PURE__*/_react.default.createElement(CascadingMenuItem, {
|
|
184
|
+
key: "".concat(item.label, "-").concat(idx),
|
|
185
|
+
onClick: 'onClick' in item ? handleClick(item.onClick) : undefined,
|
|
186
|
+
disabled: Boolean(item.disabled)
|
|
187
|
+
}, item.icon ? /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(item.icon, null)) : null, ' ', /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
|
|
188
|
+
primary: item.label,
|
|
189
|
+
secondary: item.subLabel,
|
|
190
|
+
inset: hasIcon && !item.icon
|
|
191
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
192
|
+
style: {
|
|
193
|
+
flexGrow: 1,
|
|
194
|
+
minWidth: 10
|
|
195
|
+
}
|
|
196
|
+
}), /*#__PURE__*/_react.default.createElement(EndDecoration, {
|
|
197
|
+
item: item
|
|
198
|
+
}));
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
function CascadingMenuChildren(props) {
|
|
203
|
+
return /*#__PURE__*/_react.default.createElement(CascadingMenu, props, /*#__PURE__*/_react.default.createElement(CascadingMenuList, props));
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
var _default = CascadingMenuChildren;
|
|
207
|
+
exports.default = _default;
|
package/ui/Drawer.js
CHANGED
|
@@ -9,15 +9,15 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _material = require("@mui/material");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _mui = require("tss-react/mui");
|
|
15
15
|
|
|
16
16
|
var _mobxReact = require("mobx-react");
|
|
17
17
|
|
|
18
18
|
var _ResizeHandle = _interopRequireDefault(require("./ResizeHandle"));
|
|
19
19
|
|
|
20
|
-
var useStyles = (0,
|
|
20
|
+
var useStyles = (0, _mui.makeStyles)()(function (theme) {
|
|
21
21
|
return {
|
|
22
22
|
paper: {
|
|
23
23
|
overflowY: 'auto',
|
|
@@ -40,8 +40,11 @@ function Drawer(_ref) {
|
|
|
40
40
|
session = _ref.session;
|
|
41
41
|
var drawerPosition = session.drawerPosition,
|
|
42
42
|
drawerWidth = session.drawerWidth;
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
|
|
44
|
+
var _useStyles = useStyles(),
|
|
45
|
+
classes = _useStyles.classes;
|
|
46
|
+
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement(_material.Paper, {
|
|
45
48
|
className: classes.paper,
|
|
46
49
|
elevation: 16,
|
|
47
50
|
square: true
|