@jbrowse/plugin-wiggle 3.7.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/esm/BigWigAdapter/BigWigAdapter.d.ts +14 -1
  2. package/esm/BigWigAdapter/BigWigAdapter.js +118 -22
  3. package/esm/BigWigAdapter/configSchema.d.ts +2 -2
  4. package/esm/BigWigAdapter/configSchema.js +1 -1
  5. package/esm/BigWigAdapter/index.js +2 -2
  6. package/esm/CreateMultiWiggleExtension/index.js +1 -1
  7. package/esm/DensityRenderer/DensityRenderer.d.ts +5 -6
  8. package/esm/DensityRenderer/DensityRenderer.js +6 -5
  9. package/esm/DensityRenderer/configSchema.d.ts +3 -3
  10. package/esm/DensityRenderer/configSchema.js +1 -1
  11. package/esm/DensityRenderer/index.js +11 -9
  12. package/esm/DensityRenderer/makeImageData.d.ts +3 -0
  13. package/esm/DensityRenderer/makeImageData.js +13 -0
  14. package/esm/DensityRenderer/renderDensity.d.ts +3 -0
  15. package/esm/DensityRenderer/renderDensity.js +18 -0
  16. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +5 -7
  17. package/esm/LinePlotRenderer/LinePlotRenderer.js +6 -15
  18. package/esm/LinePlotRenderer/configSchema.d.ts +4 -4
  19. package/esm/LinePlotRenderer/configSchema.js +1 -1
  20. package/esm/LinePlotRenderer/index.js +4 -4
  21. package/esm/LinePlotRenderer/makeImageData.d.ts +3 -0
  22. package/esm/LinePlotRenderer/makeImageData.js +13 -0
  23. package/esm/LinePlotRenderer/renderLinePlot.d.ts +3 -0
  24. package/esm/LinePlotRenderer/renderLinePlot.js +23 -0
  25. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +2 -2
  26. package/esm/LinearWiggleDisplay/components/Tooltip.js +10 -6
  27. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  28. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  29. package/esm/LinearWiggleDisplay/configSchema.d.ts +9 -9
  30. package/esm/LinearWiggleDisplay/configSchema.js +2 -2
  31. package/esm/LinearWiggleDisplay/index.d.ts +3 -3
  32. package/esm/LinearWiggleDisplay/index.js +6 -6
  33. package/esm/LinearWiggleDisplay/model.d.ts +1128 -105
  34. package/esm/LinearWiggleDisplay/model.js +58 -18
  35. package/esm/LinearWiggleDisplay/renderSvg.d.ts +1 -1
  36. package/esm/LinearWiggleDisplay/renderSvg.js +3 -2
  37. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +5 -7
  38. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +6 -24
  39. package/esm/MultiDensityRenderer/configSchema.d.ts +3 -3
  40. package/esm/MultiDensityRenderer/configSchema.js +1 -1
  41. package/esm/MultiDensityRenderer/index.js +4 -4
  42. package/esm/MultiDensityRenderer/makeImageData.d.ts +3 -0
  43. package/esm/MultiDensityRenderer/makeImageData.js +7 -0
  44. package/esm/MultiDensityRenderer/renderMultiDensity.d.ts +3 -0
  45. package/esm/MultiDensityRenderer/renderMultiDensity.js +37 -0
  46. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +5 -7
  47. package/esm/MultiLineRenderer/MultiLineRenderer.js +6 -17
  48. package/esm/MultiLineRenderer/configSchema.d.ts +5 -5
  49. package/esm/MultiLineRenderer/configSchema.js +2 -2
  50. package/esm/MultiLineRenderer/index.js +4 -4
  51. package/esm/MultiLineRenderer/makeImageData.d.ts +3 -0
  52. package/esm/MultiLineRenderer/makeImageData.js +7 -0
  53. package/esm/MultiLineRenderer/renderMultiLine.d.ts +3 -0
  54. package/esm/MultiLineRenderer/renderMultiLine.js +34 -0
  55. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +2 -2
  56. package/esm/MultiLinearWiggleDisplay/components/ColorLegend.js +11 -6
  57. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +1 -1
  58. package/esm/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +4 -4
  59. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +1 -1
  60. package/esm/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +5 -5
  61. package/esm/MultiLinearWiggleDisplay/components/LegendItem.d.ts +3 -3
  62. package/esm/MultiLinearWiggleDisplay/components/LegendItem.js +1 -1
  63. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +6 -4
  64. package/esm/MultiLinearWiggleDisplay/components/LegendItemText.js +2 -2
  65. package/esm/MultiLinearWiggleDisplay/components/RectBg.d.ts +1 -1
  66. package/esm/MultiLinearWiggleDisplay/components/RectBg.js +4 -3
  67. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +2 -2
  68. package/esm/MultiLinearWiggleDisplay/components/ScoreLegend.js +3 -3
  69. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +1 -1
  70. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +2 -2
  71. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +1 -1
  72. package/esm/MultiLinearWiggleDisplay/components/SourcesGrid.js +2 -2
  73. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +2 -4
  74. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +8 -9
  75. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +1 -1
  76. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +3 -3
  77. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +1 -1
  78. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +4 -5
  79. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +1 -1
  80. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +12 -17
  81. package/esm/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +1 -1
  82. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +1 -1
  83. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +2 -2
  84. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +2 -2
  85. package/esm/MultiLinearWiggleDisplay/components/YScaleBars.js +5 -16
  86. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.d.ts +7 -0
  87. package/esm/MultiLinearWiggleDisplay/components/YScaleBarsWrapper.js +15 -0
  88. package/esm/MultiLinearWiggleDisplay/components/types.d.ts +10 -0
  89. package/esm/MultiLinearWiggleDisplay/components/types.js +1 -0
  90. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +4 -4
  91. package/esm/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +1 -1
  92. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +1 -1
  93. package/esm/MultiLinearWiggleDisplay/configSchema.d.ts +9 -9
  94. package/esm/MultiLinearWiggleDisplay/configSchema.js +2 -2
  95. package/esm/MultiLinearWiggleDisplay/index.js +3 -3
  96. package/esm/MultiLinearWiggleDisplay/model.d.ts +3624 -106
  97. package/esm/MultiLinearWiggleDisplay/model.js +78 -48
  98. package/esm/MultiLinearWiggleDisplay/renderSvg.d.ts +1 -1
  99. package/esm/MultiLinearWiggleDisplay/renderSvg.js +3 -2
  100. package/esm/MultiQuantitativeTrack/configSchema.d.ts +16 -11
  101. package/esm/MultiQuantitativeTrack/index.js +13 -2
  102. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +5 -7
  103. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +6 -29
  104. package/esm/MultiRowLineRenderer/configSchema.d.ts +5 -5
  105. package/esm/MultiRowLineRenderer/configSchema.js +2 -2
  106. package/esm/MultiRowLineRenderer/index.js +4 -4
  107. package/esm/MultiRowLineRenderer/makeImageData.d.ts +3 -0
  108. package/esm/MultiRowLineRenderer/makeImageData.js +7 -0
  109. package/esm/MultiRowLineRenderer/renderMultiRowLine.d.ts +3 -0
  110. package/esm/MultiRowLineRenderer/renderMultiRowLine.js +44 -0
  111. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +5 -7
  112. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +6 -29
  113. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +5 -5
  114. package/esm/MultiRowXYPlotRenderer/configSchema.js +2 -2
  115. package/esm/MultiRowXYPlotRenderer/index.js +4 -4
  116. package/esm/MultiRowXYPlotRenderer/makeImageData.d.ts +3 -0
  117. package/esm/MultiRowXYPlotRenderer/makeImageData.js +7 -0
  118. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.d.ts +3 -0
  119. package/esm/MultiRowXYPlotRenderer/renderMultiRowXYPlot.js +42 -0
  120. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +5 -0
  121. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +48 -18
  122. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -2
  123. package/esm/MultiWiggleAdapter/index.js +2 -2
  124. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +1 -1
  125. package/esm/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +3 -4
  126. package/esm/MultiWiggleAddTrackWorkflow/index.js +2 -2
  127. package/esm/MultiWiggleRendering.d.ts +7 -7
  128. package/esm/MultiWiggleRendering.js +9 -7
  129. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +5 -7
  130. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +6 -20
  131. package/esm/MultiXYPlotRenderer/configSchema.d.ts +5 -5
  132. package/esm/MultiXYPlotRenderer/configSchema.js +2 -2
  133. package/esm/MultiXYPlotRenderer/index.js +4 -4
  134. package/esm/MultiXYPlotRenderer/makeImageData.d.ts +3 -0
  135. package/esm/MultiXYPlotRenderer/makeImageData.js +7 -0
  136. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.d.ts +3 -0
  137. package/esm/MultiXYPlotRenderer/renderMultiXYPlot.js +35 -0
  138. package/esm/QuantitativeTrack/configSchema.d.ts +16 -11
  139. package/esm/QuantitativeTrack/index.js +13 -2
  140. package/esm/SVGErrorBox.d.ts +5 -0
  141. package/esm/SVGErrorBox.js +4 -0
  142. package/esm/Tooltip.d.ts +1 -3
  143. package/esm/Tooltip.js +7 -7
  144. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +2 -10
  145. package/esm/WiggleRPC/MultiWiggleClusterScoreMatrix.js +3 -15
  146. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +1 -1
  147. package/esm/WiggleRPC/MultiWiggleGetScoreMatrix.js +2 -5
  148. package/esm/WiggleRPC/MultiWiggleGetSources.js +1 -4
  149. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +1 -4
  150. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +10 -0
  151. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +26 -5
  152. package/esm/WiggleRPC/executeClusterScoreMatrix.d.ts +6 -0
  153. package/esm/WiggleRPC/executeClusterScoreMatrix.js +15 -0
  154. package/esm/WiggleRPC/getScoreMatrix.d.ts +1 -1
  155. package/esm/WiggleRPC/getScoreMatrix.js +9 -6
  156. package/esm/WiggleRPC/rpcMethods.d.ts +5 -5
  157. package/esm/WiggleRPC/rpcMethods.js +5 -5
  158. package/esm/WiggleRPC/types.d.ts +1 -1
  159. package/esm/WiggleRendering.d.ts +2 -3
  160. package/esm/WiggleRendering.js +16 -3
  161. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +5 -6
  162. package/esm/XYPlotRenderer/XYPlotRenderer.js +6 -20
  163. package/esm/XYPlotRenderer/configSchema.d.ts +5 -5
  164. package/esm/XYPlotRenderer/configSchema.js +2 -2
  165. package/esm/XYPlotRenderer/index.d.ts +3 -3
  166. package/esm/XYPlotRenderer/index.js +14 -12
  167. package/esm/XYPlotRenderer/makeImageData.d.ts +3 -0
  168. package/esm/XYPlotRenderer/makeImageData.js +13 -0
  169. package/esm/XYPlotRenderer/renderXYPlot.d.ts +3 -0
  170. package/esm/XYPlotRenderer/renderXYPlot.js +23 -0
  171. package/esm/configSchema.d.ts +3 -3
  172. package/esm/configSchema.js +1 -1
  173. package/esm/drawDensity.d.ts +4 -2
  174. package/esm/drawDensity.js +25 -15
  175. package/esm/drawLine.d.ts +5 -3
  176. package/esm/drawLine.js +118 -41
  177. package/esm/drawXY.d.ts +4 -2
  178. package/esm/drawXY.js +75 -36
  179. package/esm/getMultiWiggleSourcesAutorun.d.ts +3 -2
  180. package/esm/getMultiWiggleSourcesAutorun.js +7 -2
  181. package/esm/getQuantitativeStats.d.ts +4 -2
  182. package/esm/getQuantitativeStats.js +18 -7
  183. package/esm/getQuantitativeStatsAutorun.d.ts +3 -2
  184. package/esm/getQuantitativeStatsAutorun.js +3 -3
  185. package/esm/index.d.ts +15 -19
  186. package/esm/index.js +31 -37
  187. package/esm/multiRendererHelper.d.ts +7 -0
  188. package/esm/multiRendererHelper.js +12 -0
  189. package/esm/saveTrackFormats/bedGraph.d.ts +4 -0
  190. package/esm/saveTrackFormats/bedGraph.js +11 -0
  191. package/esm/shared/SharedWiggleConfigSchema.d.ts +5 -5
  192. package/esm/shared/SharedWiggleConfigSchema.js +1 -1
  193. package/esm/shared/SharedWiggleMixin.d.ts +1081 -133
  194. package/esm/shared/SharedWiggleMixin.js +48 -26
  195. package/esm/shared/YScaleBar.d.ts +1 -1
  196. package/esm/shared/YScaleBar.js +16 -4
  197. package/esm/shared/axisPropsFromTickScale.d.ts +7 -0
  198. package/esm/shared/axisPropsFromTickScale.js +12 -0
  199. package/esm/svgExportUtil.d.ts +9 -0
  200. package/esm/svgExportUtil.js +6 -0
  201. package/esm/types.d.ts +24 -0
  202. package/esm/types.js +1 -0
  203. package/esm/util.d.ts +34 -1
  204. package/esm/util.js +60 -1
  205. package/package.json +35 -38
  206. package/dist/BigWigAdapter/BigWigAdapter.d.ts +0 -25
  207. package/dist/BigWigAdapter/BigWigAdapter.js +0 -81
  208. package/dist/BigWigAdapter/configSchema.d.ts +0 -20
  209. package/dist/BigWigAdapter/configSchema.js +0 -37
  210. package/dist/BigWigAdapter/index.d.ts +0 -2
  211. package/dist/BigWigAdapter/index.js +0 -54
  212. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +0 -8
  213. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -26
  214. package/dist/CreateMultiWiggleExtension/index.d.ts +0 -2
  215. package/dist/CreateMultiWiggleExtension/index.js +0 -95
  216. package/dist/DensityRenderer/DensityRenderer.d.ts +0 -7
  217. package/dist/DensityRenderer/DensityRenderer.js +0 -46
  218. package/dist/DensityRenderer/configSchema.d.ts +0 -37
  219. package/dist/DensityRenderer/configSchema.js +0 -13
  220. package/dist/DensityRenderer/index.d.ts +0 -2
  221. package/dist/DensityRenderer/index.js +0 -17
  222. package/dist/GuessAdapter/index.d.ts +0 -2
  223. package/dist/GuessAdapter/index.js +0 -25
  224. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +0 -8
  225. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -56
  226. package/dist/LinePlotRenderer/configSchema.d.ts +0 -43
  227. package/dist/LinePlotRenderer/configSchema.js +0 -19
  228. package/dist/LinePlotRenderer/index.d.ts +0 -2
  229. package/dist/LinePlotRenderer/index.js +0 -17
  230. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +0 -12
  231. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -31
  232. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +0 -15
  233. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -32
  234. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  235. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -28
  236. package/dist/LinearWiggleDisplay/configSchema.d.ts +0 -78
  237. package/dist/LinearWiggleDisplay/configSchema.js +0 -29
  238. package/dist/LinearWiggleDisplay/index.d.ts +0 -5
  239. package/dist/LinearWiggleDisplay/index.js +0 -65
  240. package/dist/LinearWiggleDisplay/model.d.ts +0 -434
  241. package/dist/LinearWiggleDisplay/model.js +0 -262
  242. package/dist/LinearWiggleDisplay/renderSvg.d.ts +0 -3
  243. package/dist/LinearWiggleDisplay/renderSvg.js +0 -16
  244. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +0 -8
  245. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -65
  246. package/dist/MultiDensityRenderer/configSchema.d.ts +0 -37
  247. package/dist/MultiDensityRenderer/configSchema.js +0 -13
  248. package/dist/MultiDensityRenderer/index.d.ts +0 -2
  249. package/dist/MultiDensityRenderer/index.js +0 -17
  250. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +0 -8
  251. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -58
  252. package/dist/MultiLineRenderer/configSchema.d.ts +0 -49
  253. package/dist/MultiLineRenderer/configSchema.js +0 -26
  254. package/dist/MultiLineRenderer/index.d.ts +0 -2
  255. package/dist/MultiLineRenderer/index.js +0 -17
  256. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.d.ts +0 -7
  257. package/dist/MultiLinearWiggleDisplay/components/ColorLegend.js +0 -19
  258. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.d.ts +0 -7
  259. package/dist/MultiLinearWiggleDisplay/components/FullHeightScaleBar.js +0 -17
  260. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.d.ts +0 -7
  261. package/dist/MultiLinearWiggleDisplay/components/IndividualScaleBars.js +0 -15
  262. package/dist/MultiLinearWiggleDisplay/components/LegendItem.d.ts +0 -11
  263. package/dist/MultiLinearWiggleDisplay/components/LegendItem.js +0 -17
  264. package/dist/MultiLinearWiggleDisplay/components/LegendItemText.d.ts +0 -10
  265. package/dist/MultiLinearWiggleDisplay/components/LegendItemText.js +0 -13
  266. package/dist/MultiLinearWiggleDisplay/components/RectBg.d.ts +0 -8
  267. package/dist/MultiLinearWiggleDisplay/components/RectBg.js +0 -9
  268. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.d.ts +0 -5
  269. package/dist/MultiLinearWiggleDisplay/components/ScoreLegend.js +0 -19
  270. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +0 -9
  271. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -12
  272. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.d.ts +0 -7
  273. package/dist/MultiLinearWiggleDisplay/components/SourcesGrid.js +0 -130
  274. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +0 -18
  275. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -39
  276. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.d.ts +0 -6
  277. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialog.js +0 -29
  278. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.d.ts +0 -7
  279. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogAuto.js +0 -87
  280. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.d.ts +0 -7
  281. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/WiggleClusterDialogManual.js +0 -153
  282. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.d.ts +0 -8
  283. package/dist/MultiLinearWiggleDisplay/components/WiggleClusterDialog/types.js +0 -2
  284. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +0 -5
  285. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -14
  286. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.d.ts +0 -7
  287. package/dist/MultiLinearWiggleDisplay/components/YScaleBars.js +0 -28
  288. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialog.d.ts +0 -31
  289. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialog.js +0 -51
  290. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.d.ts +0 -10
  291. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogBulkEditPanel.js +0 -84
  292. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.d.ts +0 -1
  293. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogHelpfulTips.js +0 -7
  294. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.d.ts +0 -10
  295. package/dist/MultiLinearWiggleDisplay/components/ui/SetColorDialogRowPalettizer.js +0 -42
  296. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +0 -9
  297. package/dist/MultiLinearWiggleDisplay/components/util.js +0 -45
  298. package/dist/MultiLinearWiggleDisplay/configSchema.d.ts +0 -84
  299. package/dist/MultiLinearWiggleDisplay/configSchema.js +0 -44
  300. package/dist/MultiLinearWiggleDisplay/index.d.ts +0 -2
  301. package/dist/MultiLinearWiggleDisplay/index.js +0 -57
  302. package/dist/MultiLinearWiggleDisplay/model.d.ts +0 -453
  303. package/dist/MultiLinearWiggleDisplay/model.js +0 -413
  304. package/dist/MultiLinearWiggleDisplay/renderSvg.d.ts +0 -3
  305. package/dist/MultiLinearWiggleDisplay/renderSvg.js +0 -15
  306. package/dist/MultiLinearWiggleDisplay/types.d.ts +0 -15
  307. package/dist/MultiLinearWiggleDisplay/types.js +0 -2
  308. package/dist/MultiLinearWiggleDisplay/util.d.ts +0 -0
  309. package/dist/MultiLinearWiggleDisplay/util.js +0 -1
  310. package/dist/MultiQuantitativeTrack/configSchema.d.ts +0 -80
  311. package/dist/MultiQuantitativeTrack/configSchema.js +0 -11
  312. package/dist/MultiQuantitativeTrack/index.d.ts +0 -2
  313. package/dist/MultiQuantitativeTrack/index.js +0 -20
  314. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +0 -8
  315. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -70
  316. package/dist/MultiRowLineRenderer/configSchema.d.ts +0 -49
  317. package/dist/MultiRowLineRenderer/configSchema.js +0 -26
  318. package/dist/MultiRowLineRenderer/index.d.ts +0 -2
  319. package/dist/MultiRowLineRenderer/index.js +0 -17
  320. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +0 -8
  321. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -70
  322. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +0 -57
  323. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -34
  324. package/dist/MultiRowXYPlotRenderer/index.d.ts +0 -2
  325. package/dist/MultiRowXYPlotRenderer/index.js +0 -17
  326. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +0 -31
  327. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -110
  328. package/dist/MultiWiggleAdapter/configSchema.d.ts +0 -13
  329. package/dist/MultiWiggleAdapter/configSchema.js +0 -17
  330. package/dist/MultiWiggleAdapter/index.d.ts +0 -2
  331. package/dist/MultiWiggleAdapter/index.js +0 -57
  332. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.d.ts +0 -5
  333. package/dist/MultiWiggleAddTrackWorkflow/AddTrackWorkflow.js +0 -89
  334. package/dist/MultiWiggleAddTrackWorkflow/index.d.ts +0 -2
  335. package/dist/MultiWiggleAddTrackWorkflow/index.js +0 -46
  336. package/dist/MultiWiggleRendering.d.ts +0 -19
  337. package/dist/MultiWiggleRendering.js +0 -81
  338. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +0 -8
  339. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -61
  340. package/dist/MultiXYPlotRenderer/configSchema.d.ts +0 -57
  341. package/dist/MultiXYPlotRenderer/configSchema.js +0 -34
  342. package/dist/MultiXYPlotRenderer/index.d.ts +0 -2
  343. package/dist/MultiXYPlotRenderer/index.js +0 -17
  344. package/dist/QuantitativeTrack/configSchema.d.ts +0 -80
  345. package/dist/QuantitativeTrack/configSchema.js +0 -11
  346. package/dist/QuantitativeTrack/index.d.ts +0 -2
  347. package/dist/QuantitativeTrack/index.js +0 -20
  348. package/dist/Tooltip.d.ts +0 -18
  349. package/dist/Tooltip.js +0 -34
  350. package/dist/WiggleBaseRenderer.d.ts +0 -57
  351. package/dist/WiggleBaseRenderer.js +0 -42
  352. package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.d.ts +0 -14
  353. package/dist/WiggleRPC/MultiWiggleClusterScoreMatrix.js +0 -31
  354. package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.d.ts +0 -6
  355. package/dist/WiggleRPC/MultiWiggleGetScoreMatrix.js +0 -22
  356. package/dist/WiggleRPC/MultiWiggleGetSources.d.ts +0 -14
  357. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -22
  358. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.d.ts +0 -12
  359. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -22
  360. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.d.ts +0 -13
  361. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -22
  362. package/dist/WiggleRPC/getScoreMatrix.d.ts +0 -6
  363. package/dist/WiggleRPC/getScoreMatrix.js +0 -35
  364. package/dist/WiggleRPC/rpcMethods.d.ts +0 -5
  365. package/dist/WiggleRPC/rpcMethods.js +0 -21
  366. package/dist/WiggleRPC/types.d.ts +0 -13
  367. package/dist/WiggleRPC/types.js +0 -2
  368. package/dist/WiggleRendering.d.ts +0 -14
  369. package/dist/WiggleRendering.js +0 -35
  370. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +0 -7
  371. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -61
  372. package/dist/XYPlotRenderer/configSchema.d.ts +0 -57
  373. package/dist/XYPlotRenderer/configSchema.js +0 -34
  374. package/dist/XYPlotRenderer/index.d.ts +0 -5
  375. package/dist/XYPlotRenderer/index.js +0 -24
  376. package/dist/configSchema.d.ts +0 -37
  377. package/dist/configSchema.js +0 -47
  378. package/dist/drawDensity.d.ts +0 -18
  379. package/dist/drawDensity.js +0 -81
  380. package/dist/drawLine.d.ts +0 -20
  381. package/dist/drawLine.js +0 -77
  382. package/dist/drawXY.d.ts +0 -21
  383. package/dist/drawXY.js +0 -191
  384. package/dist/getMultiWiggleSourcesAutorun.d.ts +0 -18
  385. package/dist/getMultiWiggleSourcesAutorun.js +0 -38
  386. package/dist/getQuantitativeStats.d.ts +0 -13
  387. package/dist/getQuantitativeStats.js +0 -70
  388. package/dist/getQuantitativeStatsAutorun.d.ts +0 -13
  389. package/dist/getQuantitativeStatsAutorun.js +0 -35
  390. package/dist/index.d.ts +0 -91
  391. package/dist/index.js +0 -112
  392. package/dist/shared/SetMinMaxDialog.d.ts +0 -10
  393. package/dist/shared/SetMinMaxDialog.js +0 -26
  394. package/dist/shared/SharedWiggleConfigSchema.d.ts +0 -66
  395. package/dist/shared/SharedWiggleConfigSchema.js +0 -56
  396. package/dist/shared/SharedWiggleMixin.d.ts +0 -420
  397. package/dist/shared/SharedWiggleMixin.js +0 -343
  398. package/dist/shared/YScaleBar.d.ts +0 -9
  399. package/dist/shared/YScaleBar.js +0 -12
  400. package/dist/util.d.ts +0 -25
  401. package/dist/util.js +0 -105
  402. package/esm/WiggleBaseRenderer.d.ts +0 -57
  403. package/esm/WiggleBaseRenderer.js +0 -36
