@jbrowse/plugin-breakpoint-split-view 3.7.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/esm/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js +1 -1
  2. package/esm/BreakpointAlignmentsFeatureDetail/index.js +2 -2
  3. package/esm/BreakpointGetFeatures/BreakpointGetFeatures.d.ts +51 -0
  4. package/esm/BreakpointGetFeatures/BreakpointGetFeatures.js +57 -0
  5. package/esm/BreakpointGetFeatures/index.d.ts +2 -0
  6. package/esm/BreakpointGetFeatures/index.js +4 -0
  7. package/esm/BreakpointSplitView/BreakpointSplitView.js +33 -47
  8. package/esm/BreakpointSplitView/components/AlignmentConnections.d.ts +2 -7
  9. package/esm/BreakpointSplitView/components/AlignmentConnections.js +20 -25
  10. package/esm/BreakpointSplitView/components/Breakends.d.ts +2 -7
  11. package/esm/BreakpointSplitView/components/Breakends.js +28 -59
  12. package/esm/BreakpointSplitView/components/BreakpointSplitView.d.ts +1 -1
  13. package/esm/BreakpointSplitView/components/BreakpointSplitView.js +19 -6
  14. package/esm/BreakpointSplitView/components/BreakpointSplitViewOverlay.d.ts +1 -1
  15. package/esm/BreakpointSplitView/components/BreakpointSplitViewOverlay.js +3 -3
  16. package/esm/BreakpointSplitView/components/ExportSvgDialog.d.ts +1 -1
  17. package/esm/BreakpointSplitView/components/ExportSvgDialog.js +5 -1
  18. package/esm/BreakpointSplitView/components/Header.d.ts +2 -2
  19. package/esm/BreakpointSplitView/components/Header.js +4 -4
  20. package/esm/BreakpointSplitView/components/HeaderSearchBoxes.js +2 -2
  21. package/esm/BreakpointSplitView/components/Overlay.d.ts +1 -1
  22. package/esm/BreakpointSplitView/components/Overlay.js +8 -11
  23. package/esm/BreakpointSplitView/components/PairedFeatures.d.ts +2 -7
  24. package/esm/BreakpointSplitView/components/PairedFeatures.js +22 -47
  25. package/esm/BreakpointSplitView/components/Rubberband.d.ts +6 -0
  26. package/esm/BreakpointSplitView/components/Rubberband.js +27 -0
  27. package/esm/BreakpointSplitView/components/RubberbandSpan.d.ts +15 -0
  28. package/esm/BreakpointSplitView/components/RubberbandSpan.js +30 -0
  29. package/esm/BreakpointSplitView/components/RubberbandTooltip.d.ts +5 -0
  30. package/esm/BreakpointSplitView/components/RubberbandTooltip.js +17 -0
  31. package/esm/BreakpointSplitView/components/Translocations.d.ts +2 -7
  32. package/esm/BreakpointSplitView/components/Translocations.js +23 -58
  33. package/esm/BreakpointSplitView/components/VerticalGuide.d.ts +6 -0
  34. package/esm/BreakpointSplitView/components/VerticalGuide.js +24 -0
  35. package/esm/BreakpointSplitView/components/overlayUtils.d.ts +24 -0
  36. package/esm/BreakpointSplitView/components/overlayUtils.js +47 -0
  37. package/esm/BreakpointSplitView/components/rubberbandUtil.d.ts +4 -0
  38. package/esm/BreakpointSplitView/components/rubberbandUtil.js +3 -0
  39. package/esm/BreakpointSplitView/components/useRangeSelect.d.ts +59 -0
  40. package/esm/BreakpointSplitView/components/useRangeSelect.js +121 -0
  41. package/esm/BreakpointSplitView/components/util.js +1 -2
  42. package/esm/BreakpointSplitView/getClip.js +4 -4
  43. package/esm/BreakpointSplitView/index.js +2 -2
  44. package/esm/BreakpointSplitView/model.d.ts +402 -117
  45. package/esm/BreakpointSplitView/model.js +105 -41
  46. package/esm/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.d.ts +2 -2
  47. package/esm/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js +8 -8
  48. package/esm/BreakpointSplitView/types.d.ts +8 -0
  49. package/esm/BreakpointSplitView/util.d.ts +1 -1
  50. package/esm/BreakpointSplitView/util.js +8 -17
  51. package/esm/LaunchBreakpointSplitView/index.d.ts +2 -0
  52. package/esm/LaunchBreakpointSplitView/index.js +12 -0
  53. package/esm/index.js +7 -6
  54. package/package.json +28 -34
  55. package/dist/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.d.ts +0 -10
  56. package/dist/BreakpointAlignmentsFeatureDetail/BreakpointAlignmentsFeatureDetail.js +0 -12
  57. package/dist/BreakpointAlignmentsFeatureDetail/index.d.ts +0 -2
  58. package/dist/BreakpointAlignmentsFeatureDetail/index.js +0 -67
  59. package/dist/BreakpointSplitView/BreakpointSplitView.d.ts +0 -34
  60. package/dist/BreakpointSplitView/BreakpointSplitView.js +0 -84
  61. package/dist/BreakpointSplitView/components/AlignmentConnections.d.ts +0 -8
  62. package/dist/BreakpointSplitView/components/AlignmentConnections.js +0 -133
  63. package/dist/BreakpointSplitView/components/Breakends.d.ts +0 -8
  64. package/dist/BreakpointSplitView/components/Breakends.js +0 -95
  65. package/dist/BreakpointSplitView/components/BreakpointSplitView.d.ts +0 -5
  66. package/dist/BreakpointSplitView/components/BreakpointSplitView.js +0 -46
  67. package/dist/BreakpointSplitView/components/BreakpointSplitViewOverlay.d.ts +0 -5
  68. package/dist/BreakpointSplitView/components/BreakpointSplitViewOverlay.js +0 -33
  69. package/dist/BreakpointSplitView/components/ExportSvgDialog.d.ts +0 -7
  70. package/dist/BreakpointSplitView/components/ExportSvgDialog.js +0 -57
  71. package/dist/BreakpointSplitView/components/Header.d.ts +0 -5
  72. package/dist/BreakpointSplitView/components/Header.js +0 -52
  73. package/dist/BreakpointSplitView/components/HeaderSearchBoxes.d.ts +0 -5
  74. package/dist/BreakpointSplitView/components/HeaderSearchBoxes.js +0 -24
  75. package/dist/BreakpointSplitView/components/Overlay.d.ts +0 -8
  76. package/dist/BreakpointSplitView/components/Overlay.js +0 -27
  77. package/dist/BreakpointSplitView/components/PairedFeatures.d.ts +0 -8
  78. package/dist/BreakpointSplitView/components/PairedFeatures.js +0 -75
  79. package/dist/BreakpointSplitView/components/Translocations.d.ts +0 -8
  80. package/dist/BreakpointSplitView/components/Translocations.js +0 -99
  81. package/dist/BreakpointSplitView/components/getOrientationColor.d.ts +0 -41
  82. package/dist/BreakpointSplitView/components/getOrientationColor.js +0 -103
  83. package/dist/BreakpointSplitView/components/util.d.ts +0 -8
  84. package/dist/BreakpointSplitView/components/util.js +0 -142
  85. package/dist/BreakpointSplitView/getClip.d.ts +0 -1
  86. package/dist/BreakpointSplitView/getClip.js +0 -10
  87. package/dist/BreakpointSplitView/index.d.ts +0 -2
  88. package/dist/BreakpointSplitView/index.js +0 -52
  89. package/dist/BreakpointSplitView/model.d.ts +0 -344
  90. package/dist/BreakpointSplitView/model.js +0 -256
  91. package/dist/BreakpointSplitView/svgcomponents/SVGBackground.d.ts +0 -5
  92. package/dist/BreakpointSplitView/svgcomponents/SVGBackground.js +0 -10
  93. package/dist/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.d.ts +0 -5
  94. package/dist/BreakpointSplitView/svgcomponents/SVGBreakpointSplitView.js +0 -41
  95. package/dist/BreakpointSplitView/svgcomponents/util.d.ts +0 -4
  96. package/dist/BreakpointSplitView/svgcomponents/util.js +0 -18
  97. package/dist/BreakpointSplitView/types.d.ts +0 -22
  98. package/dist/BreakpointSplitView/types.js +0 -2
  99. package/dist/BreakpointSplitView/util.d.ts +0 -28
  100. package/dist/BreakpointSplitView/util.js +0 -67
  101. package/dist/index.d.ts +0 -7
  102. package/dist/index.js +0 -20
