@jbrowse/plugin-dotplot-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 (263) hide show
  1. package/LICENSE +201 -0
  2. package/dist/ComparativeRenderer/index.d.ts +27 -0
  3. package/dist/ComparativeRenderer/index.js +59 -0
  4. package/dist/ComparativeRenderer/index.js.map +1 -0
  5. package/dist/DotplotDisplay/components/DotplotDisplay.d.ts +8 -0
  6. package/dist/DotplotDisplay/components/DotplotDisplay.js +24 -0
  7. package/dist/DotplotDisplay/components/DotplotDisplay.js.map +1 -0
  8. package/dist/DotplotDisplay/index.d.ts +12 -0
  9. package/dist/DotplotDisplay/index.js +48 -0
  10. package/dist/DotplotDisplay/index.js.map +1 -0
  11. package/dist/DotplotDisplay/renderDotplotBlock.d.ts +11 -0
  12. package/dist/DotplotDisplay/renderDotplotBlock.js +57 -0
  13. package/dist/DotplotDisplay/renderDotplotBlock.js.map +1 -0
  14. package/dist/DotplotDisplay/stateModelFactory.d.ts +138 -0
  15. package/dist/DotplotDisplay/stateModelFactory.js +165 -0
  16. package/dist/DotplotDisplay/stateModelFactory.js.map +1 -0
  17. package/dist/DotplotReadVsRef/DotplotReadVsRef.d.ts +3 -0
  18. package/dist/DotplotReadVsRef/DotplotReadVsRef.js +102 -0
  19. package/dist/DotplotReadVsRef/DotplotReadVsRef.js.map +1 -0
  20. package/dist/DotplotReadVsRef/index.d.ts +2 -0
  21. package/dist/DotplotReadVsRef/index.js +42 -0
  22. package/dist/DotplotReadVsRef/index.js.map +1 -0
  23. package/dist/DotplotRenderer/ComparativeRenderRpc.d.ts +27 -0
  24. package/dist/DotplotRenderer/ComparativeRenderRpc.js +59 -0
  25. package/dist/DotplotRenderer/ComparativeRenderRpc.js.map +1 -0
  26. package/dist/DotplotRenderer/DotplotRenderer.d.ts +69 -0
  27. package/dist/DotplotRenderer/DotplotRenderer.js +274 -0
  28. package/dist/DotplotRenderer/DotplotRenderer.js.map +1 -0
  29. package/dist/DotplotRenderer/components/DotplotRendering.d.ts +5 -0
  30. package/dist/DotplotRenderer/components/DotplotRendering.js +13 -0
  31. package/dist/DotplotRenderer/components/DotplotRendering.js.map +1 -0
  32. package/dist/DotplotRenderer/configSchema.d.ts +61 -0
  33. package/dist/DotplotRenderer/configSchema.js +83 -0
  34. package/dist/DotplotRenderer/configSchema.js.map +1 -0
  35. package/dist/DotplotRenderer/index.d.ts +3 -0
  36. package/dist/DotplotRenderer/index.js +17 -0
  37. package/dist/DotplotRenderer/index.js.map +1 -0
  38. package/dist/DotplotView/1dview.d.ts +307 -0
  39. package/dist/DotplotView/1dview.js +95 -0
  40. package/dist/DotplotView/1dview.js.map +1 -0
  41. package/dist/DotplotView/blockTypes.d.ts +61 -0
  42. package/dist/DotplotView/blockTypes.js +117 -0
  43. package/dist/DotplotView/blockTypes.js.map +1 -0
  44. package/dist/DotplotView/components/Axes.d.ts +14 -0
  45. package/dist/DotplotView/components/Axes.js +127 -0
  46. package/dist/DotplotView/components/Axes.js.map +1 -0
  47. package/dist/DotplotView/components/CursorIcon.d.ts +4 -0
  48. package/dist/DotplotView/components/CursorIcon.js +19 -0
  49. package/dist/DotplotView/components/CursorIcon.js.map +1 -0
  50. package/dist/DotplotView/components/DotplotTooltip.d.ts +19 -0
  51. package/dist/DotplotView/components/DotplotTooltip.js +128 -0
  52. package/dist/DotplotView/components/DotplotTooltip.js.map +1 -0
  53. package/dist/DotplotView/components/DotplotView.d.ts +6 -0
  54. package/dist/DotplotView/components/DotplotView.js +272 -0
  55. package/dist/DotplotView/components/DotplotView.js.map +1 -0
  56. package/dist/DotplotView/components/DotplotWarnings.d.ts +6 -0
  57. package/dist/DotplotView/components/DotplotWarnings.js +40 -0
  58. package/dist/DotplotView/components/DotplotWarnings.js.map +1 -0
  59. package/dist/DotplotView/components/ExportSvgDialog.d.ts +8 -0
  60. package/dist/DotplotView/components/ExportSvgDialog.js +76 -0
  61. package/dist/DotplotView/components/ExportSvgDialog.js.map +1 -0
  62. package/dist/DotplotView/components/Grid.d.ts +10 -0
  63. package/dist/DotplotView/components/Grid.js +60 -0
  64. package/dist/DotplotView/components/Grid.js.map +1 -0
  65. package/dist/DotplotView/components/Header.d.ts +10 -0
  66. package/dist/DotplotView/components/Header.js +168 -0
  67. package/dist/DotplotView/components/Header.js.map +1 -0
  68. package/dist/DotplotView/components/ImportCustomTrack.d.ts +11 -0
  69. package/dist/DotplotView/components/ImportCustomTrack.js +180 -0
  70. package/dist/DotplotView/components/ImportCustomTrack.js.map +1 -0
  71. package/dist/DotplotView/components/ImportForm.d.ts +6 -0
  72. package/dist/DotplotView/components/ImportForm.js +121 -0
  73. package/dist/DotplotView/components/ImportForm.js.map +1 -0
  74. package/dist/DotplotView/components/ImportSyntenyTrackSelector.d.ts +9 -0
  75. package/dist/DotplotView/components/ImportSyntenyTrackSelector.js +69 -0
  76. package/dist/DotplotView/components/ImportSyntenyTrackSelector.js.map +1 -0
  77. package/dist/DotplotView/components/PanButtons.d.ts +6 -0
  78. package/dist/DotplotView/components/PanButtons.js +60 -0
  79. package/dist/DotplotView/components/PanButtons.js.map +1 -0
  80. package/dist/DotplotView/components/WarningDialog.d.ts +16 -0
  81. package/dist/DotplotView/components/WarningDialog.js +41 -0
  82. package/dist/DotplotView/components/WarningDialog.js.map +1 -0
  83. package/dist/DotplotView/components/util.d.ts +19 -0
  84. package/dist/DotplotView/components/util.js +90 -0
  85. package/dist/DotplotView/components/util.js.map +1 -0
  86. package/dist/DotplotView/index.d.ts +2 -0
  87. package/dist/DotplotView/index.js +44 -0
  88. package/dist/DotplotView/index.js.map +1 -0
  89. package/dist/DotplotView/model.d.ts +616 -0
  90. package/dist/DotplotView/model.js +647 -0
  91. package/dist/DotplotView/model.js.map +1 -0
  92. package/dist/DotplotView/svgcomponents/SVGBackground.d.ts +5 -0
  93. package/dist/DotplotView/svgcomponents/SVGBackground.js +13 -0
  94. package/dist/DotplotView/svgcomponents/SVGBackground.js.map +1 -0
  95. package/dist/DotplotView/svgcomponents/SVGDotplotView.d.ts +2 -0
  96. package/dist/DotplotView/svgcomponents/SVGDotplotView.js +47 -0
  97. package/dist/DotplotView/svgcomponents/SVGDotplotView.js.map +1 -0
  98. package/dist/LaunchDotplotView.d.ts +2 -0
  99. package/dist/LaunchDotplotView.js +45 -0
  100. package/dist/LaunchDotplotView.js.map +1 -0
  101. package/dist/ServerSideRenderedBlockContent.d.ts +12 -0
  102. package/dist/ServerSideRenderedBlockContent.js +87 -0
  103. package/dist/ServerSideRenderedBlockContent.js.map +1 -0
  104. package/dist/ServerSideSyntenyRendering.d.ts +23 -0
  105. package/dist/ServerSideSyntenyRendering.js +54 -0
  106. package/dist/ServerSideSyntenyRendering.js.map +1 -0
  107. package/dist/index.d.ts +7 -0
  108. package/dist/index.js +44 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/util.d.ts +9 -0
  111. package/dist/util.js +9 -0
  112. package/dist/util.js.map +1 -0
  113. package/esm/ComparativeRenderer/index.d.ts +27 -0
  114. package/esm/ComparativeRenderer/index.js +53 -0
  115. package/esm/ComparativeRenderer/index.js.map +1 -0
  116. package/esm/DotplotDisplay/components/DotplotDisplay.d.ts +8 -0
  117. package/esm/DotplotDisplay/components/DotplotDisplay.js +19 -0
  118. package/esm/DotplotDisplay/components/DotplotDisplay.js.map +1 -0
  119. package/esm/DotplotDisplay/index.d.ts +12 -0
  120. package/esm/DotplotDisplay/index.js +41 -0
  121. package/esm/DotplotDisplay/index.js.map +1 -0
  122. package/esm/DotplotDisplay/renderDotplotBlock.d.ts +11 -0
  123. package/esm/DotplotDisplay/renderDotplotBlock.js +49 -0
  124. package/esm/DotplotDisplay/renderDotplotBlock.js.map +1 -0
  125. package/esm/DotplotDisplay/stateModelFactory.d.ts +138 -0
  126. package/esm/DotplotDisplay/stateModelFactory.js +158 -0
  127. package/esm/DotplotDisplay/stateModelFactory.js.map +1 -0
  128. package/esm/DotplotReadVsRef/DotplotReadVsRef.d.ts +3 -0
  129. package/esm/DotplotReadVsRef/DotplotReadVsRef.js +98 -0
  130. package/esm/DotplotReadVsRef/DotplotReadVsRef.js.map +1 -0
  131. package/esm/DotplotReadVsRef/index.d.ts +2 -0
  132. package/esm/DotplotReadVsRef/index.js +36 -0
  133. package/esm/DotplotReadVsRef/index.js.map +1 -0
  134. package/esm/DotplotRenderer/ComparativeRenderRpc.d.ts +27 -0
  135. package/esm/DotplotRenderer/ComparativeRenderRpc.js +53 -0
  136. package/esm/DotplotRenderer/ComparativeRenderRpc.js.map +1 -0
  137. package/esm/DotplotRenderer/DotplotRenderer.d.ts +69 -0
  138. package/esm/DotplotRenderer/DotplotRenderer.js +268 -0
  139. package/esm/DotplotRenderer/DotplotRenderer.js.map +1 -0
  140. package/esm/DotplotRenderer/components/DotplotRendering.d.ts +5 -0
  141. package/esm/DotplotRenderer/components/DotplotRendering.js +8 -0
  142. package/esm/DotplotRenderer/components/DotplotRendering.js.map +1 -0
  143. package/esm/DotplotRenderer/configSchema.d.ts +61 -0
  144. package/esm/DotplotRenderer/configSchema.js +81 -0
  145. package/esm/DotplotRenderer/configSchema.js.map +1 -0
  146. package/esm/DotplotRenderer/index.d.ts +3 -0
  147. package/esm/DotplotRenderer/index.js +12 -0
  148. package/esm/DotplotRenderer/index.js.map +1 -0
  149. package/esm/DotplotView/1dview.d.ts +307 -0
  150. package/esm/DotplotView/1dview.js +87 -0
  151. package/esm/DotplotView/1dview.js.map +1 -0
  152. package/esm/DotplotView/blockTypes.d.ts +61 -0
  153. package/esm/DotplotView/blockTypes.js +109 -0
  154. package/esm/DotplotView/blockTypes.js.map +1 -0
  155. package/esm/DotplotView/components/Axes.d.ts +14 -0
  156. package/esm/DotplotView/components/Axes.js +121 -0
  157. package/esm/DotplotView/components/Axes.js.map +1 -0
  158. package/esm/DotplotView/components/CursorIcon.d.ts +4 -0
  159. package/esm/DotplotView/components/CursorIcon.js +11 -0
  160. package/esm/DotplotView/components/CursorIcon.js.map +1 -0
  161. package/esm/DotplotView/components/DotplotTooltip.d.ts +19 -0
  162. package/esm/DotplotView/components/DotplotTooltip.js +101 -0
  163. package/esm/DotplotView/components/DotplotTooltip.js.map +1 -0
  164. package/esm/DotplotView/components/DotplotView.d.ts +6 -0
  165. package/esm/DotplotView/components/DotplotView.js +244 -0
  166. package/esm/DotplotView/components/DotplotView.js.map +1 -0
  167. package/esm/DotplotView/components/DotplotWarnings.d.ts +6 -0
  168. package/esm/DotplotView/components/DotplotWarnings.js +15 -0
  169. package/esm/DotplotView/components/DotplotWarnings.js.map +1 -0
  170. package/esm/DotplotView/components/ExportSvgDialog.d.ts +8 -0
  171. package/esm/DotplotView/components/ExportSvgDialog.js +50 -0
  172. package/esm/DotplotView/components/ExportSvgDialog.js.map +1 -0
  173. package/esm/DotplotView/components/Grid.d.ts +10 -0
  174. package/esm/DotplotView/components/Grid.js +53 -0
  175. package/esm/DotplotView/components/Grid.js.map +1 -0
  176. package/esm/DotplotView/components/Header.d.ts +10 -0
  177. package/esm/DotplotView/components/Header.js +140 -0
  178. package/esm/DotplotView/components/Header.js.map +1 -0
  179. package/esm/DotplotView/components/ImportCustomTrack.d.ts +11 -0
  180. package/esm/DotplotView/components/ImportCustomTrack.js +152 -0
  181. package/esm/DotplotView/components/ImportCustomTrack.js.map +1 -0
  182. package/esm/DotplotView/components/ImportForm.d.ts +6 -0
  183. package/esm/DotplotView/components/ImportForm.js +93 -0
  184. package/esm/DotplotView/components/ImportForm.js.map +1 -0
  185. package/esm/DotplotView/components/ImportSyntenyTrackSelector.d.ts +9 -0
  186. package/esm/DotplotView/components/ImportSyntenyTrackSelector.js +44 -0
  187. package/esm/DotplotView/components/ImportSyntenyTrackSelector.js.map +1 -0
  188. package/esm/DotplotView/components/PanButtons.d.ts +6 -0
  189. package/esm/DotplotView/components/PanButtons.js +55 -0
  190. package/esm/DotplotView/components/PanButtons.js.map +1 -0
  191. package/esm/DotplotView/components/WarningDialog.d.ts +16 -0
  192. package/esm/DotplotView/components/WarningDialog.js +36 -0
  193. package/esm/DotplotView/components/WarningDialog.js.map +1 -0
  194. package/esm/DotplotView/components/util.d.ts +19 -0
  195. package/esm/DotplotView/components/util.js +83 -0
  196. package/esm/DotplotView/components/util.js.map +1 -0
  197. package/esm/DotplotView/index.d.ts +2 -0
  198. package/esm/DotplotView/index.js +15 -0
  199. package/esm/DotplotView/index.js.map +1 -0
  200. package/esm/DotplotView/model.d.ts +616 -0
  201. package/esm/DotplotView/model.js +616 -0
  202. package/esm/DotplotView/model.js.map +1 -0
  203. package/esm/DotplotView/svgcomponents/SVGBackground.d.ts +5 -0
  204. package/esm/DotplotView/svgcomponents/SVGBackground.js +7 -0
  205. package/esm/DotplotView/svgcomponents/SVGBackground.js.map +1 -0
  206. package/esm/DotplotView/svgcomponents/SVGDotplotView.d.ts +2 -0
  207. package/esm/DotplotView/svgcomponents/SVGDotplotView.js +40 -0
  208. package/esm/DotplotView/svgcomponents/SVGDotplotView.js.map +1 -0
  209. package/esm/LaunchDotplotView.d.ts +2 -0
  210. package/esm/LaunchDotplotView.js +42 -0
  211. package/esm/LaunchDotplotView.js.map +1 -0
  212. package/esm/ServerSideRenderedBlockContent.d.ts +12 -0
  213. package/esm/ServerSideRenderedBlockContent.js +62 -0
  214. package/esm/ServerSideRenderedBlockContent.js.map +1 -0
  215. package/esm/ServerSideSyntenyRendering.d.ts +23 -0
  216. package/esm/ServerSideSyntenyRendering.js +29 -0
  217. package/esm/ServerSideSyntenyRendering.js.map +1 -0
  218. package/esm/index.d.ts +7 -0
  219. package/esm/index.js +38 -0
  220. package/esm/index.js.map +1 -0
  221. package/esm/util.d.ts +9 -0
  222. package/esm/util.js +5 -0
  223. package/esm/util.js.map +1 -0
  224. package/package.json +69 -0
  225. package/src/ComparativeRenderer/index.ts +87 -0
  226. package/src/DotplotDisplay/components/DotplotDisplay.tsx +34 -0
  227. package/src/DotplotDisplay/index.ts +48 -0
  228. package/src/DotplotDisplay/renderDotplotBlock.ts +60 -0
  229. package/src/DotplotDisplay/stateModelFactory.tsx +196 -0
  230. package/src/DotplotReadVsRef/DotplotReadVsRef.ts +115 -0
  231. package/src/DotplotReadVsRef/index.ts +50 -0
  232. package/src/DotplotRenderer/ComparativeRenderRpc.ts +87 -0
  233. package/src/DotplotRenderer/DotplotRenderer.ts +328 -0
  234. package/src/DotplotRenderer/__image_snapshots__/linear-synteny-renderer-test-ts-test-rendering-a-simple-synteny-from-fake-data-1-snap.png +0 -0
  235. package/src/DotplotRenderer/components/DotplotRendering.tsx +12 -0
  236. package/src/DotplotRenderer/configSchema.ts +92 -0
  237. package/src/DotplotRenderer/index.ts +16 -0
  238. package/src/DotplotView/1dview.ts +98 -0
  239. package/src/DotplotView/blockTypes.ts +140 -0
  240. package/src/DotplotView/components/Axes.tsx +246 -0
  241. package/src/DotplotView/components/CursorIcon.tsx +24 -0
  242. package/src/DotplotView/components/DotplotTooltip.tsx +163 -0
  243. package/src/DotplotView/components/DotplotView.tsx +348 -0
  244. package/src/DotplotView/components/DotplotWarnings.tsx +26 -0
  245. package/src/DotplotView/components/ExportSvgDialog.tsx +129 -0
  246. package/src/DotplotView/components/Grid.tsx +112 -0
  247. package/src/DotplotView/components/Header.tsx +182 -0
  248. package/src/DotplotView/components/ImportCustomTrack.tsx +262 -0
  249. package/src/DotplotView/components/ImportForm.tsx +209 -0
  250. package/src/DotplotView/components/ImportSyntenyTrackSelector.tsx +90 -0
  251. package/src/DotplotView/components/PanButtons.tsx +93 -0
  252. package/src/DotplotView/components/WarningDialog.tsx +74 -0
  253. package/src/DotplotView/components/util.ts +118 -0
  254. package/src/DotplotView/index.ts +16 -0
  255. package/src/DotplotView/model.test.ts +17 -0
  256. package/src/DotplotView/model.ts +719 -0
  257. package/src/DotplotView/svgcomponents/SVGBackground.tsx +21 -0
  258. package/src/DotplotView/svgcomponents/SVGDotplotView.tsx +68 -0
  259. package/src/LaunchDotplotView.ts +63 -0
  260. package/src/ServerSideRenderedBlockContent.tsx +86 -0
  261. package/src/ServerSideSyntenyRendering.tsx +54 -0
  262. package/src/index.ts +41 -0
  263. package/src/util.ts +14 -0
