@jbrowse/plugin-alignments 2.15.0 → 2.15.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 (62) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +29 -3
  2. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +1 -0
  3. package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +6 -0
  4. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +1 -0
  5. package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +6 -0
  6. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +9 -0
  7. package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +92 -0
  8. package/dist/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.js → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js} +43 -18
  9. package/dist/AlignmentsFeatureDetail/{SuppAlignments.d.ts → LinkedPairedAlignments.d.ts} +0 -1
  10. package/dist/AlignmentsFeatureDetail/{SuppAlignments.js → LinkedPairedAlignments.js} +3 -6
  11. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +8 -0
  12. package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +26 -0
  13. package/{esm/AlignmentsFeatureDetail/SuppAlignmentsLocStrings.d.ts → dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts} +1 -1
  14. package/dist/AlignmentsFeatureDetail/{SuppAlignmentsLocStrings.js → SupplementaryAlignmentsLocStrings.js} +2 -2
  15. package/dist/LinearAlignmentsDisplay/models/alignmentsModel.js +1 -2
  16. package/dist/LinearAlignmentsDisplay/models/util.js +2 -4
  17. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +14 -15
  18. package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +30 -18
  19. package/dist/LinearPileupDisplay/model.d.ts +29 -26
  20. package/dist/LinearPileupDisplay/model.js +33 -28
  21. package/dist/LinearReadArcsDisplay/index.js +25 -2
  22. package/dist/LinearReadCloudDisplay/index.js +25 -2
  23. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +4 -4
  24. package/dist/LinearSNPCoverageDisplay/models/model.js +27 -2
  25. package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
  26. package/dist/shared/color.d.ts +3 -0
  27. package/dist/shared/color.js +21 -10
  28. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -3
  29. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.d.ts +1 -0
  30. package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +2 -0
  31. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.d.ts +1 -0
  32. package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +2 -0
  33. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +9 -0
  34. package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +66 -0
  35. package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +84 -0
  36. package/esm/AlignmentsFeatureDetail/{SuppAlignments.d.ts → LinkedPairedAlignments.d.ts} +0 -1
  37. package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +17 -0
  38. package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +8 -0
  39. package/esm/AlignmentsFeatureDetail/{SuppAlignments.js → SupplementaryAlignments.js} +4 -4
  40. package/{dist/AlignmentsFeatureDetail/SuppAlignmentsLocStrings.d.ts → esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts} +1 -1
  41. package/esm/AlignmentsFeatureDetail/{SuppAlignmentsLocStrings.js → SupplementaryAlignmentsLocStrings.js} +1 -1
  42. package/esm/LinearAlignmentsDisplay/models/alignmentsModel.js +1 -2
  43. package/esm/LinearAlignmentsDisplay/models/util.js +2 -4
  44. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +14 -15
  45. package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +30 -18
  46. package/esm/LinearPileupDisplay/model.d.ts +29 -26
  47. package/esm/LinearPileupDisplay/model.js +33 -28
  48. package/esm/LinearReadArcsDisplay/index.js +2 -2
  49. package/esm/LinearReadCloudDisplay/index.js +2 -2
  50. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +4 -4
  51. package/esm/LinearSNPCoverageDisplay/models/model.js +3 -1
  52. package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
  53. package/esm/shared/color.d.ts +3 -0
  54. package/esm/shared/color.js +20 -10
  55. package/package.json +3 -2
  56. package/dist/AlignmentsFeatureDetail/BreakendOptionDialog.d.ts +0 -12
  57. package/dist/AlignmentsFeatureDetail/BreakendOptionDialog.js +0 -97
  58. package/esm/AlignmentsFeatureDetail/BreakendOptionDialog.d.ts +0 -12
  59. package/esm/AlignmentsFeatureDetail/BreakendOptionDialog.js +0 -72
  60. package/esm/AlignmentsFeatureDetail/LaunchBreakpointSplitViewPanel.js +0 -59
  61. /package/dist/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.d.ts → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts} +0 -0
  62. /package/esm/AlignmentsFeatureDetail/{LaunchBreakpointSplitViewPanel.d.ts → LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts} +0 -0
