@jbrowse/plugin-wiggle 1.7.11 → 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 (446) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.d.ts +8 -7
  2. package/dist/BigWigAdapter/BigWigAdapter.js +205 -283
  3. package/dist/BigWigAdapter/BigWigAdapter.js.map +1 -0
  4. package/dist/BigWigAdapter/configSchema.js +17 -21
  5. package/dist/BigWigAdapter/configSchema.js.map +1 -0
  6. package/dist/BigWigAdapter/index.d.ts +3 -1
  7. package/dist/BigWigAdapter/index.js +42 -12
  8. package/dist/BigWigAdapter/index.js.map +1 -0
  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 +17 -135
  23. package/dist/DensityRenderer/index.js.map +1 -0
  24. package/dist/LinePlotRenderer/LinePlotRenderer.d.ts +4 -2
  25. package/dist/LinePlotRenderer/LinePlotRenderer.js +83 -168
  26. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  27. package/dist/LinePlotRenderer/configSchema.d.ts +2 -2
  28. package/dist/LinePlotRenderer/configSchema.js +15 -69
  29. package/dist/LinePlotRenderer/configSchema.js.map +1 -0
  30. package/dist/LinePlotRenderer/index.d.ts +3 -3
  31. package/dist/LinePlotRenderer/index.js +17 -32
  32. package/dist/LinePlotRenderer/index.js.map +1 -0
  33. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +6 -2
  34. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +88 -106
  35. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  36. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js +86 -107
  37. package/dist/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  38. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +6 -11
  39. package/dist/LinearWiggleDisplay/components/Tooltip.js +47 -163
  40. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  41. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +44 -50
  42. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  43. package/dist/LinearWiggleDisplay/components/YScaleBar.js +24 -31
  44. package/dist/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  45. package/dist/LinearWiggleDisplay/index.d.ts +7 -3
  46. package/dist/LinearWiggleDisplay/index.js +27 -41
  47. package/dist/LinearWiggleDisplay/index.js.map +1 -0
  48. package/dist/LinearWiggleDisplay/models/configSchema.js +65 -69
  49. package/dist/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  50. package/dist/LinearWiggleDisplay/models/model.d.ts +39 -18
  51. package/dist/LinearWiggleDisplay/models/model.js +538 -696
  52. package/dist/LinearWiggleDisplay/models/model.js.map +1 -0
  53. package/dist/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  54. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +135 -0
  55. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  56. package/dist/MultiDensityRenderer/configSchema.d.ts +2 -0
  57. package/dist/MultiDensityRenderer/configSchema.js +10 -0
  58. package/dist/MultiDensityRenderer/configSchema.js.map +1 -0
  59. package/dist/MultiDensityRenderer/index.d.ts +3 -0
  60. package/dist/MultiDensityRenderer/index.js +19 -0
  61. package/dist/MultiDensityRenderer/index.js.map +1 -0
  62. package/dist/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  63. package/dist/MultiLineRenderer/MultiLineRenderer.js +124 -0
  64. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  65. package/dist/MultiLineRenderer/configSchema.d.ts +2 -0
  66. package/dist/MultiLineRenderer/configSchema.js +23 -0
  67. package/dist/MultiLineRenderer/configSchema.js.map +1 -0
  68. package/dist/MultiLineRenderer/index.d.ts +3 -0
  69. package/dist/MultiLineRenderer/index.js +19 -0
  70. package/dist/MultiLineRenderer/index.js.map +1 -0
  71. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  72. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +239 -0
  73. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  74. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  75. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +91 -0
  76. package/dist/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  77. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  78. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +78 -0
  79. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  80. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  81. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +144 -0
  82. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  83. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  84. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js +26 -0
  85. package/dist/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  86. package/dist/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  87. package/dist/MultiLinearWiggleDisplay/components/util.js +38 -0
  88. package/dist/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  89. package/dist/MultiLinearWiggleDisplay/index.d.ts +3 -0
  90. package/dist/MultiLinearWiggleDisplay/index.js +23 -0
  91. package/dist/MultiLinearWiggleDisplay/index.js.map +1 -0
  92. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  93. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +77 -0
  94. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  95. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  96. package/dist/MultiLinearWiggleDisplay/models/model.js +675 -0
  97. package/dist/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  98. package/dist/MultiQuantitativeTrack/index.d.ts +3 -0
  99. package/dist/MultiQuantitativeTrack/index.js +19 -0
  100. package/dist/MultiQuantitativeTrack/index.js.map +1 -0
  101. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  102. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +131 -0
  103. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  104. package/dist/MultiRowLineRenderer/configSchema.d.ts +2 -0
  105. package/dist/MultiRowLineRenderer/configSchema.js +23 -0
  106. package/dist/MultiRowLineRenderer/configSchema.js.map +1 -0
  107. package/dist/MultiRowLineRenderer/index.d.ts +3 -0
  108. package/dist/MultiRowLineRenderer/index.js +19 -0
  109. package/dist/MultiRowLineRenderer/index.js.map +1 -0
  110. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  111. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +164 -0
  112. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  113. package/dist/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  114. package/dist/MultiRowXYPlotRenderer/configSchema.js +31 -0
  115. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  116. package/dist/MultiRowXYPlotRenderer/index.d.ts +3 -0
  117. package/dist/MultiRowXYPlotRenderer/index.js +19 -0
  118. package/dist/MultiRowXYPlotRenderer/index.js.map +1 -0
  119. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  120. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +244 -0
  121. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  122. package/dist/MultiWiggleAdapter/configSchema.d.ts +2 -0
  123. package/dist/MultiWiggleAdapter/configSchema.js +14 -0
  124. package/dist/MultiWiggleAdapter/configSchema.js.map +1 -0
  125. package/dist/MultiWiggleAdapter/index.d.ts +3 -0
  126. package/dist/MultiWiggleAdapter/index.js +47 -0
  127. package/dist/MultiWiggleAdapter/index.js.map +1 -0
  128. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  129. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +139 -0
  130. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  131. package/dist/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  132. package/dist/MultiWiggleAddTrackWidget/index.js +19 -0
  133. package/dist/MultiWiggleAddTrackWidget/index.js.map +1 -0
  134. package/dist/MultiWiggleRendering.d.ts +21 -0
  135. package/dist/MultiWiggleRendering.js +164 -0
  136. package/dist/MultiWiggleRendering.js.map +1 -0
  137. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  138. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +153 -0
  139. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  140. package/dist/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  141. package/dist/MultiXYPlotRenderer/configSchema.js +31 -0
  142. package/dist/MultiXYPlotRenderer/configSchema.js.map +1 -0
  143. package/dist/MultiXYPlotRenderer/index.d.ts +3 -0
  144. package/dist/MultiXYPlotRenderer/index.js +19 -0
  145. package/dist/MultiXYPlotRenderer/index.js.map +1 -0
  146. package/dist/QuantitativeTrack/index.d.ts +3 -0
  147. package/dist/QuantitativeTrack/index.js +19 -0
  148. package/dist/QuantitativeTrack/index.js.map +1 -0
  149. package/dist/Tooltip.d.ts +20 -0
  150. package/dist/Tooltip.js +124 -0
  151. package/dist/Tooltip.js.map +1 -0
  152. package/dist/WiggleBaseRenderer.d.ts +11 -12
  153. package/dist/WiggleBaseRenderer.js +132 -129
  154. package/dist/WiggleBaseRenderer.js.map +1 -0
  155. package/dist/WiggleRPC/rpcMethods.d.ts +17 -1
  156. package/dist/WiggleRPC/rpcMethods.js +258 -289
  157. package/dist/WiggleRPC/rpcMethods.js.map +1 -0
  158. package/dist/WiggleRendering.d.ts +1 -1
  159. package/dist/WiggleRendering.js +103 -102
  160. package/dist/WiggleRendering.js.map +1 -0
  161. package/dist/XYPlotRenderer/XYPlotRenderer.d.ts +4 -1
  162. package/dist/XYPlotRenderer/XYPlotRenderer.js +147 -194
  163. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  164. package/dist/XYPlotRenderer/configSchema.d.ts +2 -0
  165. package/dist/XYPlotRenderer/configSchema.js +31 -0
  166. package/dist/XYPlotRenderer/configSchema.js.map +1 -0
  167. package/dist/XYPlotRenderer/index.d.ts +7 -3
  168. package/dist/XYPlotRenderer/index.js +21 -32
  169. package/dist/XYPlotRenderer/index.js.map +1 -0
  170. package/dist/configSchema.js +42 -74
  171. package/dist/configSchema.js.map +1 -0
  172. package/dist/drawxy.d.ts +50 -0
  173. package/dist/drawxy.js +411 -0
  174. package/dist/drawxy.js.map +1 -0
  175. package/dist/index.d.ts +194 -85
  176. package/dist/index.js +139 -247
  177. package/dist/index.js.map +1 -0
  178. package/dist/util.d.ts +34 -1
  179. package/dist/util.js +270 -143
  180. package/dist/util.js.map +1 -0
  181. package/esm/BigWigAdapter/BigWigAdapter.d.ts +25 -0
  182. package/esm/BigWigAdapter/BigWigAdapter.js +81 -0
  183. package/esm/BigWigAdapter/BigWigAdapter.js.map +1 -0
  184. package/esm/BigWigAdapter/configSchema.d.ts +2 -0
  185. package/esm/BigWigAdapter/configSchema.js +16 -0
  186. package/esm/BigWigAdapter/configSchema.js.map +1 -0
  187. package/esm/BigWigAdapter/index.d.ts +3 -0
  188. package/esm/BigWigAdapter/index.js +15 -0
  189. package/esm/BigWigAdapter/index.js.map +1 -0
  190. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +9 -0
  191. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +26 -0
  192. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +1 -0
  193. package/esm/CreateMultiWiggleExtension/index.d.ts +2 -0
  194. package/esm/CreateMultiWiggleExtension/index.js +51 -0
  195. package/esm/CreateMultiWiggleExtension/index.js.map +1 -0
  196. package/esm/DensityRenderer/DensityRenderer.d.ts +6 -0
  197. package/esm/DensityRenderer/DensityRenderer.js +8 -0
  198. package/esm/DensityRenderer/DensityRenderer.js.map +1 -0
  199. package/esm/DensityRenderer/configSchema.d.ts +2 -0
  200. package/esm/DensityRenderer/configSchema.js +5 -0
  201. package/esm/DensityRenderer/configSchema.js.map +1 -0
  202. package/esm/DensityRenderer/index.d.ts +3 -0
  203. package/esm/DensityRenderer/index.js +12 -0
  204. package/esm/DensityRenderer/index.js.map +1 -0
  205. package/esm/LinePlotRenderer/LinePlotRenderer.d.ts +6 -0
  206. package/esm/LinePlotRenderer/LinePlotRenderer.js +13 -0
  207. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +1 -0
  208. package/esm/LinePlotRenderer/configSchema.d.ts +2 -0
  209. package/esm/LinePlotRenderer/configSchema.js +11 -0
  210. package/esm/LinePlotRenderer/configSchema.js.map +1 -0
  211. package/esm/LinePlotRenderer/index.d.ts +3 -0
  212. package/esm/LinePlotRenderer/index.js +12 -0
  213. package/esm/LinePlotRenderer/index.js.map +1 -0
  214. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +14 -0
  215. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +48 -0
  216. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  217. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  218. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  219. package/esm/LinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  220. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +19 -0
  221. package/esm/LinearWiggleDisplay/components/Tooltip.js +34 -0
  222. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +1 -0
  223. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +8 -0
  224. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +29 -0
  225. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  226. package/esm/LinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  227. package/esm/LinearWiggleDisplay/components/YScaleBar.js +9 -0
  228. package/esm/LinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  229. package/esm/LinearWiggleDisplay/index.d.ts +7 -0
  230. package/esm/LinearWiggleDisplay/index.js +21 -0
  231. package/esm/LinearWiggleDisplay/index.js.map +1 -0
  232. package/esm/LinearWiggleDisplay/models/configSchema.d.ts +2 -0
  233. package/esm/LinearWiggleDisplay/models/configSchema.js +64 -0
  234. package/esm/LinearWiggleDisplay/models/configSchema.js.map +1 -0
  235. package/esm/LinearWiggleDisplay/models/model.d.ts +309 -0
  236. package/esm/LinearWiggleDisplay/models/model.js +449 -0
  237. package/esm/LinearWiggleDisplay/models/model.js.map +1 -0
  238. package/esm/MultiDensityRenderer/MultiDensityRenderer.d.ts +7 -0
  239. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +36 -0
  240. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +1 -0
  241. package/esm/MultiDensityRenderer/configSchema.d.ts +2 -0
  242. package/esm/MultiDensityRenderer/configSchema.js +5 -0
  243. package/esm/MultiDensityRenderer/configSchema.js.map +1 -0
  244. package/esm/MultiDensityRenderer/index.d.ts +3 -0
  245. package/esm/MultiDensityRenderer/index.js +12 -0
  246. package/esm/MultiDensityRenderer/index.js.map +1 -0
  247. package/esm/MultiLineRenderer/MultiLineRenderer.d.ts +7 -0
  248. package/esm/MultiLineRenderer/MultiLineRenderer.js +25 -0
  249. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +1 -0
  250. package/esm/MultiLineRenderer/configSchema.d.ts +2 -0
  251. package/esm/MultiLineRenderer/configSchema.js +18 -0
  252. package/esm/MultiLineRenderer/configSchema.js.map +1 -0
  253. package/esm/MultiLineRenderer/index.d.ts +3 -0
  254. package/esm/MultiLineRenderer/index.js +12 -0
  255. package/esm/MultiLineRenderer/index.js.map +1 -0
  256. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +10 -0
  257. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +162 -0
  258. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +1 -0
  259. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.d.ts +11 -0
  260. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js +46 -0
  261. package/esm/MultiLinearWiggleDisplay/components/SetMinMaxDialog.js.map +1 -0
  262. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +25 -0
  263. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +43 -0
  264. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +1 -0
  265. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +13 -0
  266. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +99 -0
  267. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +1 -0
  268. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.d.ts +7 -0
  269. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js +9 -0
  270. package/esm/MultiLinearWiggleDisplay/components/YScaleBar.js.map +1 -0
  271. package/esm/MultiLinearWiggleDisplay/components/util.d.ts +10 -0
  272. package/esm/MultiLinearWiggleDisplay/components/util.js +31 -0
  273. package/esm/MultiLinearWiggleDisplay/components/util.js.map +1 -0
  274. package/esm/MultiLinearWiggleDisplay/index.d.ts +3 -0
  275. package/esm/MultiLinearWiggleDisplay/index.js +18 -0
  276. package/esm/MultiLinearWiggleDisplay/index.js.map +1 -0
  277. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +2 -0
  278. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +74 -0
  279. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +1 -0
  280. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +339 -0
  281. package/esm/MultiLinearWiggleDisplay/models/model.js +570 -0
  282. package/esm/MultiLinearWiggleDisplay/models/model.js.map +1 -0
  283. package/esm/MultiQuantitativeTrack/index.d.ts +3 -0
  284. package/esm/MultiQuantitativeTrack/index.js +14 -0
  285. package/esm/MultiQuantitativeTrack/index.js.map +1 -0
  286. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.d.ts +7 -0
  287. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +33 -0
  288. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +1 -0
  289. package/esm/MultiRowLineRenderer/configSchema.d.ts +2 -0
  290. package/esm/MultiRowLineRenderer/configSchema.js +18 -0
  291. package/esm/MultiRowLineRenderer/configSchema.js.map +1 -0
  292. package/esm/MultiRowLineRenderer/index.d.ts +3 -0
  293. package/esm/MultiRowLineRenderer/index.js +12 -0
  294. package/esm/MultiRowLineRenderer/index.js.map +1 -0
  295. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.d.ts +7 -0
  296. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +39 -0
  297. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +1 -0
  298. package/esm/MultiRowXYPlotRenderer/configSchema.d.ts +2 -0
  299. package/esm/MultiRowXYPlotRenderer/configSchema.js +26 -0
  300. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +1 -0
  301. package/esm/MultiRowXYPlotRenderer/index.d.ts +3 -0
  302. package/esm/MultiRowXYPlotRenderer/index.js +12 -0
  303. package/esm/MultiRowXYPlotRenderer/index.js.map +1 -0
  304. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.d.ts +28 -0
  305. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +87 -0
  306. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +1 -0
  307. package/esm/MultiWiggleAdapter/configSchema.d.ts +2 -0
  308. package/esm/MultiWiggleAdapter/configSchema.js +12 -0
  309. package/esm/MultiWiggleAdapter/configSchema.js.map +1 -0
  310. package/esm/MultiWiggleAdapter/index.d.ts +3 -0
  311. package/esm/MultiWiggleAdapter/index.js +15 -0
  312. package/esm/MultiWiggleAdapter/index.js.map +1 -0
  313. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +5 -0
  314. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +87 -0
  315. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +1 -0
  316. package/esm/MultiWiggleAddTrackWidget/index.d.ts +3 -0
  317. package/esm/MultiWiggleAddTrackWidget/index.js +12 -0
  318. package/esm/MultiWiggleAddTrackWidget/index.js.map +1 -0
  319. package/esm/MultiWiggleRendering.d.ts +21 -0
  320. package/esm/MultiWiggleRendering.js +75 -0
  321. package/esm/MultiWiggleRendering.js.map +1 -0
  322. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.d.ts +7 -0
  323. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +28 -0
  324. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +1 -0
  325. package/esm/MultiXYPlotRenderer/configSchema.d.ts +2 -0
  326. package/esm/MultiXYPlotRenderer/configSchema.js +26 -0
  327. package/esm/MultiXYPlotRenderer/configSchema.js.map +1 -0
  328. package/esm/MultiXYPlotRenderer/index.d.ts +3 -0
  329. package/esm/MultiXYPlotRenderer/index.js +12 -0
  330. package/esm/MultiXYPlotRenderer/index.js.map +1 -0
  331. package/esm/QuantitativeTrack/index.d.ts +3 -0
  332. package/esm/QuantitativeTrack/index.js +14 -0
  333. package/esm/QuantitativeTrack/index.js.map +1 -0
  334. package/esm/Tooltip.d.ts +20 -0
  335. package/esm/Tooltip.js +71 -0
  336. package/esm/Tooltip.js.map +1 -0
  337. package/esm/WiggleBaseRenderer.d.ts +54 -0
  338. package/esm/WiggleBaseRenderer.js +36 -0
  339. package/esm/WiggleBaseRenderer.js.map +1 -0
  340. package/esm/WiggleRPC/rpcMethods.d.ts +47 -0
  341. package/esm/WiggleRPC/rpcMethods.js +112 -0
  342. package/esm/WiggleRPC/rpcMethods.js.map +1 -0
  343. package/esm/WiggleRendering.d.ts +16 -0
  344. package/esm/WiggleRendering.js +36 -0
  345. package/esm/WiggleRendering.js.map +1 -0
  346. package/esm/XYPlotRenderer/XYPlotRenderer.d.ts +7 -0
  347. package/esm/XYPlotRenderer/XYPlotRenderer.js +26 -0
  348. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +1 -0
  349. package/esm/XYPlotRenderer/configSchema.d.ts +2 -0
  350. package/esm/XYPlotRenderer/configSchema.js +26 -0
  351. package/esm/XYPlotRenderer/configSchema.js.map +1 -0
  352. package/esm/XYPlotRenderer/index.d.ts +7 -0
  353. package/esm/XYPlotRenderer/index.js +13 -0
  354. package/esm/XYPlotRenderer/index.js.map +1 -0
  355. package/esm/configSchema.d.ts +2 -0
  356. package/esm/configSchema.js +41 -0
  357. package/esm/configSchema.js.map +1 -0
  358. package/esm/drawxy.d.ts +50 -0
  359. package/esm/drawxy.js +286 -0
  360. package/esm/drawxy.js.map +1 -0
  361. package/esm/index.d.ts +975 -0
  362. package/esm/index.js +90 -0
  363. package/esm/index.js.map +1 -0
  364. package/esm/util.d.ts +74 -0
  365. package/esm/util.js +231 -0
  366. package/esm/util.js.map +1 -0
  367. package/package.json +32 -18
  368. package/src/BigWigAdapter/BigWigAdapter.ts +53 -35
  369. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +10 -10
  370. package/src/BigWigAdapter/configSchema.ts +5 -0
  371. package/src/BigWigAdapter/index.ts +19 -1
  372. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +66 -0
  373. package/src/CreateMultiWiggleExtension/index.ts +57 -0
  374. package/src/DensityRenderer/DensityRenderer.test.js +8 -2
  375. package/src/DensityRenderer/DensityRenderer.ts +14 -0
  376. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.js.snap +8 -0
  377. package/src/{LinePlotRenderer/index.js → DensityRenderer/configSchema.ts} +5 -5
  378. package/src/DensityRenderer/index.ts +14 -53
  379. package/src/LinePlotRenderer/LinePlotRenderer.ts +19 -0
  380. package/src/LinePlotRenderer/configSchema.ts +16 -0
  381. package/src/LinePlotRenderer/index.ts +16 -0
  382. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +26 -31
  383. package/src/LinearWiggleDisplay/components/SetMinMaxDialog.tsx +13 -11
  384. package/src/LinearWiggleDisplay/components/Tooltip.tsx +6 -121
  385. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +9 -4
  386. package/src/LinearWiggleDisplay/index.ts +24 -3
  387. package/src/LinearWiggleDisplay/models/model.tsx +139 -224
  388. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +39 -0
  389. package/src/MultiDensityRenderer/configSchema.ts +10 -0
  390. package/src/MultiDensityRenderer/index.ts +16 -0
  391. package/src/MultiLineRenderer/MultiLineRenderer.ts +29 -0
  392. package/src/MultiLineRenderer/configSchema.ts +24 -0
  393. package/src/MultiLineRenderer/index.ts +17 -0
  394. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +322 -0
  395. package/src/MultiLinearWiggleDisplay/components/SetMinMaxDialog.tsx +113 -0
  396. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +76 -0
  397. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +261 -0
  398. package/src/MultiLinearWiggleDisplay/components/YScaleBar.tsx +25 -0
  399. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +1 -0
  400. package/src/MultiLinearWiggleDisplay/components/util.test.ts +69 -0
  401. package/src/MultiLinearWiggleDisplay/components/util.ts +33 -0
  402. package/src/MultiLinearWiggleDisplay/index.ts +20 -0
  403. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +94 -0
  404. package/src/MultiLinearWiggleDisplay/models/model.tsx +721 -0
  405. package/src/MultiQuantitativeTrack/index.ts +26 -0
  406. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +36 -0
  407. package/src/MultiRowLineRenderer/configSchema.ts +25 -0
  408. package/src/MultiRowLineRenderer/index.ts +16 -0
  409. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +43 -0
  410. package/src/MultiRowXYPlotRenderer/configSchema.ts +33 -0
  411. package/src/MultiRowXYPlotRenderer/index.ts +16 -0
  412. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +120 -0
  413. package/src/MultiWiggleAdapter/configSchema.ts +16 -0
  414. package/src/MultiWiggleAdapter/index.ts +20 -0
  415. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  416. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +130 -0
  417. package/src/MultiWiggleAddTrackWidget/index.ts +17 -0
  418. package/src/MultiWiggleRendering.tsx +125 -0
  419. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +32 -0
  420. package/src/MultiXYPlotRenderer/configSchema.ts +31 -0
  421. package/src/MultiXYPlotRenderer/index.ts +17 -0
  422. package/src/QuantitativeTrack/index.ts +26 -0
  423. package/src/Tooltip.tsx +123 -0
  424. package/src/WiggleBaseRenderer.tsx +17 -11
  425. package/src/WiggleRPC/rpcMethods.ts +68 -17
  426. package/src/WiggleRendering.tsx +12 -18
  427. package/src/XYPlotRenderer/XYPlotRenderer.test.js +3 -1
  428. package/src/XYPlotRenderer/XYPlotRenderer.ts +19 -124
  429. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.js.snap +8 -0
  430. package/src/XYPlotRenderer/configSchema.ts +32 -0
  431. package/src/XYPlotRenderer/index.ts +16 -10
  432. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -2
  433. package/src/configSchema.ts +0 -28
  434. package/src/declare.d.ts +0 -1
  435. package/src/drawxy.ts +387 -0
  436. package/src/index.ts +75 -129
  437. package/src/util.ts +174 -0
  438. package/dist/BigWigAdapter/BigWigAdapter.test.js +0 -157
  439. package/dist/DensityRenderer/DensityRenderer.test.js +0 -88
  440. package/dist/WiggleRendering.test.js +0 -52
  441. package/dist/XYPlotRenderer/XYPlotRenderer.test.js +0 -87
  442. package/dist/declare.d.js +0 -1
  443. package/dist/index.test.js +0 -24
  444. package/dist/util.test.js +0 -66
  445. package/src/LinePlotRenderer/LinePlotRenderer.js +0 -91
  446. package/src/LinePlotRenderer/configSchema.js +0 -68
