@jbrowse/plugin-linear-comparative-view 2.18.0 → 3.0.1

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 (153) hide show
  1. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  2. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +36 -58
  3. package/dist/LGVSyntenyDisplay/components/util.d.ts +9 -6
  4. package/dist/LGVSyntenyDisplay/components/util.js +6 -12
  5. package/dist/LGVSyntenyDisplay/model.d.ts +21 -7
  6. package/dist/LGVSyntenyDisplay/model.js +19 -8
  7. package/dist/LinearComparativeView/components/Header.d.ts +1 -2
  8. package/dist/LinearComparativeView/components/Header.js +52 -81
  9. package/dist/LinearComparativeView/components/HeaderSearchBoxes.d.ts +1 -2
  10. package/dist/LinearComparativeView/components/HeaderSearchBoxes.js +2 -11
  11. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +1 -2
  12. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.js +13 -21
  13. package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +1 -2
  14. package/dist/LinearComparativeView/components/LinearComparativeView.js +2 -5
  15. package/dist/LinearComparativeView/components/Rubberband.d.ts +1 -2
  16. package/dist/LinearComparativeView/components/Rubberband.js +20 -51
  17. package/dist/LinearComparativeView/components/VerticalGuide.d.ts +1 -2
  18. package/dist/LinearComparativeView/components/VerticalGuide.js +4 -8
  19. package/dist/LinearComparativeView/index.js +17 -7
  20. package/dist/LinearComparativeView/model.d.ts +32 -28
  21. package/dist/LinearComparativeView/model.js +37 -8
  22. package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +1 -2
  23. package/dist/LinearReadVsRef/LinearReadVsRef.js +5 -36
  24. package/dist/LinearReadVsRef/index.js +17 -7
  25. package/dist/LinearSyntenyDisplay/afterAttach.js +6 -3
  26. package/dist/LinearSyntenyDisplay/components/Component.d.ts +1 -2
  27. package/dist/LinearSyntenyDisplay/components/Component.js +9 -32
  28. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +1 -2
  29. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +89 -84
  30. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +1 -2
  31. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.js +2 -5
  32. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  33. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +2 -3
  34. package/dist/LinearSyntenyDisplay/index.js +17 -7
  35. package/dist/LinearSyntenyDisplay/model.js +17 -7
  36. package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +1 -2
  37. package/dist/LinearSyntenyView/components/ExportSvgDialog.js +34 -73
  38. package/dist/LinearSyntenyView/components/Icons.d.ts +2 -3
  39. package/dist/LinearSyntenyView/components/Icons.js +3 -8
  40. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  41. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +130 -0
  42. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  43. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +39 -0
  44. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  45. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +22 -0
  46. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +1 -2
  47. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +44 -143
  48. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  49. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.js +43 -0
  50. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  51. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.js +68 -0
  52. package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +1 -2
  53. package/dist/LinearSyntenyView/components/LinearSyntenyView.js +20 -9
  54. package/dist/LinearSyntenyView/index.js +17 -7
  55. package/dist/LinearSyntenyView/model.d.ts +49 -30
  56. package/dist/LinearSyntenyView/model.js +57 -15
  57. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  58. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +2 -5
  59. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +1 -2
  60. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +2 -10
  61. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +4 -16
  62. package/dist/LinearSyntenyView/types.d.ts +12 -0
  63. package/dist/LinearSyntenyView/types.js +2 -0
  64. package/dist/LinearSyntenyViewHelper/index.js +2 -2
  65. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  66. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.js +87 -0
  67. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  68. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js +3 -79
  69. package/dist/SyntenyFeatureDetail/index.js +17 -7
  70. package/dist/SyntenyFeatureDetail/types.d.ts +9 -0
  71. package/dist/SyntenyFeatureDetail/types.js +2 -0
  72. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  73. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +35 -34
  74. package/esm/LGVSyntenyDisplay/components/util.d.ts +9 -6
  75. package/esm/LGVSyntenyDisplay/components/util.js +6 -12
  76. package/esm/LGVSyntenyDisplay/model.d.ts +21 -7
  77. package/esm/LGVSyntenyDisplay/model.js +2 -1
  78. package/esm/LinearComparativeView/components/Header.d.ts +1 -2
  79. package/esm/LinearComparativeView/components/Header.js +52 -58
  80. package/esm/LinearComparativeView/components/HeaderSearchBoxes.d.ts +1 -2
  81. package/esm/LinearComparativeView/components/HeaderSearchBoxes.js +2 -8
  82. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +1 -2
  83. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.js +13 -18
  84. package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +1 -2
  85. package/esm/LinearComparativeView/components/LinearComparativeView.js +2 -5
  86. package/esm/LinearComparativeView/components/Rubberband.d.ts +1 -2
  87. package/esm/LinearComparativeView/components/Rubberband.js +20 -28
  88. package/esm/LinearComparativeView/components/VerticalGuide.d.ts +1 -2
  89. package/esm/LinearComparativeView/components/VerticalGuide.js +4 -5
  90. package/esm/LinearComparativeView/model.d.ts +32 -28
  91. package/esm/LinearComparativeView/model.js +21 -2
  92. package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +1 -2
  93. package/esm/LinearReadVsRef/LinearReadVsRef.js +5 -13
  94. package/esm/LinearSyntenyDisplay/afterAttach.js +6 -3
  95. package/esm/LinearSyntenyDisplay/components/Component.d.ts +1 -2
  96. package/esm/LinearSyntenyDisplay/components/Component.js +9 -9
  97. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +1 -2
  98. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +72 -77
  99. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +1 -2
  100. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.js +2 -2
  101. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  102. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +2 -3
  103. package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +1 -2
  104. package/esm/LinearSyntenyView/components/ExportSvgDialog.js +34 -50
  105. package/esm/LinearSyntenyView/components/Icons.d.ts +2 -3
  106. package/esm/LinearSyntenyView/components/Icons.js +3 -5
  107. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  108. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +125 -0
  109. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  110. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +37 -0
  111. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  112. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +16 -0
  113. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +1 -2
  114. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +45 -121
  115. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  116. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.js +40 -0
  117. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  118. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.js +65 -0
  119. package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +1 -2
  120. package/esm/LinearSyntenyView/components/LinearSyntenyView.js +3 -2
  121. package/esm/LinearSyntenyView/model.d.ts +49 -30
  122. package/esm/LinearSyntenyView/model.js +41 -9
  123. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  124. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +2 -2
  125. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +1 -2
  126. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +2 -7
  127. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +4 -16
  128. package/esm/LinearSyntenyView/types.d.ts +12 -0
  129. package/esm/LinearSyntenyView/types.js +1 -0
  130. package/esm/LinearSyntenyViewHelper/index.js +2 -2
  131. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  132. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.js +52 -0
  133. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  134. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js +4 -57
  135. package/esm/SyntenyFeatureDetail/types.d.ts +9 -0
  136. package/esm/SyntenyFeatureDetail/types.js +1 -0
  137. package/package.json +11 -11
  138. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  139. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -194
  140. package/dist/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  141. package/dist/LinearSyntenyView/components/ImportForm/Spacer.js +0 -10
  142. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  143. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -57
  144. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  145. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -52
  146. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  147. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -169
  148. package/esm/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  149. package/esm/LinearSyntenyView/components/ImportForm/Spacer.js +0 -4
  150. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  151. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -32
  152. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  153. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -23