@@ -1,9 +1,32 @@
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
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
29
+ const react_1 = __importStar(require("react"));
7
30
  const material_1 = require("@mui/material");
8
31
  const mobx_react_1 = require("mobx-react");
9
32
  const clone_1 = __importDefault(require("clone"));
@@ -12,10 +35,12 @@ const BaseFeatureDetail_1 = require("@jbrowse/core/BaseFeatureWidget/BaseFeature
12
35
  const util_1 = require("./util");
13
36
  const tagInfo_1 = require("./tagInfo");
14
37
  // local components
15
- const SuppAlignments_1 = __importDefault(require("./SuppAlignments"));
16
38
  const Flags_1 = __importDefault(require("./Flags"));
17
39
  const PairLink_1 = __importDefault(require("./PairLink"));
18
40
  const Formatter_1 = __importDefault(require("./Formatter"));
41
+ // lazies
42
+ const SupplementaryAlignments = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SupplementaryAlignments'))));
43
+ const LinkedPairedAlignments = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./LinkedPairedAlignments'))));
19
44
  const omit = ['clipPos', 'flags'];
20
45
  const AlignmentsFeatureDetails = (0, mobx_react_1.observer)(function (props) {
21
46
  const { model } = props;
@@ -27,7 +52,8 @@ const AlignmentsFeatureDetails = (0, mobx_react_1.observer)(function (props) {
27
52
  react_1.default.createElement(BaseFeatureDetail_1.FeatureDetails, { ...props, omit: omit,
28
53
  // @ts-expect-error
29
54
  descriptions: { ...tagInfo_1.tags, tags: tagInfo_1.tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (react_1.default.createElement(PairLink_1.default, { model: model, locString: value })) : (react_1.default.createElement(Formatter_1.default, { value: value })) }),
30
- SA !== undefined ? (react_1.default.createElement(SuppAlignments_1.default, { model: model, tag: SA, feature: feat })) : null,
55
+ SA !== undefined ? (react_1.default.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
56
+ flags & 1 ? (react_1.default.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
31
57
  flags !== undefined ? react_1.default.createElement(Flags_1.default, { feature: feat, ...props }) : null));
32
58
  });
33
59
  exports.default = AlignmentsFeatureDetails;
@@ -0,0 +1 @@
1
+ export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ // re-exported for react lazy
5
+ var sv_core_1 = require("@jbrowse/sv-core");
6
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return sv_core_1.BreakendMultiLevelOptionDialog; } });
@@ -0,0 +1 @@
1
+ export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = void 0;
4
+ // re-exported for react lazy
5
+ var sv_core_1 = require("@jbrowse/sv-core");
6
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return sv_core_1.BreakendSingleLevelOptionDialog; } });
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
+ import { ViewType } from '@jbrowse/core/pluggableElementTypes';
4
+ import { AlignmentFeatureWidgetModel } from './stateModelFactory';
5
+ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }: {
6
+ model: AlignmentFeatureWidgetModel;
7
+ feature: SimpleFeatureSerialized;
8
+ viewType: ViewType;
9
+ }): React.JSX.Element;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.default = LaunchPairedEndBreakpointSplitViewPanel;
27
+ const react_1 = __importStar(require("react"));
28
+ const material_1 = require("@mui/material");
29
+ const util_1 = require("@jbrowse/core/util");
30
+ // lazies
31
+ const BreakendMultiLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendMultiLevelOptionDialog'))));
32
+ const BreakendSingleLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendSingleLevelOptionDialog'))));
33
+ function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }) {
34
+ const session = (0, util_1.getSession)(model);
35
+ const f1 = {
36
+ uniqueId: feature.uniqueId,
37
+ refName: feature.refName,
38
+ start: feature.start,
39
+ end: feature.end,
40
+ strand: feature.strand,
41
+ };
42
+ const f2 = {
43
+ uniqueId: `${feature.id}-mate`,
44
+ refName: feature.next_ref,
45
+ start: feature.next_pos,
46
+ end: feature.next_pos + 1,
47
+ strand: feature.strand,
48
+ };
49
+ return (react_1.default.createElement("div", null,
50
+ react_1.default.createElement(material_1.Typography, null, "Launch split view"),
51
+ react_1.default.createElement("ul", null,
52
+ react_1.default.createElement("li", null,
53
+ f1.refName,
54
+ ":",
55
+ (0, util_1.toLocale)(f1.start),
56
+ " -> ",
57
+ f2.refName,
58
+ ":",
59
+ (0, util_1.toLocale)(f2.start),
60
+ ' ',
61
+ react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
62
+ event.preventDefault();
63
+ session.queueDialog(handleClose => [
64
+ BreakendMultiLevelOptionDialog,
65
+ {
66
+ handleClose,
67
+ model,
68
+ feature: new util_1.SimpleFeature({ ...f1, mate: f2 }),
69
+ // @ts-expect-error
70
+ viewType,
71
+ view: model.view,
72
+ assemblyName: model.view.displayedRegions[0].assemblyName,
73
+ },
74
+ ]);
75
+ } }, "(top/bottom)"),
76
+ ' ',
77
+ react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
78
+ event.preventDefault();
79
+ session.queueDialog(handleClose => [
80
+ BreakendSingleLevelOptionDialog,
81
+ {
82
+ handleClose,
83
+ model,
84
+ feature: new util_1.SimpleFeature({ ...f1, mate: f2 }),
85
+ // @ts-expect-error
86
+ viewType,
87
+ view: model.view,
88
+ assemblyName: model.view.displayedRegions[0].assemblyName,
89
+ },
90
+ ]);
91
+ } }, "(single row)")))));
92
+ }
@@ -30,7 +30,8 @@ const util_1 = require("@jbrowse/core/util");
30
30
  const ui_1 = require("@jbrowse/core/ui");
