@jbrowse/plugin-data-management 2.6.2 → 2.7.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 (161) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +2 -2
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +17 -8
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -2
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js +2 -1
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -2
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +5 -3
  7. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +3 -4
  8. package/dist/AddTrackWidget/components/AddTrackWidget.js +3 -3
  9. package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +2 -2
  10. package/dist/AddTrackWidget/components/ConfirmTrack.js +3 -2
  11. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +3 -4
  12. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +32 -27
  13. package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +3 -4
  14. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +10 -7
  15. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
  16. package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +3 -4
  17. package/dist/AddTrackWidget/components/TrackSourceSelect.js +3 -3
  18. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -2
  19. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +2 -1
  20. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -2
  21. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +2 -1
  22. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +3 -5
  23. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +2 -1
  24. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
  25. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +5 -8
  26. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
  27. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +3 -3
  28. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +2 -3
  29. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +2 -3
  30. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +13 -0
  31. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +72 -0
  32. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +31 -77
  33. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +3 -4
  34. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -3
  35. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +5 -3
  36. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +10 -4
  37. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
  38. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +53 -33
  39. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -2
  40. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +39 -21
  41. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -4
  42. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +13 -9
  43. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +4 -3
  44. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -6
  45. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +22 -0
  46. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +3 -3
  47. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +2 -1
  48. package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -2
  49. package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +12 -0
  50. package/dist/HierarchicalTrackSelectorWidget/filterTracks.js +32 -0
  51. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +21 -0
  52. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +98 -0
  53. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +68 -28
  54. package/dist/HierarchicalTrackSelectorWidget/model.js +147 -117
  55. package/dist/HierarchicalTrackSelectorWidget/util.d.ts +12 -0
  56. package/dist/HierarchicalTrackSelectorWidget/util.js +53 -0
  57. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +7 -0
  58. package/dist/PluginStoreWidget/components/{CustomPluginForm.js → AddCustomPluginDialog.js} +13 -21
  59. package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +5 -0
  60. package/dist/PluginStoreWidget/components/DeletePluginDialog.js +28 -0
  61. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -6
  62. package/dist/PluginStoreWidget/components/InstalledPlugin.js +24 -51
  63. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
  64. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +7 -9
  65. package/dist/PluginStoreWidget/components/PluginCard.d.ts +2 -2
  66. package/dist/PluginStoreWidget/components/PluginCard.js +5 -6
  67. package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +3 -4
  68. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +14 -42
  69. package/dist/PluginStoreWidget/components/util.d.ts +5 -0
  70. package/dist/PluginStoreWidget/components/util.js +29 -0
  71. package/dist/PluginStoreWidget/model.d.ts +2 -2
  72. package/dist/PluginStoreWidget/model.js +2 -2
  73. package/dist/index.d.ts +1 -9
  74. package/dist/index.js +1 -4
  75. package/dist/ucsc-trackhub/model.js +2 -2
  76. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +2 -2
  77. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +19 -10
  78. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -2
  79. package/esm/AddConnectionWidget/components/ConfigureConnection.js +2 -1
  80. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -2
  81. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +5 -3
  82. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +3 -4
  83. package/esm/AddTrackWidget/components/AddTrackWidget.js +3 -3
  84. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +2 -2
  85. package/esm/AddTrackWidget/components/ConfirmTrack.js +4 -3
  86. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +3 -4
  87. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +33 -28
  88. package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +3 -4
  89. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +11 -8
  90. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +1 -1
  91. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +3 -4
  92. package/esm/AddTrackWidget/components/TrackSourceSelect.js +3 -3
  93. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -2
  94. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +2 -1
  95. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -2
  96. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +2 -1
  97. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +3 -5
  98. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +2 -1
  99. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
  100. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +6 -9
  101. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
  102. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +3 -3
  103. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +2 -3
  104. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +3 -2
  105. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +13 -0
  106. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +43 -0
  107. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +31 -54
  108. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +3 -4
  109. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -3
  110. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +5 -3
  111. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +10 -4
  112. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
  113. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +51 -31
  114. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -2
  115. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +38 -20
  116. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -4
  117. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +13 -9
  118. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +4 -3
  119. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -6
  120. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +22 -0
  121. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +2 -2
  122. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +2 -1
  123. package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -2
  124. package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +12 -0
  125. package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +28 -0
  126. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +21 -0
  127. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +94 -0
  128. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +68 -28
  129. package/esm/HierarchicalTrackSelectorWidget/model.js +149 -116
  130. package/esm/HierarchicalTrackSelectorWidget/util.d.ts +12 -0
  131. package/esm/HierarchicalTrackSelectorWidget/util.js +45 -0
  132. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +7 -0
  133. package/esm/PluginStoreWidget/components/{CustomPluginForm.js → AddCustomPluginDialog.js} +13 -21
  134. package/esm/PluginStoreWidget/components/DeletePluginDialog.d.ts +5 -0
  135. package/esm/PluginStoreWidget/components/DeletePluginDialog.js +22 -0
  136. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -6
  137. package/esm/PluginStoreWidget/components/InstalledPlugin.js +27 -54
  138. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
  139. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +7 -9
  140. package/esm/PluginStoreWidget/components/PluginCard.d.ts +2 -2
  141. package/esm/PluginStoreWidget/components/PluginCard.js +5 -6
  142. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +3 -4
  143. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +15 -43
  144. package/esm/PluginStoreWidget/components/util.d.ts +5 -0
  145. package/esm/PluginStoreWidget/components/util.js +25 -0
  146. package/esm/PluginStoreWidget/model.d.ts +2 -2
  147. package/esm/PluginStoreWidget/model.js +1 -1
  148. package/esm/index.d.ts +1 -9
  149. package/esm/index.js +1 -3
  150. package/esm/ucsc-trackhub/model.js +2 -2
  151. package/package.json +5 -4
  152. package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +0 -9
  153. package/dist/SetDefaultSession/SetDefaultSession.d.ts +0 -6
  154. package/dist/SetDefaultSession/SetDefaultSession.js +0 -38
  155. package/dist/SetDefaultSession/index.d.ts +0 -1
  156. package/dist/SetDefaultSession/index.js +0 -8
  157. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +0 -9
  158. package/esm/SetDefaultSession/SetDefaultSession.d.ts +0 -6
  159. package/esm/SetDefaultSession/SetDefaultSession.js +0 -33
  160. package/esm/SetDefaultSession/index.d.ts +0 -1
  161. package/esm/SetDefaultSession/index.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const _default: ({ model, }: {
2
+ declare const AddConnectionWidget: ({ model }: {
3
3
  model: unknown;
4
4
  }) => React.JSX.Element;
5
- export default _default;
5
+ export default AddConnectionWidget;
@@ -34,6 +34,7 @@ const mobx_react_1 = require("mobx-react");
34
34
  // locals
35
35
  const ConfigureConnection_1 = __importDefault(require("./ConfigureConnection"));
36
36
  const ConnectionTypeSelect_1 = __importDefault(require("./ConnectionTypeSelect"));
37
+ const product_core_1 = require("@jbrowse/product-core");
37
38
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
38
39
  root: {
39
40
  marginTop: theme.spacing(1),
@@ -50,13 +51,15 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
50
51
  },
51
52
  }));
