@jbrowse/plugin-breakpoint-split-view 2.6.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 (115) hide show
  1. package/LICENSE +201 -0
  2. package/dist/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.d.ts +5 -0
  3. package/dist/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js +21 -0
  4. package/dist/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js.map +1 -0
  5. package/dist/BreakpointAlignmentsFeatureDetail/index.d.ts +3 -0
  6. package/dist/BreakpointAlignmentsFeatureDetail/index.js +57 -0
  7. package/dist/BreakpointAlignmentsFeatureDetail/index.js.map +1 -0
  8. package/dist/BreakpointSplitView/BreakpointSplitView.d.ts +23 -0
  9. package/dist/BreakpointSplitView/BreakpointSplitView.js +92 -0
  10. package/dist/BreakpointSplitView/BreakpointSplitView.js.map +1 -0
  11. package/dist/BreakpointSplitView/components/AlignmentConnections.d.ts +9 -0
  12. package/dist/BreakpointSplitView/components/AlignmentConnections.js +133 -0
  13. package/dist/BreakpointSplitView/components/AlignmentConnections.js.map +1 -0
  14. package/dist/BreakpointSplitView/components/Breakends.d.ts +9 -0
  15. package/dist/BreakpointSplitView/components/Breakends.js +117 -0
  16. package/dist/BreakpointSplitView/components/Breakends.js.map +1 -0
  17. package/dist/BreakpointSplitView/components/BreakpointSplitView.d.ts +6 -0
  18. package/dist/BreakpointSplitView/components/BreakpointSplitView.js +89 -0
  19. package/dist/BreakpointSplitView/components/BreakpointSplitView.js.map +1 -0
  20. package/dist/BreakpointSplitView/components/ExportSvgDialog.d.ts +8 -0
  21. package/dist/BreakpointSplitView/components/ExportSvgDialog.js +84 -0
  22. package/dist/BreakpointSplitView/components/ExportSvgDialog.js.map +1 -0
  23. package/dist/BreakpointSplitView/components/Overlay.d.ts +9 -0
  24. package/dist/BreakpointSplitView/components/Overlay.js +23 -0
  25. package/dist/BreakpointSplitView/components/Overlay.js.map +1 -0
  26. package/dist/BreakpointSplitView/components/Translocations.d.ts +9 -0
  27. package/dist/BreakpointSplitView/components/Translocations.js +113 -0
  28. package/dist/BreakpointSplitView/components/Translocations.js.map +1 -0
  29. package/dist/BreakpointSplitView/components/util.d.ts +7 -0
  30. package/dist/BreakpointSplitView/components/util.js +116 -0
  31. package/dist/BreakpointSplitView/components/util.js.map +1 -0
  32. package/dist/BreakpointSplitView/index.d.ts +3 -0
  33. package/dist/BreakpointSplitView/index.js +43 -0
  34. package/dist/BreakpointSplitView/index.js.map +1 -0
  35. package/dist/BreakpointSplitView/model.d.ts +299 -0
  36. package/dist/BreakpointSplitView/model.js +245 -0
  37. package/dist/BreakpointSplitView/model.js.map +1 -0
  38. package/dist/BreakpointSplitView/svgcomponents/SVGBackground.d.ts +6 -0
  39. package/dist/BreakpointSplitView/svgcomponents/SVGBackground.js +13 -0
  40. package/dist/BreakpointSplitView/svgcomponents/SVGBackground.js.map +1 -0
  41. package/dist/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.d.ts +4 -0
  42. package/dist/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js +83 -0
  43. package/dist/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js.map +1 -0
  44. package/dist/BreakpointSplitView/util.d.ts +18 -0
  45. package/dist/BreakpointSplitView/util.js +56 -0
  46. package/dist/BreakpointSplitView/util.js.map +1 -0
  47. package/dist/index.d.ts +7 -0
  48. package/dist/index.js +21 -0
  49. package/dist/index.js.map +1 -0
  50. package/esm/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.d.ts +5 -0
  51. package/esm/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js +16 -0
  52. package/esm/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js.map +1 -0
  53. package/esm/BreakpointAlignmentsFeatureDetail/index.d.ts +3 -0
  54. package/esm/BreakpointAlignmentsFeatureDetail/index.js +32 -0
  55. package/esm/BreakpointAlignmentsFeatureDetail/index.js.map +1 -0
  56. package/esm/BreakpointSplitView/BreakpointSplitView.d.ts +23 -0
  57. package/esm/BreakpointSplitView/BreakpointSplitView.js +86 -0
  58. package/esm/BreakpointSplitView/BreakpointSplitView.js.map +1 -0
  59. package/esm/BreakpointSplitView/components/AlignmentConnections.d.ts +9 -0
  60. package/esm/BreakpointSplitView/components/AlignmentConnections.js +108 -0
  61. package/esm/BreakpointSplitView/components/AlignmentConnections.js.map +1 -0
  62. package/esm/BreakpointSplitView/components/Breakends.d.ts +9 -0
  63. package/esm/BreakpointSplitView/components/Breakends.js +92 -0
  64. package/esm/BreakpointSplitView/components/Breakends.js.map +1 -0
  65. package/esm/BreakpointSplitView/components/BreakpointSplitView.d.ts +6 -0
  66. package/esm/BreakpointSplitView/components/BreakpointSplitView.js +61 -0
  67. package/esm/BreakpointSplitView/components/BreakpointSplitView.js.map +1 -0
  68. package/esm/BreakpointSplitView/components/ExportSvgDialog.d.ts +8 -0
  69. package/esm/BreakpointSplitView/components/ExportSvgDialog.js +58 -0
  70. package/esm/BreakpointSplitView/components/ExportSvgDialog.js.map +1 -0
  71. package/esm/BreakpointSplitView/components/Overlay.d.ts +9 -0
  72. package/esm/BreakpointSplitView/components/Overlay.js +18 -0
  73. package/esm/BreakpointSplitView/components/Overlay.js.map +1 -0
  74. package/esm/BreakpointSplitView/components/Translocations.d.ts +9 -0
  75. package/esm/BreakpointSplitView/components/Translocations.js +88 -0
  76. package/esm/BreakpointSplitView/components/Translocations.js.map +1 -0
  77. package/esm/BreakpointSplitView/components/util.d.ts +7 -0
  78. package/esm/BreakpointSplitView/components/util.js +107 -0
  79. package/esm/BreakpointSplitView/components/util.js.map +1 -0
  80. package/esm/BreakpointSplitView/index.d.ts +3 -0
  81. package/esm/BreakpointSplitView/index.js +15 -0
  82. package/esm/BreakpointSplitView/index.js.map +1 -0
  83. package/esm/BreakpointSplitView/model.d.ts +299 -0
  84. package/esm/BreakpointSplitView/model.js +216 -0
  85. package/esm/BreakpointSplitView/model.js.map +1 -0
  86. package/esm/BreakpointSplitView/svgcomponents/SVGBackground.d.ts +6 -0
  87. package/esm/BreakpointSplitView/svgcomponents/SVGBackground.js +7 -0
  88. package/esm/BreakpointSplitView/svgcomponents/SVGBackground.js.map +1 -0
  89. package/esm/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.d.ts +4 -0
  90. package/esm/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js +76 -0
  91. package/esm/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js.map +1 -0
  92. package/esm/BreakpointSplitView/util.d.ts +18 -0
  93. package/esm/BreakpointSplitView/util.js +49 -0
  94. package/esm/BreakpointSplitView/util.js.map +1 -0
  95. package/esm/index.d.ts +7 -0
  96. package/esm/index.js +15 -0
  97. package/esm/index.js.map +1 -0
  98. package/package.json +63 -0
  99. package/src/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.tsx +24 -0
  100. package/src/BreakpointAlignmentsFeatureDetail/index.ts +35 -0
  101. package/src/BreakpointSplitView/BreakpointSplitView.ts +100 -0
  102. package/src/BreakpointSplitView/components/AlignmentConnections.tsx +166 -0
  103. package/src/BreakpointSplitView/components/Breakends.tsx +141 -0
  104. package/src/BreakpointSplitView/components/BreakpointSplitView.tsx +95 -0
  105. package/src/BreakpointSplitView/components/ExportSvgDialog.tsx +149 -0
  106. package/src/BreakpointSplitView/components/Overlay.tsx +29 -0
  107. package/src/BreakpointSplitView/components/Translocations.tsx +147 -0
  108. package/src/BreakpointSplitView/components/util.ts +127 -0
  109. package/src/BreakpointSplitView/index.ts +17 -0
  110. package/src/BreakpointSplitView/model.ts +333 -0
  111. package/src/BreakpointSplitView/svgcomponents/SVGBackground.tsx +21 -0
  112. package/src/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.tsx +179 -0
  113. package/src/BreakpointSplitView/util.ts +89 -0
  114. package/src/index.test.ts +3 -0
  115. package/src/index.ts +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/BreakpointSplitView/components/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,43 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = require("react");
