@jbrowse/plugin-linear-genome-view 1.7.9 → 2.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 (272) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -5
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +118 -226
  3. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  4. package/dist/BaseLinearDisplay/components/Block.js +53 -74
  5. package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
  6. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
  8. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +145 -175
  10. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  11. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  12. package/dist/BaseLinearDisplay/components/Tooltip.js +118 -0
  13. package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  14. package/dist/BaseLinearDisplay/index.js +13 -40
  15. package/dist/BaseLinearDisplay/index.js.map +1 -0
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +20 -15
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -683
  18. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  19. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
  20. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  21. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
  22. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
  23. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  24. package/dist/LinearBareDisplay/configSchema.js +11 -17
  25. package/dist/LinearBareDisplay/configSchema.js.map +1 -0
  26. package/dist/LinearBareDisplay/index.js +7 -20
  27. package/dist/LinearBareDisplay/index.js.map +1 -0
  28. package/dist/LinearBareDisplay/model.d.ts +16 -14
  29. package/dist/LinearBareDisplay/model.js +36 -42
  30. package/dist/LinearBareDisplay/model.js.map +1 -0
  31. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  32. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
  33. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  34. package/dist/LinearBasicDisplay/configSchema.js +15 -23
  35. package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
  36. package/dist/LinearBasicDisplay/index.js +10 -22
  37. package/dist/LinearBasicDisplay/index.js.map +1 -0
  38. package/dist/LinearBasicDisplay/model.d.ts +20 -15
  39. package/dist/LinearBasicDisplay/model.js +180 -159
  40. package/dist/LinearBasicDisplay/model.js.map +1 -0
  41. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
  42. package/dist/LinearGenomeView/components/CenterLine.js +60 -74
  43. package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
  44. package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
  45. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  46. package/dist/LinearGenomeView/components/Header.js +70 -123
  47. package/dist/LinearGenomeView/components/Header.js.map +1 -0
  48. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  49. package/dist/LinearGenomeView/components/HelpDialog.js +62 -45
  50. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
  51. package/dist/LinearGenomeView/components/ImportForm.js +223 -320
  52. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
  53. package/dist/LinearGenomeView/components/LinearGenomeView.js +64 -120
  54. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  55. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
  56. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  57. package/dist/LinearGenomeView/components/MiniControls.js +64 -78
  58. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
  59. package/dist/LinearGenomeView/components/OverviewRubberBand.js +226 -293
  60. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  61. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +24 -8
  62. package/dist/LinearGenomeView/components/OverviewScaleBar.js +277 -365
  63. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  64. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
  65. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
  66. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  67. package/dist/LinearGenomeView/components/RubberBand.js +229 -296
  68. package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
  69. package/dist/LinearGenomeView/components/Ruler.js +45 -90
  70. package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
  71. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -399
  72. package/dist/LinearGenomeView/components/ScaleBar.js +121 -167
  73. package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
  74. package/dist/LinearGenomeView/components/SearchBox.js +158 -205
  75. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
  76. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
  77. package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -150
  78. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  79. package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
  80. package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  81. package/dist/LinearGenomeView/components/TrackContainer.js +116 -156
  82. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
  83. package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
  84. package/dist/LinearGenomeView/components/TrackLabel.js +115 -150
  85. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
  86. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  87. package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
  88. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
  89. package/dist/LinearGenomeView/components/VerticalGuides.d.ts +2 -3
  90. package/dist/LinearGenomeView/components/VerticalGuides.js +66 -104
  91. package/dist/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  92. package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
  93. package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
  94. package/dist/LinearGenomeView/components/util.d.ts +12 -0
  95. package/dist/LinearGenomeView/components/util.js +95 -13
  96. package/dist/LinearGenomeView/components/util.js.map +1 -0
  97. package/dist/LinearGenomeView/index.d.ts +6 -11
  98. package/dist/LinearGenomeView/index.js +1163 -1387
  99. package/dist/LinearGenomeView/index.js.map +1 -0
  100. package/dist/LinearGenomeView/util.js +76 -83
  101. package/dist/LinearGenomeView/util.js.map +1 -0
  102. package/dist/index.d.ts +101 -51
  103. package/dist/index.js +225 -284
  104. package/dist/index.js.map +1 -0
  105. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
  106. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
  107. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  108. package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
  109. package/esm/BaseLinearDisplay/components/Block.js +46 -0
  110. package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
  111. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
  112. package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
  113. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  114. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
  115. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +113 -0
  116. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  117. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  118. package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
  119. package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  120. package/esm/BaseLinearDisplay/index.d.ts +5 -0
  121. package/esm/BaseLinearDisplay/index.js +4 -0
  122. package/esm/BaseLinearDisplay/index.js.map +1 -0
  123. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
  124. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
  125. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  126. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
  127. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
  128. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  129. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
  130. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
  131. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  132. package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
  133. package/esm/LinearBareDisplay/configSchema.js +9 -0
  134. package/esm/LinearBareDisplay/configSchema.js.map +1 -0
  135. package/esm/LinearBareDisplay/index.d.ts +2 -0
  136. package/esm/LinearBareDisplay/index.js +3 -0
  137. package/esm/LinearBareDisplay/index.js.map +1 -0
  138. package/esm/LinearBareDisplay/model.d.ts +194 -0
  139. package/esm/LinearBareDisplay/model.js +28 -0
  140. package/esm/LinearBareDisplay/model.js.map +1 -0
  141. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
  142. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
  143. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  144. package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
  145. package/esm/LinearBasicDisplay/configSchema.js +14 -0
  146. package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
  147. package/esm/LinearBasicDisplay/index.d.ts +2 -0
  148. package/esm/LinearBasicDisplay/index.js +3 -0
  149. package/esm/LinearBasicDisplay/index.js.map +1 -0
  150. package/esm/LinearBasicDisplay/model.d.ts +218 -0
  151. package/esm/LinearBasicDisplay/model.js +127 -0
  152. package/esm/LinearBasicDisplay/model.js.map +1 -0
  153. package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
  154. package/esm/LinearGenomeView/components/CenterLine.js +40 -0
  155. package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
  156. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
  157. package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
  158. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  159. package/esm/LinearGenomeView/components/Header.d.ts +7 -0
  160. package/esm/LinearGenomeView/components/Header.js +81 -0
  161. package/esm/LinearGenomeView/components/Header.js.map +1 -0
  162. package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
  163. package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
  164. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
  165. package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
  166. package/esm/LinearGenomeView/components/ImportForm.js +141 -0
  167. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
  168. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
  169. package/esm/LinearGenomeView/components/LinearGenomeView.js +67 -0
  170. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  171. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
  172. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
  173. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  174. package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
  175. package/esm/LinearGenomeView/components/MiniControls.js +25 -0
  176. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
  177. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
  178. package/esm/LinearGenomeView/components/OverviewRubberBand.js +194 -0
  179. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  180. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
  181. package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
  182. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  183. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
  184. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
  185. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  186. package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
  187. package/esm/LinearGenomeView/components/RubberBand.js +198 -0
  188. package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
  189. package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
  190. package/esm/LinearGenomeView/components/Ruler.js +50 -0
  191. package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
  192. package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
  193. package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
  194. package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
  195. package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
  196. package/esm/LinearGenomeView/components/SearchBox.js +94 -0
  197. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
  198. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
  199. package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
  200. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  201. package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
  202. package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
  203. package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  204. package/esm/LinearGenomeView/components/TrackContainer.d.ts +9 -0
  205. package/esm/LinearGenomeView/components/TrackContainer.js +109 -0
  206. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
  207. package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
  208. package/esm/LinearGenomeView/components/TrackLabel.js +89 -0
  209. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
  210. package/esm/LinearGenomeView/components/TracksContainer.d.ts +10 -0
  211. package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
  212. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
  213. package/esm/LinearGenomeView/components/VerticalGuides.d.ts +8 -0
  214. package/esm/LinearGenomeView/components/VerticalGuides.js +71 -0
  215. package/esm/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  216. package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
  217. package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
  218. package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
  219. package/esm/LinearGenomeView/components/util.d.ts +14 -0
  220. package/esm/LinearGenomeView/components/util.js +17 -0
  221. package/esm/LinearGenomeView/components/util.js.map +1 -0
  222. package/esm/LinearGenomeView/index.d.ts +288 -0
  223. package/esm/LinearGenomeView/index.js +1124 -0
  224. package/esm/LinearGenomeView/index.js.map +1 -0
  225. package/esm/LinearGenomeView/util.d.ts +14 -0
  226. package/esm/LinearGenomeView/util.js +62 -0
  227. package/esm/LinearGenomeView/util.js.map +1 -0
  228. package/esm/index.d.ts +615 -0
  229. package/esm/index.js +127 -0
  230. package/esm/index.js.map +1 -0
  231. package/package.json +21 -13
  232. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +6 -90
  233. package/src/BaseLinearDisplay/components/Block.tsx +5 -5
  234. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
  235. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +7 -8
  236. package/src/BaseLinearDisplay/components/Tooltip.tsx +107 -0
  237. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +16 -8
  238. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  239. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
  240. package/src/LinearBasicDisplay/model.ts +21 -15
  241. package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
  242. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
  243. package/src/LinearGenomeView/components/Header.tsx +12 -16
  244. package/src/LinearGenomeView/components/HelpDialog.tsx +10 -9
  245. package/src/LinearGenomeView/components/ImportForm.tsx +24 -37
  246. package/src/LinearGenomeView/components/LinearGenomeView.test.js +18 -8
  247. package/src/LinearGenomeView/components/LinearGenomeView.tsx +20 -13
  248. package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
  249. package/src/LinearGenomeView/components/OverviewRubberBand.tsx +6 -10
  250. package/src/LinearGenomeView/components/OverviewScaleBar.tsx +103 -93
  251. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
  252. package/src/LinearGenomeView/components/RubberBand.tsx +12 -17
  253. package/src/LinearGenomeView/components/Ruler.tsx +5 -11
  254. package/src/LinearGenomeView/components/ScaleBar.tsx +27 -34
  255. package/src/LinearGenomeView/components/SearchBox.tsx +22 -32
  256. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -7
  257. package/src/LinearGenomeView/components/SequenceDialog.tsx +9 -9
  258. package/src/LinearGenomeView/components/TrackContainer.tsx +12 -12
  259. package/src/LinearGenomeView/components/TrackLabel.tsx +37 -50
  260. package/src/LinearGenomeView/components/TracksContainer.tsx +8 -13
  261. package/src/LinearGenomeView/components/VerticalGuides.tsx +9 -11
  262. package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
  263. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +504 -568
  264. package/src/LinearGenomeView/components/util.ts +43 -0
  265. package/src/LinearGenomeView/index.test.ts +21 -5
  266. package/src/LinearGenomeView/index.tsx +101 -88
  267. package/src/index.ts +36 -31
  268. package/dist/LinearBareDisplay/index.test.js +0 -33
  269. package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
  270. package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
  271. package/dist/LinearGenomeView/index.test.js +0 -1170
  272. package/dist/LinearGenomeView/util.test.js +0 -78