@@ -1,10 +1,10 @@
1
- import ReactComponent from '../MultiWiggleRendering';
2
- import MultiRowXYPlotRenderer from './MultiRowXYPlotRenderer';
3
- import configSchema from './configSchema';
1
+ import { lazy } from 'react';
2
+ import MultiRowXYPlotRenderer from "./MultiRowXYPlotRenderer.js";
3
+ import configSchema from "./configSchema.js";
4
4
  export default function MultiRowXYPlotRendererF(pluginManager) {
5
5
  pluginManager.addRendererType(() => new MultiRowXYPlotRenderer({
6
6
  name: 'MultiRowXYPlotRenderer',
7
- ReactComponent,
7
+ ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
8
8
  configSchema,
9
9
  pluginManager,
10
10
  }));
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
@@ -0,0 +1,7 @@
1
+ export async function makeImageData(renderProps, pluginManager) {
2
+ const { renderMultiWiggle } = await import("../multiRendererHelper.js");
3
+ return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
4
+ const { renderMultiRowXYPlot } = await import("./renderMultiRowXYPlot.js");
5
+ return renderMultiRowXYPlot(props, features);
6
+ });
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export declare function renderMultiRowXYPlot(renderProps: MultiRenderArgsDeserialized, features: Feature[]): Promise<import("librpc-web-mod").RpcResult>;
@@ -0,0 +1,42 @@
1
+ import { createStopTokenChecker, groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
2
+ import { rpcResult } from '@jbrowse/core/util/librpc';
3
+ import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
4
+ import { drawXY } from "../drawXY.js";
5
+ import { serializeWiggleFeature } from "../util.js";
6
+ export async function renderMultiRowXYPlot(renderProps, features) {
7
+ const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
8
+ const region = regions[0];
9
+ const width = (region.end - region.start) / bpPerPx;
10
+ const rowHeight = height / sources.length;
11
+ const lastCheck = createStopTokenChecker(stopToken);
12
+ const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
13
+ const groups = groupBy(features, f => f.get('source'));
14
+ let allReducedFeatures = [];
15
+ ctx.save();
16
+ for (const source of sources) {
17
+ const { reducedFeatures: reduced } = drawXY(ctx, {
18
+ ...renderProps,
19
+ features: groups[source.name] || [],
20
+ height: rowHeight,
21
+ colorCallback: () => source.color || 'blue',
22
+ lastCheck,
23
+ });
24
+ allReducedFeatures = allReducedFeatures.concat(reduced);
25
+ ctx.strokeStyle = 'rgba(200,200,200,0.8)';
26
+ ctx.beginPath();
27
+ ctx.moveTo(0, rowHeight);
28
+ ctx.lineTo(width, rowHeight);
29
+ ctx.stroke();
30
+ ctx.translate(0, rowHeight);
31
+ }
32
+ ctx.restore();
33
+ return { reducedFeatures: allReducedFeatures };
34
+ }));
35
+ const serialized = {
36
+ ...rest,
37
+ features: reducedFeatures.map(serializeWiggleFeature),
38
+ height,
39
+ width,
40
+ };
41
+ return rpcResult(serialized, collectTransferables(rest));
42
+ }
@@ -4,6 +4,7 @@ import type { Feature } from '@jbrowse/core/util';
4
4
  import type { AugmentedRegion as Region } from '@jbrowse/core/util/types';
