@jbrowse/core 2.5.0 → 2.6.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.
Files changed (140) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +1 -1
  2. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +0 -1
  3. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +1 -1
  4. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +8 -25
  5. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +2 -1
  6. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +2 -1
  7. package/BaseFeatureWidget/BaseFeatureDetail/{DataGrid.d.ts → DataGridDetails.d.ts} +2 -1
  8. package/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +1 -1
  9. package/BaseFeatureWidget/BaseFeatureDetail/{BasicField.d.ts → SimpleField.d.ts} +2 -2
  10. package/BaseFeatureWidget/BaseFeatureDetail/{BasicField.js → SimpleField.js} +3 -3
  11. package/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +2 -1
  12. package/BaseFeatureWidget/BaseFeatureDetail/UriLink.d.ts +2 -1
  13. package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +9 -38
  14. package/BaseFeatureWidget/BaseFeatureDetail/index.js +14 -225
  15. package/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +1 -0
  16. package/BaseFeatureWidget/BaseFeatureDetail/util.js +24 -1
  17. package/BaseFeatureWidget/SequenceFeatureDetails/CDNASequence.d.ts +2 -1
  18. package/BaseFeatureWidget/SequenceFeatureDetails/CDSSequence.d.ts +2 -1
  19. package/BaseFeatureWidget/SequenceFeatureDetails/GenomicSequence.d.ts +2 -1
  20. package/BaseFeatureWidget/SequenceFeatureDetails/ProteinSequence.d.ts +2 -1
  21. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +2 -1
  22. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +10 -13
  23. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureSettingsDialog.d.ts +2 -1
  24. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceHelpDialog.d.ts +2 -1
  25. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceHelpDialog.js +1 -1
  26. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.d.ts +2 -2
  27. package/BaseFeatureWidget/SequenceFeatureDetails/index.d.ts +2 -1
  28. package/BaseFeatureWidget/SequenceFeatureDetails/test_data/DLGAP3.d.ts +17 -17
  29. package/BaseFeatureWidget/SequenceFeatureDetails/test_data/NCDN.d.ts +16 -16
  30. package/BaseFeatureWidget/util.js +15 -5
  31. package/PluginManager.d.ts +3 -3
  32. package/README.md +0 -2
  33. package/ReExports/modules.d.ts +3 -3
  34. package/ReExports/modules.js +0 -3
  35. package/assemblyManager/assemblyConfigSchema.d.ts +2 -0
  36. package/assemblyManager/assemblyConfigSchema.js +1 -0
  37. package/assemblyManager/assemblyManager.d.ts +112 -0
  38. package/assemblyManager/assemblyManager.js +12 -1
  39. package/assemblyManager/index.d.ts +1 -0
  40. package/configuration/index.d.ts +1 -1
  41. package/configuration/types.d.ts +3 -1
  42. package/data_adapters/BaseAdapter/BaseAdapter.js +1 -1
  43. package/data_adapters/BaseAdapter/index.d.ts +1 -1
  44. package/package.json +2 -2
  45. package/pluggableElementTypes/RpcMethodType.d.ts +9 -7
  46. package/pluggableElementTypes/RpcMethodType.js +9 -7
  47. package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +18 -0
  48. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +9 -0
  49. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -1
  50. package/pluggableElementTypes/models/BaseDisplayModel.js +9 -1
  51. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -0
  52. package/pluggableElementTypes/models/BaseTrackModel.js +1 -0
  53. package/pluggableElementTypes/models/BaseViewModel.d.ts +46 -2
  54. package/pluggableElementTypes/models/BaseViewModel.js +6 -0
  55. package/pluggableElementTypes/models/InternetAccountModel.d.ts +6 -2
  56. package/pluggableElementTypes/models/InternetAccountModel.js +27 -20
  57. package/pluggableElementTypes/models/baseConnectionConfig.d.ts +5 -2
  58. package/pluggableElementTypes/models/baseConnectionConfig.js +2 -1
  59. package/pluggableElementTypes/models/baseInternetAccountConfig.js +1 -1
  60. package/pluggableElementTypes/models/baseTrackConfig.d.ts +2 -2
  61. package/pluggableElementTypes/models/baseTrackConfig.js +7 -5
  62. package/pluggableElementTypes/models/index.d.ts +1 -1
  63. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -2
  64. package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +2 -1
  65. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +3 -1
  66. package/pluggableElementTypes/renderers/FeatureRendererType.js +4 -6
  67. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -1
  68. package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
  69. package/rpc/BaseRpcDriver.js +1 -7
  70. package/tsconfig.build.tsbuildinfo +1 -1
  71. package/ui/AppLogo.d.ts +2 -1
  72. package/ui/AssemblySelector.d.ts +2 -1
  73. package/ui/AssemblySelector.js +1 -1
  74. package/ui/CascadingMenu.d.ts +2 -1
  75. package/ui/CascadingMenuButton.d.ts +8 -0
  76. package/ui/CascadingMenuButton.js +20 -0
  77. package/ui/ColorPicker.d.ts +4 -3
  78. package/ui/Dialog.d.ts +5 -4
  79. package/ui/Dialog.js +5 -6
  80. package/ui/DropDownMenu.d.ts +2 -1
  81. package/ui/EditableTypography.js +1 -1
  82. package/ui/ErrorMessage.d.ts +2 -1
  83. package/ui/ErrorMessage.js +6 -2
  84. package/ui/FactoryResetDialog.d.ts +2 -1
  85. package/ui/FatalErrorDialog.d.ts +6 -6
  86. package/ui/FatalErrorDialog.js +7 -7
  87. package/ui/FileSelector/FileSelector.d.ts +2 -1
  88. package/ui/FileSelector/FileSelector.js +3 -2
  89. package/ui/FileSelector/LocalFileChooser.d.ts +2 -1
  90. package/ui/FileSelector/UrlChooser.d.ts +3 -3
  91. package/ui/FileSelector/UrlChooser.js +8 -10
  92. package/ui/Icons.d.ts +10 -9
  93. package/ui/LoadingEllipses.d.ts +2 -1
  94. package/ui/Logo.d.ts +3 -2
  95. package/ui/Menu.d.ts +2 -2
  96. package/ui/PrerenderedCanvas.d.ts +2 -1
  97. package/ui/ResizeBar.d.ts +1 -1
  98. package/ui/ResizeHandle.d.ts +2 -1
  99. package/ui/ReturnToImportFormDialog.d.ts +2 -1
  100. package/ui/SanitizedHTML.d.ts +2 -1
  101. package/ui/Snackbar.d.ts +7 -8
  102. package/ui/Snackbar.js +12 -17
  103. package/ui/SnackbarModel.d.ts +9 -3
  104. package/ui/SnackbarModel.js +3 -3
  105. package/ui/Tooltip.d.ts +2 -1
  106. package/ui/index.d.ts +0 -1
  107. package/ui/index.js +1 -3
  108. package/util/Base1DUtils.js +2 -1
  109. package/util/QuickLRU.d.ts +1 -1
  110. package/util/blockTypes.js +1 -1
  111. package/util/formatFastaStrings.js +1 -1
  112. package/util/index.d.ts +14 -0
  113. package/util/index.js +65 -8
  114. package/util/io/index.js +1 -1
  115. package/util/mst-reflection.js +1 -2
  116. package/util/offscreenCanvasUtils.d.ts +2 -2
  117. package/util/types/index.d.ts +6 -2
  118. package/util/types/index.js +6 -2
  119. package/util/types/util.d.ts +0 -3
  120. package/ui/AboutDialog.d.ts +0 -11
  121. package/ui/AboutDialog.js +0 -125
  122. package/ui/App.d.ts +0 -18
  123. package/ui/App.js +0 -114
  124. package/ui/AppToolbar.d.ts +0 -19
  125. package/ui/AppToolbar.js +0 -56
  126. package/ui/Drawer.d.ts +0 -8
  127. package/ui/Drawer.js +0 -34
  128. package/ui/DrawerWidget.d.ts +0 -5
  129. package/ui/DrawerWidget.js +0 -132
  130. package/ui/ViewContainer.d.ts +0 -9
  131. package/ui/ViewContainer.js +0 -76
  132. package/ui/ViewContainerTitle.d.ts +0 -5
  133. package/ui/ViewContainerTitle.js +0 -42
  134. package/ui/ViewLauncher.d.ts +0 -17
  135. package/ui/ViewLauncher.js +0 -50
  136. package/ui/ViewMenu.d.ts +0 -8
  137. package/ui/ViewMenu.js +0 -69
  138. package/ui/ViewPanel.d.ts +0 -18
  139. package/ui/ViewPanel.js +0 -49
  140. /package/BaseFeatureWidget/BaseFeatureDetail/{DataGrid.js → DataGridDetails.js} +0 -0
