@jbrowse/plugin-wiggle 2.5.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/dist/BigWigAdapter/BigWigAdapter.js +2 -2
  2. package/dist/BigWigAdapter/configSchema.js +0 -1
  3. package/dist/BigWigAdapter/index.js +0 -1
  4. package/dist/CreateMultiWiggleExtension/ConfirmDialog.d.ts +2 -1
  5. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  6. package/dist/CreateMultiWiggleExtension/index.js +0 -1
  7. package/dist/DensityRenderer/DensityRenderer.js +0 -1
  8. package/dist/DensityRenderer/configSchema.js +0 -1
  9. package/dist/DensityRenderer/index.js +0 -1
  10. package/dist/LinePlotRenderer/LinePlotRenderer.js +0 -1
  11. package/dist/LinePlotRenderer/configSchema.js +0 -1
  12. package/dist/LinePlotRenderer/index.js +0 -1
  13. package/dist/LinearWiggleDisplay/components/SetColorDialog.d.ts +2 -1
  14. package/dist/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  15. package/dist/LinearWiggleDisplay/components/Tooltip.d.ts +1 -1
  16. package/dist/LinearWiggleDisplay/components/Tooltip.js +0 -1
  17. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -1
  18. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  19. package/dist/LinearWiggleDisplay/index.js +27 -5
  20. package/dist/LinearWiggleDisplay/models/configSchema.d.ts +18 -35
  21. package/dist/LinearWiggleDisplay/models/configSchema.js +6 -68
  22. package/dist/LinearWiggleDisplay/models/model.d.ts +147 -342
  23. package/dist/LinearWiggleDisplay/models/model.js +17 -433
  24. package/dist/LinearWiggleDisplay/models/renderSvg.d.ts +4 -0
  25. package/dist/LinearWiggleDisplay/models/renderSvg.js +20 -0
  26. package/dist/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
  27. package/dist/MultiDensityRenderer/configSchema.js +0 -1
  28. package/dist/MultiDensityRenderer/index.js +0 -1
  29. package/dist/MultiLineRenderer/MultiLineRenderer.js +1 -2
  30. package/dist/MultiLineRenderer/configSchema.js +0 -1
  31. package/dist/MultiLineRenderer/index.js +0 -1
  32. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +2 -1
  33. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  34. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +2 -1
  35. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js +2 -3
  36. package/dist/MultiLinearWiggleDisplay/components/Tooltip.d.ts +1 -1
  37. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  38. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +3 -2
  39. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  40. package/dist/MultiLinearWiggleDisplay/components/util.js +0 -1
  41. package/dist/MultiLinearWiggleDisplay/index.js +25 -3
  42. package/dist/MultiLinearWiggleDisplay/models/configSchema.d.ts +24 -44
  43. package/dist/MultiLinearWiggleDisplay/models/configSchema.js +6 -67
  44. package/dist/MultiLinearWiggleDisplay/models/model.d.ts +263 -175
  45. package/dist/MultiLinearWiggleDisplay/models/model.js +335 -509
  46. package/dist/MultiLinearWiggleDisplay/models/renderSvg.d.ts +4 -0
  47. package/dist/MultiLinearWiggleDisplay/models/renderSvg.js +19 -0
  48. package/dist/MultiQuantitativeTrack/configSchema.js +0 -1
  49. package/dist/MultiQuantitativeTrack/index.js +0 -1
  50. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  51. package/dist/MultiRowLineRenderer/configSchema.js +0 -1
  52. package/dist/MultiRowLineRenderer/index.js +0 -1
  53. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  54. package/dist/MultiRowXYPlotRenderer/configSchema.js +0 -1
  55. package/dist/MultiRowXYPlotRenderer/index.js +0 -1
  56. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  57. package/dist/MultiWiggleAdapter/configSchema.js +0 -1
  58. package/dist/MultiWiggleAdapter/index.js +0 -1
  59. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +2 -1
  60. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +1 -2
  61. package/dist/MultiWiggleAddTrackWidget/index.js +0 -1
  62. package/dist/MultiWiggleRendering.d.ts +2 -1
  63. package/dist/MultiWiggleRendering.js +0 -1
  64. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js +3 -3
  65. package/dist/MultiXYPlotRenderer/configSchema.js +0 -1
  66. package/dist/MultiXYPlotRenderer/index.js +0 -1
  67. package/dist/QuantitativeTrack/configSchema.js +0 -1
  68. package/dist/QuantitativeTrack/index.js +0 -1
  69. package/dist/Tooltip.d.ts +1 -1
  70. package/dist/Tooltip.js +0 -1
  71. package/dist/WiggleBaseRenderer.d.ts +1 -1
  72. package/dist/WiggleBaseRenderer.js +0 -1
  73. package/dist/WiggleRPC/MultiWiggleGetSources.js +0 -1
  74. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  75. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  76. package/dist/WiggleRPC/rpcMethods.js +0 -1
  77. package/dist/WiggleRendering.d.ts +2 -1
  78. package/dist/WiggleRendering.js +0 -1
  79. package/dist/XYPlotRenderer/XYPlotRenderer.js +0 -1
  80. package/dist/XYPlotRenderer/configSchema.js +0 -1
  81. package/dist/XYPlotRenderer/index.js +0 -1
  82. package/dist/configSchema.js +0 -1
  83. package/dist/drawxy.js +0 -1
  84. package/dist/index.d.ts +222 -198
  85. package/dist/index.js +0 -1
  86. package/dist/shared/SetMinMaxDialog.d.ts +2 -1
  87. package/dist/shared/SetMinMaxDialog.js +0 -1
  88. package/dist/shared/YScaleBar.d.ts +4 -2
  89. package/dist/shared/YScaleBar.js +1 -2
  90. package/dist/shared/configShared.d.ts +85 -0
  91. package/dist/shared/configShared.js +83 -0
  92. package/dist/shared/modelShared.d.ts +576 -0
  93. package/dist/shared/modelShared.js +479 -0
  94. package/dist/util.d.ts +0 -3
  95. package/dist/util.js +1 -12
  96. package/esm/BigWigAdapter/BigWigAdapter.js +2 -2
  97. package/esm/BigWigAdapter/configSchema.js +0 -1
  98. package/esm/BigWigAdapter/index.js +0 -1
  99. package/esm/CreateMultiWiggleExtension/ConfirmDialog.d.ts +2 -1
  100. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js +0 -1
  101. package/esm/CreateMultiWiggleExtension/index.js +0 -1
  102. package/esm/DensityRenderer/DensityRenderer.js +0 -1
  103. package/esm/DensityRenderer/configSchema.js +0 -1
  104. package/esm/DensityRenderer/index.js +0 -1
  105. package/esm/LinePlotRenderer/LinePlotRenderer.js +0 -1
  106. package/esm/LinePlotRenderer/configSchema.js +0 -1
  107. package/esm/LinePlotRenderer/index.js +0 -1
  108. package/esm/LinearWiggleDisplay/components/SetColorDialog.d.ts +2 -1
  109. package/esm/LinearWiggleDisplay/components/SetColorDialog.js +0 -1
  110. package/esm/LinearWiggleDisplay/components/Tooltip.d.ts +1 -1
  111. package/esm/LinearWiggleDisplay/components/Tooltip.js +0 -1
  112. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +2 -1
  113. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  114. package/esm/LinearWiggleDisplay/index.js +2 -3
  115. package/esm/LinearWiggleDisplay/models/configSchema.d.ts +18 -35
  116. package/esm/LinearWiggleDisplay/models/configSchema.js +3 -68
  117. package/esm/LinearWiggleDisplay/models/model.d.ts +147 -342
  118. package/esm/LinearWiggleDisplay/models/model.js +20 -436
  119. package/esm/LinearWiggleDisplay/models/renderSvg.d.ts +4 -0
  120. package/esm/LinearWiggleDisplay/models/renderSvg.js +13 -0
  121. package/esm/MultiDensityRenderer/MultiDensityRenderer.js +1 -2
  122. package/esm/MultiDensityRenderer/configSchema.js +0 -1
  123. package/esm/MultiDensityRenderer/index.js +0 -1
  124. package/esm/MultiLineRenderer/MultiLineRenderer.js +1 -2
  125. package/esm/MultiLineRenderer/configSchema.js +0 -1
  126. package/esm/MultiLineRenderer/index.js +0 -1
  127. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.d.ts +2 -1
  128. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js +0 -1
  129. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.d.ts +2 -1
  130. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js +1 -2
  131. package/esm/MultiLinearWiggleDisplay/components/Tooltip.d.ts +1 -1
  132. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js +0 -1
  133. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.d.ts +3 -2
  134. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js +0 -1
  135. package/esm/MultiLinearWiggleDisplay/components/util.js +0 -1
  136. package/esm/MultiLinearWiggleDisplay/index.js +2 -3
  137. package/esm/MultiLinearWiggleDisplay/models/configSchema.d.ts +24 -44
  138. package/esm/MultiLinearWiggleDisplay/models/configSchema.js +3 -67
  139. package/esm/MultiLinearWiggleDisplay/models/model.d.ts +263 -175
  140. package/esm/MultiLinearWiggleDisplay/models/model.js +337 -513
  141. package/esm/MultiLinearWiggleDisplay/models/renderSvg.d.ts +4 -0
  142. package/esm/MultiLinearWiggleDisplay/models/renderSvg.js +12 -0
  143. package/esm/MultiQuantitativeTrack/configSchema.js +0 -1
  144. package/esm/MultiQuantitativeTrack/index.js +0 -1
  145. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js +1 -2
  146. package/esm/MultiRowLineRenderer/configSchema.js +0 -1
  147. package/esm/MultiRowLineRenderer/index.js +0 -1
  148. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js +1 -2
  149. package/esm/MultiRowXYPlotRenderer/configSchema.js +0 -1
  150. package/esm/MultiRowXYPlotRenderer/index.js +0 -1
  151. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js +0 -1
  152. package/esm/MultiWiggleAdapter/configSchema.js +0 -1
  153. package/esm/MultiWiggleAdapter/index.js +0 -1
  154. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.d.ts +2 -1
  155. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js +1 -2
  156. package/esm/MultiWiggleAddTrackWidget/index.js +0 -1
  157. package/esm/MultiWiggleRendering.d.ts +2 -1
  158. package/esm/MultiWiggleRendering.js +0 -1
  159. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js +2 -2
  160. package/esm/MultiXYPlotRenderer/configSchema.js +0 -1
  161. package/esm/MultiXYPlotRenderer/index.js +0 -1
  162. package/esm/QuantitativeTrack/configSchema.js +0 -1
  163. package/esm/QuantitativeTrack/index.js +0 -1
  164. package/esm/Tooltip.d.ts +1 -1
  165. package/esm/Tooltip.js +0 -1
  166. package/esm/WiggleBaseRenderer.d.ts +1 -1
  167. package/esm/WiggleBaseRenderer.js +0 -1
  168. package/esm/WiggleRPC/MultiWiggleGetSources.js +0 -1
  169. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js +0 -1
  170. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js +0 -1
  171. package/esm/WiggleRPC/rpcMethods.js +0 -1
  172. package/esm/WiggleRendering.d.ts +2 -1
  173. package/esm/WiggleRendering.js +0 -1
  174. package/esm/XYPlotRenderer/XYPlotRenderer.js +0 -1
  175. package/esm/XYPlotRenderer/configSchema.js +0 -1
  176. package/esm/XYPlotRenderer/index.js +0 -1
  177. package/esm/configSchema.js +0 -1
  178. package/esm/drawxy.js +0 -1
  179. package/esm/index.d.ts +222 -198
  180. package/esm/index.js +0 -1
  181. package/esm/shared/SetMinMaxDialog.d.ts +2 -1
  182. package/esm/shared/SetMinMaxDialog.js +0 -1
  183. package/esm/shared/YScaleBar.d.ts +4 -2
  184. package/esm/shared/YScaleBar.js +1 -2
  185. package/esm/shared/configShared.d.ts +85 -0
  186. package/esm/shared/configShared.js +80 -0
  187. package/esm/shared/modelShared.d.ts +576 -0
  188. package/esm/shared/modelShared.js +453 -0
  189. package/esm/util.d.ts +0 -3
  190. package/esm/util.js +0 -10
  191. package/package.json +4 -5
  192. package/dist/BigWigAdapter/BigWigAdapter.js.map +0 -1
  193. package/dist/BigWigAdapter/configSchema.js.map +0 -1
  194. package/dist/BigWigAdapter/index.js.map +0 -1
  195. package/dist/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  196. package/dist/CreateMultiWiggleExtension/index.js.map +0 -1
  197. package/dist/DensityRenderer/DensityRenderer.js.map +0 -1
  198. package/dist/DensityRenderer/configSchema.js.map +0 -1
  199. package/dist/DensityRenderer/index.js.map +0 -1
  200. package/dist/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  201. package/dist/LinePlotRenderer/configSchema.js.map +0 -1
  202. package/dist/LinePlotRenderer/index.js.map +0 -1
  203. package/dist/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  204. package/dist/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  205. package/dist/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  206. package/dist/LinearWiggleDisplay/index.js.map +0 -1
  207. package/dist/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  208. package/dist/LinearWiggleDisplay/models/model.js.map +0 -1
  209. package/dist/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  210. package/dist/MultiDensityRenderer/configSchema.js.map +0 -1
  211. package/dist/MultiDensityRenderer/index.js.map +0 -1
  212. package/dist/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  213. package/dist/MultiLineRenderer/configSchema.js.map +0 -1
  214. package/dist/MultiLineRenderer/index.js.map +0 -1
  215. package/dist/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  216. package/dist/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  217. package/dist/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  218. package/dist/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  219. package/dist/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  220. package/dist/MultiLinearWiggleDisplay/index.js.map +0 -1
  221. package/dist/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  222. package/dist/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  223. package/dist/MultiQuantitativeTrack/configSchema.js.map +0 -1
  224. package/dist/MultiQuantitativeTrack/index.js.map +0 -1
  225. package/dist/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  226. package/dist/MultiRowLineRenderer/configSchema.js.map +0 -1
  227. package/dist/MultiRowLineRenderer/index.js.map +0 -1
  228. package/dist/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  229. package/dist/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  230. package/dist/MultiRowXYPlotRenderer/index.js.map +0 -1
  231. package/dist/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  232. package/dist/MultiWiggleAdapter/configSchema.js.map +0 -1
  233. package/dist/MultiWiggleAdapter/index.js.map +0 -1
  234. package/dist/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  235. package/dist/MultiWiggleAddTrackWidget/index.js.map +0 -1
  236. package/dist/MultiWiggleRendering.js.map +0 -1
  237. package/dist/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  238. package/dist/MultiXYPlotRenderer/configSchema.js.map +0 -1
  239. package/dist/MultiXYPlotRenderer/index.js.map +0 -1
  240. package/dist/QuantitativeTrack/configSchema.js.map +0 -1
  241. package/dist/QuantitativeTrack/index.js.map +0 -1
  242. package/dist/Tooltip.js.map +0 -1
  243. package/dist/WiggleBaseRenderer.js.map +0 -1
  244. package/dist/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  245. package/dist/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  246. package/dist/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  247. package/dist/WiggleRPC/rpcMethods.js.map +0 -1
  248. package/dist/WiggleRendering.js.map +0 -1
  249. package/dist/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  250. package/dist/XYPlotRenderer/configSchema.js.map +0 -1
  251. package/dist/XYPlotRenderer/index.js.map +0 -1
  252. package/dist/configSchema.js.map +0 -1
  253. package/dist/drawxy.js.map +0 -1
  254. package/dist/index.js.map +0 -1
  255. package/dist/shared/SetMinMaxDialog.js.map +0 -1
  256. package/dist/shared/YScaleBar.js.map +0 -1
  257. package/dist/util.js.map +0 -1
  258. package/esm/BigWigAdapter/BigWigAdapter.js.map +0 -1
  259. package/esm/BigWigAdapter/configSchema.js.map +0 -1
  260. package/esm/BigWigAdapter/index.js.map +0 -1
  261. package/esm/CreateMultiWiggleExtension/ConfirmDialog.js.map +0 -1
  262. package/esm/CreateMultiWiggleExtension/index.js.map +0 -1
  263. package/esm/DensityRenderer/DensityRenderer.js.map +0 -1
  264. package/esm/DensityRenderer/configSchema.js.map +0 -1
  265. package/esm/DensityRenderer/index.js.map +0 -1
  266. package/esm/LinePlotRenderer/LinePlotRenderer.js.map +0 -1
  267. package/esm/LinePlotRenderer/configSchema.js.map +0 -1
  268. package/esm/LinePlotRenderer/index.js.map +0 -1
  269. package/esm/LinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  270. package/esm/LinearWiggleDisplay/components/Tooltip.js.map +0 -1
  271. package/esm/LinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  272. package/esm/LinearWiggleDisplay/index.js.map +0 -1
  273. package/esm/LinearWiggleDisplay/models/configSchema.js.map +0 -1
  274. package/esm/LinearWiggleDisplay/models/model.js.map +0 -1
  275. package/esm/MultiDensityRenderer/MultiDensityRenderer.js.map +0 -1
  276. package/esm/MultiDensityRenderer/configSchema.js.map +0 -1
  277. package/esm/MultiDensityRenderer/index.js.map +0 -1
  278. package/esm/MultiLineRenderer/MultiLineRenderer.js.map +0 -1
  279. package/esm/MultiLineRenderer/configSchema.js.map +0 -1
  280. package/esm/MultiLineRenderer/index.js.map +0 -1
  281. package/esm/MultiLinearWiggleDisplay/components/DraggableDialog.js.map +0 -1
  282. package/esm/MultiLinearWiggleDisplay/components/SetColorDialog.js.map +0 -1
  283. package/esm/MultiLinearWiggleDisplay/components/Tooltip.js.map +0 -1
  284. package/esm/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.js.map +0 -1
  285. package/esm/MultiLinearWiggleDisplay/components/util.js.map +0 -1
  286. package/esm/MultiLinearWiggleDisplay/index.js.map +0 -1
  287. package/esm/MultiLinearWiggleDisplay/models/configSchema.js.map +0 -1
  288. package/esm/MultiLinearWiggleDisplay/models/model.js.map +0 -1
  289. package/esm/MultiQuantitativeTrack/configSchema.js.map +0 -1
  290. package/esm/MultiQuantitativeTrack/index.js.map +0 -1
  291. package/esm/MultiRowLineRenderer/MultiRowLineRenderer.js.map +0 -1
  292. package/esm/MultiRowLineRenderer/configSchema.js.map +0 -1
  293. package/esm/MultiRowLineRenderer/index.js.map +0 -1
  294. package/esm/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.js.map +0 -1
  295. package/esm/MultiRowXYPlotRenderer/configSchema.js.map +0 -1
  296. package/esm/MultiRowXYPlotRenderer/index.js.map +0 -1
  297. package/esm/MultiWiggleAdapter/MultiWiggleAdapter.js.map +0 -1
  298. package/esm/MultiWiggleAdapter/configSchema.js.map +0 -1
  299. package/esm/MultiWiggleAdapter/index.js.map +0 -1
  300. package/esm/MultiWiggleAddTrackWidget/AddTrackWorkflow.js.map +0 -1
  301. package/esm/MultiWiggleAddTrackWidget/index.js.map +0 -1
  302. package/esm/MultiWiggleRendering.js.map +0 -1
  303. package/esm/MultiXYPlotRenderer/MultiXYPlotRenderer.js.map +0 -1
  304. package/esm/MultiXYPlotRenderer/configSchema.js.map +0 -1
  305. package/esm/MultiXYPlotRenderer/index.js.map +0 -1
  306. package/esm/QuantitativeTrack/configSchema.js.map +0 -1
  307. package/esm/QuantitativeTrack/index.js.map +0 -1
  308. package/esm/Tooltip.js.map +0 -1
  309. package/esm/WiggleBaseRenderer.js.map +0 -1
  310. package/esm/WiggleRPC/MultiWiggleGetSources.js.map +0 -1
  311. package/esm/WiggleRPC/WiggleGetGlobalQuantitativeStats.js.map +0 -1
  312. package/esm/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.js.map +0 -1
  313. package/esm/WiggleRPC/rpcMethods.js.map +0 -1
  314. package/esm/WiggleRendering.js.map +0 -1
  315. package/esm/XYPlotRenderer/XYPlotRenderer.js.map +0 -1
  316. package/esm/XYPlotRenderer/configSchema.js.map +0 -1
  317. package/esm/XYPlotRenderer/index.js.map +0 -1
  318. package/esm/configSchema.js.map +0 -1
  319. package/esm/drawxy.js.map +0 -1
  320. package/esm/index.js.map +0 -1
  321. package/esm/shared/SetMinMaxDialog.js.map +0 -1
  322. package/esm/shared/YScaleBar.js.map +0 -1
  323. package/esm/util.js.map +0 -1
  324. package/src/BigWigAdapter/BigWigAdapter.test.ts +0 -66
  325. package/src/BigWigAdapter/BigWigAdapter.ts +0 -114
  326. package/src/BigWigAdapter/__snapshots__/BigWigAdapter.test.ts.snap +0 -117
  327. package/src/BigWigAdapter/configSchema.ts +0 -34
  328. package/src/BigWigAdapter/index.ts +0 -20
  329. package/src/BigWigAdapter/test_data/volvox.bw +0 -0
  330. package/src/CreateMultiWiggleExtension/ConfirmDialog.tsx +0 -68
  331. package/src/CreateMultiWiggleExtension/index.ts +0 -66
  332. package/src/DensityRenderer/DensityRenderer.test.ts +0 -62
  333. package/src/DensityRenderer/DensityRenderer.ts +0 -14
  334. package/src/DensityRenderer/__snapshots__/DensityRenderer.test.ts.snap +0 -21
  335. package/src/DensityRenderer/configSchema.ts +0 -22
  336. package/src/DensityRenderer/index.ts +0 -17
  337. package/src/LinePlotRenderer/LinePlotRenderer.ts +0 -19
  338. package/src/LinePlotRenderer/configSchema.ts +0 -30
  339. package/src/LinePlotRenderer/index.ts +0 -16
  340. package/src/LinearWiggleDisplay/components/SetColorDialog.tsx +0 -107
  341. package/src/LinearWiggleDisplay/components/Tooltip.tsx +0 -59
  342. package/src/LinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -53
  343. package/src/LinearWiggleDisplay/index.ts +0 -26
  344. package/src/LinearWiggleDisplay/models/configSchema.ts +0 -116
  345. package/src/LinearWiggleDisplay/models/model.tsx +0 -713
  346. package/src/MultiDensityRenderer/MultiDensityRenderer.ts +0 -39
  347. package/src/MultiDensityRenderer/configSchema.ts +0 -21
  348. package/src/MultiDensityRenderer/index.ts +0 -16
  349. package/src/MultiLineRenderer/MultiLineRenderer.ts +0 -29
  350. package/src/MultiLineRenderer/configSchema.ts +0 -39
  351. package/src/MultiLineRenderer/index.ts +0 -17
  352. package/src/MultiLinearWiggleDisplay/components/DraggableDialog.tsx +0 -71
  353. package/src/MultiLinearWiggleDisplay/components/SetColorDialog.tsx +0 -287
  354. package/src/MultiLinearWiggleDisplay/components/Tooltip.tsx +0 -77
  355. package/src/MultiLinearWiggleDisplay/components/WiggleDisplayComponent.tsx +0 -254
  356. package/src/MultiLinearWiggleDisplay/components/declare.d.ts +0 -1
  357. package/src/MultiLinearWiggleDisplay/components/util.test.ts +0 -69
  358. package/src/MultiLinearWiggleDisplay/components/util.ts +0 -33
  359. package/src/MultiLinearWiggleDisplay/index.ts +0 -21
  360. package/src/MultiLinearWiggleDisplay/models/configSchema.ts +0 -142
  361. package/src/MultiLinearWiggleDisplay/models/model.tsx +0 -708
  362. package/src/MultiQuantitativeTrack/configSchema.ts +0 -23
  363. package/src/MultiQuantitativeTrack/index.ts +0 -20
  364. package/src/MultiRowLineRenderer/MultiRowLineRenderer.ts +0 -36
  365. package/src/MultiRowLineRenderer/configSchema.ts +0 -42
  366. package/src/MultiRowLineRenderer/index.ts +0 -16
  367. package/src/MultiRowXYPlotRenderer/MultiRowXYPlotRenderer.ts +0 -43
  368. package/src/MultiRowXYPlotRenderer/configSchema.ts +0 -56
  369. package/src/MultiRowXYPlotRenderer/index.ts +0 -16
  370. package/src/MultiWiggleAdapter/MultiWiggleAdapter.ts +0 -125
  371. package/src/MultiWiggleAdapter/configSchema.ts +0 -32
  372. package/src/MultiWiggleAdapter/index.ts +0 -24
  373. package/src/MultiWiggleAdapter/test_data/volvox.bw +0 -0
  374. package/src/MultiWiggleAddTrackWidget/AddTrackWorkflow.tsx +0 -130
  375. package/src/MultiWiggleAddTrackWidget/index.ts +0 -17
  376. package/src/MultiWiggleRendering.tsx +0 -125
  377. package/src/MultiXYPlotRenderer/MultiXYPlotRenderer.ts +0 -32
  378. package/src/MultiXYPlotRenderer/configSchema.ts +0 -54
  379. package/src/MultiXYPlotRenderer/index.ts +0 -17
  380. package/src/QuantitativeTrack/configSchema.ts +0 -23
  381. package/src/QuantitativeTrack/index.ts +0 -20
  382. package/src/Tooltip.tsx +0 -123
  383. package/src/WiggleBaseRenderer.tsx +0 -91
  384. package/src/WiggleRPC/MultiWiggleGetSources.ts +0 -68
  385. package/src/WiggleRPC/WiggleGetGlobalQuantitativeStats.ts +0 -44
  386. package/src/WiggleRPC/WiggleGetMultiRegionQuantitativeStats.ts +0 -73
  387. package/src/WiggleRPC/rpcMethods.ts +0 -3
  388. package/src/WiggleRendering.test.js +0 -21
  389. package/src/WiggleRendering.tsx +0 -76
  390. package/src/XYPlotRenderer/XYPlotRenderer.test.ts +0 -52
  391. package/src/XYPlotRenderer/XYPlotRenderer.ts +0 -37
  392. package/src/XYPlotRenderer/__snapshots__/XYPlotRenderer.test.ts.snap +0 -21
  393. package/src/XYPlotRenderer/configSchema.ts +0 -55
  394. package/src/XYPlotRenderer/index.ts +0 -20
  395. package/src/__snapshots__/WiggleRendering.test.js.snap +0 -15
  396. package/src/__snapshots__/index.test.ts.snap +0 -3
  397. package/src/configSchema.ts +0 -70
  398. package/src/drawxy.ts +0 -388
  399. package/src/index.test.ts +0 -16
  400. package/src/index.ts +0 -130
  401. package/src/shared/SetMinMaxDialog.tsx +0 -88
  402. package/src/shared/YScaleBar.tsx +0 -25
  403. package/src/util.test.ts +0 -43
  404. package/src/util.ts +0 -327