52
53
  const steps = ['Select a Connection Type', 'Configure Connection'];
53
- exports.default = (0, mobx_react_1.observer)(function AddConnectionWidget({ model, }) {
54
+ const AddConnectionWidget = (0, mobx_react_1.observer)(function ({ model }) {
54
55
  const [connectionType, setConnectionType] = (0, react_1.useState)();
55
- const [configModel, setConfigModel] = (0, react_1.useState)();
56
+ const [connectionId, setConnectionId] = (0, react_1.useState)();
56
57
  const [activeStep, setActiveStep] = (0, react_1.useState)(0);
57
58
  const { classes } = useStyles();
58
59
  const session = (0, util_1.getSession)(model);
59
60
  const { pluginManager } = (0, util_1.getEnv)(session);
61
+ // useMemo is needed for react@18+mobx-react@9, previous code called configScema.create directly in a setConfigModel useState hook setter but this caused infinite loop
62
+ const configModel = (0, react_1.useMemo)(() => connectionType === null || connectionType === void 0 ? void 0 : connectionType.configSchema.create({ connectionId }, (0, util_1.getEnv)(model)), [connectionId, connectionType, model]);
60
63
  return (react_1.default.createElement("div", { className: classes.root },
61
64
  react_1.default.createElement(material_1.Stepper, { className: classes.stepper, activeStep: activeStep, orientation: "vertical" }, steps.map(label => (react_1.default.createElement(material_1.Step, { key: label },
62
65
  react_1.default.createElement(material_1.StepLabel, null, label),
@@ -66,21 +69,27 @@ exports.default = (0, mobx_react_1.observer)(function AddConnectionWidget({ mode
66
69
  if (!c) {
67
70
  return;
68
71
  }
69
- const connectionId = `${c.name}-${Date.now()}`;
70
- setConfigModel(c.configSchema.create({ connectionId }, (0, util_1.getEnv)(model)));
72
+ setConnectionId(`${c.name}-${Date.now()}`);
71
73
  } })) : connectionType && configModel ? (react_1.default.createElement(ConfigureConnection_1.default, { connectionType: connectionType, model: configModel, session: session })) : null,
72
74
  react_1.default.createElement("div", { className: classes.actionsContainer },
73
75
  react_1.default.createElement(material_1.Button, { disabled: activeStep === 0, onClick: () => setActiveStep(activeStep - 1), className: classes.button }, "Back"),
74
76
  react_1.default.createElement(material_1.Button, { disabled: !((activeStep === 0 && connectionType) ||
75
77
  (activeStep === 1 && configModel)), variant: "contained", color: "primary", onClick: () => {
76
- var _a;
77
78
  if (activeStep === steps.length - 1) {
78
- const conf = session.addConnectionConf(configModel);
79
- (_a = session.makeConnection) === null || _a === void 0 ? void 0 : _a.call(session, conf);
80
- session.hideWidget(model);
79
+ if (configModel && (0, product_core_1.isSessionWithConnections)(session)) {
80
+ const conf = session.addConnectionConf(configModel);
81
+ session.makeConnection(conf);
82
+ }
83
+ else {
84
+ session.notify('No config model to add');
85
+ }
86
+ if ((0, util_1.isSessionModelWithWidgets)(session)) {
87
+ session.hideWidget(model);
88
+ }
81
89
  }
82
90
  else {
83
91
  setActiveStep(activeStep + 1);
84
92
  }
85
93
  }, className: classes.button, "data-testid": "addConnectionNext" }, activeStep === steps.length - 1 ? 'Connect' : 'Next')))))))));
86
94
  });