31
31
  const getSAFeatures_1 = require("./getSAFeatures");
32
32
  // lazies
33
- const BreakendOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendOptionDialog'))));
33
+ const BreakendMultiLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendMultiLevelOptionDialog'))));
34
+ const BreakendSingleLevelOptionDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./BreakendSingleLevelOptionDialog'))));
34
35
  function LaunchBreakpointSplitViewPanel({ model, feature, viewType, }) {
35
36
  const session = (0, util_1.getSession)(model);
36
37
  const { view } = model;
@@ -60,26 +61,50 @@ function LaunchBreakpointSplitViewPanel({ model, feature, viewType, }) {
60
61
  }
61
62
  }
62
63
  return ret.length ? (react_1.default.createElement("div", null,
63
- react_1.default.createElement(material_1.Typography, null, "Launch split views with breakend source and target"),
64
+ react_1.default.createElement(material_1.Typography, null, "Launch split view"),
64
65
  error ? react_1.default.createElement(ui_1.ErrorMessage, { error: error }) : null,
65
66
  react_1.default.createElement("ul", null, ret.map((arg, index) => {
66
67
  const [f1, f2] = arg;
67
68
  return (react_1.default.createElement("li", { key: `${JSON.stringify(arg)}-${index}` },
68
- react_1.default.createElement(material_1.Tooltip, { title: "Top panel->Bottom panel" },
69
- react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
70
- event.preventDefault();
71
- session.queueDialog(handleClose => [
72
- BreakendOptionDialog,
73
- { handleClose, f1, f2, model, viewType },
74
- ]);
75
- } },
76
- f1.refName,
77
- ":",
78
- (0, util_1.toLocale)(f1.strand === 1 ? f1.end : f1.start),
79
- ' ',
80
- "-> ",
81
- f2.refName,
82
- ":",
83
- (0, util_1.toLocale)(f2.strand === 1 ? f2.start : f2.end)))));
69
+ f1.refName,
70
+ ":",
71
+ (0, util_1.toLocale)(f1.strand === 1 ? f1.end : f1.start),
72
+ " ->",
73
+ ' ',
74
+ f2.refName,
75
+ ":",
76
+ (0, util_1.toLocale)(f2.strand === 1 ? f2.start : f2.end),
77
+ ' ',
78
+ react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
79
+ event.preventDefault();
80
+ session.queueDialog(handleClose => [
81
+ BreakendMultiLevelOptionDialog,
82
+ {
83
+ handleClose,
84
+ model,
85
+ feature: new util_1.SimpleFeature({ ...f1, mate: f2 }),
86
+ // @ts-expect-error
87
+ viewType,
88
+ view: model.view,
89
+ assemblyName: model.view.displayedRegions[0].assemblyName,
90
+ },
91
+ ]);
92
+ } }, "(top/bottom)"),
93
+ ' ',
94
+ react_1.default.createElement(material_1.Link, { href: "#", onClick: event => {
95
+ event.preventDefault();
96
+ session.queueDialog(handleClose => [
97
+ BreakendSingleLevelOptionDialog,
98
+ {
99
+ handleClose,
100
+ model,
101
+ feature: new util_1.SimpleFeature({ ...f1, mate: f2 }),
102
+ // @ts-expect-error
103
+ viewType,
104
+ view: model.view,
105
+ assemblyName: model.view.displayedRegions[0].assemblyName,
106
+ },
107
+ ]);
108
+ } }, "(single row)")));
84
109
  })))) : null;
