@jbrowse/plugin-linear-comparative-view 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  2. package/dist/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +36 -60
  3. package/dist/LGVSyntenyDisplay/components/util.d.ts +9 -6
  4. package/dist/LGVSyntenyDisplay/components/util.js +6 -13
  5. package/dist/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
  6. package/dist/LGVSyntenyDisplay/configSchemaF.js +12 -9
  7. package/dist/LGVSyntenyDisplay/index.d.ts +1 -1
  8. package/dist/LGVSyntenyDisplay/index.js +1 -1
  9. package/dist/LGVSyntenyDisplay/model.d.ts +122 -69
  10. package/dist/LGVSyntenyDisplay/model.js +20 -37
  11. package/dist/LaunchLinearSyntenyView.d.ts +1 -1
  12. package/dist/LaunchLinearSyntenyView.js +1 -3
  13. package/dist/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
  14. package/dist/LinearComparativeDisplay/configSchemaF.js +0 -6
  15. package/dist/LinearComparativeDisplay/index.d.ts +1 -1
  16. package/dist/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
  17. package/dist/LinearComparativeDisplay/stateModelFactory.js +13 -57
  18. package/dist/LinearComparativeView/components/Header.d.ts +2 -3
  19. package/dist/LinearComparativeView/components/Header.js +56 -86
  20. package/dist/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
  21. package/dist/LinearComparativeView/components/HeaderSearchBoxes.js +5 -15
  22. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
  23. package/dist/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -32
  24. package/dist/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
  25. package/dist/LinearComparativeView/components/LinearComparativeView.js +4 -9
  26. package/dist/LinearComparativeView/components/Rubberband.d.ts +2 -3
  27. package/dist/LinearComparativeView/components/Rubberband.js +36 -69
  28. package/dist/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
  29. package/dist/LinearComparativeView/components/VerticalGuide.js +5 -9
  30. package/dist/LinearComparativeView/index.d.ts +1 -1
  31. package/dist/LinearComparativeView/index.js +17 -7
  32. package/dist/LinearComparativeView/model.d.ts +38 -90
  33. package/dist/LinearComparativeView/model.js +40 -107
  34. package/dist/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
  35. package/dist/LinearReadVsRef/LinearReadVsRef.js +10 -55
  36. package/dist/LinearReadVsRef/index.d.ts +1 -1
  37. package/dist/LinearReadVsRef/index.js +17 -9
  38. package/dist/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
  39. package/dist/LinearSyntenyDisplay/afterAttach.js +8 -12
  40. package/dist/LinearSyntenyDisplay/components/Component.d.ts +2 -3
  41. package/dist/LinearSyntenyDisplay/components/Component.js +11 -36
  42. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
  43. package/dist/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +95 -106
  44. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
  45. package/dist/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -6
  46. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  47. package/dist/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
  48. package/dist/LinearSyntenyDisplay/components/util.d.ts +3 -3
  49. package/dist/LinearSyntenyDisplay/components/util.js +0 -9
  50. package/dist/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
  51. package/dist/LinearSyntenyDisplay/configSchemaF.js +0 -15
  52. package/dist/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
  53. package/dist/LinearSyntenyDisplay/drawSynteny.js +1 -23
  54. package/dist/LinearSyntenyDisplay/index.d.ts +1 -1
  55. package/dist/LinearSyntenyDisplay/index.js +18 -9
  56. package/dist/LinearSyntenyDisplay/model.d.ts +8 -102
  57. package/dist/LinearSyntenyDisplay/model.js +18 -99
  58. package/dist/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
  59. package/dist/LinearSyntenyView/components/ExportSvgDialog.js +35 -76
  60. package/dist/LinearSyntenyView/components/Icons.d.ts +3 -4
  61. package/dist/LinearSyntenyView/components/Icons.js +3 -8
  62. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  63. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +130 -0
  64. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  65. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +39 -0
  66. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  67. package/dist/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +22 -0
  68. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +2 -3
  69. package/dist/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -150
  70. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  71. package/dist/LinearSyntenyView/components/ImportForm/doSubmit.js +43 -0
  72. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  73. package/dist/LinearSyntenyView/components/ImportForm/getAdapter.js +68 -0
  74. package/dist/LinearSyntenyView/components/ImportForm/util.js +1 -3
  75. package/dist/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  76. package/dist/LinearSyntenyView/components/LinearSyntenyView.js +20 -10
  77. package/dist/LinearSyntenyView/index.d.ts +1 -1
  78. package/dist/LinearSyntenyView/index.js +17 -7
  79. package/dist/LinearSyntenyView/model.d.ts +54 -58
  80. package/dist/LinearSyntenyView/model.js +61 -56
  81. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  82. package/dist/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -6
  83. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
  84. package/dist/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +3 -11
  85. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
  86. package/dist/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +7 -24
  87. package/dist/LinearSyntenyView/types.d.ts +12 -0
  88. package/dist/LinearSyntenyView/types.js +2 -0
  89. package/dist/LinearSyntenyViewHelper/index.d.ts +1 -1
  90. package/dist/LinearSyntenyViewHelper/index.js +2 -2
  91. package/dist/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
  92. package/dist/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
  93. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  94. package/dist/SyntenyFeatureDetail/LinkToSyntenyView.js +87 -0
  95. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  96. package/dist/SyntenyFeatureDetail/SyntenyFeatureDetail.js +5 -90
  97. package/dist/SyntenyFeatureDetail/index.d.ts +1 -1
  98. package/dist/SyntenyFeatureDetail/index.js +18 -14
  99. package/dist/SyntenyFeatureDetail/types.d.ts +9 -0
  100. package/dist/SyntenyFeatureDetail/types.js +2 -0
  101. package/dist/SyntenyTrack/configSchema.d.ts +1 -1
  102. package/dist/SyntenyTrack/configSchema.js +1 -9
  103. package/dist/SyntenyTrack/index.d.ts +1 -1
  104. package/dist/SyntenyTrack/index.js +1 -1
  105. package/dist/index.d.ts +1 -1
  106. package/dist/index.js +4 -4
  107. package/dist/util.d.ts +2 -2
  108. package/dist/util.js +1 -11
  109. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.d.ts +6 -5
  110. package/esm/LGVSyntenyDisplay/components/LaunchSyntenyViewDialog.js +35 -36
  111. package/esm/LGVSyntenyDisplay/components/util.d.ts +9 -6
  112. package/esm/LGVSyntenyDisplay/components/util.js +6 -13
  113. package/esm/LGVSyntenyDisplay/configSchemaF.d.ts +19 -10
  114. package/esm/LGVSyntenyDisplay/configSchemaF.js +12 -9
  115. package/esm/LGVSyntenyDisplay/index.d.ts +1 -1
  116. package/esm/LGVSyntenyDisplay/index.js +1 -1
  117. package/esm/LGVSyntenyDisplay/model.d.ts +122 -69
  118. package/esm/LGVSyntenyDisplay/model.js +4 -31
  119. package/esm/LaunchLinearSyntenyView.d.ts +1 -1
  120. package/esm/LaunchLinearSyntenyView.js +1 -3
  121. package/esm/LinearComparativeDisplay/configSchemaF.d.ts +0 -3
  122. package/esm/LinearComparativeDisplay/configSchemaF.js +0 -6
  123. package/esm/LinearComparativeDisplay/index.d.ts +1 -1
  124. package/esm/LinearComparativeDisplay/stateModelFactory.d.ts +12 -69
  125. package/esm/LinearComparativeDisplay/stateModelFactory.js +14 -58
  126. package/esm/LinearComparativeView/components/Header.d.ts +2 -3
  127. package/esm/LinearComparativeView/components/Header.js +56 -63
  128. package/esm/LinearComparativeView/components/HeaderSearchBoxes.d.ts +2 -3
  129. package/esm/LinearComparativeView/components/HeaderSearchBoxes.js +5 -12
  130. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.d.ts +2 -3
  131. package/esm/LinearComparativeView/components/LinearComparativeRenderArea.js +17 -29
  132. package/esm/LinearComparativeView/components/LinearComparativeView.d.ts +2 -3
  133. package/esm/LinearComparativeView/components/LinearComparativeView.js +4 -9
  134. package/esm/LinearComparativeView/components/Rubberband.d.ts +2 -3
  135. package/esm/LinearComparativeView/components/Rubberband.js +36 -46
  136. package/esm/LinearComparativeView/components/VerticalGuide.d.ts +2 -3
  137. package/esm/LinearComparativeView/components/VerticalGuide.js +5 -6
  138. package/esm/LinearComparativeView/index.d.ts +1 -1
  139. package/esm/LinearComparativeView/model.d.ts +38 -90
  140. package/esm/LinearComparativeView/model.js +24 -101
  141. package/esm/LinearReadVsRef/LinearReadVsRef.d.ts +2 -3
  142. package/esm/LinearReadVsRef/LinearReadVsRef.js +10 -32
  143. package/esm/LinearReadVsRef/index.d.ts +1 -1
  144. package/esm/LinearReadVsRef/index.js +1 -3
  145. package/esm/LinearSyntenyDisplay/afterAttach.d.ts +1 -1
  146. package/esm/LinearSyntenyDisplay/afterAttach.js +8 -12
  147. package/esm/LinearSyntenyDisplay/components/Component.d.ts +2 -3
  148. package/esm/LinearSyntenyDisplay/components/Component.js +11 -13
  149. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.d.ts +2 -3
  150. package/esm/LinearSyntenyDisplay/components/LinearSyntenyRendering.js +79 -100
  151. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.d.ts +3 -4
  152. package/esm/LinearSyntenyDisplay/components/SyntenyContextMenu.js +3 -3
  153. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.d.ts +1 -2
  154. package/esm/LinearSyntenyDisplay/components/SyntenyTooltip.js +3 -4
  155. package/esm/LinearSyntenyDisplay/components/util.d.ts +3 -3
  156. package/esm/LinearSyntenyDisplay/components/util.js +2 -11
  157. package/esm/LinearSyntenyDisplay/configSchemaF.d.ts +1 -12
  158. package/esm/LinearSyntenyDisplay/configSchemaF.js +0 -15
  159. package/esm/LinearSyntenyDisplay/drawSynteny.d.ts +1 -1
  160. package/esm/LinearSyntenyDisplay/drawSynteny.js +1 -23
  161. package/esm/LinearSyntenyDisplay/index.d.ts +1 -1
  162. package/esm/LinearSyntenyDisplay/index.js +1 -2
  163. package/esm/LinearSyntenyDisplay/model.d.ts +8 -102
  164. package/esm/LinearSyntenyDisplay/model.js +1 -92
  165. package/esm/LinearSyntenyView/components/ExportSvgDialog.d.ts +2 -3
  166. package/esm/LinearSyntenyView/components/ExportSvgDialog.js +35 -53
  167. package/esm/LinearSyntenyView/components/Icons.d.ts +3 -4
  168. package/esm/LinearSyntenyView/components/Icons.js +3 -5
  169. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.d.ts +8 -0
  170. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyOpenCustomTrack.js +125 -0
  171. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.d.ts +8 -0
  172. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyPreConfigured.js +37 -0
  173. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.d.ts +7 -0
  174. package/esm/LinearSyntenyView/components/ImportForm/ImportSyntenyTrackSelectorArea.js +16 -0
  175. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.d.ts +2 -3
  176. package/esm/LinearSyntenyView/components/ImportForm/LinearSyntenyImportForm.js +49 -127
  177. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.d.ts +5 -0
  178. package/esm/LinearSyntenyView/components/ImportForm/doSubmit.js +40 -0
  179. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.d.ts +117 -0
  180. package/esm/LinearSyntenyView/components/ImportForm/getAdapter.js +65 -0
  181. package/esm/LinearSyntenyView/components/ImportForm/util.js +1 -3
  182. package/esm/LinearSyntenyView/components/LinearSyntenyView.d.ts +2 -3
  183. package/esm/LinearSyntenyView/components/LinearSyntenyView.js +3 -3
  184. package/esm/LinearSyntenyView/index.d.ts +1 -1
  185. package/esm/LinearSyntenyView/model.d.ts +54 -58
  186. package/esm/LinearSyntenyView/model.js +44 -49
  187. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.d.ts +1 -2
  188. package/esm/LinearSyntenyView/svgcomponents/SVGBackground.js +3 -3
  189. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.d.ts +2 -3
  190. package/esm/LinearSyntenyView/svgcomponents/SVGLinearGenomeView.js +4 -9
  191. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.d.ts +1 -1
  192. package/esm/LinearSyntenyView/svgcomponents/SVGLinearSyntenyView.js +8 -25
  193. package/esm/LinearSyntenyView/types.d.ts +12 -0
  194. package/esm/LinearSyntenyView/types.js +1 -0
  195. package/esm/LinearSyntenyViewHelper/index.d.ts +1 -1
  196. package/esm/LinearSyntenyViewHelper/index.js +2 -2
  197. package/esm/LinearSyntenyViewHelper/stateModelFactory.d.ts +2 -14
  198. package/esm/LinearSyntenyViewHelper/stateModelFactory.js +2 -29
  199. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.d.ts +5 -0
  200. package/esm/SyntenyFeatureDetail/LinkToSyntenyView.js +52 -0
  201. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.d.ts +2 -11
  202. package/esm/SyntenyFeatureDetail/SyntenyFeatureDetail.js +6 -68
  203. package/esm/SyntenyFeatureDetail/index.d.ts +1 -1
  204. package/esm/SyntenyFeatureDetail/index.js +1 -7
  205. package/esm/SyntenyFeatureDetail/types.d.ts +9 -0
  206. package/esm/SyntenyFeatureDetail/types.js +1 -0
  207. package/esm/SyntenyTrack/configSchema.d.ts +1 -1
  208. package/esm/SyntenyTrack/configSchema.js +1 -9
  209. package/esm/SyntenyTrack/index.d.ts +1 -1
  210. package/esm/SyntenyTrack/index.js +1 -1
  211. package/esm/index.d.ts +1 -1
  212. package/esm/index.js +4 -4
  213. package/esm/util.d.ts +2 -2
  214. package/esm/util.js +1 -11
  215. package/package.json +2 -4
  216. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  217. package/dist/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -194
  218. package/dist/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  219. package/dist/LinearSyntenyView/components/ImportForm/Spacer.js +0 -10
  220. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  221. package/dist/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -59
  222. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  223. package/dist/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -52
  224. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.d.ts +0 -10
  225. package/esm/LinearSyntenyView/components/ImportForm/AddCustomTrack.js +0 -169
  226. package/esm/LinearSyntenyView/components/ImportForm/Spacer.d.ts +0 -2
  227. package/esm/LinearSyntenyView/components/ImportForm/Spacer.js +0 -4
  228. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.d.ts +0 -10
  229. package/esm/LinearSyntenyView/components/ImportForm/TrackSelector.js +0 -34
  230. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.d.ts +0 -14
  231. package/esm/LinearSyntenyView/components/ImportForm/TrackSelectorUtil.js +0 -23
