@sjcrh/proteinpaint-client 2.74.2 → 2.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/{2dmaf-b2d78c57.js → 2dmaf-74b99126.js} +1 -1
  2. package/dist/AppHeader-cecb39c2.js +1 -0
  3. package/dist/{ColorScale-9c76aef3.js → ColorScale-21cab8d2.js} +1 -1
  4. package/dist/DEanalysis-95bad59a.js +1 -0
  5. package/dist/Disco-a6e921a0.js +1 -0
  6. package/dist/Disco.UI-9ad999ed.js +1 -0
  7. package/dist/{DragControls-586f72db.js → DragControls-e3b6a937.js} +1 -1
  8. package/dist/{DziViewer-6311327c.js → DziViewer-354a790d.js} +1 -1
  9. package/dist/FilterRxComp-701a1480.js +1 -0
  10. package/dist/{FilterStateless-046081c2.js → FilterStateless-54c0b763.js} +1 -1
  11. package/dist/{HicApp-40e44cba.js → HicApp-d5a946bf.js} +1 -1
  12. package/dist/{OrbitControls-0cda1772.js → OrbitControls-694652cd.js} +1 -1
  13. package/dist/WSIViewer-dc7f8eb0.js +1 -0
  14. package/dist/adSandbox-f438e388.js +1 -0
  15. package/dist/app-3320ab6f.js +1 -0
  16. package/dist/app-649f8357.js +1 -0
  17. package/dist/app-b369b169.js +1 -0
  18. package/dist/app.js +1 -1
  19. package/dist/bam-431875ef.js +1 -0
  20. package/dist/barchart-8277ed43.js +1 -0
  21. package/dist/barchart.events-da29c90d.js +1 -0
  22. package/dist/{bars.renderer-5f7a4174.js → bars.renderer-dcfdd59b.js} +1 -1
  23. package/dist/block-6aedd569.js +1 -0
  24. package/dist/block.lazyload-87b12654.js +1 -0
  25. package/dist/block.legend-d3f61ef7.js +1 -0
  26. package/dist/{block.mds-effc078d.js → block.mds-3ad17dfa.js} +1 -1
  27. package/dist/{block.mds.cnv-ec861a26.js → block.mds.cnv-857ba868.js} +1 -1
  28. package/dist/{block.mds.expressionrank-a2ad7c80.js → block.mds.expressionrank-7e3b208c.js} +1 -1
  29. package/dist/{block.mds.expressionstat-31dc5595.js → block.mds.expressionstat-f2d31c86.js} +1 -1
  30. package/dist/{block.mds.geneboxplot-3ca857ce.js → block.mds.geneboxplot-f0fbaf12.js} +1 -1
  31. package/dist/{block.mds.junction-debba938.js → block.mds.junction-7f87f48f.js} +1 -1
  32. package/dist/{block.mds.svcnv-8dc5abdf.js → block.mds.svcnv-ac035c12.js} +1 -1
  33. package/dist/{block.mds.svcnv.share-81e62600.js → block.mds.svcnv.share-886d9479.js} +1 -1
  34. package/dist/block.mds2-7852c1ee.js +1 -0
  35. package/dist/{block.svg-9121e8e7.js → block.svg-9b916fa6.js} +1 -1
  36. package/dist/{block.tk.aicheck-c1b478e9.js → block.tk.aicheck-6770e333.js} +1 -1
  37. package/dist/{block.tk.ase-0f6ded48.js → block.tk.ase-ee807e59.js} +1 -1
  38. package/dist/{block.tk.bam-7cd06aee.js → block.tk.bam-00fba6e8.js} +1 -1
  39. package/dist/{block.tk.bedgraphdot-3ef8b94e.js → block.tk.bedgraphdot-7fda78e9.js} +1 -1
  40. package/dist/{block.tk.bigwig.ui-d1248810.js → block.tk.bigwig.ui-cc1a42f3.js} +1 -1
  41. package/dist/{block.tk.hicstraw-ee731e55.js → block.tk.hicstraw-526470e3.js} +1 -1
  42. package/dist/{block.tk.junction-4d8cab4d.js → block.tk.junction-b43a4cda.js} +1 -1
  43. package/dist/{block.tk.junction.textmatrixui-a6430b27.js → block.tk.junction.textmatrixui-a60ed78a.js} +1 -1
  44. package/dist/{block.tk.ld-8429a18b.js → block.tk.ld-d15bde41.js} +1 -1
  45. package/dist/{block.tk.menu-3f31f958.js → block.tk.menu-3aeb93c6.js} +1 -1
  46. package/dist/{block.tk.pgv-07e46705.js → block.tk.pgv-9af2bd64.js} +1 -1
  47. package/dist/boxplot-e17a17b7.js +1 -0
  48. package/dist/brainImaging-bf2ceee9.js +1 -0
  49. package/dist/{brush-c386fe3d.js → brush-aa175142.js} +1 -1
  50. package/dist/categorical-a52014a1.js +1 -0
  51. package/dist/condition-c646e357.js +1 -0
  52. package/dist/controls-287e6efa.js +1 -0
  53. package/dist/{controls.btns-1cb2bfab.js → controls.btns-79b805dd.js} +1 -1
  54. package/dist/controls.config-28d6d6a8.js +1 -0
  55. package/dist/cuminc-9e275854.js +1 -0
  56. package/dist/{customdata.inputui-cbd712ea.js → customdata.inputui-dc49d94b.js} +1 -1
  57. package/dist/dataDownload-3a3d4f33.js +1 -0
  58. package/dist/databrowser.ui-d8d3f8fd.js +1 -0
  59. package/dist/{density-19266ebf.js → density-a82a8b1c.js} +1 -1
  60. package/dist/dictionary-c5a19d90.js +1 -0
  61. package/dist/{drag-0b968811.js → drag-7b30ba17.js} +1 -1
  62. package/dist/{e2pca-b8752945.js → e2pca-82765817.js} +1 -1
  63. package/dist/{ep-a86b185a.js → ep-d017ec2f.js} +1 -1
  64. package/dist/facet-a9b44ef3.js +1 -0
  65. package/dist/{fusion.parse-244b2b97.js → fusion.parse-d40d0b9d.js} +1 -1
  66. package/dist/geneExpClustering-34c3f518.js +1 -0
  67. package/dist/geneExpression-0d1b7244.js +1 -0
  68. package/dist/{geneExpression-e0430f2e.js → geneExpression-589f485b.js} +1 -1
  69. package/dist/{geneExpression-387205bf.js → geneExpression-7d14983f.js} +1 -1
  70. package/dist/geneORA-903a780f.js +1 -0
  71. package/dist/{geneVariant-7de021b6.js → geneVariant-89601b34.js} +1 -1
  72. package/dist/geneVariant-92c4e870.js +1 -0
  73. package/dist/{genefusion.ui-a331de19.js → genefusion.ui-7e22e811.js} +1 -1
  74. package/dist/{genesearch-ea59f5d4.js → genesearch-a4e19f0d.js} +1 -1
  75. package/dist/geneset-108a39d2.js +1 -0
  76. package/dist/genomeBrowser-12f86a36.js +1 -0
  77. package/dist/genomeBrowser.controls-d5067811.js +1 -0
  78. package/dist/{groupsetting-20ffef77.js → groupsetting-b4416a96.js} +1 -1
  79. package/dist/gsea-543dab25.js +1 -0
  80. package/dist/hierCluster-26e14090.js +1 -0
  81. package/dist/hierCluster.config-98e82dff.js +1 -0
  82. package/dist/{hierCluster.interactivity-9b433033.js → hierCluster.interactivity-e56f6542.js} +1 -1
  83. package/dist/hierCluster.renderers-74a64cf5.js +1 -0
  84. package/dist/{html.legend-abb5452e.js → html.legend-a3f4ebfe.js} +1 -1
  85. package/dist/imagePlot-b9eae4ae.js +1 -0
  86. package/dist/{lasso-55cf4057.js → lasso-f767f634.js} +1 -1
  87. package/dist/launch.adhoc-abca6af3.js +1 -0
  88. package/dist/leftlabel.sample-24c2388d.js +1 -0
  89. package/dist/legacyDataset-e0e201ab.js +1 -0
  90. package/dist/{log-cf45fcf2.js → log-99af3443.js} +1 -1
  91. package/dist/{lollipop-c5b6e615.js → lollipop-806f8fa4.js} +1 -1
  92. package/dist/{maf-7535f1f9.js → maf-b06579e4.js} +1 -1
  93. package/dist/{maftimeline-1292ab62.js → maftimeline-4840a380.js} +1 -1
  94. package/dist/matrix-00bb50ff.js +1 -0
  95. package/dist/matrix.cells-914dd0c6.js +1 -0
  96. package/dist/{matrix.cluster-168bc96b.js → matrix.cluster-783ceab0.js} +1 -1
  97. package/dist/matrix.config-6ce74dfe.js +1 -0
  98. package/dist/matrix.controls-7b2a6f95.js +1 -0
  99. package/dist/{matrix.data-b1d0febe.js → matrix.data-dac4f1b7.js} +1 -1
  100. package/dist/{matrix.dom-00defa30.js → matrix.dom-4e10bbe9.js} +1 -1
  101. package/dist/matrix.groups-b9fca14a.js +1 -0
  102. package/dist/matrix.interactivity-84169b43.js +1 -0
  103. package/dist/{matrix.layout-c2345231.js → matrix.layout-dd5a44fd.js} +1 -1
  104. package/dist/matrix.legend-ac6d45e6.js +1 -0
  105. package/dist/matrix.renderers-78010275.js +1 -0
  106. package/dist/matrix.serieses-9b4fd744.js +1 -0
  107. package/dist/matrix.sort-014d798d.js +1 -0
  108. package/dist/{matrix.sorterUi-a741ba2e.js → matrix.sorterUi-9bf7e6f9.js} +1 -1
  109. package/dist/{mavb-92136d17.js → mavb-c6be46fc.js} +1 -1
  110. package/dist/{mds.fimo-c03115b4.js → mds.fimo-bff6a1ed.js} +1 -1
  111. package/dist/mds.samplescatterplot-9a02b9fb.js +1 -0
  112. package/dist/{mds.survivalplot-366db380.js → mds.survivalplot-055549f4.js} +1 -1
  113. package/dist/{metaboliteIntensity-ddb6e480.js → metaboliteIntensity-fac92f8b.js} +1 -1
  114. package/dist/niceNumLabels-238aabce.js +1 -0
  115. package/dist/{nodrag-2c046d31.js → nodrag-16ad4b03.js} +1 -1
  116. package/dist/{notify-44ebc0df.js → notify-224cccbd.js} +1 -1
  117. package/dist/{numeric-918d4686.js → numeric-b0b17185.js} +1 -1
  118. package/dist/numeric.binary-1f9e93f2.js +1 -0
  119. package/dist/numeric.continuous-ebcd0567.js +1 -0
  120. package/dist/numeric.discrete-7b97044a.js +1 -0
  121. package/dist/numeric.spline-1be88f3d.js +1 -0
  122. package/dist/numeric.toggle-7fa2a770.js +1 -0
  123. package/dist/oncomatrix-351af2a0.js +1 -0
  124. package/dist/{parseData-e66308cd.js → parseData-21fe9822.js} +1 -1
  125. package/dist/partjson.esm-b3f1fc21.js +1 -0
  126. package/dist/{plot.2dvaf-73dbfbd1.js → plot.2dvaf-18a35e4b.js} +1 -1
  127. package/dist/plot.app-30c4b8e5.js +1 -0
  128. package/dist/plot.barplot-7c4865a2.js +1 -0
  129. package/dist/{plot.boxplot-641da058.js → plot.boxplot-fe3046c6.js} +1 -1
  130. package/dist/plot.brainImaging-2ceb6023.js +1 -0
  131. package/dist/plot.disco-6011f87f.js +1 -0
  132. package/dist/{plot.dzi-41ea26e5.js → plot.dzi-6728a7c8.js} +1 -1
  133. package/dist/plot.ssgq-5581dc56.js +1 -0
  134. package/dist/{plot.vaf2cov-80e58833.js → plot.vaf2cov-b2284c64.js} +1 -1
  135. package/dist/{plot.wsi-51cc48ef.js → plot.wsi-9a9d4034.js} +1 -1
  136. package/dist/profileBarchart-0476f1f8.js +1 -0
  137. package/dist/profileHome-32eb9b50.js +1 -0
  138. package/dist/profilePlot-c7e099e8.js +1 -0
  139. package/dist/profilePolar-6b981e63.js +1 -0
  140. package/dist/profileRadar-bca1cc03.js +1 -0
  141. package/dist/profileRadarFacility-bbb1ecd8.js +1 -0
  142. package/dist/profileSummary-b114204f.js +1 -0
  143. package/dist/recover-49e09de0.js +1 -0
  144. package/dist/regression.inputs-a761f40d.js +1 -0
  145. package/dist/regression.inputs.values.table-5929d25a.js +1 -0
  146. package/dist/regression.results-69bc42d0.js +1 -0
  147. package/dist/{renderPvalueTable-895a72c2.js → renderPvalueTable-dc5d15f2.js} +1 -1
  148. package/dist/sampleScatter-2d0ed680.js +1 -0
  149. package/dist/{sampleScatter.rendererThree-5e686004.js → sampleScatter.rendererThree-0b12ac61.js} +2 -2
  150. package/dist/sampleView-484ab133.js +1 -0
  151. package/dist/samplelst-689796e6.js +1 -0
  152. package/dist/{samplematrix-2a1d7d82.js → samplematrix-2b137a05.js} +1 -1
  153. package/dist/scatter-205e013f.js +1 -0
  154. package/dist/{select2Terms-b4fffc50.js → select2Terms-b21e184a.js} +1 -1
  155. package/dist/{selectGenomeWithTklst-acf7e568.js → selectGenomeWithTklst-466995b4.js} +1 -1
  156. package/dist/singleCellCellType-5db730bb.js +1 -0
  157. package/dist/{singleCellGeneExpression-6de17162.js → singleCellGeneExpression-7147a2d0.js} +1 -1
  158. package/dist/singleCellPlot-73b2738f.js +1 -0
  159. package/dist/{singlecell-f76c856a.js → singlecell-24409b72.js} +1 -1
  160. package/dist/singlecell-bca774ed.js +1 -0
  161. package/dist/{snp-9590a1b4.js → snp-37d06246.js} +1 -1
  162. package/dist/snp-a8388ce4.js +1 -0
  163. package/dist/snplocus-7a1ea8c9.js +1 -0
  164. package/dist/{snplst-007a1926.js → snplst-6865d7c7.js} +1 -1
  165. package/dist/{spliceevent.a53ss.diagram-63dfef69.js → spliceevent.a53ss.diagram-e2eab72b.js} +1 -1
  166. package/dist/{spliceevent.exonskip.diagram-76fa9af8.js → spliceevent.exonskip.diagram-4d5df3a1.js} +1 -1
  167. package/dist/spliceevent.exonskip.getdefault-a94aad6e.js +1 -0
  168. package/dist/{spliceevent.noeventdiagram-64a099e0.js → spliceevent.noeventdiagram-ea97b0fb.js} +1 -1
  169. package/dist/{spliceevent.phrase-770c8cac.js → spliceevent.phrase-c5832470.js} +1 -1
  170. package/dist/{stattable-f1189f0f.js → stattable-7c5ecc2f.js} +1 -1
  171. package/dist/{style.gdc-89cfdb0f.js → style.gdc-131f3c77.js} +1 -1
  172. package/dist/summary-5ec455d3.js +1 -0
  173. package/dist/{sunburst-d5379952.js → sunburst-533902a7.js} +1 -1
  174. package/dist/survival-92250664.js +1 -0
  175. package/dist/survival-e16e068f.js +1 -0
  176. package/dist/{svg.download-86850940.js → svg.download-35926549.js} +1 -1
  177. package/dist/{svg.legend-a94b0697.js → svg.legend-8d490df2.js} +1 -1
  178. package/dist/{svgraph-c57b9ae3.js → svgraph-6fac8cbc.js} +1 -1
  179. package/dist/{svmr-cf6f1b27.js → svmr-d07ff695.js} +1 -1
  180. package/dist/table-29d5a973.js +1 -0
  181. package/dist/table-ad744310.js +1 -0
  182. package/dist/termInfo-bf99a37e.js +1 -0
  183. package/dist/{termdb.bins-9faa5170.js → termdb.bins-8b656cc3.js} +1 -1
  184. package/dist/termsetting-33ea66f1.js +1 -0
  185. package/dist/tk-071a7550.js +1 -0
  186. package/dist/{toggleButtons-002aeda1.js → toggleButtons-dbdbad01.js} +1 -1
  187. package/dist/tp.ui-9c2e9fc5.js +1 -0
  188. package/dist/tslib.es6-c3c2d88f.js +1 -0
  189. package/dist/tvs.density-f6128793.js +1 -0
  190. package/dist/{tvs.geneVariant-3a65ad94.js → tvs.geneVariant-ca4bdbb1.js} +1 -1
  191. package/dist/tvs.numeric-0260a825.js +1 -0
  192. package/dist/{tvs.samplelst-1eeb586b.js → tvs.samplelst-cb71b3bf.js} +1 -1
  193. package/dist/{uiUtils-1336bad7.js → uiUtils-f1bd2bcc.js} +1 -1
  194. package/dist/{variantBrowser-f0c812c1.js → variantBrowser-7c540224.js} +1 -1
  195. package/dist/{vcf-c4a23924.js → vcf-5cc55588.js} +1 -1
  196. package/dist/violin-2ba509eb.js +1 -0
  197. package/dist/violin.interactivity-4da6d7a9.js +1 -0
  198. package/dist/{violin.renderer-dafd89fa.js → violin.renderer-ce024265.js} +1 -1
  199. package/dist/{violinRenderer-8215f40d.js → violinRenderer-f7c96a60.js} +1 -1
  200. package/dist/{viridis-ffd14c4d.js → viridis-01ab20c5.js} +1 -1
  201. package/dist/{y-dd197cc9.js → y-67939f83.js} +1 -1
  202. package/dist/{zoom-9c63e74c.js → zoom-25dce8b9.js} +1 -1
  203. package/package.json +6 -4
  204. package/dist/AppHeader-a2a7e518.js +0 -1
  205. package/dist/DEanalysis-a6b50e49.js +0 -1
  206. package/dist/Disco-1c71b7dd.js +0 -1
  207. package/dist/Disco.UI-4c16ee50.js +0 -1
  208. package/dist/FilterRxComp-242f4615.js +0 -1
  209. package/dist/WSIViewer-d90032d7.js +0 -1
  210. package/dist/adSandbox-3528c372.js +0 -1
  211. package/dist/app-07dee349.js +0 -1
  212. package/dist/app-a8c4854a.js +0 -1
  213. package/dist/app-ade9c62a.js +0 -1
  214. package/dist/bam-92483a98.js +0 -1
  215. package/dist/barchart-3e69d094.js +0 -1
  216. package/dist/barchart.events-9b11d97e.js +0 -1
  217. package/dist/block-dcb130fb.js +0 -1
  218. package/dist/block.lazyload-9f031cac.js +0 -1
  219. package/dist/block.legend-b2987cd9.js +0 -1
  220. package/dist/block.mds2-de6e0986.js +0 -1
  221. package/dist/boxplot-1178fffc.js +0 -1
  222. package/dist/brainImaging-98ed7aa2.js +0 -1
  223. package/dist/categorical-26528ce8.js +0 -1
  224. package/dist/condition-b0d74550.js +0 -1
  225. package/dist/controls-0bacec22.js +0 -1
  226. package/dist/controls.config-0ccc9d79.js +0 -1
  227. package/dist/controls.divide-a9fe9466.js +0 -1
  228. package/dist/controls.overlay-fe20d41d.js +0 -1
  229. package/dist/controls.term1-faa2efcf.js +0 -1
  230. package/dist/cuminc-7e2cac2d.js +0 -1
  231. package/dist/dataDownload-ade8d840.js +0 -1
  232. package/dist/databrowser.ui-716f0519.js +0 -1
  233. package/dist/dictionary-3f83ce63.js +0 -1
  234. package/dist/facet-6850cfed.js +0 -1
  235. package/dist/geneExpClustering-7fd3c87e.js +0 -1
  236. package/dist/geneExpression-6462537d.js +0 -1
  237. package/dist/geneORA-7eb818c4.js +0 -1
  238. package/dist/geneVariant-b58e924a.js +0 -1
  239. package/dist/geneset-9f69ad3f.js +0 -1
  240. package/dist/genomeBrowser-1b2b83f7.js +0 -1
  241. package/dist/genomeBrowser.controls-cd8ddeb1.js +0 -1
  242. package/dist/gsea-36376589.js +0 -1
  243. package/dist/hierCluster-f1e30c19.js +0 -1
  244. package/dist/hierCluster.config-da3510b1.js +0 -1
  245. package/dist/hierCluster.renderers-610d8860.js +0 -1
  246. package/dist/imagePlot-7089bdff.js +0 -1
  247. package/dist/launch.adhoc-d229fd55.js +0 -1
  248. package/dist/leftlabel.sample-a919168c.js +0 -1
  249. package/dist/legacyDataset-1cbcb67d.js +0 -1
  250. package/dist/matrix-0614794d.js +0 -1
  251. package/dist/matrix.cells-819d4991.js +0 -1
  252. package/dist/matrix.config-c54ca273.js +0 -1
  253. package/dist/matrix.controls-5eca7822.js +0 -1
  254. package/dist/matrix.groups-4660dd70.js +0 -1
  255. package/dist/matrix.interactivity-23d83183.js +0 -1
  256. package/dist/matrix.legend-2e647224.js +0 -1
  257. package/dist/matrix.renderers-43445f4f.js +0 -1
  258. package/dist/matrix.serieses-972fbe5d.js +0 -1
  259. package/dist/matrix.sort-80d9b788.js +0 -1
  260. package/dist/mds.samplescatterplot-1623e6d0.js +0 -1
  261. package/dist/niceNumLabels-6cfc1508.js +0 -1
  262. package/dist/numeric.binary-80467e8b.js +0 -1
  263. package/dist/numeric.continuous-69a62a15.js +0 -1
  264. package/dist/numeric.discrete-86181905.js +0 -1
  265. package/dist/numeric.spline-1b07fd13.js +0 -1
  266. package/dist/numeric.toggle-37c4bee8.js +0 -1
  267. package/dist/oncomatrix-475271da.js +0 -1
  268. package/dist/plot.app-aa916e0e.js +0 -1
  269. package/dist/plot.barplot-8b440a2b.js +0 -1
  270. package/dist/plot.brainImaging-2f796b0c.js +0 -1
  271. package/dist/plot.disco-43e18d2f.js +0 -1
  272. package/dist/plot.ssgq-e49cb70b.js +0 -1
  273. package/dist/profileBarchart-91463ab6.js +0 -1
  274. package/dist/profileHome-d37a6821.js +0 -1
  275. package/dist/profilePlot-9ca577cb.js +0 -1
  276. package/dist/profilePolar-19c7da5b.js +0 -1
  277. package/dist/profileRadar-8bf094e3.js +0 -1
  278. package/dist/profileRadarFacility-f9fd8971.js +0 -1
  279. package/dist/profileSummary-93999c14.js +0 -1
  280. package/dist/recover-36ada47f.js +0 -1
  281. package/dist/regression.inputs-cb57ece6.js +0 -1
  282. package/dist/regression.inputs.values.table-908bb37a.js +0 -1
  283. package/dist/regression.results-c186a8dc.js +0 -1
  284. package/dist/roundValue-b0d0517c.js +0 -1
  285. package/dist/sampleScatter-9d5b3630.js +0 -1
  286. package/dist/sampleView-2d895023.js +0 -1
  287. package/dist/samplelst-9f8343ff.js +0 -1
  288. package/dist/scatter-b4992f64.js +0 -1
  289. package/dist/singleCellCellType-84a0c2cf.js +0 -1
  290. package/dist/singleCellPlot-2f2b8619.js +0 -1
  291. package/dist/singlecell-90567dde.js +0 -1
  292. package/dist/snp-79ec95ba.js +0 -1
  293. package/dist/snplocus-cb629be1.js +0 -1
  294. package/dist/spliceevent.exonskip.getdefault-31d2950c.js +0 -1
  295. package/dist/summary-b77bef3c.js +0 -1
  296. package/dist/survival-61ab375a.js +0 -1
  297. package/dist/survival-80a0ade9.js +0 -1
  298. package/dist/table-79e3e776.js +0 -1
  299. package/dist/table-eee91e14.js +0 -1
  300. package/dist/termInfo-f851b415.js +0 -1
  301. package/dist/tk-75566002.js +0 -1
  302. package/dist/tp.ui-02911b56.js +0 -1
  303. package/dist/tslib.es6-1f85f553.js +0 -1
  304. package/dist/tvs.density-026fca97.js +0 -1
  305. package/dist/tvs.numeric-3f3d9919.js +0 -1
  306. package/dist/violin-1515c3e6.js +0 -1
  307. package/dist/violin.interactivity-8e2f480d.js +0 -1
