@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
@@ -0,0 +1,675 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ var __generator = (this && this.__generator) || function (thisArg, body) {
46
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
+ function verb(n) { return function (v) { return step([n, v]); }; }
49
+ function step(op) {
50
+ if (f) throw new TypeError("Generator is already executing.");
51
+ while (_) try {
52
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
+ if (y = 0, t) op = [op[0] & 2, t.value];
54
+ switch (op[0]) {
55
+ case 0: case 1: t = op; break;
56
+ case 4: _.label++; return { value: op[1], done: false };
57
+ case 5: _.label++; y = op[1]; op = [0]; continue;
58
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
+ default:
60
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
+ if (t[2]) _.ops.pop();
65
+ _.trys.pop(); continue;
66
+ }
67
+ op = body.call(thisArg, _);
68
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
+ }
71
+ };
72
+ var __read = (this && this.__read) || function (o, n) {
73
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
74
+ if (!m) return o;
75
+ var i = m.call(o), r, ar = [], e;
76
+ try {
77
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
78
+ }
79
+ catch (error) { e = { error: error }; }
80
+ finally {
81
+ try {
82
+ if (r && !r.done && (m = i["return"])) m.call(i);
83
+ }
84
+ finally { if (e) throw e.error; }
85
+ }
86
+ return ar;
87
+ };
88
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
89
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
90
+ if (ar || !(i in from)) {
91
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
92
+ ar[i] = from[i];
93
+ }
94
+ }
95
+ return to.concat(ar || Array.prototype.slice.call(from));
96
+ };
97
+ var __importDefault = (this && this.__importDefault) || function (mod) {
98
+ return (mod && mod.__esModule) ? mod : { "default": mod };
99
+ };
100
+ Object.defineProperty(exports, "__esModule", { value: true });
101
+ var react_1 = __importStar(require("react"));
102
+ var mobx_state_tree_1 = require("mobx-state-tree");
103
+ var mobx_1 = require("mobx");
104
+ var react_d3_axis_mod_1 = require("react-d3-axis-mod");
105
+ var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
106
+ // jbrowse imports
107
+ var configuration_1 = require("@jbrowse/core/configuration");
108
+ var util_1 = require("@jbrowse/core/util");
109
+ var tracks_1 = require("@jbrowse/core/util/tracks");
110
+ var colors_1 = require("@jbrowse/core/ui/colors");
111
+ var plugin_linear_genome_view_1 = require("@jbrowse/plugin-linear-genome-view");
112
+ // locals
113
+ var util_2 = require("../../util");
114
+ var Tooltip_1 = __importDefault(require("../components/Tooltip"));
115
+ var WiggleDisplayComponent_1 = require("../components/WiggleDisplayComponent");
116
+ var randomColor = function () {
117
+ return '#000000'.replace(/0/g, function () { return (~~(Math.random() * 16)).toString(16); });
118
+ };
119
+ // lazt components
120
+ var SetMinMaxDlg = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('../components/SetMinMaxDialog')); }); });
121
+ var SetColorDlg = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('../components/SetColorDialog')); }); });
122
+ // using a map because it preserves order
123
+ var rendererTypes = new Map([
124
+ ['xyplot', 'MultiXYPlotRenderer'],
125
+ ['multirowxy', 'MultiRowXYPlotRenderer'],
126
+ ['multirowdensity', 'MultiDensityRenderer'],
127
+ ['multiline', 'MultiLineRenderer'],
128
+ ['multirowline', 'MultiRowLineRenderer'],
129
+ ]);
130
+ var stateModelFactory = function (pluginManager, configSchema) {
131
+ return mobx_state_tree_1.types
132
+ .compose('MultiLinearWiggleDisplay', plugin_linear_genome_view_1.BaseLinearDisplay, mobx_state_tree_1.types.model({
133
+ type: mobx_state_tree_1.types.literal('MultiLinearWiggleDisplay'),
134
+ configuration: (0, configuration_1.ConfigurationReference)(configSchema),
135
+ selectedRendering: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.string, ''),
136
+ resolution: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.number, 1),
137
+ fill: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
138
+ minSize: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
139
+ height: 200,
140
+ color: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
141
+ posColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
142
+ negColor: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
143
+ summaryScoreMode: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
144
+ rendererTypeNameState: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
145
+ scale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
146
+ autoscale: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
147
+ displayCrossHatches: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.boolean),
148
+ layout: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), []),
149
+ constraints: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.model({
150
+ max: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
151
+ min: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
152
+ }), {}),
153
+ }))
154
+ .volatile(function () { return ({
155
+ statsReady: false,
156
+ message: undefined,
157
+ stats: { scoreMin: 0, scoreMax: 50 },
158
+ statsRegion: undefined,
159
+ statsFetchInProgress: undefined,
160
+ featureUnderMouseVolatile: undefined,
161
+ sourcesVolatile: undefined,
162
+ }); })
163
+ .actions(function (self) { return ({
164
+ setLayout: function (layout) {
165
+ self.layout = layout;
166
+ },
167
+ clearLayout: function () {
168
+ self.layout = [];
169
+ },
170
+ updateStats: function (stats) {
171
+ var scoreMin = stats.scoreMin, scoreMax = stats.scoreMax;
172
+ var EPSILON = 0.000001;
173
+ if (Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
174
+ Math.abs(self.stats.scoreMin - scoreMin) > EPSILON) {
175
+ self.stats = { scoreMin: scoreMin, scoreMax: scoreMax };
176
+ self.statsReady = true;
177
+ }
178
+ },
179
+ setSources: function (sources) {
180
+ if (!(0, fast_deep_equal_1.default)(sources, self.sourcesVolatile)) {
181
+ self.sourcesVolatile = sources;
182
+ }
183
+ },
184
+ setColor: function (color) {
185
+ self.color = color;
186
+ },
187
+ setPosColor: function (color) {
188
+ self.posColor = color;
189
+ },
190
+ setNegColor: function (color) {
191
+ self.negColor = color;
192
+ },
193
+ setLoading: function (aborter) {
194
+ var statsFetch = self.statsFetchInProgress;
195
+ if (statsFetch !== undefined && !statsFetch.signal.aborted) {
196
+ statsFetch.abort();
197
+ }
198
+ self.statsFetchInProgress = aborter;
199
+ },
200
+ // this overrides the BaseLinearDisplayModel to avoid popping up a
201
+ // feature detail display, but still sets the feature selection on the
202
+ // model so listeners can detect a click
203
+ selectFeature: function (feature) {
204
+ var session = (0, util_1.getSession)(self);
205
+ if ((0, util_1.isSelectionContainer)(session)) {
206
+ session.setSelection(feature);
207
+ }
208
+ },
209
+ setFeatureUnderMouse: function (f) {
210
+ self.featureUnderMouseVolatile = f;
211
+ },
212
+ setResolution: function (res) {
213
+ self.resolution = res;
214
+ },
215
+ setFill: function (fill) {
216
+ if (fill === 0) {
217
+ self.fill = true;
218
+ self.minSize = 0;
219
+ }
220
+ else if (fill === 1) {
221
+ self.fill = false;
222
+ self.minSize = 1;
223
+ }
224
+ else if (fill === 2) {
225
+ self.fill = false;
226
+ self.minSize = 2;
227
+ }
228
+ },
229
+ toggleLogScale: function () {
230
+ if (self.scale !== 'log') {
231
+ self.scale = 'log';
232
+ }
233
+ else {
234
+ self.scale = 'linear';
235
+ }
236
+ },
237
+ setScaleType: function (scale) {
238
+ self.scale = scale;
239
+ },
240
+ setSummaryScoreMode: function (val) {
241
+ self.summaryScoreMode = val;
242
+ },
243
+ setAutoscale: function (val) {
244
+ self.autoscale = val;
245
+ },
246
+ setMaxScore: function (val) {
247
+ self.constraints.max = val;
248
+ },
249
+ setRendererType: function (val) {
250
+ self.rendererTypeNameState = val;
251
+ },
252
+ setMinScore: function (val) {
253
+ self.constraints.min = val;
254
+ },
255
+ toggleCrossHatches: function () {
256
+ self.displayCrossHatches = !self.displayCrossHatches;
257
+ },
258
+ setCrossHatches: function (cross) {
259
+ self.displayCrossHatches = cross;
260
+ },
261
+ }); })
262
+ .views(function (self) { return ({
263
+ get featureUnderMouse() {
264
+ return self.featureUnderMouseVolatile;
265
+ },
266
+ get TooltipComponent() {
267
+ return Tooltip_1.default;
268
+ },
269
+ get adapterTypeName() {
270
+ return self.adapterConfig.type;
271
+ },
272
+ get rendererTypeNameSimple() {
273
+ return self.rendererTypeNameState || (0, configuration_1.getConf)(self, 'defaultRendering');
274
+ },
275
+ get rendererTypeName() {
276
+ var name = this.rendererTypeNameSimple;
277
+ var rendererType = rendererTypes.get(name);
278
+ if (!rendererType) {
279
+ throw new Error("unknown renderer ".concat(name));
280
+ }
281
+ return rendererType;
282
+ },
283
+ // subclasses can define these, as snpcoverage track does
284
+ get filters() {
285
+ return undefined;
286
+ },
287
+ get scaleType() {
288
+ var _a;
289
+ return (_a = self.scale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'scaleType');
290
+ },
291
+ get maxScore() {
292
+ var _a;
293
+ return (_a = self.constraints.max) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'maxScore');
294
+ },
295
+ get minScore() {
296
+ var _a;
297
+ return (_a = self.constraints.min) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'minScore');
298
+ },
299
+ }); })
300
+ .views(function (self) { return ({
301
+ get rendererConfig() {
302
+ var configBlob = (0, configuration_1.getConf)(self, ['renderers', self.rendererTypeName]) || {};
303
+ var color = self.color, displayCrossHatches = self.displayCrossHatches, fill = self.fill, minSize = self.minSize, negColor = self.negColor, posColor = self.posColor, summaryScoreMode = self.summaryScoreMode, scaleType = self.scaleType;
304
+ return self.rendererType.configSchema.create(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, configBlob), (scaleType ? { scaleType: scaleType } : {})), (fill !== undefined ? { filled: fill } : {})), (displayCrossHatches !== undefined
305
+ ? { displayCrossHatches: displayCrossHatches }
306
+ : {})), (summaryScoreMode !== undefined ? { summaryScoreMode: summaryScoreMode } : {})), (color !== undefined ? { color: color } : {})), (negColor !== undefined ? { negColor: negColor } : {})), (posColor !== undefined ? { posColor: posColor } : {})), (minSize !== undefined ? { minSize: minSize } : {})), (0, mobx_state_tree_1.getEnv)(self));
307
+ },
308
+ }); })
309
+ .views(function (self) { return ({
310
+ // everything except density gets a numerical scalebar
311
+ get needsScalebar() {
312
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
313
+ self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
314
+ self.rendererTypeName === 'MultiLineRenderer' ||
315
+ self.rendererTypeName === 'MultiRowLineRenderer');
316
+ },
317
+ get needsFullHeightScalebar() {
318
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
319
+ self.rendererTypeName === 'MultiLineRenderer');
320
+ },
321
+ get isMultiRow() {
322
+ return (self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
323
+ self.rendererTypeName === 'MultiRowLineRenderer' ||
324
+ self.rendererTypeName === 'MultiDensityRenderer');
325
+ },
326
+ // can be used to give it a "color scale" like a R heatmap, not
327
+ // implemented like this yet but flag can be used for this
328
+ get needsCustomLegend() {
329
+ return self.rendererTypeName === 'MultiDensityRenderer';
330
+ },
331
+ get canHaveFill() {
332
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
333
+ self.rendererTypeName === 'MultiRowXYPlotRenderer');
334
+ },
335
+ // the multirowxy and multiline don't need to use colors on the legend
336
+ // boxes since their track is drawn with the color. sort of a stylistic choice
337
+ get renderColorBoxes() {
338
+ return !(self.rendererTypeName === 'MultiRowLineRenderer' ||
339
+ self.rendererTypeName === 'MultiRowXYPlotRenderer');
340
+ },
341
+ // positions multi-row below the tracklabel even if using overlap
342
+ // tracklabels for everything else
343
+ get prefersOffset() {
344
+ return this.isMultiRow;
345
+ },
346
+ get sources() {
347
+ var _this = this;
348
+ var _a;
349
+ var sources = Object.fromEntries(((_a = self.sourcesVolatile) === null || _a === void 0 ? void 0 : _a.map(function (s) { return [s.name, s]; })) || []);
350
+ var iter = self.layout.length ? self.layout : self.sourcesVolatile;
351
+ return iter === null || iter === void 0 ? void 0 : iter.map(function (s) { return (__assign(__assign({}, sources[s.name]), s)); }).map(function (s, i) { return (__assign(__assign({}, s), { color: s.color ||
352
+ (!_this.isMultiRow ? colors_1.set1[i] || randomColor() : 'blue') })); });
353
+ },
354
+ }); })
355
+ .views(function (self) {
356
+ var oldDomain = [0, 0];
357
+ return {
358
+ get filled() {
359
+ var fill = self.fill, rendererConfig = self.rendererConfig;
360
+ return fill !== null && fill !== void 0 ? fill : (0, configuration_1.readConfObject)(rendererConfig, 'filled');
361
+ },
362
+ get summaryScoreModeSetting() {
363
+ var scoreMode = self.summaryScoreMode, rendererConfig = self.rendererConfig;
364
+ return scoreMode !== null && scoreMode !== void 0 ? scoreMode : (0, configuration_1.readConfObject)(rendererConfig, 'summaryScoreMode');
365
+ },
366
+ get domain() {
367
+ var stats = self.stats, scaleType = self.scaleType, minScore = self.minScore, maxScore = self.maxScore;
368
+ var scoreMin = stats.scoreMin, scoreMax = stats.scoreMax;
369
+ var ret = (0, util_2.getNiceDomain)({
370
+ domain: [scoreMin, scoreMax],
371
+ bounds: [minScore, maxScore],
372
+ scaleType: scaleType,
373
+ });
374
+ // avoid weird scalebar if log value and empty region displayed
375
+ if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
376
+ return [0, Number.MIN_VALUE];
377
+ }
378
+ // avoid returning a new object if it matches the old value
379
+ if (!(0, fast_deep_equal_1.default)(oldDomain, ret)) {
380
+ oldDomain = ret;
381
+ }
382
+ return oldDomain;
383
+ },
384
+ get scaleOpts() {
385
+ var scaleType = self.scaleType, stats = self.stats;
386
+ return {
387
+ autoscaleType: this.autoscaleType,
388
+ domain: this.domain,
389
+ stats: stats,
390
+ scaleType: scaleType,
391
+ inverted: (0, configuration_1.getConf)(self, 'inverted'),
392
+ };
393
+ },
394
+ get autoscaleType() {
395
+ var _a;
396
+ return (_a = self.autoscale) !== null && _a !== void 0 ? _a : (0, configuration_1.getConf)(self, 'autoscale');
397
+ },
398
+ get displayCrossHatchesSetting() {
399
+ var displayCrossHatches = self.displayCrossHatches, rendererConfig = self.rendererConfig;
400
+ return (displayCrossHatches !== null && displayCrossHatches !== void 0 ? displayCrossHatches : (0, configuration_1.readConfObject)(rendererConfig, 'displayCrossHatches'));
401
+ },
402
+ get rowHeight() {
403
+ var sources = self.sources, height = self.height, isMultiRow = self.isMultiRow;
404
+ return isMultiRow ? height / ((sources === null || sources === void 0 ? void 0 : sources.length) || 1) : height;
405
+ },
406
+ get rowHeightTooSmallForScalebar() {
407
+ return this.rowHeight < 70;
408
+ },
409
+ get useMinimalTicks() {
410
+ return ((0, configuration_1.getConf)(self, 'minimalTicks') || this.rowHeightTooSmallForScalebar);
411
+ },
412
+ };
413
+ })
414
+ .views(function (self) { return ({
415
+ get ticks() {
416
+ var scaleType = self.scaleType, domain = self.domain, isMultiRow = self.isMultiRow, rowHeight = self.rowHeight, useMinimalTicks = self.useMinimalTicks;
417
+ var offset = isMultiRow ? 0 : util_2.YSCALEBAR_LABEL_OFFSET;
418
+ var ticks = (0, react_d3_axis_mod_1.axisPropsFromTickScale)((0, util_2.getScale)({
419
+ scaleType: scaleType,
420
+ domain: domain,
421
+ range: [rowHeight - offset, offset],
422
+ inverted: (0, configuration_1.getConf)(self, 'inverted'),
423
+ }), 4);
424
+ return useMinimalTicks ? __assign(__assign({}, ticks), { values: domain }) : ticks;
425
+ },
426
+ get colors() {
427
+ return [
428
+ 'red',
429
+ 'blue',
430
+ 'green',
431
+ 'orange',
432
+ 'purple',
433
+ 'cyan',
434
+ 'pink',
435
+ 'darkblue',
436
+ 'darkred',
437
+ 'pink',
438
+ ];
439
+ },
440
+ get adapterCapabilities() {
441
+ var adapterTypeName = self.adapterTypeName;
442
+ return pluginManager.getAdapterType(adapterTypeName).adapterCapabilities;
443
+ },
444
+ }); })
445
+ .views(function (self) {
446
+ var superRenderProps = self.renderProps;
447
+ return {
448
+ renderProps: function () {
449
+ var superProps = superRenderProps();
450
+ var displayCrossHatches = self.displayCrossHatches, filters = self.filters, height = self.height, resolution = self.resolution, rpcDriverName = self.rpcDriverName, scaleOpts = self.scaleOpts, sources = self.sources, statsReady = self.statsReady, ticks = self.ticks, config = self.rendererConfig;
451
+ return __assign(__assign({}, superProps), { notReady: superProps.notReady || !sources || !statsReady, displayModel: self, config: config, displayCrossHatches: displayCrossHatches, filters: filters, height: height, resolution: resolution, rpcDriverName: rpcDriverName, scaleOpts: scaleOpts, sources: sources, ticks: ticks, onMouseMove: function (_, f) {
452
+ return self.setFeatureUnderMouse(f);
453
+ }, onMouseLeave: function () { return self.setFeatureUnderMouse(undefined); } });
454
+ },
455
+ get hasResolution() {
456
+ return self.adapterCapabilities.includes('hasResolution');
457
+ },
458
+ get hasGlobalStats() {
459
+ return self.adapterCapabilities.includes('hasGlobalStats');
460
+ },
461
+ get fillSetting() {
462
+ if (self.filled) {
463
+ return 0;
464
+ }
465
+ else if (!self.filled && self.minSize === 1) {
466
+ return 1;
467
+ }
468
+ else {
469
+ return 2;
470
+ }
471
+ },
472
+ };
473
+ })
474
+ .views(function (self) {
475
+ var superTrackMenuItems = self.trackMenuItems;
476
+ var hasRenderings = (0, configuration_1.getConf)(self, 'defaultRendering');
477
+ return {
478
+ trackMenuItems: function () {
479
+ return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(superTrackMenuItems()), false), __read((self.hasResolution
480
+ ? [
481
+ {
482
+ label: 'Resolution',
483
+ subMenu: [
484
+ {
485
+ label: 'Finer resolution',
486
+ onClick: function () { return self.setResolution(self.resolution * 5); },
487
+ },
488
+ {
489
+ label: 'Coarser resolution',
490
+ onClick: function () { return self.setResolution(self.resolution / 5); },
491
+ },
492
+ ],
493
+ },
494
+ {
495
+ label: 'Summary score mode',
496
+ subMenu: ['min', 'max', 'avg', 'whiskers'].map(function (elt) { return ({
497
+ label: elt,
498
+ type: 'radio',
499
+ checked: self.summaryScoreModeSetting === elt,
500
+ onClick: function () { return self.setSummaryScoreMode(elt); },
501
+ }); }),
502
+ },
503
+ ]
504
+ : [])), false), __read((self.canHaveFill
505
+ ? [
506
+ {
507
+ label: 'Fill mode',
508
+ subMenu: ['filled', 'no fill', 'no fill w/ emphasis'].map(function (elt, idx) { return ({
509
+ label: elt,
510
+ type: 'radio',
511
+ checked: self.fillSetting === idx,
512
+ onClick: function () { return self.setFill(idx); },
513
+ }); }),
514
+ },
515
+ ]
516
+ : [])), false), [
517
+ {
518
+ label: self.scaleType === 'log' ? 'Set linear scale' : 'Set log scale',
519
+ onClick: function () { return self.toggleLogScale(); },
520
+ }
521
+ ], false), __read((self.needsScalebar
522
+ ? [
523
+ {
524
+ type: 'checkbox',
525
+ label: 'Draw cross hatches',
526
+ checked: self.displayCrossHatchesSetting,
527
+ onClick: function () { return self.toggleCrossHatches(); },
528
+ },
529
+ ]
530
+ : [])), false), __read((hasRenderings
531
+ ? [
532
+ {
533
+ label: 'Renderer type',
534
+ subMenu: [
535
+ 'xyplot',
536
+ 'multirowxy',
537
+ 'multirowdensity',
538
+ 'multiline',
539
+ 'multirowline',
540
+ ].map(function (key) { return ({
541
+ label: key,
542
+ type: 'radio',
543
+ checked: self.rendererTypeNameSimple === key,
544
+ onClick: function () { return self.setRendererType(key); },
545
+ }); }),
546
+ },
547
+ ]
548
+ : [])), false), [
549
+ {
550
+ label: 'Autoscale type',
551
+ subMenu: __spreadArray(__spreadArray([
552
+ ['local', 'Local']
553
+ ], __read((self.hasGlobalStats
554
+ ? [
555
+ ['global', 'Global'],
556
+ ['globalsd', 'Global ± 3σ'],
557
+ ]
558
+ : [])), false), [
559
+ ['localsd', 'Local ± 3σ'],
560
+ ], false).map(function (_a) {
561
+ var _b = __read(_a, 2), val = _b[0], label = _b[1];
562
+ return {
563
+ label: label,
564
+ type: 'radio',
565
+ checked: self.autoscaleType === val,
566
+ onClick: function () { return self.setAutoscale(val); },
567
+ };
568
+ }),
569
+ },
570
+ {
571
+ label: 'Set min/max score...',
572
+ onClick: function () {
573
+ var session = (0, util_1.getSession)(self);
574
+ session.queueDialog(function (handleClose) { return [
575
+ SetMinMaxDlg,
576
+ { model: self, handleClose: handleClose },
577
+ ]; });
578
+ },
579
+ },
580
+ {
581
+ label: 'Edit colors/arrangement...',
582
+ onClick: function () {
583
+ (0, util_1.getSession)(self).queueDialog(function (handleClose) { return [
584
+ SetColorDlg,
585
+ { model: self, handleClose: handleClose },
586
+ ]; });
587
+ },
588
+ },
589
+ ], false);
590
+ },
591
+ };
592
+ })
593
+ .actions(function (self) {
594
+ var superReload = self.reload, superRenderSvg = self.renderSvg;
595
+ return {
596
+ // re-runs stats and refresh whole display on reload
597
+ reload: function () {
598
+ return __awaiter(this, void 0, void 0, function () {
599
+ var aborter, stats, e_1;
600
+ return __generator(this, function (_a) {
601
+ switch (_a.label) {
602
+ case 0:
603
+ self.setError();
604
+ aborter = new AbortController();
605
+ _a.label = 1;
606
+ case 1:
607
+ _a.trys.push([1, 3, , 4]);
608
+ self.setLoading(aborter);
609
+ return [4 /*yield*/, (0, util_2.getStats)(self, __assign({ signal: aborter.signal }, self.renderProps()))];
610
+ case 2:
611
+ stats = _a.sent();
612
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
613
+ self.updateStats(stats);
614
+ superReload();
615
+ }
616
+ return [3 /*break*/, 4];
617
+ case 3:
618
+ e_1 = _a.sent();
619
+ self.setError(e_1);
620
+ return [3 /*break*/, 4];
621
+ case 4: return [2 /*return*/];
622
+ }
623
+ });
624
+ });
625
+ },
626
+ afterAttach: function () {
627
+ var _this = this;
628
+ (0, util_2.statsAutorun)(self);
629
+ (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(function () { return __awaiter(_this, void 0, void 0, function () {
630
+ var rpcManager, adapterConfig, sessionId, sources;
631
+ return __generator(this, function (_a) {
632
+ switch (_a.label) {
633
+ case 0:
634
+ rpcManager = (0, util_1.getSession)(self).rpcManager;
635
+ adapterConfig = self.adapterConfig;
636
+ sessionId = (0, tracks_1.getRpcSessionId)(self);
637
+ return [4 /*yield*/, rpcManager.call(sessionId, 'MultiWiggleGetSources', {
638
+ sessionId: sessionId,
639
+ adapterConfig: adapterConfig,
640
+ })];
641
+ case 1:
642
+ sources = (_a.sent());
643
+ if ((0, mobx_state_tree_1.isAlive)(self)) {
644
+ self.setSources(sources);
645
+ }
646
+ return [2 /*return*/];
647
+ }
648
+ });
649
+ }); }));
650
+ },
651
+ renderSvg: function (opts) {
652
+ return __awaiter(this, void 0, void 0, function () {
653
+ var offsetPx, _a, _b, _c, _d, _e, _f;
654
+ return __generator(this, function (_g) {
655
+ switch (_g.label) {
656
+ case 0: return [4 /*yield*/, (0, mobx_1.when)(function () { return self.statsReady && !!self.regionCannotBeRenderedText; })];
657
+ case 1:
658
+ _g.sent();
659
+ offsetPx = (0, util_1.getContainingView)(self).offsetPx;
660
+ _b = (_a = react_1.default).createElement;
661
+ _c = [react_1.default.Fragment, null];
662
+ _e = (_d = react_1.default).createElement;
663
+ _f = ["g", { id: "snpcov" }];
664
+ return [4 /*yield*/, superRenderSvg(opts)];
665
+ case 2: return [2 /*return*/, (_b.apply(_a, _c.concat([_e.apply(_d, _f.concat([_g.sent()])), react_1.default.createElement("g", { transform: "translate(".concat(Math.max(-offsetPx, 0), ")") },
666
+ react_1.default.createElement(WiggleDisplayComponent_1.StatBars, { model: self, orientation: "left", exportSVG: true }))])))];
667
+ }
668
+ });
669
+ });
670
+ },
671
+ };
672
+ });
673
+ };
674
+ exports.default = stateModelFactory;
675
+ //# sourceMappingURL=model.js.map