@jbrowse/plugin-wiggle 2.6.1 → 2.6.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 (366) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.js +0 -1
  2. package/dist/BigWigAdapter/configSchema.js +0 -1
  3. package/dist/BigWigAdapter/index.js +0 -1
  4. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  5. package/dist/CreateMultiWiggleExtension/index.js +0 -1
  6. package/dist/DensityRenderer/DensityRenderer.js +0 -1
  7. package/dist/DensityRenderer/configSchema.js +0 -1
  8. package/dist/DensityRenderer/index.js +0 -1
  9. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -1
  10. package/dist/LinePlotRenderer/configSchema.js +0 -1
  11. package/dist/LinePlotRenderer/index.js +0 -1
  12. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  13. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -1
  14. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  15. package/dist/LinearWiggleDisplay/index.js +0 -1
  16. package/dist/LinearWiggleDisplay/models/configSchema.js +0 -1
  17. package/dist/LinearWiggleDisplay/models/model.js +0 -1
  18. package/dist/LinearWiggleDisplay/models/renderSvg.js +0 -1
  19. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +0 -1
  20. package/dist/MultiDensityRenderer/configSchema.js +0 -1
  21. package/dist/MultiDensityRenderer/index.js +0 -1
  22. package/dist/MultiLineRenderer/MultiLineRenderer.js +0 -1
  23. package/dist/MultiLineRenderer/configSchema.js +0 -1
  24. package/dist/MultiLineRenderer/index.js +0 -1
  25. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  26. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  27. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  28. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  29. package/dist/MultiLinearWiggleDisplay/components/util.js +0 -1
  30. package/dist/MultiLinearWiggleDisplay/index.js +0 -1
  31. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  32. package/dist/MultiLinearWiggleDisplay/models/model.js +0 -1
  33. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js +0 -1
  34. package/dist/MultiQuantitativeTrack/configSchema.js +0 -1
  35. package/dist/MultiQuantitativeTrack/index.js +0 -1
  36. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -1
  37. package/dist/MultiRowLineRenderer/configSchema.js +0 -1
  38. package/dist/MultiRowLineRenderer/index.js +0 -1
  39. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -1
  40. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -1
  41. package/dist/MultiRowXYPlotRenderer/index.js +0 -1
  42. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  43. package/dist/MultiWiggleAdapter/configSchema.js +0 -1
  44. package/dist/MultiWiggleAdapter/index.js +0 -1
  45. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  46. package/dist/MultiWiggleAddTrackWidget/index.js +0 -1
  47. package/dist/MultiWiggleRendering.js +0 -1
  48. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  49. package/dist/MultiXYPlotRenderer/configSchema.js +0 -1
  50. package/dist/MultiXYPlotRenderer/index.js +0 -1
  51. package/dist/QuantitativeTrack/configSchema.js +0 -1
  52. package/dist/QuantitativeTrack/index.js +0 -1
  53. package/dist/Tooltip.js +0 -1
  54. package/dist/WiggleBaseRenderer.js +0 -1
  55. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -1
  56. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  57. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  58. package/dist/WiggleRPC/rpcMethods.js +0 -1
  59. package/dist/WiggleRendering.js +0 -1
  60. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -1
  61. package/dist/XYPlotRenderer/configSchema.js +0 -1
  62. package/dist/XYPlotRenderer/index.js +0 -1
  63. package/dist/configSchema.js +0 -1
  64. package/dist/drawxy.js +0 -1
  65. package/dist/index.js +0 -1
  66. package/dist/shared/SetMinMaxDialog.js +0 -1
  67. package/dist/shared/YScaleBar.js +0 -1
  68. package/dist/shared/configShared.js +0 -1
  69. package/dist/shared/modelShared.js +0 -1
  70. package/dist/util.js +0 -1
  71. package/esm/BigWigAdapter/BigWigAdapter.js +0 -1
  72. package/esm/BigWigAdapter/configSchema.js +0 -1
  73. package/esm/BigWigAdapter/index.js +0 -1
  74. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  75. package/esm/CreateMultiWiggleExtension/index.js +0 -1
  76. package/esm/DensityRenderer/DensityRenderer.js +0 -1
  77. package/esm/DensityRenderer/configSchema.js +0 -1
  78. package/esm/DensityRenderer/index.js +0 -1
  79. package/esm/LinePlotRenderer/LinePlotRenderer.js +0 -1
  80. package/esm/LinePlotRenderer/configSchema.js +0 -1
  81. package/esm/LinePlotRenderer/index.js +0 -1
  82. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  83. package/esm/LinearWiggleDisplay/components/Tooltip.js +0 -1
  84. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  85. package/esm/LinearWiggleDisplay/index.js +0 -1
  86. package/esm/LinearWiggleDisplay/models/configSchema.js +0 -1
  87. package/esm/LinearWiggleDisplay/models/model.js +0 -1
  88. package/esm/LinearWiggleDisplay/models/renderSvg.js +0 -1
  89. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +0 -1
  90. package/esm/MultiDensityRenderer/configSchema.js +0 -1
  91. package/esm/MultiDensityRenderer/index.js +0 -1
  92. package/esm/MultiLineRenderer/MultiLineRenderer.js +0 -1
  93. package/esm/MultiLineRenderer/configSchema.js +0 -1
  94. package/esm/MultiLineRenderer/index.js +0 -1
  95. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  96. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +0 -1
  97. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  98. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  99. package/esm/MultiLinearWiggleDisplay/components/util.js +0 -1
  100. package/esm/MultiLinearWiggleDisplay/index.js +0 -1
  101. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +0 -1
  102. package/esm/MultiLinearWiggleDisplay/models/model.js +0 -1
  103. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js +0 -1
  104. package/esm/MultiQuantitativeTrack/configSchema.js +0 -1
  105. package/esm/MultiQuantitativeTrack/index.js +0 -1
  106. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +0 -1
  107. package/esm/MultiRowLineRenderer/configSchema.js +0 -1
  108. package/esm/MultiRowLineRenderer/index.js +0 -1
  109. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +0 -1
  110. package/esm/MultiRowXYPlotRenderer/configSchema.js +0 -1
  111. package/esm/MultiRowXYPlotRenderer/index.js +0 -1
  112. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  113. package/esm/MultiWiggleAdapter/configSchema.js +0 -1
  114. package/esm/MultiWiggleAdapter/index.js +0 -1
  115. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +0 -1
  116. package/esm/MultiWiggleAddTrackWidget/index.js +0 -1
  117. package/esm/MultiWiggleRendering.js +0 -1
  118. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +0 -1
  119. package/esm/MultiXYPlotRenderer/configSchema.js +0 -1
  120. package/esm/MultiXYPlotRenderer/index.js +0 -1
  121. package/esm/QuantitativeTrack/configSchema.js +0 -1
  122. package/esm/QuantitativeTrack/index.js +0 -1
  123. package/esm/Tooltip.js +0 -1
  124. package/esm/WiggleBaseRenderer.js +0 -1
  125. package/esm/WiggleRPC/MultiWiggleGetSources.js +0 -1
  126. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  127. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  128. package/esm/WiggleRPC/rpcMethods.js +0 -1
  129. package/esm/WiggleRendering.js +0 -1
  130. package/esm/XYPlotRenderer/XYPlotRenderer.js +0 -1
  131. package/esm/XYPlotRenderer/configSchema.js +0 -1
  132. package/esm/XYPlotRenderer/index.js +0 -1
  133. package/esm/configSchema.js +0 -1
  134. package/esm/drawxy.js +0 -1
  135. package/esm/index.js +0 -1
  136. package/esm/shared/SetMinMaxDialog.js +0 -1
  137. package/esm/shared/YScaleBar.js +0 -1
  138. package/esm/shared/configShared.js +0 -1
  139. package/esm/shared/modelShared.js +0 -1
  140. package/esm/util.js +0 -1
  141. package/package.json +3 -4
  142. package/dist/BigWigAdapter/BigWigAdapter.js.map +0 -1
  143. package/dist/BigWigAdapter/configSchema.js.map +0 -1
  144. package/dist/BigWigAdapter/index.js.map +0 -1
  145. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  146. package/dist/CreateMultiWiggleExtension/index.js.map +0 -1
  147. package/dist/DensityRenderer/DensityRenderer.js.map +0 -1
  148. package/dist/DensityRenderer/configSchema.js.map +0 -1
  149. package/dist/DensityRenderer/index.js.map +0 -1
  150. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  151. package/dist/LinePlotRenderer/configSchema.js.map +0 -1
  152. package/dist/LinePlotRenderer/index.js.map +0 -1
  153. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  154. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  155. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  156. package/dist/LinearWiggleDisplay/index.js.map +0 -1
  157. package/dist/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  158. package/dist/LinearWiggleDisplay/models/model.js.map +0 -1
  159. package/dist/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  160. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  161. package/dist/MultiDensityRenderer/configSchema.js.map +0 -1
  162. package/dist/MultiDensityRenderer/index.js.map +0 -1
  163. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  164. package/dist/MultiLineRenderer/configSchema.js.map +0 -1
  165. package/dist/MultiLineRenderer/index.js.map +0 -1
  166. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  167. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  168. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  169. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  170. package/dist/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  171. package/dist/MultiLinearWiggleDisplay/index.js.map +0 -1
  172. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  173. package/dist/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  174. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  175. package/dist/MultiQuantitativeTrack/configSchema.js.map +0 -1
  176. package/dist/MultiQuantitativeTrack/index.js.map +0 -1
  177. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  178. package/dist/MultiRowLineRenderer/configSchema.js.map +0 -1
  179. package/dist/MultiRowLineRenderer/index.js.map +0 -1
  180. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  181. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  182. package/dist/MultiRowXYPlotRenderer/index.js.map +0 -1
  183. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  184. package/dist/MultiWiggleAdapter/configSchema.js.map +0 -1
  185. package/dist/MultiWiggleAdapter/index.js.map +0 -1
  186. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  187. package/dist/MultiWiggleAddTrackWidget/index.js.map +0 -1
  188. package/dist/MultiWiggleRendering.js.map +0 -1
  189. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  190. package/dist/MultiXYPlotRenderer/configSchema.js.map +0 -1
  191. package/dist/MultiXYPlotRenderer/index.js.map +0 -1
  192. package/dist/QuantitativeTrack/configSchema.js.map +0 -1
  193. package/dist/QuantitativeTrack/index.js.map +0 -1
  194. package/dist/Tooltip.js.map +0 -1
  195. package/dist/WiggleBaseRenderer.js.map +0 -1
  196. package/dist/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  197. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  198. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  199. package/dist/WiggleRPC/rpcMethods.js.map +0 -1
  200. package/dist/WiggleRendering.js.map +0 -1
  201. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  202. package/dist/XYPlotRenderer/configSchema.js.map +0 -1
  203. package/dist/XYPlotRenderer/index.js.map +0 -1
  204. package/dist/configSchema.js.map +0 -1
  205. package/dist/drawxy.js.map +0 -1
  206. package/dist/index.js.map +0 -1
  207. package/dist/shared/SetMinMaxDialog.js.map +0 -1
  208. package/dist/shared/YScaleBar.js.map +0 -1
  209. package/dist/shared/configShared.js.map +0 -1
  210. package/dist/shared/modelShared.js.map +0 -1
  211. package/dist/util.js.map +0 -1
  212. package/esm/BigWigAdapter/BigWigAdapter.js.map +0 -1
  213. package/esm/BigWigAdapter/configSchema.js.map +0 -1
  214. package/esm/BigWigAdapter/index.js.map +0 -1
  215. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  216. package/esm/CreateMultiWiggleExtension/index.js.map +0 -1
  217. package/esm/DensityRenderer/DensityRenderer.js.map +0 -1
  218. package/esm/DensityRenderer/configSchema.js.map +0 -1
  219. package/esm/DensityRenderer/index.js.map +0 -1
  220. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  221. package/esm/LinePlotRenderer/configSchema.js.map +0 -1
  222. package/esm/LinePlotRenderer/index.js.map +0 -1
  223. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  224. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  225. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  226. package/esm/LinearWiggleDisplay/index.js.map +0 -1
  227. package/esm/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  228. package/esm/LinearWiggleDisplay/models/model.js.map +0 -1
  229. package/esm/LinearWiggleDisplay/models/renderSvg.js.map +0 -1
  230. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  231. package/esm/MultiDensityRenderer/configSchema.js.map +0 -1
  232. package/esm/MultiDensityRenderer/index.js.map +0 -1
  233. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  234. package/esm/MultiLineRenderer/configSchema.js.map +0 -1
  235. package/esm/MultiLineRenderer/index.js.map +0 -1
  236. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  237. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  238. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  239. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  240. package/esm/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  241. package/esm/MultiLinearWiggleDisplay/index.js.map +0 -1
  242. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  243. package/esm/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  244. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js.map +0 -1
  245. package/esm/MultiQuantitativeTrack/configSchema.js.map +0 -1
  246. package/esm/MultiQuantitativeTrack/index.js.map +0 -1
  247. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  248. package/esm/MultiRowLineRenderer/configSchema.js.map +0 -1
  249. package/esm/MultiRowLineRenderer/index.js.map +0 -1
  250. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  251. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  252. package/esm/MultiRowXYPlotRenderer/index.js.map +0 -1
  253. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  254. package/esm/MultiWiggleAdapter/configSchema.js.map +0 -1
  255. package/esm/MultiWiggleAdapter/index.js.map +0 -1
  256. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  257. package/esm/MultiWiggleAddTrackWidget/index.js.map +0 -1
  258. package/esm/MultiWiggleRendering.js.map +0 -1
  259. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  260. package/esm/MultiXYPlotRenderer/configSchema.js.map +0 -1
  261. package/esm/MultiXYPlotRenderer/index.js.map +0 -1
  262. package/esm/QuantitativeTrack/configSchema.js.map +0 -1
  263. package/esm/QuantitativeTrack/index.js.map +0 -1
  264. package/esm/Tooltip.js.map +0 -1
  265. package/esm/WiggleBaseRenderer.js.map +0 -1
  266. package/esm/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  267. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  268. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  269. package/esm/WiggleRPC/rpcMethods.js.map +0 -1
  270. package/esm/WiggleRendering.js.map +0 -1
  271. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  272. package/esm/XYPlotRenderer/configSchema.js.map +0 -1
  273. package/esm/XYPlotRenderer/index.js.map +0 -1
  274. package/esm/configSchema.js.map +0 -1
  275. package/esm/drawxy.js.map +0 -1
  276. package/esm/index.js.map +0 -1
  277. package/esm/shared/SetMinMaxDialog.js.map +0 -1
  278. package/esm/shared/YScaleBar.js.map +0 -1
  279. package/esm/shared/configShared.js.map +0 -1
  280. package/esm/shared/modelShared.js.map +0 -1
  281. package/esm/util.js.map +0 -1
  282. package/src/BigWigAdapter/BigWigAdapter.test.ts +0 -66
  283. package/src/BigWigAdapter/BigWigAdapter.ts +0 -112
  284. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +0 -117
  285. package/src/BigWigAdapter/configSchema.ts +0 -34
  286. package/src/BigWigAdapter/index.ts +0 -20
  287. package/src/BigWigAdapter/test_data/volvox.bw +0 -0
  288. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +0 -68
  289. package/src/CreateMultiWiggleExtension/index.ts +0 -66
  290. package/src/DensityRenderer/DensityRenderer.test.ts +0 -62
  291. package/src/DensityRenderer/DensityRenderer.ts +0 -14
  292. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.ts.snap +0 -21
  293. package/src/DensityRenderer/configSchema.ts +0 -22
  294. package/src/DensityRenderer/index.ts +0 -17
  295. package/src/LinePlotRenderer/LinePlotRenderer.ts +0 -19
  296. package/src/LinePlotRenderer/configSchema.ts +0 -30
  297. package/src/LinePlotRenderer/index.ts +0 -16
  298. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +0 -107
  299. package/src/LinearWiggleDisplay/components/Tooltip.tsx +0 -59
  300. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -53
  301. package/src/LinearWiggleDisplay/index.ts +0 -26
  302. package/src/LinearWiggleDisplay/models/configSchema.ts +0 -47
  303. package/src/LinearWiggleDisplay/models/model.tsx +0 -232
  304. package/src/LinearWiggleDisplay/models/renderSvg.tsx +0 -29
  305. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +0 -38
  306. package/src/MultiDensityRenderer/configSchema.ts +0 -21
  307. package/src/MultiDensityRenderer/index.ts +0 -16
  308. package/src/MultiLineRenderer/MultiLineRenderer.ts +0 -28
  309. package/src/MultiLineRenderer/configSchema.ts +0 -39
  310. package/src/MultiLineRenderer/index.ts +0 -17
  311. package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +0 -71
  312. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +0 -287
  313. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +0 -77
  314. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -254
  315. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +0 -1
  316. package/src/MultiLinearWiggleDisplay/components/util.test.ts +0 -69
  317. package/src/MultiLinearWiggleDisplay/components/util.ts +0 -33
  318. package/src/MultiLinearWiggleDisplay/index.ts +0 -21
  319. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +0 -74
  320. package/src/MultiLinearWiggleDisplay/models/model.tsx +0 -469
  321. package/src/MultiLinearWiggleDisplay/models/renderSvg.tsx +0 -26
  322. package/src/MultiQuantitativeTrack/configSchema.ts +0 -23
  323. package/src/MultiQuantitativeTrack/index.ts +0 -20
  324. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +0 -35
  325. package/src/MultiRowLineRenderer/configSchema.ts +0 -42
  326. package/src/MultiRowLineRenderer/index.ts +0 -16
  327. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +0 -42
  328. package/src/MultiRowXYPlotRenderer/configSchema.ts +0 -56
  329. package/src/MultiRowXYPlotRenderer/index.ts +0 -16
  330. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +0 -125
  331. package/src/MultiWiggleAdapter/configSchema.ts +0 -32
  332. package/src/MultiWiggleAdapter/index.ts +0 -24
  333. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  334. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +0 -130
  335. package/src/MultiWiggleAddTrackWidget/index.ts +0 -17
  336. package/src/MultiWiggleRendering.tsx +0 -125
  337. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +0 -32
  338. package/src/MultiXYPlotRenderer/configSchema.ts +0 -54
  339. package/src/MultiXYPlotRenderer/index.ts +0 -17
  340. package/src/QuantitativeTrack/configSchema.ts +0 -23
  341. package/src/QuantitativeTrack/index.ts +0 -20
  342. package/src/Tooltip.tsx +0 -123
  343. package/src/WiggleBaseRenderer.tsx +0 -91
  344. package/src/WiggleRPC/MultiWiggleGetSources.ts +0 -68
  345. package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +0 -44
  346. package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +0 -73
  347. package/src/WiggleRPC/rpcMethods.ts +0 -3
  348. package/src/WiggleRendering.test.js +0 -21
  349. package/src/WiggleRendering.tsx +0 -76
  350. package/src/XYPlotRenderer/XYPlotRenderer.test.ts +0 -52
  351. package/src/XYPlotRenderer/XYPlotRenderer.ts +0 -37
  352. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.ts.snap +0 -21
  353. package/src/XYPlotRenderer/configSchema.ts +0 -55
  354. package/src/XYPlotRenderer/index.ts +0 -20
  355. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -15
  356. package/src/__snapshots__/index.test.ts.snap +0 -3
  357. package/src/configSchema.ts +0 -70
  358. package/src/drawxy.ts +0 -388
  359. package/src/index.test.ts +0 -16
  360. package/src/index.ts +0 -130
  361. package/src/shared/SetMinMaxDialog.tsx +0 -88
  362. package/src/shared/YScaleBar.tsx +0 -27
  363. package/src/shared/configShared.ts +0 -90
  364. package/src/shared/modelShared.ts +0 -510
  365. package/src/util.test.ts +0 -43
  366. package/src/util.ts +0 -318