@@ -1 +0,0 @@
1
- import{h as e,T as t,d as s,Y as i,i as r,a,k as o,y as l,o as n,M as p,b as d,K as c}from"./app-a8c4854a.js";import{T as m,n as h,t as u,e as f,d as y}from"./roundValue-b0d0517c.js";import{g as b,i as v,a as _,f as g,s as T,v as x}from"./FilterRxComp-242f4615.js";import{termInfoInit as S}from"./termInfo-f851b415.js";import{_ as I}from"./tslib.es6-1f85f553.js";import{T as k}from"./toggleButtons-002aeda1.js";import"path";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";const C="25px";const A="root";const w=20;const N="400px";const D="termdiv",E="termchilddiv",O="termbtn",L="termlabel",j="termloading",B="termcheck";class V{constructor(e){this.type="tree";G(this);R(this);this.loadingTermSet=new Set;this.termsByCohort={};this.expandAll="expandAll"in e?e.expandAll:false}init(){this.dom={holder:this.opts.holder.append("div")}}reactsTo(e){if(e.type.startsWith("tree_"))return true;if(e.type.startsWith("filter_"))return true;if(e.type.startsWith("cohort_"))return true;if(e.type.startsWith("info_"))return true;if(e.type.startsWith("submenu_"))return true;if(e.type=="app_refresh")return true;if(e.type=="set_term_type_group")return true}getState(e){const t=b(e.termfilter.filter);const s={isVisible:!e.submenu.term,activeCohort:e.activeCohort,expandedTermIds:e.tree.expandedTermIds,selectedTerms:e.selectedTerms,termfilter:{filter:t},usecase:e.tree.usecase,termTypeGroup:e.termTypeGroup};if(e.termdbConfig.selectCohort){s.toSelectCohort=true;const t=e.termdbConfig.selectCohort.values[e.activeCohort];if(t){s.cohortValuelst=t.keys}}return s}async main(){if(this.state.termTypeGroup!=t.DICTIONARY_VARIABLES){this.dom.holder.style("display","none");return}if(!this.state.isVisible){this.dom.holder.style("display","none");return}if(this.state.toSelectCohort){if(!this.state.cohortValuelst){return}}this.termsById=this.getTermsById();const e=this.termsById[A];e.terms=await this.requestTermRecursive(e);this.dom.holder.style("display","block");await this.renderBranch(e,this.dom.holder);this.dom.holder.selectAll(".termbtn, .sja_tree_click_term").attr("tabindex",0).attr("data-testid","sjpp_termdbbutton").on("keyup",(e=>{if(e.key=="Enter")e.target.click()}))}getTermsById(){if(!(this.state.activeCohort in this.termsByCohort)){this.termsByCohort[this.state.activeCohort]={[A]:{id:A,__tree_isroot:true}}}return this.termsByCohort[this.state.activeCohort]}async requestTermRecursive(e){const t=await this.app.vocabApi.getTermChildren(e,this.state.toSelectCohort?this.state.cohortValuelst:null);if(t.error)throw t.error;if(!t.lst||t.lst.length==0){return[]}const s=[];for(const e of t.lst){const t=Object.assign({},e);s.push(t);if(this.state.expandedTermIds.includes(t.id)){t.terms=await this.requestTermRecursive(t)}else{const e=this.termsById[t.id];if(e&&e.terms){t.terms=e.terms}}this.termsById[t.id]=t}return s}bindKey(e){return e.id}}const P=e(V);function R(e){e.renderBranch=(t,s,i)=>{if(!t||!t.terms)return;if(t.terms.length>=w){if(s.classed("sjpp_show_scrollbar"));else{s.style("max-height",N).style("padding","10px").style("resize","vertical").classed("sjpp_show_scrollbar",true)}}if(e.opts.disable_terms){t.terms.forEach((t=>{if(t.disabled)e.opts.disable_terms.push(t)}))}e.included_terms=[];if(e.state.usecase){for(const s of t.terms){if(v(s,e.state.usecase,e.app.vocabApi.termdbConfig).size){e.included_terms.push(s)}}}else{e.included_terms.push(...t.terms)}if(!(t.id in e.termsById)||!e.included_terms.length){s.style("display","none");return}if(e.loadingTermSet.has(t.id)){e.loadingTermSet.delete(t.id);s.select("."+j).remove()}const r=e.state.expandedTermIds;if(!r.includes(t.id)){s.style("display","none");if(i)i.text("+");return}s.style("display","block");if(i)i.text("-");const a=s.selectAll("."+D).data(e.included_terms,e.bindKey);a.exit().each(e.hideTerm);a.each(e.updateTerm);a.enter().append("div").each(e.addTerm);for(const i of t.terms){if(r.includes(i.id)){e.renderBranch(i,s.selectAll("."+E).filter((e=>e.id==i.id)),s.selectAll("."+O).filter((e=>e.id==i.id)))}}};e.hideTerm=function(t){if(t.id in e.termsById&&e.state.expandedTermIds.includes(t.id))return;s(this).style("display","none")};e.updateTerm=function(t){const i=s(this);if(!(t.id in e.termsById)){i.style("display","none");return}const r=e.opts.disable_terms?.includes(t.id);const a=v(t,e.state.usecase,e.app.vocabApi.termdbConfig);i.style("display","");const o=e.state.expandedTermIds.includes(t.id);i.select("."+O).text(o?"-":"+");i.select("."+E).style("display",o?"block":"none");const l=e.state.selectedTerms.find((e=>e.name===t.name&&e.type===t.type));i.select("."+L).style("background-color",!a.has("plot")||r?"":l?"rgba(255, 194, 10,0.5)":"#cfe2f3");i.select("."+B).style("display",a.has("plot")&&l&&!r?"inline-block":"none")};e.addTerm=async function(t){const i=e.opts.disable_terms?.includes(t.id);const r=v(t,e.state.usecase,e.app.vocabApi.termdbConfig);const a=s(this).attr("class",D).style("margin",t.isleaf?"":"2px").style("padding","0px 5px");if(r.has("branch")){a.append("div").attr("class","sja_menuoption "+O).style("display","inline-block").style("padding","4px 9px").style("font-family","courier").text("+").on("click",(s=>{s.stopPropagation();e.toggleBranch(t)}));if(e.expandAll)e.toggleBranch(t)}const o=e.state.selectedTerms.find((e=>e.name===t.name&&e.type===t.type));const l=a.append("div").attr("class",L).style("display","inline-block").style("padding","5px").style("opacity",i?.4:null).text(t.name);let n;if(t.hashtmldetail){n=a.append("div").style("display","inline-block")}if(r.size>0){if(i){l.attr("class","sja_tree_click_term_disabled "+L).style("padding","5px 8px").style("margin","1px 0px").style("opacity",.4)}else if(r.has("plot")){l.attr("class","ts_pill sja_filter_tag_btn sja_tree_click_term "+L).style("color","black").style("padding","5px 8px").style("border-radius","6px").style("background-color",o?"rgba(255, 194, 10,0.5)":"#cfe2f3").style("margin","1px 0px").style("cursor","default").on("click",(()=>e.clickTerm(t)))}if(t.samplecount!==undefined){a.append("div").style("font-size",".8em").style("display","inline-block").style("margin-left","5px").style("color",t.samplecount?"#777":"#ddd").text("n="+t.samplecount)}}if(t.hashtmldetail){S({vocabApi:e.app.vocabApi,icon_holder:n,content_holder:a.append("div"),id:t.id,state:{term:t}})}if(e.opts.submit_lst){a.append("div").attr("class",B).style("color","#008000").style("display",o?"inline-block":"none").html("&check;")}if(!t.isleaf){a.append("div").attr("class",E).style("padding-left",C)}}}function G(e){e.toggleBranch=function(t){if(t.isleaf)return;const i=e.termsById[t.id];if(!i)throw"invalid term id";if(!i.terms){if(e.loadingTermSet.has(i.id))return;e.loadingTermSet.add(i.id);s(this.parentNode).selectAll("."+E).filter((e=>e.id===i.id)).style("display","block").append("div").text("Loading...").attr("class",j).style("opacity",.5).style("padding","5px")}const r=e.state.expandedTermIds.includes(t.id);const a=r?"tree_collapse":"tree_expand";e.app.dispatch({type:a,termId:t.id})};e.clickTerm=async t=>{if(e.opts.click_term2select_tvs){e.app.dispatch({type:"submenu_set",submenu:{term:t,type:"tvs"}});return}if(e.opts.click_term_wrapper){e.opts.click_term_wrapper(t);return}if(e.opts.submit_lst){const s=e.state.selectedTerms.findIndex((e=>e.name===t.name));if(s==-1){e.app.dispatch({type:"app_refresh",state:{selectedTerms:[...e.state.selectedTerms,t]}})}else{const t=e.state.selectedTerms.slice(0);t.splice(s,1);e.app.dispatch({type:"app_refresh",state:{selectedTerms:t}})}return}throw"missing term click callback"}}const U={header_mode:"search_only",activeCohort:0,tree:{usecase:{},expandedTermIds:[]},submenu:{},search:{isVisible:true},selectedTerms:[],termfilter:{filter:{type:"tvslst",in:true,join:"",lst:[]}}};class M{constructor(e){this.type="store";this.defaultState=U;i(this,e);this.prevGeneratedId=0}validateOpts(e){if(!e.state)throw".state{} missing";const t=e.state;if(t.vocab){if(t.vocab.dslabel){if(!t.vocab.genome)throw".state[.vocab].genome missing"}else if(t.vocab.genome){if(!t.vocab.dslabel)throw".state[.vocab].dslabel missing"}else{if(!Array.isArray(t.vocab.terms))throw"vocab.terms must be an array of objects"}}}validateState(){const e=this.state;if(e.tree.expandedTermIds.length==0){e.tree.expandedTermIds.push(A)}else{if(e.tree.expandedTermIds[0]!=A){e.tree.expandedTermIds.unshift(A)}}}async init(){this.state.termdbConfig=await this.app.vocabApi.getTermdbConfig();let e=_(this.state.termfilter.filter,"filterUiRoot");if(!e){this.state.termfilter.filter.tag="filterUiRoot";e=this.state.termfilter.filter}if(this.state.termdbConfig.selectCohort){let t=_(this.state.termfilter.filter,"cohortFilter");if(!t){t={tag:"cohortFilter",type:"tvs",tvs:{term:JSON.parse(JSON.stringify(this.state.termdbConfig.selectCohort.term)),values:this.state.activeCohort==-1?[]:this.state.termdbConfig.selectCohort.values[this.state.activeCohort].keys.map((e=>({key:e,label:e})))}};this.state.termfilter.filter={type:"tvslst",in:true,join:"and",lst:[t,e]}}else{const e=(e,t)=>e<t?-1:1;t.tvs.values.sort(((e,t)=>e.key<t.key?-1:1));const s=JSON.stringify(t.tvs.values.map((e=>e.key)).sort(e));const i=this.state.termdbConfig.selectCohort.values.findIndex((t=>s==JSON.stringify(t.keys.sort(e))));if(this.state.activeCohort!==-1&&this.state.activeCohort!==0&&i!==this.state.activeCohort){console.log("Warning: cohortFilter will override the state.activeCohort due to mismatch")}this.state.activeCohort=i}}else{this.state.activeCohort=-1;if(this.state.header_mode==="with_cohortHtmlSelect"){console.warn(`no termdbConfig.selectCohort to use for state.header_mode = 'with_cohortHtmlSelect'`);this.state.header_mode="search_only"}}}fromJson(e){const t=JSON.parse(e);return t}setId(e){e.$id=this.prevGeneratedId++;if(e.$lst){for(const t of e.$lst){this.setId(t)}}}}M.prototype.actions={app_refresh(e={}){this.state=this.copyMerge(this.toJson(this.state),e.state?e.state:{},this.replaceKeyVals)},cohort_set(e){this.state.activeCohort=e.activeCohort;const t=this.state.termdbConfig.selectCohort.values[e.activeCohort];const s=_(this.state.termfilter.filter,"cohortFilter");if(!s)throw`No item tagged with 'cohortFilter'`;s.tvs.values=t.keys.map((e=>({key:e,label:e})))},tree_expand(e){if(this.state.tree.expandedTermIds.includes(e.termId))return;this.state.tree.expandedTermIds.push(e.termId)},tree_collapse(e){const t=this.state.tree.expandedTermIds.indexOf(e.termId);if(t==-1)return;this.state.tree.expandedTermIds.splice(t,1)},filter_replace(e){const t=e.filter?e.filter:{type:"tvslst",join:"",in:1,lst:[]};if(!e.filter.tag){this.state.termfilter.filter=t}else{const s=_(this.state.termfilter.filter,e.filter.tag);if(!s)throw`cannot replace missing filter with tag '${e.filter.tag}'`;const i=g(this.state.termfilter.filter,s.$id);if(i==s){this.state.termfilter.filter=t}else{const e=i.lst.indexOf(s);i.lst[e]=t}}},submenu_set(e){const t=e.submenu&&e.submenu.term;if(!t){this.state.submenu={};this.state.tree.expandedTermIds=[A]}else{const s=[A];if(t.__ancestors){s.push(...t.__ancestors)}if(v(t,{},this.state.termdbConfig).has("plot")){Object.assign(this.state.submenu,e.submenu)}else{s.push(t.id);delete this.state.submenu.term}this.state.tree.expandedTermIds=s}},set_term_type_group({value:e}){this.state.termTypeGroup=e}};const Y=r(M);function F(e){switch(e){case"./handlers/geneExpression.ts":return import("./geneExpression-6462537d.js");case"./handlers/geneVariant.ts":return import("./geneVariant-7de021b6.js");case"./handlers/snp.ts":return import("./snp-9590a1b4.js");case"./handlers/snplocus.ts":return import("./snplocus-90e52cf4.js");case"./handlers/snplst.ts":return import("./snplst-7c59f059.js");default:return new Promise((function(t,s){(typeof queueMicrotask==="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+e)))}))}}const $={matrix:[t.SNP_LOCUS,t.SNP_LIST],filter:[t.SNP_LOCUS,t.SNP_LIST],dictionary:[t.SNP_LOCUS,t.SNP_LIST],summary:[t.SNP_LOCUS,t.SNP_LIST],barchart:[t.SNP_LOCUS,t.SNP_LIST],violin:[t.SNP_LOCUS,t.SNP_LIST],sampleScatter:[t.SNP_LOCUS,t.SNP_LIST],cuminc:[t.SNP_LOCUS,t.SNP_LIST,t.MUTATION_CNV_FUSION,t.METABOLITE_INTENSITY],dataDownload:[t.MUTATION_CNV_FUSION],survival:[t.SNP_LOCUS,t.SNP_LIST],default:[t.SNP_LOCUS,t.SNP_LIST],regression:[t.SNP_LIST,t.SNP_LOCUS,t.GENE_EXPRESSION,t.METABOLITE_INTENSITY],metaboliteIntensity:[t.SNP_LOCUS,t.SNP_LIST,t.MUTATION_CNV_FUSION,t.DICTIONARY_VARIABLES,t.GENE_EXPRESSION],geneExpression:[t.SNP_LOCUS,t.SNP_LIST,t.MUTATION_CNV_FUSION,t.DICTIONARY_VARIABLES,t.METABOLITE_INTENSITY]};class q{constructor(e){this.type="termTypeSearch";this.genomeObj=e.genome;this.click_term=e.click_term;this.submit_lst=e.submit_lst;const t=e.topbar.append("div").append("div").style("width","99%").style("display","flex").style("flex-wrap","wrap").style("gap","5px").style("min-height","20px").style("border","solid 1px #aaa").style("margin","10px 0px").style("padding","6px 2px").style("min-height","30px");this.types=[];this.tabs=[];this.handlerByType={};this.dom={holder:e.holder,topbar:e.topbar,selectedTermsDiv:t,submitDiv:e.submitDiv};this.useCasesExcluded=structuredClone($)}init(e){var s,i,r;return I(this,void 0,void 0,(function*(){this.types=((s=this.app.vocabApi.termdbConfig)===null||s===void 0?void 0:s.allowedTermTypes)||["categorical"];if(!this.types)return;if((i=this.app.vocabApi.termdbConfig)===null||i===void 0?void 0:i.useCasesExcluded)Object.assign(this.useCasesExcluded,(r=this.app.vocabApi.termdbConfig)===null||r===void 0?void 0:r.useCasesExcluded);const a=this.getState(e);yield this.addTabsAllowed(a);if(this.submit_lst)this.dom.clearbt=this.dom.submitDiv.append("button").style("margin-left","5px").text("Clear").on("click",(()=>this.selectTerms([])));if(this.tabs.length==0)throw"No term types allowed for this use case";this.app.dispatch({type:"set_term_type_group",value:this.tabs[0].termTypeGroup});if(this.tabs.length==1&&this.tabs[0].termTypeGroup==t.DICTIONARY_VARIABLES)return;new k({holder:this.dom.holder,tabsPosition:"vertical",linePosition:"right",tabs:this.tabs}).main();for(const[e]of this.tabs.entries()){const t=this.tabs[e].contentHolder.style("padding-left","20px");t.append("div")}}))}reactsTo(e){if(e.type.startsWith("submenu_"))return true;if(e.type=="set_term_type_group")return true;if(e.type=="app_refresh")return true}main(){this.dom.holder.style("display",this.state.isVisible?"inline-block":"none");this.dom.topbar.style("display",this.state.isVisible?"inline-block":"none");if(this.submit_lst){this.renderTermsSelected();this.dom.selectedTermsDiv.style("display",this.state.selectedTerms.length>0?"inline-block":"none")}else this.dom.selectedTermsDiv.style("display","none");this.renderTermsSelected();if(this.dom.clearbt)this.dom.clearbt.property("disabled",this.state.selectedTerms.length==0)}renderTermsSelected(){this.dom.selectedTermsDiv.selectAll("*").remove();this.dom.selectedTermsDiv.selectAll("div").data(this.state.selectedTerms).enter().append("div").attr("title","click to delete").attr("class","sja_menuoption").attr("tabindex",0).style("position","relative").style("display","inline-block").style("padding","5px 16px 5px 9px").style("margin-left","5px").each(e).on("click",((e,t)=>this.deleteTerm(e,t))).on("mouseover",(function(e){const t=`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#000" class="bi bi-x-lg" viewBox="0 0 16 16">\n\t\t\t\t<path stroke='#f00' d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>\n\t\t\t\t</svg>`;const i=s(e.target);i.append("div").style("margin-left","4px").classed("sjpp_deletebt",true).style("display","inline-block").style("position","absolute").style("right","0px").style("top","0px").style("transform","scale(0.6)").style("pointer-events","none").html(t)})).on("mouseout",(function(e){s(e.target).select(".sjpp_deletebt").remove()}));function e(e){const t=s(this).style("border-radius","5px");t.insert("div").style("display","inline-block").html(e.name)}}deleteTerm(e,t){const s=this.state.selectedTerms.findIndex((e=>e.name===t.name));if(s!=-1){const e=[...this.state.selectedTerms];e.splice(s,1);this.app.dispatch({type:"app_refresh",state:{selectedTerms:e}})}}getState(e){return{dslabel:e.dslabel,termTypeGroup:e.termTypeGroup,usecase:e.tree.usecase,isVisible:!e.submenu.term,selectedTerms:e.selectedTerms,termfilter:e.termfilter}}addTabsAllowed(e){var s;return I(this,void 0,void 0,(function*(){for(const i of this.types){const r=u[i];let a=r;if(i==m.GENE_VARIANT){const e=[];if(this.app.vocabApi.termdbConfig.queries.snvindel)e.push("Mutation");if(this.app.vocabApi.termdbConfig.queries.cnv)e.push("CNV");if(this.app.vocabApi.termdbConfig.queries.svfusion)e.push("Fusion");if(e.length==0)continue;a=e.join("/")}if(i==m.SNP_LIST||i==m.SNP_LOCUS){continue}if(r&&!this.tabs.some((e=>e.label==r))){if(e.usecase.target=="regression"){if(i==m.SNP)continue;if(i==m.GENE_VARIANT&&e.usecase.detail!="independent")continue}if(e.usecase.target=="sampleScatter"){if(e.usecase.detail=="numeric"&&!h.has(i))continue}if((e.usecase.target=="survival"||e.usecase.target=="cuminc")&&r!=t.DICTIONARY_VARIABLES){if(e.usecase.detail=="term")continue}if(e.usecase.target=="dataDownload"){if(i==m.SNP)continue}if(e.usecase.target&&((s=this.useCasesExcluded[e.usecase.target])===null||s===void 0?void 0:s.includes(r)))continue;try{if(!this.usesDefaultSearch(r)){const e=yield F(`./handlers/${i}.ts`);this.handlerByType[i]=yield new e.SearchHandler;if(!this.handlerByType[i].init)throw"init not implemented"}this.addLoadTopTerms(i)}catch(e){throw`error with handler='./handlers/${i}.ts': ${e}`}this.tabs.push({label:a,callback:()=>this.setTermTypeGroup(i,r),termTypeGroup:r})}}}))}usesDefaultSearch(e){return e==t.DICTIONARY_VARIABLES||e==t.METABOLITE_INTENSITY}addLoadTopTerms(e){return I(this,void 0,void 0,(function*(){if(e==m.METABOLITE_INTENSITY)this.dom.submitDiv.append("button").style("margin-left","5px").text("Load top terms").on("click",(()=>I(this,void 0,void 0,(function*(){const t={filter0:this.state.termfilter.filter0,filter:this.state.termfilter.filter,type:e};const s=yield this.app.vocabApi.getTopTermsByType(t);this.selectTerms(s.terms)}))))}))}selectTerms(e){this.app.dispatch({type:"app_refresh",state:{selectedTerms:e}})}setTermTypeGroup(e,s){return I(this,void 0,void 0,(function*(){yield this.app.dispatch({type:"set_term_type_group",value:s});const i=this.tabs.find((e=>e.termTypeGroup==s));if(!i)return;const r=i.contentHolder;r.selectAll("*").remove();if(i.termTypeGroup!=t.DICTIONARY_VARIABLES&&i.termTypeGroup!=t.METABOLITE_INTENSITY){const t=this.handlerByType[e];yield t.init({holder:r,app:this.app,genomeObj:this.genomeObj,callback:e=>this.selectTerm(e)})}}))}selectTerm(e){if(this.click_term)this.click_term(e);else if(this.submit_lst){this.app.dispatch({type:"app_refresh",state:{selectedTerms:[...this.state.selectedTerms,e]}})}else this.app.dispatch({type:"submenu_set",submenu:{term:e,type:"tvs"}})}}const z=e(q);class K{constructor(e){this.type="submenu";this.dom={holder:e.holder};H(this)}reactsTo(e){if(e.type.startsWith("submenu_"))return true;if(e.type=="app_refresh")return true}getState(e){return{type:e.submenu.type,term:e.submenu.term,termfilter:e.termfilter}}main(){if(!this.state.term){this.dom.holder.style("display","none");return}if(this.state.type=="tvs")this.showTvsMenu(this.state.term);else throw`unsupported submenu.type='${this.state.type}'`}}const W=e(K);function H(e){e.showTvsMenu=function(t){e.dom.holder.selectAll("*").remove();e.dom.holder.style("display","block").append("div").style("margin","10px").append("span").html("&laquo; Back to variable selection").attr("class","sja_clbtext").on("click",(()=>e.app.dispatch({type:"submenu_set",submenu:{}})));e.dom.holder.style("display","block").append("div").style("margin","15px 0px 5px 10px").style("font-weight","bold").style("font-size",".9em").text(t.name);T({term:t,filter:e.state.termfilter.filter,holder:e.dom.holder.append("div"),vocabApi:e.app.vocabApi,debug:e.app.debug,getCategoriesArguments:e.app.opts.getCategoriesArguments,callback:e.app.opts.tree.click_term2select_tvs})}}class J{constructor(e){this.type="search";this.customEvents=["postSearch"];Z(this);Q(this);this.dom={holder:e.holder};this.isVisible="isVisible"in e?e.isVisible:true}async init(e){this.initUI(this.getState(e))}reactsTo(e){if(e.type=="set_term_type_group")return true;if(e.type=="app_refresh")return true;const t=e.type.split("_")[0];return["search","cohort","submenu"].includes(t)}getState(e){return{isVisible:!e.submenu.term&&this.isVisible,cohortStr:e.activeCohort==-1||!e.termdbConfig.selectCohort?"":e.termdbConfig.selectCohort.values[e.activeCohort].keys.slice().sort().join(","),allowedTermTypes:e.termdbConfig?.allowedTermTypes||[],expandedTermIds:e.tree.expandedTermIds,selectedTerms:e.selectedTerms,usecase:e.tree.usecase,search:e.search,isGeneSetTermdb:e.termdbConfig.isGeneSetTermdb,termTypeGroup:e.termTypeGroup}}isTermTypeSupported(){const e=this.state.termTypeGroup;if(e==t.DICTIONARY_VARIABLES)return true;if(e==t.METABOLITE_INTENSITY)return true;return false}async main(){if(!this.isTermTypeSupported()){this.dom.holder.style("display","none");return}this.dom.input.node().value="";this.dom.input.attr("placeholder","Search "+this.state.termTypeGroup);this.clear();this.dom.holder.style("display",this.state.isVisible?"block":"none")}async doSearch(e){if(!e||e.length<3){this.clear();this.bus.emit("postSearch",[]);return}const t=await this.app.vocabApi.findTerm(e,this.state.cohortStr,this.state.usecase,this.state.termTypeGroup);this.currData=t;if(!t.lst||t.lst.length==0){this.noResult()}else{this.showTerms(t)}this.bus.emit("postSearch",t)}}const X=e(J);function Z(e){e.initUI=t=>{e.dom.holder.style("display",e.search&&e.search.isVisible==false?"none":"block");const s=e.dom.holder.append("div").style("text-align","left");e.dom.input=s.append("input").attr("type","search").attr("class","tree_search").style("width","250px").style("margin","10px").style("display","inline-block").on("input",a.debounce(e.onInput,300)).on("keyup",e.onKeyup);e.dom.resultCntDiv=s.append("div").style("display","none");if(e.opts.focus!="off")e.dom.input.node().focus();e.dom.resultDiv=(e.opts.resultsHolder||e.dom.holder).append("div").attr("class","sjpp_show_scrollbar").style("max-height","35vh").style("display","none").style("grid-template-columns","auto auto");const i=e.dom.resultDiv.append("div");const r=e.dom.resultDiv.append("div");e.dom.resultDiv_genes=i.append("div").style("border-left","solid 1px rgb(133,182,225)").style("margin","0px 0px 10px 10px").style("padding-left","5px");e.dom.resultDiv_terms=r.append("div").style("border-left",e.opts.resultsHolder?"":"solid 1px rgb(133,182,225)").style("margin","0px 0px 10px 10px").style("padding-left","5px")};e.getPrompt=e=>{const t=e.allowedTermTypes.includes("geneVariant")&&v({type:"geneVariant"},e.usecase).has("plot");if(t)return" variables or genes";if(e.isGeneSetTermdb)return" gene sets";return" variables"};e.noResult=()=>{e.clear();e.dom.resultDiv.style("display","inline-grid");e.dom.resultDiv_terms.append("div").style("padding","3px 3px 3px 0px").style("opacity",.5).text("No match"+(e.app.vocabApi.termdbConfig?.queries?.snvindel?.allowSNPs?". Press ENTER to search SNP":""))};e.showTerms=t=>{if(e.opts.disable_terms){t.lst.forEach((t=>{if(t.disabled)e.opts.disable_terms.push(t)}))}e.clear();e.dom.resultDiv.style("display","inline-grid");const s=[],i=[];for(const e of t.lst){if(e.type=="geneVariant"){s.push(e)}else{i.push(e)}}if(s.length){e.dom.resultDiv_genes.append("table").selectAll().data(s).enter().append("tr").each(e.showTerm)}if(i.length){e.dom.resultDiv_terms.append("table").selectAll().data(i).enter().append("tr").each(e.showTerm)}if(t.lst.length>1)e.dom.resultCntDiv.style("display","inline-block").text(`${t.lst.length} results`);e.focusableResults=[...e.dom.resultDiv.node().querySelectorAll(".sja_tree_click_term, .sja_menuoption")]};e.showTerm=function(t){const i=s(this);const r=i.append("td").text(t.name);const a=v(t,e.state.usecase,e.app.vocabApi.termdbConfig);if((e.opts.click_term||e.app.opts?.tree?.click_term_wrapper)&&a.has("plot")){if(t&&e.opts.disable_terms?.find((e=>f(t,e)))){r.attr("class","sja_tree_click_term_disabled").style("display","block").style("padding","5px 8px").style("margin","1px 0px").style("opacity",.4)}else{r.attr("class","ts_pill sja_filter_tag_btn sja_tree_click_term").attr("tabindex",0).style("display","block").style("color","black").style("padding","5px 8px").style("border-radius","6px").style("background-color",t.type=="geneVariant"?"rgba(251,171,96,0.5)":"#cfe2f3").style("margin","1px 0px").style("cursor","default").on("click",(()=>{if(e.opts.click_term){e.opts.click_term(t)}else{e.app.opts.tree.click_term_wrapper(t)}e.clear();e.dom.input.property("value","")})).on("keyup",e.navInputValueByKeyboard)}if(t.samplecount!==undefined){i.append("td").append("div").style("font-size",".8em").style("display","inline-block").style("margin-left","5px").style("color",t.samplecount?"#777":"#ddd").text("n="+t.samplecount)}}else{r.attr("class","sja_menuoption").attr("tabindex",0).on("click",(()=>{e.clear();e.dom.input.property("value","");const s=[A];if(t.type=="geneVariant"&&e.opts.handleGeneVariant){e.opts.handleGeneVariant(t)}else if(y(t.type)){e.app.dispatch({type:"app_refresh",state:{selectedTerms:[...e.state.selectedTerms,t]}})}else{if(t.__ancestors){s.push(...t.__ancestors)}if(!e.app.vocabApi.graphable(t))s.push(t.id);e.app.dispatch({type:"app_refresh",state:{tree:{expandedTermIds:s}}})}})).on("keyup",e.navInputValueByKeyboard)}i.append("td").text(t.type=="geneVariant"?"gene variant":(t.__ancestorNames||[]).join(" > ")).style("opacity",.5).style("font-size",".7em")};e.clear=()=>{e.dom.resultDiv_genes.selectAll("*").remove();e.dom.resultDiv_terms.selectAll("*").remove();e.dom.resultDiv.style("display","none");e.dom.resultCntDiv.style("display","none")}}function Q(e){e.onKeyup=t=>{if(t.key=="ArrowDown"&&e.currData?.lst?.length){e.dom.resultDiv.select(".sja_tree_click_term, .sja_menuoption").node().focus();return}if(!o(t))return;e.onInput(t)};e.onInput=async t=>{const s=e.dom.input.property("value");try{await e.doSearch(s)}catch(t){e.clear();e.dom.resultDiv.style("display","inline-grid");l(e.dom.resultDiv_terms,"Error: "+(t.message||t));if(t.stack)console.log(t.stack)}};e.navInputValueByKeyboard=t=>{if(t.key=="Enter")t.target.click();else if(t.key.startsWith("Arrow")){const s=e.focusableResults.findIndex((e=>e===t.target));if(t.key=="ArrowDown"){if(s<e.focusableResults.length-1)e.focusableResults[s+1].focus();else e.focusableResults[0].focus()}else if(t.key=="ArrowUp"){if(s!=0)e.focusableResults[s-1].focus();else e.focusableResults[e.focusableResults.length-1].focus()}}}}class ee{constructor(e){this.type="app";if(!e.holder)s("body").append("div");const t=e.holder.append("div").style("display",e.tree?.submit_lst?"":"none").style("text-align","center").style("margin","10px 5px");const i=t.append("button").property("disabled",true).text(this.noSelectionPrompt).on("click",(()=>this.opts.tree?.submit_lst(this.state.selectedTerms)));const r=e.holder.append("div");const a=r.append("div").style("display","inline-block");const o=r.append("div").style("display","inline-block").style("vertical-align","top");this.dom={topbar:r,holder:e.holder,termTypeSearchDiv:a,searchDiv:o.append("div"),treeDiv:o.append("div"),customTermDiv:o.append("div").style("margin","10px"),submitDiv:t,submitBtn:i,filterDiv:r.append("div").style("display","none"),errdiv:e.holder.append("div"),tip:new p({padding:"5px"})}}validateOpts(e){if(e.vocabApi);else if(e.state&&e.state.vocab){if(typeof e.state.vocab!="object")throw"opts.state.vocab{} is not an object"}else if(e.state&&e.state.genome){const t=e.state;if(!t.vocab)t.vocab={};t.vocab.genome=t.genome;delete t.genome;if(t.dslabel){t.vocab.dslabel=t.dslabel;delete t.dslabel}}else{throw"neither state.vocab{} or opts.vocabApi provided"}if(e.tree){if(e.tree.disable_terms&&!e.tree.click_term&&!e.tree.click_term2select_tvs&&(!e.barchart||!e.barchart.bar_click_override)){throw`opts.tree.disable_terms is used only when opts.tree.click_term, opts.tree.click_term2select_tvs, or opts.barchart.bar_click_override is set`}if(!e.search)e.search={};if(e.tree.click_term2select_tvs){e.search.click_term=e=>this.api.dispatch({type:"submenu_set",submenu:{term:e,type:"tvs"}})}if(e.tree.click_term){e.tree.click_term_wrapper=async t=>{if(this.state.termdbConfig.termMatch2geneSet){const e=await d("termdb",{body:{genome:this.state.vocab.genome,dslabel:this.state.vocab.dslabel,genesetByTermId:t.id}});t._geneset=e}e.tree.click_term(t)}}if(e.tree.disable_terms)e.search.disable_terms=e.tree.disable_terms}return e}async preApiFreeze(e){try{if(this.opts.vocabApi){e.vocabApi=this.opts.vocabApi}else{const t={vocab:this.opts.state.vocab||{genome:this.opts.state.genome,dslabel:this.opts.state.dslabel}};e.vocabApi=await x({app:this.api,state:t,fetchOpts:this.opts.fetchOpts})}e.appInit=te}catch(e){console.log(e);throw e}}async init(){try{this.store=await Y({app:this.api,state:this.opts.state});this.state=await this.store.copyState();await this.setComponents();await this.api.dispatch()}catch(e){this.printError(e)}}async setComponents(){try{const e=this.state.nav?.header_mode;const t={search:X({app:this.api,holder:this.dom.searchDiv,isVisible:e!=="hide_search"}),termTypeSearch:z({app:this.api,holder:this.dom.termTypeSearchDiv,topbar:this.dom.topbar,genome:this.opts.vocabApi?.app?.opts?.genome,click_term:this.opts.tree?.click_term,submit_lst:this.opts.tree?.submit_lst,submitDiv:this.dom.submitDiv}),tree:P({app:this.api,holder:this.dom.treeDiv,headerDiv:this.dom.headerDiv,expandAll:e=="hide_search"})};if(this.opts.tree&&this.opts.tree.click_term2select_tvs){t.submenu=W({app:this.api,holder:this.dom.holder.append("div").style("display","none")})}this.components=await c(t)}catch(e){throw e}}async main(){this.api.vocabApi.main();const e=this.state.selectedTerms.length;this.dom.submitBtn.property("disabled",!e).text(!e?"Search or click term(s)":`Submit ${e} term${e>1?"s":""}`);await this.mayShowCustomTerms();this.dom.holder.selectAll("search, .termbtn, button").attr("tabindex",0);this.dom.holder.selectAll(".termbtn").on("keyup",(e=>{if(e.key=="Enter")e.target.click()}))}printError(e){l(this.dom.errdiv,"Error: "+(e.message||e));if(e.stack)console.log(e.stack)}async mayShowCustomTerms(){if(Object.keys(this.state.submenu).length)return this.dom.customTermDiv.style("display","none");const e=await this.api.vocabApi.getCustomTerms();if(!Array.isArray(e)||e.length==0)return this.dom.customTermDiv.style("display","none");const t=[];for(const s of e){const e=v(s.term,this.state.tree.usecase,this.state.termdbConfig);if(e.has("plot"))t.push(s)}if(t.length==0)return this.dom.customTermDiv.style("display","none");this.dom.customTermDiv.selectAll("*").remove();this.dom.customTermDiv.append("div").text("CUSTOM VARIABLES").style("font-size",".7em");for(const e of t){this.dom.customTermDiv.append("div").style("margin-bottom","3px").append("div").text(e.term.name).attr("class","sja_filter_tag_btn").style("padding","3px 6px").style("border-radius","6px").on("click",(()=>{if(!this.opts.tree)return;if(this.opts.tree.click_term){this.opts.tree.click_term(e);return}if(this.opts.tree.click_term2select_tvs){this.api.dispatch({type:"submenu_set",submenu:{term:e.term,type:"tvs"}});return}}))}}}const te=n(ee);export{te as appInit};
@@ -1 +0,0 @@
1
- import{M as e,u as t,k as s,b as n,D as a,z as i,y as l,f as o,aj as r}from"./app-a8c4854a.js";import{a as c,s as d}from"./genesearch-ea59f5d4.js";import{T as p}from"./toggleButtons-002aeda1.js";import{r as f}from"./table-79e3e776.js";import{m as u}from"./checkbox-96437f4d.js";import"./tslib.es6-1f85f553.js";const y=new e({padding:""});const m="hg38";const h="GDC";const g=60;const b=[{title:"Entity ID",key:"entity_id"},{title:"Experimental Strategy",key:"experimental_strategy"},{title:"Sample Type",key:"sample_type"},{title:"Size",key:"file_size",width:"10vw"}];const k="You are attempting to access a Sequence Read file that you are not authorized to access. <a href=https://gdc.cancer.gov/access-data/obtaining-access-controlled-data target=_blank>Please request dbGaP Access to the project</a>.";async function v({genomes:e,holder:r,filter0:v,hideTokenInput:S=false,callbacks:A={},stream2download:F=false,inputValue:I,debugmode:T=false}){if(A.postRender&&typeof A.postRender!="function")throw"callbacks.postRender is not function";const j={dom:{tip:y}};const E=e[m];if(!E)throw"missing genome for "+m;const C={bam_files:[],runFlags:{runflag_caseFileList:1,runflag_gdcInput:1}};const $=t();const N=r.append("div").style("margin-left","30px").style("display","none");N.append("button").html("&#171; Back To Input Form").on("click",(()=>{N.style("display","none");B.style("display","none").selectAll("*").remove();G.style("display","block")}));const G=r.append("div").style("margin-left","30px");const M=G.append("div");const B=r.append("div").style("display","none");if(!S)H();const D=await V();const O=G.append("div").style("padding","3px 10px").style("display","none");const[z,U,P]=Q();const R=I||$.get("gdc_id");if(R){D.property("value",R).node().dispatchEvent(new Event("search"))}else{delete C.runFlags.runflag_gdcInput;L()}function L(){if(!A.postRender)return;if(Object.keys(C.runFlags).length==0){A.postRender(j)}}function H(){const e=M.insert("div").attr("class","sja-gdcbam-tokendiv");e.insert("div").style("display","inline-block").style("width","15vw").text("GDC Token File");const t=e.insert("div").style("display","inline-block");const s=t.append("input").attr("type","file").attr("aria-label","GDC token file");const n=t.append("span").style("margin-left","20px").style("display","none");s.on("change",(e=>{const t=e.target.files[0];if(!t){s.property("value","");return}if(!t.size){s.property("value","");w(n,"Blank file "+t.name);return}const a=new FileReader;a.onload=e=>{const t=e.target.result.trim();if(t.length<100){s.property("value","");w(n,"Does not look like a toke file (content too short)");return}if(t.length>1e3){s.property("value","");w(n,"Does not look like a toke file (content too long)");return}C.gdc_token=t};a.onerror=function(){s.property("value","");w(n,"Error reading file "+t.name);return};w(n);a.readAsText(t,"utf8")}));setTimeout((()=>s.node().focus()),1100)}async function V(){const e=M.insert("div");e.append("div").style("display","inline-block").style("width","15vw").style("padding-top","5px").text("Enter Search String").style("vertical-align","top");const t=e.append("div").style("display","inline-block");const i=t.append("input").attr("type","search").attr("size",45).attr("aria-label","Specify File Name / File UUID / Case ID / Case UUID").style("padding","3px 10px").property("placeholder","File Name / File UUID / Case ID / Case UUID").attr("class","sja-gdcbam-input").on("search",y).on("keyup",(e=>{if(s(e)){y();return}l.style("display","").text("Press ENTER to search");o.style("display","none")}));const l=t.append("span").style("padding-left","10px").style("display","none");const o=t.append("span").attr("class","sja-gdcbam-gdcid_error_div").style("display","none").style("padding","2px 5px");t.append("br");const r=t.append("div").attr("class","sja-gdcbam-listCaseFileHandle").style("margin","5px").style("display","inline-block").text("Looking for BAM files from current cohort...");q(r);const c=t.append("div").style("display","none").style("width","500px").style("margin","20px 3px").html(k);const d=G.append("div").style("display","none").style("margin","20px 20px 20px 40px");const p=d.append("div").attr("class","sja-gdcbam-onefiletable").style("display","none");const u=d.append("div").attr("class","sja-gdcbam-multifiletable").style("display","none");j.update=e=>{y(null,e?.filter0||v);q(r,e?.filter0||v)};async function y(e,t){U.selectAll("*").remove();P.style("display","none");z.style("display","inline-block");o.style("display","none");l.style("display","none");try{await m(Object.keys(t||{}).length?t:v||null)}catch(e){w(o,e.message||e);d.style("display","none");O.style("display","none")}L()}async function m(e){const t=i.property("value").trim();if(!t.length){d.style("display","none");U.selectAll("*").remove();O.style("display","none");return}i.attr("disabled",1);l.style("display","").text("Loading...");C.runFlags.runflag_gdcInput=1;const s={gdc_id:t};if(e)s.filter0=e;let a;try{a=await n("gdcbam",{body:s})}catch(e){throw e}finally{delete C.runFlags.runflag_gdcInput}i.attr("disabled",null);l.style("display","none");C.bam_files=[];if(a.error)throw"Error: "+a.error;if(!Array.isArray(a.file_metadata))throw"Error: .file_metadata[] missing";if(a.file_metadata.length==0){if(a.numFilesSkippedByWorkflow){throw`File${a.numFilesSkippedByWorkflow>1?"s":""} not viewable due to workflow type.`}throw"No viewable BAM files found"}c.style("display",a.userHasNoAccess?"block":"none");C.case_id=a.file_metadata[0].case_id;if(a.file_metadata.length==1){h(a)}else{g(a.file_metadata)}w(o);C.runFlags.ssmSearch=1;try{await X()}catch(e){throw e}finally{delete C.runFlags.ssmSearch}}function h(e,t){d.style("display","block");p.style("display","block").selectAll("*").remove();u.style("display","none");const s=e.file_metadata[0];const n={file_id:s.file_uuid,track_name:s.entity_id,about:[]};C.bam_files.push(n);const i=a({holder:p});for(const e of b){const[t,a]=i.addRow();t.text(e.title);a.html(e.url?`<a href=${e.url}${s.file_uuid} target=_blank>${s[e.key]}</a>`:s[e.key]);n.about.push({k:e.title,v:s[e.key]})}p.select("input").node()?.focus()}function g(e){const t=b.map((e=>({label:e.title,width:e.width})));const s=[];for(const[t,n]of e.entries()){const e=[];for(const t of b){if(t.url){e.push({html:`<a href=${e.url}${n.file_uuid} target=_blank>${n[e.key]}</a>`})}else{e.push({value:n[t.key]})}}s.push(e)}d.style("display","block");u.style("display","block").selectAll("*").remove();p.style("display","none");f({rows:s,columns:t,div:u,singleMode:F?true:false,noButtonCallback:(t,s)=>{const n=e[t];if(F){C.bam_files=[{file_id:n.file_uuid,track_name:n.sample_type+", "+n.experimental_strategy+", "+n.entity_id,about:b.map((e=>({k:e.title,v:n[e.key]})))}]}else{if(s.checked){C.bam_files.push({file_id:n.file_uuid,track_name:n.sample_type+", "+n.experimental_strategy+", "+n.entity_id,about:b.map((e=>({k:e.title,v:n[e.key]})))})}else{C.bam_files=C.bam_files.filter((e=>e.file_id!=n.file_uuid))}}}})}return i}async function q(e,t){C.runFlags.runflag_caseFileList=1;try{await W(e,t)}catch(t){e.text(t.message||t)}finally{delete C.runFlags.runflag_caseFileList}L()}async function W(e,t){const s=Object.keys(t||{}).length?t:v||null;const a={};if(s)a.filter0=s;const i=await n("gdcbam",{body:a});if(i.error)throw i.error;if(typeof i.case2files!="object")throw"wrong return";if(!i.restapihost)throw"data.restapihost is missing";C.restapihost=i.restapihost;e.text(`Or, Browse ${i.total} Available BAM Files`);const l=new Map;for(const e in i.case2files){for(const t of i.case2files[e]){const e=t.experimental_strategy;if(!l.has(e)){l.set(e,{count:1,checked:true})}else{l.get(e).count+=1}}}e.classed("sja_clbtext",true).attr("tabindex",0).on("keyup",(e=>{if(e.key=="Enter"){e.target.click()}})).on("click",(e=>{y.clear().showunder(e.target);{const e=y.d.append("div").style("margin","10px");for(const[s,n]of l){u({holder:e,labeltext:`${s}, ${n.count}`,divstyle:{display:"inline","margin-right":"15px"},checked:n.checked,callback:()=>{n.checked=!n.checked;o(t)}})}}const t=y.d.append("div").style("margin","10px").attr("class","sjpp_show_scrollbar").style("height","300px").style("resize","vertical");o(t)}));function o(e){e.selectAll("*").remove();const t=e.append("table").style("border-spacing","0px");const s=t.append("tr").style("position","sticky").style("top","0px").style("background-color","white").style("color","#888");s.append("td").text("CASE");s.append("td").text("BAM FILES, SELECT ONE TO VIEW");for(const e in i.case2files){const s=t.append("tr").attr("class","sja_clb_gray");s.append("td").style("vertical-align","top").style("color","#888").text(e);const n=s.append("td");for(const t of i.case2files[e]){if(!l.get(t.experimental_strategy).checked)continue;n.append("div").attr("class","sja_clbtext").attr("tabindex",0).html(`${t.sample_type}, ${t.experimental_strategy} <span style="font-size:.8em">${t.file_size}</span>`).on("click",(()=>{y.hide();D.property("value",t.file_uuid).node().dispatchEvent(new Event("search"))})).on("keyup",(e=>{if(e.key=="Enter")e.target.click()}))}}t.select(".sja_clbtext")?.node()?.focus()}}async function X(){delete C.ssmInput;O.style("display","block").selectAll("*").remove();const e=O.append("p").text("Searching for mutations...");const t=await n("termdb/singleSampleMutation",{body:{sample:"___"+C.case_id,genome:m,dslabel:h}});if(t.error)throw t.error;const s=t.mlst.filter((e=>e.dt==1));if(s.length==0){e.text("No mutations from this case.");if(F){const e=[{label:"Gene or position",callback:()=>C.useSsmOrGene="gene"},{label:"Unmapped reads",callback:()=>C.useSsmOrGene="unmapped"}];new p({holder:O,tabs:e}).main();await J(e[0].contentHolder);e[1].contentHolder.append("p").text("Only download unmapped reads from this BAM file.")}else{await J(O.append("div"))}return}e.remove();const a=[{label:`${s.length} variants${t.dt2total?.[0]?" ("+t.dt2total[0].total+" total)":""}`,callback:()=>{C.useSsmOrGene="ssm"}},{label:"Gene or position",callback:()=>{C.useSsmOrGene="gene"}}];if(F){a.push({label:"Unmapped reads",callback:()=>C.useSsmOrGene="unmapped"})}new p({holder:O,tabs:a}).main();Y(a[0].contentHolder,s);await J(a[1].contentHolder);if(a[2])a[2].contentHolder.append("p").text("Only download unmapped reads from this BAM file.")}function Y(e,t){const s=[{label:"Gene",width:"10vw"},{label:"Mutation"},{label:"Consequence"},{label:"Position"}];const n=new Map;for(const e of t){if(!n.has(e.gene))n.set(e.gene,[]);n.get(e.gene).push(e)}const a=[];for(const[e,t]of n){for(const s of t){const t=[];t.push({value:e,data:s});t.push({value:s.mname});t.push({value:i[s.class]?.label||"Unknown"});t.push({value:s.chr+":"+s.pos+" "+s.ref+">"+s.alt});a.push(t)}}f({rows:a,columns:s,div:e,noButtonCallback:(e,t)=>{const s=a[e][0].data;C.ssmInput={chr:s.chr,pos:s.pos-1,ref:s.ref,alt:s.alt}},singleMode:true});if($.has("gdc_ssm")){for(const[e,t]of n){for(const e of t){if(e.mname==$.get("gdc_ssm")){C.ssmInput={chr:e.chr,pos:e.pos-1,ref:e.ref,alt:e.alt}}}}}e.select("input").node().focus()}async function J(e){const t=e.append("div").style("display","grid").style("grid-template-columns","300px auto");t.append("div").text("Enter gene, position, SNP, or variant");C.coordInput=c(await K(t));_(e)}async function K(e){const t={genome:E,tip:y,row:e.append("div"),allowVariant:true};if($.has("gdc_pos")){const e=$.get("gdc_pos").split(/[:\-]/);if(e.length==3){t.defaultCoord={chr:e[0],start:Number(e[1]),stop:Number(e[2])}}}else if($.has("gdc_var")){const e=await d($.get("gdc_var"),E);if(e){t.defaultCoord=e}}return t}function Q(){const e=G.append("div");const t=e.insert("div").style("display","inline-block").append("button").style("margin","20px 20px 20px 40px").style("padding","10px 25px").style("border-radius","35px").text("Submit").on("click",(async()=>{try{s.selectAll("*").remove();x(C,E,S);t.text("Loading ...");t.property("disabled",true);await Z()}catch(e){if(e=="Permission denied"){n.style("display","inline-block");t.style("display","none")}else{s.selectAll("*").remove();l(s,e)}}t.text("Submit");t.property("disabled",false)}));const s=e.insert("div").style("display","inline-block");const n=e.insert("div").style("display","none").style("margin","20px");n.append("div").text("Access Alert").style("font-size","1.5em").style("opacity",.4);n.append("div").style("border-top","solid 1px #eee").style("border-bottom","solid 1px #eee").style("padding","20px 0px").style("margin-top","5px").html(k);return[t,s,n]}async function Z(){const e=C;const t={nobox:1,genome:E,holder:B,debugmode:T};if(e.useSsmOrGene=="unmapped"){t.unmapped=1}else{if(e.position){t.chr=e.position.chr;t.start=e.position.start;t.stop=e.position.stop}else if(e.variant){t.chr=e.variant.chr;t.start=e.variant.pos-g;t.stop=e.variant.pos+g}else{throw"SV_EXPAND here"}}const s={"Content-Type":"application/json",Accept:"application/json"};if(e.gdc_token){s["X-Auth-Token"]=e.gdc_token}for(const[a,i]of e.bam_files.entries()){z.text(`Slicing BAM File ${a+1} of ${e.bam_files.length}...`);const l={downloadgdc:1,gdcFileUUID:i.file_id};if(t.unmapped){l.gdcFilePosition="unmapped";l.unmapped=1}else{l.gdcFilePosition=t.chr+":"+t.start+"-"+t.stop;l.regions=[{chr:t.chr,start:t.start,stop:t.stop}]}if(F){s.compression=false;const e=`${C.restapihost}/slicing/view/${i.file_id}?region=${l.gdcFilePosition}`;const n=await fetch(e,{method:"GET",headers:s});const a=await n.blob();const o=document.createElement("a");o.href=URL.createObjectURL(a);if(t.unmapped){o.download=i.track_name+".unmapped.bam"}else{o.download=`${i.track_name}.${t.chr}.${t.start}.${t.stop}.bam`}o.style.display="none";document.body.appendChild(o);o.click();document.body.removeChild(o);return}const o=await n("tkbam",{headers:s,body:l});if(o.error)throw o.error;{const e=i.about.find((e=>e.k=="Slice file size"));if(e)e.v=o.size;else i.about.push({k:"Slice file size",v:o.size})}if(o.time){const e=i.about.find((e=>e.k=="Stream time"));if(e)e.v=Math.round(o.time)+" seconds";else i.about.push({k:"Stream time",v:Math.round(o.time)+" seconds"})}if(o.truncated){if(!i.about.find((e=>e.k=="Truncated")))i.about.push({k:"Truncated",v:"BAM slice size exceeds limit and is truncated"})}else{const e=i.about.findIndex((e=>e.k=="Truncated"));if(e>0)i.about.splice(e,1)}}G.style("display","none");N.style("display","block");B.style("display","block");t.tklst=[];for(const s of e.bam_files){const n={type:"bam",name:s.track_name||"Sample BAM slice",gdcToken:e.gdc_token,gdcFile:{uuid:s.file_id,position:t.chr+":"+t.start+"-"+t.stop},aboutThisFile:s.about};if(e.variant){n.variants=[e.variant]}t.tklst.push(n)}o(E,t.tklst);const a=await import("./block-dcb130fb.js").then((function(e){return e.c}));new a.Block(t)}return j}function _(e){e.append("div").style("opacity",.6).html(`<ul>\n\t\t<li>Enter gene, position, SNP, or variant.\n\t\tThe BAM file will be sliced at the given position and visualized.</li>\n\t\t<li>Position</li>\n\t\t<ul><li>Example: chr17:7676339-7676767</li>\n\t\t <li>Coordinates are hg38 and 1-based.</li>\n\t\t</ul>\n\t\t<li>SNP example: rs28934574</li>\n\t\t<li>Variant:</li>\n\t\t<ul>\n\t\t <li>Example: chr2.208248388.C.T</li>\n\t\t <li>Fields are separated by periods. Coordinate is hg38 and 1-based. Reference and alternative alleles are on forward strand.</li>\n\t\t</ul>\n\t\t<li>Supported HGVS formats for variants:</li>\n\t\t<ul>\n\t\t <li>SNV: chr2:g.208248388C>T</li>\n\t\t <li>MNV: chr2:g.119955155_119955159delinsTTTTT</li>\n\t\t <li>Insertion: chr5:g.171410539_171410540insTCTG</li>\n\t\t <li>Deletion: chr10:g.8073734delTTTAGA</li>\n\t\t</ul>\n\t\t</ul>`)}function w(e,t){e.style("display","inline-block").style("color",t?"red":"green").html(t?"&#10060; "+t:"&#10003;")}function x(e,t,s=false){if(!s){if(!e.gdc_token)throw"GDC token missing";if(typeof e.gdc_token!=="string")throw"GDC token is not string"}if(!e.bam_files.length)throw"No BAM file selected";for(const t of e.bam_files){if(!t.file_id)throw"file uuid is missing";if(typeof t.file_id!=="string")throw"file uuid is not string"}if(e.useSsmOrGene=="unmapped"){return}delete e.position;delete e.variant;if(e.useSsmOrGene=="ssm"){const t=e.ssmInput;if(!t)throw"No variant selected";if(!t.chr)throw"ssmInput.chr missing";if(!Number.isInteger(t.pos))throw"ssmInput.pos not integer";if(!t.ref)throw"ssmInput.ref missing";if(!t.alt)throw"ssmInput.alt missing";e.variant=t;return}const n=e.coordInput;if(!n.chr)throw"No valid position or variant was entered";const[a,i]=r(t,[n.chr]);if(a+i==0)throw"Invalid chromosome name: "+n.chr;const l=a?"chr"+n.chr:n.chr;if(Number.isInteger(n.pos)){if(!n.ref)throw"Reference allele missing from variant string";if(!n.alt)throw"Alternative allele missing from variant string";e.variant={chr:l,pos:n.pos-1,ref:n.ref,alt:n.alt}}else{if(!Number.isInteger(n.start)||!Number.isInteger(n.stop))throw"non-integer start/stop";e.position={chr:l,start:n.start,stop:n.stop}}}export{v as bamsliceui};
@@ -1 +0,0 @@
1
- import{h as t,Q as e,P as s,C as i,r,z as a,d as o,U as n}from"./app-a8c4854a.js";import l from"./bars.settings-64bb4642.js";import c from"./bars.renderer-5f7a4174.js";import{h as d}from"./html.legend-abb5452e.js";import{s as h}from"./svg.legend-a94b0697.js";import p from"./barchart.events-9b11d97e.js";import{controlsInit as m}from"./controls-0bacec22.js";import{r as f}from"./table-79e3e776.js";import{f as g,i as u}from"./roundValue-b0d0517c.js";import"./axis-747c801e.js";import"./log-cf45fcf2.js";import"./FilterRxComp-242f4615.js";import"./termdb.bins-9faa5170.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./tslib.es6-1f85f553.js";import"path";class b{constructor(t){this.type="barchart"}preApiFreeze(t){t.download=this.download}async init(t){const e=this.opts;const s=this.opts.controls?null:e.holder.append("div");const i=e.controls?e.holder:e.holder.append("div");this.dom={loadingDiv:i.append("div").style("position","absolute").style("display","none").style("padding","20px").html("Loading ..."),header:e.header,controls:s,holder:i,banner:i.append("div").style("display","none").style("text-align","center").style("padding","24px").style("font-size","16px").style("color","#aaa"),barDiv:i.append("div"),legendDiv:i.append("div").style("margin","5px 5px 15px 5px")};if(this.dom.header)this.dom.header.html("Barchart");this.settings=JSON.parse(l);x(this);D(this);this.renderers={};this.legendRenderer=d(this.dom.legendDiv,{settings:{legendOrientation:"vertical"},handlers:this.handlers},this.dom.barDiv);this.controls={};this.term2toColor={};await this.setControls(this.getState(t));if(this.opts.bar_click_override);else if(!this.opts.bar_click_opts){this.opts.bar_click_opts=["hide_bar"];if(this.app.getState().nav.header_mode==="with_tabs")this.opts.bar_click_opts.push("add_filter")}}async setControls(t){if(this.opts.controls){this.opts.controls.on("downloadClick.barchart",this.download)}else{this.dom.holder.attr("class","pp-termdb-plot-viz").style("display","inline-block").style("min-width","300px").style("margin-left","50px");const e=["term1",{type:"overlay",configKey:"term2",chartType:"barchart",usecase:{target:"barchart",detail:"term2",term1type:t.config.term.term.type},title:"Overlay data",label:"Overlay",vocabApi:this.app.vocabApi,numericEditMenuVersion:this.opts.numericEditMenuVersion||["continuous","discrete"]},{type:"divideBy",configKey:"term0",chartType:"barchart",usecase:{target:"barchart",detail:"term0",term1type:t.config.term0?.term?.type},title:"Divide by data",label:"Divide by",vocabApi:this.app.vocabApi,numericEditMenuVersion:this.opts.numericEditMenuVersion||["continuous","discrete"]},{label:"Orientation",type:"radio",chartType:"barchart",settingsKey:"orientation",options:[{label:"Vertical",value:"vertical"},{label:"Horizontal",value:"horizontal"}]},{label:"Scale",type:"radio",chartType:"barchart",settingsKey:"unit",options:[{label:"Linear",value:"abs"},{label:"Log",value:"log",getDisplayStyle:t=>t.term2?"none":"inline-block"},{label:"Proportion",value:"pct",getDisplayStyle:t=>t.term2?"inline-block":"none"}]},{label:"Multicolor bars",title:"Colors bars using the colors preassigned if available, otherwise generates a color",type:"checkbox",chartType:"barchart",settingsKey:"colorBars",boxLabel:"Yes",getDisplayStyle:t=>t.term2?"none":"table-row"},{label:"Deduplicate",title:"Use separate bars samples that has multiple values or belong to multiple groups",type:"checkbox",chartType:"barchart",settingsKey:"dedup",boxLabel:"Yes",getDisplayStyle:t=>this.chartsData.charts.find((t=>t.serieses.length!=t.dedupedSerieses.length))?"table-row":"none"},{label:"Default color",title:"Default color for bars when there is no overlay",type:"color",chartType:"barchart",settingsKey:"defaultColor"}];if(this.app.getState().termdbConfig.multipleTestingCorrection){e.push({label:"Asterisks",boxLabel:"Visible",type:"checkbox",chartType:"barchart",settingsKey:"asterisksVisible",title:"Display the asterisks"})}this.components={controls:await m({app:this.app,id:this.id,holder:this.dom.controls.attr("class","pp-termdb-plot-controls").style("display","inline-block"),inputs:e})};this.components.controls.on("downloadClick.barchart",this.download)}}reactsTo(t){if(t.type.startsWith("plot_")){return t.id===this.id&&(!t.config.childType||t.config.childType==this.type)}return true}getState(t){const e=t.plots.find((t=>t.id===this.id));if(!e){throw`No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`}return{nav:{header_mode:t.nav.header_mode},termfilter:t.termfilter,config:Object.assign({},e,{settings:{barchart:e.settings.barchart,common:e.settings.common},displaySampleIds:t.termdbConfig.displaySampleIds&&this.app.vocabApi.hasVerifiedToken()}),multipleTestingCorrection:t.termdbConfig.multipleTestingCorrection,bar_click_menu:t.bar_click_menu||{}}}async main(){const t=this.state.config;if(t.chartType!=this.type&&t.childType!=this.type)return;try{this.config=structuredClone(t);if(!this.currServerData)this.dom.barDiv.style("max-width",window.innerWidth+"px");this.prevConfig=this.config||{};if(this.dom.header)this.dom.header.html(this.config.term.term.name+` <span style="opacity:.6;font-size:.7em;margin-left:10px;">BARCHART</span>`);this.toggleLoadingDiv();const e=this.getDataRequestOpts();await this.getDescrStats();const s=await this.app.vocabApi.getNestedChartSeriesData(e);const r=s.data;this.bins=s.bins;this.toggleLoadingDiv("none");this.app.vocabApi.syncTermData(this.config,r,this.prevConfig);this.currServerData=r;if(this.currServerData.refs&&this.currServerData.refs.q){for(const t of this.currServerData.refs.q){if(t.error)throw t.error}}this.term1toColor={};this.term2toColor={};this.updateSettings(this.config);this.colorScale=i(this.config.term2?this.settings.rows.length:this.settings.cols.length);this.chartsData=this.processData(this.currServerData);this.render()}catch(t){throw t}}getDataRequestOpts(){const t=this.config;const e={term:t.term,filter:this.state.termfilter.filter};if(this.state.termfilter.filter0)e.filter0=this.state.termfilter.filter0;if(t.term2)e.term2=t.term2;if(t.term0)e.term0=t.term0;return e}async getDescrStats(){const t=[this.config.term];if(this.config.term2)t.push(this.config.term2);if(this.config.term0)t.push(this.config.term0);for(const e of t){if(u(e.term)){const t=await this.app.vocabApi.getDescrStats(e,this.state.termfilter);if(t.error)throw t.error;e.q.descrStats=t.values}}}updateSettings(t){if(!t)return;this.state;const e={term0:t.term0?t.term0.term.id:"",term1:t.term.term.id,term2:t.term2?t.term2.term.id:"",unit:t.settings.barchart.unit,orientation:t.settings.barchart.orientation,asterisksVisible:t.settings.barchart.asterisksVisible,defaultColor:t.settings.barchart.defaultColor,colorBars:t.settings.barchart.colorBars,dedup:t.settings.barchart.dedup,colw:t.settings.common.barwidth,rowh:t.settings.common.barwidth,colspace:t.settings.common.barspace,rowspace:t.settings.common.barspace};this.setExclude(this.config.term,this.config.term2);Object.assign(this.settings,e,this.currServerData.refs||{},{exclude:this.settings.exclude});this.settings.cols=this.settings.dedup?this.currServerData.refs.dedupCols:this.currServerData.refs.cols;this.settings.numCharts=this.currServerData.charts?this.currServerData.charts.length:0;if(!t.term2&&this.settings.unit=="pct"){this.settings.unit="abs"}}mayResetHidden(t,e,s){const i=(t&&t.term.id)+";;"+(e&&e.term.id)+";;"+(s&&s.term.id);if(i===this.currCombinedTermIds)return;for(const s of this.currServerData.charts){if(t.q&&t.q.hiddenValues){this.mayEditHiddenValues(t,s.serieses.length,"term")}if(e&&e.q&&e.q.hiddenValues){for(const t of s.serieses){this.mayEditHiddenValues(e,t.data.length,"term2")}}}this.currCombinedTermIds=i}mayEditHiddenValues(t,e,s){const i=Object.keys(t.q.hiddenValues).filter((e=>t.q.hiddenValues[e])).length;if(i<e)return;for(const e in t.q.hiddenValues){if(!t.q.hiddenValues[e])return;delete t.q.hiddenValues[e]}this.app.save({type:"plot_edit",id:this.id,config:{[s]:t}})}setExclude(t,e){this.settings.exclude.cols=Object.keys(t.q?.hiddenValues||{}).filter((e=>t.q.hiddenValues[e])).map((e=>t.term.type=="categorical"?e:this.settings.cols?.includes(e)?e:t.term.values[e]?.label?t.term.values[e].label:e));this.settings.exclude.rows=!e?.q?.hiddenValues?[]:Object.keys(e.q.hiddenValues).filter((t=>e.q.hiddenValues[t])).map((t=>e.term.type=="categorical"?t:this.settings.rows?.includes(t)?t:e.term.values[t]?.label?e.term.values[t].label:t))}processData(t){this.seriesOrder=this.setMaxVisibleTotals(t);if(!t.charts.length){this.seriesOrder=[]}else if(t.refs.useColOrder){this.seriesOrder=this.settings.cols}const e=t.refs.rows;this.barSorter=(t,e)=>this.seriesOrder.indexOf(t)-this.seriesOrder.indexOf(e);this.overlaySorter=t.refs.useRowOrder?(t,s)=>e.indexOf(t.dataId)-e.indexOf(s.dataId):(t,e)=>this.totalsByDataId[e.dataId]>this.totalsByDataId[t.dataId]?1:this.totalsByDataId[e.dataId]<this.totalsByDataId[t.dataId]?-1:t.dataId<e.dataId?-1:1;this.visibleCharts=t.charts.filter((t=>t.visibleSerieses.length));const s=this.config.term;const i=this.config.term2;const r=t.tests;for(const t in r){const e=r[t];for(const t of e){const e=s.term.values&&t.term1comparison in s.term.values?s.term.values[t.term1comparison].label:t.term1comparison;t.term1Label=e;for(const e of t.term2tests){const t=i.term.values&&e.term2id in i.term.values?i.term.values[e.term2id].label:e.term2id;e.term2Label=t}}}return t}setMaxVisibleTotals(t){this.totalsByDataId={};const e=this.config.term;const s=this.config.term2;const i={};let r=0;for(const a of t.charts){if(!a.settings)a.settings=JSON.parse(l);Object.assign(a.settings,this.settings);a.visibleTotal=0;const t=this.settings.dedup?a.dedupedSerieses:a.serieses;a.visibleSerieses=t.filter((t=>{if(a.settings.exclude.cols.includes(t.seriesId))return false;t.visibleData=t.data.filter((t=>!a.settings.exclude.rows.includes(t.dataId)));t.visibleTotal=t.visibleData.reduce(((t,e)=>t+e.total),0);if(!t.visibleTotal)return false;a.visibleTotal+=t.visibleTotal;if(!(t.seriesId in i))i[t.seriesId]=t.visibleTotal;for(const i of t.data){i.seriesId=t.seriesId;if(e.term.type=="geneVariant"&&e.q.type=="values"||s?.term.type=="geneVariant"&&s?.q.type=="values"){if(!(i.dataId in this.totalsByDataId)){this.totalsByDataId[i.dataId]={}}this.totalsByDataId[i.dataId][a.chartId]=this.totalsByDataId[i.dataId][a.chartId]?this.totalsByDataId[i.dataId][a.chartId]+i.total:0+i.total}else{if(!(i.dataId in this.totalsByDataId)){this.totalsByDataId[i.dataId]=0}this.totalsByDataId[i.dataId]+=i.total}}return true}));a.settings.colLabels=a.visibleSerieses.map((t=>{const i=t.seriesId;const r=e.term.values&&i in e.term.values?e.term.values[i].label:i;const a=t&&"AF"in t?", AF="+t.AF:"";const o=s&&s.term.type=="condition"&&s.q.value_by_computable_grade?"":`, n=${t.visibleTotal}`;return{id:i,label:r+a+o}}));a.maxVisibleSeriesTotal=a.visibleSerieses.reduce(((t,e)=>e.visibleTotal>t?e.visibleTotal:t),0);if(a.maxVisibleSeriesTotal>r){r=a.maxVisibleSeriesTotal}}for(const e of t.charts){e.maxVisibleAcrossCharts=r}return Object.keys(i).sort(((t,e)=>i[e]-i[t]))}sortStacking(t,e,s){this.term1toColor[t.seriesId]=this.settings.colorBars?this.getColor(this.config.term.term,t.seriesId,this.bins?.[1]):this.settings.defaultColor;t.visibleData.sort(this.overlaySorter);let i=0;for(const r of t.visibleData){r.colgrp="-";r.rowgrp="-";r.chartId=e.chartId;r.seriesId=t.seriesId;if(s.tests){r.groupPvalues=s.tests[e.chartId].find((e=>e.term1comparison===t.seriesId))}r.seriesTotal=t.total;r.chartTotal=e.visibleTotal;r.logTotal=Math.log10(r.total);i+=r.logTotal;this.setTerm2Color(r);r.color=this.term2toColor[r.dataId]||this.term1toColor[t.seriesId]}if(i>e.maxSeriesLogTotal){e.maxSeriesLogTotal=i}for(const e of t.data){if(e.color)continue;this.setTerm2Color(e);e.color=this.term2toColor[e.dataId]||this.term1toColor[t.seriesId]}}setTerm2Color(t){if(!this.config.term2)return;this.term2toColor[t.dataId]=this.getColor(this.config.term2,t.dataId,this.bins?.[2])}getColor(t,e,s){if(!t.term)return;if(t.term.values){for(const[s,i]of Object.entries(t.term.values)){if(!i.color)continue;if(s===e)return i.color;if(i.label===e)return i.color}}const i=s?.find((t=>t.label==e));if(i?.color)return i.color;if(t.term.type=="geneVariant"&&t.q.type=="values")return this.getMutationColor(e);return r(this.colorScale(e)).toString()}getMutationColor(t){for(const e of Object.values(a))if(e.label===t&&e.color)return e.color;for(const e in a){if(a[e].label===t&&a[e].color)return a[e].color}}getLegendGrps(){const t=this.config.term;const e=this.config.term2;if(t.term.type=="geneVariant"&&t.q.type=="values"||e?.term.type=="geneVariant"&&e?.q.type=="values"){const t=[];for(const e of this.chartsData.charts){t.push(this.getOneLegendGrps(e))}return t}return this.getOneLegendGrps()}getOneLegendGrps(t){const e=[];const s=this.settings;const i=this.config.term;const r=this.config.term2;const a="color: #aaa; font-weight: 400";if(i.q.descrStats){const t=i.q.descrStats.map((t=>({text:`${t.label}: ${t.value}`,noIcon:true})));const s=r?`Descriptive statistics: ${i.term.name}`:"Descriptive statistics";const o=`<span style="${a}">${s}</span>`;e.push({name:o,items:t})}if(r?.q.descrStats){const t=r.q.descrStats.map((t=>({text:`${t.label}: ${t.value}`,noIcon:true})));const s=`Descriptive statistics: ${r.term.name}`;const i=`<span style="${a}">${s}</span>`;e.push({name:i,items:t})}if(s.cols&&s.exclude.cols.length){const o=(t,e)=>t+e.total;const n=s.exclude.cols.filter((t=>s.cols.includes(t))).flatMap((e=>{const s=t=>t.seriesId==e;const a=r?.term?.type=="condition"?0:i.term.type=="geneVariant"&&i.q.type=="values"||r?.term.type=="geneVariant"&&r?.q.type=="values"?t.serieses.filter(s).reduce(o,0):this.currServerData.charts.reduce(((t,e)=>t+e.serieses.filter(s).reduce(o,0)),0);if(!a&&!r?.term?.type)return[];const n=i.term.values&&e in i.term.values?i.term.values[e].label:e;const l=a?", n="+a:"";return[{id:e,text:n+l,color:"#fff",textColor:"#000",border:"1px solid #333",noIcon:true,type:"col",isHidden:true,hiddenOpacity:1}]})).sort(this.barSorter);if(n.length){const t=r?i.term.name:"Other categories";e.push({name:`<span style="${a}">${t}</span>`,items:n})}}if(s.rows&&!s.hidelegend&&r&&this.term2toColor){const i=r.term.type!="condition"||!r.q?"":r.q.value_by_max_grade?"max. grade":r.q.value_by_most_recent?"most recent":"";e.push({name:`<span style="${a}">`+r.term.name+(i?", "+i:"")+"</span>",items:s.rows.flatMap((e=>{const i=t?this.totalsByDataId[e]?.[t.chartId]:this.totalsByDataId[e];if(!i)return[];const a=i?", n="+i:"";const o=r.term.values&&e in r.term.values?r.term.values[e].label:e;return[{dataId:e,text:o+a,color:this.term2toColor[e],type:"row",isHidden:s.exclude.rows.includes(e)}]})).sort(this.overlaySorter)})}if(r&&this.state.multipleTestingCorrection){let t=0;for(const e in this.chartsData.tests){t+=this.chartsData.tests[e].reduce(((t,e)=>t+e.term2tests.filter((t=>!t.skipped)).length),0)}e.push({name:`<span style="${a}">Statistical Significance</span>`,items:[{text:`* p-value < (0.05 / ${t} tests)`,noEditColor:true}]})}return e}toggleLoadingDiv(t=""){if(t!="none"){this.dom.loadingDiv.style("opacity",0).style("display",t).transition().duration("loadingWait"in this?this.loadingWait:0).style("opacity",1)}else{this.dom.loadingDiv.style("display",t)}this.loadingWait=1e3}}const y=t(b);const v=y;function x(t){t.render=function(){const e=t.dom.barDiv.selectAll(".pp-sbar-div").data(t.visibleCharts,(t=>t.chartId));e.exit().each(t.exitChart);e.each(t.updateChart);e.enter().append("div").each(t.addChart);t.dom.holder.selectAll(".pp-chart-title").style("display",t.visibleCharts.length<2?"none":"block");const s=t.getLegendGrps();t.legendRenderer(s);if(!t.visibleCharts.length){const e=t.settings.exclude.cols.length||t.settings.exclude.rows.length?`<br/><span>click on a legend label below to display the barchart</span>`:"";t.dom.banner.html(`<span>No visible barchart data to render</span>${e}`).style("display","block");t.dom.legendDiv.selectAll("*").remove()}else{t.dom.banner.text("").style("display","none")}};t.exitChart=function(e){delete t.renderers[e.chartId];o(this).remove()};t.updateChart=function(s){s.settings.cols.sort(t.barSorter);s.maxAcrossCharts=t.chartsData.maxAcrossCharts;s.handlers=t.handlers;s.maxSeriesLogTotal=0;s.visibleSerieses.forEach((e=>t.sortStacking(e,s,t.chartsData)));t.renderers[s.chartId](s);const i=o(this);i.select(".pp-sbar-div-chartLengends").selectAll("*").remove();if(t.chartsData.tests&&t.chartsData.tests[s.chartId]){e(s,i)}};t.addChart=function(s,i){const r=o(this).attr("class","pp-sbar-div").style("display","inline-block").style("padding","20px").style("vertical-align","top");t.renderers[s.chartId]=c(t,o(this));s.settings.cols.sort(t.barSorter);s.maxAcrossCharts=t.chartsData.maxAcrossCharts;s.handlers=t.handlers;s.maxSeriesLogTotal=0;s.visibleSerieses.forEach((e=>t.sortStacking(e,s,t.chartsData)));t.renderers[s.chartId](s);r.append("div").attr("class","pp-sbar-div-chartLengends").attr("data-testid","sjpcb-bars-chartLengends").style("vertical-align","top").style("margin","10px 10px 10px 30px").style("display","none");if(t.chartsData.tests&&t.chartsData.tests[s.chartId]){e(s,r)}};function e(e,i){const r=i.select(".pp-sbar-div-chartLengends").style("display","inline-block").style("vertical-align","top").style("text-align","center").append("div");t.chartsData.tests[e.chartId].sort((function(e,s){return t.settings.cols.indexOf(e.term1comparison)-t.settings.cols.indexOf(s.term1comparison)}));for(const s of t.chartsData.tests[e.chartId]){s.term2tests.sort((function(e,s){return t.chartsData.refs.rows.indexOf(e.term2id)-t.chartsData.refs.rows.indexOf(s.term2id)}))}const a=[{label:"Row 1"},{label:"Row 2"},{label:"Column 1"},{label:"Column 2"},{label:"P-value"}];const o=t.chartsData.tests[e.chartId].every((t=>t.term2tests.every((t=>!t.skipped))));const n=[];const l=t.chartsData.tests[e.chartId].filter((t=>e.visibleSerieses.some((e=>e.seriesId===t.term1comparison))));for(const[t,i]of l.entries()){if(l.length==2&&t==1){break}const r=e.visibleSerieses.find((t=>t.seriesId===i.term1comparison));const a=i.term2tests.filter((t=>r.visibleData.some((e=>e.dataId===t.term2id))));for(const[t,e]of a.entries()){if(a.length==2&&t==1){break}n.push([{value:`${i.term1Label}`},{value:l.length==2?l[1].term1Label:s(i.term1Label)},{value:e.term2Label},{value:a.length==2?a[1].term2Label:s(e.term2Label)},{html:e.skipped?"N/A":e.pvalue>1e-4?Number(e.pvalue.toFixed(4)):Number(e.pvalue.toPrecision(4)).toExponential()}])}}r.append("div").style("font-weight","bold").style("padding-bottom","0.5em").html("2x2 Association test (Fisher's exact test)").style("font-size","0.9em");const c=r.append("div").style("font-size","0.9em");f({columns:a,rows:n,div:c,showLines:false,maxWidth:"70vw",maxHeight:`${e.svgh-100}px`,resize:true});c.append("div").style("margin-top","10px").style("text-align","left").style("font-size","10px").style("font-weight","normal").html(o?"":"N/A: association test skipped because of limited sample size <br>")}function s(t){if(t.toUpperCase().startsWith("NOT ")){return t.substring(4)}else{return"not "+t}}}function D(t){t.handlers=p(t);t.download=function(){if(!t.state)return;const e=[];const s={x:undefined,y:undefined};const i=[];let r=0,a=0,l=0;let c=0,d=0;t.dom.barDiv.selectAll(".sjpcb-bars-mainG").each((function(){e.push(this);const t=this.getBBox();if(t.width>r)r=t.width;if(t.height>a)a=t.height;const n=Math.round(this.parentNode.parentNode.getBoundingClientRect().y);if(!d){c=n;d++}else if(Math.abs(n-c)<5){d++}const h=o(this).attr("transform").split("translate(")[1].split(")")[0].split(",").map((t=>+t.trim()));if(s.x===undefined||h[0]>s.x)s.x=+h[0];if(s.y===undefined||h[1]>s.y)s.y=+h[1];const p=this.parentNode.parentNode.firstChild;const m=p.getBoundingClientRect();if(m.width>r)r=m.width;if(m.height>l)l=m.height;i.push({text:p.innerText,styles:window.getComputedStyle(p)})}));r+=30;a+=30;const p=document.createElementNS("http://www.w3.org/2000/svg","svg");const m=o(p).style("display","block").style("opacity",1).attr("width",d*r).attr("height",Math.floor(e.length/d)*a);const f=window.getComputedStyle(document.querySelector(".pp-bars-svg"));for(const t of f){if(t.startsWith("font"))m.style(t,f.getPropertyValue(t))}e.forEach(((t,e)=>{const n=t.cloneNode(true);const c=e%d;const h=Math.floor(e/d);const m={x:c*r+s.x,y:h*a+s.y};const f=o(p).append("text").attr("transform","translate("+m.x+","+m.y+")").text(i[e].text);for(const t of i[e].styles){if(t.startsWith("font"))f.style(t,i[e].styles.getPropertyValue(t))}o(n).attr("transform","translate("+m.x+","+(m.y+l)+")");p.appendChild(n)}));const g=o("body").append("div").style("opacity",0);g.node().appendChild(p);t.svgLegendRenderer=h({holder:m.append("g"),rectFillFxn:t=>t.color,iconStroke:"#aaa"});t.settings;const u=t.dom.barDiv.select("svg").node().getBoundingClientRect();let b=t.getLegendGrps();b.forEach((t=>{t.name=t.name.replace(/<[^>]*>?/gm,"");if(t.items)t.items=t.items.filter((t=>!t.isHidden))}));b=b.filter((t=>t.items.length&&!t.name.includes("tatistic")));const y=14;t.svgLegendRenderer(b,{settings:Object.assign({ontop:false,lineh:25,padx:5,padleft:0,padright:20,padbtm:30,fontsize:y,iconh:y-2,iconw:y-2,hangleft:1,linesep:false},{svgw:t.visibleCharts.length*u.width,svgh:u.height,dimensions:{xOffset:50},padleft:50})});const v=t.dom.legendDiv.node().getBoundingClientRect();o(p).attr("height",u.height+v.height+30);if(v.width>u.width)o(p).attr("width",v.width);g.remove();const x=t.config.term.term.name+" barchart";n(p,x,{apply_dom_styles:true})}}function C(t){return{orientation:"horizontal",unit:"abs",overlay:"none",divideBy:"none",rowlabelw:250,asterisksVisible:t?.getState()?.termdbConfig?.multipleTestingCorrection?true:false,defaultColor:e,colorBars:false,dedup:false}}async function w(t,e){if(!t.term)throw"barchart getPlotConfig: opts.term{} missing";try{await g(t.term,e.vocabApi);if(t.term2)await g(t.term2,e.vocabApi);if(t.term0)await g(t.term0,e.vocabApi)}catch(t){throw`${t} [barchart getPlotConfig()]`}const i={id:t.term.term.id,settings:{controls:{term2:null,term0:null},common:{use_logscale:false,use_percentage:false,barheight:300,barwidth:20,barspace:2},barchart:C(e)}};return s(i,t)}export{y as barInit,v as componentInit,C as getDefaultBarSettings,w as getPlotConfig};
@@ -1 +0,0 @@
1
- import{M as t,r as e,Z as a}from"./app-a8c4854a.js";import{r as i}from"./table-79e3e776.js";import"./roundValue-b0d0517c.js";import{d as s,c as n,a as r,g as l}from"./FilterRxComp-242f4615.js";import"./tslib.es6-1f85f553.js";import"path";import"./termdb.bins-9faa5170.js";function o(a){const i=new t({padding:"5px"});a.dom.tip=i;const s=a.settings;function n(t){const e=t.target.__data__;if(e===undefined)return;e.type=="col"?"term":"term2";const i=a.config.term;a.app.dispatch({type:"plot_edit",id:a.id,config:{term:{isAtomic:true,term:i.term,q:u(e,i,true)}}})}return{chart:{title(t){if(!a.config.term0)return t.chartId;return a.config.term0.term.values&&t.chartId in a.config.term0.term.values?a.config.term0.term.values[t.chartId].label:t.chartId}},svg:{mouseout:()=>{i.hide()}},series:{mouseover(t,e){t.stopPropagation();const s=a.config.term.term;const n=a.config.term2&&a.config.term2.term;s.unit;const r=(s.values&&e.seriesId in s.values?s.values[e.seriesId].label:e.seriesId)+(s.unit?" "+s.unit:"");const l=(n&&n.values&&e.dataId in n.values?n.values[e.dataId].label:e.dataId)+(n&&n.unit?" "+n.unit:"");const o=!n?"":"<div style='display:inline-block; width:14px; height:14px; margin: 2px 3px; vertical-align:top; background:"+e.color+"'>&nbsp;</div>";const d=[`<tr><td colspan=2 style='padding:3px; text-align:center'>${r}</td></tr>`];if(n){d.push(`<tr><td colspan=2 style='padding:3px; text-align:center'>${o} <span>${l}</span></td></tr>`)}d.push(`<tr><td style='padding:3px; color:#aaa'>#Individuals</td><td style='padding:3px; text-align:center'>n=${e.total}</td></tr>`);if(n){const t=e.groupPvalues.term2tests.find((t=>t.term2id===e.dataId)).pvalue;const a=e.groupPvalues.term1Label;const i=e.groupPvalues.term2tests.find((t=>t.term2id===e.dataId)).term2Label;const s=e.groupPvalues.term2tests.find((t=>t.term2id===e.dataId)).tableValues;const n=e.groupPvalues.term2tests.find((t=>t.term2id===e.dataId)).skipped;d.push(`<tr>\n\t\t\t\t\t\t\t<td style='padding:3px; color:#aaa'>p-value</td>\n\t\t\t\t\t\t\t<td style='padding:3px; text-align:center'>${n?"N/A":t>1e-4?Number(t.toFixed(4)):Number(t.toPrecision(4)).toExponential()}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<table style="margin: 5px; text-align:left; font-size: 0.8em; border-spacing: 5px; border-collapse: separate;"\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td style='color:#aaa'></td>\n\t\t\t\t\t\t\t\t<td style='color:#aaa'>${i}</td>\n\t\t\t\t\t\t\t\t<td style='color:#aaa'>not ${i}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td style='color:#aaa'>${a}</td>\n\t\t\t\t\t\t\t\t<td>${s.R1C1}</td>\n\t\t\t\t\t\t\t\t<td>${s.R1C2}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td style='color:#aaa'>not ${a}</td>\n\t\t\t\t\t\t\t\t<td>${s.R2C1}</td>\n\t\t\t\t\t\t\t\t<td>${s.R2C2}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table>`)}if(!s.type=="condition"&&(!n||!n.type=="condition")){d.push(`<tr><td style='padding:3px; color:#aaa'>Percentage</td><td style='padding:3px; text-align:center'>${(100*e.total/(n?e.seriesTotal:e.chartTotal)).toFixed(1)}%</td></tr>`)}i.show(t.clientX,t.clientY).d.html(`<table class='sja_simpletable'>${d.join("\n")}</table>`)},mouseout:()=>{i.hide()},rectFill(t){return t.color},strokeFill(t){const a=e(t.color);const i=a.toString()==e("white").toString()?a.darker():a;return i},click:a.opts.bar_click_override?(t,e)=>a.opts.bar_click_override(v(e,a)):(t,e)=>m(t,a,e)},colLabel:{text:t=>"label"in t?t.label:a.config.term.values&&"id"in t&&t.id in a.config.term.values?a.config.term.values[t.id].label:t,click:n,mouseover:t=>{t.stopPropagation();i.show(t.clientX,t.clientY).d.html("Click to hide bar")},mouseout:()=>{i.hide()}},rowLabel:{text:t=>t.label?t.label:a.config.term.values&&"id"in t&&t.id in a.config.term.values?a.config.term.values[t.id].label:t,click:n,mouseover:t=>{t.stopPropagation();i.show(t.clientX,t.clientY).d.html("Click to hide bar")},mouseout:()=>{i.hide()}},legend:{onColorClick:t=>c(t.target,a),click:t=>c(t.target,a),mouseover:t=>{t.stopPropagation();const e=t.target.__data__;if(e===undefined)return;if(e.isHidden)i.show(t.clientX,t.clientY).d.html("Click to unhide bar")},mouseout:()=>{i.hide()}},yAxis:{text:t=>{const e=a.config.term;if(s.orientation=="vertical"){return s.unit=="pct"?"% of samples":"# of samples "+(e.q.bar_by_children||e.q.value_by_most_recent||e.q.value_by_computable_grade?"":`(n=${t})`)}else{return e.q.bar_by_children?"Sub-condition":e.q.value_by_max_grade?"Maximum grade":e.q.value_by_most_recent?"Most recent grade":e.q.value_by_computable_grade?"Any grade":e.type=="categorical"||!e.unit?"":e.unit}}},xAxis:{text:t=>{const e=a.config.term;if(s.orientation=="vertical"){return e.q.bar_by_children?"Sub-condition":e.q.value_by_max_grade?"Maximum grade":e.q.value_by_most_recent?"Most recent grade":e.q.value_by_computable_grade?"Any grade":e.type=="categorical"||!e.unit?"":e.unit}else{return s.unit=="pct"?"% of samples":"# of samples "+(e.q.bar_by_children||e.q.value_by_most_recent||e.q.value_by_computable_grade?"":`(n=${t})`)}}}}}function d(t,e,a){const i=t.type=="col"?"term":"term2";const s=e.config[i];let n=t.dataId;if(s.term.values&&!s.term.values?.[n])for(const[e,a]of Object.entries(s.term.values))if(a.label==t.dataId)n=e;if(s.term.values?.[n])s.term.values[n].color=a;if(s.term.type=="geneVariant"){if(!s.term.values)s.term.values={};s.term.values[t.dataId]={label:t.dataId,color:a}}let r=null;if(e.bins[2].length>0){r=e.bins[2].find((e=>e.label==t.dataId));r.color=a}e.app.dispatch({type:"plot_edit",id:e.id,config:{[i]:{isAtomic:true,term:s.term,q:u(t,s,t.isHidden,r)}}})}function c(t,a){const i=t.__data__;if(i===undefined)return;if(!("type"in i))return;const s=i.type=="col"?"term":"term2";const n=a.config[s];const r="isHidden"in i?!i.isHidden:!(n.q&&n.q.hiddenValues&&n.q.hiddenValues["dataId"in i?i.dataId:i.id]);const l=a.app.tip;const o=l.clear();o.showunder(t);const c=o.d.append("div");c.append("div").attr("class","sja_menuoption sja_sharp_border").text(!r?"Show":"Hide").on("click",(()=>{o.hide();p(i,a,r)}));if(n.q.hiddenValues&&Object.keys(n.q.hiddenValues).length>1)c.append("div").attr("class","sja_menuoption sja_sharp_border").text("Show all").on("click",(()=>{o.hide();const t=structuredClone(n);delete t.q.hiddenValues;a.app.dispatch({type:"plot_edit",id:a.id,config:{[s]:t}})}));const u=e(i.color).formatHex();if(u!="#ffffff"){const t=c.append("div").attr("class","sja_sharp_border").style("padding","0px 10px").text("Color:").append("input").attr("type","color").attr("value",u).on("change",(()=>{d(i,a,t.node().value);o.hide()}))}}function p(t,e,a){const i=t.type=="col"?"term":"term2";const s=e.config[i];e.app.dispatch({type:"plot_edit",id:e.id,config:{[i]:{isAtomic:true,term:s.term,q:u(t,s,a)}}})}function u(t,e,a=false,i=null){const s="id"in t?t.id:t.type=="col"?t.seriesId:t.dataId;const n=e.term.values&&Object.keys(e.term.values).find((t=>e.term.values[t].label===s));const r=!n?s:n;const l=JSON.parse(JSON.stringify(e.q));if(!l.hiddenValues)l.hiddenValues={};if(a)l.hiddenValues[r]=1;else delete l.hiddenValues[r];if(i)l.binColored=i;return l}function m(t,e,a){const i=t.target.__data__||t.target.parentNode.__data__;const n=e.config.term.term;const r=e.config.term2?e.config.term2.term:null;const l=n.values?Object.values(n.values).map((t=>t.label)):[];const o=r&&r.values?Object.values(r.values).map((t=>t.label)):[];const d=n.unit&&!l.includes(i.seriesId||i.id)?" "+n.unit:"";const c=r&&r.unit&&!o.includes(i.dataId||i.id)?" "+r.unit:"";const p=(n.values&&i.seriesId in n.values?n.values[i.seriesId].label:i.seriesId?i.seriesId:i.id)+d;const m=(r&&r.values&&i.dataId in r.values?r.values[i.dataId].label:i.dataId?i.dataId:i.id)+c;const b=!r?"":"<div style='display:inline-block; width:14px; height:14px; margin: 2px 3px; vertical-align:top; background:"+i.color+"'>&nbsp;</div>";const h=`<div style='padding:2px'><b>${n.name}</b>: ${p}</div>`+(i.seriesId&&r?`<div style='padding:2px'><b>${r.name}</b>: ${m} ${b}</div>`:"");const y=i.seriesId||i.seriesId===0?i:{seriesId:i.id,dataId:i.dataId};const I=[];if(e.opts.bar_click_opts.includes("hide_bar")){I.push({label:i.seriesId?'Hide "'+p+'"':"Hide",callback:()=>{const t=e.config.term;e.app.dispatch({type:"plot_edit",id:e.id,config:{term:{isAtomic:true,term:t.term,q:u({id:i.seriesId,type:"col"},t,true)}}})}});if(i.dataId||i.dataId===0){I.push({label:'Hide "'+m+'" '+b,callback:()=>{const t=e.config.term2;e.app.dispatch({isAtomic:true,type:"plot_edit",id:e.id,config:{term2:{isAtomic:true,term:t.term,q:u({id:i.dataId,type:"row"},t,true)}}})}})}}if(e.opts.bar_click_opts.includes("add_filter")&&(!r||!r.isgenotype)){const t=s(e.state.termfilter.filter,e.config.term.term.id);if(!t){I.push({label:"Add as filter",callback:g})}}if(e.config.displaySampleIds){I.push({label:"List samples",callback:async()=>await f(t,e,i.seriesId,i.dataId,a.chartId)})}if(e.opts.bar_click_opts.includes("select_to_gp")){I.push({label:"Select to GenomePaint",callback:_})}if(!I.length)return;e.app.tip.clear();if(h){e.app.tip.d.append("div").html(h)}const x=v(y,e);e.app.tip.d.append("div").selectAll("div").data(I).enter().append("div").attr("class","sja_menuoption").html((t=>t.label)).on("click",(async(t,a)=>{e.app.tip.hide();await a.callback(e,x)}));e.app.tip.show(t.clientX,t.clientY)}async function f(e,a,s,r,l){const o={type:"tvslst",in:true,join:"and",lst:[b(1,s)]};const d=[a.config.term];if(a.config.term2){d.push(a.config.term2);o.lst.push(b(2,r))}if(a.config.term0){d.push(a.config.term0);o.lst.push(b(0,l))}const c={terms:d,filter:n([a.state.termfilter.filter,o])};const p=await a.app.vocabApi.getAnnotatedSampleData(c);const u=[];for(const t of p.lst){const e=p.refs.bySampleId[Number(t.sample)].label;u.push([{value:e}])}const m=[{label:"Sample"}];const f=new t({padding:"5px"});const g=f.d.append("div");i({rows:u,columns:m,div:g,showLines:true,maxWidth:"27vw",maxHeight:"40vh",resize:true});f.show(e.clientX,e.clientY,false);function b(t,e){const i=t==0?a.config.term0:t==1?a.config.term:a.config.term2;const s={type:"tvs",tvs:{term:i.term,values:[{key:e}]}};if(i.term.type=="integer"||i.term.type=="float"){const i=a.bins[t];s.tvs.ranges=[i.find((t=>t.label==e))]}return s}}function g(t,e){if(!e)return;if(!t.state.termfilter||t.state.nav?.header_mode!=="with_tabs"){return}const a=r(t.state.termfilter.filter,"filterUiRoot");const i=n([a,{type:"tvslst",in:true,join:e.length>1?"and":"",lst:[...e.map(b)]}]);i.tag="filterUiRoot";t.app.dispatch({type:"filter_replace",filter:i})}function b(t){return t.type==="tvs"?t:{type:"tvs",tvs:t}}function _(t,e){const i=[];for(const a of e){b(a);const e=s(t.state.termfilter.filter,a.tvs.term.id);if(!e)i.push(b(a))}import("./block-dcb130fb.js").then((function(t){return t.c})).then((async e=>{const s={genome:t.app.opts.genome,dslabel:t.state.dslabel};const n=a({x:100,y:100});const o=l(t.state.termfilter.filter);const d=r(o,d);if(d&&d!=o)delete d.tag;o.tag="filterUiRoot";if(i.length){o.join="and";o.lst.push(...i)}const c=r(o,"cohortFilter");if(c){c.renderAs="htmlSelect";c.selectOptionsFrom="selectCohort"}new e.Block({hostURL:sessionStorage.getItem("hostURL"),holder:n.body,genome:s.genome,nobox:true,chr:s.genome.defaultcoord.chr,start:s.genome.defaultcoord.start,stop:s.genome.defaultcoord.stop,nativetracks:[s.genome.tracks.find((t=>t.__isgene)).name.toLowerCase()],tklst:[{type:"mds2",dslabel:s.dslabel,vcf:{numerical_axis:{AFtest:{groups:[{is_termdb:true,filter:o},{is_population:true,key:"gnomAD",allowto_adjust_race:true,adjust_race:true}]}}}}]})}))}function v(t,e){const a=[];if(e.state.nav?.header_mode=="with_cohortHtmlSelect"){const t=r(e.state.termfilter.filter,"cohortFilter");if(t)a.push(JSON.parse(JSON.stringify(t)))}const i=e.config.term;const s=i.term.values&&Object.keys(i.term.values).filter((e=>i.term.values[e].label===t.seriesId))[0];const n=i.term.values&&s in i.term.values?s:t.seriesId;const l=e.config.term2;const o=l&&l.term.values&&Object.keys(l.term.values).filter((e=>l.term.values[e].label===t.dataId))[0];const d=l&&l.term.values&&o in l.term.values?o:t.dataId;for(const s of[i,l]){if(!s)continue;const r=s==i?1:2;const o=s==i?n:d;const c=s.q;const p=!s||!s.term.values?o:o in s.term.values?s.term.values[o].label:o;if(c.type=="predefined-groupset"||c.type=="custom-groupset"){const t=c.type=="predefined-groupset"?s.term.groupsetting.lst[c.predefined_groupset_idx]:c.customset;const e=t.groups.find((t=>t.name===o));const i={term:s.term,values:e.values,groupset_label:e.name};if(s.term.type=="condition"){i.bar_by_children=s.q.bar_by_children;i.bar_by_grade=s.q.bar_by_grade;i.value_by_most_recent=s.q.value_by_most_recent;i.value_by_max_grade=s.q.value_by_max_grade}a.push(i)}else if(s.term.type=="condition"){if(!l||i.term.id!=l.term.id){a.push(Object.assign({term:s.term,values:[{key:o,label:p}]},c))}if(s==i&&l&&s.term.id==l.term.id){const i=l.q;const n=l.term.values&&t.dataId in l.term.values?e.config.term2.values[t.dataId].label:t.dataId;a.push(Object.assign({term:s.term,grade_and_child:[{grade:i.bar_by_grade?t.dataId:o,grade_label:i.bar_by_grade?n:p,child_id:i.bar_by_children?t.dataId:o,child_label:i.bar_by_children?n:p}]},i))}}else{const t=e.currServerData.refs.bins[r];if(!t||!t.length){a.push({term:s.term,values:[{key:o,label:p}]})}else{const e=t.find((t=>t.label==p||t.name==p));if(e)a.push({term:s.term,ranges:[e]});else if(s==i){a.push({term:s.term,ranges:[{value:o}]})}else if(s==l){a.push({term:s.term,ranges:[{value:o}]})}else{throw"should not happen"}}}}return a.map((t=>b(t)))}export{o as default,p as hideCategory};