@@ -1,349 +1,210 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.renderToSvg = renderToSvg;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
- var _server = require("react-dom/server");
19
-
20
- var _mobx = require("mobx");
21
-
22
- var _mobxStateTree = require("mobx-state-tree");
23
-
24
- var _configuration = require("@jbrowse/core/configuration");
25
-
26
- var _util = require("@jbrowse/core/util");
27
-
28
- var _Base1DViewModel = _interopRequireDefault(require("@jbrowse/core/util/Base1DViewModel"));
29
-
30
- var _Ruler = _interopRequireDefault(require("./Ruler"));
31
-
32
- var _ = require("..");
33
-
34
- var _OverviewScaleBar = require("./OverviewScaleBar");
35
-
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
-
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
-
40
- function ScaleBar(_ref) {
41
- var model = _ref.model,
42
- fontSize = _ref.fontSize;
43
- var offsetPx = model.offsetPx,
44
- _model$dynamicBlocks = model.dynamicBlocks,
45
- totalWidthPx = _model$dynamicBlocks.totalWidthPxWithoutBorders,
46
- totalBp = _model$dynamicBlocks.totalBp;
47
- var displayBp = (0, _util.getBpDisplayStr)(totalBp);
48
- var x0 = Math.max(-offsetPx, 0);
49
- var x1 = x0 + totalWidthPx;
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("line", {
51
- x1: x0,
52
- x2: x1,
53
- y1: 10,
54
- y2: 10,
55
- stroke: "black"
56
- }), /*#__PURE__*/_react.default.createElement("line", {
57
- x1: x0,
58
- x2: x0,
59
- y1: 5,
60
- y2: 15,
61
- stroke: "black"
62
- }), /*#__PURE__*/_react.default.createElement("line", {
63
- x1: x1,
64
- x2: x1,
65
- y1: 5,
66
- y2: 15,
67
- stroke: "black"
68
- }), /*#__PURE__*/_react.default.createElement("text", {
69
- x: x0 + (x1 - x0) / 2,
70
- y: fontSize * 2,
71
- textAnchor: "middle",
72
- fontSize: fontSize
73
- }, displayBp));
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.renderToSvg = void 0;
54
+ var react_1 = __importDefault(require("react"));
55
+ var server_1 = require("react-dom/server");
56
+ var mobx_1 = require("mobx");
57
+ var mobx_state_tree_1 = require("mobx-state-tree");
58
+ var configuration_1 = require("@jbrowse/core/configuration");
59
+ var util_1 = require("@jbrowse/core/util");
60
+ var Base1DViewModel_1 = __importDefault(require("@jbrowse/core/util/Base1DViewModel"));
61
+ // locals
62
+ var Ruler_1 = __importDefault(require("./Ruler"));
63
+ var __1 = require("..");
64
+ var OverviewScaleBar_1 = require("./OverviewScaleBar");
65
+ function ScaleBar(_a) {
66
+ var model = _a.model, fontSize = _a.fontSize;
67
+ var offsetPx = model.offsetPx, _b = model.dynamicBlocks, totalWidthPx = _b.totalWidthPxWithoutBorders, totalBp = _b.totalBp;
68
+ var displayBp = (0, util_1.getBpDisplayStr)(totalBp);
69
+ var x0 = Math.max(-offsetPx, 0);
70
+ var x1 = x0 + totalWidthPx;
71
+ return (react_1.default.createElement(react_1.default.Fragment, null,
72
+ react_1.default.createElement("line", { x1: x0, x2: x1, y1: 10, y2: 10, stroke: "black" }),
73
+ react_1.default.createElement("line", { x1: x0, x2: x0, y1: 5, y2: 15, stroke: "black" }),
74
+ react_1.default.createElement("line", { x1: x1, x2: x1, y1: 5, y2: 15, stroke: "black" }),
75
+ react_1.default.createElement("text", { x: x0 + (x1 - x0) / 2, y: fontSize * 2, textAnchor: "middle", fontSize: fontSize }, displayBp)));
74
76
  }