@@ -1,9 +1,8 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { Dialog } from '@jbrowse/core/ui';
3
- import { getSession } from '@jbrowse/core/util';
4
4
  import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, TextField, } from '@mui/material';
5
5
  import { makeStyles } from 'tss-react/mui';
6
- // locals
7
6
  import { navToSynteny } from './util';
8
7
  const useStyles = makeStyles()({
9
8
  padding: {
@@ -11,41 +10,41 @@ const useStyles = makeStyles()({
11
10
  border: '1px solid #ccc',
12
11
  },
13
12
  });
14
- export default function LaunchSyntenyViewDialog({ model, feature, trackId, handleClose, }) {
13
+ export default function LaunchSyntenyViewDialog({ session, view, feature, trackId, handleClose, }) {
15
14
  const { classes } = useStyles();
16
15
  const inverted = feature.get('strand') === -1;
16
+ const hasCIGAR = !!feature.get('CIGAR');
17
17
  const [horizontallyFlip, setHorizontallyFlip] = useState(inverted);
18
18
  const [windowSize, setWindowSize] = useState('1000');
19
- return (React.createElement(Dialog, { open: true, title: "Launch synteny view", onClose: handleClose },
20
- React.createElement(DialogContent, null,
21
- inverted ? (React.createElement(FormControlLabel, { className: classes.padding, control: React.createElement(Checkbox, { checked: horizontallyFlip, onChange: event => {
22
- setHorizontallyFlip(event.target.checked);
23
- } }), label: "Note: The feature is inverted in orientation on the target\n sequence. This will result in the lower panel having genomic\n coordinates decreasing left to right. Horizontally flip?" })) : null,
24
- React.createElement(TextField, { label: "Add window size in bp", value: windowSize, onChange: event => {
25
- setWindowSize(event.target.value);
26
- } })),
27
- React.createElement(DialogActions, null,
28
- React.createElement(Button, { variant: "contained", onClick: () => {
29
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
30
- ;
31
- (async () => {
32
- try {
33
- await navToSynteny({
34
- feature,
35
- windowSize: +windowSize,
36
- horizontallyFlip,
37
- trackId,
38
- model,
39
- });
40
- }
41
- catch (e) {
42
- console.error(e);
43
- getSession(model).notifyError(`${e}`, e);
44
- }
45
- })();
46
- handleClose();
47
- } }, "Submit"),
48
- React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
49
- handleClose();
50
- } }, "Cancel"))));
19
+ const [useRegionOfInterest, setUseRegionOfInterest] = useState(true);
20
+ return (_jsxs(Dialog, { open: true, title: "Launch synteny view", onClose: handleClose, children: [_jsxs(DialogContent, { children: [view && hasCIGAR ? (_jsx(FormControlLabel, { className: classes.padding, control: _jsx(Checkbox, { checked: useRegionOfInterest, onChange: event => {
21
+ setUseRegionOfInterest(event.target.checked);
22
+ } }), label: "Use CIGAR string to navigate the current visible to the target" })) : null, inverted ? (_jsx(FormControlLabel, { className: classes.padding, control: _jsx(Checkbox, { checked: horizontallyFlip, onChange: event => {
23
+ setHorizontallyFlip(event.target.checked);
24
+ } }), label: "Note: The feature is inverted in orientation on the target\n sequence. This will result in the lower panel having genomic\n coordinates decreasing left to right. Horizontally flip?" })) : null, _jsx(TextField, { label: "Add window size in bp", value: windowSize, onChange: event => {
25
+ setWindowSize(event.target.value);
26
+ } })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", onClick: () => {
27
+ ;
28
+ (async () => {
29
+ try {
30
+ await navToSynteny({
31
+ feature,
32
+ windowSize: +windowSize,
33
+ horizontallyFlip,
34
+ trackId,
35
+ session,
36
+ region: useRegionOfInterest
37
+ ? view === null || view === void 0 ? void 0 : view.dynamicBlocks.contentBlocks[0]
38
+ : undefined,
39
+ });
40
+ }
41
+ catch (e) {
42
+ console.error(e);
43
+ session.notifyError(`${e}`, e);
44
+ }
45
+ })();
46
+ handleClose();
47
+ }, children: "Submit" }), _jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
48
+ handleClose();
49
+ }, children: "Cancel" })] })] }));
51
50
  }