95
+ exports.default = AddConnectionWidget;
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { ConnectionType } from '@jbrowse/core/pluggableElementTypes';
3
3
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
4
  import { AbstractSessionModel } from '@jbrowse/core/util';
5
- declare const _default: ({ connectionType, model, session, }: {
5
+ declare const ConfigureConnection: ({ connectionType, model, session, }: {
6
6
  connectionType: ConnectionType;
7
7
  model: AnyConfigurationModel;
8
8
  session: AbstractSessionModel;
9
9
  }) => React.JSX.Element;
10
- export default _default;
10
+ export default ConfigureConnection;
@@ -27,8 +27,9 @@ const react_1 = __importStar(require("react"));
27
27
  const mobx_react_1 = require("mobx-react");
28
28
  const plugin_config_1 = require("@jbrowse/plugin-config");
29
29
  const ui_1 = require("@jbrowse/core/ui");
30
- exports.default = (0, mobx_react_1.observer)(function ({ connectionType, model, session, }) {
30
+ const ConfigureConnection = (0, mobx_react_1.observer)(function ({ connectionType, model, session, }) {
31
31
  const ConfigEditorComponent = connectionType.configEditorComponent || plugin_config_1.ConfigurationEditor;
32
32
  return (react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement(ui_1.LoadingEllipses, null) },
33
33
  react_1.default.createElement(ConfigEditorComponent, { model: { target: model }, session: session })));
34
34
  });
35
+ exports.default = ConfigureConnection;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ConnectionType } from '@jbrowse/core/pluggableElementTypes';
3
- declare const _default: ({ connectionTypeChoices, connectionType, setConnectionType, }: {
3
+ declare const ConnectionTypeSelect: ({ connectionTypeChoices, connectionType, setConnectionType, }: {
4
4
  connectionTypeChoices: ConnectionType[];
5
5
  connectionType?: ConnectionType | undefined;
6
6
  setConnectionType: (c?: ConnectionType) => void;
7
7
  }) => React.JSX.Element;
8
- export default _default;
8
+ export default ConnectionTypeSelect;
@@ -31,14 +31,16 @@ const material_1 = require("@mui/material");
31
31
  const mobx_react_1 = require("mobx-react");
32
32
  // icons
33
33
  const OpenInNew_1 = __importDefault(require("@mui/icons-material/OpenInNew"));
34
- exports.default = (0, mobx_react_1.observer)(function ConnectionTypeSelect({ connectionTypeChoices, connectionType, setConnectionType, }) {
34
+ const ConnectionTypeSelect = (0, mobx_react_1.observer)(function ConnectionTypeSelect({ connectionTypeChoices, connectionType, setConnectionType, }) {
35
+ const firstChoice = connectionTypeChoices[0];
35
36
  (0, react_1.useEffect)(() => {
36
37
  if (!connectionType) {
37
- setConnectionType(connectionTypeChoices[0]);
38
+ setConnectionType(firstChoice);
38
39
  }
39
- });
40
+ }, [connectionType, firstChoice, setConnectionType]);
40
41
  return (react_1.default.createElement("form", { autoComplete: "off" }, connectionType ? (react_1.default.createElement(material_1.TextField, { value: connectionType.name, label: "connectionType", helperText: connectionType.description ? (react_1.default.createElement(react_1.default.Fragment, null,
41
42
  connectionType.description,
42
43
  connectionType.url ? (react_1.default.createElement(material_1.IconButton, { href: connectionType.url, rel: "noopener noreferrer", target: "_blank" },
43
44
  react_1.default.createElement(OpenInNew_1.default, null))) : null)) : null, select: true, fullWidth: true, onChange: event => setConnectionType(connectionTypeChoices.find(c => c.name === event.target.value)), variant: "outlined" }, connectionTypeChoices.map(c => (react_1.default.createElement(material_1.MenuItem, { key: c.name, value: c.name }, c.displayName || c.name))))) : null));
44
45
  });
46
+ exports.default = ConnectionTypeSelect;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AddTrackModel } from '../model';
3
- declare function AddTrackSelector({ model }: {
3
+ declare const AddTrackSelector: ({ model, }: {
4
4
  model: AddTrackModel;
5
- }): React.JSX.Element;
6
- declare const _default: typeof AddTrackSelector;
7
- export default _default;
5
+ }) => React.JSX.Element;
6
+ export default AddTrackSelector;
@@ -32,7 +32,7 @@ const material_1 = require("@mui/material");
32
32
  const util_1 = require("@jbrowse/core/util");
33
33
  const DefaultAddTrackWorkflow_1 = __importDefault(require("./DefaultAddTrackWorkflow"));
34
34
  const PasteConfigWorkflow_1 = __importDefault(require("./PasteConfigWorkflow"));
35
- function AddTrackSelector({ model }) {
35
+ const AddTrackSelector = (0, mobx_react_1.observer)(function ({ model, }) {
36
36
  const [val, setVal] = (0, react_1.useState)('Default add track workflow');
37
37
  const { pluginManager } = (0, util_1.getEnv)(model);
38
38
  const widgets = pluginManager.getAddTrackWorkflowElements();
@@ -50,5 +50,5 @@ function AddTrackSelector({ model }) {
50
50
  react_1.default.createElement(material_1.FormHelperText, null, "Type of add track workflow")),
51
51
  react_1.default.createElement("br", null),
52
52
  react_1.default.createElement(Component, { model: model })));
53
- }
54
- exports.default = (0, mobx_react_1.observer)(AddTrackSelector);
53
+ });
54
+ exports.default = AddTrackSelector;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AddTrackModel } from '../model';
3
- declare const _default: ({ model, }: {
3
+ declare const ConfirmTrack: ({ model, }: {
4
4
  model: AddTrackModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default ConfirmTrack;
@@ -74,7 +74,7 @@ function UnknownAdapterPrompt({ model }) {
74
74
  "and add a feature request for this data type."),
75
75
  react_1.default.createElement(TrackAdapterSelector_1.default, { model: model })));
76
76
  }
77
- exports.default = (0, mobx_react_1.observer)(function ConfirmTrack({ model, }) {
77
+ const ConfirmTrack = (0, mobx_react_1.observer)(function ConfirmTrack({ model, }) {
78
78
  const { classes } = useStyles();
79
79
  const [check, setCheck] = (0, react_1.useState)(true);
80
80
  const session = (0, util_1.getSession)(model);
@@ -102,7 +102,7 @@ exports.default = (0, mobx_react_1.observer)(function ConfirmTrack({ model, }) {
102
102
  if (!(trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type)) {
103
103
  return react_1.default.createElement(material_1.Typography, null, "Could not recognize this data type.");
104
104
  }
105
- const supportedForIndexing = (0, util_1.supportedIndexingAdapters)(trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type);
105
+ const supportedForIndexing = (0, util_1.isSupportedIndexingAdapter)(trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type);
106
106
  return (react_1.default.createElement("div", null,
107
107
  trackAdapter ? (react_1.default.createElement(StatusMessage, { trackAdapter: trackAdapter, trackType: trackType })) : null,
108
108
  warningMessage ? (react_1.default.createElement(material_1.Typography, { style: { color: 'orange' } }, warningMessage)) : null,
@@ -123,3 +123,4 @@ exports.default = (0, mobx_react_1.observer)(function ConfirmTrack({ model, }) {
123
123
  } }) }))),
124
124
  util_1.isElectron && check && supportedForIndexing ? (react_1.default.createElement(TextIndexingConfig_1.default, { model: model })) : null));
125
125
  });