75
-
76
- function SVGRuler(_ref2) {
77
- var model = _ref2.model,
78
- fontSize = _ref2.fontSize,
79
- width = _ref2.width;
80
- var contentBlocks = model.dynamicBlocks.contentBlocks,
81
- viewOffsetPx = model.offsetPx,
82
- bpPerPx = model.bpPerPx;
83
- var renderRuler = contentBlocks.length < 5;
84
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
85
- id: "clip-ruler"
86
- }, /*#__PURE__*/_react.default.createElement("rect", {
87
- x: 0,
88
- y: 0,
89
- width: width,
90
- height: 20
91
- }))), contentBlocks.map(function (block) {
92
- var key = block.key,
93
- start = block.start,
94
- end = block.end,
95
- reversed = block.reversed,
96
- offsetPx = block.offsetPx,
97
- refName = block.refName;
98
- var offsetLeft = offsetPx - viewOffsetPx;
99
- return /*#__PURE__*/_react.default.createElement("g", {
100
- key: "".concat(key),
101
- transform: "translate(".concat(offsetLeft, " 0)")
102
- }, /*#__PURE__*/_react.default.createElement("text", {
103
- x: offsetLeft / bpPerPx,
104
- y: fontSize,
105
- fontSize: fontSize
106
- }, refName), renderRuler ? /*#__PURE__*/_react.default.createElement("g", {
107
- transform: "translate(0 20)",
108
- clipPath: "url(#clip-ruler)"
109
- }, /*#__PURE__*/_react.default.createElement(_Ruler.default, {
110
- start: start,
111
- end: end,
112
- bpPerPx: bpPerPx,
113
- reversed: reversed
114
- })) : /*#__PURE__*/_react.default.createElement("line", {
115
- strokeWidth: 1,
116
- stroke: "black",
117
- x1: start / bpPerPx,
118
- x2: end / bpPerPx,
119
- y1: 20,
120
- y2: 20
121
- }));
122
- }));
77
+ function SVGRuler(_a) {
78
+ var model = _a.model, fontSize = _a.fontSize, width = _a.width;
79
+ var contentBlocks = model.dynamicBlocks.contentBlocks, viewOffsetPx = model.offsetPx, bpPerPx = model.bpPerPx;
80
+ var renderRuler = contentBlocks.length < 5;
81
+ return (react_1.default.createElement(react_1.default.Fragment, null,
82
+ react_1.default.createElement("defs", null,
83
+ react_1.default.createElement("clipPath", { id: "clip-ruler" },
84
+ react_1.default.createElement("rect", { x: 0, y: 0, width: width, height: 20 }))),
85
+ contentBlocks.map(function (block) {
86
+ var key = block.key, start = block.start, end = block.end, reversed = block.reversed, offsetPx = block.offsetPx, refName = block.refName;
87
+ var offsetLeft = offsetPx - viewOffsetPx;
88
+ return (react_1.default.createElement("g", { key: "".concat(key), transform: "translate(".concat(offsetLeft, " 0)") },
89
+ react_1.default.createElement("text", { x: offsetLeft / bpPerPx, y: fontSize, fontSize: fontSize }, refName),
90
+ renderRuler ? (react_1.default.createElement("g", { transform: "translate(0 20)", clipPath: "url(#clip-ruler)" },
91
+ react_1.default.createElement(Ruler_1.default, { start: start, end: end, bpPerPx: bpPerPx, reversed: reversed }))) : (react_1.default.createElement("line", { strokeWidth: 1, stroke: "black", x1: start / bpPerPx, x2: end / bpPerPx, y1: 20, y2: 20 }))));
92
+ })));
123
93
  }