@@ -1,54 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { types } from 'mobx-state-tree'
3
- import baseWiggleRendererConfigSchema from '../configSchema'
4
-
5
- /**
6
- * #config MultiXYPlotRenderer
7
- */
8
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
-
10
- const configSchema = ConfigurationSchema(
11
- 'MultiXYPlotRenderer',
12
- {
13
- /**
14
- * #slot
15
- */
16
- filled: {
17
- type: 'boolean',
18
- defaultValue: true,
19
- },
20
- /**
21
- * #slot
22
- */
23
- displayCrossHatches: {
24
- type: 'boolean',
25
- description: 'choose to draw cross hatches (sideways lines)',
26
- defaultValue: false,
27
- },
28
- /**
29
- * #slot
30
- */
31
- summaryScoreMode: {
32
- type: 'stringEnum',
33
- model: types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
34
- description:
35
- 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
36
- defaultValue: 'avg',
37
- },
38
- /**
39
- * #slot
40
- */
41
- minSize: {
42
- type: 'number',
43
- defaultValue: 0,
44
- },
45
- },
46
- {
47
- /**
48
- * #baseConfiguration
49
- */
50
- baseConfiguration: baseWiggleRendererConfigSchema,
51
- explicitlyTyped: true,
52
- },
53
- )
54
- export default configSchema
@@ -1,17 +0,0 @@
1
- import PluginManager from '@jbrowse/core/PluginManager'
2
-
3
- import ReactComponent from '../MultiWiggleRendering'
4
- import MultiXYPlotRenderer from './MultiXYPlotRenderer'
5
- import configSchema from './configSchema'
6
-
7
- export default (pluginManager: PluginManager) => {
8
- pluginManager.addRendererType(
9
- () =>
10
- new MultiXYPlotRenderer({
11
- name: 'MultiXYPlotRenderer',
12
- ReactComponent,
13
- configSchema,
14
- pluginManager,
15
- }),
16
- )
17
- }
@@ -1,23 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes/models'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
-
5
- /**
6
- * #config QuantitativeTrack
7
- */
8
- function x() {} // eslint-disable-line @typescript-eslint/no-unused-vars
9
-
10
- function configSchemaFactory(pluginManager: PluginManager) {
11
- return ConfigurationSchema(
12
- 'QuantitativeTrack',
13
- {},
14
- {
15
- /**
16
- * #baseConfiguration
17
- */
18
- baseConfiguration: createBaseTrackConfig(pluginManager),
19
- },
20
- )
21
- }
22
-
23
- export default configSchemaFactory
@@ -1,20 +0,0 @@
1
- import { createBaseTrackModel } from '@jbrowse/core/pluggableElementTypes/models'
2
- import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
- import configSchemaF from './configSchema'
5
-
6
- export default (pluginManager: PluginManager) => {
7
- pluginManager.addTrackType(() => {
8
- const configSchema = configSchemaF(pluginManager)
9
- return new TrackType({
10
- name: 'QuantitativeTrack',
11
- displayName: 'Quantitative track',
12
- configSchema,
13
- stateModel: createBaseTrackModel(
14
- pluginManager,
15
- 'QuantitativeTrack',
16
- configSchema,
17
- ),
18
- })
19
- })
20
- }
package/src/Tooltip.tsx DELETED
@@ -1,123 +0,0 @@
1
- import React, { useMemo, useState } from 'react'
2
- import { observer } from 'mobx-react'
3
- import { alpha, Portal } from '@mui/material'
4
- import { makeStyles } from 'tss-react/mui'
5
- import { Feature } from '@jbrowse/core/util'
6
-
7
- // locals
8
- import { YSCALEBAR_LABEL_OFFSET, round } from './util'
9
- import { usePopper } from 'react-popper'
10
-
11
- const useStyles = makeStyles()(theme => ({
12
- // these styles come from
13
- // https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/Tooltip/Tooltip.js
14
- tooltip: {
15
- position: 'absolute',
16
- pointerEvents: 'none',
17
- backgroundColor: alpha(theme.palette.grey[700], 0.9),
18
- borderRadius: theme.shape.borderRadius,
19
- color: theme.palette.common.white,
20
- fontFamily: theme.typography.fontFamily,
21
- padding: '4px 8px',
22
- fontSize: theme.typography.pxToRem(12),
23
- lineHeight: `${round(14 / 10)}em`,
24
- maxWidth: 300,
25
- wordWrap: 'break-word',
26
- },
27
-
28
- hoverVertical: {
29
- background: '#333',
30
- border: 'none',
31
- width: 1,
32
- height: '100%',
33
- top: YSCALEBAR_LABEL_OFFSET,
34
- cursor: 'default',
35
- position: 'absolute',
36
- pointerEvents: 'none',
37
- },
38
- }))
39
-
40
- type Coord = [number, number]
41
-
42
- // React.forwardRef component for the tooltip, the ref is used for measuring
43
- // the size of the tooltip
44
- export type TooltipContentsComponent = React.ForwardRefExoticComponent<
45
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
- { feature: Feature; model: any } & React.RefAttributes<HTMLDivElement>
47
- >
48
-
49
- function Tooltip({
50
- model,
51
- height,
52
- clientMouseCoord,
53
- offsetMouseCoord,
54
- clientRect,
55
- TooltipContents,
56
- useClientY,
57
- }: {
58
- model: { featureUnderMouse: Feature }
59
- useClientY?: boolean
60
- height: number
61
- clientMouseCoord: Coord
62
- offsetMouseCoord: Coord
63
- clientRect?: DOMRect
64
- TooltipContents: TooltipContentsComponent
65
- }) {
66
- const { featureUnderMouse } = model
67
- const [width, setWidth] = useState(0)
68
- const [anchorEl, setAnchorEl] = useState<HTMLDivElement | null>(null)
69
- const { classes } = useStyles()
70
-
71
- // must be memoized a la https://github.com/popperjs/react-popper/issues/391
72
- const virtElement = useMemo(
73
- () => ({
74
- getBoundingClientRect: () => {
75
- const x = clientMouseCoord[0] + width / 2 + 20
76
- const y = useClientY ? clientMouseCoord[1] : clientRect?.top || 0
77
- return {
78
- top: y,
79
- left: x,
80
- bottom: y,
81
- right: x,
82
- width: 0,
83
- height: 0,
84
- x,
85
- y,
86
- toJSON() {},
87
- }
88
- },
89
- }),
90
- [clientRect?.top, clientMouseCoord, width, useClientY],
91
- )
92
- const { styles, attributes } = usePopper(virtElement, anchorEl)
93
-
94
- return featureUnderMouse ? (
95
- <>
96
- <Portal>
97
- <div
98
- ref={setAnchorEl}
99
- className={classes.tooltip}
100
- // zIndex needed to go over widget drawer
101
- style={{ ...styles.popper, zIndex: 100000 }}
102
- {...attributes.popper}
103
- >
104
- <TooltipContents
105
- ref={elt => setWidth(elt?.getBoundingClientRect().width || 0)}
106
- model={model}
107
- feature={featureUnderMouse}
108
- />
109
- </div>
110
- </Portal>
111
-
112
- <div
113
- className={classes.hoverVertical}
114
- style={{
115
- left: offsetMouseCoord[0],
116
- height: height - YSCALEBAR_LABEL_OFFSET * 2,
117
- }}
118
- />
119
- </>
120
- ) : null
121
- }
122
-
123
- export default observer(Tooltip)
@@ -1,91 +0,0 @@
1
- import FeatureRendererType, {
2
- RenderArgs as FeatureRenderArgs,
3
- RenderArgsDeserialized as FeatureRenderArgsDeserialized,
4
- } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
5
- import { renderToAbstractCanvas, Feature } from '@jbrowse/core/util'
6
- import { ThemeOptions } from '@mui/material'
7
- import { ScaleOpts, Source } from './util'
8
-
9
- export interface RenderArgs extends FeatureRenderArgs {
10
- scaleOpts: ScaleOpts
11
- }
12
-
13
- export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized {
14
- bpPerPx: number
15
- height: number
16
- highResolutionScaling: number
17
- scaleOpts: ScaleOpts
18
- displayCrossHatches: boolean
19
- ticks: { values: number[] }
20
- themeOptions: ThemeOptions
21
- }
22
-
23
- export interface RenderArgsDeserializedWithFeatures
24
- extends RenderArgsDeserialized {
25
- features: Map<string, Feature>
26
- }
27
-
28
- export interface MultiRenderArgsDeserialized
29
- extends RenderArgsDeserializedWithFeatures {
30
- sources: Source[]
31
- }
32
-
33
- export default abstract class WiggleBaseRenderer extends FeatureRendererType {
34
- supportsSVG = true
35
-
36
- async render(renderProps: RenderArgsDeserialized) {
37
- const features = await this.getFeatures(renderProps)
38
- const { height, regions, bpPerPx } = renderProps
39
- const [region] = regions
40
- const width = (region.end - region.start) / bpPerPx
41
-
42
- // @ts-expect-error
43
- const { reducedFeatures, ...rest } = await renderToAbstractCanvas(
44
- width,
45
- height,
46
- renderProps,
47
- ctx =>
48
- this.draw(ctx, {
49
- ...renderProps,
50
- features,
51
- }),
52
- )
53
-
54
- const results = await super.render({
55
- ...renderProps,
56
- ...rest,
57
- features,
58
- height,
59
- width,
60
- })
61
-
62
- return {
63
- ...results,
64
- ...rest,
65
- features: reducedFeatures
66
- ? new Map<string, Feature>(
67
- reducedFeatures.map((r: Feature) => [r.id(), r]),
68
- )
69
- : results.features,
70
- height,
71
- width,
72
- containsNoTransferables: true,
73
- }
74
- }
75
-
76
- /**
77
- * draw features to context given props, to be used by derived renderer
78
- * classes
79
- */
80
- abstract draw<T extends RenderArgsDeserializedWithFeatures>(
81
- ctx: CanvasRenderingContext2D,
82
- props: T,
83
- ): Promise<Record<string, unknown> | void>
84
- }
85
-
86
- export {
87
- type RenderArgsSerialized,
88
- type RenderResults,
89
- type ResultsDeserialized,
90
- type ResultsSerialized,
91
- } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'
@@ -1,68 +0,0 @@
1
- import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
2
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
3
- import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
4
- import { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods'
5
- import { renameRegionsIfNeeded, Region } from '@jbrowse/core/util'
6
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
7
- import { AnyConfigurationModel } from '@jbrowse/core/configuration'
8
-
9
- export class MultiWiggleGetSources extends RpcMethodType {
10
- name = 'MultiWiggleGetSources'
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- async deserializeArguments(args: any, rpcDriverClassName: string) {
14
- const l = await super.deserializeArguments(args, rpcDriverClassName)
15
- return {
16
- ...l,
17
- filters: args.filters
18
- ? new SerializableFilterChain({
19
- filters: args.filters,
20
- })
21
- : undefined,
22
- }
23
- }
24
-
25
- async serializeArguments(
26
- args: RenderArgs & {
27
- signal?: AbortSignal
28
- statusCallback?: (arg: string) => void
29
- },
30
- rpcDriverClassName: string,
31
- ) {
32
- const pm = this.pluginManager
33
- const assemblyManager = pm.rootModel?.session?.assemblyManager
34
- if (!assemblyManager) {
35
- return args
36
- }
37
-
38
- const renamedArgs = await renameRegionsIfNeeded(assemblyManager, {
39
- ...args,
40
- filters: args.filters?.toJSON().filters,
41
- })
42
-
43
- return super.serializeArguments(renamedArgs, rpcDriverClassName)
44
- }
45
-
46
- async execute(
47
- args: {
48
- adapterConfig: AnyConfigurationModel
49
- signal?: RemoteAbortSignal
50
- sessionId: string
51
- headers?: Record<string, string>
52
- regions: Region[]
53
- bpPerPx: number
54
- },
55
- rpcDriverClassName: string,
56
- ) {
57
- const pm = this.pluginManager
58
- const deserializedArgs = await this.deserializeArguments(
59
- args,
60
- rpcDriverClassName,
61
- )
62
- const { regions, adapterConfig, sessionId } = deserializedArgs
63
- const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
64
-
65
- // @ts-expect-error
66
- return dataAdapter.getSources(regions, deserializedArgs)
67
- }
68
- }
@@ -1,44 +0,0 @@
1
- import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
2
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
3
- import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
4
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
5
- import { QuantitativeStats } from '@jbrowse/core/util/stats'
6
- import { AnyConfigurationModel } from '@jbrowse/core/configuration'
7
-
8
- export class WiggleGetGlobalQuantitativeStats extends RpcMethodType {
9
- name = 'WiggleGetGlobalQuantitativeStats'
10
-
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- async deserializeArguments(args: any, rpcDriverClassName: string) {
13
- const l = await super.deserializeArguments(args, rpcDriverClassName)
14
- return {
15
- ...l,
16
- filters: args.filters
17
- ? new SerializableFilterChain({
18
- filters: args.filters,
19
- })
20
- : undefined,
21
- }
22
- }
23
-
24
- async execute(
25
- args: {
26
- adapterConfig: AnyConfigurationModel
27
- signal?: RemoteAbortSignal
28
- headers?: Record<string, string>
29
- sessionId: string
30
- },
31
- rpcDriverClassName: string,
32
- ): Promise<QuantitativeStats> {
33
- const pm = this.pluginManager
34
- const deserializedArgs = await this.deserializeArguments(
35
- args,
36
- rpcDriverClassName,
37
- )
38
- const { adapterConfig, sessionId } = deserializedArgs
39
- const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
40
-
41
- // @ts-expect-error
42
- return dataAdapter.getGlobalStats(deserializedArgs)
43
- }
44
- }
@@ -1,73 +0,0 @@
1
- import RpcMethodType from '@jbrowse/core/pluggableElementTypes/RpcMethodType'
2
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
3
- import { RenderArgs } from '@jbrowse/core/rpc/coreRpcMethods'
4
- import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache'
5
- import { RemoteAbortSignal } from '@jbrowse/core/rpc/remoteAbortSignals'
6
- import { Region, renameRegionsIfNeeded } from '@jbrowse/core/util'
7
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter'
8
-
9
- export class WiggleGetMultiRegionQuantitativeStats extends RpcMethodType {
10
- name = 'WiggleGetMultiRegionQuantitativeStats'
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- async deserializeArguments(args: any, rpcDriverClassName: string) {
14
- const l = await super.deserializeArguments(args, rpcDriverClassName)
15
- return {
16
- ...l,
17
- filters: args.filters
18
- ? new SerializableFilterChain({
19
- filters: args.filters,
20
- })
21
- : undefined,
22
- }
23
- }
24
-
25
- async serializeArguments(
26
- args: RenderArgs & {
27
- signal?: AbortSignal
28
- statusCallback?: (arg: string) => void
29
- },
30
- rpcDriverClassName: string,
31
- ) {
32
- const pm = this.pluginManager
33
- const assemblyManager = pm.rootModel?.session?.assemblyManager
34
- if (!assemblyManager) {
35
- return args
36
- }
37
-
38
- const renamedArgs = await renameRegionsIfNeeded(assemblyManager, {
39
- ...args,
40
- filters: args.filters?.toJSON().filters,
41
- })
42
-
43
- return super.serializeArguments(renamedArgs, rpcDriverClassName)
44
- }
45
-
46
- async execute(
47
- args: {
48
- adapterConfig: {}
49
- signal?: RemoteAbortSignal
50
- sessionId: string
51
- headers?: Record<string, string>
52
- regions: Region[]
53
- bpPerPx: number
54
- },
55
- rpcDriverClassName: string,
56
- ) {
57
- const pm = this.pluginManager
58
- const deserializedArgs = await this.deserializeArguments(
59
- args,
60
- rpcDriverClassName,
61
- )
62
- const { regions, adapterConfig, sessionId } = deserializedArgs
63
- const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig)
64
-
65
- if (dataAdapter instanceof BaseFeatureDataAdapter) {
66
- return dataAdapter.getMultiRegionQuantitativeStats(
67
- regions,
68
- deserializedArgs,
69
- )
70
- }
71
- throw new Error('Data adapter not found')
72
- }
73
- }
@@ -1,3 +0,0 @@
1
- export * from './MultiWiggleGetSources'
2
- export * from './WiggleGetMultiRegionQuantitativeStats'
3
- export * from './WiggleGetGlobalQuantitativeStats'
@@ -1,21 +0,0 @@
1
- import React from 'react'
2
- import { render, fireEvent } from '@testing-library/react'
3
- import WiggleRendering from './WiggleRendering'
4
-
5
- // these tests do very little, let's try to expand them at some point
6
- test('one', async () => {
7
- const { container, getByTestId } = render(
8
- <WiggleRendering
9
- width={500}
10
- height={500}
11
- features={new Map()}
12
- highResolutionScaling={1}
13
- regions={[{ refName: 'chr1', start: 1, end: 3 }]}
14
- bpPerPx={3}
15
- config={{ type: 'DummyRenderer' }}
16
- />,
17
- )
18
- const test = getByTestId('wiggle-rendering-test')
19
- expect(fireEvent.click(test)).toBeTruthy()
20
- expect(container.firstChild).toMatchSnapshot()
21
- })
@@ -1,76 +0,0 @@
1
- import { observer } from 'mobx-react'
2
- import React, { useRef } from 'react'
3
-
4
- import { Region } from '@jbrowse/core/util/types'
5
- import { Feature } from '@jbrowse/core/util'
6
- import { PrerenderedCanvas } from '@jbrowse/core/ui'
7
-
8
- function WiggleRendering(props: {
9
- regions: Region[]
10
- features: Map<string, Feature>
11
- bpPerPx: number
12
- width: number
13
- height: number
14
- onMouseLeave: Function
15
- onMouseMove: Function
16
- onFeatureClick: Function
17
- blockKey: string
18
- }) {
19
- const {
20
- regions,
21
- features,
22
- bpPerPx,
23
- width,
24
- height,
25
- onMouseLeave = () => {},
26
- onMouseMove = () => {},
27
- onFeatureClick = () => {},
28
- } = props
29
- const [region] = regions
30
- const ref = useRef<HTMLDivElement>(null)
31
-
32
- function getFeatureUnderMouse(eventClientX: number) {
33
- // calculates feature under mouse
34
- let offset = 0
35
- if (ref.current) {
36
- offset = ref.current.getBoundingClientRect().left
37
- }
38
- const offsetX = eventClientX - offset
39
- const px = region.reversed ? width - offsetX : offsetX
40
- const clientBp = region.start + bpPerPx * px
41
- let featureUnderMouse
42
- for (const feature of features.values()) {
43
- // bpPerPx added to the end to accommodate "reduced features" (one feature per px)
44
- if (
45
- clientBp <= feature.get('end') + bpPerPx &&
46
- clientBp >= feature.get('start')
47
- ) {
48
- featureUnderMouse = feature
49
- break
50
- }
51
- }
52
- return featureUnderMouse
53
- }
54
- return (
55
- <div
56
- ref={ref}
57
- data-testid="wiggle-rendering-test"
58
- onMouseMove={event =>
59
- onMouseMove(event, getFeatureUnderMouse(event.clientX)?.id())
60
- }
61
- onClick={event =>
62
- onFeatureClick(event, getFeatureUnderMouse(event.clientX)?.id())
63
- }
64
- onMouseLeave={event => onMouseLeave(event)}
65
- style={{
66
- overflow: 'visible',
67
- position: 'relative',
68
- height,
69
- }}
70
- >
71
- <PrerenderedCanvas {...props} />
72
- </div>
73
- )
74
- }
75
-
76
- export default observer(WiggleRendering)
@@ -1,52 +0,0 @@
1
- import { SimpleFeature, renderToAbstractCanvas } from '@jbrowse/core/util'
2
- import { Image, createCanvas } from 'canvas'
3
-
4
- // locals
5
- import configSchema from './configSchema'
6
- import XYPlotRenderer from './XYPlotRenderer'
7
- import ReactComponent from '../WiggleRendering'
8
-
9
- // @ts-expect-error
10
- global.nodeImage = Image
11
- // @ts-expect-error
12
- global.nodeCreateCanvas = createCanvas
13
-
14
- test('several features', async () => {
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- const pluginManager = {} as any
17
- const renderer = new XYPlotRenderer({
18
- name: 'XYPlotRenderer',
19
- ReactComponent,
20
- configSchema,
21
- pluginManager,
22
- })
23
- const renderProps = {
24
- features: [
25
- new SimpleFeature({ id: 't1', data: { start: 1, end: 100, score: 1 } }),
26
- new SimpleFeature({ id: 't2', data: { start: 101, end: 200, score: 2 } }),
27
- ],
28
- regions: [
29
- {
30
- end: 100,
31
- start: 1,
32
- },
33
- ],
34
- scaleOpts: {
35
- domain: [0, 100],
36
- scaleType: 'linear',
37
- },
38
- config: {},
39
- bpPerPx: 3,
40
- highResolutionScaling: 1,
41
- height: 100,
42
- ticks: { values: [0, 100] },
43
- }
44
-
45
- const res = await renderToAbstractCanvas(1000, 200, renderProps, ctx =>
46
- // @ts-expect-error
47
- renderer.draw(ctx, renderProps),
48
- )
49
- expect(res).toMatchSnapshot({
50
- imageData: expect.any(Object),
51
- })
52
- })