@@ -3,7 +3,7 @@ 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
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const mobx_react_1 = require("mobx-react");
8
8
  const mui_1 = require("tss-react/mui");
9
9
  const Header_1 = __importDefault(require("./Header"));
@@ -25,9 +25,6 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
25
25
  }));
26
26
  const LinearComparativeView = (0, mobx_react_1.observer)(function ({ model, }) {
27
27
  const { classes } = useStyles();
28
- return (react_1.default.createElement("div", { className: classes.rubberbandContainer },
29
- react_1.default.createElement(Header_1.default, { model: model }),
30
- react_1.default.createElement(Rubberband_1.default, { model: model, ControlComponent: react_1.default.createElement("div", { className: classes.rubberbandDiv }) }),
31
- react_1.default.createElement(LinearComparativeRenderArea_1.default, { model: model })));
28
+ return ((0, jsx_runtime_1.jsxs)("div", { className: classes.rubberbandContainer, children: [(0, jsx_runtime_1.jsx)(Header_1.default, { model: model }), (0, jsx_runtime_1.jsx)(Rubberband_1.default, { model: model, ControlComponent: (0, jsx_runtime_1.jsx)("div", { className: classes.rubberbandDiv }) }), (0, jsx_runtime_1.jsx)(LinearComparativeRenderArea_1.default, { model: model })] }));
32
29
  });
