@jbrowse/core 2.4.2 → 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 (223) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +16 -0
  2. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +45 -0
  3. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +15 -0
  4. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +52 -0
  5. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +13 -0
  6. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +27 -0
  7. package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +15 -0
  8. package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +98 -0
  9. package/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +16 -0
  10. package/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +32 -0
  11. package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +17 -0
  12. package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +23 -0
  13. package/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +18 -0
  14. package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +31 -0
  15. package/BaseFeatureWidget/BaseFeatureDetail/UriLink.d.ts +7 -0
  16. package/BaseFeatureWidget/BaseFeatureDetail/UriLink.js +13 -0
  17. package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +33 -0
  18. package/BaseFeatureWidget/BaseFeatureDetail/index.js +170 -0
  19. package/BaseFeatureWidget/BaseFeatureDetail/util.d.ts +5 -0
  20. package/BaseFeatureWidget/BaseFeatureDetail/util.js +46 -0
  21. package/BaseFeatureWidget/SequenceFeatureDetails/CDNASequence.d.ts +13 -0
  22. package/BaseFeatureWidget/SequenceFeatureDetails/CDNASequence.js +25 -0
  23. package/BaseFeatureWidget/SequenceFeatureDetails/CDSSequence.d.ts +6 -0
  24. package/BaseFeatureWidget/SequenceFeatureDetails/CDSSequence.js +12 -0
  25. package/BaseFeatureWidget/SequenceFeatureDetails/GenomicSequence.d.ts +6 -0
  26. package/BaseFeatureWidget/SequenceFeatureDetails/GenomicSequence.js +14 -0
  27. package/BaseFeatureWidget/SequenceFeatureDetails/ProteinSequence.d.ts +9 -0
  28. package/BaseFeatureWidget/SequenceFeatureDetails/ProteinSequence.js +18 -0
  29. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +3 -0
  30. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +143 -0
  31. package/BaseFeatureWidget/{SequenceFeatureSettingsDialog.d.ts → SequenceFeatureDetails/SequenceFeatureSettingsDialog.d.ts} +2 -2
  32. package/BaseFeatureWidget/{SequenceFeatureSettingsDialog.js → SequenceFeatureDetails/SequenceFeatureSettingsDialog.js} +1 -1
  33. package/BaseFeatureWidget/{SequenceHelpDialog.d.ts → SequenceFeatureDetails/SequenceHelpDialog.d.ts} +2 -2
  34. package/BaseFeatureWidget/{SequenceHelpDialog.js → SequenceFeatureDetails/SequenceHelpDialog.js} +6 -9
  35. package/BaseFeatureWidget/{SequencePanel.d.ts → SequenceFeatureDetails/SequencePanel.d.ts} +1 -1
  36. package/BaseFeatureWidget/{SequencePanel.js → SequenceFeatureDetails/SequencePanel.js} +10 -8
  37. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.d.ts +10 -0
  38. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +73 -0
  39. package/BaseFeatureWidget/SequenceFeatureDetails/index.d.ts +3 -0
  40. package/BaseFeatureWidget/SequenceFeatureDetails/index.js +68 -0
  41. package/BaseFeatureWidget/{test_data → SequenceFeatureDetails/test_data}/DLGAP3.d.ts +17 -17
  42. package/BaseFeatureWidget/{test_data → SequenceFeatureDetails/test_data}/NCDN.d.ts +16 -16
  43. package/BaseFeatureWidget/SequenceFeatureDetails/util.d.ts +6 -0
  44. package/BaseFeatureWidget/SequenceFeatureDetails/util.js +11 -0
  45. package/BaseFeatureWidget/index.d.ts +4 -1
  46. package/BaseFeatureWidget/index.js +29 -17
  47. package/BaseFeatureWidget/types.d.ts +2 -2
  48. package/BaseFeatureWidget/util.js +15 -5
  49. package/Plugin.d.ts +1 -1
  50. package/PluginLoader.js +17 -0
  51. package/PluginManager.d.ts +8 -5
  52. package/PluginManager.js +3 -0
  53. package/README.md +0 -2
  54. package/ReExports/list.js +1 -0
  55. package/ReExports/modules.d.ts +8 -5
  56. package/ReExports/modules.js +7 -7
  57. package/TextSearch/TextSearchManager.d.ts +2 -9
  58. package/assemblyManager/assembly.d.ts +91 -8
  59. package/assemblyManager/assembly.js +92 -8
  60. package/assemblyManager/assemblyConfigSchema.d.ts +52 -1
  61. package/assemblyManager/assemblyConfigSchema.js +1 -0
  62. package/assemblyManager/assemblyManager.d.ts +227 -58
  63. package/assemblyManager/assemblyManager.js +72 -13
  64. package/assemblyManager/index.d.ts +1 -0
  65. package/configuration/configurationSchema.d.ts +14 -16
  66. package/configuration/configurationSchema.js +4 -2
  67. package/configuration/index.d.ts +1 -1
  68. package/configuration/types.d.ts +15 -0
  69. package/configuration/types.js +2 -0
  70. package/configuration/util.d.ts +5 -3
  71. package/configuration/util.js +18 -18
  72. package/data_adapters/BaseAdapter/BaseAdapter.d.ts +23 -0
  73. package/data_adapters/BaseAdapter/BaseAdapter.js +37 -0
  74. package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +128 -0
  75. package/data_adapters/{BaseAdapter.js → BaseAdapter/BaseFeatureDataAdapter.js} +58 -88
  76. package/data_adapters/BaseAdapter/BaseOptions.d.ts +16 -0
  77. package/data_adapters/BaseAdapter/BaseOptions.js +2 -0
  78. package/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +9 -0
  79. package/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.js +2 -0
  80. package/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +13 -0
  81. package/data_adapters/BaseAdapter/BaseSequenceAdapter.js +10 -0
  82. package/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +6 -0
  83. package/data_adapters/BaseAdapter/BaseTextSearchAdapter.js +2 -0
  84. package/data_adapters/BaseAdapter/RegionsAdapter.d.ts +6 -0
  85. package/data_adapters/BaseAdapter/RegionsAdapter.js +2 -0
  86. package/data_adapters/BaseAdapter/index.d.ts +15 -0
  87. package/data_adapters/BaseAdapter/index.js +25 -0
  88. package/data_adapters/BaseAdapter/types.d.ts +21 -0
  89. package/data_adapters/BaseAdapter/types.js +2 -0
  90. package/data_adapters/BaseAdapter/util.d.ts +12 -0
  91. package/data_adapters/BaseAdapter/util.js +23 -0
  92. package/data_adapters/CytobandAdapter/configSchema.d.ts +11 -1
  93. package/package.json +4 -4
  94. package/pluggableElementTypes/AdapterType.d.ts +1 -1
  95. package/pluggableElementTypes/ConnectionType.d.ts +1 -1
  96. package/pluggableElementTypes/DisplayType.d.ts +1 -1
  97. package/pluggableElementTypes/InternetAccountType.d.ts +1 -1
  98. package/pluggableElementTypes/RpcMethodType.d.ts +9 -7
  99. package/pluggableElementTypes/RpcMethodType.js +9 -7
  100. package/pluggableElementTypes/TextSearchAdapterType.d.ts +1 -1
  101. package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +18 -0
  102. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +9 -0
  103. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -1
  104. package/pluggableElementTypes/models/BaseDisplayModel.js +9 -1
  105. package/pluggableElementTypes/models/BaseTrackModel.d.ts +2 -1
  106. package/pluggableElementTypes/models/BaseTrackModel.js +4 -2
  107. package/pluggableElementTypes/models/BaseViewModel.d.ts +46 -2
  108. package/pluggableElementTypes/models/BaseViewModel.js +6 -0
  109. package/pluggableElementTypes/models/InternetAccountModel.d.ts +36 -2
  110. package/pluggableElementTypes/models/InternetAccountModel.js +33 -21
  111. package/pluggableElementTypes/models/baseConnectionConfig.d.ts +22 -2
  112. package/pluggableElementTypes/models/baseConnectionConfig.js +2 -1
  113. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +42 -1
  114. package/pluggableElementTypes/models/baseInternetAccountConfig.js +1 -1
  115. package/pluggableElementTypes/models/baseTrackConfig.d.ts +120 -3
  116. package/pluggableElementTypes/models/baseTrackConfig.js +7 -5
  117. package/pluggableElementTypes/models/index.d.ts +1 -1
  118. package/pluggableElementTypes/renderers/BoxRendererType.js +1 -2
  119. package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +2 -2
  120. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +4 -2
  121. package/pluggableElementTypes/renderers/FeatureRendererType.js +4 -6
  122. package/pluggableElementTypes/renderers/RendererType.d.ts +1 -1
  123. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -2
  124. package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
  125. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +1 -1
  126. package/rpc/BaseRpcDriver.js +1 -7
  127. package/rpc/RpcManager.d.ts +8 -1
  128. package/rpc/RpcManager.js +1 -1
  129. package/rpc/baseRpcConfig.d.ts +10 -1
  130. package/rpc/configSchema.d.ts +14 -1
  131. package/rpc/coreRpcMethods.d.ts +1 -1
  132. package/rpc/coreRpcMethods.js +3 -3
  133. package/rpc/mainThreadRpcConfig.d.ts +7 -1
  134. package/rpc/methods/{CoreEstimateRegionStats.d.ts → CoreGetFeatureDensityStats.d.ts} +2 -2
  135. package/rpc/methods/{CoreEstimateRegionStats.js → CoreGetFeatureDensityStats.js} +4 -4
  136. package/rpc/methods/CoreGetFeatureDetails.js +5 -5
  137. package/rpc/webWorkerRpcConfig.d.ts +7 -1
  138. package/tsconfig.build.tsbuildinfo +1 -1
  139. package/ui/AppLogo.d.ts +2 -2
  140. package/ui/AssemblySelector.d.ts +2 -2
  141. package/ui/AssemblySelector.js +1 -1
  142. package/ui/CascadingMenu.d.ts +2 -2
  143. package/ui/CascadingMenuButton.d.ts +8 -0
  144. package/ui/CascadingMenuButton.js +20 -0
  145. package/ui/ColorPicker.d.ts +4 -4
  146. package/ui/Dialog.d.ts +5 -5
  147. package/ui/Dialog.js +19 -7
  148. package/ui/DropDownMenu.d.ts +2 -2
  149. package/ui/EditableTypography.js +1 -1
  150. package/ui/ErrorMessage.d.ts +2 -2
  151. package/ui/ErrorMessage.js +6 -2
  152. package/ui/FactoryResetDialog.d.ts +2 -2
  153. package/ui/FatalErrorDialog.d.ts +6 -7
  154. package/ui/FatalErrorDialog.js +7 -7
  155. package/ui/FileSelector/FileSelector.d.ts +2 -2
  156. package/ui/FileSelector/FileSelector.js +3 -2
  157. package/ui/FileSelector/LocalFileChooser.d.ts +2 -2
  158. package/ui/FileSelector/UrlChooser.d.ts +3 -4
  159. package/ui/FileSelector/UrlChooser.js +8 -10
  160. package/ui/Icons.d.ts +10 -10
  161. package/ui/LoadingEllipses.d.ts +2 -2
  162. package/ui/Logo.d.ts +3 -3
  163. package/ui/Menu.d.ts +2 -2
  164. package/ui/PrerenderedCanvas.d.ts +2 -2
  165. package/ui/ResizeBar.d.ts +1 -1
  166. package/ui/ResizeBar.js +1 -1
  167. package/ui/ResizeHandle.d.ts +2 -2
  168. package/ui/ReturnToImportFormDialog.d.ts +2 -2
  169. package/ui/SanitizedHTML.d.ts +2 -2
  170. package/ui/SanitizedHTML.js +6 -0
  171. package/ui/Snackbar.d.ts +7 -9
  172. package/ui/Snackbar.js +12 -17
  173. package/ui/SnackbarModel.d.ts +9 -3
  174. package/ui/SnackbarModel.js +3 -3
  175. package/ui/Tooltip.d.ts +2 -2
  176. package/ui/index.d.ts +0 -1
  177. package/ui/index.js +1 -3
  178. package/ui/react-colorful.d.ts +1 -1
  179. package/ui/theme.js +3 -18
  180. package/util/Base1DUtils.js +2 -1
  181. package/util/QuickLRU.d.ts +1 -1
  182. package/util/blockTypes.js +1 -1
  183. package/util/formatFastaStrings.js +1 -1
  184. package/util/index.d.ts +18 -2
  185. package/util/index.js +77 -11
  186. package/util/io/index.js +1 -1
  187. package/util/layouts/PrecomputedMultiLayout.d.ts +1 -1
  188. package/util/mst-reflection.js +1 -2
  189. package/util/offscreenCanvasUtils.d.ts +2 -2
  190. package/util/stats.d.ts +5 -5
  191. package/util/types/index.d.ts +9 -3
  192. package/util/types/index.js +6 -2
  193. package/util/types/mst.d.ts +12 -9
  194. package/util/types/util.d.ts +0 -3
  195. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +0 -62
  196. package/BaseFeatureWidget/BaseFeatureDetail.js +0 -378
  197. package/BaseFeatureWidget/SequenceBox.d.ts +0 -29
  198. package/BaseFeatureWidget/SequenceBox.js +0 -63
  199. package/BaseFeatureWidget/SequenceFeatureDetails.d.ts +0 -3
  200. package/BaseFeatureWidget/SequenceFeatureDetails.js +0 -230
  201. package/data_adapters/BaseAdapter.d.ts +0 -138
  202. package/ui/AboutDialog.d.ts +0 -12
  203. package/ui/AboutDialog.js +0 -125
  204. package/ui/App.d.ts +0 -18
  205. package/ui/App.js +0 -114
  206. package/ui/AppToolbar.d.ts +0 -19
  207. package/ui/AppToolbar.js +0 -56
  208. package/ui/Drawer.d.ts +0 -8
  209. package/ui/Drawer.js +0 -34
  210. package/ui/DrawerWidget.d.ts +0 -6
  211. package/ui/DrawerWidget.js +0 -130
  212. package/ui/ViewContainer.d.ts +0 -9
  213. package/ui/ViewContainer.js +0 -76
  214. package/ui/ViewContainerTitle.d.ts +0 -6
  215. package/ui/ViewContainerTitle.js +0 -42
  216. package/ui/ViewLauncher.d.ts +0 -18
  217. package/ui/ViewLauncher.js +0 -50
  218. package/ui/ViewMenu.d.ts +0 -9
  219. package/ui/ViewMenu.js +0 -69
  220. package/ui/ViewPanel.d.ts +0 -19
  221. package/ui/ViewPanel.js +0 -49
  222. /package/BaseFeatureWidget/{test_data → SequenceFeatureDetails/test_data}/DLGAP3.js +0 -0
  223. /package/BaseFeatureWidget/{test_data → SequenceFeatureDetails/test_data}/NCDN.js +0 -0