126
+ exports.default = ConfirmTrack;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AddTrackModel } from '../model';
3
- declare function AddTrackWorkflow({ model }: {
3
+ declare const DefaultAddTrackWorkflow: ({ model, }: {
4
4
  model: AddTrackModel;
5
- }): React.JSX.Element;
6
- declare const _default: typeof AddTrackWorkflow;
7
- export default _default;
5
+ }) => React.JSX.Element;
6
+ export default DefaultAddTrackWorkflow;
@@ -55,7 +55,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
55
55
  },
56
56
  }));
57
57
  const steps = ['Enter track data', 'Confirm track type'];
58
- function AddTrackWorkflow({ model }) {
58
+ const DefaultAddTrackWorkflow = (0, mobx_react_1.observer)(function ({ model, }) {
59
59
  const [activeStep, setActiveStep] = (0, react_1.useState)(0);
60
60
  const { classes } = useStyles();
61
61
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -74,6 +74,7 @@ function AddTrackWorkflow({ model }) {
74
74
  }
75
75
  }
76
76
  async function handleNext() {
77
+ var _a, _b;
77
78
  if (activeStep !== steps.length - 1) {
78
79
  setActiveStep(activeStep + 1);
79
80
  return;
@@ -83,6 +84,10 @@ function AddTrackWorkflow({ model }) {
83
84
  `${session.adminMode ? '' : '-sessionTrack'}`,
84
85
  ].join('');
85
86
  const assemblyInstance = session.assemblyManager.get(assembly);
87
+ if (!(0, util_1.isSessionWithAddTracks)(session)) {
88
+ setTrackErrorMessage('Unable to add tracks to this model');
89
+ return;
90
+ }
86
91
  if (assemblyInstance && trackAdapter && trackAdapter.type !== 'UNKNOWN') {
87
92
  session.addTrackConf({
88
93
  trackId,
@@ -94,36 +99,36 @@ function AddTrackWorkflow({ model }) {
94
99
  sequenceAdapter: (0, configuration_1.getConf)(assemblyInstance, ['sequence', 'adapter']),
95
100
  },
96
101
  });
97
- if (model.view) {
98
- model.view.showTrack(trackId);
99
- if (util_1.isElectron &&
100
- textIndexTrack &&
101
- (0, util_1.supportedIndexingAdapters)(trackAdapter.type)) {
102
- const attr = textIndexingConf || {
103
- attributes: ['Name', 'ID'],
104
- exclude: ['CDS', 'exon'],
105
- };
106
- const indexName = trackName + '-index';
107
- const newEntry = {
108
- indexingParams: {
109
- ...attr,
110
- assemblies: [assembly],
111
- tracks: [trackId],
112
- indexType: 'perTrack',
113
- name: indexName,
114
- timestamp: new Date().toISOString(),
115
- },
102
+ (_b = (_a = model.view).showTrack) === null || _b === void 0 ? void 0 : _b.call(_a, trackId);
103
+ if (util_1.isElectron &&
104
+ textIndexTrack &&
105
+ (0, util_1.isSupportedIndexingAdapter)(trackAdapter.type)) {
106
+ const attr = textIndexingConf || {
107
+ attributes: ['Name', 'ID'],
108
+ exclude: ['CDS', 'exon'],
109
+ };
110
+ const indexName = trackName + '-index';
111
+ const newEntry = {
112
+ indexingParams: {
113
+ ...attr,
114
+ assemblies: [assembly],
115
+ tracks: [trackId],
116
+ indexType: 'perTrack',
116
117
  name: indexName,
117
- cancelCallback: () => jobsManager.abortJob(),
118
- };
119
- jobsManager.queueJob(newEntry);
120
- }
118
+ timestamp: new Date().toISOString(),
119
+ },
120
+ name: indexName,
121
+ cancelCallback: () => jobsManager.abortJob(),
122
+ };
123
+ jobsManager.queueJob(newEntry);
121
124
  }
122
125
  else {
123
126
  session.notify('Open a new view, or use the track selector in an existing view, to view this track', 'info');
124
127
  }
125
128
  model.clearData();
126
- session.hideWidget(model);
129
+ if ((0, util_1.isSessionModelWithWidgets)(session)) {
130
+ session.hideWidget(model);
131
+ }
127
132
  }
128
133
  else {
129
134
  setTrackErrorMessage('Failed to add track.\nThe configuration of this file is not currently supported.');
@@ -153,5 +158,5 @@ function AddTrackWorkflow({ model }) {
153
158
  react_1.default.createElement(material_1.Button, { disabled: isNextDisabled(), variant: "contained", color: "primary", onClick: handleNext, className: classes.button, "data-testid": "addTrackNextButton" }, activeStep === steps.length - 1 ? 'Add' : 'Next')),
154
159
  trackErrorMessage ? (react_1.default.createElement("div", { className: classes.alertContainer },
155
160
  react_1.default.createElement(material_1.Alert, { severity: "error" }, trackErrorMessage))) : null)))))));
