@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
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { Region } from '@jbrowse/core/util/types';
3
+ import { Feature } from '@jbrowse/core/util';
4
+ import { Source } from './util';
5
+ declare function WiggleRendering(props: {
6
+ regions: Region[];
7
+ features: Map<string, Feature>;
8
+ bpPerPx: number;
9
+ width: number;
10
+ height: number;
11
+ onMouseLeave: Function;
12
+ onMouseMove: Function;
13
+ onFeatureClick: Function;
14
+ blockKey: string;
15
+ sources: Source[];
16
+ displayModel: {
17
+ isMultiRow: boolean;
18
+ };
19
+ }): JSX.Element;
20
+ declare const _default: typeof WiggleRendering;
21
+ export default _default;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mobx_react_1 = require("mobx-react");
27
+ const react_1 = __importStar(require("react"));
28
+ const util_1 = require("@jbrowse/core/util");
29
+ const ui_1 = require("@jbrowse/core/ui");
30
+ function WiggleRendering(props) {
31
+ const { regions, features, bpPerPx, width, height, sources, onMouseLeave = () => { }, onMouseMove = () => { }, onFeatureClick = () => { }, displayModel, } = props;
32
+ const [region] = regions;
33
+ const ref = (0, react_1.useRef)(null);
34
+ function getFeatureUnderMouse(eventClientX, eventClientY) {
35
+ if (!ref.current) {
36
+ return;
37
+ }
38
+ const rect = ref.current.getBoundingClientRect();
39
+ const offsetX = eventClientX - rect.left;
40
+ const offsetY = eventClientY - rect.top;
41
+ const source = sources[Math.floor((offsetY / height) * sources.length)];
42
+ if (!source) {
43
+ return;
44
+ }
45
+ const px = region.reversed ? width - offsetX : offsetX;
46
+ const mouseoverBp = region.start + bpPerPx * px;
47
+ let featureUnderMouse;
48
+ if (displayModel.isMultiRow) {
49
+ for (const feature of features.values()) {
50
+ if (feature.get('source') !== source.name) {
51
+ continue;
52
+ }
53
+ if (mouseoverBp <= feature.get('end') + bpPerPx &&
54
+ mouseoverBp >= feature.get('start')) {
55
+ featureUnderMouse = feature;
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ else {
61
+ const featuresUnderMouse = [];
62
+ for (const feature of features.values()) {
63
+ if (mouseoverBp <= feature.get('end') + bpPerPx &&
64
+ mouseoverBp >= feature.get('start')) {
65
+ featuresUnderMouse.push(feature);
66
+ }
67
+ }
68
+ if (featuresUnderMouse.length) {
69
+ const pos = Math.floor(mouseoverBp);
70
+ featureUnderMouse = new util_1.SimpleFeature({
71
+ uniqueId: 'mouseoverfeat',
72
+ sources: Object.fromEntries(featuresUnderMouse
73
+ .map(f => f.toJSON())
74
+ .map(f => {
75
+ const { refName, start, end, source, ...rest } = f;
76
+ return [source, rest];
77
+ })),
78
+ ...region,
79
+ start: pos,
80
+ end: pos + 1,
81
+ });
82
+ }
83
+ }
84
+ return featureUnderMouse;
85
+ }
86
+ return (react_1.default.createElement("div", { ref: ref, onMouseMove: event => {
87
+ const featureUnderMouse = getFeatureUnderMouse(event.clientX, event.clientY);
88
+ onMouseMove(event, featureUnderMouse);
89
+ }, onClick: event => {
90
+ const featureUnderMouse = getFeatureUnderMouse(event.clientX, event.clientY);
91
+ onFeatureClick(event, featureUnderMouse);
92
+ }, onMouseLeave: event => onMouseLeave(event), style: {
93
+ overflow: 'visible',
94
+ position: 'relative',
95
+ height,
96
+ } },
97
+ react_1.default.createElement(ui_1.PrerenderedCanvas, { ...props })));
98
+ }
99
+ exports.default = (0, mobx_react_1.observer)(WiggleRendering);
100
+ //# sourceMappingURL=MultiWiggleRendering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiWiggleRendering.js","sourceRoot":"","sources":["../src/MultiWiggleRendering.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Feature } from '@jbrowse/core/util';
2
+ import WiggleBaseRenderer, { MultiRenderArgsDeserialized as MultiArgs } from '../WiggleBaseRenderer';
3
+ export default class MultiXYPlotRenderer extends WiggleBaseRenderer {
4
+ draw(ctx: CanvasRenderingContext2D, props: MultiArgs): Promise<{
5
+ reducedFeatures: Feature[];
6
+ }>;
7
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const drawxy_1 = require("../drawxy");
30
+ const util_1 = require("../util");
31
+ const WiggleBaseRenderer_1 = __importDefault(require("../WiggleBaseRenderer"));
32
+ class MultiXYPlotRenderer extends WiggleBaseRenderer_1.default {
33
+ // @ts-ignore
34
+ async draw(ctx, props) {
35
+ const { sources, features } = props;
36
+ const groups = (0, util_1.groupBy)([...features.values()], f => f.get('source'));
37
+ const Color = await Promise.resolve().then(() => __importStar(require('color'))).then(f => f.default);
38
+ let feats = [];
39
+ sources.forEach(source => {
40
+ const features = groups[source.name];
41
+ if (!features) {
42
+ return;
43
+ }
44
+ const { reducedFeatures } = (0, drawxy_1.drawXY)(ctx, {
45
+ ...props,
46
+ features,
47
+ offset: util_1.YSCALEBAR_LABEL_OFFSET,
48
+ colorCallback: () => source.color || 'blue',
49
+ Color,
50
+ });
51
+ feats = feats.concat(reducedFeatures);
52
+ });
53
+ return { reducedFeatures: feats };
54
+ }
55
+ }
56
+ exports.default = MultiXYPlotRenderer;
57
+ //# sourceMappingURL=MultiXYPlotRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiXYPlotRenderer.js","sourceRoot":"","sources":["../../src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sCAAkC;AAClC,kCAAyD;AAEzD,+EAE8B;AAE9B,MAAqB,mBAAoB,SAAQ,4BAAkB;IACjE,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,GAA6B,EAAE,KAAgB;QACxD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QACnC,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,MAAM,kDAAO,OAAO,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,KAAK,GAAG,EAAe,CAAA;QAC3B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAM;aACP;YACD,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,eAAM,EAAC,GAAG,EAAE;gBACtC,GAAG,KAAK;gBACR,QAAQ;gBACR,MAAM,EAAE,6BAAsB;gBAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM;gBAC3C,KAAK;aACN,CAAC,CAAA;YACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC;CACF;AAvBD,sCAuBC"}
@@ -0,0 +1,2 @@
1
+ declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
2
+ export default configSchema;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const configuration_1 = require("@jbrowse/core/configuration");
7
+ const mobx_state_tree_1 = require("mobx-state-tree");
8
+ const configSchema_1 = __importDefault(require("../configSchema"));
9
+ const configSchema = (0, configuration_1.ConfigurationSchema)('MultiXYPlotRenderer', {
10
+ filled: {
11
+ type: 'boolean',
12
+ defaultValue: true,
13
+ },
14
+ displayCrossHatches: {
15
+ type: 'boolean',
16
+ description: 'choose to draw cross hatches (sideways lines)',
17
+ defaultValue: false,
18
+ },
19
+ summaryScoreMode: {
20
+ type: 'stringEnum',
21
+ model: mobx_state_tree_1.types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
22
+ description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
23
+ defaultValue: 'avg',
24
+ },
25
+ minSize: {
26
+ type: 'number',
27
+ defaultValue: 0,
28
+ },
29
+ }, { baseConfiguration: configSchema_1.default, explicitlyTyped: true });
30
+ exports.default = configSchema;
31
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/MultiXYPlotRenderer/configSchema.ts"],"names":[],"mappings":";;;;;AAAA,+DAAiE;AACjE,qDAAuC;AACvC,mEAA0C;AAE1C,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,qBAAqB,EACrB;IACE,MAAM,EAAE;QACN,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAI;KACnB;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,KAAK;KACpB;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,uBAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACzE,WAAW,EACT,oGAAoG;QACtG,YAAY,EAAE,KAAK;KACpB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC;KAChB;CACF,EACD,EAAE,iBAAiB,EAAE,sBAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAC3D,CAAA;AACD,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const MultiWiggleRendering_1 = __importDefault(require("../MultiWiggleRendering"));
7
+ const MultiXYPlotRenderer_1 = __importDefault(require("./MultiXYPlotRenderer"));
8
+ const configSchema_1 = __importDefault(require("./configSchema"));
9
+ exports.default = (pluginManager) => {
10
+ pluginManager.addRendererType(() => new MultiXYPlotRenderer_1.default({
11
+ name: 'MultiXYPlotRenderer',
12
+ ReactComponent: MultiWiggleRendering_1.default,
13
+ configSchema: configSchema_1.default,
14
+ pluginManager,
15
+ }));
16
+ };
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MultiXYPlotRenderer/index.ts"],"names":[],"mappings":";;;;;AAEA,mFAAoD;AACpD,gFAAuD;AACvD,kEAAyC;AAEzC,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,eAAe,CAC3B,GAAG,EAAE,CACH,IAAI,6BAAmB,CAAC;QACtB,IAAI,EAAE,qBAAqB;QAC3B,cAAc,EAAd,8BAAc;QACd,YAAY,EAAZ,sBAAY;QACZ,aAAa;KACd,CAAC,CACL,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import PluginManager from '@jbrowse/core/PluginManager';
2
+ declare const _default: (pluginManager: PluginManager) => void;
3
+ export default _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const configuration_1 = require("@jbrowse/core/configuration");
7
+ const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
8
+ const TrackType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/TrackType"));
9
+ exports.default = (pluginManager) => {
10
+ pluginManager.addTrackType(() => {
11
+ const configSchema = (0, configuration_1.ConfigurationSchema)('QuantitativeTrack', {}, { baseConfiguration: (0, models_1.createBaseTrackConfig)(pluginManager) });
12
+ return new TrackType_1.default({
13
+ name: 'QuantitativeTrack',
14
+ configSchema,
15
+ stateModel: (0, models_1.createBaseTrackModel)(pluginManager, 'QuantitativeTrack', configSchema),
16
+ });
17
+ });
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/QuantitativeTrack/index.ts"],"names":[],"mappings":";;;;;AAAA,+DAAiE;AACjE,uEAGmD;AACnD,8FAAqE;AAGrE,kBAAe,CAAC,aAA4B,EAAE,EAAE;IAC9C,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAA,mCAAmB,EACtC,mBAAmB,EACnB,EAAE,EACF,EAAE,iBAAiB,EAAE,IAAA,8BAAqB,EAAC,aAAa,CAAC,EAAE,CAC5D,CAAA;QACD,OAAO,IAAI,mBAAS,CAAC;YACnB,IAAI,EAAE,mBAAmB;YACzB,YAAY;YACZ,UAAU,EAAE,IAAA,6BAAoB,EAC9B,aAAa,EACb,mBAAmB,EACnB,YAAY,CACb;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { Feature } from '@jbrowse/core/util';
3
+ declare type Coord = [number, number];
4
+ export declare type TooltipContentsComponent = React.ForwardRefExoticComponent<{
5
+ feature: Feature;
6
+ model: any;
7
+ } & React.RefAttributes<HTMLDivElement>>;
8
+ declare function Tooltip({ model, height, clientMouseCoord, offsetMouseCoord, clientRect, TooltipContents, useClientY, }: {
9
+ model: {
10
+ featureUnderMouse: Feature;
11
+ };
12
+ useClientY?: boolean;
13
+ height: number;
14
+ clientMouseCoord: Coord;
15
+ offsetMouseCoord: Coord;
16
+ clientRect?: DOMRect;
17
+ TooltipContents: TooltipContentsComponent;
18
+ }): JSX.Element | null;
19
+ declare const _default: typeof Tooltip;
20
+ export default _default;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const mobx_react_1 = require("mobx-react");
28
+ const material_1 = require("@mui/material");
29
+ const mui_1 = require("tss-react/mui");
30
+ // locals
31
+ const util_1 = require("./util");
32
+ const react_popper_1 = require("react-popper");
33
+ const useStyles = (0, mui_1.makeStyles)()(theme => ({
34
+ // these styles come from
35
+ // https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Tooltip/Tooltip.js
36
+ tooltip: {
37
+ position: 'absolute',
38
+ pointerEvents: 'none',
39
+ backgroundColor: (0, material_1.alpha)(theme.palette.grey[700], 0.9),
40
+ borderRadius: theme.shape.borderRadius,
41
+ color: theme.palette.common.white,
42
+ fontFamily: theme.typography.fontFamily,
43
+ padding: '4px 8px',
44
+ fontSize: theme.typography.pxToRem(12),
45
+ lineHeight: `${(0, util_1.round)(14 / 10)}em`,
46
+ maxWidth: 300,
47
+ wordWrap: 'break-word',
48
+ },
49
+ hoverVertical: {
50
+ background: '#333',
51
+ border: 'none',
52
+ width: 1,
53
+ height: '100%',
54
+ top: util_1.YSCALEBAR_LABEL_OFFSET,
55
+ cursor: 'default',
56
+ position: 'absolute',
57
+ pointerEvents: 'none',
58
+ },
59
+ }));
60
+ function Tooltip({ model, height, clientMouseCoord, offsetMouseCoord, clientRect, TooltipContents, useClientY, }) {
61
+ const { featureUnderMouse } = model;
62
+ const [width, setWidth] = (0, react_1.useState)(0);
63
+ const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
64
+ const { classes } = useStyles();
65
+ // must be memoized a la https://github.com/popperjs/react-popper/issues/391
66
+ const virtElement = (0, react_1.useMemo)(() => ({
67
+ getBoundingClientRect: () => {
68
+ const x = clientMouseCoord[0] + width / 2 + 20;
69
+ const y = useClientY ? clientMouseCoord[1] : (clientRect === null || clientRect === void 0 ? void 0 : clientRect.top) || 0;
70
+ return {
71
+ top: y,
72
+ left: x,
73
+ bottom: y,
74
+ right: x,
75
+ width: 0,
76
+ height: 0,
77
+ x,
78
+ y,
79
+ toJSON() { },
80
+ };
81
+ },
82
+ }), [clientRect === null || clientRect === void 0 ? void 0 : clientRect.top, clientMouseCoord, width, useClientY]);
83
+ const { styles, attributes } = (0, react_popper_1.usePopper)(virtElement, anchorEl);
84
+ return featureUnderMouse ? (react_1.default.createElement(react_1.default.Fragment, null,
85
+ react_1.default.createElement(material_1.Portal, null,
86
+ react_1.default.createElement("div", { ref: setAnchorEl, className: classes.tooltip,
87
+ // zIndex needed to go over widget drawer
88
+ style: { ...styles.popper, zIndex: 100000 }, ...attributes.popper },
89
+ react_1.default.createElement(TooltipContents, { ref: elt => setWidth((elt === null || elt === void 0 ? void 0 : elt.getBoundingClientRect().width) || 0), model: model, feature: featureUnderMouse }))),
90
+ react_1.default.createElement("div", { className: classes.hoverVertical, style: {
91
+ left: offsetMouseCoord[0],
92
+ height: height - util_1.YSCALEBAR_LABEL_OFFSET * 2,
93
+ } }))) : null;
94
+ }
95
+ exports.default = (0, mobx_react_1.observer)(Tooltip);
96
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { Feature } from '@jbrowse/core/util/simpleFeature';
3
2
  import FeatureRendererType, { RenderArgs as FeatureRenderArgs, RenderArgsSerialized, RenderArgsDeserialized as FeatureRenderArgsDeserialized, RenderResults, ResultsSerialized, ResultsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';
3
+ import { Feature } from '@jbrowse/core/util';
4
4
  import { ThemeOptions } from '@mui/material';
5
- import { ScaleOpts } from './util';
5
+ import { ScaleOpts, Source } from './util';
6
6
  export interface RenderArgs extends FeatureRenderArgs {
7
7
  scaleOpts: ScaleOpts;
8
8
  }
@@ -20,36 +20,35 @@ export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
20
20
  export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized {
21
21
  features: Map<string, Feature>;
22
22
  }
23
+ export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures {
24
+ sources: Source[];
25
+ }
23
26
  export type { RenderArgsSerialized, RenderResults, ResultsSerialized, ResultsDeserialized, };
24
27
  export default abstract class WiggleBaseRenderer extends FeatureRendererType {
25
28
  supportsSVG: boolean;
26
29
  render(renderProps: RenderArgsDeserialized): Promise<{
27
30
  features: Map<string, Feature>;
28
- containsNoTransferables: boolean;
29
31
  height: number;
30
32
  width: number;
33
+ containsNoTransferables: boolean;
31
34
  canvasRecordedData: any;
32
35
  reactElement?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
33
- imageData?: undefined;
34
36
  html?: string | undefined;
35
37
  } | {
36
38
  features: Map<string, Feature>;
37
- containsNoTransferables: boolean;
38
39
  height: number;
39
40
  width: number;
41
+ containsNoTransferables: boolean;
40
42
  reactElement: JSX.Element;
41
- canvasRecordedData?: undefined;
42
- imageData?: undefined;
43
43
  html?: string | undefined;
44
44
  } | {
45
45
  features: Map<string, Feature>;
46
- containsNoTransferables: boolean;
47
46
  height: number;
48
47
  width: number;
48
+ containsNoTransferables: boolean;
49
49
  imageData: any;
50
- canvasRecordedData?: undefined;
51
50
  reactElement?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
52
51
  html?: string | undefined;
53
52
  }>;
54
- abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<void>;
53
+ abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<Record<string, unknown> | void>;
55
54
  }
@@ -1,121 +1,43 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
- return new (P || (P = Promise))(function (resolve, reject) {
31
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
- step((generator = generator.apply(thisArg, _arguments || [])).next());
35
- });
36
- };
37
- var __generator = (this && this.__generator) || function (thisArg, body) {
38
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
- function verb(n) { return function (v) { return step([n, v]); }; }
41
- function step(op) {
42
- if (f) throw new TypeError("Generator is already executing.");
43
- while (_) try {
44
- 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;
45
- if (y = 0, t) op = [op[0] & 2, t.value];
46
- switch (op[0]) {
47
- case 0: case 1: t = op; break;
48
- case 4: _.label++; return { value: op[1], done: false };
49
- case 5: _.label++; y = op[1]; op = [0]; continue;
50
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
- default:
52
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
- if (t[2]) _.ops.pop();
57
- _.trys.pop(); continue;
58
- }
59
- op = body.call(thisArg, _);
60
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
- }
63
- };
64
- var __read = (this && this.__read) || function (o, n) {
65
- var m = typeof Symbol === "function" && o[Symbol.iterator];
66
- if (!m) return o;
67
- var i = m.call(o), r, ar = [], e;
68
- try {
69
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
- }
71
- catch (error) { e = { error: error }; }
72
- finally {
73
- try {
74
- if (r && !r.done && (m = i["return"])) m.call(i);
75
- }
76
- finally { if (e) throw e.error; }
77
- }
78
- return ar;
79
- };
80
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
81
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
82
4
  };
83
5
  Object.defineProperty(exports, "__esModule", { value: true });
84
- var FeatureRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType"));
85
- var offscreenCanvasUtils_1 = require("@jbrowse/core/util/offscreenCanvasUtils");
86
- var WiggleBaseRenderer = /** @class */ (function (_super) {
87
- __extends(WiggleBaseRenderer, _super);
88
- function WiggleBaseRenderer() {
89
- var _this = _super !== null && _super.apply(this, arguments) || this;
90
- _this.supportsSVG = true;
91
- return _this;
6
+ const FeatureRendererType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType"));
7
+ const util_1 = require("@jbrowse/core/util");
8
+ class WiggleBaseRenderer extends FeatureRendererType_1.default {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.supportsSVG = true;
92
12
  }
93
- WiggleBaseRenderer.prototype.render = function (renderProps) {
94
- return __awaiter(this, void 0, void 0, function () {
95
- var features, height, regions, bpPerPx, _a, region, width, res, results;
96
- var _this = this;
97
- return __generator(this, function (_b) {
98
- switch (_b.label) {
99
- case 0: return [4 /*yield*/, this.getFeatures(renderProps)];
100
- case 1:
101
- features = _b.sent();
102
- height = renderProps.height, regions = renderProps.regions, bpPerPx = renderProps.bpPerPx;
103
- _a = __read(regions, 1), region = _a[0];
104
- width = (region.end - region.start) / bpPerPx;
105
- return [4 /*yield*/, (0, offscreenCanvasUtils_1.renderToAbstractCanvas)(width, height, renderProps, function (ctx) {
106
- return _this.draw(ctx, __assign(__assign({}, renderProps), { features: features }));
107
- })];
108
- case 2:
109
- res = _b.sent();
110
- return [4 /*yield*/, _super.prototype.render.call(this, __assign(__assign(__assign({}, renderProps), res), { features: features, height: height, width: width }))];
111
- case 3:
112
- results = _b.sent();
113
- return [2 /*return*/, __assign(__assign(__assign({}, results), res), { features: features, containsNoTransferables: true, height: height, width: width })];
114
- }
115
- });
13
+ async render(renderProps) {
14
+ const features = await this.getFeatures(renderProps);
15
+ const { height, regions, bpPerPx } = renderProps;
16
+ const [region] = regions;
17
+ const width = (region.end - region.start) / bpPerPx;
18
+ // @ts-ignore
19
+ const { reducedFeatures, ...rest } = await (0, util_1.renderToAbstractCanvas)(width, height, renderProps, ctx => this.draw(ctx, {
20
+ ...renderProps,
21
+ features,
22
+ }));
23
+ const results = await super.render({
24
+ ...renderProps,
25
+ ...rest,
26
+ features,
27
+ height,
28
+ width,
116
29
  });
117
- };
118
- return WiggleBaseRenderer;
119
- }(FeatureRendererType_1.default));
30
+ return {
31
+ ...results,
32
+ ...rest,
33
+ features: (reducedFeatures
34
+ ? new Map(reducedFeatures.map((r) => [r.id(), r]))
35
+ : results.features),
36
+ height,
37
+ width,
38
+ containsNoTransferables: true,
39
+ };
40
+ }
41
+ }
120
42
  exports.default = WiggleBaseRenderer;
121
43
  //# sourceMappingURL=WiggleBaseRenderer.js.map