33
30
  exports.default = LinearComparativeView;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { LinearComparativeViewModel } from '../model';
3
2
  type LCV = LinearComparativeViewModel;
4
3
  declare const LinearComparativeRubberband: ({ model, ControlComponent, }: {
5
4
  model: LCV;
6
5
  ControlComponent?: React.ReactElement;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  export default LinearComparativeRubberband;
@@ -1,32 +1,10 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
30
8
  const ui_1 = require("@jbrowse/core/ui");
31
9
  const util_1 = require("@jbrowse/core/util");
32
10
  const material_1 = require("@mui/material");
@@ -62,7 +40,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => {
62
40
  },
63
41
  };
64
42
  });
65
- const LinearComparativeRubberband = (0, mobx_react_1.observer)(function Rubberband({ model, ControlComponent = react_1.default.createElement("div", null), }) {
43
+ const LinearComparativeRubberband = (0, mobx_react_1.observer)(function Rubberband({ model, ControlComponent = (0, jsx_runtime_1.jsx)("div", {}), }) {
66
44
  const [startX, setStartX] = (0, react_1.useState)();
67
45
  const [currentX, setCurrentX] = (0, react_1.useState)();
68
46
  const [anchorPosition, setAnchorPosition] = (0, react_1.useState)();
@@ -163,9 +141,7 @@ const LinearComparativeRubberband = (0, mobx_react_1.observer)(function Rubberba
163
141
  handleClose();
164
142
  }
165
143
  if (startX === undefined) {
166
- return (react_1.default.createElement(react_1.default.Fragment, null,
167
- guideX !== undefined ? (react_1.default.createElement(VerticalGuide_1.default, { model: model, coordX: guideX })) : null,
168
- react_1.default.createElement("div", { ref: controlsRef, className: classes.rubberbandControl, onMouseDown: mouseDown, onMouseOut: mouseOut, onMouseMove: mouseMove }, ControlComponent)));
144
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [guideX !== undefined ? ((0, jsx_runtime_1.jsx)(VerticalGuide_1.default, { model: model, coordX: guideX })) : null, (0, jsx_runtime_1.jsx)("div", { ref: controlsRef, className: classes.rubberbandControl, onMouseDown: mouseDown, onMouseOut: mouseOut, onMouseMove: mouseMove, children: ControlComponent })] }));
169
145
  }
170
146
  const right = anchorPosition ? anchorPosition.offsetX : currentX || 0;
171
147
  const left = Math.min(right, startX);
@@ -174,28 +150,21 @@ const LinearComparativeRubberband = (0, mobx_react_1.observer)(function Rubberba
174
150
  const leftBpOffset = views.map(view => view.pxToBp(left));
175
151
  const rightBpOffset = views.map(view => view.pxToBp(left + width));
176
152
  const numOfBpSelected = views.map(view => Math.ceil(width * view.bpPerPx));
177
- return (react_1.default.createElement(react_1.default.Fragment, null,
178
- rubberbandRef.current ? (react_1.default.createElement(react_1.default.Fragment, null,
179
- react_1.default.createElement(material_1.Popover, { className: classes.popover, classes: { paper: classes.paper }, open: true, anchorEl: rubberbandRef.current, anchorOrigin: {
180
- vertical: 'top',
181
- horizontal: 'left',
182
- }, transformOrigin: {
183
- vertical: 'bottom',
184
- horizontal: 'right',
185
- }, keepMounted: true, disableRestoreFocus: true }, leftBpOffset.map((l, idx) => (react_1.default.createElement(material_1.Typography, { key: [JSON.stringify(l), idx, 'left'].join('-') }, (0, util_1.stringify)(l, true))))),
186
- react_1.default.createElement(material_1.Popover, { className: classes.popover, classes: { paper: classes.paper }, open: true, anchorEl: rubberbandRef.current, anchorOrigin: {
187
- vertical: 'top',
188
- horizontal: 'right',
189
- }, transformOrigin: {
190
- vertical: 'bottom',
191
- horizontal: 'left',
192
- }, keepMounted: true, disableRestoreFocus: true }, rightBpOffset.map((l, idx) => (react_1.default.createElement(material_1.Typography, { key: [JSON.stringify(l), idx, 'right'].join('-') }, (0, util_1.stringify)(l, true))))))) : null,
193
- react_1.default.createElement("div", { ref: rubberbandRef, className: classes.rubberband, style: { left, width } },
194
- react_1.default.createElement(material_1.Typography, { variant: "h6", className: classes.rubberbandText }, numOfBpSelected.map((n, i) => (react_1.default.createElement(material_1.Typography, { key: `${n}_${i}` }, `${n.toLocaleString('en-US')}bp`))))),
195
- react_1.default.createElement("div", { className: classes.rubberbandControl, ref: controlsRef, onMouseDown: mouseDown, onMouseOut: mouseOut, onMouseMove: mouseMove }, ControlComponent),
196
- anchorPosition ? (react_1.default.createElement(ui_1.Menu, { anchorReference: "anchorPosition", anchorPosition: {
197
- left: anchorPosition.clientX,
198
- top: anchorPosition.clientY,
199
- }, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: model.rubberBandMenuItems() })) : null));
153
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [rubberbandRef.current ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Popover, { className: classes.popover, classes: { paper: classes.paper }, open: true, anchorEl: rubberbandRef.current, anchorOrigin: {
154
+ vertical: 'top',
155
+ horizontal: 'left',
156
+ }, transformOrigin: {
157
+ vertical: 'bottom',
158
+ horizontal: 'right',
159
+ }, keepMounted: true, disableRestoreFocus: true, children: leftBpOffset.map((l, idx) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { children: (0, util_1.stringify)(l, true) }, [JSON.stringify(l), idx, 'left'].join('-')))) }), (0, jsx_runtime_1.jsx)(material_1.Popover, { className: classes.popover, classes: { paper: classes.paper }, open: true, anchorEl: rubberbandRef.current, anchorOrigin: {
160
+ vertical: 'top',
161
+ horizontal: 'right',
162
+ }, transformOrigin: {
163
+ vertical: 'bottom',
164
+ horizontal: 'left',
165
+ }, keepMounted: true, disableRestoreFocus: true, children: rightBpOffset.map((l, idx) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { children: (0, util_1.stringify)(l, true) }, [JSON.stringify(l), idx, 'right'].join('-')))) })] })) : null, (0, jsx_runtime_1.jsx)("div", { ref: rubberbandRef, className: classes.rubberband, style: { left, width }, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h6", className: classes.rubberbandText, children: numOfBpSelected.map((n, i) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { children: `${n.toLocaleString('en-US')}bp` }, `${n}_${i}`))) }) }), (0, jsx_runtime_1.jsx)("div", { className: classes.rubberbandControl, ref: controlsRef, onMouseDown: mouseDown, onMouseOut: mouseOut, onMouseMove: mouseMove, children: ControlComponent }), anchorPosition ? ((0, jsx_runtime_1.jsx)(ui_1.Menu, { anchorReference: "anchorPosition", anchorPosition: {
166
+ left: anchorPosition.clientX,
167
+ top: anchorPosition.clientY,
168
+ }, onMenuItemClick: handleMenuItemClick, open: open, onClose: handleClose, menuItems: model.rubberBandMenuItems() })) : null] }));
200
169
  });