156
- }
157
- exports.default = (0, mobx_react_1.observer)(AddTrackWorkflow);
161
+ });
162
+ exports.default = DefaultAddTrackWorkflow;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AddTrackModel } from '../model';
3
- declare function AddTrackWorkflow({ model }: {
3
+ declare const PasteConfigAddTrackWorkflow: ({ model, }: {
4
4
  model: AddTrackModel;
5
- }): React.JSX.Element;
6
- declare const _default: typeof AddTrackWorkflow;
7
- export default _default;
5
+ }) => React.JSX.Element;
6
+ export default PasteConfigAddTrackWorkflow;
@@ -39,7 +39,7 @@ const useStyles = (0, mui_1.makeStyles)()({
39
39
  display: 'block',
40
40
  },
41
41
  });
42
- function AddTrackWorkflow({ model }) {
42
+ const PasteConfigAddTrackWorkflow = (0, mobx_react_1.observer)(function ({ model, }) {
43
43
  const { classes } = useStyles();
44
44
  const [val, setVal] = (0, react_1.useState)('');
45
45
  const [error, setError] = (0, react_1.useState)();
@@ -52,15 +52,18 @@ function AddTrackWorkflow({ model }) {
52
52
  const session = (0, util_1.getSession)(model);
53
53
  const conf = JSON.parse(val);
54
54
  const confs = Array.isArray(conf) ? conf : [conf];
55
- confs.forEach(c => session.addTrackConf(c));
56
- confs.forEach(c => c.trackId);
57
- model.clearData();
58
- session.hideWidget(model);
55
+ if ((0, util_1.isSessionWithAddTracks)(session) &&
56
+ (0, util_1.isSessionModelWithWidgets)(session)) {
57
+ confs.forEach(c => session.addTrackConf(c));
58
+ confs.forEach(c => model.view.showTrack(c.trackId));
59
+ model.clearData();
60
+ session.hideWidget(model);
61
+ }
59
62
  }
60
63
  catch (e) {
61
64
  console.error(e);
62
65
  setError(e);
63
66
  }
64
67
  } }, "Submit")));
