@jbrowse/plugin-wiggle 2.0.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  2. package/dist/BigWigAdapter/BigWigAdapter.js +73 -169
  3. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -1
  4. package/dist/BigWigAdapter/configSchema.js +6 -1
  5. package/dist/BigWigAdapter/configSchema.js.map +1 -1
  6. package/dist/BigWigAdapter/index.d.ts +3 -1
  7. package/dist/BigWigAdapter/index.js +37 -3
  8. package/dist/BigWigAdapter/index.js.map +1 -1
  9. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  10. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +51 -0
  11. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  12. package/dist/CreateMultiWiggleExtension/index.d.ts +2 -0
  13. package/dist/CreateMultiWiggleExtension/index.js +77 -0
  14. package/dist/CreateMultiWiggleExtension/index.js.map +1 -0
  15. package/dist/DensityRenderer/DensityRenderer.d.ts +6 -0
  16. package/dist/DensityRenderer/DensityRenderer.js +14 -0
  17. package/dist/DensityRenderer/DensityRenderer.js.map +1 -0
  18. package/dist/DensityRenderer/configSchema.d.ts +2 -0
  19. package/dist/DensityRenderer/configSchema.js +10 -0
  20. package/dist/DensityRenderer/configSchema.js.map +1 -0
  21. package/dist/DensityRenderer/index.d.ts +3 -6
  22. package/dist/DensityRenderer/index.js +11 -150
  23. package/dist/DensityRenderer/index.js.map +1 -1
  24. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  25. package/dist/LinePlotRenderer/LinePlotRenderer.js +11 -177
  26. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -1
  27. package/dist/LinePlotRenderer/configSchema.d.ts +2 -0
  28. package/dist/LinePlotRenderer/configSchema.js +16 -0
  29. package/dist/LinePlotRenderer/configSchema.js.map +1 -0
  30. package/dist/LinePlotRenderer/index.d.ts +3 -3
  31. package/dist/LinePlotRenderer/index.js +11 -14
  32. package/dist/LinePlotRenderer/index.js.map +1 -1
  33. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  34. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +21 -46
  35. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  36. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +16 -32
  37. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -1
  38. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  39. package/dist/LinearWiggleDisplay/components/Tooltip.js +21 -143
  40. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  41. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +15 -26
  42. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -1
  43. package/dist/LinearWiggleDisplay/components/YScaleBar.js +6 -18
  44. package/dist/LinearWiggleDisplay/components/YScaleBar.js.map +1 -1
  45. package/dist/LinearWiggleDisplay/index.d.ts +7 -3
  46. package/dist/LinearWiggleDisplay/index.js +23 -8
  47. package/dist/LinearWiggleDisplay/index.js.map +1 -1
  48. package/dist/LinearWiggleDisplay/models/configSchema.js +6 -6
  49. package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -1
  50. package/dist/LinearWiggleDisplay/models/model.d.ts +24 -5
  51. package/dist/LinearWiggleDisplay/models/model.js +392 -512
  52. package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
  53. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  54. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +42 -0
  55. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  56. package/dist/MultiDensityRenderer/configSchema.d.ts +2 -0
  57. package/dist/MultiDensityRenderer/configSchema.js +10 -0
  58. package/dist/MultiDensityRenderer/configSchema.js.map +1 -0
  59. package/dist/MultiDensityRenderer/index.d.ts +3 -0
  60. package/dist/MultiDensityRenderer/index.js +17 -0
  61. package/dist/MultiDensityRenderer/index.js.map +1 -0
  62. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  63. package/dist/MultiLineRenderer/MultiLineRenderer.js +31 -0
  64. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  65. package/dist/MultiLineRenderer/configSchema.d.ts +2 -0
  66. package/dist/MultiLineRenderer/configSchema.js +23 -0
  67. package/dist/MultiLineRenderer/configSchema.js.map +1 -0
  68. package/dist/MultiLineRenderer/index.d.ts +3 -0
  69. package/dist/MultiLineRenderer/index.js +17 -0
  70. package/dist/MultiLineRenderer/index.js.map +1 -0
  71. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  72. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +191 -0
  73. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  74. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  75. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +75 -0
  76. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  77. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  78. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +49 -0
  79. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  80. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  81. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +105 -0
  82. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  83. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  84. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js +14 -0
  85. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  86. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  87. package/dist/MultiLinearWiggleDisplay/components/util.js +36 -0
  88. package/dist/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  89. package/dist/MultiLinearWiggleDisplay/index.d.ts +3 -0
  90. package/dist/MultiLinearWiggleDisplay/index.js +23 -0
  91. package/dist/MultiLinearWiggleDisplay/index.js.map +1 -0
  92. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  93. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +77 -0
  94. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  95. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  96. package/dist/MultiLinearWiggleDisplay/models/model.js +598 -0
  97. package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  98. package/dist/MultiQuantitativeTrack/index.d.ts +3 -0
  99. package/dist/MultiQuantitativeTrack/index.js +19 -0
  100. package/dist/MultiQuantitativeTrack/index.js.map +1 -0
  101. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  102. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +39 -0
  103. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  104. package/dist/MultiRowLineRenderer/configSchema.d.ts +2 -0
  105. package/dist/MultiRowLineRenderer/configSchema.js +23 -0
  106. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -0
  107. package/dist/MultiRowLineRenderer/index.d.ts +3 -0
  108. package/dist/MultiRowLineRenderer/index.js +17 -0
  109. package/dist/MultiRowLineRenderer/index.js.map +1 -0
  110. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  111. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +68 -0
  112. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  113. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  114. package/dist/MultiRowXYPlotRenderer/configSchema.js +31 -0
  115. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  116. package/dist/MultiRowXYPlotRenderer/index.d.ts +3 -0
  117. package/dist/MultiRowXYPlotRenderer/index.js +17 -0
  118. package/dist/MultiRowXYPlotRenderer/index.js.map +1 -0
  119. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +29 -0
  120. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +92 -0
  121. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  122. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -0
  123. package/dist/MultiWiggleAdapter/configSchema.js +14 -0
  124. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -0
  125. package/dist/MultiWiggleAdapter/index.d.ts +3 -0
  126. package/dist/MultiWiggleAdapter/index.js +43 -0
  127. package/dist/MultiWiggleAdapter/index.js.map +1 -0
  128. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  129. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +113 -0
  130. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  131. package/dist/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  132. package/dist/MultiWiggleAddTrackWidget/index.js +17 -0
  133. package/dist/MultiWiggleAddTrackWidget/index.js.map +1 -0
  134. package/dist/MultiWiggleRendering.d.ts +21 -0
  135. package/dist/MultiWiggleRendering.js +100 -0
  136. package/dist/MultiWiggleRendering.js.map +1 -0
  137. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  138. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +57 -0
  139. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  140. package/dist/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  141. package/dist/MultiXYPlotRenderer/configSchema.js +31 -0
  142. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -0
  143. package/dist/MultiXYPlotRenderer/index.d.ts +3 -0
  144. package/dist/MultiXYPlotRenderer/index.js +17 -0
  145. package/dist/MultiXYPlotRenderer/index.js.map +1 -0
  146. package/dist/QuantitativeTrack/index.d.ts +3 -0
  147. package/dist/QuantitativeTrack/index.js +19 -0
  148. package/dist/QuantitativeTrack/index.js.map +1 -0
  149. package/dist/Tooltip.d.ts +20 -0
  150. package/dist/Tooltip.js +96 -0
  151. package/dist/Tooltip.js.map +1 -0
  152. package/dist/WiggleBaseRenderer.d.ts +9 -10
  153. package/dist/WiggleBaseRenderer.js +34 -112
  154. package/dist/WiggleBaseRenderer.js.map +1 -1
  155. package/dist/WiggleRPC/rpcMethods.d.ts +17 -1
  156. package/dist/WiggleRPC/rpcMethods.js +108 -176
  157. package/dist/WiggleRPC/rpcMethods.js.map +1 -1
  158. package/dist/WiggleRendering.d.ts +1 -1
  159. package/dist/WiggleRendering.js +20 -73
  160. package/dist/WiggleRendering.js.map +1 -1
  161. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  162. package/dist/XYPlotRenderer/XYPlotRenderer.js +23 -223
  163. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  164. package/dist/XYPlotRenderer/configSchema.d.ts +2 -0
  165. package/dist/XYPlotRenderer/configSchema.js +31 -0
  166. package/dist/XYPlotRenderer/configSchema.js.map +1 -0
  167. package/dist/XYPlotRenderer/index.d.ts +7 -3
  168. package/dist/XYPlotRenderer/index.js +15 -25
  169. package/dist/XYPlotRenderer/index.js.map +1 -1
  170. package/dist/configSchema.js +2 -7
  171. package/dist/configSchema.js.map +1 -1
  172. package/dist/drawxy.d.ts +50 -0
  173. package/dist/drawxy.js +292 -0
  174. package/dist/drawxy.js.map +1 -0
  175. package/dist/index.d.ts +79 -21
  176. package/dist/index.js +73 -124
  177. package/dist/index.js.map +1 -1
  178. package/dist/util.d.ts +34 -1
  179. package/dist/util.js +128 -33
  180. package/dist/util.js.map +1 -1
  181. package/esm/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  182. package/esm/BigWigAdapter/BigWigAdapter.js +37 -18
  183. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -1
  184. package/esm/BigWigAdapter/configSchema.js +5 -0
  185. package/esm/BigWigAdapter/configSchema.js.map +1 -1
  186. package/esm/BigWigAdapter/index.d.ts +3 -1
  187. package/esm/BigWigAdapter/index.js +14 -1
  188. package/esm/BigWigAdapter/index.js.map +1 -1
  189. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  190. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +26 -0
  191. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  192. package/esm/CreateMultiWiggleExtension/index.d.ts +2 -0
  193. package/esm/CreateMultiWiggleExtension/index.js +51 -0
  194. package/esm/CreateMultiWiggleExtension/index.js.map +1 -0
  195. package/esm/DensityRenderer/DensityRenderer.d.ts +6 -0
  196. package/esm/DensityRenderer/DensityRenderer.js +8 -0
  197. package/esm/DensityRenderer/DensityRenderer.js.map +1 -0
  198. package/esm/DensityRenderer/configSchema.d.ts +2 -0
  199. package/esm/DensityRenderer/configSchema.js +5 -0
  200. package/esm/DensityRenderer/configSchema.js.map +1 -0
  201. package/esm/DensityRenderer/index.d.ts +3 -6
  202. package/esm/DensityRenderer/index.js +11 -38
  203. package/esm/DensityRenderer/index.js.map +1 -1
  204. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  205. package/esm/LinePlotRenderer/LinePlotRenderer.js +7 -65
  206. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -1
  207. package/esm/LinePlotRenderer/configSchema.d.ts +2 -0
  208. package/esm/LinePlotRenderer/configSchema.js +11 -0
  209. package/esm/LinePlotRenderer/configSchema.js.map +1 -0
  210. package/esm/LinePlotRenderer/index.d.ts +3 -3
  211. package/esm/LinePlotRenderer/index.js +11 -11
  212. package/esm/LinePlotRenderer/index.js.map +1 -1
  213. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  214. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +9 -16
  215. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  216. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  217. package/esm/LinearWiggleDisplay/components/Tooltip.js +3 -76
  218. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  219. package/esm/LinearWiggleDisplay/index.d.ts +7 -3
  220. package/esm/LinearWiggleDisplay/index.js +20 -3
  221. package/esm/LinearWiggleDisplay/index.js.map +1 -1
  222. package/esm/LinearWiggleDisplay/models/model.d.ts +24 -5
  223. package/esm/LinearWiggleDisplay/models/model.js +87 -133
  224. package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
  225. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  226. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +36 -0
  227. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  228. package/esm/MultiDensityRenderer/configSchema.d.ts +2 -0
  229. package/esm/MultiDensityRenderer/configSchema.js +5 -0
  230. package/esm/MultiDensityRenderer/configSchema.js.map +1 -0
  231. package/esm/MultiDensityRenderer/index.d.ts +3 -0
  232. package/esm/MultiDensityRenderer/index.js +12 -0
  233. package/esm/MultiDensityRenderer/index.js.map +1 -0
  234. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  235. package/esm/MultiLineRenderer/MultiLineRenderer.js +25 -0
  236. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  237. package/esm/MultiLineRenderer/configSchema.d.ts +2 -0
  238. package/esm/MultiLineRenderer/configSchema.js +18 -0
  239. package/esm/MultiLineRenderer/configSchema.js.map +1 -0
  240. package/esm/MultiLineRenderer/index.d.ts +3 -0
  241. package/esm/MultiLineRenderer/index.js +12 -0
  242. package/esm/MultiLineRenderer/index.js.map +1 -0
  243. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  244. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +162 -0
  245. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  246. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  247. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  248. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  249. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  250. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +43 -0
  251. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  252. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  253. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +99 -0
  254. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  255. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  256. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js +9 -0
  257. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  258. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  259. package/esm/MultiLinearWiggleDisplay/components/util.js +31 -0
  260. package/esm/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  261. package/esm/MultiLinearWiggleDisplay/index.d.ts +3 -0
  262. package/esm/MultiLinearWiggleDisplay/index.js +18 -0
  263. package/esm/MultiLinearWiggleDisplay/index.js.map +1 -0
  264. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  265. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +74 -0
  266. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  267. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  268. package/esm/MultiLinearWiggleDisplay/models/model.js +570 -0
  269. package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  270. package/esm/MultiQuantitativeTrack/index.d.ts +3 -0
  271. package/esm/MultiQuantitativeTrack/index.js +14 -0
  272. package/esm/MultiQuantitativeTrack/index.js.map +1 -0
  273. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  274. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +33 -0
  275. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  276. package/esm/MultiRowLineRenderer/configSchema.d.ts +2 -0
  277. package/esm/MultiRowLineRenderer/configSchema.js +18 -0
  278. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -0
  279. package/esm/MultiRowLineRenderer/index.d.ts +3 -0
  280. package/esm/MultiRowLineRenderer/index.js +12 -0
  281. package/esm/MultiRowLineRenderer/index.js.map +1 -0
  282. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  283. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +39 -0
  284. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  285. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  286. package/esm/MultiRowXYPlotRenderer/configSchema.js +26 -0
  287. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  288. package/esm/MultiRowXYPlotRenderer/index.d.ts +3 -0
  289. package/esm/MultiRowXYPlotRenderer/index.js +12 -0
  290. package/esm/MultiRowXYPlotRenderer/index.js.map +1 -0
  291. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +29 -0
  292. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +89 -0
  293. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  294. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -0
  295. package/esm/MultiWiggleAdapter/configSchema.js +12 -0
  296. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -0
  297. package/esm/MultiWiggleAdapter/index.d.ts +3 -0
  298. package/esm/MultiWiggleAdapter/index.js +15 -0
  299. package/esm/MultiWiggleAdapter/index.js.map +1 -0
  300. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  301. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +87 -0
  302. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  303. package/esm/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  304. package/esm/MultiWiggleAddTrackWidget/index.js +12 -0
  305. package/esm/MultiWiggleAddTrackWidget/index.js.map +1 -0
  306. package/esm/MultiWiggleRendering.d.ts +21 -0
  307. package/esm/MultiWiggleRendering.js +75 -0
  308. package/esm/MultiWiggleRendering.js.map +1 -0
  309. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  310. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +28 -0
  311. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  312. package/esm/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  313. package/esm/MultiXYPlotRenderer/configSchema.js +26 -0
  314. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -0
  315. package/esm/MultiXYPlotRenderer/index.d.ts +3 -0
  316. package/esm/MultiXYPlotRenderer/index.js +12 -0
  317. package/esm/MultiXYPlotRenderer/index.js.map +1 -0
  318. package/esm/QuantitativeTrack/index.d.ts +3 -0
  319. package/esm/QuantitativeTrack/index.js +14 -0
  320. package/esm/QuantitativeTrack/index.js.map +1 -0
  321. package/esm/Tooltip.d.ts +20 -0
  322. package/esm/Tooltip.js +71 -0
  323. package/esm/Tooltip.js.map +1 -0
  324. package/esm/WiggleBaseRenderer.d.ts +9 -10
  325. package/esm/WiggleBaseRenderer.js +9 -6
  326. package/esm/WiggleBaseRenderer.js.map +1 -1
  327. package/esm/WiggleRPC/rpcMethods.d.ts +17 -1
  328. package/esm/WiggleRPC/rpcMethods.js +49 -7
  329. package/esm/WiggleRPC/rpcMethods.js.map +1 -1
  330. package/esm/WiggleRendering.d.ts +1 -1
  331. package/esm/WiggleRendering.js +4 -8
  332. package/esm/WiggleRendering.js.map +1 -1
  333. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  334. package/esm/XYPlotRenderer/XYPlotRenderer.js +16 -99
  335. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  336. package/esm/XYPlotRenderer/configSchema.d.ts +2 -0
  337. package/esm/XYPlotRenderer/configSchema.js +26 -0
  338. package/esm/XYPlotRenderer/configSchema.js.map +1 -0
  339. package/esm/XYPlotRenderer/index.d.ts +7 -3
  340. package/esm/XYPlotRenderer/index.js +12 -22
  341. package/esm/XYPlotRenderer/index.js.map +1 -1
  342. package/esm/configSchema.js +0 -5
  343. package/esm/configSchema.js.map +1 -1
  344. package/esm/drawxy.d.ts +50 -0
  345. package/esm/drawxy.js +286 -0
  346. package/esm/drawxy.js.map +1 -0
  347. package/esm/index.d.ts +79 -21
  348. package/esm/index.js +49 -74
  349. package/esm/index.js.map +1 -1
  350. package/esm/util.d.ts +34 -1
  351. package/esm/util.js +108 -0
  352. package/esm/util.js.map +1 -1
  353. package/package.json +13 -8
  354. package/src/BigWigAdapter/BigWigAdapter.ts +53 -35
  355. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +10 -10
  356. package/src/BigWigAdapter/configSchema.ts +5 -0
  357. package/src/BigWigAdapter/index.ts +19 -1
  358. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +66 -0
  359. package/src/CreateMultiWiggleExtension/index.ts +57 -0
  360. package/src/DensityRenderer/DensityRenderer.test.js +8 -2
  361. package/src/DensityRenderer/DensityRenderer.ts +14 -0
  362. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +8 -0
  363. package/src/DensityRenderer/configSchema.ts +11 -0
  364. package/src/DensityRenderer/index.ts +14 -53
  365. package/src/LinePlotRenderer/LinePlotRenderer.ts +19 -0
  366. package/src/LinePlotRenderer/{index.js → configSchema.ts} +3 -4
  367. package/src/LinePlotRenderer/index.ts +16 -0
  368. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +17 -19
  369. package/src/LinearWiggleDisplay/components/Tooltip.tsx +6 -122
  370. package/src/LinearWiggleDisplay/index.ts +24 -3
  371. package/src/LinearWiggleDisplay/models/model.tsx +98 -174
  372. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +39 -0
  373. package/src/MultiDensityRenderer/configSchema.ts +10 -0
  374. package/src/MultiDensityRenderer/index.ts +16 -0
  375. package/src/MultiLineRenderer/MultiLineRenderer.ts +29 -0
  376. package/src/MultiLineRenderer/configSchema.ts +24 -0
  377. package/src/MultiLineRenderer/index.ts +17 -0
  378. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +322 -0
  379. package/src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx +113 -0
  380. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +76 -0
  381. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +261 -0
  382. package/src/MultiLinearWiggleDisplay/components/YScaleBar.tsx +25 -0
  383. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +1 -0
  384. package/src/MultiLinearWiggleDisplay/components/util.test.ts +69 -0
  385. package/src/MultiLinearWiggleDisplay/components/util.ts +33 -0
  386. package/src/MultiLinearWiggleDisplay/index.ts +20 -0
  387. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +94 -0
  388. package/src/MultiLinearWiggleDisplay/models/model.tsx +721 -0
  389. package/src/MultiQuantitativeTrack/index.ts +26 -0
  390. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +36 -0
  391. package/src/MultiRowLineRenderer/configSchema.ts +25 -0
  392. package/src/MultiRowLineRenderer/index.ts +16 -0
  393. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +43 -0
  394. package/src/MultiRowXYPlotRenderer/configSchema.ts +33 -0
  395. package/src/MultiRowXYPlotRenderer/index.ts +16 -0
  396. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +124 -0
  397. package/src/MultiWiggleAdapter/configSchema.ts +16 -0
  398. package/src/MultiWiggleAdapter/index.ts +20 -0
  399. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  400. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +130 -0
  401. package/src/MultiWiggleAddTrackWidget/index.ts +17 -0
  402. package/src/MultiWiggleRendering.tsx +125 -0
  403. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +32 -0
  404. package/src/MultiXYPlotRenderer/configSchema.ts +31 -0
  405. package/src/MultiXYPlotRenderer/index.ts +17 -0
  406. package/src/QuantitativeTrack/index.ts +26 -0
  407. package/src/Tooltip.tsx +123 -0
  408. package/src/WiggleBaseRenderer.tsx +17 -10
  409. package/src/WiggleRPC/rpcMethods.ts +68 -17
  410. package/src/WiggleRendering.tsx +12 -18
  411. package/src/XYPlotRenderer/XYPlotRenderer.test.js +3 -1
  412. package/src/XYPlotRenderer/XYPlotRenderer.ts +19 -171
  413. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +8 -0
  414. package/src/XYPlotRenderer/configSchema.ts +32 -0
  415. package/src/XYPlotRenderer/index.ts +16 -27
  416. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -2
  417. package/src/configSchema.ts +0 -5
  418. package/src/declare.d.ts +0 -1
  419. package/src/drawxy.ts +387 -0
  420. package/src/index.ts +75 -129
  421. package/src/util.ts +174 -0
  422. package/src/LinePlotRenderer/LinePlotRenderer.js +0 -91