@@ -0,0 +1,616 @@
1
+ import { lazy } from 'react';
2
+ import { addDisposer, cast, getParent, getRoot, getSnapshot, resolveIdentifier, types, } from 'mobx-state-tree';
3
+ import { saveAs } from 'file-saver';
4
+ import { autorun, transaction } from 'mobx';
5
+ import { getParentRenderProps } from '@jbrowse/core/util/tracks';
6
+ import BaseViewModel from '@jbrowse/core/pluggableElementTypes/models/BaseViewModel';
7
+ import { getSession, isSessionModelWithWidgets, minmax, measureText, max, localStorageGetItem, } from '@jbrowse/core/util';
8
+ import { getConf } from '@jbrowse/core/configuration';
9
+ import { ElementId } from '@jbrowse/core/util/types/mst';
10
+ // icons
11
+ import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
12
+ import FolderOpenIcon from '@mui/icons-material/FolderOpen';
13
+ import PhotoCameraIcon from '@mui/icons-material/PhotoCamera';
14
+ // locals
15
+ import { Dotplot1DView, DotplotHView, DotplotVView } from './1dview';
16
+ import { getBlockLabelKeysToHide, makeTicks } from './components/util';
17
+ // lazies
18
+ const ExportSvgDialog = lazy(() => import('./components/ExportSvgDialog'));
19
+ const ReturnToImportFormDialog = lazy(() => import('@jbrowse/core/ui/ReturnToImportFormDialog'));
20
+ /**
21
+ * #stateModel DotplotView
22
+ * #category view
23
+ * extends `BaseViewModel`
24
+ */
25
+ export default function stateModelFactory(pm) {
26
+ return types
27
+ .compose(BaseViewModel, types.model('DotplotView', {
28
+ /**
29
+ * #property
30
+ */
31
+ id: ElementId,
32
+ /**
33
+ * #property
34
+ */
35
+ type: types.literal('DotplotView'),
36
+ /**
37
+ * #property
38
+ */
39
+ height: 600,
40
+ /**
41
+ * #property
42
+ */
43
+ borderSize: 20,
44
+ /**
45
+ * #property
46
+ */
47
+ tickSize: 5,
48
+ /**
49
+ * #property
50
+ */
51
+ vtextRotation: 0,
52
+ /**
53
+ * #property
54
+ */
55
+ htextRotation: -90,
56
+ /**
57
+ * #property
58
+ */
59
+ fontSize: 15,
60
+ /**
61
+ * #property
62
+ */
63
+ trackSelectorType: 'hierarchical',
64
+ /**
65
+ * #property
66
+ */
67
+ assemblyNames: types.array(types.string),
68
+ /**
69
+ * #property
70
+ */
71
+ drawCigar: true,
72
+ /**
73
+ * #property
74
+ */
75
+ hview: types.optional(DotplotHView, {}),
76
+ /**
77
+ * #property
78
+ */
79
+ vview: types.optional(DotplotVView, {}),
80
+ /**
81
+ * #property
82
+ */
83
+ tracks: types.array(pm.pluggableMstType('track', 'stateModel')),
84
+ /**
85
+ * #property
86
+ * this represents tracks specific to this view specifically used
87
+ * for read vs ref dotplots where this track would not really apply
88
+ * elsewhere
89
+ */
90
+ viewTrackConfigs: types.array(pm.pluggableConfigSchemaType('track')),
91
+ }))
92
+ .volatile(() => ({
93
+ volatileWidth: undefined,
94
+ volatileError: undefined,
95
+ // these are 'personal preferences', stored in volatile and
96
+ // loaded/written to localStorage
97
+ cursorMode: localStorageGetItem('dotplot-cursorMode') || 'crosshair',
98
+ showPanButtons: Boolean(JSON.parse(localStorageGetItem('dotplot-showPanbuttons') || 'true')),
99
+ wheelMode: localStorageGetItem('dotplot-wheelMode') || 'zoom',
100
+ borderX: 100,
101
+ borderY: 100,
102
+ }))
103
+ .views(self => ({
104
+ /**
105
+ * #getter
106
+ */
107
+ get width() {
108
+ if (!self.volatileWidth) {
109
+ throw new Error('width not initialized');
110
+ }
111
+ return self.volatileWidth;
112
+ },
113
+ }))
114
+ .views(self => ({
115
+ /**
116
+ * #getter
117
+ */
118
+ get assemblyErrors() {
119
+ const { assemblyManager } = getSession(self);
120
+ return self.assemblyNames
121
+ .map(a => { var _a; return (_a = assemblyManager.get(a)) === null || _a === void 0 ? void 0 : _a.error; })
122
+ .filter(f => !!f)
123
+ .join(', ');
124
+ },
125
+ /**
126
+ * #getter
127
+ */
128
+ get assembliesInitialized() {
129
+ const { assemblyManager } = getSession(self);
130
+ return self.assemblyNames.every(n => { var _a, _b; return (_b = (_a = assemblyManager.get(n)) === null || _a === void 0 ? void 0 : _a.initialized) !== null && _b !== void 0 ? _b : true; });
131
+ },
132
+ }))
133
+ .views(self => ({
134
+ /**
135
+ * #getter
136
+ */
137
+ get initialized() {
138
+ return (self.volatileWidth !== undefined &&
139
+ self.hview.displayedRegions.length > 0 &&
140
+ self.vview.displayedRegions.length > 0 &&
141
+ self.assembliesInitialized);
142
+ },
143
+ /**
144
+ * #getter
145
+ */
146
+ get hticks() {
147
+ const { hview } = self;
148
+ const { dynamicBlocks, staticBlocks, bpPerPx } = hview;
149
+ return dynamicBlocks.contentBlocks.length > 5
150
+ ? []
151
+ : makeTicks(staticBlocks.contentBlocks, bpPerPx);
152
+ },
153
+ /**
154
+ * #getter
155
+ */
156
+ get vticks() {
157
+ const { vview } = self;
158
+ const { dynamicBlocks, staticBlocks, bpPerPx } = vview;
159
+ return dynamicBlocks.contentBlocks.length > 5
160
+ ? []
161
+ : makeTicks(staticBlocks.contentBlocks, bpPerPx);
162
+ },
163
+ /**
164
+ * #getter
165
+ */
166
+ get loading() {
167
+ return self.assemblyNames.length > 0 && !this.initialized;
168
+ },
169
+ /**
170
+ * #getter
171
+ */
172
+ get viewWidth() {
173
+ return self.width - self.borderX;
174
+ },
175
+ /**
176
+ * #getter
177
+ */
178
+ get viewHeight() {
179
+ return self.height - self.borderY;
180
+ },
181
+ /**
182
+ * #getter
183
+ */
184
+ get views() {
185
+ return [self.hview, self.vview];
186
+ },
187
+ /**
188
+ * #method
189
+ */
190
+ renderProps() {
191
+ const session = getSession(self);
192
+ return {
193
+ ...getParentRenderProps(self),
194
+ drawCigar: self.drawCigar,
195
+ highResolutionScaling: getConf(session, 'highResolutionScaling'),
196
+ };
197
+ },
198
+ }))
199
+ .actions(self => ({
200
+ /**
201
+ * #action
202
+ */
203
+ setShowPanButtons(flag) {
204
+ self.showPanButtons = flag;
205
+ },
206
+ /**
207
+ * #action
208
+ */
209
+ setWheelMode(str) {
210
+ self.wheelMode = str;
211
+ },
212
+ /**
213
+ * #action
214
+ */
215
+ setCursorMode(str) {
216
+ self.cursorMode = str;
217
+ },
218
+ /**
219
+ * #action
220
+ */
221
+ setDrawCigar(flag) {
222
+ self.drawCigar = flag;
223
+ },
224
+ /**
225
+ * #action
226
+ * returns to the import form
227
+ */
228
+ clearView() {
229
+ self.hview.setDisplayedRegions([]);
230
+ self.vview.setDisplayedRegions([]);
231
+ self.assemblyNames = cast([]);
232
+ self.tracks.clear();
233
+ },
234
+ /**
235
+ * #action
236
+ */
237
+ setBorderX(n) {
238
+ self.borderX = n;
239
+ },
240
+ /**
241
+ * #action
242
+ */
243
+ setBorderY(n) {
244
+ self.borderY = n;
245
+ },
246
+ /**
247
+ * #action
248
+ */
249
+ setWidth(newWidth) {
250
+ self.volatileWidth = newWidth;
251
+ return self.volatileWidth;
252
+ },
253
+ /**
254
+ * #action
255
+ */
256
+ setHeight(newHeight) {
257
+ self.height = newHeight;
258
+ return self.height;
259
+ },
260
+ /**
261
+ * #action
262
+ */
263
+ setError(e) {
264
+ self.volatileError = e;
265
+ },
266
+ /**
267
+ * #action
268
+ * removes the view itself from the state tree entirely by calling the
269
+ * parent removeView
270
+ */
271
+ closeView() {
272
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
273
+ getParent(self, 2).removeView(self);
274
+ },
275
+ /**
276
+ * #action
277
+ */
278
+ zoomOutButton() {
279
+ self.hview.zoomOut();
280
+ self.vview.zoomOut();
281
+ },
282
+ /**
283
+ * #action
284
+ */
285
+ zoomInButton() {
286
+ self.hview.zoomIn();
287
+ self.vview.zoomIn();
288
+ },
289
+ /**
290
+ * #action
291
+ */
292
+ activateTrackSelector() {
293
+ if (self.trackSelectorType === 'hierarchical') {
294
+ const session = getSession(self);
295
+ if (isSessionModelWithWidgets(session)) {
296
+ const selector = session.addWidget('HierarchicalTrackSelectorWidget', 'hierarchicalTrackSelector', { view: self });
297
+ session.showWidget(selector);
298
+ return selector;
299
+ }
300
+ }
301
+ throw new Error(`invalid track selector type ${self.trackSelectorType}`);
302
+ },
303
+ /**
304
+ * #action
305
+ */
306
+ showTrack(trackId, initialSnapshot = {}) {
307
+ const schema = pm.pluggableConfigSchemaType('track');
308
+ const conf = resolveIdentifier(schema, getRoot(self), trackId);
309
+ const trackType = pm.getTrackType(conf.type);
310
+ if (!trackType) {
311
+ throw new Error(`unknown track type ${conf.type}`);
312
+ }
313
+ const viewType = pm.getViewType(self.type);
314
+ const displayConf = conf.displays.find((d) => viewType.displayTypes.find(type => type.name === d.type));
315
+ if (!displayConf) {
316
+ throw new Error(`could not find a compatible display for view type ${self.type}`);
317
+ }
318
+ const track = trackType.stateModel.create({
319
+ ...initialSnapshot,
320
+ type: conf.type,
321
+ configuration: conf,
322
+ displays: [{ type: displayConf.type, configuration: displayConf }],
323
+ });
324
+ self.tracks.push(track);
325
+ },
326
+ /**
327
+ * #action
328
+ */
329
+ hideTrack(trackId) {
330
+ const schema = pm.pluggableConfigSchemaType('track');
331
+ const conf = resolveIdentifier(schema, getRoot(self), trackId);
332
+ const t = self.tracks.filter(t => t.configuration === conf);
333
+ transaction(() => t.forEach(t => self.tracks.remove(t)));
334
+ return t.length;
335
+ },
336
+ /**
337
+ * #action
338
+ */
339
+ toggleTrack(trackId) {
340
+ const hiddenCount = this.hideTrack(trackId);
341
+ if (!hiddenCount) {
342
+ this.showTrack(trackId);
343
+ }
344
+ },
345
+ /**
346
+ * #action
347
+ */
348
+ setAssemblyNames(target, query) {
349
+ self.assemblyNames = cast([target, query]);
350
+ },
351
+ /**
352
+ * #action
353
+ */
354
+ setViews(arr) {
355
+ self.hview = cast(arr[0]);
356
+ self.vview = cast(arr[1]);
357
+ },
358
+ /**
359
+ * #action
360
+ */
361
+ getCoords(mousedown, mouseup) {
362
+ const [xmin, xmax] = minmax(mouseup[0], mousedown[0]);
363
+ const [ymin, ymax] = minmax(mouseup[1], mousedown[1]);
364
+ return Math.abs(xmax - xmin) > 3 && Math.abs(ymax - ymin) > 3
365
+ ? [
366
+ self.hview.pxToBp(xmin),
367
+ self.hview.pxToBp(xmax),
368
+ self.vview.pxToBp(self.viewHeight - ymin),
369
+ self.vview.pxToBp(self.viewHeight - ymax),
370
+ ]
371
+ : undefined;
372
+ },
373
+ /**
374
+ * #action
375
+ * zooms into clicked and dragged region
376
+ */
377
+ zoomIn(mousedown, mouseup) {
378
+ const result = this.getCoords(mousedown, mouseup);
379
+ if (result) {
380
+ const [x1, x2, y1, y2] = result;
381
+ self.hview.moveTo(x1, x2);
382
+ self.vview.moveTo(y2, y1);
383
+ }
384
+ },
385
+ /**
386
+ * #action
387
+ */
388
+ showAllRegions() {
389
+ self.hview.zoomTo(self.hview.maxBpPerPx);
390
+ self.vview.zoomTo(self.vview.maxBpPerPx);
391
+ self.vview.center();
392
+ self.hview.center();
393
+ },
394
+ /**
395
+ * #action
396
+ * creates a linear synteny view from the clicked and dragged region
397
+ */
398
+ onDotplotView(mousedown, mouseup) {
399
+ const result = this.getCoords(mousedown, mouseup);
400
+ if (result) {
401
+ const [x1, x2, y1, y2] = result;
402
+ const session = getSession(self);
403
+ const d1 = Dotplot1DView.create({
404
+ ...getSnapshot(self.hview),
405
+ minimumBlockWidth: 0,
406
+ interRegionPaddingWidth: 0,
407
+ });
408
+ const d2 = Dotplot1DView.create({
409
+ ...getSnapshot(self.vview),
410
+ minimumBlockWidth: 0,
411
+ interRegionPaddingWidth: 0,
412
+ });
413
+ d1.setVolatileWidth(self.hview.width);
414
+ d2.setVolatileWidth(self.vview.width);
415
+ d1.moveTo(x1, x2);
416
+ d2.moveTo(y2, y1);
417
+ d1.zoomTo(d1.bpPerPx / (self.width / self.hview.width), 0);
418
+ d2.zoomTo(d2.bpPerPx / (self.width / self.vview.width), 0);
419
+ // add the specific evidence tracks to the LGVs in the split view
420
+ // note: scales the bpPerPx by scaling proportional of the dotplot
421
+ // width to the eventual lgv width
422
+ const tracks = self.tracks
423
+ .map(track => track.configuration.displays.find((display) => display.type === 'LinearSyntenyDisplay'))
424
+ .filter(f => !!f)
425
+ .map(displayConf => {
426
+ const trackConf = getParent(displayConf, 2);
427
+ return {
428
+ type: trackConf.type,
429
+ configuration: trackConf,
430
+ displays: [
431
+ { type: displayConf.type, configuration: displayConf },
432
+ ],
433
+ };
434
+ });
435
+ const { id: _unused1, ...rest1 } = getSnapshot(d1);
436
+ const { id: _unused2, ...rest2 } = getSnapshot(d2);
437
+ const viewSnapshot = {
438
+ type: 'LinearSyntenyView',
439
+ views: [
440
+ {
441
+ type: 'LinearGenomeView',
442
+ tracks: [],
443
+ hideHeader: true,
444
+ ...rest1,
445
+ },
446
+ {
447
+ type: 'LinearGenomeView',
448
+ tracks: [],
449
+ hideHeader: true,
450
+ ...rest2,
451
+ },
452
+ ],
453
+ tracks,
454
+ };
455
+ session.addView('LinearSyntenyView', viewSnapshot);
456
+ }
457
+ },
458
+ }))
459
+ .actions(self => ({
460
+ /**
461
+ * #action
462
+ * creates an svg export and save using FileSaver
463
+ */
464
+ async exportSvg(opts = {}) {
465
+ const { renderToSvg } = await import('./svgcomponents/SVGDotplotView');
466
+ const html = await renderToSvg(self, opts);
467
+ const blob = new Blob([html], { type: 'image/svg+xml' });
468
+ saveAs(blob, opts.filename || 'image.svg');
469
+ },
470
+ // if any of our assemblies are temporary assemblies
471
+ beforeDestroy() {
472
+ const session = getSession(self);
473
+ self.assemblyNames.forEach(asm => session.removeTemporaryAssembly(asm));
474
+ },
475
+ afterAttach() {
476
+ addDisposer(self, autorun(() => {
477
+ const s = (s) => JSON.stringify(s);
478
+ const { showPanButtons, wheelMode, cursorMode } = self;
479
+ if (typeof localStorage !== 'undefined') {
480
+ localStorage.setItem('dotplot-showPanbuttons', s(showPanButtons));
481
+ localStorage.setItem('dotplot-cursorMode', cursorMode);
482
+ localStorage.setItem('dotplot-wheelMode', wheelMode);
483
+ }
484
+ }));
485
+ addDisposer(self, autorun(() => {
486
+ const session = getSession(self);
487
+ // don't operate if width not set yet
488
+ if (self.volatileWidth === undefined ||
489
+ !self.assembliesInitialized) {
490
+ return;
491
+ }
492
+ // also don't operate if displayedRegions already set, this is a
493
+ // helper autorun to load regions from assembly
494
+ if (self.hview.displayedRegions.length > 0 &&
495
+ self.vview.displayedRegions.length > 0) {
496
+ return;
497
+ }
498
+ const views = [self.hview, self.vview];
499
+ transaction(() => {
500
+ self.assemblyNames.forEach((name, index) => {
501
+ const assembly = session.assemblyManager.get(name);
502
+ const view = views[index];
503
+ view.setDisplayedRegions((assembly === null || assembly === void 0 ? void 0 : assembly.regions) || []);
504
+ });
505
+ self.showAllRegions();
506
+ });
507
+ }, { delay: 1000 }));
508
+ addDisposer(self, autorun(function borderSetter() {
509
+ // make sure we have a width on the view before trying to load
510
+ if (self.volatileWidth === undefined) {
511
+ return;
512
+ }
513
+ const { vview, hview, viewHeight, viewWidth } = self;
514
+ const padding = 40;
515
+ const vblocks = vview.dynamicBlocks.contentBlocks;
516
+ const hblocks = hview.dynamicBlocks.contentBlocks;
517
+ const hoffset = hview.offsetPx;
518
+ const voffset = vview.offsetPx;
519
+ const vhide = getBlockLabelKeysToHide(vblocks, viewHeight, voffset);
520
+ const hhide = getBlockLabelKeysToHide(hblocks, viewWidth, hoffset);
521
+ const len = (a) => measureText(a.slice(0, 30));
522
+ const by = max(hblocks.filter(b => !hhide.has(b.key)).map(b => len(b.refName)));
523
+ const bx = max(vblocks.filter(b => !vhide.has(b.key)).map(b => len(b.refName)));
524
+ // these are set via autorun to avoid dependency cycle
525
+ self.setBorderY(Math.max(by + padding, 50));
526
+ self.setBorderX(Math.max(bx + padding, 50));
527
+ }));
528
+ },
529
+ /**
530
+ * #action
531
+ */
532
+ squareView() {
533
+ const { hview, vview } = self;
534
+ const avg = (hview.bpPerPx + vview.bpPerPx) / 2;
535
+ const hpx = hview.pxToBp(hview.width / 2);
536
+ const vpx = vview.pxToBp(vview.width / 2);
537
+ hview.setBpPerPx(avg);
538
+ hview.centerAt(hpx.coord, hpx.refName, hpx.index);
539
+ vview.setBpPerPx(avg);
540
+ vview.centerAt(vpx.coord, vpx.refName, vpx.index);
541
+ },
542
+ /**
543
+ * #action
544
+ */
545
+ squareViewProportional() {
546
+ const { hview, vview } = self;
547
+ const ratio = hview.width / vview.width;
548
+ const avg = (hview.bpPerPx + vview.bpPerPx) / 2;
549
+ const hpx = hview.pxToBp(hview.width / 2);
550
+ const vpx = vview.pxToBp(vview.width / 2);
551
+ hview.setBpPerPx(avg / ratio);
552
+ hview.centerAt(hpx.coord, hpx.refName, hpx.index);
553
+ vview.setBpPerPx(avg);
554
+ vview.centerAt(vpx.coord, vpx.refName, vpx.index);
555
+ },
556
+ }))
557
+ .views(self => ({
558
+ /**
559
+ * #method
560
+ */
561
+ menuItems() {
562
+ const session = getSession(self);
563
+ return [
564
+ {
565
+ label: 'Return to import form',
566
+ onClick: () => {
567
+ getSession(self).queueDialog(handleClose => [
568
+ ReturnToImportFormDialog,
569
+ { model: self, handleClose },
570
+ ]);
571
+ },
572
+ icon: FolderOpenIcon,
573
+ },
574
+ {
575
+ label: 'Square view - same bp per pixel',
576
+ onClick: () => self.squareView(),
577
+ },
578
+ {
579
+ label: 'Rectangular view - same total bp',
580
+ onClick: () => self.squareView(),
581
+ },
582
+ {
583
+ label: 'Show all regions',
584
+ onClick: () => self.showAllRegions(),
585
+ },
586
+ {
587
+ label: 'Export SVG',
588
+ icon: PhotoCameraIcon,
589
+ onClick: () => {
590
+ getSession(self).queueDialog(handleClose => [
591
+ ExportSvgDialog,
592
+ { model: self, handleClose },
593
+ ]);
594
+ },
595
+ },
596
+ ...(isSessionModelWithWidgets(session)
597
+ ? [
598
+ {
599
+ label: 'Open track selector',
600
+ onClick: self.activateTrackSelector,
601
+ icon: TrackSelectorIcon,
602
+ },
603
+ ]
604
+ : []),
605
+ ];
606
+ },
607
+ /**
608
+ * #getter
609
+ */
610
+ get error() {
611
+ return self.volatileError || self.assemblyErrors;
612
+ },
613
+ }));
614
+ }
615
+ export { Dotplot1DView } from './1dview';
616
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/DotplotView/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export default function SVGBackground({ width, height, }: {
3
+ width: number;
4
+ height: number;
5
+ }): React.JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { useTheme } from '@mui/material';
3
+ export default function SVGBackground({ width, height, }) {
4
+ const theme = useTheme();
5
+ return (React.createElement("rect", { x: 0, y: 0, width: width, height: height, fill: theme.palette.background.default }));
6
+ }
7
+ //# sourceMappingURL=SVGBackground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGBackground.js","sourceRoot":"","sources":["../../../src/DotplotView/svgcomponents/SVGBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,KAAK,EACL,MAAM,GAIP;IACC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,8BACE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,GACtC,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DotplotViewModel, ExportSvgOptions } from '../model';
2
+ export declare function renderToSvg(model: DotplotViewModel, opts: ExportSvgOptions): Promise<string>;