65
- }
66
- exports.default = (0, mobx_react_1.observer)(AddTrackWorkflow);
68
+ });
69
+ exports.default = PasteConfigAddTrackWorkflow;
@@ -41,7 +41,7 @@ const TrackAdapterSelector = (0, mobx_react_1.observer)(({ model }) => {
41
41
  // returning array avoids needing to use a react fragment which
42
42
  // Select/TextField sub-elements disagree with
43
43
  return [
44
- react_1.default.createElement(material_1.ListSubheader, null, key),
44
+ react_1.default.createElement(material_1.ListSubheader, { key: key }, key),
45
45
  val.map(elt => (react_1.default.createElement(material_1.MenuItem, { key: elt.name, value: elt.name }, elt.displayName))),
46
46
  ];
47
47
  })));
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AddTrackModel } from '../model';
3
- declare function TrackSourceSelect({ model }: {
3
+ declare const TrackSourceSelect: ({ model, }: {
4
4
  model: AddTrackModel;
5
- }): React.JSX.Element;
6
- declare const _default: typeof TrackSourceSelect;
7
- export default _default;
5
+ }) => React.JSX.Element;
6
+ export default TrackSourceSelect;
@@ -17,12 +17,12 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
17
17
  height: theme.spacing(8),
18
18
  },
19
19
  }));
20
- function TrackSourceSelect({ model }) {
20
+ const TrackSourceSelect = (0, mobx_react_1.observer)(function ({ model, }) {
21
21
  const { classes } = useStyles();
22
22
  const rootModel = (0, mobx_state_tree_1.getRoot)(model);
23
23
  return (react_1.default.createElement(material_1.Paper, { className: classes.paper },
24
24
  react_1.default.createElement(ui_1.FileSelector, { name: "Main file", description: "", location: model.trackData, setLocation: model.setTrackData, setName: model.setTrackName, rootModel: rootModel }),
25
25
  react_1.default.createElement("div", { className: classes.spacer }),
26
26
  react_1.default.createElement(ui_1.FileSelector, { name: "Index file", description: "(Optional) The URL of the index file is automatically inferred from the URL of the main file if it is not supplied.", location: model.indexTrackData, setLocation: model.setIndexTrackData, setName: model.setTrackName, rootModel: rootModel })));
27
- }
28
- exports.default = (0, mobx_react_1.observer)(TrackSourceSelect);
27
+ });
28
+ exports.default = TrackSourceSelect;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { HierarchicalTrackSelectorModel } from '../model';
3
- declare const _default: ({ model, }: {
3
+ declare const HierarchicalFab: ({ model, }: {
4
4
  model: HierarchicalTrackSelectorModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default HierarchicalFab;
@@ -40,7 +40,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
40
40
  right: theme.spacing(6),
41
41
  },
42
42
  }));
43
- exports.default = (0, mobx_react_1.observer)(function HierarchicalFab({ model, }) {
43
+ const HierarchicalFab = (0, mobx_react_1.observer)(function ({ model, }) {
44
44
  const { classes } = useStyles();
45
45
  const session = (0, util_1.getSession)(model);
46
46
  const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
@@ -68,3 +68,4 @@ exports.default = (0, mobx_react_1.observer)(function HierarchicalFab({ model, }
68
68
  }
69
69
  } }, "Add track")) : null))) : null));