85
110
  }
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
3
  import { AlignmentFeatureWidgetModel } from './stateModelFactory';
4
4
  export default function SuppAlignments(props: {
5
- tag: string;
6
5
  model: AlignmentFeatureWidgetModel;
7
6
  feature: SimpleFeatureSerialized;
8
7
  }): React.JSX.Element;
@@ -7,10 +7,9 @@ exports.default = SuppAlignments;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const BaseFeatureDetail_1 = require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail");
9
9
  const util_1 = require("@jbrowse/core/util");
10
- const SuppAlignmentsLocStrings_1 = __importDefault(require("./SuppAlignmentsLocStrings"));
11
- const LaunchBreakpointSplitViewPanel_1 = __importDefault(require("./LaunchBreakpointSplitViewPanel"));
10
+ const LaunchPairedEndBreakpointSplitViewPanel_1 = __importDefault(require("./LaunchPairedEndBreakpointSplitViewPanel"));
12
11
  function SuppAlignments(props) {
13
- const { model, tag, feature } = props;
12
+ const { model, feature } = props;
14
13
  const session = (0, util_1.getSession)(model);
15
14
  const { pluginManager } = (0, util_1.getEnv)(session);
16
15
  let viewType;
@@ -20,7 +19,5 @@ function SuppAlignments(props) {
20
19
  catch (e) {
21
20
  // ignore
22
21
  }
23
- return (react_1.default.createElement(BaseFeatureDetail_1.BaseCard, { ...props, title: "Supplementary alignments" },
24
- react_1.default.createElement(SuppAlignmentsLocStrings_1.default, { model: model, tag: tag }),
25
- viewType ? (react_1.default.createElement(LaunchBreakpointSplitViewPanel_1.default, { viewType: viewType, model: model, feature: feature })) : null));
22
+ return (react_1.default.createElement(BaseFeatureDetail_1.BaseCard, { ...props, title: "Supplementary alignments" }, viewType ? (react_1.default.createElement(LaunchPairedEndBreakpointSplitViewPanel_1.default, { viewType: viewType, model: model, feature: feature })) : null));
26
23
  }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { SimpleFeatureSerialized } from '@jbrowse/core/util';
3
+ import { AlignmentFeatureWidgetModel } from './stateModelFactory';
4
+ export default function SupplementaryAlignments(props: {
5
+ tag: string;
6
+ model: AlignmentFeatureWidgetModel;
7
+ feature: SimpleFeatureSerialized;
8
+ }): React.JSX.Element;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = SupplementaryAlignments;
7
+ const react_1 = __importDefault(require("react"));
8
+ const BaseFeatureDetail_1 = require("@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail");
9
+ const util_1 = require("@jbrowse/core/util");
10
+ const SupplementaryAlignmentsLocStrings_1 = __importDefault(require("./SupplementaryAlignmentsLocStrings"));
11
+ const LaunchSupplementaryAlignmentBreakpointSplitViewPanel_1 = __importDefault(require("./LaunchSupplementaryAlignmentBreakpointSplitViewPanel"));
12
+ function SupplementaryAlignments(props) {
13
+ const { model, tag, feature } = props;
14
+ const session = (0, util_1.getSession)(model);
15
+ const { pluginManager } = (0, util_1.getEnv)(session);
16
+ let viewType;
17
+ try {
18
+ viewType = pluginManager.getViewType('BreakpointSplitView');
19
+ }
20
+ catch (e) {
21
+ // ignore
22
+ }
23
+ return (react_1.default.createElement(BaseFeatureDetail_1.BaseCard, { ...props, title: "Supplementary alignments" },
24
+ react_1.default.createElement(SupplementaryAlignmentsLocStrings_1.default, { model: model, tag: tag }),
25
+ viewType ? (react_1.default.createElement(LaunchSupplementaryAlignmentBreakpointSplitViewPanel_1.default, { viewType: viewType, model: model, feature: feature })) : null));
26
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AlignmentFeatureWidgetModel } from './stateModelFactory';
3
- export default function SuppAlignmentsLocStrings({ tag, model, }: {
3
+ export default function SupplementaryAlignmentsLocStrings({ tag, model, }: {
4
4
  tag: string;
5
5
  model: AlignmentFeatureWidgetModel;
6
6
  }): React.JSX.Element;
@@ -3,13 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = SuppAlignmentsLocStrings;
6
+ exports.default = SupplementaryAlignmentsLocStrings;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const material_1 = require("@mui/material");
9
9
  // locals
10
10
  const MismatchParser_1 = require("../MismatchParser");
11
11
  const util_1 = require("./util");
12
- function SuppAlignmentsLocStrings({ tag, model, }) {
12
+ function SupplementaryAlignmentsLocStrings({ tag, model, }) {
13
13
  return (react_1.default.createElement("div", null,
14
14
  react_1.default.createElement(material_1.Typography, null, "List of supplementary alignment locations"),
15
15
  react_1.default.createElement("ul", null, tag
@@ -9,13 +9,12 @@ const util_1 = require("./util");
9
9
  * #stateModel LinearAlignmentsDisplayMixin
10
10
  */
11
11
  function LinearAlignmentsDisplayMixin(pluginManager, configSchema) {
12
- const lowerPanelDisplays = (0, util_1.getLowerPanelDisplays)(pluginManager).map(f => f.stateModel);
13
12
  return mobx_state_tree_1.types.model({
14
13
  /**
15
14
  * #property
16
15
  * refers to LinearPileupDisplay sub-display model
17
16
  */
18
- PileupDisplay: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.union(...lowerPanelDisplays)),
17
+ PileupDisplay: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.union(...(0, util_1.getLowerPanelDisplays)(pluginManager).map(f => f.stateModel))),
19
18
  /**
20
19
  * #property
21
20
  * refers to LinearSNPCoverageDisplay sub-display model
@@ -2,10 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLowerPanelDisplays = getLowerPanelDisplays;
4
4
  function getLowerPanelDisplays(pluginManager) {
5
- return (pluginManager
5
+ return pluginManager
6
6
  .getDisplayElements()
7
- // @ts-expect-error
8
7
  .filter(f => { var _a; return ((_a = f.subDisplay) === null || _a === void 0 ? void 0 : _a.type) === 'LinearAlignmentsDisplay'; })
9
- // @ts-expect-error
10
- .filter(f => { var _a; return (_a = f.subDisplay) === null || _a === void 0 ? void 0 : _a.lowerPanel; }));
8
+ .filter(f => { var _a; return (_a = f.subDisplay) === null || _a === void 0 ? void 0 : _a.lowerPanel; });
11
9
  }
@@ -37,7 +37,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
37
37
  }, {
38
38
  renderInProgress: AbortController | undefined;
39
39
  filled: boolean;
40
- reactElement: import("react").ReactElement | undefined;
40
+ reactElement: React.ReactElement | undefined;
41
41
  features: Map<string, Feature> | undefined;
42
42
  layout: any;
43
43
  status: string;
@@ -48,10 +48,10 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
48
48
  model: {
49
49
  error?: unknown;
50
50
  reload: () => void;
51
- message: import("react").ReactNode;
51
+ message: React.ReactNode;
52
52
  filled?: boolean;
53
53
  status?: string;
54
- reactElement?: import("react").ReactElement;
54
+ reactElement?: React.ReactElement;
55
55
  };
56
56
  }) => import("react").JSX.Element | undefined;
57
57
  renderProps: any;
@@ -62,7 +62,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
62
62
  setLoading(abortController: AbortController): void;
63
63
  setMessage(messageText: string): void;
64
64
  setRendered(props: {
65
- reactElement: import("react").ReactElement;
65
+ reactElement: React.ReactElement;
66
66
  features: Map<string, Feature>;
67
67
  layout: any;
68
68
  maxHeightReached: boolean;
@@ -150,7 +150,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
150
150
  error: unknown;
151
151
  message: string | undefined;
152
152
  } & {
153
- readonly RenderingComponent: import("react").FC<{
153
+ readonly RenderingComponent: React.FC<{
154
154
  model: {
155
155
  id: string;
156
156
  type: string;
@@ -171,7 +171,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
171
171
  onHorizontalScroll?: () => void;
172
172
  blockState?: Record<string, any>;
173
173
  }>;
174
- readonly DisplayBlurb: import("react").FC<{
174
+ readonly DisplayBlurb: React.FC<{
175
175
  model: {
176
176
  id: string;
177
177
  type: string;
@@ -194,7 +194,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
194
194
  readonly parentTrack: any;
195
195
  renderProps(): any;
196
196
  readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
197
- readonly DisplayMessageComponent: undefined | import("react").FC<any>;
197
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
198
198
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
199
199
  readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
200
200
  regionCannotBeRendered(): null;
@@ -240,13 +240,13 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
240
240
  featureIdUnderMouse: undefined | string;
241
241
  contextMenuFeature: undefined | Feature;
242
242
  } & {
243
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
243
244
  readonly blockType: "dynamicBlocks" | "staticBlocks";
244
245
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
245
246
  } & {
246
247
  readonly renderDelay: number;
247
- readonly TooltipComponent: import("react").FC<any>;
248
+ readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
248
249
  readonly selectedFeatureId: string | undefined;
249
- readonly DisplayMessageComponent: undefined | import("react").FC<any>;
250
250
  } & {
251
251
  readonly features: import("@jbrowse/core/util/compositeMap").default<string, Feature>;
252
252
  readonly featureUnderMouse: Feature | undefined;
@@ -421,7 +421,6 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
421
421
  icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
422
422
  muiName: string;
423
423
  };
424
- priority: number;
425
424
  onClick: () => void;
426
425
  })[];
427
426
  } & {
@@ -458,7 +457,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
458
457
  }, {
459
458
  renderInProgress: AbortController | undefined;
460
459
  filled: boolean;
461
- reactElement: import("react").ReactElement | undefined;
460
+ reactElement: React.ReactElement | undefined;
462
461
  features: Map<string, Feature> | undefined;
463
462
  layout: any;
464
463
  status: string;
@@ -469,10 +468,10 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
469
468
  model: {
470
469
  error?: unknown;
471
470
  reload: () => void;
472
- message: import("react").ReactNode;
471
+ message: React.ReactNode;
473
472
  filled?: boolean;
474
473
  status?: string;
475
- reactElement?: import("react").ReactElement;
474
+ reactElement?: React.ReactElement;
476
475
  };
477
476
  }) => import("react").JSX.Element | undefined;
478
477
  renderProps: any;
@@ -483,7 +482,7 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
483
482
  setLoading(abortController: AbortController): void;
484
483
  setMessage(messageText: string): void;
485
484
  setRendered(props: {
486
- reactElement: import("react").ReactElement;
485
+ reactElement: React.ReactElement;
487
486
  features: Map<string, Feature>;
488
487
  layout: any;
489
488
  maxHeightReached: boolean;
@@ -525,8 +524,8 @@ export declare function SharedLinearPileupDisplayMixin(configSchema: AnyConfigur
525
524
  type: string;
526
525
  id: string;
527
526
  configuration: import("mobx-state-tree").ModelSnapshotType<Record<string, any>>;
528
- rpcDriverName: string | undefined;
529
527
  heightPreConfig: number | undefined;
528
+ rpcDriverName: string | undefined;
530
529
  userBpPerPxLimit: number | undefined;
531
530
  userByteSizeLimit: number | undefined;
532
531
  } & import("mobx-state-tree")._NotCustomized>;
@@ -432,9 +432,12 @@ function SharedLinearPileupDisplayMixin(configSchema) {
432
432
  {
433
433
  label: 'Color by tag...',
434
434
  onClick: () => {
435
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
435
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
436
436
  ColorByTagDialog,
437
- { model: self, handleClose: doneCallback },
437
+ {
438
+ model: self,
439
+ handleClose,
440
+ },
438
441
  ]);
439
442
  },
440
443
  },
@@ -446,20 +449,9 @@ function SharedLinearPileupDisplayMixin(configSchema) {
446
449
  trackMenuItems() {
447
450
  return [
448
451
  ...superTrackMenuItems(),
449
- {
450
- label: 'Filter by...',
451
- icon: ClearAll_1.default,
452
- priority: -1,
453
- onClick: () => {
454
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
455
- FilterByTagDialog,
456
- { model: self, handleClose: doneCallback },
457
- ]);
458
- },
459
- },
460
452
  {
461
453
  label: 'Set feature height...',
462
- priority: -1,
454
+ priority: 1,
463
455
  subMenu: [
464
456
  {
465
457
  label: 'Normal',
@@ -478,9 +470,12 @@ function SharedLinearPileupDisplayMixin(configSchema) {
478
470
  {
479
471
  label: 'Manually set height',
480
472
  onClick: () => {
481
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
473
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
482
474
  SetFeatureHeightDialog,
483
- { model: self, handleClose: doneCallback },
475
+ {
476
+ model: self,
477
+ handleClose,
478
+ },
484
479
  ]);
485
480
  },
486
481
  },
@@ -488,10 +483,27 @@ function SharedLinearPileupDisplayMixin(configSchema) {
488
483
  },
489
484
  {
490
485
  label: 'Set max height...',
486
+ priority: -1,
491
487
  onClick: () => {
492
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
488
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
493
489
  SetMaxHeightDialog,
494
- { model: self, handleClose: doneCallback },
490
+ {
491
+ model: self,
492
+ handleClose,
493
+ },
494
+ ]);
495
+ },
496
+ },
497
+ {
498
+ label: 'Filter by...',
499
+ icon: ClearAll_1.default,
500
+ onClick: () => {
501
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
502
+ FilterByTagDialog,
503
+ {
504
+ model: self,
505
+ handleClose,
506
+ },
495
507
  ]);
496
508
  },
497
509
  },