@@ -1,15 +1,4 @@
1
1
  "use strict";
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
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,565 +22,456 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
22
  __setModuleDefault(result, mod);
34
23
  return result;
35
24
  };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (_) try {
52
- 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;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
71
- };
72
- var __read = (this && this.__read) || function (o, n) {
73
- var m = typeof Symbol === "function" && o[Symbol.iterator];
74
- if (!m) return o;
75
- var i = m.call(o), r, ar = [], e;
76
- try {
77
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
78
- }
79
- catch (error) { e = { error: error }; }
80
- finally {
81
- try {
82
- if (r && !r.done && (m = i["return"])) m.call(i);
83
- }
84
- finally { if (e) throw e.error; }
85
- }
86
- return ar;
87
- };
88
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
89
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
90
- if (ar || !(i in from)) {
91
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
92
- ar[i] = from[i];
93
- }
94
- }
95
- return to.concat(ar || Array.prototype.slice.call(from));
96
- };
97
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
98
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
99
27
  };
100
28
  Object.defineProperty(exports, "__esModule", { value: true });
101
- exports.YSCALEBAR_LABEL_OFFSET = void 0;
102
- var react_1 = __importStar(require("react"));
103
- var configuration_1 = require("@jbrowse/core/configuration");
104
- var util_1 = require("@jbrowse/core/util");
105
- var tracks_1 = require("@jbrowse/core/util/tracks");
106
- var plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
107
- var mobx_1 = require("mobx");
108
- var mobx_state_tree_1 = require("mobx-state-tree");
109
- var react_d3_axis_mod_1 = require("react-d3-axis-mod");
110
- var util_2 = require("../../util");
111
- var Tooltip_1 = __importDefault(require("../components/Tooltip"));
112
- var WiggleDisplayComponent_1 = require("../components/WiggleDisplayComponent");
113
- var SetMinMaxDlg = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('../components/SetMinMaxDialog')); }); });
114
- var SetColorDlg = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('../components/SetColorDialog')); }); });
115
- // fudge factor for making all labels on the YScalebar visible
116
- exports.YSCALEBAR_LABEL_OFFSET = 5;
29
+ const react_1 = __importStar(require("react"));
30
+ const configuration_1 = require("@jbrowse/core/configuration");
31
+ const util_1 = require("@jbrowse/core/util");
32
+ const plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
33
+ const mobx_1 = require("mobx");
34
+ const mobx_state_tree_1 = require("mobx-state-tree");
35
+ const react_d3_axis_mod_1 = require("react-d3-axis-mod");
36
+ const util_2 = require("../../util");
37
+ const Tooltip_1 = __importDefault(require("../components/Tooltip"));
38
+ const WiggleDisplayComponent_1 = require("../components/WiggleDisplayComponent");
39
+ const SetMinMaxDlg = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../components/SetMinMaxDialog'))));
40
+ const SetColorDlg = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../components/SetColorDialog'))));
117
41
  // using a map because it preserves order