70
70
  });
71
+ exports.default = HierarchicalFab;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { HierarchicalTrackSelectorModel } from '../model';
3
- declare const _default: ({ model, }: {
3
+ declare const ShoppingCart: ({ model, }: {
4
4
  model: HierarchicalTrackSelectorModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default ShoppingCart;
@@ -43,7 +43,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
43
43
  marginBottom: 0,
44
44
  },
45
45
  }));
46
- exports.default = (0, mobx_react_1.observer)(function ShoppingCart({ model, }) {
46
+ const ShoppingCart = (0, mobx_react_1.observer)(function ({ model, }) {
47
47
  const { classes } = useStyles();
48
48
  const { selection } = model;
49
49
  const { pluginManager } = (0, util_1.getEnv)(model);
@@ -67,3 +67,4 @@ exports.default = (0, mobx_react_1.observer)(function ShoppingCart({ model, }) {
67
67
  })),
68
68
  ] })));
69
69
  });
70
+ exports.default = ShoppingCart;
@@ -1,12 +1,10 @@
1
1
  import React from 'react';
2
- declare const _default: ({ modalInfo, onClose, }: {
2
+ declare const CloseConnectionDialog: ({ modalInfo, onClose, }: {
3
3
  modalInfo?: {
4
4
  name?: string | undefined;
5
- dereferenceTypeCount?: {
6
- [key: string]: number;
7
- } | undefined;
5
+ dereferenceTypeCount?: Record<string, number> | undefined;
8
6
  safelyBreakConnection?: (() => void) | undefined;
9
7
  } | undefined;
10
8
  onClose: () => void;
11
9
  }) => React.JSX.Element;
12
- export default _default;
10
+ export default CloseConnectionDialog;
@@ -7,7 +7,7 @@ const react_1 = __importDefault(require("react"));
7
7
  const material_1 = require("@mui/material");
8
8
  const ui_1 = require("@jbrowse/core/ui");
9
9
  const mobx_react_1 = require("mobx-react");
10
- exports.default = (0, mobx_react_1.observer)(function CloseConnectionDialog({ modalInfo = {}, onClose, }) {
10
+ const CloseConnectionDialog = (0, mobx_react_1.observer)(function CloseConnectionDialog({ modalInfo = {}, onClose, }) {
11
11
  const { name, dereferenceTypeCount, safelyBreakConnection } = modalInfo;
12
12
  return (react_1.default.createElement(ui_1.Dialog, { open: true, maxWidth: "lg", title: `Close connection "${name}"` },
13
13
  react_1.default.createElement(material_1.DialogContent, null,
@@ -24,3 +24,4 @@ exports.default = (0, mobx_react_1.observer)(function CloseConnectionDialog({ mo
24
24
  }
25
25
  : () => { }, color: "primary" }, "OK"))));
26
26
  });
27
+ exports.default = CloseConnectionDialog;
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
2
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
3
  import { AbstractSessionModel } from '@jbrowse/core/util';
4
- declare function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }: {
4
+ declare const DeleteConnectionDialog: ({ deleteDialogDetails, session, handleClose, }: {
5
5
  deleteDialogDetails: {
6
6
  name: string;
7
7
  connectionConf: AnyConfigurationModel;
8
8
  };
9
9
  session: AbstractSessionModel;
10
10
  handleClose: () => void;
11
- }): React.JSX.Element;
12
- declare const _default: typeof DeleteConnectionDialog;
13
- export default _default;
11
+ }) => React.JSX.Element;
12
+ export default DeleteConnectionDialog;
@@ -5,14 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const material_1 = require("@mui/material");
8
+ const ui_1 = require("@jbrowse/core/ui");
8
9
  const mobx_react_1 = require("mobx-react");
9
- function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }) {
10
+ const DeleteConnectionDialog = (0, mobx_react_1.observer)(function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, }) {
10
11
  const { connectionConf, name } = deleteDialogDetails;
11
- return (react_1.default.createElement(material_1.Dialog, { open: true },
12
- react_1.default.createElement(material_1.DialogTitle, null,
13
- "Delete connection \"",
14
- name,
15
- "\""),
12
+ return (react_1.default.createElement(ui_1.Dialog, { open: true, title: `Delete connection "${name}"` },
16
13
  react_1.default.createElement(material_1.DialogContent, null,
17
14
  react_1.default.createElement(material_1.DialogContentText, null, "Are you sure you want to delete this connection?")),
18
15
  react_1.default.createElement(material_1.DialogActions, null,
@@ -24,5 +21,5 @@ function DeleteConnectionDialog({ deleteDialogDetails, session, handleClose, })
24
21
  }
25
22
  handleClose();
26
23
  } }, "OK"))));
