@jbrowse/plugin-wiggle 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  2. package/dist/BigWigAdapter/BigWigAdapter.js +59 -29
  3. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -1
  4. package/dist/BigWigAdapter/configSchema.js +5 -0
  5. package/dist/BigWigAdapter/configSchema.js.map +1 -1
  6. package/dist/BigWigAdapter/index.d.ts +3 -1
  7. package/dist/BigWigAdapter/index.js +39 -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 +68 -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 +111 -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 +74 -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 +12 -149
  23. package/dist/DensityRenderer/index.js.map +1 -1
  24. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  25. package/dist/LinePlotRenderer/LinePlotRenderer.js +4 -103
  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 +13 -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 +8 -16
  35. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  36. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  37. package/dist/LinearWiggleDisplay/components/Tooltip.js +11 -122
  38. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  39. package/dist/LinearWiggleDisplay/index.d.ts +7 -3
  40. package/dist/LinearWiggleDisplay/index.js +23 -8
  41. package/dist/LinearWiggleDisplay/index.js.map +1 -1
  42. package/dist/LinearWiggleDisplay/models/model.d.ts +24 -5
  43. package/dist/LinearWiggleDisplay/models/model.js +79 -126
  44. package/dist/LinearWiggleDisplay/models/model.js.map +1 -1
  45. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  46. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +135 -0
  47. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  48. package/dist/MultiDensityRenderer/configSchema.d.ts +2 -0
  49. package/dist/MultiDensityRenderer/configSchema.js +10 -0
  50. package/dist/MultiDensityRenderer/configSchema.js.map +1 -0
  51. package/dist/MultiDensityRenderer/index.d.ts +3 -0
  52. package/dist/MultiDensityRenderer/index.js +19 -0
  53. package/dist/MultiDensityRenderer/index.js.map +1 -0
  54. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  55. package/dist/MultiLineRenderer/MultiLineRenderer.js +124 -0
  56. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  57. package/dist/MultiLineRenderer/configSchema.d.ts +2 -0
  58. package/dist/MultiLineRenderer/configSchema.js +23 -0
  59. package/dist/MultiLineRenderer/configSchema.js.map +1 -0
  60. package/dist/MultiLineRenderer/index.d.ts +3 -0
  61. package/dist/MultiLineRenderer/index.js +19 -0
  62. package/dist/MultiLineRenderer/index.js.map +1 -0
  63. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  64. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +239 -0
  65. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  66. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  67. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +91 -0
  68. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  69. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  70. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +78 -0
  71. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  72. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  73. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +144 -0
  74. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  75. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  76. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js +26 -0
  77. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  78. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  79. package/dist/MultiLinearWiggleDisplay/components/util.js +38 -0
  80. package/dist/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  81. package/dist/MultiLinearWiggleDisplay/index.d.ts +3 -0
  82. package/dist/MultiLinearWiggleDisplay/index.js +23 -0
  83. package/dist/MultiLinearWiggleDisplay/index.js.map +1 -0
  84. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  85. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +77 -0
  86. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  87. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  88. package/dist/MultiLinearWiggleDisplay/models/model.js +675 -0
  89. package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  90. package/dist/MultiQuantitativeTrack/index.d.ts +3 -0
  91. package/dist/MultiQuantitativeTrack/index.js +19 -0
  92. package/dist/MultiQuantitativeTrack/index.js.map +1 -0
  93. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  94. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +131 -0
  95. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  96. package/dist/MultiRowLineRenderer/configSchema.d.ts +2 -0
  97. package/dist/MultiRowLineRenderer/configSchema.js +23 -0
  98. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -0
  99. package/dist/MultiRowLineRenderer/index.d.ts +3 -0
  100. package/dist/MultiRowLineRenderer/index.js +19 -0
  101. package/dist/MultiRowLineRenderer/index.js.map +1 -0
  102. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  103. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +164 -0
  104. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  105. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  106. package/dist/MultiRowXYPlotRenderer/configSchema.js +31 -0
  107. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  108. package/dist/MultiRowXYPlotRenderer/index.d.ts +3 -0
  109. package/dist/MultiRowXYPlotRenderer/index.js +19 -0
  110. package/dist/MultiRowXYPlotRenderer/index.js.map +1 -0
  111. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  112. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +244 -0
  113. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  114. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -0
  115. package/dist/MultiWiggleAdapter/configSchema.js +14 -0
  116. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -0
  117. package/dist/MultiWiggleAdapter/index.d.ts +3 -0
  118. package/dist/MultiWiggleAdapter/index.js +47 -0
  119. package/dist/MultiWiggleAdapter/index.js.map +1 -0
  120. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  121. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +139 -0
  122. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  123. package/dist/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  124. package/dist/MultiWiggleAddTrackWidget/index.js +19 -0
  125. package/dist/MultiWiggleAddTrackWidget/index.js.map +1 -0
  126. package/dist/MultiWiggleRendering.d.ts +21 -0
  127. package/dist/MultiWiggleRendering.js +164 -0
  128. package/dist/MultiWiggleRendering.js.map +1 -0
  129. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  130. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +153 -0
  131. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  132. package/dist/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  133. package/dist/MultiXYPlotRenderer/configSchema.js +31 -0
  134. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -0
  135. package/dist/MultiXYPlotRenderer/index.d.ts +3 -0
  136. package/dist/MultiXYPlotRenderer/index.js +19 -0
  137. package/dist/MultiXYPlotRenderer/index.js.map +1 -0
  138. package/dist/QuantitativeTrack/index.d.ts +3 -0
  139. package/dist/QuantitativeTrack/index.js +19 -0
  140. package/dist/QuantitativeTrack/index.js.map +1 -0
  141. package/dist/Tooltip.d.ts +20 -0
  142. package/dist/Tooltip.js +124 -0
  143. package/dist/Tooltip.js.map +1 -0
  144. package/dist/WiggleBaseRenderer.d.ts +9 -10
  145. package/dist/WiggleBaseRenderer.js +23 -10
  146. package/dist/WiggleBaseRenderer.js.map +1 -1
  147. package/dist/WiggleRPC/rpcMethods.d.ts +17 -1
  148. package/dist/WiggleRPC/rpcMethods.js +91 -16
  149. package/dist/WiggleRPC/rpcMethods.js.map +1 -1
  150. package/dist/WiggleRendering.d.ts +1 -1
  151. package/dist/WiggleRendering.js +4 -8
  152. package/dist/WiggleRendering.js.map +1 -1
  153. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  154. package/dist/XYPlotRenderer/XYPlotRenderer.js +23 -126
  155. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  156. package/dist/XYPlotRenderer/configSchema.d.ts +2 -0
  157. package/dist/XYPlotRenderer/configSchema.js +31 -0
  158. package/dist/XYPlotRenderer/configSchema.js.map +1 -0
  159. package/dist/XYPlotRenderer/index.d.ts +7 -3
  160. package/dist/XYPlotRenderer/index.js +17 -25
  161. package/dist/XYPlotRenderer/index.js.map +1 -1
  162. package/dist/configSchema.js +0 -5
  163. package/dist/configSchema.js.map +1 -1
  164. package/dist/drawxy.d.ts +50 -0
  165. package/dist/drawxy.js +411 -0
  166. package/dist/drawxy.js.map +1 -0
  167. package/dist/index.d.ts +79 -21
  168. package/dist/index.js +56 -89
  169. package/dist/index.js.map +1 -1
  170. package/dist/util.d.ts +34 -1
  171. package/dist/util.js +159 -1
  172. package/dist/util.js.map +1 -1
  173. package/esm/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  174. package/esm/BigWigAdapter/BigWigAdapter.js +37 -18
  175. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -1
  176. package/esm/BigWigAdapter/configSchema.js +5 -0
  177. package/esm/BigWigAdapter/configSchema.js.map +1 -1
  178. package/esm/BigWigAdapter/index.d.ts +3 -1
  179. package/esm/BigWigAdapter/index.js +14 -1
  180. package/esm/BigWigAdapter/index.js.map +1 -1
  181. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  182. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +26 -0
  183. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  184. package/esm/CreateMultiWiggleExtension/index.d.ts +2 -0
  185. package/esm/CreateMultiWiggleExtension/index.js +51 -0
  186. package/esm/CreateMultiWiggleExtension/index.js.map +1 -0
  187. package/esm/DensityRenderer/DensityRenderer.d.ts +6 -0
  188. package/esm/DensityRenderer/DensityRenderer.js +8 -0
  189. package/esm/DensityRenderer/DensityRenderer.js.map +1 -0
  190. package/esm/DensityRenderer/configSchema.d.ts +2 -0
  191. package/esm/DensityRenderer/configSchema.js +5 -0
  192. package/esm/DensityRenderer/configSchema.js.map +1 -0
  193. package/esm/DensityRenderer/index.d.ts +3 -6
  194. package/esm/DensityRenderer/index.js +11 -38
  195. package/esm/DensityRenderer/index.js.map +1 -1
  196. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  197. package/esm/LinePlotRenderer/LinePlotRenderer.js +7 -65
  198. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -1
  199. package/esm/LinePlotRenderer/configSchema.d.ts +2 -0
  200. package/esm/LinePlotRenderer/configSchema.js +11 -0
  201. package/esm/LinePlotRenderer/configSchema.js.map +1 -0
  202. package/esm/LinePlotRenderer/index.d.ts +3 -3
  203. package/esm/LinePlotRenderer/index.js +11 -11
  204. package/esm/LinePlotRenderer/index.js.map +1 -1
  205. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  206. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +9 -16
  207. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -1
  208. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  209. package/esm/LinearWiggleDisplay/components/Tooltip.js +3 -76
  210. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -1
  211. package/esm/LinearWiggleDisplay/index.d.ts +7 -3
  212. package/esm/LinearWiggleDisplay/index.js +20 -3
  213. package/esm/LinearWiggleDisplay/index.js.map +1 -1
  214. package/esm/LinearWiggleDisplay/models/model.d.ts +24 -5
  215. package/esm/LinearWiggleDisplay/models/model.js +87 -133
  216. package/esm/LinearWiggleDisplay/models/model.js.map +1 -1
  217. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  218. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +36 -0
  219. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  220. package/esm/MultiDensityRenderer/configSchema.d.ts +2 -0
  221. package/esm/MultiDensityRenderer/configSchema.js +5 -0
  222. package/esm/MultiDensityRenderer/configSchema.js.map +1 -0
  223. package/esm/MultiDensityRenderer/index.d.ts +3 -0
  224. package/esm/MultiDensityRenderer/index.js +12 -0
  225. package/esm/MultiDensityRenderer/index.js.map +1 -0
  226. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  227. package/esm/MultiLineRenderer/MultiLineRenderer.js +25 -0
  228. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  229. package/esm/MultiLineRenderer/configSchema.d.ts +2 -0
  230. package/esm/MultiLineRenderer/configSchema.js +18 -0
  231. package/esm/MultiLineRenderer/configSchema.js.map +1 -0
  232. package/esm/MultiLineRenderer/index.d.ts +3 -0
  233. package/esm/MultiLineRenderer/index.js +12 -0
  234. package/esm/MultiLineRenderer/index.js.map +1 -0
  235. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  236. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +162 -0
  237. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  238. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  239. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  240. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  241. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  242. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +43 -0
  243. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  244. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  245. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +99 -0
  246. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  247. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  248. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js +9 -0
  249. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  250. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  251. package/esm/MultiLinearWiggleDisplay/components/util.js +31 -0
  252. package/esm/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  253. package/esm/MultiLinearWiggleDisplay/index.d.ts +3 -0
  254. package/esm/MultiLinearWiggleDisplay/index.js +18 -0
  255. package/esm/MultiLinearWiggleDisplay/index.js.map +1 -0
  256. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  257. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +74 -0
  258. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  259. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  260. package/esm/MultiLinearWiggleDisplay/models/model.js +570 -0
  261. package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  262. package/esm/MultiQuantitativeTrack/index.d.ts +3 -0
  263. package/esm/MultiQuantitativeTrack/index.js +14 -0
  264. package/esm/MultiQuantitativeTrack/index.js.map +1 -0
  265. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  266. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +33 -0
  267. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  268. package/esm/MultiRowLineRenderer/configSchema.d.ts +2 -0
  269. package/esm/MultiRowLineRenderer/configSchema.js +18 -0
  270. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -0
  271. package/esm/MultiRowLineRenderer/index.d.ts +3 -0
  272. package/esm/MultiRowLineRenderer/index.js +12 -0
  273. package/esm/MultiRowLineRenderer/index.js.map +1 -0
  274. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  275. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +39 -0
  276. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  277. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  278. package/esm/MultiRowXYPlotRenderer/configSchema.js +26 -0
  279. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  280. package/esm/MultiRowXYPlotRenderer/index.d.ts +3 -0
  281. package/esm/MultiRowXYPlotRenderer/index.js +12 -0
  282. package/esm/MultiRowXYPlotRenderer/index.js.map +1 -0
  283. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  284. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +87 -0
  285. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  286. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -0
  287. package/esm/MultiWiggleAdapter/configSchema.js +12 -0
  288. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -0
  289. package/esm/MultiWiggleAdapter/index.d.ts +3 -0
  290. package/esm/MultiWiggleAdapter/index.js +15 -0
  291. package/esm/MultiWiggleAdapter/index.js.map +1 -0
  292. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  293. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +87 -0
  294. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  295. package/esm/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  296. package/esm/MultiWiggleAddTrackWidget/index.js +12 -0
  297. package/esm/MultiWiggleAddTrackWidget/index.js.map +1 -0
  298. package/esm/MultiWiggleRendering.d.ts +21 -0
  299. package/esm/MultiWiggleRendering.js +75 -0
  300. package/esm/MultiWiggleRendering.js.map +1 -0
  301. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  302. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +28 -0
  303. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  304. package/esm/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  305. package/esm/MultiXYPlotRenderer/configSchema.js +26 -0
  306. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -0
  307. package/esm/MultiXYPlotRenderer/index.d.ts +3 -0
  308. package/esm/MultiXYPlotRenderer/index.js +12 -0
  309. package/esm/MultiXYPlotRenderer/index.js.map +1 -0
  310. package/esm/QuantitativeTrack/index.d.ts +3 -0
  311. package/esm/QuantitativeTrack/index.js +14 -0
  312. package/esm/QuantitativeTrack/index.js.map +1 -0
  313. package/esm/Tooltip.d.ts +20 -0
  314. package/esm/Tooltip.js +71 -0
  315. package/esm/Tooltip.js.map +1 -0
  316. package/esm/WiggleBaseRenderer.d.ts +9 -10
  317. package/esm/WiggleBaseRenderer.js +7 -5
  318. package/esm/WiggleBaseRenderer.js.map +1 -1
  319. package/esm/WiggleRPC/rpcMethods.d.ts +17 -1
  320. package/esm/WiggleRPC/rpcMethods.js +49 -7
  321. package/esm/WiggleRPC/rpcMethods.js.map +1 -1
  322. package/esm/WiggleRendering.d.ts +1 -1
  323. package/esm/WiggleRendering.js +4 -8
  324. package/esm/WiggleRendering.js.map +1 -1
  325. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  326. package/esm/XYPlotRenderer/XYPlotRenderer.js +16 -99
  327. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -1
  328. package/esm/XYPlotRenderer/configSchema.d.ts +2 -0
  329. package/esm/XYPlotRenderer/configSchema.js +26 -0
  330. package/esm/XYPlotRenderer/configSchema.js.map +1 -0
  331. package/esm/XYPlotRenderer/index.d.ts +7 -3
  332. package/esm/XYPlotRenderer/index.js +12 -22
  333. package/esm/XYPlotRenderer/index.js.map +1 -1
  334. package/esm/configSchema.js +0 -5
  335. package/esm/configSchema.js.map +1 -1
  336. package/esm/drawxy.d.ts +50 -0
  337. package/esm/drawxy.js +286 -0
  338. package/esm/drawxy.js.map +1 -0
  339. package/esm/index.d.ts +79 -21
  340. package/esm/index.js +49 -74
  341. package/esm/index.js.map +1 -1
  342. package/esm/util.d.ts +34 -1
  343. package/esm/util.js +108 -0
  344. package/esm/util.js.map +1 -1
  345. package/package.json +11 -5
  346. package/src/BigWigAdapter/BigWigAdapter.ts +53 -35
  347. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +10 -10
  348. package/src/BigWigAdapter/configSchema.ts +5 -0
  349. package/src/BigWigAdapter/index.ts +19 -1
  350. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +66 -0
  351. package/src/CreateMultiWiggleExtension/index.ts +57 -0
  352. package/src/DensityRenderer/DensityRenderer.test.js +8 -2
  353. package/src/DensityRenderer/DensityRenderer.ts +14 -0
  354. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +8 -0
  355. package/src/DensityRenderer/configSchema.ts +11 -0
  356. package/src/DensityRenderer/index.ts +14 -53
  357. package/src/LinePlotRenderer/LinePlotRenderer.ts +19 -0
  358. package/src/LinePlotRenderer/{index.js → configSchema.ts} +3 -4
  359. package/src/LinePlotRenderer/index.ts +16 -0
  360. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +17 -19
  361. package/src/LinearWiggleDisplay/components/Tooltip.tsx +6 -122
  362. package/src/LinearWiggleDisplay/index.ts +24 -3
  363. package/src/LinearWiggleDisplay/models/model.tsx +98 -174
  364. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +39 -0
  365. package/src/MultiDensityRenderer/configSchema.ts +10 -0
  366. package/src/MultiDensityRenderer/index.ts +16 -0
  367. package/src/MultiLineRenderer/MultiLineRenderer.ts +29 -0
  368. package/src/MultiLineRenderer/configSchema.ts +24 -0
  369. package/src/MultiLineRenderer/index.ts +17 -0
  370. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +322 -0
  371. package/src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx +113 -0
  372. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +76 -0
  373. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +261 -0
  374. package/src/MultiLinearWiggleDisplay/components/YScaleBar.tsx +25 -0
  375. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +1 -0
  376. package/src/MultiLinearWiggleDisplay/components/util.test.ts +69 -0
  377. package/src/MultiLinearWiggleDisplay/components/util.ts +33 -0
  378. package/src/MultiLinearWiggleDisplay/index.ts +20 -0
  379. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +94 -0
  380. package/src/MultiLinearWiggleDisplay/models/model.tsx +721 -0
  381. package/src/MultiQuantitativeTrack/index.ts +26 -0
  382. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +36 -0
  383. package/src/MultiRowLineRenderer/configSchema.ts +25 -0
  384. package/src/MultiRowLineRenderer/index.ts +16 -0
  385. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +43 -0
  386. package/src/MultiRowXYPlotRenderer/configSchema.ts +33 -0
  387. package/src/MultiRowXYPlotRenderer/index.ts +16 -0
  388. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +120 -0
  389. package/src/MultiWiggleAdapter/configSchema.ts +16 -0
  390. package/src/MultiWiggleAdapter/index.ts +20 -0
  391. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  392. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +130 -0
  393. package/src/MultiWiggleAddTrackWidget/index.ts +17 -0
  394. package/src/MultiWiggleRendering.tsx +125 -0
  395. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +32 -0
  396. package/src/MultiXYPlotRenderer/configSchema.ts +31 -0
  397. package/src/MultiXYPlotRenderer/index.ts +17 -0
  398. package/src/QuantitativeTrack/index.ts +26 -0
  399. package/src/Tooltip.tsx +123 -0
  400. package/src/WiggleBaseRenderer.tsx +15 -9
  401. package/src/WiggleRPC/rpcMethods.ts +68 -17
  402. package/src/WiggleRendering.tsx +12 -18
  403. package/src/XYPlotRenderer/XYPlotRenderer.test.js +3 -1
  404. package/src/XYPlotRenderer/XYPlotRenderer.ts +19 -171
  405. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +8 -0
  406. package/src/XYPlotRenderer/configSchema.ts +32 -0
  407. package/src/XYPlotRenderer/index.ts +16 -27
  408. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -2
  409. package/src/configSchema.ts +0 -5
  410. package/src/declare.d.ts +0 -1
  411. package/src/drawxy.ts +387 -0
  412. package/src/index.ts +75 -129
  413. package/src/util.ts +174 -0
  414. package/src/LinePlotRenderer/LinePlotRenderer.js +0 -91