118
- var rendererTypes = new Map([
42
+ const rendererTypes = new Map([
119
43
  ['xyplot', 'XYPlotRenderer'],
120
44
  ['density', 'DensityRenderer'],
121
45
  ['line', 'LinePlotRenderer'],
122
46
  ]);
123
- var stateModelFactory = function (pluginManager, configSchema) {
124
- return mobx_state_tree_1.types
125
- .compose('LinearWiggleDisplay', plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
126
- type: mobx_state_tree_1.types.literal('LinearWiggleDisplay'),
127
- configuration: (0, configuration_1.ConfigurationReference)(configSchema),
128
- selectedRendering: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.string, ''),
129
- resolution: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 1),
130
- fill: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
131
- color: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
132
- posColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
133
- negColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
134
- summaryScoreMode: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
135
- rendererTypeNameState: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
136
- scale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
137
- autoscale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
138
- displayCrossHatches: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
139
- constraints: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.model({
140
- max: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
141
- min: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
142
- }), {}),
143
- }))
144
- .volatile(function () { return ({
145
- statsReady: false,
146
- message: undefined,
147
- stats: { scoreMin: 0, scoreMax: 50 },
148
- statsFetchInProgress: undefined,
149
- }); })
150
- .actions(function (self) { return ({
151
- updateStats: function (_a) {
152
- var scoreMin = _a.scoreMin, scoreMax = _a.scoreMax;
153
- if (self.stats.scoreMin !== scoreMin ||
154
- self.stats.scoreMax !== scoreMax) {
155
- self.stats = { scoreMin: scoreMin, scoreMax: scoreMax };
156
- }
47
+ const stateModelFactory = (pluginManager, configSchema) => mobx_state_tree_1.types
48
+ .compose('LinearWiggleDisplay', plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
49
+ type: mobx_state_tree_1.types.literal('LinearWiggleDisplay'),
50
+ configuration: (0, configuration_1.ConfigurationReference)(configSchema),
51
+ selectedRendering: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.string, ''),
52
+ resolution: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 1),
53
+ fill: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
54
+ minSize: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
55
+ color: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
56
+ posColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
57
+ negColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
58
+ summaryScoreMode: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
59
+ rendererTypeNameState: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
60
+ scale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
61
+ autoscale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
62
+ displayCrossHatches: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
63
+ constraints: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.model({
64
+ max: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
65
+ min: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
66
+ }), {}),
67
+ }))
68
+ .volatile(() => ({
69
+ statsReady: false,
70
+ message: undefined,
71
+ stats: { scoreMin: 0, scoreMax: 50 },
72
+ statsFetchInProgress: undefined,
73
+ }))
74
+ .actions(self => ({
75
+ updateStats(stats) {
76
+ const { scoreMin, scoreMax } = stats;
77
+ const EPSILON = 0.000001;
78
+ if (Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
79
+ Math.abs(self.stats.scoreMin - scoreMin) > EPSILON) {
80
+ self.stats = { scoreMin, scoreMax };
157
81
  self.statsReady = true;
82
+ }
83
+ },
84
+ setColor(color) {
85
+ self.color = color;
86
+ },
87
+ setPosColor(color) {
88
+ self.posColor = color;
89
+ },
90
+ setNegColor(color) {
91
+ self.negColor = color;
92
+ },
93
+ setLoading(aborter) {
94
+ const { statsFetchInProgress: statsFetch } = self;
95
+ if (statsFetch !== undefined && !statsFetch.signal.aborted) {
96
+ statsFetch.abort();
97
+ }
98
+ self.statsFetchInProgress = aborter;
99
+ },
100
+ // this overrides the BaseLinearDisplayModel to avoid popping up a
101
+ // feature detail display, but still sets the feature selection on the
102
+ // model so listeners can detect a click
103
+ selectFeature(feature) {
104
+ const session = (0, util_1.getSession)(self);
105
+ if ((0, util_1.isSelectionContainer)(session)) {
106
+ session.setSelection(feature);
107
+ }
108
+ },
109
+ setResolution(res) {
110
+ self.resolution = res;
111
+ },
112
+ setFill(fill) {
113
+ if (fill === 0) {
114
+ self.fill = true;
115
+ self.minSize = 0;
116
+ }
117
+ else if (fill === 1) {
118
+ self.fill = false;
119
+ self.minSize = 1;
120
+ }
121
+ else if (fill === 2) {
122
+ self.fill = false;
123
+ self.minSize = 2;
124
+ }
125
+ },
126
+ toggleLogScale() {
127
+ if (self.scale !== 'log') {
128
+ self.scale = 'log';
129
+ }
130
+ else {
131
+ self.scale = 'linear';
132
+ }
133
+ },
134
+ setScaleType(scale) {
135
+ self.scale = scale;
136
+ },
137
+ setSummaryScoreMode(val) {
138
+ self.summaryScoreMode = val;
139
+ },
140
+ setAutoscale(val) {
141
+ self.autoscale = val;
142
+ },
143
+ setMaxScore(val) {
144
+ self.constraints.max = val;
145
+ },
146
+ setRendererType(val) {
147
+ self.rendererTypeNameState = val;
148
+ },
149
+ setMinScore(val) {
150
+ self.constraints.min = val;
151
+ },
152
+ toggleCrossHatches() {
153
+ self.displayCrossHatches = !self.displayCrossHatches;
154
+ },
155
+ setCrossHatches(cross) {
156
+ self.displayCrossHatches = cross;
157
+ },
158
+ }))
159
+ .views(self => ({
160
+ get TooltipComponent() {
161
+ return Tooltip_1.default;
162
+ },
163
+ get adapterTypeName() {
164
+ return self.adapterConfig.type;
165
+ },
166
+ get rendererTypeNameSimple() {
167
+ return self.rendererTypeNameState || (0, configuration_1.getConf)(self, 'defaultRendering');
168
+ },
169
+ get rendererTypeName() {
170
+ const name = this.rendererTypeNameSimple;
171
+ const rendererType = rendererTypes.get(name);
172
+ if (!rendererType) {
173
+ throw new Error(`unknown renderer ${name}`);
174
+ }
175
+ return rendererType;
176
+ },
177
+ // subclasses can define these, as snpcoverage track does
178
+ get filters() {
179
+ return undefined;
180
+ },
181
+ get scaleType() {
182
+ return self.scale || (0, configuration_1.getConf)(self, 'scaleType');
183
+ },
184
+ get maxScore() {
185
+ var _a;
186
+ return (_a = self.constraints.max) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'maxScore');
187
+ },
188
+ get minScore() {
189
+ var _a;
190
+ return (_a = self.constraints.min) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'minScore');
191
+ },
192
+ }))
193
+ .views(self => ({
194
+ get rendererConfig() {
195
+ const configBlob = (0, configuration_1.getConf)(self, ['renderers', self.rendererTypeName]) || {};
196
+ const { color, displayCrossHatches, fill, minSize, negColor, posColor, summaryScoreMode, scaleType, } = self;
197
+ return self.rendererType.configSchema.create({
198
+ ...configBlob,
199
+ ...(scaleType ? { scaleType } : {}),
200
+ ...(fill !== undefined ? { filled: fill } : {}),
201
+ ...(displayCrossHatches !== undefined
202
+ ? { displayCrossHatches }
203
+ : {}),
204
+ ...(summaryScoreMode !== undefined ? { summaryScoreMode } : {}),
205
+ ...(color !== undefined ? { color } : {}),
206
+ ...(negColor !== undefined ? { negColor } : {}),
207
+ ...(posColor !== undefined ? { posColor } : {}),
208
+ ...(minSize !== undefined ? { minSize } : {}),
209
+ }, (0, mobx_state_tree_1.getEnv)(self));
210
+ },
211
+ }))
212
+ .views(self => {
213
+ let oldDomain = [0, 0];
214
+ return {
215
+ get filled() {
216
+ const { fill, rendererConfig: conf } = self;
217
+ return fill !== null && fill !== void 0 ? fill : (0, configuration_1.readConfObject)(conf, 'filled');
158
218
  },
159
- setColor: function (color) {
160
- self.color = color;
161
- },
162
- setPosColor: function (color) {
163
- self.posColor = color;
164
- },
165
- setNegColor: function (color) {
166
- self.negColor = color;
167
- },
168
- setLoading: function (aborter) {
169
- var statsFetch = self.statsFetchInProgress;
170
- if (statsFetch !== undefined && !statsFetch.signal.aborted) {
171
- statsFetch.abort();
172
- }
173
- self.statsFetchInProgress = aborter;
174
- },
175
- // this overrides the BaseLinearDisplayModel to avoid popping up a
176
- // feature detail display, but still sets the feature selection on the
177
- // model so listeners can detect a click
178
- selectFeature: function (feature) {
179
- var session = (0, util_1.getSession)(self);
180
- if ((0, util_1.isSelectionContainer)(session)) {
181
- session.setSelection(feature);
182
- }
183
- },
184
- setResolution: function (res) {
185
- self.resolution = res;
186
- },
187
- setFill: function (fill) {
188
- self.fill = fill;
219
+ get summaryScoreModeSetting() {
220
+ const { summaryScoreMode, rendererConfig: conf } = self;
221
+ return summaryScoreMode !== null && summaryScoreMode !== void 0 ? summaryScoreMode : (0, configuration_1.readConfObject)(conf, 'summaryScoreMode');
189
222
  },
190
- toggleLogScale: function () {
191
- if (self.scale !== 'log') {
192
- self.scale = 'log';
223
+ get domain() {
224
+ const { stats, scaleType, minScore, maxScore } = self;
225
+ const ret = (0, util_2.getNiceDomain)({
226
+ domain: [stats.scoreMin, stats.scoreMax],
227
+ bounds: [minScore, maxScore],
228
+ scaleType,
229
+ });
230
+ // avoid weird scalebar if log value and empty region displayed
231
+ if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
232
+ return [0, Number.MIN_VALUE];
193
233
  }
194
- else {
195
- self.scale = 'linear';
234
+ // avoid returning a new object if it matches the old value
235
+ if (JSON.stringify(oldDomain) !== JSON.stringify(ret)) {
236
+ oldDomain = ret;
196
237
  }
238
+ return oldDomain;
197
239
  },
198
- setScaleType: function (scale) {
199
- self.scale = scale;
200
- },
201
- setSummaryScoreMode: function (val) {
202
- self.summaryScoreMode = val;
240
+ get needsScalebar() {
241
+ return (self.rendererTypeName === 'XYPlotRenderer' ||
242
+ self.rendererTypeName === 'LinePlotRenderer');
203
243
  },
204
- setAutoscale: function (val) {
205
- self.autoscale = val;
206
- },
207
- setMaxScore: function (val) {
208
- self.constraints.max = val;
244
+ get scaleOpts() {
245
+ return {
246
+ domain: this.domain,
247
+ stats: self.stats,
248
+ autoscaleType: this.autoscaleType,
249
+ scaleType: self.scaleType,
250
+ inverted: (0, configuration_1.getConf)(self, 'inverted'),
251
+ };
209
252
  },
210
- setRendererType: function (val) {
211
- self.rendererTypeNameState = val;
253
+ get canHaveFill() {
254
+ return self.rendererTypeName === 'XYPlotRenderer';
212
255
  },
213
- setMinScore: function (val) {
214
- self.constraints.min = val;
256
+ get autoscaleType() {
257
+ var _a;
258
+ return (_a = self.autoscale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'autoscale');
215
259
  },
216
- toggleCrossHatches: function () {
217
- self.displayCrossHatches = !self.displayCrossHatches;
260
+ get displayCrossHatchesSetting() {
261
+ const { displayCrossHatches: hatches, rendererConfig: conf } = self;
262
+ return hatches !== null && hatches !== void 0 ? hatches : (0, configuration_1.readConfObject)(conf, 'displayCrossHatches');
218
263
  },
219
- setCrossHatches: function (cross) {
220
- self.displayCrossHatches = cross;
264
+ };
265
+ })
266
+ .views(self => ({
267
+ get ticks() {
268
+ const { scaleType, domain, height } = self;
269
+ const minimalTicks = (0, configuration_1.getConf)(self, 'minimalTicks');
270
+ const inverted = (0, configuration_1.getConf)(self, 'inverted');
271
+ const range = [height - util_2.YSCALEBAR_LABEL_OFFSET, util_2.YSCALEBAR_LABEL_OFFSET];
272
+ const scale = (0, util_2.getScale)({
273
+ scaleType,
274
+ domain,
275
+ range,
276
+ inverted,
277
+ });
278
+ const ticks = (0, react_d3_axis_mod_1.axisPropsFromTickScale)(scale, 4);
279
+ return height < 100 || minimalTicks
280
+ ? { ...ticks, values: domain }
281
+ : ticks;
282
+ },
283
+ get adapterCapabilities() {
284
+ return pluginManager.getAdapterType(self.adapterTypeName)
285
+ .adapterCapabilities;
286
+ },
287
+ }))
288
+ .views(self => {
289
+ const { renderProps: superRenderProps } = self;
290
+ return {
291
+ renderProps() {
292
+ const superProps = superRenderProps();
293
+ const { filters, ticks, height, resolution, scaleOpts } = self;
294
+ return {
295
+ ...superProps,
296
+ notReady: superProps.notReady || !self.statsReady,
297
+ rpcDriverName: self.rpcDriverName,
298
+ displayModel: self,
299
+ config: self.rendererConfig,
300
+ displayCrossHatches: self.displayCrossHatchesSetting,
301
+ scaleOpts,
302
+ resolution,
303
+ height,
304
+ ticks,
305
+ filters,
306
+ };
221
307
  },
222
- }); })
223
- .views(function (self) { return ({
224
- get TooltipComponent() {
225
- return Tooltip_1.default;
308
+ get hasResolution() {
309
+ return self.adapterCapabilities.includes('hasResolution');
226
310
  },
227
- get adapterTypeName() {
228
- return self.adapterConfig.type;
311
+ get hasGlobalStats() {
312
+ return self.adapterCapabilities.includes('hasGlobalStats');
229
313
  },
230
- get rendererTypeName() {
231
- var viewName = self.rendererTypeNameState || (0, configuration_1.getConf)(self, 'defaultRendering');
232
- var rendererType = rendererTypes.get(viewName);
233
- if (!rendererType) {
234
- throw new Error("unknown alignments view name ".concat(viewName));
314
+ get fillSetting() {
315
+ if (self.filled) {
316
+ return 0;
317
+ }
318
+ else if (!self.filled && self.minSize === 1) {
319
+ return 1;
320
+ }
321
+ else {
322
+ return 2;
235
323
  }
236
- return rendererType;
237
- },
238
- // subclasses can define these, as snpcoverage track does
239
- get filters() {
240
- return undefined;
241
- },
242
- get scaleType() {
243
- return self.scale || (0, configuration_1.getConf)(self, 'scaleType');
244
- },
245
- get maxScore() {
246
- var max = self.constraints.max;
247
- return max !== null && max !== void 0 ? max : (0, configuration_1.getConf)(self, 'maxScore');
248
- },
249
- get minScore() {
250
- var min = self.constraints.min;
251
- return min !== null && min !== void 0 ? min : (0, configuration_1.getConf)(self, 'minScore');
252
- },
253
- }); })
254
- .views(function (self) { return ({
255
- get rendererConfig() {
256
- var configBlob = (0, configuration_1.getConf)(self, ['renderers', self.rendererTypeName]) || {};
257
- var color = self.color, posColor = self.posColor, negColor = self.negColor, summaryScoreMode = self.summaryScoreMode, scaleType = self.scaleType, displayCrossHatches = self.displayCrossHatches, fill = self.fill;
258
- return self.rendererType.configSchema.create(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, configBlob), (scaleType ? { scaleType: scaleType } : {})), (fill ? { filled: fill } : {})), (displayCrossHatches ? { displayCrossHatches: displayCrossHatches } : {})), (summaryScoreMode ? { summaryScoreMode: summaryScoreMode } : {})), (color ? { color: color } : {})), (negColor ? { negColor: negColor } : {})), (posColor ? { posColor: posColor } : {})), (0, mobx_state_tree_1.getEnv)(self));
259
- },
260
- }); })
261
- .views(function (self) {
262
- var oldDomain = [0, 0];
263
- return {
264
- get filled() {
265
- var fill = self.fill, conf = self.rendererConfig;
266
- return fill !== null && fill !== void 0 ? fill : (0, configuration_1.readConfObject)(conf, 'filled');
267
- },
268
- get summaryScoreModeSetting() {
269
- var summaryScoreMode = self.summaryScoreMode, conf = self.rendererConfig;
270
- return summaryScoreMode !== null && summaryScoreMode !== void 0 ? summaryScoreMode : (0, configuration_1.readConfObject)(conf, 'summaryScoreMode');
271
- },
272
- get domain() {
273
- var stats = self.stats, scaleType = self.scaleType, minScore = self.minScore, maxScore = self.maxScore;
274
- var ret = (0, util_2.getNiceDomain)({
275
- domain: [stats.scoreMin, stats.scoreMax],
276
- bounds: [minScore, maxScore],
277
- scaleType: scaleType,
278
- });
279
- // avoid weird scalebar if log value and empty region displayed
280
- if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
281
- return [0, Number.MIN_VALUE];
282
- }
283
- // avoid returning a new object if it matches the old value
284
- if (JSON.stringify(oldDomain) !== JSON.stringify(ret)) {
285
- oldDomain = ret;
286
- }
287
- return oldDomain;
288
- },
289
- get needsScalebar() {
290
- return (self.rendererTypeName === 'XYPlotRenderer' ||
291
- self.rendererTypeName === 'LinePlotRenderer');
292
- },
293
- get scaleOpts() {
294
- return {
295
- domain: this.domain,
296
- stats: self.stats,
297
- autoscaleType: this.autoscaleType,
298
- scaleType: self.scaleType,
299
- inverted: (0, configuration_1.getConf)(self, 'inverted'),
300
- };
301
- },
302
- get canHaveFill() {
303
- return self.rendererTypeName === 'XYPlotRenderer';
304
- },
305
- get autoscaleType() {
306
- var _a;
307
- return (_a = self.autoscale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'autoscale');
308
- },
309
- get displayCrossHatchesSetting() {
310
- var hatches = self.displayCrossHatches, conf = self.rendererConfig;
311
- return hatches !== null && hatches !== void 0 ? hatches : (0, configuration_1.readConfObject)(conf, 'displayCrossHatches');
312
- },
313
- };
314
- })
315
- .views(function (self) { return ({
316
- get ticks() {
317
- var scaleType = self.scaleType, domain = self.domain, height = self.height;
318
- var minimalTicks = (0, configuration_1.getConf)(self, 'minimalTicks');
319
- var range = [height - exports.YSCALEBAR_LABEL_OFFSET, exports.YSCALEBAR_LABEL_OFFSET];
320
- var scale = (0, util_2.getScale)({
321
- scaleType: scaleType,
322
- domain: domain,
323
- range: range,
324
- inverted: (0, configuration_1.getConf)(self, 'inverted'),
325
- });
326
- var ticks = (0, react_d3_axis_mod_1.axisPropsFromTickScale)(scale, 4);
327
- return height < 100 || minimalTicks
328
- ? __assign(__assign({}, ticks), { values: domain }) : ticks;
329
324
  },
330
- }); })
331
- .views(function (self) {
332
- var superRenderProps = self.renderProps;
333
- return {
334
- renderProps: function () {
335
- var superProps = superRenderProps();
336
- var filters = self.filters, ticks = self.ticks, height = self.height, resolution = self.resolution, scaleOpts = self.scaleOpts;
337
- return __assign(__assign({}, superProps), { notReady: superProps.notReady || !self.statsReady, rpcDriverName: self.rpcDriverName, displayModel: self, config: self.rendererConfig, displayCrossHatches: self.displayCrossHatchesSetting, scaleOpts: scaleOpts, resolution: resolution, height: height, ticks: ticks, filters: filters });
338
- },
339
- get adapterCapabilities() {
340
- return pluginManager.getAdapterType(self.adapterTypeName)
341
- .adapterCapabilities;
342
- },
343
- get hasResolution() {
344
- return this.adapterCapabilities.includes('hasResolution');
345
- },
346
- get hasGlobalStats() {
347
- return this.adapterCapabilities.includes('hasGlobalStats');
348
- },
349
- };
350
- })
351
- .views(function (self) {
352
- var superTrackMenuItems = self.trackMenuItems;
353
- var hasRenderings = (0, configuration_1.getConf)(self, 'defaultRendering');
354
- return {
355
- trackMenuItems: function () {
356
- return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(superTrackMenuItems()), false), __read((self.hasResolution
325
+ };
326
+ })
327
+ .views(self => {
328
+ const { trackMenuItems: superTrackMenuItems } = self;
329
+ const hasRenderings = (0, configuration_1.getConf)(self, 'defaultRendering');
330
+ return {
331
+ trackMenuItems() {
332
+ return [
333
+ ...superTrackMenuItems(),
334
+ ...(self.hasResolution
357
335
  ? [
358
336
  {
359
337
  label: 'Resolution',
360
338
  subMenu: [
361
339
  {
362
340
  label: 'Finer resolution',
363
- onClick: function () { return self.setResolution(self.resolution * 5); },
341
+ onClick: () => self.setResolution(self.resolution * 5),
364
342
  },
365
343
  {
366
344
  label: 'Coarser resolution',
367
- onClick: function () { return self.setResolution(self.resolution / 5); },
345
+ onClick: () => self.setResolution(self.resolution / 5),
368
346
  },
369
347
  ],
370
348
  },
371
349
  {
372
350
  label: 'Summary score mode',
373
- subMenu: ['min', 'max', 'avg', 'whiskers'].map(function (elt) { return ({
351
+ subMenu: ['min', 'max', 'avg', 'whiskers'].map(elt => ({
374
352
  label: elt,
375
- onClick: function () { return self.setSummaryScoreMode(elt); },
376
- }); }),
353
+ type: 'radio',
354
+ checked: self.summaryScoreModeSetting === elt,
355
+ onClick: () => self.setSummaryScoreMode(elt),
356
+ })),
377
357
  },
378
358
  ]
379
- : [])), false), __read((self.canHaveFill
359
+ : []),
360
+ ...(self.canHaveFill
380
361
  ? [
381
362
  {
382
- label: self.filled
383
- ? 'Turn off histogram fill'
384
- : 'Turn on histogram fill',
385
- onClick: function () { return self.setFill(!self.filled); },
363
+ label: 'Fill mode',
364
+ subMenu: ['filled', 'no fill', 'no fill w/ emphasis'].map((elt, idx) => ({
365
+ label: elt,
366
+ type: 'radio',
367
+ checked: self.fillSetting === idx,
368
+ onClick: () => self.setFill(idx),
369
+ })),
386
370
  },
387
371
  ]
388
- : [])), false), [
389
- {
390
- label: self.scaleType === 'log' ? 'Set linear scale' : 'Set log scale',
391
- onClick: function () { return self.toggleLogScale(); },
392
- },
393
- {
394
- type: 'checkbox',
395
- label: 'Draw cross hatches',
396
- checked: self.displayCrossHatchesSetting,
397
- onClick: function () { return self.toggleCrossHatches(); },
398
- }
399
- ], false), __read((hasRenderings
372
+ : []),
373
+ {
374
+ label: self.scaleType === 'log' ? 'Set linear scale' : 'Set log scale',
375
+ onClick: () => self.toggleLogScale(),
376
+ },
377
+ ...(self.needsScalebar
378
+ ? [
379
+ {
380
+ type: 'checkbox',
381
+ label: 'Draw cross hatches',
382
+ checked: self.displayCrossHatchesSetting,
383
+ onClick: () => self.toggleCrossHatches(),
384
+ },
385
+ ]
386
+ : []),
387
+ ...(hasRenderings
400
388
  ? [
401
389
  {
402
390
  label: 'Renderer type',
403
- subMenu: ['xyplot', 'density', 'line'].map(function (key) { return ({
391
+ subMenu: ['xyplot', 'density', 'line'].map(key => ({
404
392
  label: key,
405
- onClick: function () { return self.setRendererType(key); },
406
- }); }),
393
+ type: 'radio',
394
+ checked: self.rendererTypeNameSimple === key,
395
+ onClick: () => self.setRendererType(key),
396
+ })),
407
397
  },
408
398
  ]
409
- : [])), false), [
410
- {
411
- label: 'Autoscale type',
412
- subMenu: __spreadArray(__spreadArray([
413
- ['local', 'Local']
414
- ], __read((self.hasGlobalStats
399
+ : []),
400
+ {
401
+ label: 'Autoscale type',
402
+ subMenu: [
403
+ ['local', 'Local'],
404
+ ...(self.hasGlobalStats
415
405
  ? [
416
406
  ['global', 'Global'],
417
407
  ['globalsd', 'Global ± 3σ'],
418
408
  ]
419
- : [])), false), [
420
- ['localsd', 'Local ± 3σ'],
421
- ], false).map(function (_a) {
422
- var _b = __read(_a, 2), val = _b[0], label = _b[1];
423
- return ({
424
- label: label,
425
- onClick: function () { return self.setAutoscale(val); },
426
- });
427
- }),
409
+ : []),
410
+ ['localsd', 'Local ± 3σ'],
411
+ ].map(([val, label]) => ({
412
+ label,
413
+ type: 'radio',
414
+ checked: self.autoscaleType === val,
415
+ onClick: () => self.setAutoscale(val),
416
+ })),
417
+ },
418
+ {
419
+ label: 'Set min/max score',
420
+ onClick: () => {
421
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
422
+ SetMinMaxDlg,
423
+ { model: self, handleClose },
424
+ ]);
428
425
  },
429
- {
430
- label: 'Set min/max score',
431
- onClick: function () {
432
- (0, util_1.getSession)(self).queueDialog(function (handleClose) { return [
433
- SetMinMaxDlg,
434
- { model: self, handleClose: handleClose },
435
- ]; });
436
- },
426
+ },
427
+ {
428
+ label: 'Set color',
429
+ onClick: () => {
430
+ (0, util_1.getSession)(self).queueDialog(handleClose => [
431
+ SetColorDlg,
432
+ { model: self, handleClose },
433
+ ]);
437
434
  },
438
- {
439
- label: 'Set color',
440
- onClick: function () {
441
- (0, util_1.getSession)(self).queueDialog(function (handleClose) { return [
442
- SetColorDlg,
443
- { model: self, handleClose: handleClose },
444
- ]; });
445
- },
446
- },
447
- ], false);
448
- },
449
- };
450
- })
451
- .actions(function (self) {
452
- var superReload = self.reload, superRenderSvg = self.renderSvg;
453
- function getStats(opts) {
454
- return __awaiter(this, void 0, void 0, function () {
455
- var rpcManager, nd, adapterConfig, autoscaleType, sessionId, params, results, scoreMin, scoreMean, scoreStdDev, _a, dynamicBlocks, bpPerPx, results, scoreMin, scoreMean, scoreStdDev;
456
- return __generator(this, function (_b) {
457
- switch (_b.label) {
458
- case 0:
459
- rpcManager = (0, util_1.getSession)(self).rpcManager;
460
- nd = (0, configuration_1.getConf)(self, 'numStdDev') || 3;
461
- adapterConfig = self.adapterConfig, autoscaleType = self.autoscaleType;
462
- sessionId = (0, tracks_1.getRpcSessionId)(self);
463
- params = __assign({ sessionId: sessionId, adapterConfig: adapterConfig, statusCallback: function (message) {
464
- if ((0, mobx_state_tree_1.isAlive)(self)) {
465
- self.setMessage(message);
466
- }
467
- } }, opts);
468
- if (!(autoscaleType === 'global' || autoscaleType === 'globalsd')) return [3 /*break*/, 2];
469
- return [4 /*yield*/, rpcManager.call(sessionId, 'WiggleGetGlobalStats', params)];
470
- case 1:
471
- results = (_b.sent());
472
- scoreMin = results.scoreMin, scoreMean = results.scoreMean, scoreStdDev = results.scoreStdDev;
473
- // globalsd uses heuristic to avoid unnecessary scoreMin<0
474
- // if the scoreMin is never less than 0
475
- // helps with most coverage bigwigs just being >0
476
- return [2 /*return*/, autoscaleType === 'globalsd'
477
- ? __assign(__assign({}, results), { scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev, scoreMax: scoreMean + nd * scoreStdDev }) : results];
478
- case 2:
479
- if (!(autoscaleType === 'local' || autoscaleType === 'localsd')) return [3 /*break*/, 4];
480
- _a = (0, util_1.getContainingView)(self), dynamicBlocks = _a.dynamicBlocks, bpPerPx = _a.bpPerPx;
481
- return [4 /*yield*/, rpcManager.call(sessionId, 'WiggleGetMultiRegionStats', __assign(__assign({}, params), { regions: dynamicBlocks.contentBlocks.map(function (region) {
482
- var start = region.start, end = region.end;
483
- return __assign(__assign({}, JSON.parse(JSON.stringify(region))), { start: Math.floor(start), end: Math.ceil(end) });
484
- }), bpPerPx: bpPerPx }))];
485
- case 3:
486
- results = (_b.sent());
487
- scoreMin = results.scoreMin, scoreMean = results.scoreMean, scoreStdDev = results.scoreStdDev;
488
- // localsd uses heuristic to avoid unnecessary scoreMin<0 if the
489
- // scoreMin is never less than 0 helps with most coverage bigwigs
490
- // just being >0
491
- return [2 /*return*/, autoscaleType === 'localsd'
492
- ? __assign(__assign({}, results), { scoreMin: scoreMin >= 0 ? 0 : scoreMean - nd * scoreStdDev, scoreMax: scoreMean + nd * scoreStdDev }) : results];
493
- case 4:
494
- if (autoscaleType === 'zscale') {
495
- return [2 /*return*/, rpcManager.call(sessionId, 'WiggleGetGlobalStats', params)];
496
- }
497
- throw new Error("invalid autoscaleType '".concat(autoscaleType, "'"));
498
- }
499
- });
500
- });
501
- }
502
- return {
503
- // re-runs stats and refresh whole display on reload
504
- reload: function () {
505
- return __awaiter(this, void 0, void 0, function () {
506
- var aborter, stats, e_1;
507
- return __generator(this, function (_a) {
508
- switch (_a.label) {
509
- case 0:
510
- self.setError();
511
- aborter = new AbortController();
512
- self.setLoading(aborter);
513
- _a.label = 1;
514
- case 1:
515
- _a.trys.push([1, 3, , 4]);
516
- return [4 /*yield*/, getStats(__assign({ signal: aborter.signal }, self.renderProps()))];
517
- case 2:
518
- stats = _a.sent();
519
- if ((0, mobx_state_tree_1.isAlive)(self)) {
520
- self.updateStats(stats);
521
- superReload();
522
- }
523
- return [3 /*break*/, 4];
524
- case 3:
525
- e_1 = _a.sent();
526
- self.setError(e_1);
527
- return [3 /*break*/, 4];
528
- case 4: return [2 /*return*/];
529
- }
530
- });
531
- });
532
- },
533
- afterAttach: function () {
534
- var _this = this;
535
- (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(function () { return __awaiter(_this, void 0, void 0, function () {
536
- var view, aborter, wiggleStats, e_2;
537
- return __generator(this, function (_a) {
538
- switch (_a.label) {
539
- case 0:
540
- _a.trys.push([0, 2, , 3]);
541
- view = (0, util_1.getContainingView)(self);
542
- if (!view.initialized) {
543
- return [2 /*return*/];
544
- }
545
- if (!self.estimatedStatsReady) {
546
- return [2 /*return*/];
547
- }
548
- if (self.regionTooLarge) {
549
- return [2 /*return*/];
550
- }
551
- aborter = new AbortController();
552
- self.setLoading(aborter);
553
- return [4 /*yield*/, getStats(__assign({ signal: aborter.signal }, self.renderProps()))];
554
- case 1:
555
- wiggleStats = _a.sent();
556
- if ((0, mobx_state_tree_1.isAlive)(self)) {
557
- self.updateStats(wiggleStats);
558
- }
559
- return [3 /*break*/, 3];
560
- case 2:
561
- e_2 = _a.sent();
562
- if (!(0, util_1.isAbortException)(e_2) && (0, mobx_state_tree_1.isAlive)(self)) {
563
- console.error(e_2);
564
- self.setError(e_2);
565
- }
566
- return [3 /*break*/, 3];
567
- case 3: return [2 /*return*/];
568
- }
569
- });
570
- }); }, { delay: 1000 }));
571
- },
572
- renderSvg: function (opts) {
573
- return __awaiter(this, void 0, void 0, function () {
574
- var needsScalebar, stats, offsetPx, _a, _b, _c, _d, _e, _f;
575
- return __generator(this, function (_g) {
576
- switch (_g.label) {
577
- case 0: return [4 /*yield*/, (0, mobx_1.when)(function () { return self.statsReady && !!self.regionCannotBeRenderedText; })];
578
- case 1:
579
- _g.sent();
580
- needsScalebar = self.needsScalebar, stats = self.stats;
581
- offsetPx = (0, util_1.getContainingView)(self).offsetPx;
582
- _b = (_a = react_1.default).createElement;
583
- _c = [react_1.default.Fragment, null];
584
- _e = (_d = react_1.default).createElement;
585
- _f = ["g", { id: "snpcov" }];
586
- return [4 /*yield*/, superRenderSvg(opts)];
587
- case 2: return [2 /*return*/, (_b.apply(_a, _c.concat([_e.apply(_d, _f.concat([_g.sent()])), needsScalebar && stats ? (react_1.default.createElement("g", { transform: "translate(".concat(Math.max(-offsetPx, 0), ")") },
588
- react_1.default.createElement(WiggleDisplayComponent_1.YScaleBar, { model: self, orientation: "left" }))) : null])))];
589
- }
590
- });
435
+ },
436
+ ];
437
+ },
438
+ };
439
+ })
440
+ .actions(self => {
441
+ const { reload: superReload, renderSvg: superRenderSvg } = self;
442
+ return {
443
+ // re-runs stats and refresh whole display on reload
444
+ async reload() {
445
+ self.setError();
446
+ const aborter = new AbortController();
447
+ self.setLoading(aborter);
448
+ try {
449
+ const stats = await (0, util_2.getStats)(self, {
450
+ signal: aborter.signal,
451
+ ...self.renderProps(),
591
452
  });
592
- },
593
- };
594
- });
595
- };
453
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
454
+ self.updateStats(stats);
455
+ superReload();
456
+ }
457
+ }
458
+ catch (e) {
459
+ self.setError(e);
460
+ }
461
+ },
462
+ afterAttach() {
463
+ (0, util_2.statsAutorun)(self);
464
+ },
465
+ async renderSvg(opts) {
466
+ await (0, mobx_1.when)(() => self.statsReady && !!self.regionCannotBeRenderedText);
467
+ const { needsScalebar, stats } = self;
468
+ const { offsetPx } = (0, util_1.getContainingView)(self);
469
+ return (react_1.default.createElement(react_1.default.Fragment, null,
470
+ react_1.default.createElement("g", { id: "snpcov" }, await superRenderSvg(opts)),
471
+ needsScalebar && stats ? (react_1.default.createElement("g", { transform: `translate(${Math.max(-offsetPx, 0)})` },
472
+ react_1.default.createElement(WiggleDisplayComponent_1.YScaleBar, { model: self, orientation: "left" }))) : null));
473
+ },
474
+ };
475
+ });
596
476
  exports.default = stateModelFactory;
597
477
  //# sourceMappingURL=model.js.map