@@ -1,3 +1,7 @@
1
- export { default as ReactComponent } from '../WiggleRendering';
2
- export { default } from './XYPlotRenderer';
3
- export declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
1
+ import ReactComponent from '../WiggleRendering';
2
+ import PluginManager from '@jbrowse/core/PluginManager';
3
+ import XYPlotRenderer from './XYPlotRenderer';
4
+ import configSchema from './configSchema';
5
+ export { XYPlotRenderer, configSchema, ReactComponent };
6
+ declare const _default: (pluginManager: PluginManager) => void;
7
+ export default _default;
@@ -1,34 +1,23 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ 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
+ });
7
22
  });
8
- Object.defineProperty(exports, "ReactComponent", {
9
- enumerable: true,
10
- get: function get() {
11
- return _WiggleRendering.default;
12
- }
13
- });
14
- exports.configSchema = void 0;
15
- Object.defineProperty(exports, "default", {
16
- enumerable: true,
17
- get: function get() {
18
- return _XYPlotRenderer.default;
19
- }
20
- });
21
-
22
- var _configuration = require("@jbrowse/core/configuration");
23
-
24
- var _configSchema = _interopRequireDefault(require("../configSchema"));
25
-
26
- var _WiggleRendering = _interopRequireDefault(require("../WiggleRendering"));
27
-
28
- var _XYPlotRenderer = _interopRequireDefault(require("./XYPlotRenderer"));
29
-
30
- var configSchema = (0, _configuration.ConfigurationSchema)('XYPlotRenderer', {}, {
31
- baseConfiguration: _configSchema.default,
32
- explicitlyTyped: true
33
- });
34
- exports.configSchema = configSchema;
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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"}
@@ -1,75 +1,43 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _configuration = require("@jbrowse/core/configuration");
9
-
10
- var _mobxStateTree = require("mobx-state-tree");
11
-
12
- var _default = (0, _configuration.ConfigurationSchema)('WiggleRenderer', {
13
- color: {
14
- type: 'color',
15
- description: 'the color of track, overrides posColor and negColor',
16
- defaultValue: '#f0f'
17
- },
18
- posColor: {
19
- type: 'color',
20
- description: 'the color to use when the score is positive',
21
- defaultValue: 'blue'
22
- },
23
- negColor: {
24
- type: 'color',
25
- description: 'the color to use when the score is negative',
26
- defaultValue: 'red'
27
- },
28
- highlightColor: {
29
- type: 'color',
30
- description: 'the color of highlights over the wiggle track',
31
- defaultValue: 'rgba(255,255,0,0.5)'
32
- },
33
- clipColor: {
34
- type: 'color',
35
- description: 'the color of the clipping marker',
36
- defaultValue: 'red'
37
- },
38
- renderType: {
39
- type: 'stringEnum',
40
- model: _mobxStateTree.types.enumeration('Rendering type', ['xyplot', 'density', 'line']),
41
- description: 'The type of rendering for wiggle data to use',
42
- defaultValue: 'xyplot'
43
- },
44
- filled: {
45
- type: 'boolean',
46
- description: 'fill in histogram',
47
- defaultValue: true
48
- },
49
- bicolorPivot: {
50
- type: 'stringEnum',
51
- model: _mobxStateTree.types.enumeration('Scale type', ['numeric', 'mean', 'z_score', 'none']),
52
- description: 'type of bicolor pivot',
53
- defaultValue: 'numeric'
54
- },
55
- bicolorPivotValue: {
56
- type: 'number',
57
- defaultValue: 0,
58
- description: 'value to use for bicolor pivot'
59
- },
60
- summaryScoreMode: {
61
- type: 'stringEnum',
62
- model: _mobxStateTree.types.enumeration('Score type', ['max', 'min', 'avg', 'whiskers']),
63
- description: 'choose whether to use max/min/average or whiskers which combines all three into the same rendering',
64
- defaultValue: 'whiskers'
65
- },
66
- displayCrossHatches: {
67
- type: 'boolean',
68
- description: 'choose to draw cross hatches (sideways lines)',
69
- defaultValue: false
70
- }
71
- }, {
72
- explicitlyTyped: true
73
- });
74
-
75
- exports.default = _default;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var configuration_1 = require("@jbrowse/core/configuration");
4
+ var mobx_state_tree_1 = require("mobx-state-tree");
5
+ exports.default = (0, configuration_1.ConfigurationSchema)('WiggleRenderer', {
6
+ color: {
7
+ type: 'color',
8
+ description: 'the color of track, overrides posColor and negColor',
9
+ defaultValue: '#f0f',
10
+ },
11
+ posColor: {
12
+ type: 'color',
13
+ description: 'the color to use when the score is positive',
14
+ defaultValue: 'blue',
15
+ },
16
+ negColor: {
17
+ type: 'color',
18
+ description: 'the color to use when the score is negative',
19
+ defaultValue: 'red',
20
+ },
21
+ clipColor: {
22
+ type: 'color',
23
+ description: 'the color of the clipping marker',
24
+ defaultValue: 'red',
25
+ },
26
+ bicolorPivot: {
27
+ type: 'stringEnum',
28
+ model: mobx_state_tree_1.types.enumeration('Scale type', [
29
+ 'numeric',
30
+ 'mean',
31
+ 'z_score',
32
+ 'none',
33
+ ]),
34
+ description: 'type of bicolor pivot',
35
+ defaultValue: 'numeric',
36
+ },
37
+ bicolorPivotValue: {
38
+ type: 'number',
39
+ defaultValue: 0,
40
+ description: 'value to use for bicolor pivot',
41
+ },
42
+ }, { explicitlyTyped: true });
43
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +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,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