package/ui/AppToolbar.js DELETED
@@ -1,56 +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
- // ui elements
11
- const DropDownMenu_1 = __importDefault(require("./DropDownMenu"));
12
- const EditableTypography_1 = __importDefault(require("./EditableTypography"));
13
- const AppLogo_1 = __importDefault(require("./AppLogo"));
14
- const useStyles = (0, mui_1.makeStyles)()(theme => ({
15
- grow: {
16
- flexGrow: 1,
17
- },
18
- inputBase: {
19
- color: theme.palette.primary.contrastText,
20
- },
21
- inputRoot: {
22
- '&:hover': {
23
- backgroundColor: theme.palette.primary.light,
24
- },
25
- },
26
- inputFocused: {
27
- borderColor: theme.palette.secondary.main,
28
- backgroundColor: theme.palette.primary.light,
29
- },
30
- }));
31
- const AppToolbar = (0, mobx_react_1.observer)(function ({ session, HeaderButtons = react_1.default.createElement("div", null), }) {
32
- const { classes } = useStyles();
33
- const { savedSessionNames, name, menus } = session;
34
- function handleNameChange(newName) {
35
- if (savedSessionNames === null || savedSessionNames === void 0 ? void 0 : savedSessionNames.includes(newName)) {
36
- session.notify(`Cannot rename session to "${newName}", a saved session with that name already exists`, 'warning');
37
- }
38
- else {
39
- session.renameCurrentSession(newName);
40
- }
41
- }
42
- return (react_1.default.createElement(material_1.Toolbar, null,
43
- menus.map(menu => (react_1.default.createElement(DropDownMenu_1.default, { key: menu.label, menuTitle: menu.label, menuItems: menu.menuItems, session: session }))),
44
- react_1.default.createElement("div", { className: classes.grow }),
45
- react_1.default.createElement(material_1.Tooltip, { title: "Rename Session", arrow: true },
46
- react_1.default.createElement(EditableTypography_1.default, { value: name, setValue: handleNameChange, variant: "body1", classes: {
47
- inputBase: classes.inputBase,
48
- inputRoot: classes.inputRoot,
49
- inputFocused: classes.inputFocused,
50
- } })),
51
- HeaderButtons,
52
- react_1.default.createElement("div", { className: classes.grow }),
53
- react_1.default.createElement("div", { style: { width: 150, maxHeight: 48 } },
54
- react_1.default.createElement(AppLogo_1.default, { session: session }))));
55
- });
56
- exports.default = AppToolbar;
package/ui/Drawer.d.ts DELETED
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { SessionWithDrawerWidgets } from '../util/types';
3
- declare function Drawer({ children, session, }: {
4
- children: React.ReactNode;
5
- session: SessionWithDrawerWidgets;
6
- }): JSX.Element;
7
- declare const _default: typeof Drawer;
8
- export default _default;
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,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { SessionWithDrawerWidgets } from '../util/types';
3
- declare const DrawerWidget: ({ session }: {
4
- session: SessionWithDrawerWidgets;
5
- }) => JSX.Element;
6
- export default DrawerWidget;
@@ -1,130 +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)(({ 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)(({ 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(DrawerComponent, { model: visibleWidget, session: session, toolbarHeight: toolbarHeight })) : null))));
129
- });
130
- 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,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { IBaseViewModel } from '../pluggableElementTypes';
3
- declare const _default: ({ view, }: {
4
- view: IBaseViewModel;
5
- }) => JSX.Element;
6
- 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,18 +0,0 @@
1
- /// <reference types="react" />
2
- import { NotificationLevel, SnackAction, SessionWithDrawerWidgets } from '../util';
3
- import { MenuItem as JBMenuItem } from './Menu';
4
- type SnackbarMessage = [string, NotificationLevel, SnackAction];
5
- type AppSession = SessionWithDrawerWidgets & {
6
- savedSessionNames: string[];
7
- menus: {
8
- label: string;
9
- menuItems: JBMenuItem[];
10
- }[];
11
- renameCurrentSession: (arg: string) => void;
12
- snackbarMessages: SnackbarMessage[];
13
- popSnackbarMessage: () => unknown;
14
- };
15
- declare const ViewLauncher: ({ session }: {
16
- session: AppSession;
17
- }) => JSX.Element;
18
- 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,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { SvgIconProps, IconButtonProps as IconButtonPropsType } from '@mui/material';
3
- import { IBaseViewModel } from '../pluggableElementTypes/models';
4
- declare const ViewMenu: ({ model, IconButtonProps, IconProps, }: {
5
- model: IBaseViewModel;
6
- IconButtonProps?: IconButtonPropsType<"button", {}> | undefined;
7
- IconProps: SvgIconProps;
8
- }) => JSX.Element;
9
- 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,19 +0,0 @@
1
- /// <reference types="react" />
2
- import { AbstractViewModel, NotificationLevel, SessionWithDrawerWidgets, SnackAction } from '../util';
3
- import { MenuItem as JBMenuItem } from './Menu';
4
- type SnackbarMessage = [string, NotificationLevel, SnackAction];
5
- type AppSession = SessionWithDrawerWidgets & {
6
- savedSessionNames: string[];
7
- menus: {
8
- label: string;
9
- menuItems: JBMenuItem[];
10
- }[];
11
- renameCurrentSession: (arg: string) => void;
12
- snackbarMessages: SnackbarMessage[];
13
- popSnackbarMessage: () => unknown;
14
- };
15
- declare const ViewPanel: ({ view, session, }: {
16
- view: AbstractViewModel;
17
- session: AppSession;
18
- }) => JSX.Element;
19
- 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;