@@ -1,21 +1,19 @@
1
- import React, { lazy } from 'react';
1
+ import { lazy } from 'react';
2
2
  import { addDisposer, isAlive, types } from 'mobx-state-tree';
3
- import { autorun, when } from 'mobx';
3
+ import { autorun } from 'mobx';
4
4
  import { axisPropsFromTickScale } from 'react-d3-axis-mod';
5
5
  import deepEqual from 'fast-deep-equal';
6
6
  // jbrowse imports
7
- import { ConfigurationReference, getConf, readConfObject, } from '@jbrowse/core/configuration';
8
- import { getSession, getEnv, getContainingView, isSelectionContainer, } from '@jbrowse/core/util';
7
+ import { getConf, } from '@jbrowse/core/configuration';
8
+ import { getSession } from '@jbrowse/core/util';
9
9
  import { getRpcSessionId } from '@jbrowse/core/util/tracks';
10
10
  import { set1 as colors } from '@jbrowse/core/ui/colors';
11
- import { BaseLinearDisplay, } from '@jbrowse/plugin-linear-genome-view';
12
11
  // locals
13
- import { getNiceDomain, getScale, quantitativeStatsAutorun, YSCALEBAR_LABEL_OFFSET, } from '../../util';
12
+ import { getScale, quantitativeStatsAutorun, YSCALEBAR_LABEL_OFFSET, } from '../../util';
14
13
  import Tooltip from '../components/Tooltip';