@@ -1,344 +0,0 @@
1
- import type { ExportSvgOptions } from './types';
2
- import type PluginManager from '@jbrowse/core/PluginManager';
3
- import type { Feature } from '@jbrowse/core/util';
4
- import type { Instance } from 'mobx-state-tree';
5
- export default function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
6
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
7
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
8
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
9
- } & {
10
- type: import("mobx-state-tree").ISimpleType<"BreakpointSplitView">;
11
- height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
12
- trackSelectorType: import("mobx-state-tree").IType<string | undefined, string, string>;
13
- showIntraviewLinks: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
14
- linkViews: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
15
- interactiveOverlay: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
16
- showHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
17
- views: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
18
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
19
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
20
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
21
- } & {
22
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
23
- type: import("mobx-state-tree").IType<string | undefined, string, string>;
24
- offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
25
- bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
26
- displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
27
- tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
28
- hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
29
- hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
30
- hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
31
- trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
32
- showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
33
- showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
34
- trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
35
- showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
36
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
37
- colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
38
- showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
39
- init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
40
- }, {
41
- width: number;
42
- } & {
43
- menuItems(): import("@jbrowse/core/ui").MenuItem[];
44
- } & {
45
- setDisplayName(name: string): void;
46
- setWidth(newWidth: number): void;
47
- setMinimized(flag: boolean): void;
48
- } & {
49
- volatileWidth: number | undefined;
50
- minimumBlockWidth: number;
51
- draggingTrackId: undefined | string;
52
- volatileError: unknown;
53
- afterDisplayedRegionsSetCallbacks: (() => void)[];
54
- scaleFactor: number;
55
- trackRefs: Record<string, HTMLDivElement>;
56
- coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
57
- coarseTotalBp: number;
58
- leftOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
59
- rightOffset: undefined | import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset;
60
- } & {
61
- readonly pinnedTracks: any[];
62
- readonly unpinnedTracks: any[];
63
- readonly trackLabelsSetting: any;
64
- readonly width: number;
65
- readonly interRegionPaddingWidth: number;
66
- readonly assemblyNames: string[];
67
- readonly assemblyDisplayNames: string[];
68
- readonly isTopLevelView: boolean;
69
- readonly stickyViewHeaders: boolean;
70
- readonly rubberbandTop: number;
71
- readonly pinnedTracksTop: number;
72
- } & {
73
- scaleBarDisplayPrefix(): string | undefined;
74
- MiniControlsComponent(): React.FC<any>;
75
- HeaderComponent(): React.FC<any>;
76
- readonly assembliesNotFound: string | undefined;
77
- readonly assemblyErrors: string;
78
- readonly assembliesInitialized: boolean;
79
- readonly initialized: boolean;
80
- readonly hasDisplayedRegions: boolean;
81
- readonly scaleBarHeight: number;
82
- readonly headerHeight: number;
83
- readonly trackHeights: number;
84
- readonly trackHeightsWithResizeHandles: number;
85
- readonly height: number;
86
- readonly totalBp: number;
87
- readonly maxBpPerPx: number;
88
- readonly minBpPerPx: number;
89
- readonly error: unknown;
90
- readonly maxOffset: number;
91
- readonly minOffset: number;
92
- readonly displayedRegionsTotalPx: number;
93
- renderProps(): any;
94
- searchScope(assemblyName: string): {
95
- assemblyName: string;
96
- includeAggregateIndexes: boolean;
97
- 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>>;
98
- };
99
- getTrack(id: string): any;
100
- rankSearchResults(results: import("@jbrowse/core/TextSearch/BaseResults").default[]): import("@jbrowse/core/TextSearch/BaseResults").default[];
101
- rewriteOnClicks(trackType: string, viewMenuActions: import("@jbrowse/core/ui").MenuItem[]): void;
102
- readonly trackTypeActions: Map<string, import("@jbrowse/core/ui").MenuItem[]>;
103
- } & {
104
- setShowTrackOutlines(arg: boolean): void;
105
- setColorByCDS(flag: boolean): void;
106
- setShowCytobands(flag: boolean): void;
107
- setWidth(newWidth: number): void;
108
- setError(error: unknown): void;
109
- setHideHeader(b: boolean): void;
110
- setHideHeaderOverview(b: boolean): void;
111
- setHideNoTracksActive(b: boolean): void;
112
- setShowGridlines(b: boolean): void;
113
- addToHighlights(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
114
- setHighlight(highlight?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[]): void;
115
- removeHighlight(highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType): void;
116
- scrollTo(offsetPx: number): number;
117
- zoomTo(bpPerPx: number, offset?: number, centerAtOffset?: boolean): number;
118
- setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, right?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
119
- setSearchResults(searchResults: import("@jbrowse/core/TextSearch/BaseResults").default[], searchQuery: string, assemblyName?: string): void;
120
- setNewView(bpPerPx: number, offsetPx: number): void;
121
- horizontallyFlip(): void;
122
- showTrack(trackId: string, initialSnapshot?: {}, displayInitialSnapshot?: {}): any;
123
- hideTrack(trackId: string): number;
124
- } & {
125
- moveTrackDown(id: string): void;
126
- moveTrackUp(id: string): void;
127
- moveTrackToTop(id: string): void;
128
- moveTrackToBottom(id: string): void;
129
- moveTrack(movingId: string, targetId: string): void;
130
- toggleTrack(trackId: string): boolean;
131
- setTrackLabels(setting: "overlapping" | "offset" | "hidden"): void;
132
- setShowCenterLine(b: boolean): void;
133
- setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void;
134
- activateTrackSelector(): import("@jbrowse/core/util").Widget;
135
- getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, rightOffset?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): {
136
- start: number;
137
- end: number;
138
- type: string;
139
- regionNumber?: number;
140
- reversed?: boolean;
141
- refName: string;
142
- assemblyName: string;
143
- key: string;
144
- offsetPx: number;
145
- widthPx: number;
146
- variant?: string;
147
- isLeftEndOfDisplayedRegion?: boolean;
148
- }[];
149
- afterDisplayedRegionsSet(cb: () => void): void;
150
- horizontalScroll(distance: number): number;
151
- center(): void;
152
- showAllRegions(): void;
153
- showAllRegionsInAssembly(assemblyName?: string): void;
154
- setDraggingTrackId(idx?: string): void;
155
- setScaleFactor(factor: number): void;
156
- clearView(): void;
157
- setInit(arg?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState): void;
158
- exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").ExportSvgOptions): Promise<void>;
159
- } & {
160
- slide: (viewWidths: number) => void;
161
- } & {
162
- zoom: (targetBpPerPx: number) => void;
163
- } & {
164
- readonly canShowCytobands: boolean;
165
- readonly showCytobands: boolean;
166
- readonly anyCytobandsExist: boolean;
167
- readonly cytobandOffset: number;
168
- } & {
169
- menuItems(): import("@jbrowse/core/ui").MenuItem[];
170
- } & {
171
- readonly staticBlocks: import("@jbrowse/core/util/blockTypes").BlockSet;
172
- readonly dynamicBlocks: import("@jbrowse/core/util/blockTypes").BlockSet;
173
- readonly roundedDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[];
174
- readonly visibleLocStrings: string;
175
- readonly coarseVisibleLocStrings: string;
176
- } & {
177
- setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void;
178
- } & {
179
- moveTo(start?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset, end?: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").BpOffset): void;
180
- navToLocString(input: string, optAssemblyName?: string, grow?: number): Promise<void>;
181
- navToSearchString({ input, assembly, }: {
182
- input: string;
183
- assembly: import("@jbrowse/core/assemblyManager/assembly").Assembly;
184
- }): Promise<void>;
185
- navToLocation(parsedLocString: import("@jbrowse/core/util").ParsedLocString, assemblyName?: string, grow?: number): Promise<void>;
186
- navToLocations(regions: import("@jbrowse/core/util").ParsedLocString[], assemblyName?: string, grow?: number): Promise<void>;
187
- navTo(query: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation): void;
188
- navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").NavLocation[]): void;
189
- } & {
190
- rubberBandMenuItems(): import("@jbrowse/core/ui").MenuItem[];
191
- bpToPx({ refName, coord, regionNumber, }: {
192
- refName: string;
193
- coord: number;
194
- regionNumber?: number;
195
- }): {
196
- index: number;
197
- offsetPx: number;
198
- } | undefined;
199
- centerAt(coord: number, refName: string, regionNumber?: number): void;
200
- pxToBp(px: number): {
201
- coord: number;
202
- index: number;
203
- refName: string;
204
- oob: boolean;
205
- assemblyName: string;
206
- offset: number;
207
- start: number;
208
- end: number;
209
- reversed?: boolean;
210
- };
211
- readonly centerLineInfo: {
212
- coord: number;
213
- index: number;
214
- refName: string;
215
- oob: boolean;
216
- assemblyName: string;
217
- offset: number;
218
- start: number;
219
- end: number;
220
- reversed?: boolean;
221
- } | undefined;
222
- } & {
223
- afterCreate(): void;
224
- afterAttach(): void;
225
- }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
226
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
227
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
228
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
229
- } & {
230
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
231
- type: import("mobx-state-tree").IType<string | undefined, string, string>;
232
- offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
233
- bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
234
- displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[], import("@jbrowse/core/util").Region[]>, [undefined]>;
235
- tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
236
- hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
237
- hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
238
- hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
239
- trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
240
- showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
241
- showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
242
- trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
243
- showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
244
- highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType>>, [undefined]>;
245
- colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
246
- showTrackOutlines: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
247
- init: import("mobx-state-tree").IType<import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined, import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").InitState | undefined>;
248
- }>>, {
249
- id: string;
250
- type: string;
251
- displayName: string | undefined;
252
- tracks: any[];
253
- minimized: boolean;
254
- offsetPx: number;
255
- bpPerPx: number;
256
- displayedRegions: import("@jbrowse/core/util").Region[];
257
- hideHeader: boolean;
258
- hideHeaderOverview: boolean;
259
- hideNoTracksActive: boolean;
260
- trackSelectorType: string;
261
- showCenterLine: boolean;
262
- showCytobandsSetting: boolean;
263
- trackLabels: string;
264
- showGridlines: boolean;
265
- highlight: import("@jbrowse/plugin-linear-genome-view/src/LinearGenomeView/types").HighlightType[];
266
- colorByCDS: boolean;
267
- showTrackOutlines: boolean;
268
- }>>;
269
- }, {
270
- width: number;
271
- } & {
272
- menuItems(): import("@jbrowse/core/ui").MenuItem[];
273
- } & {
274
- setDisplayName(name: string): void;
275
- setWidth(newWidth: number): void;
276
- setMinimized(flag: boolean): void;
277
- } & {
278
- width: number;
279
- matchedTrackFeatures: Record<string, Feature[][]>;
280
- } & {
281
- exportSvg(opts?: ExportSvgOptions): Promise<void>;
282
- } & {
283
- readonly matchedTracks: (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>>) | {
284
- configuration: {
285
- trackId: string;
286
- };
287
- }[];
288
- getMatchedTracks(trackConfigId: string): any[];
289
- hasTranslocations(trackConfigId: string): Feature | undefined;
290
- hasPairedFeatures(trackConfigId: string): Feature | undefined;
291
- getTrackFeatures(trackConfigId: string): Map<string, Feature>;
292
- getMatchedFeaturesInLayout(trackConfigId: string, features: Feature[][]): {
293
- feature: Feature;
294
- layout: import("./types").LayoutRecord | undefined;
295
- level: number;
296
- clipPos: number;
297
- }[][];
298
- } & {
299
- afterAttach(): void;
300
- onSubviewAction(actionName: string, path: string, args?: unknown[]): void;
301
- setWidth(newWidth: number): void;
302
- setInteractiveOverlay(arg: boolean): void;
303
- setShowIntraviewLinks(arg: boolean): void;
304
- setLinkViews(arg: boolean): void;
305
- setShowHeader(arg: boolean): void;
306
- setMatchedTrackFeatures(obj: Record<string, Feature[][]>): void;
307
- reverseViewOrder(): void;
308
- } & {
309
- afterAttach(): void;
310
- menuItems(): ({
311
- label: string;
312
- subMenu: import("@jbrowse/core/ui").MenuItem[];
313
- } | {
314
- label: string;
315
- onClick: () => void;
316
- type?: undefined;
317
- checked?: undefined;
318
- icon?: undefined;
319
- } | {
320
- label: string;
321
- type: string;
322
- checked: boolean;
323
- onClick: () => void;
324
- icon?: undefined;
325
- } | {
326
- label: string;
327
- type: string;
328
- icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
329
- muiName: string;
330
- };
331
- checked: boolean;
332
- onClick: () => void;
333
- } | {
334
- label: string;
335
- icon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
336
- muiName: string;
337
- };
338
- onClick: () => void;
339
- type?: undefined;
340
- checked?: undefined;
341
- })[];
342
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
343
- export type BreakpointViewStateModel = ReturnType<typeof stateModelFactory>;
344
- export type BreakpointViewModel = Instance<BreakpointViewStateModel>;
@@ -1,256 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = stateModelFactory;
40
- const react_1 = require("react");
41
- const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
42
- const util_1 = require("@jbrowse/core/util");
43
- const Link_1 = __importDefault(require("@mui/icons-material/Link"));
44
- const PhotoCamera_1 = __importDefault(require("@mui/icons-material/PhotoCamera"));
45
- const file_saver_1 = require("file-saver");
46
- const mobx_1 = require("mobx");
47
- const mobx_state_tree_1 = require("mobx-state-tree");
48
- const getClip_1 = require("./getClip");
49
- const util_2 = require("./util");
50
- const ExportSvgDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/ExportSvgDialog'))));
51
- function stateModelFactory(pluginManager) {
52
- const defaultHeight = 400;
53
- return mobx_state_tree_1.types
54
- .compose('BreakpointSplitView', models_1.BaseViewModel, mobx_state_tree_1.types.model({
55
- type: mobx_state_tree_1.types.literal('BreakpointSplitView'),
56
- height: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, defaultHeight),
57
- trackSelectorType: 'hierarchical',
58
- showIntraviewLinks: true,
59
- linkViews: false,
60
- interactiveOverlay: true,
61
- showHeader: false,
62
- views: mobx_state_tree_1.types.array(pluginManager.getViewType('LinearGenomeView')
63
- .stateModel),
64
- }))
65
- .volatile(() => ({
66
- width: 800,
67
- matchedTrackFeatures: {},
68
- }))
69
- .views(self => ({
70
- async exportSvg(opts = {}) {
71
- const { renderToSvg } = await Promise.resolve().then(() => __importStar(require('./svgcomponents/SVGBreakpointSplitView')));
72
- const html = await renderToSvg(self, opts);
73
- const blob = new Blob([html], { type: 'image/svg+xml' });
74
- (0, file_saver_1.saveAs)(blob, opts.filename || 'image.svg');
75
- },
76
- }))
77
- .views(self => ({
78
- get matchedTracks() {
79
- return self.views.length === 1
80
- ? self.views[0].tracks
81
- : (0, util_2.intersect)(elt => elt.configuration.trackId, ...self.views.map(view => view.tracks));
82
- },
83
- getMatchedTracks(trackConfigId) {
84
- return self.views
85
- .map(view => view.getTrack(trackConfigId))
86
- .filter(f => !!f);
87
- },
88
- hasTranslocations(trackConfigId) {
89
- return [...this.getTrackFeatures(trackConfigId).values()].find(f => f.get('type') === 'translocation');
90
- },
91
- hasPairedFeatures(trackConfigId) {
92
- return [...this.getTrackFeatures(trackConfigId).values()].find(f => f.get('type') === 'paired_feature');
93
- },
94
- getTrackFeatures(trackConfigId) {
95
- var _a;
96
- return new Map((_a = self.matchedTrackFeatures[trackConfigId]) === null || _a === void 0 ? void 0 : _a.flat().map(f => [f.id(), f]));
97
- },
98
- getMatchedFeaturesInLayout(trackConfigId, features) {
99
- const tracks = this.getMatchedTracks(trackConfigId);
100
- return features.map(c => c
101
- .map(feature => {
102
- const level = tracks.findIndex(track => (0, util_2.calc)(track, feature));
103
- return level !== -1
104
- ? {
105
- feature,
106
- layout: (0, util_2.calc)(tracks[level], feature),
107
- level,
108
- clipPos: (0, getClip_1.getClip)(feature.get('CIGAR'), feature.get('strand')),
109
- }
110
- : undefined;
111
- })
112
- .filter(util_1.notEmpty));
113
- },
114
- }))
115
- .actions(self => ({
116
- afterAttach() {
117
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_state_tree_1.onAction)(self, ({ name, path, args, }) => {
118
- if (self.linkViews) {
119
- const actions = [
120
- 'horizontalScroll',
121
- 'zoomTo',
122
- 'setScaleFactor',
123
- 'showTrack',
124
- 'toggleTrack',
125
- 'hideTrack',
126
- 'setTrackLabels',
127
- 'toggleCenterLine',
128
- ];
129
- if (actions.includes(name) && path) {
130
- this.onSubviewAction(name, path, args);
131
- }
132
- }
133
- }));
134
- },
135
- onSubviewAction(actionName, path, args) {
136
- for (const view of self.views) {
137
- const ret = (0, mobx_state_tree_1.getPath)(view);
138
- if (!ret.endsWith(path)) {
139
- view[actionName](args === null || args === void 0 ? void 0 : args[0]);
140
- }
141
- }
142
- },
143
- setWidth(newWidth) {
144
- self.width = newWidth;
145
- for (const v of self.views) {
146
- v.setWidth(newWidth);
147
- }
148
- },
149
- setInteractiveOverlay(arg) {
150
- self.interactiveOverlay = arg;
151
- },
152
- setShowIntraviewLinks(arg) {
153
- self.showIntraviewLinks = arg;
154
- },
155
- setLinkViews(arg) {
156
- self.linkViews = arg;
157
- },
158
- setShowHeader(arg) {
159
- self.showHeader = arg;
160
- },
161
- setMatchedTrackFeatures(obj) {
162
- self.matchedTrackFeatures = obj;
163
- },
164
- reverseViewOrder() {
165
- self.views.reverse();
166
- },
167
- }))
168
- .actions(self => ({
169
- afterAttach() {
170
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(async () => {
171
- try {
172
- if (!self.views.every(view => view.initialized)) {
173
- return;
174
- }
175
- if (self.matchedTracks.some(track => { var _a, _b; return (_b = (_a = track.displays[0]).notReady) === null || _b === void 0 ? void 0 : _b.call(_a); })) {
176
- return;
177
- }
178
- self.setMatchedTrackFeatures(Object.fromEntries(await Promise.all(self.matchedTracks.map(async (track) => [
179
- track.configuration.trackId,
180
- await (0, util_2.getBlockFeatures)(self, track),
181
- ]))));
182
- }
183
- catch (e) {
184
- console.error(e);
185
- (0, util_1.getSession)(self).notifyError(`${e}`, e);
186
- }
187
- }));
188
- },
189
- menuItems() {
190
- return [
191
- ...self.views
192
- .map((view, idx) => [idx, view.menuItems()])
193
- .map(f => ({
194
- label: `Row ${f[0] + 1} view menu`,
195
- subMenu: f[1],
196
- })),
197
- ...(self.views.length > 1
198
- ? [
199
- {
200
- label: 'Reverse view order',
201
- onClick: () => {
202
- self.reverseViewOrder();
203
- },
204
- },
205
- ]
206
- : []),
207
- {
208
- label: 'Show header',
209
- type: 'checkbox',
210
- checked: self.showHeader,
211
- onClick: () => {
212
- self.setShowHeader(!self.showHeader);
213
- },
214
- },
215
- {
216
- label: 'Show intra-view links',
217
- type: 'checkbox',
218
- checked: self.showIntraviewLinks,
219
- onClick: () => {
220
- self.setShowIntraviewLinks(!self.showIntraviewLinks);
221
- },
222
- },
223
- {
224
- label: 'Allow clicking alignment squiggles?',
225
- type: 'checkbox',
226
- checked: self.interactiveOverlay,
227
- onClick: () => {
228
- self.setInteractiveOverlay(!self.interactiveOverlay);
229
- },
230
- },
231
- {
232
- label: 'Link views',
233
- type: 'checkbox',
234
- icon: Link_1.default,
235
- checked: self.linkViews,
236
- onClick: () => {
237
- self.setLinkViews(!self.linkViews);
238
- },
239
- },
240
- {
241
- label: 'Export SVG',
242
- icon: PhotoCamera_1.default,
243
- onClick: () => {
244
- (0, util_1.getSession)(self).queueDialog(handleClose => [
245
- ExportSvgDialog,
246
- {
247
- model: self,
248
- handleClose,
249
- },
250
- ]);
251
- },
252
- },
253
- ];
254
- },
255
- }));
256
- }
@@ -1,5 +0,0 @@
1
- export default function SVGBackground({ width, height, shift, }: {
2
- width: number;
3
- height: number;
4
- shift: number;
5
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = SVGBackground;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const util_1 = require("@jbrowse/core/util");
6
- const material_1 = require("@mui/material");
7
- function SVGBackground({ width, height, shift, }) {
8
- const theme = (0, material_1.useTheme)();
9
- return ((0, jsx_runtime_1.jsx)("rect", { width: width + shift * 2, height: height, fill: (0, util_1.stripAlpha)(theme.palette.background.default) }));
10
- }
@@ -1,5 +0,0 @@
1
- import type { BreakpointViewModel } from '../model';
2
- import type { ExportSvgOptions } from '../types';
3
- type BSV = BreakpointViewModel;
4
- export declare function renderToSvg(model: BSV, opts: ExportSvgOptions): Promise<string>;
5
- export {};