package/ui/Drawer.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const material_1 = require("@mui/material");
8
- const mui_1 = require("tss-react/mui");
9
- const mobx_react_1 = require("mobx-react");
10
- const ResizeHandle_1 = __importDefault(require("./ResizeHandle"));
11
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
12
- paper: {
13
- overflowY: 'auto',
14
- height: '100%',
15
- zIndex: theme.zIndex.drawer,
16
- outline: 'none',
17
- background: theme.palette.background.default,
18
- },
19
- resizeHandle: {
20
- width: 4,
21
- position: 'fixed',
22
- top: 0,
23
- zIndex: theme.zIndex.drawer + 1,
24
- },
25
- }));
26
- function Drawer({ children, session, }) {
27
- const { drawerPosition, drawerWidth } = session;
28
- const { classes } = useStyles();
29
- return (react_1.default.createElement(material_1.Paper, { className: classes.paper, elevation: 16, square: true },
30
- drawerPosition === 'right' ? (react_1.default.createElement(ResizeHandle_1.default, { onDrag: session.resizeDrawer, className: classes.resizeHandle, vertical: true })) : null,
31
- children,
32
- drawerPosition === 'left' ? (react_1.default.createElement(ResizeHandle_1.default, { onDrag: session.resizeDrawer, className: classes.resizeHandle, style: { left: drawerWidth }, vertical: true })) : null));
33
- }
34
- exports.default = (0, mobx_react_1.observer)(Drawer);
@@ -1,5 +0,0 @@
1
- import { SessionWithDrawerWidgets } from '../util/types';
2
- declare const DrawerWidget: ({ session, }: {
3
- session: SessionWithDrawerWidgets;
4
- }) => JSX.Element;
5
- export default DrawerWidget;
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const react_error_boundary_1 = require("react-error-boundary");
31
- const material_1 = require("@mui/material");
32
- const mui_1 = require("tss-react/mui");
33
- const mobx_react_1 = require("mobx-react");
34
- const util_1 = require("../util");
35
- const LoadingEllipses_1 = __importDefault(require("./LoadingEllipses"));
36
- // icons
37
- const Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
38
- const Close_1 = __importDefault(require("@mui/icons-material/Close"));
39
- const Minimize_1 = __importDefault(require("@mui/icons-material/Minimize"));
40
- const MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
41
- // locals
42
- const Drawer_1 = __importDefault(require("./Drawer"));
43
- const ErrorMessage_1 = __importDefault(require("./ErrorMessage"));
44
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
45
- formControl: {
46
- margin: 0,
47
- },
48
- spacer: {
49
- flexGrow: 1,
50
- },
51
- drawerSelect: {
52
- margin: 0,
53
- color: theme.palette.secondary.contrastText,
54
- },
55
- dropDownIcon: {
56
- color: theme.palette.secondary.contrastText,
57
- },
58
- header: {
59
- background: theme.palette.secondary.main,
60
- },
61
- }));
62
- const DrawerHeader = (0, mobx_react_1.observer)(function ({ session, setToolbarHeight, }) {
63
- const { pluginManager } = (0, util_1.getEnv)(session);
64
- const { visibleWidget, activeWidgets, drawerPosition } = session;
65
- const { classes } = useStyles();
66
- const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
67
- return (react_1.default.createElement(material_1.AppBar, { position: "sticky", className: classes.header, ref: ref => setToolbarHeight((ref === null || ref === void 0 ? void 0 : ref.getBoundingClientRect().height) || 0) },
68
- react_1.default.createElement(material_1.Toolbar, { disableGutters: true },
69
- react_1.default.createElement(material_1.FormControl, { className: classes.formControl },
70
- react_1.default.createElement(material_1.Select, { value: visibleWidget === null || visibleWidget === void 0 ? void 0 : visibleWidget.id, "data-testid": "widget-drawer-selects", className: classes.drawerSelect, classes: { icon: classes.dropDownIcon }, renderValue: widgetId => {
71
- const widget = session.activeWidgets.get(widgetId);
72
- if (!widget) {
73
- return (react_1.default.createElement(material_1.Typography, { variant: "h6", color: "inherit" }, "Unknown widget"));
74
- }
75
- const widgetType = pluginManager.getWidgetType(widget.type);
76
- const { HeadingComponent, heading } = widgetType;
77
- return HeadingComponent ? (react_1.default.createElement(HeadingComponent, { model: widget })) : (react_1.default.createElement(material_1.Typography, { variant: "h6", color: "inherit" }, heading));
78
- }, onChange: e => {
79
- const w = session.activeWidgets.get(e.target.value);
80
- if (w) {
81
- session.showWidget(w);
82
- }
83
- else {
84
- session.notify(`Widget not found ${e.target.value}`, 'warning');
85
- }
86
- } }, [...activeWidgets.values()].map(widget => {
87
- const widgetType = pluginManager.getWidgetType(widget.type);
88
- const { HeadingComponent, heading } = widgetType;
89
- return (react_1.default.createElement(material_1.MenuItem, { "data-testid": `widget-drawer-selects-item-${widget.type}`, key: widget.id, value: widget.id },
90
- HeadingComponent ? (react_1.default.createElement(HeadingComponent, { model: widget })) : (react_1.default.createElement(material_1.Typography, { variant: "h6", color: "inherit" }, heading)),
91
- react_1.default.createElement(material_1.IconButton, { "data-testid": `${widget.type}-drawer-delete`, color: "inherit", "aria-label": "Delete", onClick: () => session.hideWidget(widget) },
92
- react_1.default.createElement(Delete_1.default, null))));
93
- }))),
94
- react_1.default.createElement("div", { className: classes.spacer }),
95
- react_1.default.createElement("div", null,
96
- react_1.default.createElement(material_1.IconButton, { "data-testid": "drawer-close", color: "inherit", onClick: event => setAnchorEl(event.currentTarget) },
97
- react_1.default.createElement(MoreVert_1.default, null)),
98
- react_1.default.createElement(material_1.Tooltip, { title: "Minimize drawer" },
99
- react_1.default.createElement(material_1.IconButton, { "data-testid": "drawer-minimize", color: "inherit", onClick: () => {
100
- session.notify(`Drawer minimized, click button on ${drawerPosition} side of screen to re-open`, 'info');
101
- session.minimizeWidgetDrawer();
102
- } },
103
- react_1.default.createElement(Minimize_1.default, null))),
104
- react_1.default.createElement(material_1.Tooltip, { title: "Close drawer" },
105
- react_1.default.createElement(material_1.IconButton, { "data-testid": "drawer-close", color: "inherit", onClick: () => session.hideWidget(visibleWidget) },
106
- react_1.default.createElement(Close_1.default, null))))),
107
- react_1.default.createElement(material_1.Menu, { anchorEl: anchorEl, open: Boolean(anchorEl), onClose: () => setAnchorEl(null) }, ['left', 'right'].map(option => (react_1.default.createElement(material_1.MenuItem, { key: option, selected: drawerPosition === 'option', onClick: () => {
108
- session.setDrawerPosition(option);
109
- setAnchorEl(null);
110
- } }, option))))));
111
- });
112
- const DrawerWidget = (0, mobx_react_1.observer)(function ({ session, }) {
113
- const { visibleWidget } = session;
114
- const { pluginManager } = (0, util_1.getEnv)(session);
115
- const DrawerComponent = visibleWidget
116
- ? pluginManager.evaluateExtensionPoint('Core-replaceWidget', pluginManager.getWidgetType(visibleWidget.type).ReactComponent, {
117
- session,
118
- model: visibleWidget,
119
- })
120
- : null;
121
- // we track the toolbar height because components that use virtualized
122
- // height want to be able to fill the contained, minus the toolbar height
123
- // (the position static/sticky is included in AutoSizer estimates)
124
- const [toolbarHeight, setToolbarHeight] = (0, react_1.useState)(0);
125
- return (react_1.default.createElement(Drawer_1.default, { session: session },
126
- react_1.default.createElement(DrawerHeader, { session: session, setToolbarHeight: setToolbarHeight }),
127
- react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(LoadingEllipses_1.default, null) },
128
- react_1.default.createElement(react_error_boundary_1.ErrorBoundary, { FallbackComponent: ({ error }) => react_1.default.createElement(ErrorMessage_1.default, { error: error }) }, DrawerComponent ? (react_1.default.createElement(react_1.default.Fragment, null,
129
- react_1.default.createElement(DrawerComponent, { model: visibleWidget, session: session, toolbarHeight: toolbarHeight }),
130
- react_1.default.createElement("div", { style: { height: 300 } }))) : null))));
131
- });
132
- exports.default = DrawerWidget;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { IBaseViewModel } from '../pluggableElementTypes/models';
3
- declare const _default: ({ view, onClose, onMinimize, children, }: {
4
- view: IBaseViewModel;
5
- onClose: () => void;
6
- onMinimize: () => void;
7
- children: React.ReactNode;
8
- }) => JSX.Element;
9
- export default _default;
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const material_1 = require("@mui/material");
31
- const mui_1 = require("tss-react/mui");
32
- const mobx_react_1 = require("mobx-react");
33
- // icons
34
- const Close_1 = __importDefault(require("@mui/icons-material/Close"));
35
- const Minimize_1 = __importDefault(require("@mui/icons-material/Minimize"));
36
- const Add_1 = __importDefault(require("@mui/icons-material/Add"));
37
- const ViewMenu_1 = __importDefault(require("./ViewMenu"));
38
- const util_1 = require("../util");
39
- const ViewContainerTitle_1 = __importDefault(require("./ViewContainerTitle"));
40
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
41
- viewContainer: {
42
- overflow: 'hidden',
43
- background: theme.palette.secondary.main,
44
- margin: theme.spacing(0.5),
45
- padding: `0 ${theme.spacing(1)} ${theme.spacing(1)}`,
46
- },
47
- icon: {
48
- color: theme.palette.secondary.contrastText,
49
- },
50
- grow: {
51
- flexGrow: 1,
52
- },
53
- }));
54
- exports.default = (0, mobx_react_1.observer)(function ({ view, onClose, onMinimize, children, }) {
55
- const { classes } = useStyles();
56
- const theme = (0, material_1.useTheme)();
57
- const ref = (0, util_1.useWidthSetter)(view, theme.spacing(1));
58
- const scrollRef = (0, react_1.useRef)(null);
59
- // scroll the view into view when first mounted
60
- // note that this effect will run only once, because of
61
- // the empty array second param
62
- (0, react_1.useEffect)(() => {
63
- var _a, _b;
64
- (_b = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView) === null || _b === void 0 ? void 0 : _b.call(_a, { block: 'center' });
65
- }, []);
66
- return (react_1.default.createElement(material_1.Paper, { ref: ref, elevation: 12, className: classes.viewContainer },
67
- react_1.default.createElement("div", { ref: scrollRef, style: { display: 'flex' } },
68
- react_1.default.createElement(ViewMenu_1.default, { model: view, IconProps: { className: classes.icon } }),
69
- react_1.default.createElement("div", { className: classes.grow }),
70
- react_1.default.createElement(ViewContainerTitle_1.default, { view: view }),
71
- react_1.default.createElement("div", { className: classes.grow }),
72
- react_1.default.createElement(material_1.IconButton, { "data-testid": "minimize_view", onClick: onMinimize }, view.minimized ? (react_1.default.createElement(Add_1.default, { className: classes.icon, fontSize: "small" })) : (react_1.default.createElement(Minimize_1.default, { className: classes.icon, fontSize: "small" }))),
73
- react_1.default.createElement(material_1.IconButton, { "data-testid": "close_view", onClick: onClose },
74
- react_1.default.createElement(Close_1.default, { className: classes.icon, fontSize: "small" }))),
75
- react_1.default.createElement(material_1.Paper, null, children)));
76
- });
@@ -1,5 +0,0 @@
1
- import { IBaseViewModel } from '../pluggableElementTypes';
2
- declare const _default: ({ view, }: {
3
- view: IBaseViewModel;
4
- }) => JSX.Element;
5
- export default _default;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const material_1 = require("@mui/material");
8
- const mui_1 = require("tss-react/mui");
9
- const mobx_react_1 = require("mobx-react");
10
- // locals
11
- const EditableTypography_1 = __importDefault(require("./EditableTypography"));
12
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
13
- input: {
14
- paddingBottom: 0,
15
- paddingTop: 2,
16
- },
17
- inputBase: {
18
- color: theme.palette.secondary.contrastText,
19
- },
20
- inputRoot: {
21
- '&:hover': {
22
- backgroundColor: theme.palette.secondary.light,
23
- },
24
- },
25
- inputFocused: {
26
- borderColor: theme.palette.primary.main,
27
- backgroundColor: theme.palette.secondary.light,
28
- },
29
- }));
30
- exports.default = (0, mobx_react_1.observer)(function ViewContainerTitle({ view, }) {
31
- var _a;
32
- const { classes } = useStyles();
33
- return (react_1.default.createElement(material_1.Tooltip, { title: "Rename view", arrow: true },
34
- react_1.default.createElement(EditableTypography_1.default, { value: view.displayName ||
35
- // @ts-expect-error
36
- `${((_a = view.assemblyNames) === null || _a === void 0 ? void 0 : _a.join(',')) || 'Untitled view'}${view.minimized ? ' (minimized)' : ''}`, setValue: val => view.setDisplayName(val), variant: "body2", classes: {
37
- input: classes.input,
38
- inputBase: classes.inputBase,
39
- inputRoot: classes.inputRoot,
40
- inputFocused: classes.inputFocused,
41
- } })));
42
- });
@@ -1,17 +0,0 @@
1
- import { NotificationLevel, SnackAction, SessionWithDrawerWidgets } from '../util';
2
- import { MenuItem as JBMenuItem } from './Menu';
3
- type SnackbarMessage = [string, NotificationLevel, SnackAction];
4
- type AppSession = SessionWithDrawerWidgets & {
5
- savedSessionNames: string[];
6
- menus: {
7
- label: string;
8
- menuItems: JBMenuItem[];
9
- }[];
10
- renameCurrentSession: (arg: string) => void;
11
- snackbarMessages: SnackbarMessage[];
12
- popSnackbarMessage: () => unknown;
13
- };
14
- declare const ViewLauncher: ({ session }: {
15
- session: AppSession;
16
- }) => JSX.Element;
17
- export default ViewLauncher;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const react_1 = __importStar(require("react"));
27
- const material_1 = require("@mui/material");
28
- const mobx_react_1 = require("mobx-react");
29
- const mui_1 = require("tss-react/mui");
30
- // locals
31
- const util_1 = require("../util");
32
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
33
- selectPaper: {
34
- padding: theme.spacing(4),
35
- },
36
- }));
37
- const ViewLauncher = (0, mobx_react_1.observer)(({ session }) => {
38
- var _a;
39
- const { classes } = useStyles();
40
- const { pluginManager } = (0, util_1.getEnv)(session);
41
- const viewTypes = pluginManager.getElementTypeRecord('view').all();
42
- const [value, setValue] = (0, react_1.useState)((_a = viewTypes[0]) === null || _a === void 0 ? void 0 : _a.name);
43
- return (react_1.default.createElement(material_1.Paper, { className: classes.selectPaper },
44
- react_1.default.createElement(material_1.Typography, null, "Select a view to launch"),
45
- react_1.default.createElement(material_1.FormControl, { style: { margin: 2 } },
46
- react_1.default.createElement(material_1.Select, { value: value, onChange: event => setValue(event.target.value) }, viewTypes.map(({ displayName, name }) => (react_1.default.createElement(material_1.MenuItem, { key: name, value: name }, displayName))))),
47
- react_1.default.createElement(material_1.FormControl, { style: { margin: 2 } },
48
- react_1.default.createElement(material_1.Button, { onClick: () => session.addView(value, {}), variant: "contained", color: "primary" }, "Launch view"))));
49
- });
50
- exports.default = ViewLauncher;
package/ui/ViewMenu.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import { SvgIconProps, IconButtonProps as IconButtonPropsType } from '@mui/material';
2
- import { IBaseViewModel } from '../pluggableElementTypes/models';
3
- declare const ViewMenu: ({ model, IconButtonProps, IconProps, }: {
4
- model: IBaseViewModel;
5
- IconButtonProps?: IconButtonPropsType | undefined;
6
- IconProps: SvgIconProps;
7
- }) => JSX.Element;
8
- export default ViewMenu;
package/ui/ViewMenu.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const material_1 = require("@mui/material");
31
- const mobx_react_1 = require("mobx-react");
32
- // icons
33
- const Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
34
- const ArrowDownward_1 = __importDefault(require("@mui/icons-material/ArrowDownward"));
35
- const ArrowUpward_1 = __importDefault(require("@mui/icons-material/ArrowUpward"));
36
- // locals
37
- const util_1 = require("../util");
38
- const Menu_2 = __importDefault(require("./Menu"));
39
- const ViewMenu = (0, mobx_react_1.observer)(function ({ model, IconButtonProps, IconProps, }) {
40
- const [anchorEl, setAnchorEl] = (0, react_1.useState)();
41
- const { menuItems } = model;
42
- const session = (0, util_1.getSession)(model);
43
- const items = [
44
- ...(session.views.length > 1
45
- ? [
46
- {
47
- label: 'Move view up',
48
- icon: ArrowUpward_1.default,
49
- onClick: () => session.moveViewUp(model.id),
50
- },
51
- {
52
- label: 'Move view down',
53
- icon: ArrowDownward_1.default,
54
- onClick: () => session.moveViewDown(model.id),
55
- },
56
- ]
57
- : []),
58
- // <=1.3.3 didn't use a function, so check as value also
59
- ...((typeof menuItems === 'function' ? menuItems() : menuItems) || []),
60
- ];
61
- return (react_1.default.createElement(react_1.default.Fragment, null,
62
- react_1.default.createElement(material_1.IconButton, { ...IconButtonProps, onClick: event => setAnchorEl(event.currentTarget), "data-testid": "view_menu_icon" },
63
- react_1.default.createElement(Menu_1.default, { ...IconProps, fontSize: "small" })),
64
- react_1.default.createElement(Menu_2.default, { anchorEl: anchorEl, open: Boolean(anchorEl), onMenuItemClick: (_event, callback) => {
65
- callback();
66
- setAnchorEl(undefined);
67
- }, onClose: () => setAnchorEl(undefined), menuItems: items })));
68
- });
69
- exports.default = ViewMenu;
package/ui/ViewPanel.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { AbstractViewModel, NotificationLevel, SessionWithDrawerWidgets, SnackAction } from '../util';
2
- import { MenuItem as JBMenuItem } from './Menu';
3
- type SnackbarMessage = [string, NotificationLevel, SnackAction];
4
- type AppSession = SessionWithDrawerWidgets & {
5
- savedSessionNames: string[];
6
- menus: {
7
- label: string;
8
- menuItems: JBMenuItem[];
9
- }[];
10
- renameCurrentSession: (arg: string) => void;
11
- snackbarMessages: SnackbarMessage[];
12
- popSnackbarMessage: () => unknown;
13
- };
14
- declare const ViewPanel: ({ view, session, }: {
15
- view: AbstractViewModel;
16
- session: AppSession;
17
- }) => JSX.Element;
18
- export default ViewPanel;
package/ui/ViewPanel.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const react_error_boundary_1 = require("react-error-boundary");
31
- const mobx_react_1 = require("mobx-react");
32
- // locals
33
- const util_1 = require("../util");
34
- // ui elements
35
- const ErrorMessage_1 = __importDefault(require("./ErrorMessage"));
36
- const LoadingEllipses_1 = __importDefault(require("./LoadingEllipses"));
37
- const ViewContainer_1 = __importDefault(require("./ViewContainer"));
38
- const ViewPanel = (0, mobx_react_1.observer)(function ({ view, session, }) {
39
- const { pluginManager } = (0, util_1.getEnv)(session);
40
- const viewType = pluginManager.getViewType(view.type);
41
- if (!viewType) {
42
- throw new Error(`unknown view type ${view.type}`);
43
- }
44
- const { ReactComponent } = viewType;
45
- return (react_1.default.createElement(ViewContainer_1.default, { view: view, onClose: () => session.removeView(view), onMinimize: () => view.setMinimized(!view.minimized) }, !view.minimized ? (react_1.default.createElement(react_error_boundary_1.ErrorBoundary, { FallbackComponent: ({ error }) => react_1.default.createElement(ErrorMessage_1.default, { error: error }) },
46
- react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(LoadingEllipses_1.default, { variant: "h6" }) },
47
- react_1.default.createElement(ReactComponent, { model: view, session: session })))) : (false)));
48
- });
49
- exports.default = ViewPanel;