124
-
125
94
  var fontSize = 15;
126
95
  var rulerHeight = 50;
127
96
  var textHeight = fontSize + 5;
128
97
  var paddingHeight = 20;
129
98
  var headerHeight = textHeight + 20;
130
99
  var cytobandHeightIfExists = 100;
131
-
132
- var totalHeight = function totalHeight(tracks) {
133
- return tracks.reduce(function (accum, track) {
134
- var display = track.displays[0];
135
- return accum + display.height + paddingHeight + textHeight;
136
- }, 0);
137
- }; // SVG component, ruler and assembly name
138
-
139
-
140
- var SVGHeader = function SVGHeader(_ref3) {
141
- var model = _ref3.model;
142
- var width = model.width,
143
- assemblyNames = model.assemblyNames,
144
- showCytobands = model.showCytobands,
145
- displayedRegions = model.displayedRegions;
146
-
147
- var _getSession = (0, _util.getSession)(model),
148
- assemblyManager = _getSession.assemblyManager;
149
-
150
- var assemblyName = assemblyNames.length > 1 ? '' : assemblyNames[0];
151
- var assembly = assemblyManager.get(assemblyName);
152
-
153
- var overview = _Base1DViewModel.default.create({
154
- displayedRegions: JSON.parse(JSON.stringify(displayedRegions)),
155
- interRegionPaddingWidth: 0,
156
- minimumBlockWidth: model.minimumBlockWidth
157
- });
158
-
159
- var visibleRegions = model.dynamicBlocks.contentBlocks;
160
- overview.setVolatileWidth(width);
161
- overview.showAllRegions();
162
- var block = overview.dynamicBlocks.contentBlocks[0];
163
- var first = visibleRegions[0];
164
- var firstOverviewPx = overview.bpToPx(_objectSpread(_objectSpread({}, first), {}, {
165
- coord: first.reversed ? first.end : first.start
166
- })) || 0;
167
- var last = visibleRegions[visibleRegions.length - 1];
168
- var lastOverviewPx = overview.bpToPx(_objectSpread(_objectSpread({}, last), {}, {
169
- coord: last.reversed ? last.start : last.end
170
- })) || 0;
171
- var cytobandHeight = showCytobands ? cytobandHeightIfExists : 0;
172
- return /*#__PURE__*/_react.default.createElement("g", {
173
- id: "header"
174
- }, /*#__PURE__*/_react.default.createElement("text", {
175
- x: 0,
176
- y: fontSize,
177
- fontSize: fontSize
178
- }, assemblyName), showCytobands ? /*#__PURE__*/_react.default.createElement("g", {
179
- transform: "translate(0 ".concat(rulerHeight, ")")
180
- }, /*#__PURE__*/_react.default.createElement(_OverviewScaleBar.Cytobands, {
181
- overview: overview,
182
- assembly: assembly,
183
- block: block
184
- }), /*#__PURE__*/_react.default.createElement("rect", {
185
- stroke: "red",
186
- fill: "rgb(255,0,0,0.1)",
187
- width: Math.max(lastOverviewPx - firstOverviewPx, 0.5),
188
- height: _.HEADER_OVERVIEW_HEIGHT - 1,
189
- x: firstOverviewPx,
190
- y: 0.5
191
- }), /*#__PURE__*/_react.default.createElement("g", {
192
- transform: "translate(0,".concat(_.HEADER_OVERVIEW_HEIGHT, ")")
193
- }, /*#__PURE__*/_react.default.createElement(_OverviewScaleBar.Polygon, {
194
- overview: overview,
195
- model: model,
196
- useOffset: false
197
- }))) : null, /*#__PURE__*/_react.default.createElement("g", {
198
- transform: "translate(0 ".concat(fontSize + cytobandHeight, ")")
199
- }, /*#__PURE__*/_react.default.createElement(ScaleBar, {
200
- model: model,
201
- fontSize: fontSize
202
- })), /*#__PURE__*/_react.default.createElement("g", {
203
- transform: "translate(0 ".concat(rulerHeight + cytobandHeight, ")")
204
- }, /*#__PURE__*/_react.default.createElement(SVGRuler, {
205
- model: model,
206
- fontSize: fontSize,
207
- width: width
208
- })));
209
- }; // SVG component, region separator
210
-
211
-
212
- var SVGRegionSeparators = function SVGRegionSeparators(_ref4) {
213
- var model = _ref4.model,
214
- height = _ref4.height;
215
- var dynamicBlocks = model.dynamicBlocks,
216
- offsetPx = model.offsetPx,
217
- interRegionPaddingWidth = model.interRegionPaddingWidth;
218
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, dynamicBlocks.contentBlocks.slice(1).map(function (block) {
219
- return /*#__PURE__*/_react.default.createElement("rect", {
220
- key: block.key,
221
- x: block.offsetPx - offsetPx - interRegionPaddingWidth,
222
- width: interRegionPaddingWidth,
223
- y: 0,
224
- height: height,
225
- stroke: "none",
226
- fill: "grey"
100
+ var totalHeight = function (tracks) {
101
+ return tracks.reduce(function (accum, track) {
102
+ var display = track.displays[0];
103
+ return accum + display.height + paddingHeight + textHeight;
104
+ }, 0);
105
+ };
106
+ // SVG component, ruler and assembly name
107
+ var SVGHeader = function (_a) {
108
+ var model = _a.model;
109
+ var width = model.width, assemblyNames = model.assemblyNames, showCytobands = model.showCytobands, displayedRegions = model.displayedRegions;
110
+ var assemblyManager = (0, util_1.getSession)(model).assemblyManager;
111
+ var assemblyName = assemblyNames.length > 1 ? '' : assemblyNames[0];
112
+ var assembly = assemblyManager.get(assemblyName);
113
+ var overview = Base1DViewModel_1.default.create({
114
+ displayedRegions: JSON.parse(JSON.stringify(displayedRegions)),
115
+ interRegionPaddingWidth: 0,
116
+ minimumBlockWidth: model.minimumBlockWidth,
227
117
  });
228
- }));
229
- }; // SVG component, tracks
230
-
231
-
232
- function SVGTracks(_ref5) {
233
- var displayResults = _ref5.displayResults,
234
- model = _ref5.model,
235
- offset = _ref5.offset;
236
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, displayResults.map(function (_ref6) {
237
- var track = _ref6.track,
238
- result = _ref6.result;
239
- var current = offset;
240
- var trackName = (0, _configuration.getConf)(track, 'name') || "Reference sequence (".concat((0, _configuration.readConfObject)((0, _mobxStateTree.getParent)(track.configuration), 'name'), ")");
241
- var display = track.displays[0];
242
- offset += display.height + paddingHeight + textHeight;
243
- return /*#__PURE__*/_react.default.createElement("g", {
244
- key: track.configuration.trackId,
245
- transform: "translate(0 ".concat(current, ")")
246
- }, /*#__PURE__*/_react.default.createElement("text", {
247
- fontSize: fontSize,
248
- x: Math.max(-model.offsetPx, 0)
249
- }, trackName), /*#__PURE__*/_react.default.createElement("g", {
250
- transform: "translate(0 ".concat(textHeight, ")")
251
- }, result, /*#__PURE__*/_react.default.createElement(SVGRegionSeparators, {
252
- model: model,
253
- height: display.height
118
+ var visibleRegions = model.dynamicBlocks.contentBlocks;
119
+ overview.setVolatileWidth(width);
120
+ overview.showAllRegions();
121
+ var block = overview.dynamicBlocks.contentBlocks[0];
122
+ var first = visibleRegions[0];
123
+ var firstOverviewPx = overview.bpToPx(__assign(__assign({}, first), { coord: first.reversed ? first.end : first.start })) || 0;
124
+ var last = visibleRegions[visibleRegions.length - 1];
125
+ var lastOverviewPx = overview.bpToPx(__assign(__assign({}, last), { coord: last.reversed ? last.start : last.end })) || 0;
126
+ var cytobandHeight = showCytobands ? cytobandHeightIfExists : 0;
127
+ return (react_1.default.createElement("g", { id: "header" },
128
+ react_1.default.createElement("text", { x: 0, y: fontSize, fontSize: fontSize }, assemblyName),
129
+ showCytobands ? (react_1.default.createElement("g", { transform: "translate(0 ".concat(rulerHeight, ")") },
130
+ react_1.default.createElement(OverviewScaleBar_1.Cytobands, { overview: overview, assembly: assembly, block: block }),
131
+ react_1.default.createElement("rect", { stroke: "red", fill: "rgb(255,0,0,0.1)", width: Math.max(lastOverviewPx - firstOverviewPx, 0.5), height: __1.HEADER_OVERVIEW_HEIGHT - 1, x: firstOverviewPx, y: 0.5 }),
132
+ react_1.default.createElement("g", { transform: "translate(0,".concat(__1.HEADER_OVERVIEW_HEIGHT, ")") },
133
+ react_1.default.createElement(OverviewScaleBar_1.Polygon, { overview: overview, model: model, useOffset: false })))) : null,
134
+ react_1.default.createElement("g", { transform: "translate(0 ".concat(fontSize + cytobandHeight, ")") },
135
+ react_1.default.createElement(ScaleBar, { model: model, fontSize: fontSize })),
136
+ react_1.default.createElement("g", { transform: "translate(0 ".concat(rulerHeight + cytobandHeight, ")") },
137
+ react_1.default.createElement(SVGRuler, { model: model, fontSize: fontSize, width: width }))));
138
+ };
139
+ // SVG component, region separator
140
+ var SVGRegionSeparators = function (_a) {
141
+ var model = _a.model, height = _a.height;
142
+ var dynamicBlocks = model.dynamicBlocks, offsetPx = model.offsetPx, interRegionPaddingWidth = model.interRegionPaddingWidth;
143
+ return (react_1.default.createElement(react_1.default.Fragment, null, dynamicBlocks.contentBlocks.slice(1).map(function (block) { return (react_1.default.createElement("rect", { key: block.key, x: block.offsetPx - offsetPx - interRegionPaddingWidth, width: interRegionPaddingWidth, y: 0, height: height, stroke: "none", fill: "grey" })); })));
144
+ };
145
+ // SVG component, tracks
146
+ function SVGTracks(_a) {
147
+ var displayResults = _a.displayResults, model = _a.model, offset = _a.offset;
148
+ return (react_1.default.createElement(react_1.default.Fragment, null, displayResults.map(function (_a) {
149
+ var track = _a.track, result = _a.result;
150
+ var current = offset;
151
+ var trackName = (0, configuration_1.getConf)(track, 'name') ||
152
+ "Reference sequence (".concat((0, configuration_1.readConfObject)((0, mobx_state_tree_1.getParent)(track.configuration), 'name'), ")");
153
+ var display = track.displays[0];
154
+ offset += display.height + paddingHeight + textHeight;
155
+ return (react_1.default.createElement("g", { key: track.configuration.trackId, transform: "translate(0 ".concat(current, ")") },
156
+ react_1.default.createElement("text", { fontSize: fontSize, x: Math.max(-model.offsetPx, 0) }, trackName),
157
+ react_1.default.createElement("g", { transform: "translate(0 ".concat(textHeight, ")") },
158
+ result,
159
+ react_1.default.createElement(SVGRegionSeparators, { model: model, height: display.height }))));
254
160
  })));
255
- }));
256
- } // render LGV to SVG
257
-
258
-
259
- function renderToSvg(_x, _x2) {
260
- return _renderToSvg.apply(this, arguments);
261
161
  }
262
-
263
- function _renderToSvg() {
264
- _renderToSvg = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(model, opts) {
265
- var width, tracks, showCytobands, shift, offset, height, displayResults;
266
- return _regenerator.default.wrap(function _callee2$(_context2) {
267
- while (1) {
268
- switch (_context2.prev = _context2.next) {
269
- case 0:
270
- _context2.next = 2;
271
- return (0, _mobx.when)(function () {
272
- return model.initialized;
273
- });
274
-
275
- case 2:
276
- width = model.width, tracks = model.tracks, showCytobands = model.showCytobands;
277
- shift = 50;
278
- offset = headerHeight + rulerHeight + (showCytobands ? cytobandHeightIfExists : 0) + 20;
279
- height = totalHeight(tracks) + offset;
280
- _context2.next = 8;
281
- return Promise.all(tracks.map( /*#__PURE__*/function () {
282
- var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(track) {
283
- var display, result;
284
- return _regenerator.default.wrap(function _callee$(_context) {
285
- while (1) {
286
- switch (_context.prev = _context.next) {
287
- case 0:
288
- display = track.displays[0];
289
- _context.next = 3;
290
- return (0, _mobx.when)(function () {
291
- return display.ready !== undefined ? display.ready : true;
292
- });
293
-
294
- case 3:
295
- _context.next = 5;
296
- return display.renderSvg(opts);
297
-
298
- case 5:
299
- result = _context.sent;
300
- return _context.abrupt("return", {
301
- track: track,
302
- result: result
303
- });
304
-
305
- case 7:
306
- case "end":
307
- return _context.stop();
308
- }
309
- }
310
- }, _callee);
311
- }));
312
-
313
- return function (_x3) {
314
- return _ref7.apply(this, arguments);
315
- };
316
- }()));
317
-
318
- case 8:
319
- displayResults = _context2.sent;
320
- return _context2.abrupt("return", (0, _server.renderToStaticMarkup)( /*#__PURE__*/_react.default.createElement("svg", {
321
- width: width,
322
- height: height,
323
- xmlns: "http://www.w3.org/2000/svg",
324
- xmlnsXlink: "http://www.w3.org/1999/xlink",
325
- viewBox: [0, 0, width + shift * 2, height].toString()
326
- }, /*#__PURE__*/_react.default.createElement("rect", {
327
- width: width + shift * 2,
328
- height: height,
329
- fill: "white"
330
- }), /*#__PURE__*/_react.default.createElement("g", {
331
- stroke: "none",
332
- transform: "translate(".concat(shift, " ").concat(fontSize, ")")
333
- }, /*#__PURE__*/_react.default.createElement(SVGHeader, {
334
- model: model
335
- }), /*#__PURE__*/_react.default.createElement(SVGTracks, {
336
- model: model,
337
- displayResults: displayResults,
338
- offset: offset
339
- })))));
340
-
341
- case 10:
342
- case "end":
343
- return _context2.stop();
344
- }
345
- }
346
- }, _callee2);
347
- }));
348
- return _renderToSvg.apply(this, arguments);
349
- }
162
+ // render LGV to SVG
163
+ function renderToSvg(model, opts) {
164
+ return __awaiter(this, void 0, void 0, function () {
165
+ var width, tracks, showCytobands, shift, offset, height, displayResults;
166
+ var _this = this;
167
+ return __generator(this, function (_a) {
168
+ switch (_a.label) {
169
+ case 0: return [4 /*yield*/, (0, mobx_1.when)(function () { return model.initialized; })];
170
+ case 1:
171
+ _a.sent();
172
+ width = model.width, tracks = model.tracks, showCytobands = model.showCytobands;
173
+ shift = 50;
174
+ offset = headerHeight +
175
+ rulerHeight +
176
+ (showCytobands ? cytobandHeightIfExists : 0) +
177
+ 20;
178
+ height = totalHeight(tracks) + offset;
179
+ return [4 /*yield*/, Promise.all(tracks.map(function (track) { return __awaiter(_this, void 0, void 0, function () {
180
+ var display, result;
181
+ return __generator(this, function (_a) {
182
+ switch (_a.label) {
183
+ case 0:
184
+ display = track.displays[0];
185
+ return [4 /*yield*/, (0, mobx_1.when)(function () { return (display.ready !== undefined ? display.ready : true); })];
186
+ case 1:
187
+ _a.sent();
188
+ return [4 /*yield*/, display.renderSvg(opts)];
189
+ case 2:
190
+ result = _a.sent();
191
+ return [2 /*return*/, { track: track, result: result }];
192
+ }
193
+ });
194
+ }); }))
195
+ // the xlink namespace is used for rendering <image> tag
196
+ ];
197
+ case 2:
198
+ displayResults = _a.sent();
199
+ // the xlink namespace is used for rendering <image> tag
200
+ return [2 /*return*/, (0, server_1.renderToStaticMarkup)(react_1.default.createElement("svg", { width: width, height: height, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, width + shift * 2, height].toString() },
201
+ react_1.default.createElement("rect", { width: width + shift * 2, height: height, fill: "white" }),
202
+ react_1.default.createElement("g", { stroke: "none", transform: "translate(".concat(shift, " ").concat(fontSize, ")") },
203
+ react_1.default.createElement(SVGHeader, { model: model }),
204
+ react_1.default.createElement(SVGTracks, { model: model, displayResults: displayResults, offset: offset }))))];
205
+ }
206
+ });
207
+ });
208
+ }
209
+ exports.renderToSvg = renderToSvg;
210
+ //# sourceMappingURL=LinearGenomeViewSvg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearGenomeViewSvg.js","sourceRoot":"","sources":["../../../src/LinearGenomeView/components/LinearGenomeViewSvg.tsx"],"names":[],"mappings":"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"}