27
- }
28
- exports.default = (0, mobx_react_1.observer)(DeleteConnectionDialog);
24
+ });
25
+ exports.default = DeleteConnectionDialog;
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
3
  import { AbstractSessionModel } from '@jbrowse/core/util';
4
- declare function ManageConnectionsDlg({ session, handleClose, breakConnection, }: {
4
+ declare const ManageConnectionsDialog: ({ session, handleClose, breakConnection, }: {
5
5
  handleClose: () => void;
6
6
  session: AbstractSessionModel;
7
7
  breakConnection: (conf: AnyConfigurationModel, arg: boolean) => void;
8
- }): React.JSX.Element;
9
- declare const _default: typeof ManageConnectionsDlg;
10
- export default _default;
8
+ }) => React.JSX.Element;
9
+ export default ManageConnectionsDialog;
@@ -17,7 +17,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
17
17
  width: 500,
18
18
  },
19
19
  }));
20
- function ManageConnectionsDlg({ session, handleClose, breakConnection, }) {
20
+ const ManageConnectionsDialog = (0, mobx_react_1.observer)(function ({ session, handleClose, breakConnection, }) {
21
21
  const { classes } = useStyles();
22
22
  const { adminMode, connections, sessionConnections } = session;
23
23
  return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Delete connections" },
@@ -36,5 +36,5 @@ function ManageConnectionsDlg({ session, handleClose, breakConnection, }) {
36
36
  !connections.length ? (react_1.default.createElement(material_1.Typography, null, "No connections found")) : null)),
37
37
  react_1.default.createElement(material_1.DialogActions, null,
38
38
  react_1.default.createElement(material_1.Button, { onClick: () => handleClose(), variant: "contained", color: "primary" }, "Close"))));
39
- }
40
- exports.default = (0, mobx_react_1.observer)(ManageConnectionsDlg);
39
+ });
40
+ exports.default = ManageConnectionsDialog;
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
3
  import { AbstractSessionModel } from '@jbrowse/core/util';
4
- export declare function ellipses(slug: string): string;
5
- declare const _default: ({ session, handleClose, breakConnection, }: {
4
+ declare const ToggleConnectionDialog: ({ session, handleClose, breakConnection, }: {
6
5
  handleClose: () => void;
7
6
  session: AbstractSessionModel;
8
7
  breakConnection: (arg: AnyConfigurationModel) => void;
9
8
  }) => React.JSX.Element;
10
- export default _default;
9
+ export default ToggleConnectionDialog;
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ellipses = void 0;
7
6
  const react_1 = __importDefault(require("react"));
8
7
  const material_1 = require("@mui/material");
9
8
  const ui_1 = require("@jbrowse/core/ui");
@@ -13,7 +12,6 @@ const configuration_1 = require("@jbrowse/core/configuration");
13
12
  function ellipses(slug) {
14
13
  return slug.length > 20 ? `${slug.slice(0, 20)}...` : slug;
15
14
  }
16
- exports.ellipses = ellipses;
17
15
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
18
16
  connectionContainer: {
19
17
  width: 500,
@@ -45,7 +43,7 @@ const ConnectionList = (0, mobx_react_1.observer)(function ConnectionsList({ ses
45
43
  return (react_1.default.createElement("div", { className: classes.connectionContainer }, !session.connections.length ? (react_1.default.createElement(material_1.Typography, null, "No connections found")) : (session.connections.map((conf, idx) => (react_1.default.createElement("div", { key: conf.name + '_' + idx },
46
44
  react_1.default.createElement(ConnectionRow, { conf: conf, session: session, breakConnection: breakConnection })))))));
47
45
  });
48
- exports.default = (0, mobx_react_1.observer)(function ToggleConnectionDialog({ session, handleClose, breakConnection, }) {
46
+ const ToggleConnectionDialog = (0, mobx_react_1.observer)(function ({ session, handleClose, breakConnection, }) {
49
47
  return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Turn on/off connections" },
50
48
  react_1.default.createElement(material_1.DialogContent, null,
51
49
  react_1.default.createElement(material_1.Typography, null, "Use the checkbox to turn on/off connections"),
@@ -53,3 +51,4 @@ exports.default = (0, mobx_react_1.observer)(function ToggleConnectionDialog({ s
53
51
  react_1.default.createElement(material_1.DialogActions, null,
54
52
  react_1.default.createElement(material_1.Button, { onClick: () => handleClose(), variant: "contained", color: "primary" }, "Close"))));
55
53
  });
54
+ exports.default = ToggleConnectionDialog;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ export default function FacetFilter({ column, vals, width, dispatch, filters, }: {
3
+ column: {
4
+ field: string;
5
+ };
6
+ vals: [string, number][];
7
+ width: number;
8
+ dispatch: (arg: {
9
+ key: string;
10
+ val: string[];
11
+ }) => void;
12
+ filters: Record<string, string[]>;
13
+ }): React.JSX.Element;