30
+ // locals
31
+ const BreakpointSplitView_1 = __importDefault(require("./BreakpointSplitView"));
32
+ const model_1 = __importDefault(require("./model"));
33
+ exports.default = (pluginManager) => {
34
+ pluginManager.addViewType(() => {
35
+ return new BreakpointSplitView_1.default({
36
+ name: 'BreakpointSplitView',
37
+ displayName: 'Breakpoint split view',
38
+ stateModel: (0, model_1.default)(pluginManager),
39
+ ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/BreakpointSplitView')))),
40
+ });
41
+ });
42
+ };
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/BreakpointSplitView/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4B;AAG5B,SAAS;AACT,gFAAuD;AACvD,oDAAuC;AAEvC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7B,OAAO,IAAI,6BAAmB,CAAC;YAC7B,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uBAAuB;YACpC,UAAU,EAAE,IAAA,eAAiB,EAAC,aAAa,CAAC;YAC5C,cAAc,EAAE,IAAA,YAAI,EAAC,GAAG,EAAE,mDAAQ,kCAAkC,GAAC,CAAC;SACvE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,299 @@
1
+ import React from 'react';
2
+ import { Instance } from 'mobx-state-tree';
3
+ import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
4
+ import PluginManager from '@jbrowse/core/PluginManager';
5
+ import { Feature } from '@jbrowse/core/util';
6
+ export interface ExportSvgOptions {
7
+ rasterizeLayers?: boolean;
8
+ filename?: string;
9
+ Wrapper?: React.FC<any>;
10
+ fontSize?: number;
11
+ rulerHeight?: number;
12
+ textHeight?: number;
13
+ paddingHeight?: number;
14
+ headerHeight?: number;
15
+ cytobandHeight?: number;
16
+ trackLabels?: string;
17
+ themeName?: string;
18
+ }
19
+ type LGV = LinearGenomeViewModel;
20
+ export interface Breakend {
21
+ MateDirection: string;
22
+ Join: string;
23
+ Replacement: string;
24
+ MatePosition: string;
25
+ }
26
+ export type LayoutRecord = [number, number, number, number];
27
+ export default function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
28
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
29
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
30
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
31
+ } & {
32
+ type: import("mobx-state-tree").ISimpleType<"BreakpointSplitView">;
33
+ height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
34
+ trackSelectorType: import("mobx-state-tree").IType<string | undefined, string, string>;
35
+ showIntraviewLinks: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
36
+ linkViews: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
37
+ interactToggled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
38
+ views: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
39
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
40
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
41
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
42
+ } & {
43
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
44
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
45
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
46
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
47
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
48
+ refName: import("mobx-state-tree").ISimpleType<string>;
49
+ start: import("mobx-state-tree").ISimpleType<number>;
50
+ end: import("mobx-state-tree").ISimpleType<number>;
51
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
52
+ } & {
53
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
54
+ }, {
55
+ setRefName(newRefName: string): void;
56
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
57
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
58
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
59
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
60
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
61
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
62
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
63
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
64
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
65
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
66
+ }, {
67
+ width: number;
68
+ } & {
69
+ menuItems(): import("@jbrowse/core/ui").MenuItem[];
70
+ } & {
71
+ setDisplayName(name: string): void;
72
+ setWidth(newWidth: number): void;
73
+ setMinimized(flag: boolean): void;
74
+ } & {
75
+ volatileWidth: number | undefined;
76
+ minimumBlockWidth: number;
77
+ draggingTrackId: string | undefined;
78
+ volatileError: Error | undefined;
79
+ afterDisplayedRegionsSetCallbacks: Function[];
80
+ scaleFactor: number;
81
+ trackRefs: {
82
+ [key: string]: HTMLDivElement;
83
+ };
84
+ coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
85
+ coarseTotalBp: number;
86
+ leftOffset: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined;
87
+ rightOffset: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined;
88
+ } & {
89
+ readonly width: number;
90
+ readonly interRegionPaddingWidth: number;
91
+ readonly assemblyNames: string[];
92
+ } & {
93
+ MiniControlsComponent(): React.FC<any>;
94
+ HeaderComponent(): React.FC<any>;
95
+ readonly assemblyErrors: string;
96
+ readonly assembliesInitialized: boolean;
97
+ readonly initialized: boolean;
98
+ readonly hasDisplayedRegions: boolean;
99
+ readonly scaleBarHeight: number;
100
+ readonly headerHeight: number;
101
+ readonly trackHeights: number;
102
+ readonly trackHeightsWithResizeHandles: number;
103
+ readonly height: number;
104
+ readonly totalBp: number;
105
+ readonly maxBpPerPx: number;
106
+ readonly minBpPerPx: number;
107
+ readonly error: string | Error;
108
+ readonly maxOffset: number;
109
+ readonly minOffset: number;
110
+ readonly displayedRegionsTotalPx: number;
111
+ renderProps(): any;
112
+ searchScope(assemblyName: string): {
113
+ assemblyName: string;
114
+ includeAggregateIndexes: boolean;
115
+ tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>>;
116
+ };
117
+ getTrack(id: string): any;
118
+ rankSearchResults(results: import("@jbrowse/core/TextSearch/BaseResults").default[]): import("@jbrowse/core/TextSearch/BaseResults").default[];
119
+ rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
120
+ readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
121
+ } & {
122
+ setShowCytobands(flag: boolean): void;
123
+ setWidth(newWidth: number): void;
124
+ setError(error: Error | undefined): void;
125
+ toggleHeader(): void;
126
+ toggleHeaderOverview(): void;
127
+ toggleNoTracksActive(): void;
128
+ toggleShowGridlines(): void;
129
+ scrollTo(offsetPx: number): number;
130
+ zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
131
+ setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
132
+ setSearchResults(searchResults: import("@jbrowse/core/TextSearch/BaseResults").default[], searchQuery: string, assemblyName?: string | undefined): void;
133
+ setNewView(bpPerPx: number, offsetPx: number): void;
134
+ horizontallyFlip(): void;
135
+ showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
136
+ hideTrack(trackId: string): number;
137
+ } & {
138
+ moveTrack(movingId: string, targetId: string): void;
139
+ closeView(): void;
140
+ toggleTrack(trackId: string): void;
141
+ setTrackLabels(setting: "hidden" | "offset" | "overlapping"): void;
142
+ toggleCenterLine(): void;
143
+ setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
144
+ activateTrackSelector(): import("@jbrowse/core/util").Widget;
145
+ getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): {
146
+ start: number;
147
+ end: number;
148
+ regionNumber?: number | undefined;
149
+ reversed?: boolean | undefined;
150
+ refName: string;
151
+ assemblyName: string;
152
+ key: string;
153
+ offsetPx: number;
154
+ widthPx: number;
155
+ variant?: string | undefined;
156
+ isLeftEndOfDisplayedRegion?: boolean | undefined;
157
+ }[];
158
+ afterDisplayedRegionsSet(cb: Function): void;
159
+ horizontalScroll(distance: number): number;
160
+ center(): void;
161
+ showAllRegions(): void;
162
+ showAllRegionsInAssembly(assemblyName?: string | undefined): void;
163
+ setDraggingTrackId(idx?: string | undefined): void;
164
+ setScaleFactor(factor: number): void;
165
+ clearView(): void;
166
+ exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").ExportSvgOptions): Promise<void>;
167
+ } & {
168
+ slide: (viewWidths: number) => void;
169
+ } & {
170
+ zoom: (targetBpPerPx: number) => void;
171
+ } & {
172
+ readonly canShowCytobands: boolean;
173
+ readonly showCytobands: boolean;
174
+ readonly anyCytobandsExist: boolean;
175
+ readonly cytobandOffset: number;
176
+ } & {
177
+ menuItems(): import("@jbrowse/core/ui").MenuItem[];
178
+ } & {
179
+ readonly staticBlocks: import("@jbrowse/core/util/blockTypes").BlockSet;
180
+ readonly dynamicBlocks: import("@jbrowse/core/util/blockTypes").BlockSet;
181
+ readonly roundedDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
182
+ readonly visibleLocStrings: string;
183
+ readonly coarseVisibleLocStrings: string;
184
+ } & {
185
+ setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
186
+ afterAttach(): void;
187
+ } & {
188
+ moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").BpOffset | undefined): void;
189
+ navToLocString(input: string, optAssemblyName?: string | undefined): Promise<void>;
190
+ navToLocations(parsedLocStrings: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string | undefined): Promise<void>;
191
+ navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation): void;
192
+ navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView").NavLocation[]): void;
193
+ } & {
194
+ rubberBandMenuItems(): import("@jbrowse/core/ui").MenuItem[];
195
+ bpToPx({ refName, coord, regionNumber, }: {
196
+ refName: string;
197
+ coord: number;
198
+ regionNumber?: number | undefined;
199
+ }): {
200
+ index: number;
201
+ offsetPx: number;
202
+ } | undefined;
203
+ centerAt(coord: number, refName: string, regionNumber: number): void;
204
+ pxToBp(px: number): {
205
+ coord: number;
206
+ index: number;
207
+ refName: string;
208
+ oob: boolean;
209
+ assemblyName: string;
210
+ offset: number;
211
+ start: number;
212
+ end: number;
213
+ reversed: boolean;
214
+ };
215
+ readonly centerLineInfo: {
216
+ coord: number;
217
+ index: number;
218
+ refName: string;
219
+ oob: boolean;
220
+ assemblyName: string;
221
+ offset: number;
222
+ start: number;
223
+ end: number;
224
+ reversed: boolean;
225
+ } | undefined;
226
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
227
+ }, {
228
+ width: number;
229
+ } & {
230
+ menuItems(): import("@jbrowse/core/ui").MenuItem[];
231
+ } & {
232
+ setDisplayName(name: string): void;
233
+ setWidth(newWidth: number): void;
234
+ setMinimized(flag: boolean): void;
235
+ } & {
236
+ width: number;
237
+ matchedTrackFeatures: {
238
+ [key: string]: Feature[][];
239
+ };
240
+ } & {
241
+ /**
242
+ * #method
243
+ * creates an svg export and save using FileSaver
244
+ */
245
+ exportSvg(opts?: ExportSvgOptions): Promise<void>;
246
+ } & {
247
+ readonly matchedTracks: any[];
248
+ getMatchedTracks(trackConfigId: string): any[];
249
+ hasTranslocations(trackConfigId: string): Feature | undefined;
250
+ getTrackFeatures(trackConfigId: string): Map<string, Feature>;
251
+ getMatchedFeaturesInLayout(trackConfigId: string, features: Feature[][]): {
252
+ feature: Feature;
253
+ layout: LayoutRecord;
254
+ level: number;
255
+ }[][];
256
+ } & {
257
+ afterAttach(): void;
258
+ onSubviewAction(actionName: string, path: string, args?: unknown[]): void;
259
+ setWidth(newWidth: number): void;
260
+ removeView(view: LGV): void;
261
+ closeView(): void;
262
+ toggleInteract(): void;
263
+ toggleIntraviewLinks(): void;
264
+ toggleLinkViews(): void;
265
+ setMatchedTrackFeatures(obj: {
266
+ [key: string]: Feature[][];
267
+ }): void;
268
+ } & {
269
+ afterAttach(): void;
270
+ menuItems(): ({
271
+ label: string;
272
+ subMenu: import("@jbrowse/core/ui").MenuItem[];
273
+ } | {
274
+ label: string;
275
+ type: string;
276
+ checked: boolean;
277
+ onClick: () => void;
278
+ icon?: undefined;
279
+ } | {
280
+ label: string;
281
+ type: string;
282
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
283
+ muiName: string;
284
+ };
285
+ checked: boolean;
286
+ onClick: () => void;
287
+ } | {
288
+ label: string;
289
+ icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
290
+ muiName: string;
291
+ };
292
+ onClick: () => void;
293
+ type?: undefined;
294
+ checked?: undefined;
295
+ })[];
296
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
297
+ export type BreakpointViewStateModel = ReturnType<typeof stateModelFactory>;
298
+ export type BreakpointViewModel = Instance<BreakpointViewStateModel>;
299
+ export {};
@@ -0,0 +1,245 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const react_1 = require("react");
30
+ const mobx_state_tree_1 = require("mobx-state-tree");
31
+ const mobx_1 = require("mobx");
32
+ const file_saver_1 = require("file-saver");
33
+ const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
34
+ const util_1 = require("@jbrowse/core/util");
35
+ const configuration_1 = require("@jbrowse/core/configuration");
36
+ // icons
37
+ const PhotoCamera_1 = __importDefault(require("@mui/icons-material/PhotoCamera"));
38
+ const Link_1 = __importDefault(require("@mui/icons-material/Link"));
39
+ // locals
40
+ const util_2 = require("./util");
41
+ // lazies
42
+ const ExportSvgDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ExportSvgDialog'))));
43
+ function calc(track, feat) {
44
+ return track.displays[0].searchFeatureByID(feat.id());
45
+ }
46
+ async function getBlockFeatures(model, track) {
47
+ const { views } = model;
48
+ const { rpcManager, assemblyManager } = (0, util_1.getSession)(model);
49
+ const assemblyName = model.views[0].assemblyNames[0];
50
+ const assembly = await assemblyManager.waitForAssembly(assemblyName);
51
+ if (!assembly) {
52
+ return undefined; // throw new Error(`assembly not found: "${assemblyName}"`)
53
+ }
54
+ const sessionId = track.configuration.trackId;
55
+ return Promise.all(views.map(async (view) => (await rpcManager.call(sessionId, 'CoreGetFeatures', {
56
+ adapterConfig: (0, configuration_1.getConf)(track, ['adapter']),
57
+ sessionId,
58
+ regions: view.staticBlocks.contentBlocks,
59
+ })).flat()));
60
+ }
61
+ function stateModelFactory(pluginManager) {
62
+ const minHeight = 40;
63
+ const defaultHeight = 400;
64
+ const model = mobx_state_tree_1.types
65
+ .model('BreakpointSplitView', {
66
+ type: mobx_state_tree_1.types.literal('BreakpointSplitView'),
67
+ height: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.refinement('viewHeight', mobx_state_tree_1.types.number, (n) => n >= minHeight), defaultHeight),
68
+ trackSelectorType: 'hierarchical',
69
+ showIntraviewLinks: true,
70
+ linkViews: false,
71
+ interactToggled: false,
72
+ views: mobx_state_tree_1.types.array(pluginManager.getViewType('LinearGenomeView')
73
+ .stateModel),
74
+ })
75
+ .volatile(() => ({
76
+ width: 800,
77
+ matchedTrackFeatures: {},
78
+ }))
79
+ .views(self => ({
80
+ /**
81
+ * #method
82
+ * creates an svg export and save using FileSaver
83
+ */
84
+ async exportSvg(opts = {}) {
85
+ const { renderToSvg } = await Promise.resolve().then(() => __importStar(require('./svgcomponents/SVGBreakpointSplitView')));
86
+ const html = await renderToSvg(self, opts);
87
+ const blob = new Blob([html], { type: 'image/svg+xml' });
88
+ (0, file_saver_1.saveAs)(blob, opts.filename || 'image.svg');
89
+ },
90
+ }))
91
+ .views(self => ({
92
+ // Find all track ids that match across multiple views
93
+ get matchedTracks() {
94
+ return (0, util_2.intersect)(elt => elt.configuration.trackId, ...self.views.map(view => view.tracks));
95
+ },
96
+ // Get tracks with a given trackId across multiple views
97
+ getMatchedTracks(trackConfigId) {
98
+ return self.views
99
+ .map(view => view.getTrack(trackConfigId))
100
+ .filter(f => !!f);
101
+ },
102
+ // Translocation features are handled differently
103
+ // since they do not have a mate e.g. they are one sided
104
+ hasTranslocations(trackConfigId) {
105
+ return [...this.getTrackFeatures(trackConfigId).values()].find(f => f.get('type') === 'translocation');
106
+ },
107
+ // Get a composite map of featureId->feature map for a track across
108
+ // multiple views
109
+ getTrackFeatures(trackConfigId) {
110
+ var _a;
111
+ return new Map((_a = self.matchedTrackFeatures[trackConfigId]) === null || _a === void 0 ? void 0 : _a.flat().map(f => [f.id(), f]));
112
+ },
113
+ getMatchedFeaturesInLayout(trackConfigId, features) {
114
+ // use reverse to search the second track first
115
+ const tracks = this.getMatchedTracks(trackConfigId);
116
+ return features.map(c => c
117
+ .map(feature => {
118
+ const level = tracks.findIndex(track => calc(track, feature));
119
+ return level !== -1
120
+ ? {
121
+ feature,
122
+ layout: calc(tracks[level], feature),
123
+ level,
124
+ }
125
+ : undefined;
126
+ })
127
+ .filter(util_1.notEmpty));
128
+ },
129
+ }))
130
+ .actions(self => ({
131
+ afterAttach() {
132
+ (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_state_tree_1.onAction)(self, ({ name, path, args, }) => {
133
+ if (self.linkViews) {
134
+ const actions = [
135
+ 'horizontalScroll',
136
+ 'zoomTo',
137
+ 'setScaleFactor',
138
+ 'showTrack',
139
+ 'toggleTrack',
140
+ 'hideTrack',
141
+ 'setTrackLabels',
142
+ 'toggleCenterLine',
143
+ ];
144
+ if (actions.includes(name) && path) {
145
+ this.onSubviewAction(name, path, args);
146
+ }
147
+ }
148
+ }));
149
+ },
150
+ onSubviewAction(actionName, path, args) {
151
+ self.views.forEach(view => {
152
+ const ret = (0, mobx_state_tree_1.getPath)(view);
153
+ if (ret.lastIndexOf(path) !== ret.length - path.length) {
154
+ // @ts-ignore
155
+ view[actionName](args === null || args === void 0 ? void 0 : args[0]);
156
+ }
157
+ });
158
+ },
159
+ setWidth(newWidth) {
160
+ self.width = newWidth;
161
+ self.views.forEach(v => v.setWidth(newWidth));
162
+ },
163
+ removeView(view) {
164
+ self.views.remove(view);
165
+ },
166
+ closeView() {
167
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
168
+ (0, mobx_state_tree_1.getParent)(self, 2).removeView(self);
169
+ },
170
+ toggleInteract() {
171
+ self.interactToggled = !self.interactToggled;
172
+ },
173
+ toggleIntraviewLinks() {
174
+ self.showIntraviewLinks = !self.showIntraviewLinks;
175
+ },
176
+ toggleLinkViews() {
177
+ self.linkViews = !self.linkViews;
178
+ },
179
+ setMatchedTrackFeatures(obj) {
180
+ self.matchedTrackFeatures = obj;
181
+ },
182
+ }))
183
+ .actions(self => ({
184
+ afterAttach() {
185
+ (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
186
+ try {
187
+ if (!self.views.every(view => view.initialized)) {
188
+ return;
189
+ }
190
+ self.setMatchedTrackFeatures(Object.fromEntries(await Promise.all(self.matchedTracks.map(async (track) => [
191
+ track.configuration.trackId,
192
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
193
+ await getBlockFeatures(self, track),
194
+ ]))));
195
+ }
196
+ catch (e) {
197
+ console.error(e);
198
+ (0, util_1.getSession)(self).notify(`${e}`, 'error');
199
+ }
200
+ }));
201
+ },
202
+ menuItems() {
203
+ return [
204
+ ...self.views
205
+ .map((view, idx) => { var _a; return [idx, (_a = view.menuItems) === null || _a === void 0 ? void 0 : _a.call(view)]; })
206
+ .filter(f => !!f[1])
207
+ .map(f => ({ label: `View ${f[0] + 1} Menu`, subMenu: f[1] })),
208
+ {
209
+ label: 'Show intra-view links',
210
+ type: 'checkbox',
211
+ checked: self.showIntraviewLinks,
212
+ onClick: () => self.toggleIntraviewLinks(),
213
+ },
214
+ {
215
+ label: 'Allow clicking alignment squiggles?',
216
+ type: 'checkbox',
217
+ checked: self.interactToggled,
218
+ onClick: () => self.toggleInteract(),
219
+ },
220
+ {
221
+ label: 'Link views',
222
+ type: 'checkbox',
223
+ icon: Link_1.default,
224
+ checked: self.linkViews,
225
+ onClick: () => {
226
+ self.toggleLinkViews();
227
+ },
228
+ },
229
+ {
230
+ label: 'Export SVG',
231
+ icon: PhotoCamera_1.default,
232
+ onClick: () => {
233
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
234
+ ExportSvgDialog,
235
+ { model: self, handleClose },
236
+ ]);
237
+ },
238
+ },
239
+ ];
240
+ },
241
+ }));
242
+ return mobx_state_tree_1.types.compose(models_1.BaseViewModel, model);
243
+ }
244
+ exports.default = stateModelFactory;
245
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/BreakpointSplitView/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export default function SVGBackground({ width, height, shift, }: {
3
+ width: number;
4
+ height: number;
5
+ shift: number;
6
+ }): React.JSX.Element;
@@ -0,0 +1,13 @@
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
+ const react_1 = __importDefault(require("react"));
7
+ const material_1 = require("@mui/material");
8
+ function SVGBackground({ width, height, shift, }) {
9
+ const theme = (0, material_1.useTheme)();
10
+ return (react_1.default.createElement("rect", { width: width + shift * 2, height: height, fill: theme.palette.background.default }));
11
+ }
12
+ exports.default = SVGBackground;
13
+ //# sourceMappingURL=SVGBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGBackground.js","sourceRoot":"","sources":["../../../src/BreakpointSplitView/svgcomponents/SVGBackground.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,4CAAwC;AAExC,SAAwB,aAAa,CAAC,EACpC,KAAK,EACL,MAAM,EACN,KAAK,GAKN;IACC,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IACxB,OAAO,CACL,wCACE,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,GACtC,CACH,CAAA;AACH,CAAC;AAjBD,gCAiBC"}
@@ -0,0 +1,4 @@
1
+ import { ExportSvgOptions, BreakpointViewModel } from '../model';
2
+ type BSV = BreakpointViewModel;
3
+ export declare function renderToSvg(model: BSV, opts: ExportSvgOptions): Promise<string>;
4
+ export {};