201
170
  exports.default = LinearComparativeRubberband;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { LinearComparativeViewModel } from '../model';
3
2
  type LCV = LinearComparativeViewModel;
4
3
  declare const VerticalGuide: ({ model, coordX, }: {
5
4
  model: LCV;
6
5
  coordX: number;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  export default VerticalGuide;
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
4
  const util_1 = require("@jbrowse/core/util");
8
5
  const material_1 = require("@mui/material");
9
6
  const mobx_react_1 = require("mobx-react");
@@ -22,12 +19,11 @@ const useStyles = (0, mui_1.makeStyles)()({
22
19
  });
23
20
  const VerticalGuide = (0, mobx_react_1.observer)(function ({ model, coordX, }) {
24
21
  const { classes } = useStyles();
25
- return (react_1.default.createElement(material_1.Tooltip, { open: true, placement: "top", title: model.views
22
+ return ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { open: true, placement: "top", title: model.views
26
23
  .map(view => view.pxToBp(coordX))
27
- .map((elt, idx) => (react_1.default.createElement(material_1.Typography, { className: classes.sm, key: [JSON.stringify(elt), idx].join('-') }, (0, util_1.stringify)(elt, true)))), arrow: true },
28
- react_1.default.createElement("div", { className: classes.guide, style: {
24
+ .map((elt, idx) => ((0, jsx_runtime_1.jsx)(material_1.Typography, { className: classes.sm, children: (0, util_1.stringify)(elt, true) }, [JSON.stringify(elt), idx].join('-')))), arrow: true, children: (0, jsx_runtime_1.jsx)("div", { className: classes.guide, style: {
29
25
  left: coordX,
30
26
  background: 'red',
31
- } })));
27
+ } }) }));
32
28
  });
