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