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