33
29
  exports.default = VerticalGuide;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -11,7 +11,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
11
11
  type: import("mobx-state-tree").ISimpleType<"LinearComparativeView">;
12
12
  trackSelectorType: import("mobx-state-tree").IType<string | undefined, string, string>;
13
13
  showIntraviewLinks: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
14
- interactToggled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
14
+ linkViews: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
15
+ interactiveOverlay: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
15
16
  levels: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
16
17
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
17
18
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -45,7 +46,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
45
46
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
46
47
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
47
48
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
48
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType>>, [undefined]>;
49
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
49
50
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
50
51
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
51
52
  }, {
@@ -66,8 +67,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
66
67
  trackRefs: Record<string, HTMLDivElement>;
67
68
  coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
68
69
  coarseTotalBp: number;
69
- leftOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset;
70
- rightOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset;
70
+ leftOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
71
+ rightOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
71
72
  } & {
72
73
  readonly trackLabelsSetting: any;
73
74
  readonly width: number;
@@ -114,12 +115,12 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
114
115
  setHideHeaderOverview(b: boolean): void;
115
116
  setHideNoTracksActive(b: boolean): void;
116
117
  setShowGridlines(b: boolean): void;
117
- addToHighlights(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType): void;
118
- setHighlight(highlight?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType[]): void;
119
- removeHighlight(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType): void;
118
+ addToHighlights(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
119
+ setHighlight(highlight?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[]): void;
120
+ removeHighlight(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
120
121
  scrollTo(offsetPx: number): number;
121
122
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
122
- setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): void;
123
+ setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
123
124
  setSearchResults(searchResults: import("@jbrowse/core/TextSearch/BaseResults").default[], searchQuery: string, assemblyName?: string): void;
124
125
  setNewView(bpPerPx: number, offsetPx: number): void;
125
126
  horizontallyFlip(): void;
@@ -136,7 +137,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
136
137
  setShowCenterLine(b: boolean): void;
137
138
  setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
138
139
  activateTrackSelector(): import("@jbrowse/core/util").Widget;
139
- getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): {
140
+ getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): {
140
141
  start: number;
141
142
  end: number;
142
143
  type: string;
@@ -158,7 +159,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
158
159
  setDraggingTrackId(idx?: string): void;
159
160
  setScaleFactor(factor: number): void;
160
161
  clearView(): void;
161
- exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions): Promise<void>;
162
+ exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
162
163
  } & {
163
164
  slide: (viewWidths: number) => void;
164
165
  } & {
@@ -180,15 +181,15 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
180
181
  setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
181
182
  afterAttach(): void;
182
183
  } & {
183
- moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): void;
184
+ moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
184
185
  navToLocString(input: string, optAssemblyName?: string): Promise<void>;