15
- import { StatBars } from '../components/WiggleDisplayComponent';
16
- const randomColor = () => '#000000'.replace(/0/g, () => (~~(Math.random() * 16)).toString(16));
17
- // lazt components
18
- const SetMinMaxDlg = lazy(() => import('../../shared/SetMinMaxDialog'));
14
+ import SharedWiggleMixin from '../../shared/modelShared';
15
+ const randomColor = () => '#000000'.replaceAll('0', () => (~~(Math.random() * 16)).toString(16));
16
+ // lazies
19
17
  const SetColorDlg = lazy(() => import('../components/SetColorDialog'));
20
18
  // using a map because it preserves order
21
19
  const rendererTypes = new Map([
@@ -25,531 +23,357 @@ const rendererTypes = new Map([
25
23
  ['multiline', 'MultiLineRenderer'],
26
24
  ['multirowline', 'MultiRowLineRenderer'],
27
25
  ]);
28
- const stateModelFactory = (pluginManager, configSchema) => types
29
- .compose('MultiLinearWiggleDisplay', BaseLinearDisplay, types.model({
30
- type: types.literal('MultiLinearWiggleDisplay'),
31
- configuration: ConfigurationReference(configSchema),
32
- selectedRendering: types.optional(types.string, ''),
33
- resolution: types.optional(types.number, 1),
34
- fill: types.maybe(types.boolean),
35
- minSize: types.maybe(types.number),
36
- color: types.maybe(types.string),
37
- posColor: types.maybe(types.string),
38
- negColor: types.maybe(types.string),
39
- summaryScoreMode: types.maybe(types.string),
40
- rendererTypeNameState: types.maybe(types.string),
41
- scale: types.maybe(types.string),
42
- autoscale: types.maybe(types.string),
43
- displayCrossHatches: types.maybe(types.boolean),
44
- layout: types.optional(types.frozen(), []),
45
- constraints: types.optional(types.model({
46
- max: types.maybe(types.number),
47
- min: types.maybe(types.number),
48
- }), {}),
49
- }))
50
- .volatile(() => ({
51
- message: undefined,
52
- stats: undefined,
53
- statsRegion: undefined,
54
- statsFetchInProgress: undefined,
55
- featureUnderMouseVolatile: undefined,
56
- sourcesVolatile: undefined,
57
- }))
58
- .actions(self => ({
59
- setLayout(layout) {
60
- self.layout = layout;
61
- },
62
- clearLayout() {
63
- self.layout = [];
64
- },
65
- updateQuantitativeStats(stats) {
66
- const { scoreMin, scoreMax } = stats;
67
- const EPSILON = 0.000001;
68
- if (!self.stats) {
69
- self.stats = { scoreMin, scoreMax };
70
- }
71
- else if (Math.abs(self.stats.scoreMax - scoreMax) > EPSILON ||
72
- Math.abs(self.stats.scoreMin - scoreMin) > EPSILON) {
73
- self.stats = { scoreMin, scoreMax };
74
- }
75
- },
76
- setSources(sources) {
77
- if (!deepEqual(sources, self.sourcesVolatile)) {
78
- self.sourcesVolatile = sources;
79
- }
80
- },
81
- setColor(color) {
82
- self.color = color;
83
- },
84
- setPosColor(color) {
85
- self.posColor = color;
86
- },
87
- setNegColor(color) {
88
- self.negColor = color;
89
- },
90
- setLoading(aborter) {
91
- const { statsFetchInProgress: statsFetch } = self;
92
- if (statsFetch !== undefined && !statsFetch.signal.aborted) {
93
- statsFetch.abort();
94
- }
95
- self.statsFetchInProgress = aborter;
96
- },
97
- // this overrides the BaseLinearDisplayModel to avoid popping up a
98
- // feature detail display, but still sets the feature selection on the
99
- // model so listeners can detect a click
100
- selectFeature(feature) {
101
- const session = getSession(self);
102
- if (isSelectionContainer(session)) {
103
- session.setSelection(feature);
104
- }
105
- },
106
- setFeatureUnderMouse(f) {
107
- self.featureUnderMouseVolatile = f;
108
- },
109
- setResolution(res) {
110
- self.resolution = res;
111
- },
112
- setFill(fill) {
113
- if (fill === 0) {
114
- self.fill = true;
115
- self.minSize = 0;
116
- }
117
- else if (fill === 1) {
118
- self.fill = false;
119
- self.minSize = 1;
120
- }
121
- else if (fill === 2) {
122
- self.fill = false;
123
- self.minSize = 2;
124
- }
125
- },
126
- toggleLogScale() {
127
- self.scale = self.scale === 'log' ? 'linear' : 'log';
128
- },
129
- setScaleType(scale) {
130
- self.scale = scale;
131
- },
132
- setSummaryScoreMode(val) {
133
- self.summaryScoreMode = val;
134
- },
135
- setAutoscale(val) {
136
- self.autoscale = val;
137
- },
138
- setMaxScore(val) {
139
- self.constraints.max = val;
140
- },
141
- setRendererType(val) {
142
- self.rendererTypeNameState = val;
143
- },
144
- setMinScore(val) {
145
- self.constraints.min = val;
146
- },
147
- toggleCrossHatches() {
148
- self.displayCrossHatches = !self.displayCrossHatches;
149
- },
150
- setCrossHatches(cross) {
151
- self.displayCrossHatches = cross;
152
- },
153
- }))
154
- .views(self => ({
155
- get featureUnderMouse() {
156
- return self.featureUnderMouseVolatile;
157
- },
158
- get TooltipComponent() {
159
- return Tooltip;
160
- },
161
- get adapterTypeName() {
162
- return self.adapterConfig.type;
163
- },
164
- get rendererTypeNameSimple() {
165
- return self.rendererTypeNameState || getConf(self, 'defaultRendering');
166
- },
167
- get rendererTypeName() {
168
- const name = this.rendererTypeNameSimple;
169
- const rendererType = rendererTypes.get(name);
170
- if (!rendererType) {
171
- throw new Error(`unknown renderer ${name}`);
172
- }
173
- return rendererType;
174
- },
175
- // subclasses can define these, as snpcoverage track does
176
- get filters() {
177
- return undefined;
178
- },
179
- get scaleType() {
180
- var _a;
181
- return (_a = self.scale) !== null && _a !== void 0 ? _a : getConf(self, 'scaleType');
182
- },
183
- get maxScore() {
184
- var _a;
185
- return (_a = self.constraints.max) !== null && _a !== void 0 ? _a : getConf(self, 'maxScore');
186
- },
187
- get minScore() {
188
- var _a;
189
- return (_a = self.constraints.min) !== null && _a !== void 0 ? _a : getConf(self, 'minScore');
190
- },
191
- }))
192
- .views(self => ({
193
- get rendererConfig() {
194
- const configBlob = getConf(self, ['renderers', self.rendererTypeName]) || {};
195
- const { color, displayCrossHatches, fill, minSize, negColor, posColor, summaryScoreMode, scaleType, } = self;
196
- return self.rendererType.configSchema.create({
197
- ...configBlob,
198
- ...(scaleType ? { scaleType } : {}),
199
- ...(fill !== undefined ? { filled: fill } : {}),
200
- ...(displayCrossHatches !== undefined
201
- ? { displayCrossHatches }
202
- : {}),
203
- ...(summaryScoreMode !== undefined ? { summaryScoreMode } : {}),
204
- ...(color !== undefined ? { color } : {}),
205
- ...(negColor !== undefined ? { negColor } : {}),
206
- ...(posColor !== undefined ? { posColor } : {}),
207
- ...(minSize !== undefined ? { minSize } : {}),
208
- }, getEnv(self));
209
- },
210
- }))
211
- .views(self => ({
212
- // everything except density gets a numerical scalebar
213
- get needsScalebar() {
214
- return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
215
- self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
216
- self.rendererTypeName === 'MultiLineRenderer' ||
217
- self.rendererTypeName === 'MultiRowLineRenderer');
218
- },
219
- get needsFullHeightScalebar() {
220
- return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
221
- self.rendererTypeName === 'MultiLineRenderer');
222
- },
223
- get isMultiRow() {
224
- return (self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
225
- self.rendererTypeName === 'MultiRowLineRenderer' ||
226
- self.rendererTypeName === 'MultiDensityRenderer');
227
- },
228
- // can be used to give it a "color scale" like a R heatmap, not
229
- // implemented like this yet but flag can be used for this
230
- get needsCustomLegend() {
231
- return self.rendererTypeName === 'MultiDensityRenderer';
232
- },
233
- get canHaveFill() {
234
- return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
235
- self.rendererTypeName === 'MultiRowXYPlotRenderer');
236
- },
237
- // the multirowxy and multiline don't need to use colors on the legend
238
- // boxes since their track is drawn with the color. sort of a stylistic choice
239
- get renderColorBoxes() {
240
- return !(self.rendererTypeName === 'MultiRowLineRenderer' ||
241
- self.rendererTypeName === 'MultiRowXYPlotRenderer');
242
- },
243
- // positions multi-row below the tracklabel even if using overlap
244
- // tracklabels for everything else
245
- get prefersOffset() {
246
- return this.isMultiRow;
247
- },
248
- get sources() {
249
- var _a;
250
- const sources = Object.fromEntries(((_a = self.sourcesVolatile) === null || _a === void 0 ? void 0 : _a.map(s => [s.name, s])) || []);
251
- const iter = self.layout.length ? self.layout : self.sourcesVolatile;
252
- return iter === null || iter === void 0 ? void 0 : iter.map(s => ({
253
- ...sources[s.name],
254
- ...s,
255
- })).map((s, i) => ({
256
- ...s,
257
- color: s.color ||
258
- (!this.isMultiRow ? colors[i] || randomColor() : 'blue'),
259
- }));
260
- },
261
- }))
262
- .views(self => {
263
- let oldDomain = [0, 0];
264
- return {
265
- get filled() {
266
- const { fill, rendererConfig } = self;
267
- return fill !== null && fill !== void 0 ? fill : readConfObject(rendererConfig, 'filled');
26
+ /**
27
+ * #stateModel MultiLinearWiggleDisplay
28
+ * extends `SharedWiggleMixin`
29
+ */
30
+ export function stateModelFactory(pluginManager, configSchema) {
31
+ return types
32
+ .compose('MultiLinearWiggleDisplay', SharedWiggleMixin(configSchema), types.model({
33
+ /**
34
+ * #property
35
+ */
36
+ type: types.literal('MultiLinearWiggleDisplay'),
37
+ /**
38
+ * #property
39
+ */
40
+ layout: types.optional(types.frozen(), []),
41
+ }))
42
+ .volatile(() => ({
43
+ featureUnderMouseVolatile: undefined,
44
+ sourcesVolatile: undefined,
45
+ }))
46
+ .actions(self => ({
47
+ /**
48
+ * #action
49
+ */
50
+ setLayout(layout) {
51
+ self.layout = layout;
268
52
  },
269
- get summaryScoreModeSetting() {
270
- const { summaryScoreMode: scoreMode, rendererConfig } = self;
271
- return scoreMode !== null && scoreMode !== void 0 ? scoreMode : readConfObject(rendererConfig, 'summaryScoreMode');
53
+ /**
54
+ * #action
55
+ */
56
+ clearLayout() {
57
+ self.layout = [];
272
58
  },
273
- get domain() {
274
- const { stats, scaleType, minScore, maxScore } = self;
275
- if (!stats) {
276
- return undefined;
277
- }
278
- const { scoreMin, scoreMax } = stats;
279
- const ret = getNiceDomain({
280
- domain: [scoreMin, scoreMax],
281
- bounds: [minScore, maxScore],
282
- scaleType,
283
- });
284
- // avoid weird scalebar if log value and empty region displayed
285
- if (scaleType === 'log' && ret[1] === Number.MIN_VALUE) {
286
- return [0, Number.MIN_VALUE];
59
+ /**
60
+ * #action
61
+ */
62
+ setSources(sources) {
63
+ if (!deepEqual(sources, self.sourcesVolatile)) {
64
+ self.sourcesVolatile = sources;
287
65
  }
288
- // avoid returning a new object if it matches the old value
289
- if (!deepEqual(oldDomain, ret)) {
290
- oldDomain = ret;
66
+ },
67
+ /**
68
+ * #action
69
+ */
70
+ setFeatureUnderMouse(f) {
71
+ self.featureUnderMouseVolatile = f;
72
+ },
73
+ }))
74
+ .views(self => ({
75
+ /**
76
+ * #getter
77
+ */
78
+ get featureUnderMouse() {
79
+ return self.featureUnderMouseVolatile;
80
+ },
81
+ /**
82
+ * #getter
83
+ */
84
+ get TooltipComponent() {
85
+ return Tooltip;
86
+ },
87
+ /**
88
+ * #getter
89
+ */
90
+ get rendererTypeName() {
91
+ const name = self.rendererTypeNameSimple;
92
+ const rendererType = rendererTypes.get(name);
93
+ if (!rendererType) {
94
+ throw new Error(`unknown renderer ${name}`);
291
95
  }
292
- return oldDomain;
96
+ return rendererType;
293
97
  },
294
- get scaleOpts() {
295
- const { scaleType, stats } = self;
296
- return {
297
- autoscaleType: this.autoscaleType,
298
- domain: this.domain,
299
- stats,
300
- scaleType,
301
- inverted: getConf(self, 'inverted'),
302
- };
98
+ }))
99
+ .views(self => ({
100
+ /**
101
+ * #getter
102
+ */
103
+ get needsScalebar() {
104
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
105
+ self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
106
+ self.rendererTypeName === 'MultiLineRenderer' ||
107
+ self.rendererTypeName === 'MultiRowLineRenderer');
303
108
  },
304
- get autoscaleType() {
305
- var _a;
306
- return (_a = self.autoscale) !== null && _a !== void 0 ? _a : getConf(self, 'autoscale');
109
+ /**
110
+ * #getter
111
+ */
112
+ get needsFullHeightScalebar() {
113
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
114
+ self.rendererTypeName === 'MultiLineRenderer');
115
+ },
116
+ /**
117
+ * #getter
118
+ */
119
+ get isMultiRow() {
120
+ return (self.rendererTypeName === 'MultiRowXYPlotRenderer' ||
121
+ self.rendererTypeName === 'MultiRowLineRenderer' ||
122
+ self.rendererTypeName === 'MultiDensityRenderer');
307
123
  },
308
- get displayCrossHatchesSetting() {
309
- const { displayCrossHatches, rendererConfig } = self;
310
- return (displayCrossHatches !== null && displayCrossHatches !== void 0 ? displayCrossHatches : readConfObject(rendererConfig, 'displayCrossHatches'));
124
+ /**
125
+ * #getter
126
+ * can be used to give it a "color scale" like a R heatmap, not
127
+ * implemented like this yet but flag can be used for this
128
+ */
129
+ get needsCustomLegend() {
130
+ return self.rendererTypeName === 'MultiDensityRenderer';
311
131
  },
132
+ get canHaveFill() {
133
+ return (self.rendererTypeName === 'MultiXYPlotRenderer' ||
134
+ self.rendererTypeName === 'MultiRowXYPlotRenderer');
135
+ },
136
+ /**
137
+ * #getter
138
+ * the multirowxy and multiline don't need to use colors on the legend
139
+ * boxes since their track is drawn with the color. sort of a stylistic
140
+ * choice
141
+ */
142
+ get renderColorBoxes() {
143
+ return !(self.rendererTypeName === 'MultiRowLineRenderer' ||
144
+ self.rendererTypeName === 'MultiRowXYPlotRenderer');
145
+ },
146
+ /**
147
+ * #getter
148
+ * positions multi-row below the tracklabel even if using overlap
149
+ * tracklabels for everything else
150
+ */
151
+ get prefersOffset() {
152
+ return this.isMultiRow;
153
+ },
154
+ /**
155
+ * #getter
156
+ */
157
+ get sources() {
158
+ var _a;
159
+ const sources = Object.fromEntries(((_a = self.sourcesVolatile) === null || _a === void 0 ? void 0 : _a.map(s => [s.name, s])) || []);
160
+ const iter = self.layout.length ? self.layout : self.sourcesVolatile;
161
+ return iter === null || iter === void 0 ? void 0 : iter.map(s => ({
162
+ ...sources[s.name],
163
+ ...s,
164
+ })).map((s, i) => ({
165
+ ...s,
166
+ color: s.color ||
167
+ (!this.isMultiRow ? colors[i] || randomColor() : 'blue'),
168
+ }));
169
+ },
170
+ }))
171
+ .views(self => ({
172
+ /**
173
+ * #getter
174
+ */
312
175
  get rowHeight() {
313
176
  const { sources, height, isMultiRow } = self;
314
177
  return isMultiRow ? height / ((sources === null || sources === void 0 ? void 0 : sources.length) || 1) : height;
315
178
  },
179
+ /**
180
+ * #getter
181
+ */
316
182
  get rowHeightTooSmallForScalebar() {
317
183
  return this.rowHeight < 70;
318
184
  },
185
+ /**
186
+ * #getter
187
+ */
319
188
  get useMinimalTicks() {
320
189
  return (getConf(self, 'minimalTicks') || this.rowHeightTooSmallForScalebar);
321
190
  },
322
- };
323
- })
324
- .views(self => ({
325
- get ticks() {
326
- const { scaleType, domain, isMultiRow, rowHeight, useMinimalTicks } = self;
327
- if (!domain) {
328
- return undefined;
329
- }
330
- const offset = isMultiRow ? 0 : YSCALEBAR_LABEL_OFFSET;
331
- const ticks = axisPropsFromTickScale(getScale({
332
- scaleType,
333
- domain,
334
- range: [rowHeight - offset, offset],
335
- inverted: getConf(self, 'inverted'),
336
- }), 4);
337
- return useMinimalTicks ? { ...ticks, values: domain } : ticks;
338
- },
339
- get colors() {
340
- return [
341
- 'red',
342
- 'blue',
343
- 'green',
344
- 'orange',
345
- 'purple',
346
- 'cyan',
347
- 'pink',
348
- 'darkblue',
349
- 'darkred',
350
- 'pink',
351
- ];
352
- },
353
- get adapterCapabilities() {
354
- const { adapterTypeName } = self;
355
- return pluginManager.getAdapterType(adapterTypeName).adapterCapabilities;
356
- },
357
- }))
358
- .views(self => {
359
- const { renderProps: superRenderProps } = self;
360
- return {
361
- renderProps() {
362
- const superProps = superRenderProps();
363
- const { displayCrossHatches, filters, height, resolution, rpcDriverName, scaleOpts, stats, sources, ticks, rendererConfig: config, } = self;
364
- return {
365
- ...superProps,
366
- notReady: superProps.notReady || !sources || !stats,
367
- displayModel: self,
368
- config,
369
- displayCrossHatches,
370
- filters,
371
- height,
372
- resolution,
373
- rpcDriverName,
374
- scaleOpts,
375
- sources,
376
- ticks,
377
- onMouseMove: (_, f) => self.setFeatureUnderMouse(f),
378
- onMouseLeave: () => self.setFeatureUnderMouse(undefined),
379
- };
380
- },
381
- get hasResolution() {
382
- return self.adapterCapabilities.includes('hasResolution');
383
- },
384
- get hasGlobalStats() {
385
- return self.adapterCapabilities.includes('hasGlobalStats');
386
- },
387
- get fillSetting() {
388
- if (self.filled) {
389
- return 0;
390
- }
391
- else if (!self.filled && self.minSize === 1) {
392
- return 1;
393
- }
394
- else {
395
- return 2;
191
+ }))
192
+ .views(self => ({
193
+ /**
194
+ * #getter
195
+ */
196
+ get ticks() {
197
+ const { scaleType, domain, isMultiRow, rowHeight, useMinimalTicks } = self;
198
+ if (!domain) {
199
+ return undefined;
396
200
  }
201
+ const offset = isMultiRow ? 0 : YSCALEBAR_LABEL_OFFSET;
202
+ const ticks = axisPropsFromTickScale(getScale({
203
+ scaleType,
204
+ domain,
205
+ range: [rowHeight - offset, offset],
206
+ inverted: getConf(self, 'inverted'),
207
+ }), 4);
208
+ return useMinimalTicks ? { ...ticks, values: domain } : ticks;
397
209
  },
398
- };
399
- })
400
- .views(self => {
401
- const { trackMenuItems: superTrackMenuItems } = self;
402
- const hasRenderings = getConf(self, 'defaultRendering');
403
- return {
404
- trackMenuItems() {
210
+ /**
211
+ * #getter
212
+ */
213
+ get colors() {
405
214
  return [
406
- ...superTrackMenuItems(),
407
- ...(self.hasResolution
408
- ? [
409
- {
410
- label: 'Resolution',
411
- subMenu: [
412
- {
413
- label: 'Finer resolution',
414
- onClick: () => self.setResolution(self.resolution * 5),
415
- },
416
- {
417
- label: 'Coarser resolution',
418
- onClick: () => self.setResolution(self.resolution / 5),
419
- },
420
- ],
421
- },
422
- {
423
- label: 'Summary score mode',
424
- subMenu: ['min', 'max', 'avg', 'whiskers'].map(elt => ({
425
- label: elt,
426
- type: 'radio',
427
- checked: self.summaryScoreModeSetting === elt,
428
- onClick: () => self.setSummaryScoreMode(elt),
429
- })),
430
- },
431
- ]
432
- : []),
433
- ...(self.canHaveFill
434
- ? [
435
- {
436
- label: 'Fill mode',
437
- subMenu: ['filled', 'no fill', 'no fill w/ emphasis'].map((elt, idx) => ({
438
- label: elt,
439
- type: 'radio',
440
- checked: self.fillSetting === idx,
441
- onClick: () => self.setFill(idx),
442
- })),
443
- },
444
- ]
445
- : []),
446
- {
447
- label: self.scaleType === 'log' ? 'Set linear scale' : 'Set log scale',
448
- onClick: () => self.toggleLogScale(),
449
- },
450
- ...(self.needsScalebar
451
- ? [
452
- {
453
- type: 'checkbox',
454
- label: 'Draw cross hatches',
455
- checked: self.displayCrossHatchesSetting,
456
- onClick: () => self.toggleCrossHatches(),
457
- },
458
- ]
459
- : []),
460
- ...(hasRenderings
461
- ? [
462
- {
463
- label: 'Renderer type',
464
- subMenu: [
465
- 'xyplot',
466
- 'multirowxy',
467
- 'multirowdensity',
468
- 'multiline',
469
- 'multirowline',
470
- ].map(key => ({
471
- label: key,
472
- type: 'radio',
473
- checked: self.rendererTypeNameSimple === key,
474
- onClick: () => self.setRendererType(key),
475
- })),
476
- },
477
- ]
478
- : []),
479
- {
480
- label: 'Autoscale type',
481
- subMenu: [
482
- ['local', 'Local'],
483
- ...(self.hasGlobalStats
484
- ? [
485
- ['global', 'Global'],
486
- ['globalsd', 'Global ± 3σ'],
487
- ]
488
- : []),
489
- ['localsd', 'Local ± 3σ'],
490
- ].map(([val, label]) => {
491
- return {
492
- label,
493
- type: 'radio',
494
- checked: self.autoscaleType === val,
495
- onClick: () => self.setAutoscale(val),
496
- };
497
- }),
498
- },
499
- {
500
- label: 'Set min/max score...',
501
- onClick: () => {
502
- const session = getSession(self);
503
- session.queueDialog(handleClose => [
504
- SetMinMaxDlg,
505
- { model: self, handleClose },
506
- ]);
507
- },
508
- },
509
- {
510
- label: 'Edit colors/arrangement...',
511
- onClick: () => {
512
- getSession(self).queueDialog(handleClose => [
513
- SetColorDlg,
514
- { model: self, handleClose },
515
- ]);
516
- },
517
- },
215
+ 'red',
216
+ 'blue',
217
+ 'green',
218
+ 'orange',
219
+ 'purple',
220
+ 'cyan',
221
+ 'pink',
222
+ 'darkblue',
223
+ 'darkred',
224
+ 'pink',
518
225
  ];
519
226
  },
520
- };
521
- })
522
- .actions(self => {
523
- const { reload: superReload, renderSvg: superRenderSvg } = self;
524
- return {
525
- async reload() {
526
- self.setError();
527
- superReload();
528
- },
529
- afterAttach() {
530
- quantitativeStatsAutorun(self);
531
- addDisposer(self, autorun(async () => {
532
- const { rpcManager } = getSession(self);
533
- const { adapterConfig } = self;
534
- const sessionId = getRpcSessionId(self);
535
- const sources = (await rpcManager.call(sessionId, 'MultiWiggleGetSources', {
536
- sessionId,
537
- adapterConfig,
538
- }));
539
- if (isAlive(self)) {
540
- self.setSources(sources);
227
+ }))
228
+ .views(self => {
229
+ const { renderProps: superRenderProps } = self;
230
+ return {
231
+ /**
232
+ * #method
233
+ */
234
+ renderProps() {
235
+ const superProps = superRenderProps();
236
+ const { displayCrossHatches, filters, height, resolution, rpcDriverName, scaleOpts, stats, sources, ticks, rendererConfig: config, } = self;
237
+ return {
238
+ ...superProps,
239
+ notReady: superProps.notReady || !sources || !stats,
240
+ displayModel: self,
241
+ config,
242
+ displayCrossHatches,
243
+ filters,
244
+ height,
245
+ resolution,
246
+ rpcDriverName,
247
+ scaleOpts,
248
+ sources,
249
+ ticks,
250
+ onMouseMove: (_, f) => self.setFeatureUnderMouse(f),
251
+ onMouseLeave: () => self.setFeatureUnderMouse(undefined),
252
+ };
253
+ },
254
+ /**
255
+ * #getter
256
+ */
257
+ get hasResolution() {
258
+ return self.adapterCapabilities.includes('hasResolution');
259
+ },
260
+ /**
261
+ * #getter
262
+ */
263
+ get hasGlobalStats() {
264
+ return self.adapterCapabilities.includes('hasGlobalStats');
265
+ },
266
+ /**
267
+ * #getter
268
+ */
269
+ get fillSetting() {
270
+ if (self.filled) {
271
+ return 0;
541
272
  }
542
- }));
543
- },
544
- async renderSvg(opts) {
545
- await when(() => !!self.stats && !!self.regionCannotBeRenderedText);
546
- const { offsetPx } = getContainingView(self);
547
- return (React.createElement(React.Fragment, null,
548
- React.createElement("g", { id: "snpcov" }, await superRenderSvg(opts)),
549
- React.createElement("g", { transform: `translate(${Math.max(-offsetPx, 0)})` },
550
- React.createElement(StatBars, { model: self, orientation: "left", exportSVG: true }))));
551
- },
552
- };
553
- });
273
+ else if (!self.filled && self.minSize === 1) {
274
+ return 1;
275
+ }
276
+ else {
277
+ return 2;
278
+ }
279
+ },
280
+ };
281
+ })
282
+ .views(self => {
283
+ const { trackMenuItems: superTrackMenuItems } = self;
284
+ const hasRenderings = getConf(self, 'defaultRendering');
285
+ return {
286
+ /**
287
+ * #method
288
+ */
289
+ trackMenuItems() {
290
+ return [
291
+ ...superTrackMenuItems(),
292
+ {
293
+ label: 'Score',
294
+ subMenu: self.scoreTrackMenuItems(),
295
+ },
296
+ ...(self.canHaveFill
297
+ ? [
298
+ {
299
+ label: 'Fill mode',
300
+ subMenu: ['filled', 'no fill', 'no fill w/ emphasis'].map((elt, idx) => ({
301
+ label: elt,
302
+ type: 'radio',
303
+ checked: self.fillSetting === idx,
304
+ onClick: () => self.setFill(idx),
305
+ })),
306
+ },
307
+ ]
308
+ : []),
309
+ ...(self.needsScalebar
310
+ ? [
311
+ {
312
+ type: 'checkbox',
313
+ label: 'Draw cross hatches',
314
+ checked: self.displayCrossHatchesSetting,
315
+ onClick: () => self.toggleCrossHatches(),
316
+ },
317
+ ]
318
+ : []),
319
+ ...(hasRenderings
320
+ ? [
321
+ {
322
+ label: 'Renderer type',
323
+ subMenu: [
324
+ 'xyplot',
325
+ 'multirowxy',
326
+ 'multirowdensity',
327
+ 'multiline',
328
+ 'multirowline',
329
+ ].map(key => ({
330
+ label: key,
331
+ type: 'radio',
332
+ checked: self.rendererTypeNameSimple === key,
333
+ onClick: () => self.setRendererType(key),
334
+ })),
335
+ },
336
+ ]
337
+ : []),
338
+ {
339
+ label: 'Edit colors/arrangement...',
340
+ onClick: () => {
341
+ getSession(self).queueDialog(handleClose => [
342
+ SetColorDlg,
343
+ { model: self, handleClose },
344
+ ]);
345
+ },
346
+ },
347
+ ];
348
+ },
349
+ };
350
+ })
351
+ .actions(self => {
352
+ const { renderSvg: superRenderSvg } = self;
353
+ return {
354
+ afterAttach() {
355
+ quantitativeStatsAutorun(self);
356
+ addDisposer(self, autorun(async () => {
357
+ const { rpcManager } = getSession(self);
358
+ const { adapterConfig } = self;
359
+ const sessionId = getRpcSessionId(self);
360
+ const sources = (await rpcManager.call(sessionId, 'MultiWiggleGetSources', {
361
+ sessionId,
362
+ adapterConfig,
363
+ }));
364
+ if (isAlive(self)) {
365
+ self.setSources(sources);
366
+ }
367
+ }));
368
+ },
369
+ /**
370
+ * #action
371
+ */
372
+ async renderSvg(opts) {
373
+ const { renderSvg } = await import('./renderSvg');
374
+ return renderSvg(self, opts, superRenderSvg);
375
+ },
376
+ };
377
+ });
378
+ }
554
379
  export default stateModelFactory;
555
- //# sourceMappingURL=model.js.map