@@ -3,29 +3,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.configSchema = exports.default = exports.ReactComponent = void 0;
7
- var configuration_1 = require("@jbrowse/core/configuration");
8
- var configSchema_1 = __importDefault(require("../configSchema"));
9
- var mobx_state_tree_1 = require("mobx-state-tree");
10
- var WiggleRendering_1 = require("../WiggleRendering");
11
- Object.defineProperty(exports, "ReactComponent", { enumerable: true, get: function () { return __importDefault(WiggleRendering_1).default; } });
12
- var XYPlotRenderer_1 = require("./XYPlotRenderer");
13
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(XYPlotRenderer_1).default; } });
14
- exports.configSchema = (0, configuration_1.ConfigurationSchema)('XYPlotRenderer', {
15
- filled: {
16
- type: 'boolean',
17
- defaultValue: true,
18
- },
19
- displayCrossHatches: {
20
- type: 'boolean',
21
- description: 'choose to draw cross hatches (sideways lines)',
22
- defaultValue: false,
23
- },
24
- summaryScoreMode: {
25
- type: 'stringEnum',
26
- model: mobx_state_tree_1.types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
27
- description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
28
- defaultValue: 'whiskers',
29
- },
30
- }, { baseConfiguration: configSchema_1.default, explicitlyTyped: true });
6
+ exports.ReactComponent = exports.configSchema = exports.XYPlotRenderer = void 0;
7
+ var WiggleRendering_1 = __importDefault(require("../WiggleRendering"));
8
+ exports.ReactComponent = WiggleRendering_1.default;
9
+ var XYPlotRenderer_1 = __importDefault(require("./XYPlotRenderer"));
10
+ exports.XYPlotRenderer = XYPlotRenderer_1.default;
11
+ var configSchema_1 = __importDefault(require("./configSchema"));
12
+ exports.configSchema = configSchema_1.default;
13
+ exports.default = (function (pluginManager) {
14
+ pluginManager.addRendererType(function () {
15
+ return new XYPlotRenderer_1.default({
16
+ name: 'XYPlotRenderer',
17
+ ReactComponent: WiggleRendering_1.default,
18
+ configSchema: configSchema_1.default,
19
+ pluginManager: pluginManager,
20
+ });
21
+ });
22
+ });
31
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/XYPlotRenderer/index.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAiE;AACjE,iEAA0C;AAC1C,mDAAuC;AACvC,sDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,mDAA0C;AAAjC,0HAAA,OAAO,OAAA;AAEH,QAAA,YAAY,GAAG,IAAA,mCAAmB,EAC7C,gBAAgB,EAChB;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,UAAU;KACzB;CACF,EACD,EAAE,iBAAiB,EAAE,sBAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAC3D,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/XYPlotRenderer/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAIR,yBAJhC,yBAAc,CAIgC;AAFrD,oEAA6C;AAEpC,yBAFF,wBAAc,CAEE;AADvB,gEAAyC;AAChB,uBADlB,sBAAY,CACkB;AAErC,mBAAe,UAAC,aAA4B;IAC1C,aAAa,CAAC,eAAe,CAC3B;QACE,OAAA,IAAI,wBAAc,CAAC;YACjB,IAAI,EAAE,gBAAgB;YACtB,cAAc,2BAAA;YACd,YAAY,wBAAA;YACZ,aAAa,eAAA;SACd,CAAC;IALF,CAKE,CACL,CAAA;AACH,CAAC,EAAA"}
@@ -18,11 +18,6 @@ exports.default = (0, configuration_1.ConfigurationSchema)('WiggleRenderer', {
18
18
  description: 'the color to use when the score is negative',
19
19
  defaultValue: 'red',
20
20
  },
21
- highlightColor: {
22
- type: 'color',
23
- description: 'the color of highlights over the wiggle track',
24
- defaultValue: 'rgba(255,255,0,0.5)',
25
- },
26
21
  clipColor: {
27
22
  type: 'color',
28
23
  description: 'the color of the clipping marker',
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../src/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AACjE,mDAAuC;AAEvC,kBAAe,IAAA,mCAAmB,EAChC,gBAAgB,EAChB;IACE,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,qDAAqD;QAClE,YAAY,EAAE,MAAM;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,MAAM;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,KAAK;KACpB;IACD,cAAc,EAAE;QACd,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,qBAAqB;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,uBAAK,CAAC,WAAW,CAAC,YAAY,EAAE;YACrC,SAAS;YACT,MAAM;YACN,SAAS;YACT,MAAM;SACP,CAAC;QACF,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,SAAS;KACxB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,gCAAgC;KAC9C;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../src/configSchema.ts"],"names":[],"mappings":";;AAAA,6DAAiE;AACjE,mDAAuC;AAEvC,kBAAe,IAAA,mCAAmB,EAChC,gBAAgB,EAChB;IACE,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,qDAAqD;QAClE,YAAY,EAAE,MAAM;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,MAAM;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6CAA6C;QAC1D,YAAY,EAAE,KAAK;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;QAC/C,YAAY,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,uBAAK,CAAC,WAAW,CAAC,YAAY,EAAE;YACrC,SAAS;YACT,MAAM;YACN,SAAS;YACT,MAAM;SACP,CAAC;QACF,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,SAAS;KACxB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,gCAAgC;KAC9C;CACF,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
+ import { Feature, Region } from '@jbrowse/core/util';
3
+ import { ScaleOpts } from './util';
4
+ export declare function drawXY(ctx: CanvasRenderingContext2D, props: {
5
+ features: Map<string, Feature> | Feature[];
6
+ bpPerPx: number;
7
+ regions: Region[];
8
+ scaleOpts: ScaleOpts;
9
+ height: number;
10
+ ticks: {
11
+ values: number[];
12
+ };
13
+ config: AnyConfigurationModel;
14
+ displayCrossHatches: boolean;
15
+ offset?: number;
16
+ colorCallback: (f: Feature, score: number) => string;
17
+ Color: typeof import('color');
18
+ }): {
19
+ reducedFeatures: Feature[];
20
+ };
21
+ export declare function drawLine(ctx: CanvasRenderingContext2D, props: {
22
+ features: Map<string, Feature> | Feature[];
23
+ regions: Region[];
24
+ bpPerPx: number;
25
+ scaleOpts: ScaleOpts;
26
+ height: number;
27
+ ticks: {
28
+ values: number[];
29
+ };
30
+ displayCrossHatches: boolean;
31
+ colorCallback: (f: Feature, score: number) => string;
32
+ config: AnyConfigurationModel;
33
+ offset?: number;
34
+ }): {
35
+ reducedFeatures: Feature[];
36
+ };
37
+ export declare function drawDensity(ctx: CanvasRenderingContext2D, props: {
38
+ features: Map<string, Feature> | Feature[];
39
+ regions: Region[];
40
+ bpPerPx: number;
41
+ scaleOpts: ScaleOpts;
42
+ height: number;
43
+ ticks: {
44
+ values: number[];
45
+ };
46
+ displayCrossHatches: boolean;
47
+ config: AnyConfigurationModel;
48
+ }): {
49
+ reducedFeatures: Feature[];
50
+ };
package/dist/drawxy.js ADDED
@@ -0,0 +1,411 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __values = (this && this.__values) || function(o) {
30
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
+ if (m) return m.call(o);
32
+ if (o && typeof o.length === "number") return {
33
+ next: function () {
34
+ if (o && i >= o.length) o = void 0;
35
+ return { value: o && o[i++], done: !o };
36
+ }
37
+ };
38
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.drawDensity = exports.drawLine = exports.drawXY = void 0;
42
+ var configuration_1 = require("@jbrowse/core/configuration");
43
+ var util_1 = require("@jbrowse/core/util");
44
+ var util_2 = require("./util");
45
+ function fillRectCtx(x, y, width, height, ctx, color) {
46
+ if (width < 0) {
47
+ x += width;
48
+ width = -width;
49
+ }
50
+ if (height < 0) {
51
+ y += height;
52
+ height = -height;
53
+ }
54
+ if (color) {
55
+ ctx.fillStyle = color;
56
+ }
57
+ ctx.fillRect(x, y, width, height);
58
+ }
59
+ var fudgeFactor = 0.4;
60
+ var clipHeight = 2;
61
+ function drawXY(ctx, props) {
62
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e;
63
+ var features = props.features, bpPerPx = props.bpPerPx, regions = props.regions, scaleOpts = props.scaleOpts, unadjustedHeight = props.height, config = props.config, ticks = props.ticks, displayCrossHatches = props.displayCrossHatches, _f = props.offset, offset = _f === void 0 ? 0 : _f, colorCallback = props.colorCallback, Color = props.Color;
64
+ var _g = __read(regions, 1), region = _g[0];
65
+ var width = (region.end - region.start) / bpPerPx;
66
+ // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
67
+ // wiggle display, and makes the height of the actual drawn area add
68
+ // "padding" to the top and bottom of the display
69
+ var height = unadjustedHeight - offset * 2;
70
+ var filled = (0, configuration_1.readConfObject)(config, 'filled');
71
+ var clipColor = (0, configuration_1.readConfObject)(config, 'clipColor');
72
+ var summaryScoreMode = (0, configuration_1.readConfObject)(config, 'summaryScoreMode');
73
+ var pivotValue = (0, configuration_1.readConfObject)(config, 'bicolorPivotValue');
74
+ var minSize = (0, configuration_1.readConfObject)(config, 'minSize');
75
+ var scale = (0, util_2.getScale)(__assign(__assign({}, scaleOpts), { range: [0, height] }));
76
+ var originY = (0, util_2.getOrigin)(scaleOpts.scaleType);
77
+ var _h = __read(scale.domain(), 2), niceMin = _h[0], niceMax = _h[1];
78
+ var toY = function (n) { return (0, util_1.clamp)(height - (scale(n) || 0), 0, height) + offset; };
79
+ var toOrigin = function (n) { return toY(originY) - toY(n); };
80
+ var getHeight = function (n) { return (filled ? toOrigin(n) : Math.max(minSize, 1)); };
81
+ var hasClipping = false;
82
+ var prevLeftPx = 0;
83
+ var reducedFeatures = [];
84
+ var crossingOrigin = niceMin < pivotValue && niceMax > pivotValue;
85
+ // we handle whiskers separately to render max row, min row, and avg in three
86
+ // passes. this reduces subpixel rendering issues. note: for stylistic
87
+ // reasons, clipping indicator is only drawn for score, not min/max score
88
+ if (summaryScoreMode === 'whiskers') {
89
+ var lastCol = void 0;
90
+ var lastMix = void 0;
91
+ try {
92
+ for (var _j = __values(features.values()), _k = _j.next(); !_k.done; _k = _j.next()) {
93
+ var feature = _k.value;
94
+ var _l = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _l[0], rightPx = _l[1];
95
+ if (feature.get('summary')) {
96
+ var w = rightPx - leftPx + fudgeFactor;
97
+ var max = feature.get('maxScore');
98
+ var c = colorCallback(feature, max);
99
+ var effectiveC = crossingOrigin
100
+ ? c
101
+ : c === lastCol
102
+ ? lastMix
103
+ : (lastMix = Color(c).lighten(0.4).toString());
104
+ fillRectCtx(leftPx, toY(max), w, getHeight(max), ctx, effectiveC);
105
+ lastCol = c;
106
+ }
107
+ }
108
+ }
109
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
110
+ finally {
111
+ try {
112
+ if (_k && !_k.done && (_a = _j.return)) _a.call(_j);
113
+ }
114
+ finally { if (e_1) throw e_1.error; }
115
+ }
116
+ lastMix = undefined;
117
+ lastCol = undefined;
118
+ try {
119
+ for (var _m = __values(features.values()), _o = _m.next(); !_o.done; _o = _m.next()) {
120
+ var feature = _o.value;
121
+ var _p = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _p[0], rightPx = _p[1];
122
+ var score = feature.get('score');
123
+ var max = feature.get('maxScore');
124
+ var min = feature.get('minScore');
125
+ var summary = feature.get('summary');
126
+ var c = colorCallback(feature, score);
127
+ var effectiveC = crossingOrigin && summary
128
+ ? c === lastCol
129
+ ? lastMix
130
+ : (lastMix = Color(colorCallback(feature, max))
131
+ .mix(Color(colorCallback(feature, min)))
132
+ .toString())
133
+ : c;
134
+ var w = Math.max(rightPx - leftPx + fudgeFactor, minSize);
135
+ // create reduced features, avoiding multiple features per px
136
+ if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
137
+ reducedFeatures.push(feature);
138
+ prevLeftPx = leftPx;
139
+ }
140
+ hasClipping = hasClipping || score < niceMin || score > niceMax;
141
+ fillRectCtx(leftPx, toY(score), w, getHeight(score), ctx, effectiveC);
142
+ lastCol = c;
143
+ }
144
+ }
145
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
146
+ finally {
147
+ try {
148
+ if (_o && !_o.done && (_b = _m.return)) _b.call(_m);
149
+ }
150
+ finally { if (e_2) throw e_2.error; }
151
+ }
152
+ lastMix = undefined;
153
+ lastCol = undefined;
154
+ try {
155
+ for (var _q = __values(features.values()), _r = _q.next(); !_r.done; _r = _q.next()) {
156
+ var feature = _r.value;
157
+ var _s = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _s[0], rightPx = _s[1];
158
+ if (feature.get('summary')) {
159
+ var min = feature.get('minScore');
160
+ var c = colorCallback(feature, min);
161
+ var w = Math.max(rightPx - leftPx + fudgeFactor, minSize);
162
+ var effectiveC = crossingOrigin
163
+ ? c
164
+ : c === lastCol
165
+ ? lastMix
166
+ : (lastMix = Color(c).darken(0.4).toString());
167
+ fillRectCtx(leftPx, toY(min), w, getHeight(min), ctx, effectiveC);
168
+ lastCol = c;
169
+ }
170
+ }
171
+ }
172
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
173
+ finally {
174
+ try {
175
+ if (_r && !_r.done && (_c = _q.return)) _c.call(_q);
176
+ }
177
+ finally { if (e_3) throw e_3.error; }
178
+ }
179
+ }
180
+ else {
181
+ try {
182
+ for (var _t = __values(features.values()), _u = _t.next(); !_u.done; _u = _t.next()) {
183
+ var feature = _u.value;
184
+ var _v = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _v[0], rightPx = _v[1];
185
+ // create reduced features, avoiding multiple features per px
186
+ if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
187
+ reducedFeatures.push(feature);
188
+ prevLeftPx = leftPx;
189
+ }
190
+ var score = feature.get('score');
191
+ var c = colorCallback(feature, score);
192
+ hasClipping = hasClipping || score < niceMin || score > niceMax;
193
+ var w = Math.max(rightPx - leftPx + fudgeFactor, minSize);
194
+ if (summaryScoreMode === 'max') {
195
+ var s = feature.get('summary') ? feature.get('maxScore') : score;
196
+ fillRectCtx(leftPx, toY(s), w, getHeight(s), ctx, c);
197
+ }
198
+ else if (summaryScoreMode === 'min') {
199
+ var s = feature.get('summary') ? feature.get('minScore') : score;
200
+ fillRectCtx(leftPx, toY(s), w, getHeight(s), ctx, c);
201
+ }
202
+ else {
203
+ fillRectCtx(leftPx, toY(score), w, getHeight(score), ctx, c);
204
+ }
205
+ }
206
+ }
207
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
208
+ finally {
209
+ try {
210
+ if (_u && !_u.done && (_d = _t.return)) _d.call(_t);
211
+ }
212
+ finally { if (e_4) throw e_4.error; }
213
+ }
214
+ }
215
+ // second pass: draw clipping
216
+ // avoid persisting the red fillstyle with save/restore
217
+ ctx.save();
218
+ if (hasClipping) {
219
+ ctx.fillStyle = clipColor;
220
+ try {
221
+ for (var _w = __values(features.values()), _x = _w.next(); !_x.done; _x = _w.next()) {
222
+ var feature = _x.value;
223
+ var _y = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _y[0], rightPx = _y[1];
224
+ var w = rightPx - leftPx + fudgeFactor;
225
+ var score = feature.get('score');
226
+ if (score > niceMax) {
227
+ fillRectCtx(leftPx, offset, w, clipHeight, ctx);
228
+ }
229
+ else if (score < niceMin && scaleOpts.scaleType !== 'log') {
230
+ fillRectCtx(leftPx, unadjustedHeight, w, clipHeight, ctx);
231
+ }
232
+ }
233
+ }
234
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
235
+ finally {
236
+ try {
237
+ if (_x && !_x.done && (_e = _w.return)) _e.call(_w);
238
+ }
239
+ finally { if (e_5) throw e_5.error; }
240
+ }
241
+ }
242
+ ctx.restore();
243
+ if (displayCrossHatches) {
244
+ ctx.lineWidth = 1;
245
+ ctx.strokeStyle = 'rgba(200,200,200,0.5)';
246
+ ticks.values.forEach(function (tick) {
247
+ ctx.beginPath();
248
+ ctx.moveTo(0, Math.round(toY(tick)));
249
+ ctx.lineTo(width, Math.round(toY(tick)));
250
+ ctx.stroke();
251
+ });
252
+ }
253
+ return { reducedFeatures: reducedFeatures };
254
+ }
255
+ exports.drawXY = drawXY;
256
+ function drawLine(ctx, props) {
257
+ var e_6, _a;
258
+ var features = props.features, regions = props.regions, bpPerPx = props.bpPerPx, scaleOpts = props.scaleOpts, unadjustedHeight = props.height, values = props.ticks.values, displayCrossHatches = props.displayCrossHatches, colorCallback = props.colorCallback, config = props.config, _b = props.offset, offset = _b === void 0 ? 0 : _b;
259
+ var _c = __read(regions, 1), region = _c[0];
260
+ var width = (region.end - region.start) / bpPerPx;
261
+ // the adjusted height takes into account YSCALEBAR_LABEL_OFFSET from the
262
+ // wiggle display, and makes the height of the actual drawn area add
263
+ // "padding" to the top and bottom of the display
264
+ var height = unadjustedHeight - offset * 2;
265
+ var clipColor = (0, configuration_1.readConfObject)(config, 'clipColor');
266
+ var scale = (0, util_2.getScale)(__assign(__assign({}, scaleOpts), { range: [0, height] }));
267
+ var _d = __read(scale.domain(), 2), niceMin = _d[0], niceMax = _d[1];
268
+ var toY = function (n) { return (0, util_1.clamp)(height - (scale(n) || 0), 0, height) + offset; };
269
+ var lastVal;
270
+ var prevLeftPx = 0;
271
+ var reducedFeatures = [];
272
+ try {
273
+ for (var _e = __values(features.values()), _f = _e.next(); !_f.done; _f = _e.next()) {
274
+ var feature = _f.value;
275
+ var _g = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _g[0], rightPx = _g[1];
276
+ // create reduced features, avoiding multiple features per px
277
+ if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
278
+ reducedFeatures.push(feature);
279
+ prevLeftPx = leftPx;
280
+ }
281
+ var score = feature.get('score');
282
+ var lowClipping = score < niceMin;
283
+ var highClipping = score > niceMax;
284
+ var w = rightPx - leftPx + fudgeFactor;
285
+ var c = colorCallback(feature, score);
286
+ ctx.beginPath();
287
+ ctx.strokeStyle = c;
288
+ var startPos = typeof lastVal !== 'undefined' ? lastVal : score;
289
+ if (!region.reversed) {
290
+ ctx.moveTo(leftPx, toY(startPos));
291
+ ctx.lineTo(leftPx, toY(score));
292
+ ctx.lineTo(rightPx, toY(score));
293
+ }
294
+ else {
295
+ ctx.moveTo(rightPx, toY(startPos));
296
+ ctx.lineTo(rightPx, toY(score));
297
+ ctx.lineTo(leftPx, toY(score));
298
+ }
299
+ ctx.stroke();
300
+ lastVal = score;
301
+ if (highClipping) {
302
+ ctx.fillStyle = clipColor;
303
+ ctx.fillRect(leftPx, offset, w, clipHeight);
304
+ }
305
+ else if (lowClipping && scaleOpts.scaleType !== 'log') {
306
+ ctx.fillStyle = clipColor;
307
+ ctx.fillRect(leftPx, height - clipHeight, w, height);
308
+ }
309
+ }
310
+ }
311
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
312
+ finally {
313
+ try {
314
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
315
+ }
316
+ finally { if (e_6) throw e_6.error; }
317
+ }
318
+ if (displayCrossHatches) {
319
+ ctx.lineWidth = 1;
320
+ ctx.strokeStyle = 'rgba(200,200,200,0.5)';
321
+ values.forEach(function (tick) {
322
+ ctx.beginPath();
323
+ ctx.moveTo(0, Math.round(toY(tick)));
324
+ ctx.lineTo(width, Math.round(toY(tick)));
325
+ ctx.stroke();
326
+ });
327
+ }
328
+ return { reducedFeatures: reducedFeatures };
329
+ }
330
+ exports.drawLine = drawLine;
331
+ function drawDensity(ctx, props) {
332
+ var e_7, _a, e_8, _b;
333
+ var features = props.features, regions = props.regions, bpPerPx = props.bpPerPx, scaleOpts = props.scaleOpts, height = props.height, config = props.config;
334
+ var _c = __read(regions, 1), region = _c[0];
335
+ var pivot = (0, configuration_1.readConfObject)(config, 'bicolorPivot');
336
+ var pivotValue = (0, configuration_1.readConfObject)(config, 'bicolorPivotValue');
337
+ var negColor = (0, configuration_1.readConfObject)(config, 'negColor');
338
+ var posColor = (0, configuration_1.readConfObject)(config, 'posColor');
339
+ var color = (0, configuration_1.readConfObject)(config, 'color');
340
+ var clipColor = (0, configuration_1.readConfObject)(config, 'clipColor');
341
+ var crossing = pivot !== 'none' && scaleOpts.scaleType !== 'log';
342
+ var scale = (0, util_2.getScale)(__assign(__assign({}, scaleOpts), { pivotValue: crossing ? pivotValue : undefined, range: crossing ? [negColor, 'white', posColor] : ['white', posColor] }));
343
+ var scale2 = (0, util_2.getScale)(__assign(__assign({}, scaleOpts), { range: [0, height] }));
344
+ var cb;
345
+ if (color === '#f0f') {
346
+ cb = function (_feature, score) { return scale(score); };
347
+ }
348
+ else {
349
+ cb = function (feature, score) {
350
+ return (0, configuration_1.readConfObject)(config, 'color', { feature: feature, score: score });
351
+ };
352
+ }
353
+ var _d = __read(scale2.domain(), 2), niceMin = _d[0], niceMax = _d[1];
354
+ var prevLeftPx = 0;
355
+ var hasClipping = false;
356
+ var reducedFeatures = [];
357
+ try {
358
+ for (var _e = __values(features.values()), _f = _e.next(); !_f.done; _f = _e.next()) {
359
+ var feature = _f.value;
360
+ var _g = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _g[0], rightPx = _g[1];
361
+ // create reduced features, avoiding multiple features per px
362
+ if (Math.floor(leftPx) !== Math.floor(prevLeftPx)) {
363
+ reducedFeatures.push(feature);
364
+ prevLeftPx = leftPx;
365
+ }
366
+ var score = feature.get('score');
367
+ hasClipping = hasClipping || score > niceMax || score < niceMin;
368
+ var w = rightPx - leftPx + fudgeFactor;
369
+ ctx.fillStyle = cb(feature, score);
370
+ ctx.fillRect(leftPx, 0, w, height);
371
+ }
372
+ }
373
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
374
+ finally {
375
+ try {
376
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
377
+ }
378
+ finally { if (e_7) throw e_7.error; }
379
+ }
380
+ // second pass: draw clipping
381
+ // avoid persisting the red fillstyle with save/restore
382
+ ctx.save();
383
+ if (hasClipping) {
384
+ ctx.fillStyle = clipColor;
385
+ try {
386
+ for (var _h = __values(features.values()), _j = _h.next(); !_j.done; _j = _h.next()) {
387
+ var feature = _j.value;
388
+ var _k = __read((0, util_1.featureSpanPx)(feature, region, bpPerPx), 2), leftPx = _k[0], rightPx = _k[1];
389
+ var w = rightPx - leftPx + fudgeFactor;
390
+ var score = feature.get('score');
391
+ if (score > niceMax) {
392
+ fillRectCtx(leftPx, 0, w, clipHeight, ctx);
393
+ }
394
+ else if (score < niceMin && scaleOpts.scaleType !== 'log') {
395
+ fillRectCtx(leftPx, 0, w, clipHeight, ctx);
396
+ }
397
+ }
398
+ }
399
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
400
+ finally {
401
+ try {
402
+ if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
403
+ }
404
+ finally { if (e_8) throw e_8.error; }
405
+ }
406
+ }
407
+ ctx.restore();
408
+ return { reducedFeatures: reducedFeatures };
409
+ }
410
+ exports.drawDensity = drawDensity;
411
+ //# sourceMappingURL=drawxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawxy.js","sourceRoot":"","sources":["../src/drawxy.ts"],"names":[],"mappings":"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"}