@jbrowse/plugin-alignments 2.15.0 → 2.15.2

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
@@ -34,7 +34,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
34
34
  }, {
35
35
  renderInProgress: AbortController | undefined;
36
36
  filled: boolean;
37
- reactElement: import("react").ReactElement | undefined;
37
+ reactElement: React.ReactElement | undefined;
38
38
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
39
39
  layout: any;
40
40
  status: string;
@@ -45,12 +45,12 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
45
45
  model: {
46
46
  error?: unknown;
47
47
  reload: () => void;
48
- message: import("react").ReactNode;
48
+ message: React.ReactNode;
49
49
  filled?: boolean;
50
50
  status?: string;
51
51
  reactElement? /**
52
52
  * #property
53
- */: import("react").ReactElement;
53
+ */: React.ReactElement;
54
54
  };
55
55
  }) => import("react").JSX.Element | undefined;
56
56
  renderProps: any;
@@ -61,7 +61,11 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
61
61
  setLoading(abortController: AbortController): void;
62
62
  setMessage(messageText: string): void;
63
63
  setRendered(props: {
64
- reactElement: import("react").ReactElement;
64
+ reactElement: React.
65
+ /**
66
+ * #action
67
+ */
68
+ ReactElement;
65
69
  features: Map<string, import("@jbrowse/core/util").Feature>;
66
70
  layout: any;
67
71
  maxHeightReached: boolean;
@@ -137,7 +141,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
137
141
  error: unknown;
138
142
  message: string | undefined;
139
143
  } & {
140
- readonly RenderingComponent: import("react").FC<{
144
+ readonly RenderingComponent: React.FC<{
141
145
  model: {
142
146
  id: string;
143
147
  type: string;
@@ -160,7 +164,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
160
164
  onHorizontalScroll?: () => void;
161
165
  blockState?: Record<string, any>;
162
166
  }>;
163
- readonly DisplayBlurb: import("react").FC<{
167
+ readonly DisplayBlurb: React.FC<{
164
168
  model: {
165
169
  id: string;
166
170
  type: string;
@@ -185,7 +189,7 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
185
189
  readonly parentTrack: any;
186
190
  renderProps(): any;
187
191
  readonly rendererType: import("@jbrowse/core/pluggableElementTypes").RendererType;
188
- readonly DisplayMessageComponent: undefined | import("react").FC<any>;
192
+ readonly DisplayMessageComponent: undefined | React.FC<any>;
189
193
  trackMenuItems(): import("@jbrowse/core/ui").MenuItem[];
190
194
  readonly viewMenuActions: import("@jbrowse/core/ui").MenuItem[];
191
195
  regionCannotBeRendered(): null;
@@ -231,13 +235,13 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
231
235
  featureIdUnderMouse: undefined | string;
232
236
  contextMenuFeature: undefined | import("@jbrowse/core/util").Feature;
233
237
  } & {
238
+ readonly DisplayMessageComponent: import("react").FC<any> | undefined;
234
239
  readonly blockType: "dynamicBlocks" | "staticBlocks";
235
240
  readonly blockDefinitions: import("@jbrowse/core/util/blockTypes").BlockSet;
236
241
  } & {
237
242
  readonly renderDelay: number;
238
- readonly TooltipComponent: import("react").FC<any>;
243
+ readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
239
244
  readonly selectedFeatureId: string | undefined;
240
- readonly DisplayMessageComponent: undefined | import("react").FC<any>;
241
245
  } & {
242
246
  readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
243
247
  readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
@@ -335,7 +339,6 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
335
339
  icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
336
340
  muiName: string;
337
341
  };
338
- priority: number;
339
342
  onClick: () => void;
340
343
  })[];
341
344
  } & {
@@ -428,6 +431,22 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
428
431
  * #method
429
432
  */
430
433
  trackMenuItems(): readonly [...import("@jbrowse/core/ui").MenuItem[], {
434
+ readonly label: "Sort by...";
435
+ readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
436
+ muiName: string;
437
+ };
438
+ readonly disabled: boolean;
439
+ readonly subMenu: readonly [...{
440
+ label: string;
441
+ onClick: () => void;
442
+ }[], {
443
+ readonly label: "Sort by tag...";
444
+ readonly onClick: () => void;
445
+ }, {
446
+ readonly label: "Clear sort";
447
+ readonly onClick: () => void;
448
+ }];
449
+ }, {
431
450
  readonly label: "Color by...";
432
451
  readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
433
452
  muiName: string;
@@ -445,22 +464,6 @@ declare function stateModelFactory(configSchema: AnyConfigurationSchemaType): im
445
464
  label: string;
446
465
  onClick: () => void;
447
466
  }[]];
448
- }, {
449
- readonly label: "Sort by...";
450
- readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
451
- muiName: string;
452
- };
453
- readonly disabled: boolean;
454
- readonly subMenu: readonly [...{
455
- label: string;
456
- onClick: () => void;
457
- }[], {
458
- readonly label: "Sort by tag...";
459
- readonly onClick: () => void;
460
- }, {
461
- readonly label: "Clear sort";
462
- readonly onClick: () => void;
463
- }];
464
467
  }, {
465
468
  readonly label: "Group by...";
466
469
  readonly icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
@@ -251,59 +251,65 @@ function stateModelFactory(configSchema) {
251
251
  return [
252
252
  ...superTrackMenuItems(),
253
253
  {
254
- label: 'Color by...',
255
- icon: ColorLens_1.default,
254
+ label: 'Sort by...',
255
+ icon: Sort_1.default,
256
+ disabled: self.showSoftClipping,
256
257
  subMenu: [
257
- {
258
- label: 'Pair orientation',
258
+ ...['Start location', 'Read strand', 'Base pair'].map(option => ({
259
+ label: option,
259
260
  onClick: () => {
260
- self.setColorScheme({ type: 'pairOrientation' });
261
+ self.setSortedBy(option);
261
262
  },
262
- },
263
+ })),
263
264
  {
264
- label: 'Modifications or methylation',
265
+ label: 'Sort by tag...',
265
266
  onClick: () => {
266
- (0, util_1.getSession)(self).queueDialog(doneCallback => [
267
- ModificationsDialog,
268
- { model: self, handleClose: doneCallback },
267
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
268
+ SortByTagDialog,
269
+ {
270
+ model: self,
271
+ handleClose,
272
+ },
269
273
  ]);
270
274
  },
271
275
  },
272
276
  {
273
- label: 'Insert size',
277
+ label: 'Clear sort',
274
278
  onClick: () => {
275
- self.setColorScheme({ type: 'insertSize' });
279
+ self.clearSelected();
276
280
  },
277
281
  },
278
- ...superColorSchemeSubMenuItems(),
279
282
  ],
280
283
  },
281
284
  {
282
- label: 'Sort by...',
283
- icon: Sort_1.default,
284
- disabled: self.showSoftClipping,
285
+ label: 'Color by...',
286
+ icon: ColorLens_1.default,
285
287
  subMenu: [
286
- ...['Start location', 'Read strand', 'Base pair'].map(option => ({
287
- label: option,
288
+ {
289
+ label: 'Pair orientation',
288
290
  onClick: () => {
289
- self.setSortedBy(option);
291
+ self.setColorScheme({ type: 'pairOrientation' });
290
292
  },
291
- })),
293
+ },
292
294
  {
293
- label: 'Sort by tag...',
295
+ label: 'Modifications or methylation',
294
296
  onClick: () => {
295
- (0, util_1.getSession)(self).queueDialog(handleClose => [
296
- SortByTagDialog,
297
- { model: self, handleClose },
297
+ (0, util_1.getSession)(self).queueDialog(doneCallback => [
298
+ ModificationsDialog,
299
+ {
300
+ model: self,
301
+ handleClose: doneCallback,
302
+ },
298
303
  ]);
299
304
  },
300
305
  },
301
306
  {
302
- label: 'Clear sort',
307
+ label: 'Insert size',
303
308
  onClick: () => {
304
- self.clearSelected();
309
+ self.setColorScheme({ type: 'insertSize' });
305
310
  },
306
311
  },
312
+ ...superColorSchemeSubMenuItems(),
307
313
  ],
308
314
  },
309
315
  {
@@ -349,8 +355,7 @@ function stateModelFactory(configSchema) {
349
355
  if (!self.autorunReady) {
350
356
  return;
351
357
  }
352
- const { bpPerPx } = view;
353
- self.setCurrSortBpPerPx(bpPerPx);
358
+ self.setCurrSortBpPerPx(view.bpPerPx);
354
359
  }, { delay: 1000 });
355
360
  (0, util_2.createAutorun)(self, async () => {
356
361
  const { rpcManager } = (0, util_1.getSession)(self);
@@ -1,4 +1,27 @@
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
  };
@@ -6,9 +29,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.default = register;
7
30
  const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
8
31
  // locals
9
- const ReactComponent_1 = __importDefault(require("./components/ReactComponent"));
10
32
  const configSchema_1 = __importDefault(require("./configSchema"));
11
33
  const model_1 = __importDefault(require("./model"));
34
+ const react_1 = require("react");
12
35
  function register(pluginManager) {
13
36
  pluginManager.addDisplayType(() => {
14
37
  const configSchema = (0, configSchema_1.default)(pluginManager);
@@ -20,7 +43,7 @@ function register(pluginManager) {
20
43
  trackType: 'AlignmentsTrack',
21
44
  viewType: 'LinearGenomeView',
22
45
  subDisplay: { type: 'LinearAlignmentsDisplay', lowerPanel: true },
23
- ReactComponent: ReactComponent_1.default,
46
+ ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ReactComponent')))),
24
47
  });
25
48
  });
26
49
  }
@@ -1,4 +1,27 @@
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
  };
@@ -6,9 +29,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.default = register;
7
30
  const DisplayType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/DisplayType"));
8
31
  // locals
9
- const ReactComponent_1 = __importDefault(require("./components/ReactComponent"));
10
32
  const configSchema_1 = __importDefault(require("./configSchema"));
11
33
  const model_1 = __importDefault(require("./model"));
34
+ const react_1 = require("react");
12
35
  function register(pluginManager) {
13
36
  pluginManager.addDisplayType(() => {
14
37
  const configSchema = (0, configSchema_1.default)(pluginManager);
@@ -20,7 +43,7 @@ function register(pluginManager) {
20
43
  trackType: 'AlignmentsTrack',
21
44
  viewType: 'LinearGenomeView',
22
45
  subDisplay: { type: 'LinearAlignmentsDisplay', lowerPanel: true },
23
- ReactComponent: ReactComponent_1.default,
46
+ ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ReactComponent')))),
24
47
  });
25
48
  });
26
49
  }
@@ -33,7 +33,7 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
33
33
  }, {
34
34
  renderInProgress: AbortController | undefined;
35
35
  filled: boolean;
36
- reactElement: import("react").ReactElement | undefined;
36
+ reactElement: React.ReactElement | undefined;
37
37
  features: Map<string, import("@jbrowse/core/util").Feature> | undefined;
38
38
  layout: any;
39
39
  status: string;
@@ -44,10 +44,10 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
44
44
  model: {
45
45
  error?: unknown;
46
46
  reload: () => void;
47
- message: import("react").ReactNode;
47
+ message: React.ReactNode;
48
48
  filled?: boolean;
49
49
  status?: string;
50
- reactElement?: import("react").ReactElement;
50
+ reactElement?: React.ReactElement;
51
51
  };
52
52
  }) => import("react").JSX.Element | undefined;
53
53
  renderProps: any;
@@ -58,7 +58,7 @@ declare function stateModelFactory(pluginManager: PluginManager, configSchema: A
58
58
  setLoading(abortController: AbortController): void;
59
59
  setMessage(messageText: string): void;
60
60
  setRendered(props: {
61
- reactElement: import("react").ReactElement;
61
+ reactElement: React.ReactElement;
62
62
  features: Map<string, import("@jbrowse/core/util").Feature>;
63
63
  layout: any;
64
64
  maxHeightReached: boolean;
@@ -1,8 +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 });
29
+ const react_1 = require("react");
6
30
  const mobx_state_tree_1 = require("mobx-state-tree");
7
31
  const mobx_1 = require("mobx");
8
32
  const configuration_1 = require("@jbrowse/core/configuration");
@@ -10,10 +34,11 @@ const plugin_wiggle_1 = require("@jbrowse/plugin-wiggle");
10
34
  const util_1 = require("@jbrowse/core/util");
11
35
  const serializableFilterChain_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain"));
12
36
  // locals
13
- const Tooltip_1 = __importDefault(require("../components/Tooltip"));
14
37
  const shared_1 = require("../../shared");
15
38
  const util_2 = require("../../util");
16
39
  const util_3 = require("../../util");
40
+ // lazies
41
+ const Tooltip = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../components/Tooltip'))));
17
42
  // using a map because it preserves order
18
43
  const rendererTypes = new Map([['snpcoverage', 'SNPCoverageRenderer']]);
19
44
  /**
@@ -230,7 +255,7 @@ function stateModelFactory(pluginManager, configSchema) {
230
255
  * #getter
231
256
  */
232
257
  get TooltipComponent() {
233
- return Tooltip_1.default;
258
+ return Tooltip;
234
259
  },
235
260
  /**
236
261
  * #getter
@@ -49,7 +49,7 @@ export default class PileupRenderer extends BoxRendererType {
49
49
  height: number;
50
50
  width: number;
51
51
  maxHeightReached: boolean;
52
- reactElement: import("react").JSX.Element;
52
+ reactElement: React.JSX.Element;
53
53
  html?: string;
54
54
  } | {
55
55
  features: Map<any, any>;
@@ -51,6 +51,9 @@ export declare function getPairedInsertSizeAndOrientationColor(f1: {
51
51
  }, f2: {
52
52
  refName: string;
53
53
  }, stats?: ChainStats): readonly [string, string];
54
+ export declare function getPairedOrientationColorOrDefault(f: {
55
+ pair_orientation?: string;
56
+ }): readonly [string, string] | undefined;
54
57
  export declare function getPairedOrientationColor(f: {
55
58
  pair_orientation?: string;
56
59
  }): readonly [string, string];
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ColorByModel = exports.strokeColor = exports.fillColor = void 0;
4
4
  exports.getPairedInsertSizeColor = getPairedInsertSizeColor;
5
5
  exports.getPairedInsertSizeAndOrientationColor = getPairedInsertSizeAndOrientationColor;
6
+ exports.getPairedOrientationColorOrDefault = getPairedOrientationColorOrDefault;
6
7
  exports.getPairedOrientationColor = getPairedOrientationColor;
7
8
  const mobx_state_tree_1 = require("mobx-state-tree");
8
9
  const util_1 = require("../util");
@@ -56,24 +57,34 @@ function getPairedInsertSizeColor(f1, f2, stats) {
56
57
  if (sameRef && tlen > ((stats === null || stats === void 0 ? void 0 : stats.upper) || 0)) {
57
58
  return [exports.fillColor.color_longinsert, exports.strokeColor.color_longinsert];
58
59
  }
59
- if (sameRef && tlen < ((stats === null || stats === void 0 ? void 0 : stats.lower) || 0)) {
60
+ else if (sameRef && tlen < ((stats === null || stats === void 0 ? void 0 : stats.lower) || 0)) {
60
61
  return [exports.fillColor.color_shortinsert, exports.strokeColor.color_shortinsert];
61
62
  }
62
- if (!sameRef) {
63
+ else if (!sameRef) {
63
64
  return [exports.fillColor.color_interchrom, exports.strokeColor.color_interchrom];
64
65
  }
65
- return undefined;
66
+ else {
67
+ return undefined;
68
+ }
66
69
  }
70
+ const defaultColor = [exports.fillColor.color_unknown, exports.fillColor.color_unknown];
71
+ // return color scheme with both insert size and orientation coloring,
72
+ // prioritzing orientation coloring
67
73
  function getPairedInsertSizeAndOrientationColor(f1, f2, stats) {
68
- return (getPairedInsertSizeColor(f1, f2, stats) || getPairedOrientationColor(f1));
74
+ return (getPairedOrientationColorOrDefault(f1) ||
75
+ getPairedInsertSizeColor(f1, f2, stats) ||
76
+ defaultColor);
69
77
  }
70
- function getPairedOrientationColor(f) {
78
+ function getPairedOrientationColorOrDefault(f) {
71
79
  const type = util_1.orientationTypes.fr;
72
- const type2 = util_1.pairMap[type[f.pair_orientation || '']];
73
- return [
74
- exports.fillColor[type2] || exports.fillColor.color_unknown,
75
- exports.strokeColor[type2] || exports.strokeColor.color_unknown,
76
- ];
80
+ const r = type[f.pair_orientation || ''];
81
+ const type2 = util_1.pairMap[r];
82
+ return r === 'LR'
83
+ ? undefined
84
+ : [exports.fillColor[type2], exports.strokeColor[type2]];
85
+ }
86
+ function getPairedOrientationColor(f) {
87
+ return getPairedOrientationColorOrDefault(f) || defaultColor;
77
88
  }
78
89
  exports.ColorByModel = mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.model({
79
90
  type: mobx_state_tree_1.types.string,
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { lazy } from 'react';
2
2
  import { Paper } from '@mui/material';
3
3
  import { observer } from 'mobx-react';
4
4
  import clone from 'clone';
@@ -7,10 +7,12 @@ import { FeatureDetails } from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetai
7
7
  import { getTag } from './util';
8
8
  import { tags } from './tagInfo';
9
9
  // local components
10
- import SuppAlignments from './SuppAlignments';
11
10
  import Flags from './Flags';
12
11
  import PairLink from './PairLink';
13
12
  import Formatter from './Formatter';
13
+ // lazies
14
+ const SupplementaryAlignments = lazy(() => import('./SupplementaryAlignments'));
15
+ const LinkedPairedAlignments = lazy(() => import('./LinkedPairedAlignments'));
14
16
  const omit = ['clipPos', 'flags'];
15
17
  const AlignmentsFeatureDetails = observer(function (props) {
16
18
  const { model } = props;
@@ -22,7 +24,8 @@ const AlignmentsFeatureDetails = observer(function (props) {
22
24
  React.createElement(FeatureDetails, { ...props, omit: omit,
23
25
  // @ts-expect-error
24
26
  descriptions: { ...tags, tags: tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
25
- SA !== undefined ? (React.createElement(SuppAlignments, { model: model, tag: SA, feature: feat })) : null,
27
+ SA !== undefined ? (React.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
28
+ flags & 1 ? (React.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
26
29
  flags !== undefined ? React.createElement(Flags, { feature: feat, ...props }) : null));
27
30
  });
28
31
  export default AlignmentsFeatureDetails;
@@ -0,0 +1 @@
1
+ export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1,2 @@
1
+ // re-exported for react lazy
2
+ export { BreakendMultiLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1 @@
1
+ export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -0,0 +1,2 @@
1
+ // re-exported for react lazy
2
+ export { BreakendSingleLevelOptionDialog as default } from '@jbrowse/sv-core';
@@ -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,66 @@
1
+ import React, { lazy } from 'react';
2
+ import { Typography, Link } from '@mui/material';
3
+ import { SimpleFeature, getSession, toLocale, } from '@jbrowse/core/util';
4
+ // lazies
5
+ const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
6
+ const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
7
+ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }) {
8
+ const session = getSession(model);
9
+ const f1 = {
10
+ uniqueId: feature.uniqueId,
11
+ refName: feature.refName,
12
+ start: feature.start,
13
+ end: feature.end,
14
+ strand: feature.strand,
15
+ };
16
+ const f2 = {
17
+ uniqueId: `${feature.id}-mate`,
18
+ refName: feature.next_ref,
19
+ start: feature.next_pos,
20
+ end: feature.next_pos + 1,
21
+ strand: feature.strand,
22
+ };
23
+ return (React.createElement("div", null,
24
+ React.createElement(Typography, null, "Launch split view"),
25
+ React.createElement("ul", null,
26
+ React.createElement("li", null,
27
+ f1.refName,
28
+ ":",
29
+ toLocale(f1.start),
30
+ " -> ",
31
+ f2.refName,
32
+ ":",
33
+ toLocale(f2.start),
34
+ ' ',
35
+ React.createElement(Link, { href: "#", onClick: event => {
36
+ event.preventDefault();
37
+ session.queueDialog(handleClose => [
38
+ BreakendMultiLevelOptionDialog,
39
+ {
40
+ handleClose,
41
+ model,
42
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
43
+ // @ts-expect-error
44
+ viewType,
45
+ view: model.view,
46
+ assemblyName: model.view.displayedRegions[0].assemblyName,
47
+ },
48
+ ]);
49
+ } }, "(top/bottom)"),
50
+ ' ',
51
+ React.createElement(Link, { href: "#", onClick: event => {
52
+ event.preventDefault();
53
+ session.queueDialog(handleClose => [
54
+ BreakendSingleLevelOptionDialog,
55
+ {
56
+ handleClose,
57
+ model,
58
+ feature: new SimpleFeature({ ...f1, mate: f2 }),
59
+ // @ts-expect-error
60
+ viewType,
61
+ view: model.view,
62
+ assemblyName: model.view.displayedRegions[0].assemblyName,
63
+ },
64
+ ]);
65
+ } }, "(single row)")))));
66
+ }