185
186
  navToSearchString({ input, assembly, }: {
186
187
  input: string;
187
188
  assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
188
189
  }): Promise<void>;
189
190
  navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
190
- navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation): void;
191
- navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation[]): void;
191
+ navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
192
+ navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
192
193
  } & {
193
194
  rubberBandMenuItems(): MenuItem[];
194
195
  bpToPx({ refName, coord, regionNumber, }: {
@@ -243,7 +244,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
243
244
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
244
245
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
245
246
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
246
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType>>, [undefined]>;
247
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
247
248
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
248
249
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
249
250
  }>>, import("mobx-state-tree")._NotCustomized>>;
@@ -263,12 +264,14 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
263
264
  readonly refNames: string[][];
264
265
  readonly assemblyNames: string[];
265
266
  } & {
267
+ afterAttach(): void;
266
268
  beforeDestroy(): void;
267
269
  onSubviewAction(actionName: string, path: string, args?: unknown[]): void;
268
270
  setWidth(newWidth: number): void;
269
271
  setViews(views: SnapshotIn<LinearGenomeViewModel>[]): void;
270
272
  removeView(view: LinearGenomeViewModel): void;
271
273
  setLevelHeight(newHeight: number, level?: number): number;
274
+ setLinkViews(arg: boolean): void;
272
275
  activateTrackSelector(level: number): import("@jbrowse/core/util").Widget;
273
276
  toggleTrack(trackId: string, level?: number): void;
274
277
  showTrack(trackId: string, level?: number, initialSnapshot?: {}): void;
@@ -294,7 +297,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
294
297
  type: import("mobx-state-tree").ISimpleType<"LinearComparativeView">;
295
298
  trackSelectorType: import("mobx-state-tree").IType<string | undefined, string, string>;
296
299
  showIntraviewLinks: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
297
- interactToggled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
300
+ linkViews: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
301
+ interactiveOverlay: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
298
302
  levels: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
299
303
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
300
304
  type: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -328,7 +332,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
328
332
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
329
333
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
330
334
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
331
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType>>, [undefined]>;
335
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
332
336
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
333
337
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
334
338
  }, {
@@ -349,8 +353,8 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
349
353
  trackRefs: Record<string, HTMLDivElement>;
350
354
  coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
351
355
  coarseTotalBp: number;
352
- leftOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset;
353
- rightOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset;
356
+ leftOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
357
+ rightOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
354
358
  } & {
355
359
  readonly trackLabelsSetting: any;
356
360
  readonly width: number;
@@ -397,12 +401,12 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
397
401
  setHideHeaderOverview(b: boolean): void;
398
402
  setHideNoTracksActive(b: boolean): void;
399
403
  setShowGridlines(b: boolean): void;
400
- addToHighlights(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType): void;
401
- setHighlight(highlight?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType[]): void;
402
- removeHighlight(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType): void;
404
+ addToHighlights(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
405
+ setHighlight(highlight?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[]): void;
406
+ removeHighlight(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
403
407
  scrollTo(offsetPx: number): number;
404
408
  zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
405
- setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): void;
409
+ setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
406
410
  setSearchResults(searchResults: import("@jbrowse/core/TextSearch/BaseResults").default[], searchQuery: string, assemblyName?: string): void;
407
411
  setNewView(bpPerPx: number, offsetPx: number): void;
408
412
  horizontallyFlip(): void;
@@ -419,7 +423,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
419
423
  setShowCenterLine(b: boolean): void;
420
424
  setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
421
425
  activateTrackSelector(): import("@jbrowse/core/util").Widget;
422
- getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): {
426
+ getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): {
423
427
  start: number;
424
428
  end: number;
425
429
  type: string;
@@ -441,7 +445,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
441
445
  setDraggingTrackId(idx?: string): void;
442
446
  setScaleFactor(factor: number): void;
443
447
  clearView(): void;
444
- exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions): Promise<void>;
448
+ exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
445
449
  } & {
446
450
  slide: (viewWidths: number) => void;
447
451
  } & {
@@ -463,15 +467,15 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
463
467
  setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
464
468
  afterAttach(): void;
465
469
  } & {
466
- moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset): void;
470
+ moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
467
471
  navToLocString(input: string, optAssemblyName?: string): Promise<void>;
468
472
  navToSearchString({ input, assembly, }: {
469
473
  input: string;
470
474
  assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
471
475
  }): Promise<void>;
472
476
  navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string): Promise<void>;