@@ -1,11 +1,14 @@
1
- import { Feature } from '@jbrowse/core/util';
2
- import { IAnyStateTreeNode } from 'mobx-state-tree';
3
- import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
4
- export declare function navToSynteny({ feature, windowSize: ws, model, trackId, view, horizontallyFlip, }: {
1
+ import type { AbstractSessionModel, Feature } from '@jbrowse/core/util';
2
+ export interface SimpleRegion {
3
+ refName: string;
4
+ start: number;
5
+ end: number;
6
+ }
7
+ export declare function navToSynteny({ feature, windowSize: ws, session, trackId, region, horizontallyFlip, }: {
5
8
  windowSize: number;
6
9
  trackId: string;
7
10
  horizontallyFlip: boolean;
8
11
  feature: Feature;
9
- view?: LinearGenomeViewModel;
10
- model: IAnyStateTreeNode;
12
+ session: AbstractSessionModel;
13
+ region?: SimpleRegion;
11
14
  }): Promise<void>;
@@ -1,9 +1,5 @@
1
- import { getSession } from '@jbrowse/core/util';
2
1
  import { MismatchParser } from '@jbrowse/plugin-alignments';
3
2
  const { parseCigar } = MismatchParser;
4
- function f(n) {
5
- return Math.floor(n);
6
- }
7
3
  function findPosInCigar(cigar, startX) {
8
4
  let featX = 0;
9
5
  let mateX = 0;
@@ -27,9 +23,7 @@ function findPosInCigar(cigar, startX) {
27
23
  }
28
24
  return [featX, mateX];
29
25
  }
30
- export async function navToSynteny({ feature, windowSize: ws, model, trackId, view, horizontallyFlip, }) {
31
- const session = getSession(model);
32
- const reg = view === null || view === void 0 ? void 0 : view.dynamicBlocks.contentBlocks[0];
26
+ export async function navToSynteny({ feature, windowSize: ws, session, trackId, region, horizontallyFlip, }) {
33
27
  const cigar = feature.get('CIGAR');
34
28
  const strand = feature.get('strand');
35
29
  const featRef = feature.get('refName');
@@ -45,13 +39,12 @@ export async function navToSynteny({ feature, windowSize: ws, model, trackId, vi
45
39
  let rMateEnd;
46
40
  let rFeatStart;
47
41
  let rFeatEnd;
48
- if (reg && cigar) {
49
- const regStart = reg.start;
50
- const regEnd = reg.end;
42
+ if (region && cigar) {
43
+ const regStart = region.start;
44
+ const regEnd = region.end;
51
45
  const p = parseCigar(cigar);
52
46
  const [fStartX, mStartX] = findPosInCigar(p, regStart - featStart);
53
47
  const [fEndX, mEndX] = findPosInCigar(p, regEnd - featStart);
54
- // avoid multiply by 0 with strand undefined
55
48
  const flipper = strand === -1 ? -1 : 1;
56
49
  rFeatStart = featStart + fStartX;
57
50
  rFeatEnd = featStart + fEndX;
@@ -89,10 +82,10 @@ export async function navToSynteny({ feature, windowSize: ws, model, trackId, vi
89
82
  },
90
83
  ],
91
84
  });
92
- const l1 = `${featRef}:${f(rFeatStart - ws)}-${f(rFeatEnd + ws)}`;
85
+ const l1 = `${featRef}:${Math.floor(rFeatStart - ws)}-${Math.floor(rFeatEnd + ws)}`;
93
86
  const m1 = Math.min(rMateStart, rMateEnd);
94
87
  const m2 = Math.max(rMateStart, rMateEnd);
95
- const l2 = `${mateRef}:${f(m1 - ws)}-${f(m2 + ws)}${horizontallyFlip ? '[rev]' : ''}`;
88
+ const l2 = `${mateRef}:${Math.floor(m1 - ws)}-${Math.floor(m2 + ws)}${horizontallyFlip ? '[rev]' : ''}`;
96
89
  await Promise.all([
97
90
  view2.views[0].navToLocString(l1, featAsm),
98
91
  view2.views[1].navToLocString(l2, mateAsm),
@@ -1,10 +1,10 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- /**
3
- * #config LGVSyntenyDisplay
4
- * extends config
5
- * - [LinearPileupDisplay](../linearpileupdisplay)
6
- */
7
- declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
3
+ mouseover: {
4
+ type: string;
5
+ defaultValue: string;
6
+ };
7
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
8
8
  defaultRendering: {
9
9
  type: string;
10
10
  model: import("mobx-state-tree").ISimpleType<string>;
@@ -18,11 +18,20 @@ declare function configSchemaF(pluginManager: PluginManager): import("@jbrowse/c
18
18
  description: string;
19
19
  defaultValue: number;
20
20
  };
21
- colorScheme: {
21
+ colorBy: {
22
22
  type: string;
23
- model: import("mobx-state-tree").ISimpleType<string>;
24
23
  description: string;
25
- defaultValue: string;
24
+ defaultValue: {
25
+ type: string;
26
+ };
27
+ };
28
+ filterBy: {
29
+ type: string;
30
+ description: string;
31
+ defaultValue: {
32
+ flagInclude: number;
33
+ flagExclude: number;
34
+ };
26
35
  };
27
36
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
28
37
  renderer: import("mobx-state-tree").IAnyModelType;
@@ -1,15 +1,18 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
2
  import { linearPileupDisplayConfigSchemaFactory } from '@jbrowse/plugin-alignments';
3
- /**
4
- * #config LGVSyntenyDisplay
5
- * extends config
6
- * - [LinearPileupDisplay](../linearpileupdisplay)
7
- */
8
3
  function configSchemaF(pluginManager) {
9
- return ConfigurationSchema('LGVSyntenyDisplay', {}, {
10
- /**
11
- * #baseConfiguration
12
- */
4
+ pluginManager.jexl.addFunction('lgvSyntenyTooltip', (f) => {
5
+ const m = f.get('mate');
6
+ return [f.get('name') || f.get('id'), (m === null || m === void 0 ? void 0 : m.name) || (m === null || m === void 0 ? void 0 : m.id)]
7
+ .filter(f => !!f)
8
+ .join('<br/>');
9
+ });
10
+ return ConfigurationSchema('LGVSyntenyDisplay', {
11
+ mouseover: {
12
+ type: 'string',
13
+ defaultValue: 'jexl:lgvSyntenyTooltip(feature)',
14
+ },
15
+ }, {
13
16
  baseConfiguration: linearPileupDisplayConfigSchemaFactory(pluginManager),
14
17
  explicitlyTyped: true,
15
18
  });
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function LGVSyntenyDisplayF(pluginManager: PluginManager): void;
@@ -1,7 +1,7 @@
1
1
  import DisplayType from '@jbrowse/core/pluggableElementTypes/DisplayType';
2
+ import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
2
3
  import configSchemaF from './configSchemaF';
3
4
  import stateModelF from './model';
4
- import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view';
5
5
  export default function LGVSyntenyDisplayF(pluginManager) {
6
6
  pluginManager.addDisplayType(() => {
7
7
  const configSchema = configSchemaF(pluginManager);
@@ -1,24 +1,9 @@
1
- import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
- import { Feature } from '@jbrowse/core/util';
3
- /**
4
- * #stateModel LGVSyntenyDisplay
5
- * displays location of "synteny" feature in a plain LGV, allowing linking out
6
- * to external synteny views
7
- *
8
- * extends
9
- * - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
10
- */
1
+ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
2
+ import type { Feature } from '@jbrowse/core/util';
11
3
  declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("mobx-state-tree").IModelType<{
12
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
13
5
  type: import("mobx-state-tree").ISimpleType<string>;
14
- rpcDriverName: import("mobx-state-tree" /**
15
- * #stateModel LGVSyntenyDisplay
16
- * displays location of "synteny" feature in a plain LGV, allowing linking out
17
- * to external synteny views
18
- *
19
- * extends
20
- * - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
21
- */).IMaybe<import("mobx-state-tree").ISimpleType<string>>;
6
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
22
7
  } & {
23
8
  heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
24
9
  } & {
@@ -27,23 +12,12 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
27
12
  } & {
28
13
  blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
29
14
  key: import("mobx-state-tree").ISimpleType<string>;
30
- region: import("mobx-state-tree").IModelType<{
31
- refName: import("mobx-state-tree").ISimpleType<string>;
32
- start: import("mobx-state-tree").ISimpleType<number>;
33
- end: import("mobx-state-tree").ISimpleType<number>;
34
- reversed: import("mobx-state-tree" /**
35
- * #property
36
- */).IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
37
- } & {
38
- assemblyName: import("mobx-state-tree").ISimpleType<string>;
39
- }, {
40
- setRefName(newRefName: string): void;
41
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
15
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
42
16
  reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
43
17
  isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
44
18
  isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
45
19
  }, {
46
- renderInProgress: AbortController | undefined;
20
+ stopToken: string | undefined;
47
21
  filled: boolean;
48
22
  reactElement: React.ReactElement | undefined;
49
23
  features: Map<string, Feature> | undefined;
@@ -61,21 +35,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
61
35
  status?: string;
62
36
  reactElement?: React.ReactElement;
63
37
  };
64
- }) => import("react").JSX.Element | undefined;
38
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
65
39
  renderProps: any;
66
40
  } & {
67
41
  doReload(): void;
68
42
  afterAttach(): void;
69
43
  setStatus(message: string): void;
70
- setLoading(abortController: AbortController): void;
44
+ setLoading(newStopToken: string): void;
71
45
  setMessage(messageText: string): void;
72
- setRendered(props: {
73
- reactElement: React.ReactElement;
74
- features: Map<string, Feature>;
75
- layout: any;
76
- maxHeightReached: boolean;
77
- renderProps: any;
78
- } | undefined): void;
46
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
79
47
  setError(error: unknown): void;
80
48
  reload(): void;
81
49
  beforeDestroy(): void;
@@ -114,17 +82,12 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
114
82
  noSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
115
83
  fadeLikelihood: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
116
84
  trackMaxHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
117
- colorBy: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined>;
118
- filterBy: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").FilterBy, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy>, [undefined]>;
85
+ colorBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined>;
86
+ filterBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined>;
119
87
  jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
88
+ hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
120
89
  } & {
121
- /**
122
- * #property
123
- */
124
90
  type: import("mobx-state-tree").ISimpleType<"LGVSyntenyDisplay">;
125
- /**
126
- * #property
127
- */
128
91
  configuration: AnyConfigurationSchemaType;
129
92
  }, {
130
93
  rendererTypeName: string;
@@ -215,14 +178,15 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
215
178
  readonly regionTooLarge: boolean;
216
179
  readonly regionTooLargeReason: string;
217
180
  } & {
181
+ readonly statsReadyAndRegionNotTooLarge: boolean;
218
182
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
219
- regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react").JSX.Element | null;
183
+ regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
220
184
  } & {
221
185
  featureIdUnderMouse: undefined | string;
222
186
  contextMenuFeature: undefined | Feature;
223
187
  } & {
224
- readonly DisplayMessageComponent: import("react").FC<any> | undefined;
225
- readonly blockType: "dynamicBlocks" | "staticBlocks";
188
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
189
+ readonly blockType: "staticBlocks" | "dynamicBlocks";
226
190
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
227
191
  } & {
228
192
  readonly renderDelay: number;
@@ -249,14 +213,18 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
249
213
  contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
250
214
  renderProps(): any;
251
215
  } & {
252
- renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react").JSX.Element>;
216
+ renderSvg(opts: import("@jbrowse/plugin-linear-genome-view").ExportSvgDisplayOptions): Promise<import("react/jsx-runtime").JSX.Element>;
253
217
  afterAttach(): void;
254
218
  } & {
255
219
  colorTagMap: import("mobx").ObservableMap<string, string>;
256
220
  featureUnderMouseVolatile: undefined | Feature;
257
221
  tagsReady: boolean;
222
+ } & {
223
+ readonly colorBy: any;
224
+ readonly filterBy: any;
258
225
  } & {
259
226
  readonly autorunReady: boolean;
227
+ readonly hideSmallIndels: boolean | undefined;
260
228
  } & {
261
229
  setTagsReady(flag: boolean): void;
262
230
  setMaxHeight(n?: number): void;
@@ -270,6 +238,7 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
270
238
  setConfig(conf: import("@jbrowse/core/configuration").AnyConfigurationModel): void;
271
239
  setFilterBy(filter: import("@jbrowse/plugin-alignments/src/shared/types").FilterBy): void;
272
240
  setJexlFilters(filters: string[]): void;
241
+ setHideSmallIndels(arg: boolean): void;
273
242
  } & {
274
243
  readonly rendererConfig: {
275
244
  [x: string]: any;
@@ -303,39 +272,38 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
303
272
  })[];
304
273
  readonly DisplayBlurb: ({ model, }: {
305
274
  model: {
306
- sortedBy?: {
307
- pos: number;
308
- refName: number;
309
- type: string;
310
- tag?: string;
311
- };
275
+ sortedBy?: import("@jbrowse/plugin-alignments/src/shared/types").SortedBy;
312
276
  };
313
- }) => import("react").JSX.Element | null;
277
+ }) => import("react/jsx-runtime").JSX.Element | null;
314
278
  renderPropsPre(): any;
315
279
  colorSchemeSubMenuItems(): {
316
280
  label: string;
317
281
  onClick: () => void;
318
282
  }[];
319
283
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
284
+ label: string;
285
+ priority: number;
286
+ type: string;
287
+ checked: boolean | undefined;
288
+ onClick: () => void;
289
+ icon?: undefined;
290
+ } | {
320
291
  label: string;
321
292
  icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
322
293
  muiName: string;
323
294
  };
324
295
  onClick: () => void;
296
+ priority?: undefined;
297
+ type?: undefined;
298
+ checked?: undefined;
325
299
  })[];
326
300
  } & {
327
301
  renderProps(): any;
328
302
  } & {
329
303
  afterAttach(): void;
330
304
  } & {
331
- /**
332
- * #method
333
- */
334
305
  contextMenuItems(): import("@jbrowse/core/ui").MenuItem[];
335
306
  } & {
336
- /**
337
- * #method
338
- */
339
307
  trackMenuItems(): (import("@jbrowse/core/ui").MenuDivider | import("@jbrowse/core/ui").MenuSubHeader | import("@jbrowse/core/ui").NormalMenuItem | import("@jbrowse/core/ui").CheckboxMenuItem | import("@jbrowse/core/ui").RadioMenuItem | import("@jbrowse/core/ui").SubMenuItem | {
340
308
  label: string;
341
309
  subMenu: {
@@ -344,10 +312,95 @@ declare function stateModelFactory(schema: AnyConfigurationSchemaType): import("
344
312
  }[];
345
313
  })[];
346
314
  } & {
347
- /**
348
- * #action
349
- */
350
315
  selectFeature(feature: Feature): void;
351
316
  afterCreate(): void;
352
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
317
+ }, {
318
+ type: string;
319
+ } & Partial<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
320
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
321
+ type: import("mobx-state-tree").ISimpleType<string>;
322
+ rpcDriverName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
323
+ } & {
324
+ heightPreConfig: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
325
+ } & {
326
+ userBpPerPxLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
327
+ userByteSizeLimit: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
328
+ } & {
329
+ blockState: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
330
+ key: import("mobx-state-tree").ISimpleType<string>;
331
+ region: import("mobx-state-tree").IType<import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region, import("@jbrowse/core/util").Region>;
332
+ reloadFlag: import("mobx-state-tree").IType<number | undefined, number, number>;
333
+ isLeftEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
334
+ isRightEndOfDisplayedRegion: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
335
+ }, {
336
+ stopToken: string | undefined;
337
+ filled: boolean;
338
+ reactElement: React.ReactElement | undefined;
339
+ features: Map<string, Feature> | undefined;
340
+ layout: any;
341
+ status: string;
342
+ error: unknown;
343
+ message: string | undefined;
344
+ maxHeightReached: boolean;
345
+ ReactComponent: ({ model, }: {
346
+ model: {
347
+ error?: unknown;
348
+ reload: () => void;
349
+ message: React.ReactNode;
350
+ filled?: boolean;
351
+ status?: string;
352
+ reactElement?: React.ReactElement;
353
+ };
354
+ }) => import("react/jsx-runtime").JSX.Element | undefined;
355
+ renderProps: any;
356
+ } & {
357
+ doReload(): void;
358
+ afterAttach(): void;
359
+ setStatus(message: string): void;
360
+ setLoading(newStopToken: string): void;
361
+ setMessage(messageText: string): void;
362
+ setRendered(props: import("@jbrowse/plugin-linear-genome-view/src/BaseLinearDisplay/models/serverSideRenderedBlock").RenderedProps | undefined): void;
363
+ setError(error: unknown): void;
364
+ reload(): void;
365
+ beforeDestroy(): void;
366
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
367
+ configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
368
+ maxFeatureScreenDensity: {
369
+ type: string;
370
+ description: string;
371
+ defaultValue: number;
372
+ };
373
+ fetchSizeLimit: {
374
+ type: string;
375
+ defaultValue: number;
376
+ description: string;
377
+ };
378
+ height: {
379
+ type: string;
380
+ defaultValue: number;
381
+ description: string;
382
+ };
383
+ mouseover: {
384
+ type: string;
385
+ description: string;
386
+ defaultValue: string;
387
+ contextVariable: string[];
388
+ };
389
+ jexlFilters: {
390
+ type: string;
391
+ description: string;
392
+ defaultValue: never[];
393
+ };
394
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "displayId">>;
395
+ } & {
396
+ configuration: AnyConfigurationSchemaType;
397
+ featureHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
398
+ noSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
399
+ fadeLikelihood: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
400
+ trackMaxHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
401
+ colorBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").ColorBy | undefined>;
402
+ filterBySetting: import("mobx-state-tree").IType<import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined, import("@jbrowse/plugin-alignments/src/shared/types").FilterBy | undefined>;
403
+ jexlFilters: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<string>>, [undefined]>;
404
+ hideSmallIndelsSetting: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<boolean>>;
405
+ }>> & import("mobx-state-tree/dist/internal").NonEmptyObject & import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
353
406
  export default stateModelFactory;
@@ -1,35 +1,18 @@
1
1
  import { lazy } from 'react';
2
- import { ConfigurationReference, getConf, } from '@jbrowse/core/configuration';
2
+ import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
3
3
  import { getContainingTrack, getContainingView, getSession, isSessionModelWithWidgets, } from '@jbrowse/core/util';
4
4
  import { SharedLinearPileupDisplayMixin } from '@jbrowse/plugin-alignments';
5
5
  import { types } from 'mobx-state-tree';
6
6
  const LaunchSyntenyViewDialog = lazy(() => import('./components/LaunchSyntenyViewDialog'));
7
- /**
8
- * #stateModel LGVSyntenyDisplay
9
- * displays location of "synteny" feature in a plain LGV, allowing linking out
10
- * to external synteny views
11
- *
12
- * extends
13
- * - [SharedLinearPileupDisplayMixin](../sharedlinearpileupdisplaymixin)
14
- */
15
7
  function stateModelFactory(schema) {
16
8
  return types
17
9
  .compose('LGVSyntenyDisplay', SharedLinearPileupDisplayMixin(schema), types.model({
18
- /**
19
- * #property
20
- */
21
10
  type: types.literal('LGVSyntenyDisplay'),
22
- /**
23
- * #property
24
- */
25
11
  configuration: ConfigurationReference(schema),
26
12
  }))
27
13
  .views(self => {
28
14
  const superContextMenuItems = self.contextMenuItems;
29
15
  return {
30
- /**
31
- * #method
32
- */
33
16
  contextMenuItems() {
34
17
  const feature = self.contextMenuFeature;
35
18
  return [
@@ -42,9 +25,10 @@ function stateModelFactory(schema) {
42
25
  getSession(self).queueDialog(handleClose => [
43
26
  LaunchSyntenyViewDialog,
44
27
  {
45
- model: self,
28
+ view: getContainingView(self),
46
29
  trackId: getConf(getContainingTrack(self), 'trackId'),
47
30
  handleClose,
31
+ session: getSession(self),
48
32
  feature,
49
33
  },
50
34
  ]);
@@ -59,9 +43,6 @@ function stateModelFactory(schema) {
59
43
  .views(self => {
60
44
  const { trackMenuItems: superTrackMenuItems, colorSchemeSubMenuItems: superColorSchemeSubMenuItems, } = self;
61
45
  return {
62
- /**
63
- * #method
64
- */
65
46
  trackMenuItems() {
66
47
  return [
67
48
  ...superTrackMenuItems(),
@@ -74,9 +55,6 @@ function stateModelFactory(schema) {
74
55
  };
75
56
  })
76
57
  .actions(self => ({
77
- /**
78
- * #action
79
- */
80
58
  selectFeature(feature) {
81
59
  const session = getSession(self);
82
60
  if (isSessionModelWithWidgets(session)) {
@@ -96,12 +74,7 @@ function stateModelFactory(schema) {
96
74
  session.setSelection(feature);
97
75
  },
98
76
  afterCreate() {
99
- // use color by stand to help indicate inversions better on first load,
100
- // otherwise use selected orientation
101
- if (self.colorBy) {
102
- self.setColorScheme({ ...self.colorBy });
103
- }
104
- else {
77
+ if (!self.colorBySetting && self.colorBy.type === 'normal') {
105
78
  self.setColorScheme({ type: 'strand' });
106
79
  }
107
80
  },
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function LaunchLinearSyntenyView(pluginManager: PluginManager): void;
@@ -4,9 +4,7 @@ function makeMultiDimArray(str) {
4
4
  return Array.isArray(str[0]) ? str : [str];
5
5
  }
6
6
  export default function LaunchLinearSyntenyView(pluginManager) {
7
- pluginManager.addToExtensionPoint('LaunchView-LinearSyntenyView',
8
- // @ts-expect-error
9
- async ({ session, views, tracks = [], }) => {
7
+ pluginManager.addToExtensionPoint('LaunchView-LinearSyntenyView', async ({ session, views, tracks = [], }) => {
10
8
  try {
11
9
  const { assemblyManager } = session;
12
10
  const model = session.addView('LinearSyntenyView', {});