5
5
  interface WiggleOptions extends BaseOptions {
6
6
  resolution?: number;
7
+ staticBlocks?: Region[];
7
8
  }
8
9
  interface AdapterEntry {
9
10
  dataAdapter: BaseFeatureDataAdapter;
@@ -13,16 +14,20 @@ interface AdapterEntry {
13
14
  }
14
15
  export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
15
16
  static capabilities: string[];
17
+ private adaptersP?;
16
18
  getAdapters(): Promise<AdapterEntry[]>;
19
+ private getAdaptersImpl;
17
20
  getRefNames(opts?: BaseOptions): Promise<string[]>;
18
21
  getGlobalStats(opts?: BaseOptions): Promise<{
19
22
  scoreMin: number;
20
23
  scoreMax: number;
21
24
  }>;
22
25
  getFeatures(region: Region, opts?: WiggleOptions): import("rxjs").Observable<Feature>;
26
+ getRegionQuantitativeStats(region: Region, opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
23
27
  getMultiRegionFeatureDensityStats(_regions: Region[]): Promise<{
24
28
  featureDensity: number;
25
29
  }>;
30
+ getMultiRegionQuantitativeStats(regions?: Region[], opts?: WiggleOptions): Promise<import("@jbrowse/core/util/stats").RectifiedQuantitativeStats>;
26
31
  getSources(_regions: Region[]): Promise<{
27
32
  name: string;
28
33
  source: string;
@@ -1,4 +1,5 @@
1
1
  import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
+ import { aggregateQuantitativeStats, blankStats, } from '@jbrowse/core/data_adapters/BaseAdapter/stats';
2
3
  import { SimpleFeature, max, min } from '@jbrowse/core/util';
3
4
  import { ObservableCreate } from '@jbrowse/core/util/rxjs';
4
5
  import { merge } from 'rxjs';
@@ -28,14 +29,26 @@ function getFilenameFromAdapterConfig(config) {
28
29
  return undefined;
29
30
  }
30
31
  }
31
- class MultiWiggleAdapter extends BaseFeatureDataAdapter {
32
+ export default class MultiWiggleAdapter extends BaseFeatureDataAdapter {
33
+ static capabilities = [
34
+ 'hasResolution',
35
+ 'hasLocalStats',
36
+ 'hasGlobalStats',
37
+ ];
38
+ adaptersP;
32
39
  async getAdapters() {
40
+ if (!this.adaptersP) {
41
+ this.adaptersP = this.getAdaptersImpl();
42
+ }
43
+ return this.adaptersP;
44
+ }
45
+ async getAdaptersImpl() {
33
46
  const getSubAdapter = this.getSubAdapter;
34
47
  if (!getSubAdapter) {
35
48
  throw new Error('no getSubAdapter available');
36
49
  }
37
50
  let subConfs = this.getConf('subadapters');
38
- if (!(subConfs === null || subConfs === void 0 ? void 0 : subConfs.length)) {
51
+ if (!subConfs?.length) {
39
52
  const entries = this.getConf('bigWigs');
40
53
  subConfs = entries.map(entry => ({
41
54
  type: 'BigWigAdapter',
@@ -45,7 +58,7 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
45
58
  },
46
59
  }));
47
60
  }
48
- const ret = await Promise.all(subConfs.map(async (conf) => {
61
+ return Promise.all(subConfs.map(async (conf) => {
49
62
  const dataAdapter = (await getSubAdapter(conf))
50
63
  .dataAdapter;
51
64
  const source = conf.source ||
@@ -58,7 +71,6 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
58
71
  source,
59
72
  };
60
73
  }));
61
- return ret;
62
74
  }
63
75
  async getRefNames(opts) {
64
76
  const adapters = await this.getAdapters();
@@ -67,7 +79,7 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
67
79
  }
68
80
  async getGlobalStats(opts) {
69
81
  const adapters = await this.getAdapters();
70
- const stats = (await Promise.all(adapters.map(adp => { var _a, _b; return (_b = (_a = adp.dataAdapter).getGlobalStats) === null || _b === void 0 ? void 0 : _b.call(_a, opts); }))).filter(f => !!f);
82
+ const stats = (await Promise.all(adapters.map(adp => adp.dataAdapter.getGlobalStats?.(opts)))).filter(f => !!f);
71
83
  return {
72
84
  scoreMin: min(stats.map(s => s.scoreMin)),
73
85
  scoreMax: max(stats.map(s => s.scoreMax)),
@@ -76,20 +88,44 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
76
88
  getFeatures(region, opts = {}) {
77
89
  return ObservableCreate(async (observer) => {
78
90
  const adapters = await this.getAdapters();
79
- merge(...adapters.map(adp => adp.dataAdapter.getFeatures(region, opts).pipe(map(p => p.get('source')
80
- ? p
81
- : new SimpleFeature({
82
- ...p.toJSON(),
83
- uniqueId: `${adp.source}-${p.id()}`,
84
- source: adp.source,
85
- }))))).subscribe(observer);
91
+ merge(...adapters.map(adp => {
92
+ const { source, dataAdapter } = adp;
93
+ return dataAdapter.getFeatures(region, opts).pipe(map(f => {
94
+ if (f.get('source')) {
95
+ return f;
96
+ }
97
+ const data = f.toJSON();
98
+ data.uniqueId = `${source}-${f.id()}`;
99
+ data.source = source;
100
+ return new SimpleFeature(data);
101
+ }));
102
+ })).subscribe(observer);
86
103
  }, opts.stopToken);
87
104
  }
105
+ async getRegionQuantitativeStats(region, opts) {
106
+ const adapters = await this.getAdapters();
107
+ const allStats = await Promise.all(adapters.map(async (adp) => {
108
+ const { dataAdapter } = adp;
109
+ return dataAdapter.getRegionQuantitativeStats(region, opts);
110
+ }));
111
+ return aggregateQuantitativeStats(allStats.filter(Boolean));
112
+ }
88
113
  async getMultiRegionFeatureDensityStats(_regions) {
89
114
  return {
90
115
  featureDensity: 0,
91
116
  };
92
117
  }
118
+ async getMultiRegionQuantitativeStats(regions = [], opts = {}) {
119
+ if (!regions.length) {
120
+ return blankStats();
121
+ }
122
+ const adapters = await this.getAdapters();
123
+ const allStats = await Promise.all(adapters.map(async (adp) => {
124
+ const { dataAdapter } = adp;
125
+ return dataAdapter.getMultiRegionQuantitativeStats(regions, opts);
126
+ }));
127
+ return aggregateQuantitativeStats(allStats.filter(Boolean));
128
+ }
93
129
  async getSources(_regions) {
94
130
  const adapters = await this.getAdapters();
95
131
  return adapters.map(({ type, bigWigLocation, dataAdapter, ...rest }) => {
@@ -100,9 +136,3 @@ class MultiWiggleAdapter extends BaseFeatureDataAdapter {
100
136
  });
101
137
  }
102
138
  }
103
- MultiWiggleAdapter.capabilities = [
104
- 'hasResolution',
105
- 'hasLocalStats',
106
- 'hasGlobalStats',
107
- ];
108
- export default MultiWiggleAdapter;
@@ -1,4 +1,4 @@
1
- declare const MultiWiggleAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const MultiWiggleAdapter: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
2
2
  subadapters: {
3
3
  type: string;
4
4
  defaultValue: never[];
@@ -9,5 +9,5 @@ declare const MultiWiggleAdapter: import("@jbrowse/core/configuration/configurat
9
9
  description: string;
10
10
  defaultValue: never[];
11
11
  };
12
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
12
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
13
13
  export default MultiWiggleAdapter;
@@ -1,5 +1,5 @@
1
1
  import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
- import configSchema from './configSchema';
2
+ import configSchema from "./configSchema.js";
3
3
  export default function MultiWiggleAdapterF(pluginManager) {
4
4
  pluginManager.addAdapterType(() => new AdapterType({
5
5
  name: 'MultiWiggleAdapter',
@@ -13,6 +13,6 @@ export default function MultiWiggleAdapterF(pluginManager) {
13
13
  adapterMetadata: {
14
14
  hiddenFromGUI: true,
15
15
  },
16
- getAdapterClass: () => import('./MultiWiggleAdapter').then(r => r.default),
16
+ getAdapterClass: () => import("./MultiWiggleAdapter.js").then(r => r.default),
17
17
  }));
18
18
  }
@@ -1,5 +1,5 @@
1
1
  import type { AddTrackModel } from '@jbrowse/plugin-data-management';
2
- declare const MultiWiggleAddTrackWorkflow: ({ model, }: {
2
+ declare const MultiWiggleAddTrackWorkflow: ({ model }: {
3
3
  model: AddTrackModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export default MultiWiggleAddTrackWorkflow;
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { getSession, isElectron, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
4
4
  import { storeBlobLocation } from '@jbrowse/core/util/tracks';
5
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
5
6
  import { Button, Paper, TextField } from '@mui/material';
6
7
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  paper: {
10
10
  margin: theme.spacing(),
@@ -25,7 +25,6 @@ function makeFileLocation(file) {
25
25
  : storeBlobLocation({ blob: file });
26
26
  }
27
27
  function doSubmit({ trackName, val, model, }) {
28
- var _a;
29
28
  const session = getSession(model);
30
29
  try {
31
30
  const trackId = [
@@ -54,7 +53,7 @@ function doSubmit({ trackName, val, model, }) {
54
53
  ...obj,
55
54
  },
56
55
  });
57
- (_a = model.view) === null || _a === void 0 ? void 0 : _a.showTrack(trackId);
56
+ model.view?.showTrack(trackId);
58
57
  }
59
58
  model.clearData();
60
59
  if (isSessionModelWithWidgets(session)) {
@@ -66,7 +65,7 @@ function doSubmit({ trackName, val, model, }) {
66
65
  session.notifyError(`${e}`, e);
67
66
  }
68
67
  }
69
- const MultiWiggleAddTrackWorkflow = observer(function ({ model, }) {
68
+ const MultiWiggleAddTrackWorkflow = observer(function MultiWiggleAddTrackWorkflow({ model }) {
70
69
  const { classes } = useStyles();
71
70
  const [val, setVal] = useState('');
72
71
  const [trackName, setTrackName] = useState(`MultiWiggle${Date.now()}`);
@@ -1,10 +1,10 @@
1
1
  import { lazy } from 'react';
2
2
  import { AddTrackWorkflowType } from '@jbrowse/core/pluggableElementTypes';
3
- import { types } from 'mobx-state-tree';
3
+ import { types } from '@jbrowse/mobx-state-tree';
4
4
  export default function MultiWiggleAddTrackWorkflowF(pm) {
5
5
  pm.addAddTrackWorkflowType(() => new AddTrackWorkflowType({
6
6
  name: 'Multi-wiggle track',
7
- ReactComponent: lazy(() => import('./AddTrackWorkflow')),
7
+ ReactComponent: lazy(() => import("./AddTrackWorkflow.js")),
8
8
  stateModel: types.model({}),
9
9
  }));
10
10
  }
@@ -1,6 +1,11 @@
1
- import type { Source } from './util';
1
+ import type { Source } from './util.ts';
2
2
  import type { Feature } from '@jbrowse/core/util';
3
3
  import type { Region } from '@jbrowse/core/util/types';
4
+ interface MultiWiggleDisplayModel {
5
+ isMultiRow: boolean;
6
+ setFeatureUnderMouse: (f?: Feature) => void;
7
+ selectFeature: (f: Feature) => void;
8
+ }
4
9
  declare const MultiWiggleRendering: (props: {
5
10
  regions: Region[];
6
11
  features: Map<string, Feature>;
@@ -9,11 +14,6 @@ declare const MultiWiggleRendering: (props: {
9
14
  height: number;
10
15
  blockKey: string;
11
16
  sources: Source[];
12
- displayModel?: {
13
- isMultiRow: boolean;
14
- };
15
- onMouseLeave?: (event: React.MouseEvent) => void;
16
- onMouseMove?: (event: React.MouseEvent, arg?: Feature) => void;
17
- onFeatureClick?: (event: React.MouseEvent, arg?: Feature) => void;
17
+ displayModel: MultiWiggleDisplayModel;
18
18
  }) => import("react/jsx-runtime").JSX.Element;
19
19
  export default MultiWiggleRendering;
@@ -3,11 +3,11 @@ import { useRef } from 'react';
3
3
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
4
4
  import { SimpleFeature } from '@jbrowse/core/util';
5
5
  import { observer } from 'mobx-react';
6
- const MultiWiggleRendering = observer(function (props) {
7
- const { regions, features, bpPerPx, width, height, sources, onMouseLeave = () => { }, onMouseMove = () => { }, onFeatureClick = () => { }, displayModel, } = props;
6
+ const MultiWiggleRendering = observer(function MultiWiggleRendering(props) {
7
+ const { regions, features, bpPerPx, width, height, sources, displayModel } = props;
8
8
  const region = regions[0];
9
9
  const ref = useRef(null);
10
- const { isMultiRow } = displayModel || {};
10
+ const { isMultiRow } = displayModel;
11
11
  function getFeatureUnderMouse(eventClientX, eventClientY) {
12
12
  if (!ref.current) {
13
13
  return;
@@ -63,13 +63,15 @@ const MultiWiggleRendering = observer(function (props) {
63
63
  return (_jsx("div", { ref: ref, onMouseMove: event => {
64
64
  const { clientX, clientY } = event;
65
65
  const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
66
- onMouseMove(event, featureUnderMouse);
66
+ displayModel.setFeatureUnderMouse(featureUnderMouse);
67
67
  }, onClick: event => {
68
68
  const { clientX, clientY } = event;
69
69
  const featureUnderMouse = getFeatureUnderMouse(clientX, clientY);
70
- onFeatureClick(event, featureUnderMouse);
71
- }, onMouseLeave: event => {
72
- onMouseLeave(event);
70
+ if (featureUnderMouse) {
71
+ displayModel.selectFeature(featureUnderMouse);
72
+ }
73
+ }, onMouseLeave: () => {
74
+ displayModel.setFeatureUnderMouse(undefined);
73
75
  }, style: {
74
76
  overflow: 'visible',
75
77
  position: 'relative',
@@ -1,8 +1,6 @@
1
- import WiggleBaseRenderer from '../WiggleBaseRenderer';
2
- import type { MultiRenderArgsDeserialized as MultiArgs } from '../WiggleBaseRenderer';
3
- import type { Feature } from '@jbrowse/core/util';
4
- export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
5
- draw(ctx: CanvasRenderingContext2D, props: MultiArgs): Promise<{
6
- reducedFeatures: Feature[];
7
- }>;
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
3
+ export default class MultiXYPlotRenderer extends FeatureRendererType {
4
+ supportsSVG: boolean;
5
+ render(renderProps: MultiRenderArgsDeserialized): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
8
6
  }
@@ -1,22 +1,8 @@
1
- import { forEachWithStopTokenCheck, groupBy } from '@jbrowse/core/util';
2
- import WiggleBaseRenderer from '../WiggleBaseRenderer';
3
- import { YSCALEBAR_LABEL_OFFSET } from '../util';
4
- export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
5
- async draw(ctx, props) {
6
- const { stopToken, sources, features } = props;
7
- const groups = groupBy(features.values(), f => f.get('source'));
8
- const { drawXY } = await import('../drawXY');
9
- let feats = [];
10
- forEachWithStopTokenCheck(sources, stopToken, source => {
11
- const features = groups[source.name] || [];
12
- const { reducedFeatures } = drawXY(ctx, {
13
- ...props,
14
- features,
15
- offset: YSCALEBAR_LABEL_OFFSET,
16
- colorCallback: () => source.color || 'blue',
17
- });
18
- feats = feats.concat(reducedFeatures);
19
- });
20
- return { reducedFeatures: feats };
1
+ import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
2
+ export default class MultiXYPlotRenderer extends FeatureRendererType {
3
+ supportsSVG = true;
4
+ async render(renderProps) {
5
+ const { makeImageData } = await import("./makeImageData.js");
6
+ return makeImageData(renderProps, this.pluginManager);
21
7
  }
22
8
  }
@@ -1,4 +1,4 @@
1
- declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
1
+ declare const configSchema: import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
2
2
  filled: {
3
3
  type: string;
4
4
  defaultValue: boolean;
@@ -10,7 +10,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
10
10
  };
11
11
  summaryScoreMode: {
12
12
  type: string;
13
- model: import("mobx-state-tree").ISimpleType<string>;
13
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
14
14
  description: string;
15
15
  defaultValue: string;
16
16
  };
@@ -18,7 +18,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
18
18
  type: string;
19
19
  defaultValue: number;
20
20
  };
21
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
21
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaType<{
22
22
  color: {
23
23
  type: string;
24
24
  description: string;
@@ -44,7 +44,7 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
44
44
  };
45
45
  bicolorPivot: {
46
46
  type: string;
47
- model: import("mobx-state-tree").ISimpleType<string>;
47
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
48
48
  description: string;
49
49
  defaultValue: string;
50
50
  };
@@ -53,5 +53,5 @@ declare const configSchema: import("@jbrowse/core/configuration/configurationSch
53
53
  defaultValue: number;
54
54
  description: string;
55
55
  };
56
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
56
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema.ts").ConfigurationSchemaOptions<undefined, undefined>>, undefined>>;
57
57
  export default configSchema;
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- import { types } from 'mobx-state-tree';
3
- import baseWiggleRendererConfigSchema from '../configSchema';
2
+ import { types } from '@jbrowse/mobx-state-tree';
3
+ import baseWiggleRendererConfigSchema from "../configSchema.js";
4
4
  function x() { }
5
5
  const configSchema = ConfigurationSchema('MultiXYPlotRenderer', {
6
6
  filled: {
@@ -1,10 +1,10 @@
1
- import ReactComponent from '../MultiWiggleRendering';
2
- import MultiXYPlotRenderer from './MultiXYPlotRenderer';
3
- import configSchema from './configSchema';
1
+ import { lazy } from 'react';
2
+ import MultiXYPlotRenderer from "./MultiXYPlotRenderer.js";
3
+ import configSchema from "./configSchema.js";
4
4
  export default function MultiXYPlotRendererF(pluginManager) {
5
5
  pluginManager.addRendererType(() => new MultiXYPlotRenderer({
6
6
  name: 'MultiXYPlotRenderer',
7
- ReactComponent,
7
+ ReactComponent: lazy(() => import("../MultiWiggleRendering.js")),
8
8
  configSchema,
9
9
  pluginManager,
10
10
  }));
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ export declare function makeImageData(renderProps: MultiRenderArgsDeserialized, pluginManager: PluginManager): Promise<import("@jbrowse/core/pluggableElementTypes/renderers/RendererType").RenderReturn>;
@@ -0,0 +1,7 @@
1
+ export async function makeImageData(renderProps, pluginManager) {
2
+ const { renderMultiWiggle } = await import("../multiRendererHelper.js");
3
+ return renderMultiWiggle(pluginManager, renderProps, async (props, features) => {
4
+ const { renderMultiXYPlot } = await import("./renderMultiXYPlot.js");
5
+ return renderMultiXYPlot(props, features);
6
+ });
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { MultiRenderArgsDeserialized } from '../types.ts';
2
+ import type { Feature } from '@jbrowse/core/util';
3
+ export declare function renderMultiXYPlot(renderProps: MultiRenderArgsDeserialized, features: Feature[]): Promise<import("librpc-web-mod").RpcResult>;
@@ -0,0 +1,35 @@
1
+ import { groupBy, renderToAbstractCanvas, updateStatus, } from '@jbrowse/core/util';
2
+ import { rpcResult } from '@jbrowse/core/util/librpc';
3
+ import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill';
4
+ import { createStopTokenChecker } from '@jbrowse/core/util/stopToken';
5
+ import { drawXY } from "../drawXY.js";
6
+ import { serializeWiggleFeature } from "../util.js";
7
+ export async function renderMultiXYPlot(renderProps, features) {
8
+ const { sources, height, regions, bpPerPx, stopToken, statusCallback = () => { }, } = renderProps;
9
+ const region = regions[0];
10
+ const width = (region.end - region.start) / bpPerPx;
11
+ const lastCheck = createStopTokenChecker(stopToken);
12
+ const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => {
13
+ const groups = groupBy(features, f => f.get('source'));
14
+ let allReducedFeatures = [];
15
+ for (const source of sources) {
16
+ const { reducedFeatures: reduced } = drawXY(ctx, {
17
+ ...renderProps,
18
+ features: groups[source.name] || [],
19
+ colorCallback: () => source.color || 'blue',
20
+ lastCheck,
21
+ });
22
+ allReducedFeatures = allReducedFeatures.concat(reduced);
23
+ }
24
+ return {
25
+ reducedFeatures: allReducedFeatures,
26
+ };
27
+ }));
28
+ const serialized = {
29
+ ...rest,
30
+ features: reducedFeatures.map(serializeWiggleFeature),
31
+ height,
32
+ width,
33
+ };
34
+ return rpcResult(serialized, collectTransferables(rest));
35
+ }
@@ -1,5 +1,5 @@
1
1
  import type PluginManager from '@jbrowse/core/PluginManager';
2
- declare function configSchemaFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
+ declare function configSchemaFactory(pluginManager: PluginManager): import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{}, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
3
3
  name: {
4
4
  description: string;
5
5
  type: string;
@@ -25,8 +25,13 @@ declare function configSchemaFactory(pluginManager: PluginManager): import("@jbr
25
25
  description: string;
26
26
  defaultValue: {};
27
27
  };
28
- adapter: import("mobx-state-tree").IAnyModelType;
29
- textSearching: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
28
+ rpcDriverName: {
29
+ type: string;
30
+ description: string;
31
+ defaultValue: string;
32
+ };
33
+ adapter: import("@jbrowse/mobx-state-tree").IAnyModelType;
34
+ textSearching: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
30
35
  indexingAttributes: {
31
36
  type: string;
32
37
  description: string;
@@ -37,10 +42,10 @@ declare function configSchemaFactory(pluginManager: PluginManager): import("@jbr
37
42
  description: string;
38
43
  defaultValue: string[];
39
44
  };
40
- textSearchAdapter: import("mobx-state-tree").IAnyModelType;
41
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
42
- displays: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
43
- formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
45
+ textSearchAdapter: import("@jbrowse/mobx-state-tree").IAnyModelType;
46
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
47
+ displays: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyModelType>;
48
+ formatDetails: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
44
49
  feature: {
45
50
  type: string;
46
51
  description: string;
@@ -63,8 +68,8 @@ declare function configSchemaFactory(pluginManager: PluginManager): import("@jbr
63
68
  defaultValue: number;
64
69
  description: string;
65
70
  };
66
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
67
- formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
71
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
72
+ formatAbout: import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaType<{
68
73
  config: {
69
74
  type: string;
70
75
  description: string;
@@ -75,6 +80,6 @@ declare function configSchemaFactory(pluginManager: PluginManager): import("@jbr
75
80
  type: string;
76
81
  defaultValue: boolean;
77
82
  };
78
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
79
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
83
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
84
+ }, import("node_modules/@jbrowse/core/src/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
80
85
  export default configSchemaFactory;
@@ -1,6 +1,7 @@
1
1
  import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType';
2
2
  import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models';
3
- import configSchemaF from './configSchema';
3
+ import configSchemaF from "./configSchema.js";
4
+ import { stringifyBedGraph } from "../saveTrackFormats/bedGraph.js";
4
5
  export default function QuantitativeTrackF(pluginManager) {
5
6
  pluginManager.addTrackType(() => {
6
7
  const configSchema = configSchemaF(pluginManager);
@@ -8,7 +9,17 @@ export default function QuantitativeTrackF(pluginManager) {
8
9
  name: 'QuantitativeTrack',
9
10
  displayName: 'Quantitative track',
10
11
  configSchema,
11
- stateModel: createBaseTrackModel(pluginManager, 'QuantitativeTrack', configSchema),
12
+ stateModel: createBaseTrackModel(pluginManager, 'QuantitativeTrack', configSchema).views(() => ({
13
+ saveTrackFileFormatOptions() {
14
+ return {
15
+ bedGraph: {
16
+ name: 'BedGraph',
17
+ extension: 'bedgraph',
18
+ callback: stringifyBedGraph,
19
+ },
20
+ };
21
+ },
22
+ })),
12
23
  });
13
24
  });
14
25
  }
@@ -0,0 +1,5 @@
1
+ export declare function ErrorBox({ error, width, height, }: {
2
+ error: unknown;
3
+ width: number;
4
+ height: number;
5
+ }): import("react/jsx-runtime").JSX.Element;