473
- navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation): void;
474
- navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation[]): void;
477
+ navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
478
+ navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
475
479
  } & {
476
480
  rubberBandMenuItems(): MenuItem[];
477
481
  bpToPx({ refName, coord, regionNumber, }: {
@@ -526,7 +530,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
526
530
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
527
531
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
528
532
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
529
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").HighlightType>>, [undefined]>;
533
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
530
534
  colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
531
535
  showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
532
536
  }>>, import("mobx-state-tree")._NotCustomized>>;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -43,7 +53,8 @@ function stateModelFactory(pluginManager) {
43
53
  type: mobx_state_tree_1.types.literal('LinearComparativeView'),
44
54
  trackSelectorType: 'hierarchical',
45
55
  showIntraviewLinks: true,
46
- interactToggled: false,
56
+ linkViews: false,
57
+ interactiveOverlay: false,
47
58
  levels: mobx_state_tree_1.types.array(LinearSyntenyViewHelper),
48
59
  views: mobx_state_tree_1.types.array(pluginManager.getViewType('LinearGenomeView')
49
60
  .stateModel),
@@ -68,6 +79,21 @@ function stateModelFactory(pluginManager) {
68
79
  },
69
80
  }))
70
81
  .actions(self => ({
82
+ afterAttach() {
83
+ const actions = new Set([
84
+ 'horizontalScroll',
85
+ 'zoomTo',
86
+ 'setScaleFactor',
87
+ ]);
88
+ (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_state_tree_1.onAction)(self, param => {
89
+ if (self.linkViews) {
90
+ const { name, path, args } = param;
91
+ if (actions.has(name) && path) {
92
+ this.onSubviewAction(name, path, args);
93
+ }
94
+ }
95
+ }));
96
+ },
71
97
  beforeDestroy() {
72
98
  var _a;
73
99
  const session = (0, util_1.getSession)(self);
@@ -97,6 +123,9 @@ function stateModelFactory(pluginManager) {
97
123
  l.setHeight(newHeight);
98
124
  return l.height;
99
125
  },
126
+ setLinkViews(arg) {
127
+ self.linkViews = arg;
128
+ },
100
129
  activateTrackSelector(level) {
101
130
  if (self.trackSelectorType === 'hierarchical') {
102
131
  const session = (0, util_1.getSession)(self);
@@ -1,7 +1,6 @@
1
- import React from 'react';
2
1
  import type { Feature } from '@jbrowse/core/util';
3
2
  export default function ReadVsRefDialog({ track, feature: preFeature, handleClose, }: {
4
3
  feature: Feature;
5
4
  handleClose: () => void;
6
5
  track: any;
7
- }): React.JSX.Element;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,30 +1,8 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.default = ReadVsRefDialog;
27
- const react_1 = __importStar(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
28
6
  const configuration_1 = require("@jbrowse/core/configuration");
29
7
  const ui_1 = require("@jbrowse/core/ui");
30
8
  const util_1 = require("@jbrowse/core/util");
@@ -257,16 +235,7 @@ function ReadVsRefDialog({ track, feature: preFeature, handleClose, }) {
257
235
  setError(e);
258
236
  }
259
237
  }
260
- return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: handleClose, title: "Set window size" },
261
- react_1.default.createElement(material_1.DialogContent, null, error ? (react_1.default.createElement(material_1.Typography, { color: "error" }, `${error}`)) : !primaryFeature ? (react_1.default.createElement("div", null,
262
- react_1.default.createElement(material_1.Typography, null, "To accurately perform comparison we are fetching the primary alignment. Loading primary feature..."),
263
- react_1.default.createElement(material_1.CircularProgress, null))) : (react_1.default.createElement("div", { className: classes.root },
264
- primaryFeature.get('flags') & 256 ? (react_1.default.createElement(material_1.Typography, { style: { color: 'orange' } }, "Note: You selected a secondary alignment (which generally does not have SA tags or SEQ fields) so do a full reconstruction of the alignment")) : null,
265
- react_1.default.createElement(material_1.Typography, null, "Show an extra window size around each part of the split alignment. Using a larger value can allow you to see more genomic context."),
266
- react_1.default.createElement(material_1.TextField, { value: windowSize, onChange: event => {
267
- setWindowSize(event.target.value);
268
- }, label: "Set window size" })))),
269
- react_1.default.createElement(material_1.DialogActions, null,
270
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: handleClose }, "Cancel"),
271
- react_1.default.createElement(material_1.Button, { disabled: !primaryFeature, variant: "contained", color: "primary", onClick: onSubmit }, "Submit"))));
238
+ return ((0, jsx_runtime_1.jsxs)(ui_1.Dialog, { open: true, onClose: handleClose, title: "Set window size", children: [(0, jsx_runtime_1.jsx)(material_1.DialogContent, { children: error ? ((0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", children: `${error}` })) : !primaryFeature ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { children: "To accurately perform comparison we are fetching the primary alignment. Loading primary feature..." }), (0, jsx_runtime_1.jsx)(material_1.CircularProgress, {})] })) : ((0, jsx_runtime_1.jsxs)("div", { className: classes.root, children: [primaryFeature.get('flags') & 256 ? ((0, jsx_runtime_1.jsx)(material_1.Typography, { style: { color: 'orange' }, children: "Note: You selected a secondary alignment (which generally does not have SA tags or SEQ fields) so do a full reconstruction of the alignment" })) : null, (0, jsx_runtime_1.jsx)(material_1.Typography, { children: "Show an extra window size around each part of the split alignment. Using a larger value can allow you to see more genomic context." }), (0, jsx_runtime_1.jsx)(material_1.TextField, { value: windowSize, onChange: event => {
239
+ setWindowSize(event.target.value);
240
+ }, label: "Set window size" })] })) }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "secondary", onClick: handleClose, children: "Cancel" }), (0, jsx_runtime_1.jsx)(material_1.Button, { disabled: !primaryFeature, variant: "contained", color: "primary", onClick: onSubmit, children: "Submit" })] })] }));
272
241
  }
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -11,7 +11,8 @@ function doAfterAttach(self) {
11
11
  (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => {
12
12
  var _a, _b;
13
13
  const view = (0, util_1.getContainingView)(self);
14
- if (!view.initialized) {
14
+ if (!view.initialized ||
15
+ !view.views.every(a => a.displayedRegions.length > 0 && a.initialized)) {
15
16
  return;
16
17
  }
17
18
  const ctx1 = (_a = self.mainCanvas) === null || _a === void 0 ? void 0 : _a.getContext('2d');
@@ -27,7 +28,8 @@ function doAfterAttach(self) {
27
28
  }));
28
29
  (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => {
29
30
  const view = (0, util_1.getContainingView)(self);
30
- if (!view.initialized) {
31
+ if (!view.initialized ||
32
+ !view.views.every(a => a.displayedRegions.length > 0 && a.initialized)) {
31
33
  return;
32
34
  }
33
35
  (0, drawSynteny_1.drawMouseoverSynteny)(self);
@@ -38,7 +40,8 @@ function doAfterAttach(self) {
38
40
  bpPerPx: view.views.map(v => v.bpPerPx),
39
41
  displayedRegions: JSON.stringify(view.views.map(v => v.displayedRegions)),
40
42
  features: self.features,
41
- initialized: view.initialized,
43
+ initialized: view.initialized &&
44
+ view.views.every(a => a.displayedRegions.length > 0 && a.initialized),
42
45
  };
43
46
  }, ({ initialized }) => {
44
47
  if (!initialized) {