@sjcrh/proteinpaint-client 2.194.0 → 2.195.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 (911) hide show
  1. package/dist/2dmaf-GTD3AXGT.js +1373 -0
  2. package/dist/AIProjectAdmin-ALMSVHFX.js +958 -0
  3. package/dist/AppHeader-RK2YRITI.js +835 -0
  4. package/dist/BoxPlot-6ZXLPA5Q.js +1217 -0
  5. package/dist/CorrelationVolcano-PJB3QCXB.js +619 -0
  6. package/dist/DE-MEWV5RTV.js +95 -0
  7. package/dist/DEinput-I62VHD2U.js +301 -0
  8. package/dist/DEinput-I62VHD2U.js.map +7 -0
  9. package/dist/DifferentialAnalysis-7L3CDPVB.js +245 -0
  10. package/dist/Disco-FCS7B5DO.js +3297 -0
  11. package/dist/Disco.UI-BFJ5XFAT.js +249 -0
  12. package/dist/DmrPlot-362PCE7L.js +642 -0
  13. package/dist/GB-SX4JENAW.js +1353 -0
  14. package/dist/GeneExpInput-EHWHQTRV.js +367 -0
  15. package/dist/HicApp-UE4DCUKX.js +2250 -0
  16. package/dist/IDCViewer-EDF5XJ63.js +10455 -0
  17. package/dist/NumBinaryEditor-3TAAJNYY.js +271 -0
  18. package/dist/NumBinaryEditor.unit.spec-6776472M.js +286 -0
  19. package/dist/NumContEditor-WLFXTY4M.js +109 -0
  20. package/dist/NumContEditor.unit.spec-KG5SCOIQ.js +169 -0
  21. package/dist/NumCustomBinEditor-EKKNCLKI.js +38 -0
  22. package/dist/NumCustomBinEditor.unit.spec-LSLSKQDW.js +284 -0
  23. package/dist/NumDiscreteEditor-X2MLECNT.js +179 -0
  24. package/dist/NumDiscreteEditor.unit.spec-BZG7P4C7.js +202 -0
  25. package/dist/NumRegularBinEditor-CAGJ4ZWD.js +38 -0
  26. package/dist/NumRegularBinEditor.unit.spec-GJSJC4DK.js +227 -0
  27. package/dist/NumSplineEditor-ND3RC7R6.js +198 -0
  28. package/dist/NumSplineEditor.unit.spec-F67JQKPY.js +199 -0
  29. package/dist/NumericDensity-VW7NIZU7.js +38 -0
  30. package/dist/NumericDensity.unit.spec-YHIMU23C.js +221 -0
  31. package/dist/NumericHandler-HCU6B2XV.js +39 -0
  32. package/dist/NumericHandler.unit.spec-6GVWAUED.js +219 -0
  33. package/dist/ProteomeInput-SONQSTVD.js +396 -0
  34. package/dist/RunChart2-ZLBNG4JF.js +758 -0
  35. package/dist/SC-YDRE37LP.js +1127 -0
  36. package/dist/Volcano-27ZERHXI.js +1379 -0
  37. package/dist/WSIViewer-2P7ANPBV.js +48562 -0
  38. package/dist/WsiSamplesPlot-FM4B657P.js +165 -0
  39. package/dist/adSandbox-M6TBRE5W.js +38 -0
  40. package/dist/animatedBubbleChart-VYSSX52K.js +555 -0
  41. package/dist/app-BLJT7ZDG.js +49 -0
  42. package/dist/app-LSFSUJHF.js +37 -0
  43. package/dist/app.js +13 -13
  44. package/dist/bam-ZMHBTBB4.js +860 -0
  45. package/dist/barchart-EF75MNTN.js +47 -0
  46. package/dist/barchart.data-VWZB3R2Z.js +22 -0
  47. package/dist/barchart.events-AMYQOMBQ.js +47 -0
  48. package/dist/barchart.integration.spec-TCTQ5PKN.js +2196 -0
  49. package/dist/barchart.integration.spec-TCTQ5PKN.js.map +7 -0
  50. package/dist/barchart2-LOHN6NSE.js +314 -0
  51. package/dist/block-23BH5TZ3.js +6226 -0
  52. package/dist/block.init-3BF6L23D.js +38 -0
  53. package/dist/block.mds.expressionrank-DSHATA2M.js +359 -0
  54. package/dist/block.mds.geneboxplot-RXQUOE3Y.js +828 -0
  55. package/dist/block.mds.junction-PN776TCD.js +1545 -0
  56. package/dist/block.mds.svcnv-SOWUBH4K.js +6801 -0
  57. package/dist/block.svg-ZPYMFAGC.js +164 -0
  58. package/dist/block.tk.aicheck-E22ZJJFP.js +283 -0
  59. package/dist/block.tk.ase-S54Z5A4G.js +365 -0
  60. package/dist/block.tk.bam-YOELFYXU.js +1906 -0
  61. package/dist/block.tk.bedgraphdot-VFUWXPSL.js +384 -0
  62. package/dist/block.tk.bigwig.ui-2SJYUPR3.js +212 -0
  63. package/dist/block.tk.hicstraw-GZVE4HQG.js +823 -0
  64. package/dist/block.tk.junction-RRFX4CAT.js +2364 -0
  65. package/dist/block.tk.junction-RRFX4CAT.js.map +7 -0
  66. package/dist/block.tk.junction.textmatrixui-A726SAAL.js +199 -0
  67. package/dist/block.tk.ld-THUOBW72.js +99 -0
  68. package/dist/block.tk.menu-V3VGODVI.js +1029 -0
  69. package/dist/block.tk.pgv-CNUGIK5J.js +944 -0
  70. package/dist/brainImaging-4PF74IEK.js +423 -0
  71. package/dist/brainRegions-U5K3KEQF.js +221 -0
  72. package/dist/bubbleHeatmap-6NL4PUFY.js +383 -0
  73. package/dist/bubbleHeatmap-6NL4PUFY.js.map +7 -0
  74. package/dist/chunk-2FTXOPE2.js +368 -0
  75. package/dist/chunk-2MCUT32T.js +254 -0
  76. package/dist/chunk-2SZ2VLOG.js +1102 -0
  77. package/dist/chunk-2XBWB6P2.js +37 -0
  78. package/dist/chunk-34VSTY2U.js +234 -0
  79. package/dist/chunk-3DS4HIEH.js +1230 -0
  80. package/dist/chunk-42FSM477.js +272 -0
  81. package/dist/chunk-42FSM477.js.map +7 -0
  82. package/dist/chunk-44VQIATQ.js +6364 -0
  83. package/dist/chunk-5B5FZPZI.js +148 -0
  84. package/dist/chunk-5DSLFEAN.js +276 -0
  85. package/dist/chunk-5DSQOV7M.js +50 -0
  86. package/dist/chunk-7CZI6SE7.js +222 -0
  87. package/dist/chunk-7NABQ2JU.js +54 -0
  88. package/dist/chunk-7VMFUE64.js +117 -0
  89. package/dist/chunk-7WBS7ZUI.js +54 -0
  90. package/dist/chunk-7XSDY2FN.js +1220 -0
  91. package/dist/chunk-AK5Z4PLV.js +230 -0
  92. package/dist/chunk-B3XMNPZY.js +448 -0
  93. package/dist/chunk-B4VBTVVQ.js +815 -0
  94. package/dist/chunk-CHUE5Y7Y.js +194 -0
  95. package/dist/chunk-CNBLRB4P.js +170 -0
  96. package/dist/chunk-CPMOBFFR.js +190 -0
  97. package/dist/chunk-D3TU3RDU.js +299 -0
  98. package/dist/chunk-E2KY2IZS.js +446 -0
  99. package/dist/chunk-FBMDK2UA.js +514 -0
  100. package/dist/chunk-FSWSZZTG.js +102 -0
  101. package/dist/chunk-GPGCGFFS.js +399 -0
  102. package/dist/chunk-H5DR6OYM.js +217 -0
  103. package/dist/chunk-HVZQYGQN.js +98 -0
  104. package/dist/chunk-HYIDLSEL.js +833 -0
  105. package/dist/chunk-IDX6WU4U.js +14 -0
  106. package/dist/chunk-IPGYIEPM.js +263 -0
  107. package/dist/chunk-IPGYIEPM.js.map +7 -0
  108. package/dist/chunk-IQTEW3SK.js +119 -0
  109. package/dist/chunk-J7W2DGAL.js +226 -0
  110. package/dist/chunk-JVVOJREJ.js +55 -0
  111. package/dist/chunk-KIGAMN3Z.js +216 -0
  112. package/dist/chunk-LAQZX5PA.js +13624 -0
  113. package/dist/chunk-LRPQBMQE.js +2786 -0
  114. package/dist/chunk-LYULXXGR.js +20896 -0
  115. package/dist/chunk-LYULXXGR.js.map +7 -0
  116. package/dist/chunk-M7JGRSFA.js +5067 -0
  117. package/dist/chunk-MAACMLMN.js +142 -0
  118. package/dist/chunk-MNPTPENH.js +1825 -0
  119. package/dist/chunk-MU3ZC4RW.js +102 -0
  120. package/dist/chunk-N6ALTSJ2.js +176 -0
  121. package/dist/chunk-N7326KA3.js +1943 -0
  122. package/dist/chunk-O64WQLAV.js +2327 -0
  123. package/dist/chunk-OEOYTMMY.js +203 -0
  124. package/dist/chunk-P3QPMVML.js +736 -0
  125. package/dist/chunk-PJM6MUTT.js +1289 -0
  126. package/dist/chunk-QPAZPA3N.js +4269 -0
  127. package/dist/chunk-RG222M4S.js +272 -0
  128. package/dist/chunk-S46UPZFM.js +158 -0
  129. package/dist/chunk-S4L4JCMA.js +102 -0
  130. package/dist/chunk-S4L4JCMA.js.map +7 -0
  131. package/dist/chunk-TUMA63WX.js +11194 -0
  132. package/dist/chunk-TUMA63WX.js.map +7 -0
  133. package/dist/chunk-UAALI7MC.js +315 -0
  134. package/dist/chunk-UAALI7MC.js.map +7 -0
  135. package/dist/chunk-UDTNSJY2.js +34 -0
  136. package/dist/chunk-UFLSI6EW.js +2681 -0
  137. package/dist/chunk-UFLSI6EW.js.map +7 -0
  138. package/dist/chunk-UKABZJQ7.js +480 -0
  139. package/dist/chunk-UKABZJQ7.js.map +7 -0
  140. package/dist/chunk-UPNKFGTN.js +100 -0
  141. package/dist/chunk-UZKHBBWY.js +617 -0
  142. package/dist/chunk-VG6GVF6D.js +302 -0
  143. package/dist/chunk-VO4FCZOR.js +448 -0
  144. package/dist/chunk-VVDFRJVN.js +306 -0
  145. package/dist/chunk-VVDFRJVN.js.map +7 -0
  146. package/dist/chunk-VZBMCJBR.js +534 -0
  147. package/dist/chunk-WR4UATTO.js +182 -0
  148. package/dist/chunk-XNYATA6C.js +2833 -0
  149. package/dist/chunk-Y5FH3TEH.js +129 -0
  150. package/dist/chunk-YIFCXFWE.js +343 -0
  151. package/dist/chunk-YRXB3MKU.js +477 -0
  152. package/dist/chunk-Z7UVDJKK.js +1275 -0
  153. package/dist/chunk-ZDEMAKRA.js +386 -0
  154. package/dist/chunk-ZTJLENGZ.js +292 -0
  155. package/dist/chunk-ZTJLENGZ.js.map +7 -0
  156. package/dist/condition-6UUQ3AAI.js +332 -0
  157. package/dist/controls-N2NIGPHY.js +41 -0
  158. package/dist/controls.config-YYIMJHWN.js +39 -0
  159. package/dist/correlation-DYUMFMTU.js +102 -0
  160. package/dist/cuminc-EUXCL53V.js +1149 -0
  161. package/dist/cuminc.integration.spec-ZQFMIBF6.js +678 -0
  162. package/dist/customdata.inputui-U2VXVWJ3.js +289 -0
  163. package/dist/dataDownload-QK2VYWYW.js +330 -0
  164. package/dist/dataDownload.integration.spec-NG4ZASWC.js +193 -0
  165. package/dist/databrowser.ui-ALW4LSLA.js +433 -0
  166. package/dist/dictionary-F7BPXOBO.js +118 -0
  167. package/dist/dnaMethylation-XNRJIBAH.js +38 -0
  168. package/dist/dnaMethylation.integration.spec-F5ODQTVL.js +203 -0
  169. package/dist/dofetch-IYEI7WSH.js +51 -0
  170. package/dist/e2pca-BHB7UMS5.js +350 -0
  171. package/dist/ep-QRFUVFSK.js +1256 -0
  172. package/dist/expclust.gdc.spec-LMH7QAU4.js +307 -0
  173. package/dist/facet-34HXG7MO.js +521 -0
  174. package/dist/forms2-ZQUPKXE5.js +539 -0
  175. package/dist/gb-HWZ5KZXX.js +88 -0
  176. package/dist/geneExpClustering-KFMP553E.js +249 -0
  177. package/dist/geneExpression-E2GIRM6Z.js +313 -0
  178. package/dist/geneExpression-QODFRNS4.js +38 -0
  179. package/dist/geneExpression.unit.spec-HV44ABGV.js +102 -0
  180. package/dist/geneORA-MJ6MFW2K.js +278 -0
  181. package/dist/geneRanking-ODKGLJX2.js +553 -0
  182. package/dist/geneRanking-ODKGLJX2.js.map +7 -0
  183. package/dist/geneVariant-QT6E7YZN.js +39 -0
  184. package/dist/geneVariant-UYQ4XIOQ.js +41 -0
  185. package/dist/geneVariant.integration.spec-HQ5GJ7UM.js +198 -0
  186. package/dist/genefusion.ui-5KYGD7JL.js +309 -0
  187. package/dist/geneset-M6T24ZYZ.js +208 -0
  188. package/dist/genomeBrowser.spec-CVH4S5KZ.js +281 -0
  189. package/dist/grin2-GI2WNWJO.js +968 -0
  190. package/dist/grin2-QU2UCKKE.js +75 -0
  191. package/dist/gsea-EGWJAATJ.js +47 -0
  192. package/dist/hierCluster-4OJ7BHAB.js +59 -0
  193. package/dist/hierCluster-P4HGGVK7.js +63 -0
  194. package/dist/hierCluster.config-5DGS5EH4.js +40 -0
  195. package/dist/hierCluster.integration.spec-OL4FLSBS.js +488 -0
  196. package/dist/hierCluster.integration.spec-OL4FLSBS.js.map +7 -0
  197. package/dist/hierCluster.interactivity-VEHJHBKY.js +54 -0
  198. package/dist/hierCluster.renderers-OEVSBUBK.js +21 -0
  199. package/dist/imagePlot-MMJYC4DX.js +163 -0
  200. package/dist/importPlot-4HJ6VR4P.js +8 -0
  201. package/dist/isoformExpression-EISYQF2S.js +40 -0
  202. package/dist/isoformExpression.unit.spec-YKBWVL7C.js +208 -0
  203. package/dist/jspdf.es.min-NXISJ3W7.js +40 -0
  204. package/dist/launch.adhoc-U3KOGDIC.js +42 -0
  205. package/dist/leftlabel.sample-LVF5WLMZ.js +264 -0
  206. package/dist/lollipop-HX2WLD5J.js +171 -0
  207. package/dist/maf-MBX3S3LS.js +459 -0
  208. package/dist/maf-MBX3S3LS.js.map +7 -0
  209. package/dist/maftimeline-VN6SYUPQ.js +593 -0
  210. package/dist/matrix-6UASVMIW.js +58 -0
  211. package/dist/matrix-FYYLVW7O.js +63 -0
  212. package/dist/matrix.cells-3RUGV7XG.js +28 -0
  213. package/dist/matrix.config-ELBFN3JN.js +41 -0
  214. package/dist/matrix.data-MHFF47ZY.js +25 -0
  215. package/dist/matrix.groups-UJRFFG5J.js +27 -0
  216. package/dist/matrix.integration.spec-5DUNUOQ3.js +3072 -0
  217. package/dist/matrix.interactivity-2TZ3ON4H.js +42 -0
  218. package/dist/matrix.layout-IGUBUCB2.js +44 -0
  219. package/dist/matrix.legend-UBQF6LMD.js +22 -0
  220. package/dist/matrix.renderers-ON2EXXIS.js +38 -0
  221. package/dist/matrix.serieses-5XH7NO23.js +21 -0
  222. package/dist/matrix.sort-QSWTVRJT.js +27 -0
  223. package/dist/matrix.sort.unit.spec-7Y6D456I.js +472 -0
  224. package/dist/matrix.sorterUi.unit.spec-3XNGEZZ2.js +342 -0
  225. package/dist/mavb-J4AUXBHZ.js +732 -0
  226. package/dist/mds.fimo-I6OALZRX.js +518 -0
  227. package/dist/mds.samplescatterplot-XSWR37S5.js +1550 -0
  228. package/dist/mds.survivalplot-Q3TE4A5P.js +483 -0
  229. package/dist/numericDictTermCluster-N3GM6YVP.js +65 -0
  230. package/dist/numericDictTermCluster-N3GM6YVP.js.map +7 -0
  231. package/dist/oncomatrix-C4RDUA2C.js +295 -0
  232. package/dist/oncomatrix.spec-QVD3XUTH.js +448 -0
  233. package/dist/plot.2dvaf-MNONDWFA.js +377 -0
  234. package/dist/plot.app-3T275PW5.js +41 -0
  235. package/dist/plot.barplot-LOLIPHXG.js +102 -0
  236. package/dist/plot.boxplot-I6CAYXPV.js +152 -0
  237. package/dist/plot.brainImaging-Y76KB6IC.js +51 -0
  238. package/dist/plot.disco-N5ISUUNQ.js +102 -0
  239. package/dist/plot.dzi-Q6K542P6.js +33 -0
  240. package/dist/plot.ssgq-OGLNOY4Q.js +139 -0
  241. package/dist/plot.vaf2cov-NXQ5D3KA.js +259 -0
  242. package/dist/plot.wsi-YMDUOZ57.js +36 -0
  243. package/dist/polar2-AQ2W3SNH.js +231 -0
  244. package/dist/profileForms-TCPZPI22.js +446 -0
  245. package/dist/profilePlot-4RKKICKC.js +54 -0
  246. package/dist/proteinView-5VJ6E2XT.js +1568 -0
  247. package/dist/proteinView-5VJ6E2XT.js.map +7 -0
  248. package/dist/purify.es-PPNYMKMJ.js +1457 -0
  249. package/dist/purify.es-PPNYMKMJ.js.map +7 -0
  250. package/dist/qualitative-NCFIVW6S.js +43 -0
  251. package/dist/radar2-UJFFZE7T.js +326 -0
  252. package/dist/radarFacility2-ATQBCF3N.js +334 -0
  253. package/dist/regression-4RSS7447.js +56 -0
  254. package/dist/regression.inputs-5XGUGNWV.js +48 -0
  255. package/dist/regression.inputs.term-LSJAZWE4.js +48 -0
  256. package/dist/regression.inputs.values.table-GNIJZETG.js +45 -0
  257. package/dist/regression.integration.spec-MV652K47.js +784 -0
  258. package/dist/regression.results-M3YH6ZD3.js +40 -0
  259. package/dist/regression.spec-455WPZHP.js +708 -0
  260. package/dist/report-MH3V7SHZ.js +222 -0
  261. package/dist/sampleScatter.spec-OTIL3JDG.js +202 -0
  262. package/dist/sampleView-DHACOCEG.js +48 -0
  263. package/dist/samplelst-F3AXOE2D.js +111 -0
  264. package/dist/samplematrix-M6CKKVNE.js +2198 -0
  265. package/dist/sc-S5XA37JJ.js +86 -0
  266. package/dist/scatter-IRPFNDHW.js +851 -0
  267. package/dist/scatter.integration.spec-5FWVHMVJ.js +1206 -0
  268. package/dist/selectGenomeWithTklst-NIOUX6MV.js +134 -0
  269. package/dist/singleCellCellType-FTGLNH2J.js +38 -0
  270. package/dist/singleCellCellType.unit.spec-BJ5YZAXF.js +160 -0
  271. package/dist/singleCellGeneExpression-56EDDG5H.js +38 -0
  272. package/dist/singleCellGeneExpression.unit.spec-XSQRWAI3.js +153 -0
  273. package/dist/singleCellPlot-TH77EJZ4.js +54 -0
  274. package/dist/singlecell-3QZQZM32.js +86 -0
  275. package/dist/singlecell-7KJMBASC.js +1572 -0
  276. package/dist/snp-YXG5O4U4.js +38 -0
  277. package/dist/snp.unit.spec-O27J7OOK.js +176 -0
  278. package/dist/snplocus-CQZSC7P6.js +208 -0
  279. package/dist/spliceevent.a53ss.diagram-K5ZDPZE6.js +151 -0
  280. package/dist/spliceevent.exonskip.diagram-A2VZ3TTF.js +277 -0
  281. package/dist/spliceevent.noeventdiagram-DJDA6ENK.js +460 -0
  282. package/dist/ssGSEA-3FTGRUTC.js +38 -0
  283. package/dist/ssGSEA.unit.spec-GF35KBTX.js +88 -0
  284. package/dist/summarizeCnvGeneexp-6IDTNOYE.js +163 -0
  285. package/dist/summarizeGeneexpSurvival-OWLUX2HO.js +114 -0
  286. package/dist/summarizeGeneexpSurvival-OWLUX2HO.js.map +7 -0
  287. package/dist/summarizeMutationCnv-BMEN3XNV.js +164 -0
  288. package/dist/summarizeMutationDiagnosis-LW6K6373.js +40 -0
  289. package/dist/summarizeMutationSurvival-E7REF2VY.js +99 -0
  290. package/dist/summary-MKA7OJKE.js +49 -0
  291. package/dist/summary.integration.spec-IV6I6SNJ.js +414 -0
  292. package/dist/summaryInput-NET6SPM4.js +235 -0
  293. package/dist/sunburst-CO3MXFTJ.js +284 -0
  294. package/dist/survival-MIPCEBS3.js +46 -0
  295. package/dist/survival-QQXTCNDU.js +58 -0
  296. package/dist/survival.integration.spec-6FH4S3EH.js +915 -0
  297. package/dist/svg2pdf.es.min-P2F6SSVJ.js +3157 -0
  298. package/dist/svgraph-YF7BS7TN.js +1387 -0
  299. package/dist/svmr-J2JLQGEE.js +3842 -0
  300. package/dist/table-7YL7I4GH.js +200 -0
  301. package/dist/termCollection-LNEN72IV.js +38 -0
  302. package/dist/termCollection-SOLNYAZ4.js +179 -0
  303. package/dist/termCollection.unit.spec-LTX7UVYP.js +208 -0
  304. package/dist/tk-RZDP2YT5.js +46 -0
  305. package/dist/tp.ui-T6XXBHHD.js +1459 -0
  306. package/dist/tvs.dt-7APM37Y3.js +39 -0
  307. package/dist/tvs.dtcnv.categorical-YIPXQSIL.js +40 -0
  308. package/dist/tvs.dtcnv.continuous-ITNZE3SH.js +72 -0
  309. package/dist/tvs.dtfusion-2JIIPDTN.js +40 -0
  310. package/dist/tvs.dtsnvindel-HO2PUFN2.js +40 -0
  311. package/dist/tvs.dtsv-7KCWSUYO.js +40 -0
  312. package/dist/tvs.samplelst-KKWJQNLW.js +104 -0
  313. package/dist/tvs.termCollection-R2IGRG2U.js +159 -0
  314. package/dist/violin-OTPZQTGA.js +46 -0
  315. package/dist/violin.integration.spec-KESWDSBM.js +1425 -0
  316. package/dist/violin.interactivity-Q2WALZO3.js +38 -0
  317. package/dist/violin.renderer-WIRIV7QY.js +40 -0
  318. package/dist/vocabulary-XXDHHHPJ.js +41 -0
  319. package/package.json +3 -3
  320. package/dist/2dmaf-HS37GJYM.js +0 -1373
  321. package/dist/AIProjectAdmin-V5NVBBOA.js +0 -958
  322. package/dist/AppHeader-VIQ2VZPI.js +0 -835
  323. package/dist/BoxPlot-J7DPHT2N.js +0 -1217
  324. package/dist/CorrelationVolcano-ZHP7IPFD.js +0 -619
  325. package/dist/DE-VW4MQHYP.js +0 -95
  326. package/dist/DEinput-2EKXGUP3.js +0 -301
  327. package/dist/DEinput-2EKXGUP3.js.map +0 -7
  328. package/dist/DifferentialAnalysis-H7LZWEIL.js +0 -245
  329. package/dist/Disco-5AA67AO5.js +0 -3297
  330. package/dist/Disco.UI-K4RBVRJP.js +0 -249
  331. package/dist/DmrPlot-RVJUKBOB.js +0 -642
  332. package/dist/GB-TA5LQGX6.js +0 -1353
  333. package/dist/GeneExpInput-HHOIK6X7.js +0 -367
  334. package/dist/HicApp-YTQNK5DC.js +0 -2250
  335. package/dist/IDCViewer-T74AFWY3.js +0 -10455
  336. package/dist/NumBinaryEditor-ICZCNBRL.js +0 -271
  337. package/dist/NumBinaryEditor.unit.spec-WDJPDAVT.js +0 -286
  338. package/dist/NumContEditor-5KEM54CE.js +0 -109
  339. package/dist/NumContEditor.unit.spec-WG5QKOD3.js +0 -169
  340. package/dist/NumCustomBinEditor-MGHR7VQT.js +0 -38
  341. package/dist/NumCustomBinEditor.unit.spec-JWSHEIJJ.js +0 -284
  342. package/dist/NumDiscreteEditor-XT2GSGUR.js +0 -179
  343. package/dist/NumDiscreteEditor.unit.spec-DSCWGYBS.js +0 -202
  344. package/dist/NumRegularBinEditor-JMDBM5PU.js +0 -38
  345. package/dist/NumRegularBinEditor.unit.spec-BWRP6OO2.js +0 -227
  346. package/dist/NumSplineEditor-QJNRSORC.js +0 -198
  347. package/dist/NumSplineEditor.unit.spec-CXBTVND4.js +0 -199
  348. package/dist/NumericDensity-XQWCBSGT.js +0 -38
  349. package/dist/NumericDensity.unit.spec-7JS5R3AZ.js +0 -221
  350. package/dist/NumericHandler-QXXBEJC3.js +0 -39
  351. package/dist/NumericHandler.unit.spec-SRQJQVPP.js +0 -219
  352. package/dist/ProteomeInput-E4MJLAKF.js +0 -396
  353. package/dist/RunChart2-N6S7HBXV.js +0 -758
  354. package/dist/SC-RQ32A4YB.js +0 -1127
  355. package/dist/Volcano-OHJPYZQE.js +0 -1379
  356. package/dist/WSIViewer-SAKVU52Z.js +0 -48562
  357. package/dist/WsiSamplesPlot-QV5GFFCR.js +0 -165
  358. package/dist/adSandbox-IE7TOJUE.js +0 -38
  359. package/dist/animatedBubbleChart-ZNEDQND3.js +0 -555
  360. package/dist/app-7MRKEE2J.js +0 -49
  361. package/dist/app-QIBNB4AA.js +0 -37
  362. package/dist/bam-OBS5ULFF.js +0 -860
  363. package/dist/barchart-2RVEEMPK.js +0 -47
  364. package/dist/barchart.data-7OI5GZZ6.js +0 -22
  365. package/dist/barchart.events-AASSQL3J.js +0 -47
  366. package/dist/barchart.integration.spec-UU2ARJS5.js +0 -2010
  367. package/dist/barchart.integration.spec-UU2ARJS5.js.map +0 -7
  368. package/dist/barchart2-TUBYGLMC.js +0 -314
  369. package/dist/block-BYXWS7H7.js +0 -6226
  370. package/dist/block.init-QOAPDKCC.js +0 -38
  371. package/dist/block.mds.expressionrank-Q46AAYOA.js +0 -359
  372. package/dist/block.mds.geneboxplot-IC26RT7L.js +0 -828
  373. package/dist/block.mds.junction-RIUZIBFB.js +0 -1545
  374. package/dist/block.mds.svcnv-GUB2TTXQ.js +0 -6801
  375. package/dist/block.svg-I4NHMOEJ.js +0 -164
  376. package/dist/block.tk.aicheck-X57EGAOB.js +0 -283
  377. package/dist/block.tk.ase-JMBKBZAH.js +0 -365
  378. package/dist/block.tk.bam-6UAEWVVD.js +0 -1906
  379. package/dist/block.tk.bedgraphdot-7QSRLAJ7.js +0 -384
  380. package/dist/block.tk.bigwig.ui-SBD6S5SA.js +0 -212
  381. package/dist/block.tk.hicstraw-LIGPTMX7.js +0 -823
  382. package/dist/block.tk.junction-X6HFXKW7.js +0 -2364
  383. package/dist/block.tk.junction-X6HFXKW7.js.map +0 -7
  384. package/dist/block.tk.junction.textmatrixui-XJIUGHAX.js +0 -199
  385. package/dist/block.tk.ld-OZVW7LSL.js +0 -99
  386. package/dist/block.tk.menu-B2CEZAYR.js +0 -1029
  387. package/dist/block.tk.pgv-XAAQBQQE.js +0 -944
  388. package/dist/brainImaging-KFKM3XWD.js +0 -423
  389. package/dist/brainRegions-ZHKXILK7.js +0 -221
  390. package/dist/bubbleHeatmap-75N23URG.js +0 -383
  391. package/dist/bubbleHeatmap-75N23URG.js.map +0 -7
  392. package/dist/chunk-2IITC4V5.js +0 -617
  393. package/dist/chunk-2P3U6XTF.js +0 -2327
  394. package/dist/chunk-35UCHCOQ.js +0 -54
  395. package/dist/chunk-4E6HJ4ZW.js +0 -98
  396. package/dist/chunk-57LW6RUM.js +0 -129
  397. package/dist/chunk-5DHRDF2Y.js +0 -216
  398. package/dist/chunk-5POMWXDZ.js +0 -117
  399. package/dist/chunk-5X5LI5YM.js +0 -254
  400. package/dist/chunk-634MOGE3.js +0 -314
  401. package/dist/chunk-634MOGE3.js.map +0 -7
  402. package/dist/chunk-67QZRGIJ.js +0 -148
  403. package/dist/chunk-6G4YOMWW.js +0 -1825
  404. package/dist/chunk-6RKL2FLA.js +0 -14
  405. package/dist/chunk-6YJCBK4J.js +0 -2681
  406. package/dist/chunk-6YJCBK4J.js.map +0 -7
  407. package/dist/chunk-7K6LTROG.js +0 -190
  408. package/dist/chunk-ADAKSWID.js +0 -399
  409. package/dist/chunk-ANKGIHCM.js +0 -34
  410. package/dist/chunk-AUP7W7MK.js +0 -343
  411. package/dist/chunk-AXKUVSXP.js +0 -448
  412. package/dist/chunk-B4QM73WG.js +0 -222
  413. package/dist/chunk-BKPV67UA.js +0 -299
  414. package/dist/chunk-BMOB36XM.js +0 -226
  415. package/dist/chunk-C6YT5EM2.js +0 -217
  416. package/dist/chunk-CD3VY5WW.js +0 -1943
  417. package/dist/chunk-CDUNE45Q.js +0 -534
  418. package/dist/chunk-COYULNJF.js +0 -119
  419. package/dist/chunk-DNVSEW6P.js +0 -170
  420. package/dist/chunk-EC3SKPQT.js +0 -446
  421. package/dist/chunk-F47X3VUC.js +0 -95
  422. package/dist/chunk-F47X3VUC.js.map +0 -7
  423. package/dist/chunk-F5ONTCHE.js +0 -13624
  424. package/dist/chunk-G2DLWJCB.js +0 -37
  425. package/dist/chunk-I4G4FXLO.js +0 -302
  426. package/dist/chunk-INU357UG.js +0 -230
  427. package/dist/chunk-IVXCWCKS.js +0 -317
  428. package/dist/chunk-IVXCWCKS.js.map +0 -7
  429. package/dist/chunk-IZ3BPOTQ.js +0 -833
  430. package/dist/chunk-J5GTIQTL.js +0 -2833
  431. package/dist/chunk-JBI6P3UX.js +0 -55
  432. package/dist/chunk-JRDHTECQ.js +0 -234
  433. package/dist/chunk-JRZZ6GN3.js +0 -102
  434. package/dist/chunk-KM4JBR26.js +0 -815
  435. package/dist/chunk-KXRTPE65.js +0 -158
  436. package/dist/chunk-L5C3B7PS.js +0 -1220
  437. package/dist/chunk-LHNKTWFL.js +0 -5067
  438. package/dist/chunk-MCYVUHEZ.js +0 -1230
  439. package/dist/chunk-N6QEVQZV.js +0 -194
  440. package/dist/chunk-NLQQIVTC.js +0 -276
  441. package/dist/chunk-O4VKIC66.js +0 -1275
  442. package/dist/chunk-OWPBE2LB.js +0 -263
  443. package/dist/chunk-OWPBE2LB.js.map +0 -7
  444. package/dist/chunk-PWUERAAF.js +0 -182
  445. package/dist/chunk-QFSSC5VW.js +0 -176
  446. package/dist/chunk-QWOE5YTB.js +0 -11194
  447. package/dist/chunk-QWOE5YTB.js.map +0 -7
  448. package/dist/chunk-RHGAE6PY.js +0 -20888
  449. package/dist/chunk-RHGAE6PY.js.map +0 -7
  450. package/dist/chunk-T46LHXJW.js +0 -283
  451. package/dist/chunk-T46LHXJW.js.map +0 -7
  452. package/dist/chunk-T4CFXTIG.js +0 -100
  453. package/dist/chunk-T5UGVJCK.js +0 -102
  454. package/dist/chunk-TJCRAFKM.js +0 -448
  455. package/dist/chunk-TNF2LHJR.js +0 -142
  456. package/dist/chunk-U4IYNHVD.js +0 -6364
  457. package/dist/chunk-UAOPKEMR.js +0 -482
  458. package/dist/chunk-UAOPKEMR.js.map +0 -7
  459. package/dist/chunk-UFGV7554.js +0 -736
  460. package/dist/chunk-UV66X5JN.js +0 -291
  461. package/dist/chunk-UV66X5JN.js.map +0 -7
  462. package/dist/chunk-VC642GDC.js +0 -54
  463. package/dist/chunk-VDIVDU3T.js +0 -386
  464. package/dist/chunk-VNF7DC36.js +0 -1289
  465. package/dist/chunk-VOGPIAQL.js +0 -477
  466. package/dist/chunk-VZOTKHPM.js +0 -272
  467. package/dist/chunk-YAU2Z6EN.js +0 -4269
  468. package/dist/chunk-YNAPHPMG.js +0 -368
  469. package/dist/chunk-YP2LHXFC.js +0 -514
  470. package/dist/chunk-YWF7GHUW.js +0 -50
  471. package/dist/chunk-YYZQMJLW.js +0 -2786
  472. package/dist/chunk-ZBEJVZMY.js +0 -203
  473. package/dist/chunk-ZZLBK6P6.js +0 -1102
  474. package/dist/condition-MP65K762.js +0 -332
  475. package/dist/controls-HKHMEWC7.js +0 -41
  476. package/dist/controls.config-LUPIT34L.js +0 -39
  477. package/dist/correlation-5UTW6EEI.js +0 -102
  478. package/dist/cuminc-LLUR2FLL.js +0 -1149
  479. package/dist/cuminc.integration.spec-CH5UZTIM.js +0 -678
  480. package/dist/customdata.inputui-6IGE5HCZ.js +0 -289
  481. package/dist/dataDownload-MCE2OJGZ.js +0 -330
  482. package/dist/dataDownload.integration.spec-VETU75VQ.js +0 -193
  483. package/dist/databrowser.ui-3BRSJHIW.js +0 -433
  484. package/dist/dictionary-UV43XQAU.js +0 -118
  485. package/dist/dnaMethylation-QDE3S4TV.js +0 -38
  486. package/dist/dnaMethylation.integration.spec-JBHJE47S.js +0 -203
  487. package/dist/dofetch-BMSZZAAQ.js +0 -51
  488. package/dist/e2pca-JMH74VN4.js +0 -350
  489. package/dist/ep-NDT7C2IT.js +0 -1256
  490. package/dist/expclust.gdc.spec-GZ3XLPHA.js +0 -307
  491. package/dist/facet-ABIWCCVT.js +0 -521
  492. package/dist/forms2-DRRRLG4I.js +0 -539
  493. package/dist/gb-EFZ62HCR.js +0 -88
  494. package/dist/geneExpClustering-CKH6M6KK.js +0 -249
  495. package/dist/geneExpression-CNKX7XVX.js +0 -38
  496. package/dist/geneExpression-P2ERCRXO.js +0 -313
  497. package/dist/geneExpression.unit.spec-7UJB43L3.js +0 -102
  498. package/dist/geneORA-TZOSNGRJ.js +0 -278
  499. package/dist/geneRanking-26GDRALC.js +0 -551
  500. package/dist/geneRanking-26GDRALC.js.map +0 -7
  501. package/dist/geneVariant-2DHMJUJL.js +0 -39
  502. package/dist/geneVariant-FOKRLND3.js +0 -41
  503. package/dist/geneVariant.integration.spec-XXNSWUOR.js +0 -198
  504. package/dist/genefusion.ui-ZJBKC2RH.js +0 -309
  505. package/dist/geneset-6FN5BFP3.js +0 -208
  506. package/dist/genomeBrowser.spec-QLHJYDRZ.js +0 -281
  507. package/dist/grin2-DR7XJIAS.js +0 -968
  508. package/dist/grin2-QOOJBELM.js +0 -75
  509. package/dist/gsea-6YBRMGOC.js +0 -47
  510. package/dist/hierCluster-B3TULT27.js +0 -59
  511. package/dist/hierCluster-NF75B7MZ.js +0 -63
  512. package/dist/hierCluster.config-TEFI7M4K.js +0 -40
  513. package/dist/hierCluster.integration.spec-IUK6Q5SQ.js +0 -395
  514. package/dist/hierCluster.integration.spec-IUK6Q5SQ.js.map +0 -7
  515. package/dist/hierCluster.interactivity-MPD4AV4D.js +0 -54
  516. package/dist/hierCluster.renderers-4XWKHCNW.js +0 -21
  517. package/dist/imagePlot-HNJDBPO4.js +0 -163
  518. package/dist/importPlot-OBS55TCA.js +0 -8
  519. package/dist/isoformExpression-K4QIYBZR.js +0 -40
  520. package/dist/isoformExpression.unit.spec-INB6655U.js +0 -208
  521. package/dist/jspdf.es.min-TFJHKUF5.js +0 -40
  522. package/dist/launch.adhoc-VDXES33R.js +0 -42
  523. package/dist/leftlabel.sample-R6IXXFZT.js +0 -264
  524. package/dist/lollipop-O3XJC7BR.js +0 -171
  525. package/dist/maf-GLZ7KCDP.js +0 -452
  526. package/dist/maf-GLZ7KCDP.js.map +0 -7
  527. package/dist/maftimeline-Q4YPFSZP.js +0 -593
  528. package/dist/matrix-KVTQNDRZ.js +0 -63
  529. package/dist/matrix-QDHUX4QD.js +0 -58
  530. package/dist/matrix.cells-ED6RS5EC.js +0 -28
  531. package/dist/matrix.config-B65UXJNA.js +0 -41
  532. package/dist/matrix.data-KQFMXWRX.js +0 -25
  533. package/dist/matrix.groups-RE74EFLY.js +0 -27
  534. package/dist/matrix.integration.spec-2ITZRE4N.js +0 -3072
  535. package/dist/matrix.interactivity-3RF4YOAP.js +0 -42
  536. package/dist/matrix.layout-ERVRJAK2.js +0 -44
  537. package/dist/matrix.legend-ZST44PIB.js +0 -22
  538. package/dist/matrix.renderers-HNEUKUGS.js +0 -38
  539. package/dist/matrix.serieses-6ZKTFVWY.js +0 -21
  540. package/dist/matrix.sort-2UE47IOC.js +0 -27
  541. package/dist/matrix.sort.unit.spec-QGEVGY7M.js +0 -472
  542. package/dist/matrix.sorterUi.unit.spec-YNS7IVUF.js +0 -342
  543. package/dist/mavb-27VSL5LG.js +0 -732
  544. package/dist/mds.fimo-E5EXGT75.js +0 -518
  545. package/dist/mds.samplescatterplot-YDMRZFS7.js +0 -1550
  546. package/dist/mds.survivalplot-INJA2NDC.js +0 -483
  547. package/dist/numericDictTermCluster-DRIEJJSP.js +0 -72
  548. package/dist/numericDictTermCluster-DRIEJJSP.js.map +0 -7
  549. package/dist/oncomatrix-334LCTXB.js +0 -295
  550. package/dist/oncomatrix.spec-VHCJWO7S.js +0 -448
  551. package/dist/plot.2dvaf-F7GJEUMD.js +0 -377
  552. package/dist/plot.app-AKA7UVUC.js +0 -41
  553. package/dist/plot.barplot-HZAG43A5.js +0 -102
  554. package/dist/plot.boxplot-U52BJ4EP.js +0 -152
  555. package/dist/plot.brainImaging-3CB4WYQ4.js +0 -51
  556. package/dist/plot.disco-I2VLOSAU.js +0 -102
  557. package/dist/plot.dzi-K6KI52L7.js +0 -33
  558. package/dist/plot.ssgq-L67X4FUG.js +0 -139
  559. package/dist/plot.vaf2cov-PH4ZSY2K.js +0 -259
  560. package/dist/plot.wsi-Y6FZWHXT.js +0 -36
  561. package/dist/polar2-XT5QZ4VH.js +0 -231
  562. package/dist/profileForms-4LLSYMF6.js +0 -446
  563. package/dist/profilePlot-C52DDMZ4.js +0 -54
  564. package/dist/proteinView-CCL4MPXS.js +0 -1556
  565. package/dist/proteinView-CCL4MPXS.js.map +0 -7
  566. package/dist/purify.es-OGN7FDEQ.js +0 -1038
  567. package/dist/purify.es-OGN7FDEQ.js.map +0 -7
  568. package/dist/qualitative-DZ6JYYRS.js +0 -43
  569. package/dist/radar2-GEEOQF2A.js +0 -326
  570. package/dist/radarFacility2-OWXSKHBW.js +0 -334
  571. package/dist/regression-ZK75B4OR.js +0 -56
  572. package/dist/regression.inputs-UR7Q7HIK.js +0 -48
  573. package/dist/regression.inputs.term-PJZ7T3AI.js +0 -48
  574. package/dist/regression.inputs.values.table-CRGBKWMM.js +0 -45
  575. package/dist/regression.integration.spec-OCUFEVQS.js +0 -784
  576. package/dist/regression.results-7EHMKQ5F.js +0 -40
  577. package/dist/regression.spec-E4W3WOLI.js +0 -708
  578. package/dist/report-WWILHPI6.js +0 -222
  579. package/dist/sampleScatter.spec-VCKCJKII.js +0 -202
  580. package/dist/sampleView-STGP7UUP.js +0 -48
  581. package/dist/samplelst-U4BL6GYP.js +0 -111
  582. package/dist/samplematrix-FU3EZF6M.js +0 -2198
  583. package/dist/sc-JRLELKHN.js +0 -86
  584. package/dist/scatter-GT2VKNFG.js +0 -851
  585. package/dist/scatter.integration.spec-VDMKRPVM.js +0 -1206
  586. package/dist/selectGenomeWithTklst-F5372VC5.js +0 -134
  587. package/dist/singleCellCellType-D77PUUCZ.js +0 -38
  588. package/dist/singleCellCellType.unit.spec-J4EEZAWB.js +0 -160
  589. package/dist/singleCellGeneExpression-WCWCSHIY.js +0 -38
  590. package/dist/singleCellGeneExpression.unit.spec-CELJIAJ5.js +0 -153
  591. package/dist/singleCellPlot-2OPOJZ5U.js +0 -54
  592. package/dist/singlecell-K2SHYDHA.js +0 -1572
  593. package/dist/singlecell-K7Z6ES7B.js +0 -86
  594. package/dist/snp-ICWKGR7H.js +0 -38
  595. package/dist/snp.unit.spec-PV2UZCYO.js +0 -176
  596. package/dist/snplocus-W5D4A7QJ.js +0 -208
  597. package/dist/spliceevent.a53ss.diagram-DEQJ2C2H.js +0 -151
  598. package/dist/spliceevent.exonskip.diagram-MKA32GTK.js +0 -277
  599. package/dist/spliceevent.noeventdiagram-NFYPM4EZ.js +0 -460
  600. package/dist/ssGSEA-FAZK5FSC.js +0 -38
  601. package/dist/ssGSEA.unit.spec-S5D6JMOD.js +0 -88
  602. package/dist/summarizeCnvGeneexp-WDGJ5YOM.js +0 -163
  603. package/dist/summarizeGeneexpSurvival-J7UYKBN2.js +0 -108
  604. package/dist/summarizeGeneexpSurvival-J7UYKBN2.js.map +0 -7
  605. package/dist/summarizeMutationCnv-6ZXA32XN.js +0 -164
  606. package/dist/summarizeMutationDiagnosis-BK7QPF6A.js +0 -40
  607. package/dist/summarizeMutationSurvival-UODP6R6S.js +0 -99
  608. package/dist/summary-P6XVOWSB.js +0 -49
  609. package/dist/summary.integration.spec-XKMQ77CF.js +0 -414
  610. package/dist/summaryInput-U7XNGLGC.js +0 -235
  611. package/dist/sunburst-WHZ77REP.js +0 -284
  612. package/dist/survival-HQ5JC76V.js +0 -46
  613. package/dist/survival-QFWZNB4W.js +0 -58
  614. package/dist/survival.integration.spec-7STGYBGG.js +0 -915
  615. package/dist/svg2pdf.es.min-H4DXBG4O.js +0 -3157
  616. package/dist/svgraph-TYIBQ3RD.js +0 -1387
  617. package/dist/svmr-ZZIRWUVA.js +0 -3842
  618. package/dist/table-MPM3ET2V.js +0 -200
  619. package/dist/termCollection-5DF5MFBK.js +0 -38
  620. package/dist/termCollection-CQESAD6G.js +0 -179
  621. package/dist/termCollection.unit.spec-ASYBZQLO.js +0 -208
  622. package/dist/tk-NCEB2L7K.js +0 -46
  623. package/dist/tp.ui-AHTGSLBN.js +0 -1459
  624. package/dist/tvs.dt-TXG4FL3B.js +0 -39
  625. package/dist/tvs.dtcnv.categorical-7SA4PCKE.js +0 -40
  626. package/dist/tvs.dtcnv.continuous-E3VQWM5N.js +0 -72
  627. package/dist/tvs.dtfusion-F72VEUPO.js +0 -40
  628. package/dist/tvs.dtsnvindel-RAVTRO5M.js +0 -40
  629. package/dist/tvs.dtsv-ZZDBZYAJ.js +0 -40
  630. package/dist/tvs.samplelst-POTNAX4E.js +0 -104
  631. package/dist/tvs.termCollection-AHNHKJPJ.js +0 -159
  632. package/dist/violin-YR35XLAS.js +0 -46
  633. package/dist/violin.integration.spec-2VSILDUW.js +0 -1425
  634. package/dist/violin.interactivity-S7QY6HVJ.js +0 -38
  635. package/dist/violin.renderer-OUWK7EL4.js +0 -40
  636. package/dist/vocabulary-6IZJ6F7N.js +0 -41
  637. /package/dist/{2dmaf-HS37GJYM.js.map → 2dmaf-GTD3AXGT.js.map} +0 -0
  638. /package/dist/{AIProjectAdmin-V5NVBBOA.js.map → AIProjectAdmin-ALMSVHFX.js.map} +0 -0
  639. /package/dist/{AppHeader-VIQ2VZPI.js.map → AppHeader-RK2YRITI.js.map} +0 -0
  640. /package/dist/{BoxPlot-J7DPHT2N.js.map → BoxPlot-6ZXLPA5Q.js.map} +0 -0
  641. /package/dist/{CorrelationVolcano-ZHP7IPFD.js.map → CorrelationVolcano-PJB3QCXB.js.map} +0 -0
  642. /package/dist/{DE-VW4MQHYP.js.map → DE-MEWV5RTV.js.map} +0 -0
  643. /package/dist/{DifferentialAnalysis-H7LZWEIL.js.map → DifferentialAnalysis-7L3CDPVB.js.map} +0 -0
  644. /package/dist/{Disco-5AA67AO5.js.map → Disco-FCS7B5DO.js.map} +0 -0
  645. /package/dist/{Disco.UI-K4RBVRJP.js.map → Disco.UI-BFJ5XFAT.js.map} +0 -0
  646. /package/dist/{DmrPlot-RVJUKBOB.js.map → DmrPlot-362PCE7L.js.map} +0 -0
  647. /package/dist/{GB-TA5LQGX6.js.map → GB-SX4JENAW.js.map} +0 -0
  648. /package/dist/{GeneExpInput-HHOIK6X7.js.map → GeneExpInput-EHWHQTRV.js.map} +0 -0
  649. /package/dist/{HicApp-YTQNK5DC.js.map → HicApp-UE4DCUKX.js.map} +0 -0
  650. /package/dist/{IDCViewer-T74AFWY3.js.map → IDCViewer-EDF5XJ63.js.map} +0 -0
  651. /package/dist/{NumBinaryEditor-ICZCNBRL.js.map → NumBinaryEditor-3TAAJNYY.js.map} +0 -0
  652. /package/dist/{NumBinaryEditor.unit.spec-WDJPDAVT.js.map → NumBinaryEditor.unit.spec-6776472M.js.map} +0 -0
  653. /package/dist/{NumContEditor-5KEM54CE.js.map → NumContEditor-WLFXTY4M.js.map} +0 -0
  654. /package/dist/{NumContEditor.unit.spec-WG5QKOD3.js.map → NumContEditor.unit.spec-KG5SCOIQ.js.map} +0 -0
  655. /package/dist/{NumCustomBinEditor-MGHR7VQT.js.map → NumCustomBinEditor-EKKNCLKI.js.map} +0 -0
  656. /package/dist/{NumCustomBinEditor.unit.spec-JWSHEIJJ.js.map → NumCustomBinEditor.unit.spec-LSLSKQDW.js.map} +0 -0
  657. /package/dist/{NumDiscreteEditor-XT2GSGUR.js.map → NumDiscreteEditor-X2MLECNT.js.map} +0 -0
  658. /package/dist/{NumDiscreteEditor.unit.spec-DSCWGYBS.js.map → NumDiscreteEditor.unit.spec-BZG7P4C7.js.map} +0 -0
  659. /package/dist/{NumRegularBinEditor-JMDBM5PU.js.map → NumRegularBinEditor-CAGJ4ZWD.js.map} +0 -0
  660. /package/dist/{NumRegularBinEditor.unit.spec-BWRP6OO2.js.map → NumRegularBinEditor.unit.spec-GJSJC4DK.js.map} +0 -0
  661. /package/dist/{NumSplineEditor-QJNRSORC.js.map → NumSplineEditor-ND3RC7R6.js.map} +0 -0
  662. /package/dist/{NumSplineEditor.unit.spec-CXBTVND4.js.map → NumSplineEditor.unit.spec-F67JQKPY.js.map} +0 -0
  663. /package/dist/{NumericDensity-XQWCBSGT.js.map → NumericDensity-VW7NIZU7.js.map} +0 -0
  664. /package/dist/{NumericDensity.unit.spec-7JS5R3AZ.js.map → NumericDensity.unit.spec-YHIMU23C.js.map} +0 -0
  665. /package/dist/{NumericHandler-QXXBEJC3.js.map → NumericHandler-HCU6B2XV.js.map} +0 -0
  666. /package/dist/{NumericHandler.unit.spec-SRQJQVPP.js.map → NumericHandler.unit.spec-6GVWAUED.js.map} +0 -0
  667. /package/dist/{ProteomeInput-E4MJLAKF.js.map → ProteomeInput-SONQSTVD.js.map} +0 -0
  668. /package/dist/{RunChart2-N6S7HBXV.js.map → RunChart2-ZLBNG4JF.js.map} +0 -0
  669. /package/dist/{SC-RQ32A4YB.js.map → SC-YDRE37LP.js.map} +0 -0
  670. /package/dist/{Volcano-OHJPYZQE.js.map → Volcano-27ZERHXI.js.map} +0 -0
  671. /package/dist/{WSIViewer-SAKVU52Z.js.map → WSIViewer-2P7ANPBV.js.map} +0 -0
  672. /package/dist/{WsiSamplesPlot-QV5GFFCR.js.map → WsiSamplesPlot-FM4B657P.js.map} +0 -0
  673. /package/dist/{adSandbox-IE7TOJUE.js.map → adSandbox-M6TBRE5W.js.map} +0 -0
  674. /package/dist/{animatedBubbleChart-ZNEDQND3.js.map → animatedBubbleChart-VYSSX52K.js.map} +0 -0
  675. /package/dist/{app-7MRKEE2J.js.map → app-BLJT7ZDG.js.map} +0 -0
  676. /package/dist/{app-QIBNB4AA.js.map → app-LSFSUJHF.js.map} +0 -0
  677. /package/dist/{bam-OBS5ULFF.js.map → bam-ZMHBTBB4.js.map} +0 -0
  678. /package/dist/{barchart-2RVEEMPK.js.map → barchart-EF75MNTN.js.map} +0 -0
  679. /package/dist/{barchart.data-7OI5GZZ6.js.map → barchart.data-VWZB3R2Z.js.map} +0 -0
  680. /package/dist/{barchart.events-AASSQL3J.js.map → barchart.events-AMYQOMBQ.js.map} +0 -0
  681. /package/dist/{barchart2-TUBYGLMC.js.map → barchart2-LOHN6NSE.js.map} +0 -0
  682. /package/dist/{block-BYXWS7H7.js.map → block-23BH5TZ3.js.map} +0 -0
  683. /package/dist/{block.init-QOAPDKCC.js.map → block.init-3BF6L23D.js.map} +0 -0
  684. /package/dist/{block.mds.expressionrank-Q46AAYOA.js.map → block.mds.expressionrank-DSHATA2M.js.map} +0 -0
  685. /package/dist/{block.mds.geneboxplot-IC26RT7L.js.map → block.mds.geneboxplot-RXQUOE3Y.js.map} +0 -0
  686. /package/dist/{block.mds.junction-RIUZIBFB.js.map → block.mds.junction-PN776TCD.js.map} +0 -0
  687. /package/dist/{block.mds.svcnv-GUB2TTXQ.js.map → block.mds.svcnv-SOWUBH4K.js.map} +0 -0
  688. /package/dist/{block.svg-I4NHMOEJ.js.map → block.svg-ZPYMFAGC.js.map} +0 -0
  689. /package/dist/{block.tk.aicheck-X57EGAOB.js.map → block.tk.aicheck-E22ZJJFP.js.map} +0 -0
  690. /package/dist/{block.tk.ase-JMBKBZAH.js.map → block.tk.ase-S54Z5A4G.js.map} +0 -0
  691. /package/dist/{block.tk.bam-6UAEWVVD.js.map → block.tk.bam-YOELFYXU.js.map} +0 -0
  692. /package/dist/{block.tk.bedgraphdot-7QSRLAJ7.js.map → block.tk.bedgraphdot-VFUWXPSL.js.map} +0 -0
  693. /package/dist/{block.tk.bigwig.ui-SBD6S5SA.js.map → block.tk.bigwig.ui-2SJYUPR3.js.map} +0 -0
  694. /package/dist/{block.tk.hicstraw-LIGPTMX7.js.map → block.tk.hicstraw-GZVE4HQG.js.map} +0 -0
  695. /package/dist/{block.tk.junction.textmatrixui-XJIUGHAX.js.map → block.tk.junction.textmatrixui-A726SAAL.js.map} +0 -0
  696. /package/dist/{block.tk.ld-OZVW7LSL.js.map → block.tk.ld-THUOBW72.js.map} +0 -0
  697. /package/dist/{block.tk.menu-B2CEZAYR.js.map → block.tk.menu-V3VGODVI.js.map} +0 -0
  698. /package/dist/{block.tk.pgv-XAAQBQQE.js.map → block.tk.pgv-CNUGIK5J.js.map} +0 -0
  699. /package/dist/{brainImaging-KFKM3XWD.js.map → brainImaging-4PF74IEK.js.map} +0 -0
  700. /package/dist/{brainRegions-ZHKXILK7.js.map → brainRegions-U5K3KEQF.js.map} +0 -0
  701. /package/dist/{chunk-YNAPHPMG.js.map → chunk-2FTXOPE2.js.map} +0 -0
  702. /package/dist/{chunk-5X5LI5YM.js.map → chunk-2MCUT32T.js.map} +0 -0
  703. /package/dist/{chunk-ZZLBK6P6.js.map → chunk-2SZ2VLOG.js.map} +0 -0
  704. /package/dist/{chunk-G2DLWJCB.js.map → chunk-2XBWB6P2.js.map} +0 -0
  705. /package/dist/{chunk-JRDHTECQ.js.map → chunk-34VSTY2U.js.map} +0 -0
  706. /package/dist/{chunk-MCYVUHEZ.js.map → chunk-3DS4HIEH.js.map} +0 -0
  707. /package/dist/{chunk-U4IYNHVD.js.map → chunk-44VQIATQ.js.map} +0 -0
  708. /package/dist/{chunk-67QZRGIJ.js.map → chunk-5B5FZPZI.js.map} +0 -0
  709. /package/dist/{chunk-NLQQIVTC.js.map → chunk-5DSLFEAN.js.map} +0 -0
  710. /package/dist/{chunk-YWF7GHUW.js.map → chunk-5DSQOV7M.js.map} +0 -0
  711. /package/dist/{chunk-B4QM73WG.js.map → chunk-7CZI6SE7.js.map} +0 -0
  712. /package/dist/{chunk-35UCHCOQ.js.map → chunk-7NABQ2JU.js.map} +0 -0
  713. /package/dist/{chunk-5POMWXDZ.js.map → chunk-7VMFUE64.js.map} +0 -0
  714. /package/dist/{chunk-VC642GDC.js.map → chunk-7WBS7ZUI.js.map} +0 -0
  715. /package/dist/{chunk-L5C3B7PS.js.map → chunk-7XSDY2FN.js.map} +0 -0
  716. /package/dist/{chunk-INU357UG.js.map → chunk-AK5Z4PLV.js.map} +0 -0
  717. /package/dist/{chunk-AXKUVSXP.js.map → chunk-B3XMNPZY.js.map} +0 -0
  718. /package/dist/{chunk-KM4JBR26.js.map → chunk-B4VBTVVQ.js.map} +0 -0
  719. /package/dist/{chunk-N6QEVQZV.js.map → chunk-CHUE5Y7Y.js.map} +0 -0
  720. /package/dist/{chunk-DNVSEW6P.js.map → chunk-CNBLRB4P.js.map} +0 -0
  721. /package/dist/{chunk-7K6LTROG.js.map → chunk-CPMOBFFR.js.map} +0 -0
  722. /package/dist/{chunk-BKPV67UA.js.map → chunk-D3TU3RDU.js.map} +0 -0
  723. /package/dist/{chunk-EC3SKPQT.js.map → chunk-E2KY2IZS.js.map} +0 -0
  724. /package/dist/{chunk-YP2LHXFC.js.map → chunk-FBMDK2UA.js.map} +0 -0
  725. /package/dist/{chunk-T5UGVJCK.js.map → chunk-FSWSZZTG.js.map} +0 -0
  726. /package/dist/{chunk-ADAKSWID.js.map → chunk-GPGCGFFS.js.map} +0 -0
  727. /package/dist/{chunk-C6YT5EM2.js.map → chunk-H5DR6OYM.js.map} +0 -0
  728. /package/dist/{chunk-4E6HJ4ZW.js.map → chunk-HVZQYGQN.js.map} +0 -0
  729. /package/dist/{chunk-IZ3BPOTQ.js.map → chunk-HYIDLSEL.js.map} +0 -0
  730. /package/dist/{chunk-6RKL2FLA.js.map → chunk-IDX6WU4U.js.map} +0 -0
  731. /package/dist/{chunk-COYULNJF.js.map → chunk-IQTEW3SK.js.map} +0 -0
  732. /package/dist/{chunk-BMOB36XM.js.map → chunk-J7W2DGAL.js.map} +0 -0
  733. /package/dist/{chunk-JBI6P3UX.js.map → chunk-JVVOJREJ.js.map} +0 -0
  734. /package/dist/{chunk-5DHRDF2Y.js.map → chunk-KIGAMN3Z.js.map} +0 -0
  735. /package/dist/{chunk-F5ONTCHE.js.map → chunk-LAQZX5PA.js.map} +0 -0
  736. /package/dist/{chunk-YYZQMJLW.js.map → chunk-LRPQBMQE.js.map} +0 -0
  737. /package/dist/{chunk-LHNKTWFL.js.map → chunk-M7JGRSFA.js.map} +0 -0
  738. /package/dist/{chunk-TNF2LHJR.js.map → chunk-MAACMLMN.js.map} +0 -0
  739. /package/dist/{chunk-6G4YOMWW.js.map → chunk-MNPTPENH.js.map} +0 -0
  740. /package/dist/{chunk-JRZZ6GN3.js.map → chunk-MU3ZC4RW.js.map} +0 -0
  741. /package/dist/{chunk-QFSSC5VW.js.map → chunk-N6ALTSJ2.js.map} +0 -0
  742. /package/dist/{chunk-CD3VY5WW.js.map → chunk-N7326KA3.js.map} +0 -0
  743. /package/dist/{chunk-2P3U6XTF.js.map → chunk-O64WQLAV.js.map} +0 -0
  744. /package/dist/{chunk-ZBEJVZMY.js.map → chunk-OEOYTMMY.js.map} +0 -0
  745. /package/dist/{chunk-UFGV7554.js.map → chunk-P3QPMVML.js.map} +0 -0
  746. /package/dist/{chunk-VNF7DC36.js.map → chunk-PJM6MUTT.js.map} +0 -0
  747. /package/dist/{chunk-YAU2Z6EN.js.map → chunk-QPAZPA3N.js.map} +0 -0
  748. /package/dist/{chunk-VZOTKHPM.js.map → chunk-RG222M4S.js.map} +0 -0
  749. /package/dist/{chunk-KXRTPE65.js.map → chunk-S46UPZFM.js.map} +0 -0
  750. /package/dist/{chunk-ANKGIHCM.js.map → chunk-UDTNSJY2.js.map} +0 -0
  751. /package/dist/{chunk-T4CFXTIG.js.map → chunk-UPNKFGTN.js.map} +0 -0
  752. /package/dist/{chunk-2IITC4V5.js.map → chunk-UZKHBBWY.js.map} +0 -0
  753. /package/dist/{chunk-I4G4FXLO.js.map → chunk-VG6GVF6D.js.map} +0 -0
  754. /package/dist/{chunk-TJCRAFKM.js.map → chunk-VO4FCZOR.js.map} +0 -0
  755. /package/dist/{chunk-CDUNE45Q.js.map → chunk-VZBMCJBR.js.map} +0 -0
  756. /package/dist/{chunk-PWUERAAF.js.map → chunk-WR4UATTO.js.map} +0 -0
  757. /package/dist/{chunk-J5GTIQTL.js.map → chunk-XNYATA6C.js.map} +0 -0
  758. /package/dist/{chunk-57LW6RUM.js.map → chunk-Y5FH3TEH.js.map} +0 -0
  759. /package/dist/{chunk-AUP7W7MK.js.map → chunk-YIFCXFWE.js.map} +0 -0
  760. /package/dist/{chunk-VOGPIAQL.js.map → chunk-YRXB3MKU.js.map} +0 -0
  761. /package/dist/{chunk-O4VKIC66.js.map → chunk-Z7UVDJKK.js.map} +0 -0
  762. /package/dist/{chunk-VDIVDU3T.js.map → chunk-ZDEMAKRA.js.map} +0 -0
  763. /package/dist/{condition-MP65K762.js.map → condition-6UUQ3AAI.js.map} +0 -0
  764. /package/dist/{controls-HKHMEWC7.js.map → controls-N2NIGPHY.js.map} +0 -0
  765. /package/dist/{controls.config-LUPIT34L.js.map → controls.config-YYIMJHWN.js.map} +0 -0
  766. /package/dist/{correlation-5UTW6EEI.js.map → correlation-DYUMFMTU.js.map} +0 -0
  767. /package/dist/{cuminc-LLUR2FLL.js.map → cuminc-EUXCL53V.js.map} +0 -0
  768. /package/dist/{cuminc.integration.spec-CH5UZTIM.js.map → cuminc.integration.spec-ZQFMIBF6.js.map} +0 -0
  769. /package/dist/{customdata.inputui-6IGE5HCZ.js.map → customdata.inputui-U2VXVWJ3.js.map} +0 -0
  770. /package/dist/{dataDownload-MCE2OJGZ.js.map → dataDownload-QK2VYWYW.js.map} +0 -0
  771. /package/dist/{dataDownload.integration.spec-VETU75VQ.js.map → dataDownload.integration.spec-NG4ZASWC.js.map} +0 -0
  772. /package/dist/{databrowser.ui-3BRSJHIW.js.map → databrowser.ui-ALW4LSLA.js.map} +0 -0
  773. /package/dist/{dictionary-UV43XQAU.js.map → dictionary-F7BPXOBO.js.map} +0 -0
  774. /package/dist/{dnaMethylation-QDE3S4TV.js.map → dnaMethylation-XNRJIBAH.js.map} +0 -0
  775. /package/dist/{dnaMethylation.integration.spec-JBHJE47S.js.map → dnaMethylation.integration.spec-F5ODQTVL.js.map} +0 -0
  776. /package/dist/{dofetch-BMSZZAAQ.js.map → dofetch-IYEI7WSH.js.map} +0 -0
  777. /package/dist/{e2pca-JMH74VN4.js.map → e2pca-BHB7UMS5.js.map} +0 -0
  778. /package/dist/{ep-NDT7C2IT.js.map → ep-QRFUVFSK.js.map} +0 -0
  779. /package/dist/{expclust.gdc.spec-GZ3XLPHA.js.map → expclust.gdc.spec-LMH7QAU4.js.map} +0 -0
  780. /package/dist/{facet-ABIWCCVT.js.map → facet-34HXG7MO.js.map} +0 -0
  781. /package/dist/{forms2-DRRRLG4I.js.map → forms2-ZQUPKXE5.js.map} +0 -0
  782. /package/dist/{gb-EFZ62HCR.js.map → gb-HWZ5KZXX.js.map} +0 -0
  783. /package/dist/{geneExpClustering-CKH6M6KK.js.map → geneExpClustering-KFMP553E.js.map} +0 -0
  784. /package/dist/{geneExpression-P2ERCRXO.js.map → geneExpression-E2GIRM6Z.js.map} +0 -0
  785. /package/dist/{geneExpression-CNKX7XVX.js.map → geneExpression-QODFRNS4.js.map} +0 -0
  786. /package/dist/{geneExpression.unit.spec-7UJB43L3.js.map → geneExpression.unit.spec-HV44ABGV.js.map} +0 -0
  787. /package/dist/{geneORA-TZOSNGRJ.js.map → geneORA-MJ6MFW2K.js.map} +0 -0
  788. /package/dist/{geneVariant-2DHMJUJL.js.map → geneVariant-QT6E7YZN.js.map} +0 -0
  789. /package/dist/{geneVariant-FOKRLND3.js.map → geneVariant-UYQ4XIOQ.js.map} +0 -0
  790. /package/dist/{geneVariant.integration.spec-XXNSWUOR.js.map → geneVariant.integration.spec-HQ5GJ7UM.js.map} +0 -0
  791. /package/dist/{genefusion.ui-ZJBKC2RH.js.map → genefusion.ui-5KYGD7JL.js.map} +0 -0
  792. /package/dist/{geneset-6FN5BFP3.js.map → geneset-M6T24ZYZ.js.map} +0 -0
  793. /package/dist/{genomeBrowser.spec-QLHJYDRZ.js.map → genomeBrowser.spec-CVH4S5KZ.js.map} +0 -0
  794. /package/dist/{grin2-DR7XJIAS.js.map → grin2-GI2WNWJO.js.map} +0 -0
  795. /package/dist/{grin2-QOOJBELM.js.map → grin2-QU2UCKKE.js.map} +0 -0
  796. /package/dist/{gsea-6YBRMGOC.js.map → gsea-EGWJAATJ.js.map} +0 -0
  797. /package/dist/{hierCluster-B3TULT27.js.map → hierCluster-4OJ7BHAB.js.map} +0 -0
  798. /package/dist/{hierCluster-NF75B7MZ.js.map → hierCluster-P4HGGVK7.js.map} +0 -0
  799. /package/dist/{hierCluster.config-TEFI7M4K.js.map → hierCluster.config-5DGS5EH4.js.map} +0 -0
  800. /package/dist/{hierCluster.interactivity-MPD4AV4D.js.map → hierCluster.interactivity-VEHJHBKY.js.map} +0 -0
  801. /package/dist/{hierCluster.renderers-4XWKHCNW.js.map → hierCluster.renderers-OEVSBUBK.js.map} +0 -0
  802. /package/dist/{imagePlot-HNJDBPO4.js.map → imagePlot-MMJYC4DX.js.map} +0 -0
  803. /package/dist/{importPlot-OBS55TCA.js.map → importPlot-4HJ6VR4P.js.map} +0 -0
  804. /package/dist/{isoformExpression-K4QIYBZR.js.map → isoformExpression-EISYQF2S.js.map} +0 -0
  805. /package/dist/{isoformExpression.unit.spec-INB6655U.js.map → isoformExpression.unit.spec-YKBWVL7C.js.map} +0 -0
  806. /package/dist/{jspdf.es.min-TFJHKUF5.js.map → jspdf.es.min-NXISJ3W7.js.map} +0 -0
  807. /package/dist/{launch.adhoc-VDXES33R.js.map → launch.adhoc-U3KOGDIC.js.map} +0 -0
  808. /package/dist/{leftlabel.sample-R6IXXFZT.js.map → leftlabel.sample-LVF5WLMZ.js.map} +0 -0
  809. /package/dist/{lollipop-O3XJC7BR.js.map → lollipop-HX2WLD5J.js.map} +0 -0
  810. /package/dist/{maftimeline-Q4YPFSZP.js.map → maftimeline-VN6SYUPQ.js.map} +0 -0
  811. /package/dist/{matrix-KVTQNDRZ.js.map → matrix-6UASVMIW.js.map} +0 -0
  812. /package/dist/{matrix-QDHUX4QD.js.map → matrix-FYYLVW7O.js.map} +0 -0
  813. /package/dist/{matrix.cells-ED6RS5EC.js.map → matrix.cells-3RUGV7XG.js.map} +0 -0
  814. /package/dist/{matrix.config-B65UXJNA.js.map → matrix.config-ELBFN3JN.js.map} +0 -0
  815. /package/dist/{matrix.data-KQFMXWRX.js.map → matrix.data-MHFF47ZY.js.map} +0 -0
  816. /package/dist/{matrix.groups-RE74EFLY.js.map → matrix.groups-UJRFFG5J.js.map} +0 -0
  817. /package/dist/{matrix.integration.spec-2ITZRE4N.js.map → matrix.integration.spec-5DUNUOQ3.js.map} +0 -0
  818. /package/dist/{matrix.interactivity-3RF4YOAP.js.map → matrix.interactivity-2TZ3ON4H.js.map} +0 -0
  819. /package/dist/{matrix.layout-ERVRJAK2.js.map → matrix.layout-IGUBUCB2.js.map} +0 -0
  820. /package/dist/{matrix.legend-ZST44PIB.js.map → matrix.legend-UBQF6LMD.js.map} +0 -0
  821. /package/dist/{matrix.renderers-HNEUKUGS.js.map → matrix.renderers-ON2EXXIS.js.map} +0 -0
  822. /package/dist/{matrix.serieses-6ZKTFVWY.js.map → matrix.serieses-5XH7NO23.js.map} +0 -0
  823. /package/dist/{matrix.sort-2UE47IOC.js.map → matrix.sort-QSWTVRJT.js.map} +0 -0
  824. /package/dist/{matrix.sort.unit.spec-QGEVGY7M.js.map → matrix.sort.unit.spec-7Y6D456I.js.map} +0 -0
  825. /package/dist/{matrix.sorterUi.unit.spec-YNS7IVUF.js.map → matrix.sorterUi.unit.spec-3XNGEZZ2.js.map} +0 -0
  826. /package/dist/{mavb-27VSL5LG.js.map → mavb-J4AUXBHZ.js.map} +0 -0
  827. /package/dist/{mds.fimo-E5EXGT75.js.map → mds.fimo-I6OALZRX.js.map} +0 -0
  828. /package/dist/{mds.samplescatterplot-YDMRZFS7.js.map → mds.samplescatterplot-XSWR37S5.js.map} +0 -0
  829. /package/dist/{mds.survivalplot-INJA2NDC.js.map → mds.survivalplot-Q3TE4A5P.js.map} +0 -0
  830. /package/dist/{oncomatrix-334LCTXB.js.map → oncomatrix-C4RDUA2C.js.map} +0 -0
  831. /package/dist/{oncomatrix.spec-VHCJWO7S.js.map → oncomatrix.spec-QVD3XUTH.js.map} +0 -0
  832. /package/dist/{plot.2dvaf-F7GJEUMD.js.map → plot.2dvaf-MNONDWFA.js.map} +0 -0
  833. /package/dist/{plot.app-AKA7UVUC.js.map → plot.app-3T275PW5.js.map} +0 -0
  834. /package/dist/{plot.barplot-HZAG43A5.js.map → plot.barplot-LOLIPHXG.js.map} +0 -0
  835. /package/dist/{plot.boxplot-U52BJ4EP.js.map → plot.boxplot-I6CAYXPV.js.map} +0 -0
  836. /package/dist/{plot.brainImaging-3CB4WYQ4.js.map → plot.brainImaging-Y76KB6IC.js.map} +0 -0
  837. /package/dist/{plot.disco-I2VLOSAU.js.map → plot.disco-N5ISUUNQ.js.map} +0 -0
  838. /package/dist/{plot.dzi-K6KI52L7.js.map → plot.dzi-Q6K542P6.js.map} +0 -0
  839. /package/dist/{plot.ssgq-L67X4FUG.js.map → plot.ssgq-OGLNOY4Q.js.map} +0 -0
  840. /package/dist/{plot.vaf2cov-PH4ZSY2K.js.map → plot.vaf2cov-NXQ5D3KA.js.map} +0 -0
  841. /package/dist/{plot.wsi-Y6FZWHXT.js.map → plot.wsi-YMDUOZ57.js.map} +0 -0
  842. /package/dist/{polar2-XT5QZ4VH.js.map → polar2-AQ2W3SNH.js.map} +0 -0
  843. /package/dist/{profileForms-4LLSYMF6.js.map → profileForms-TCPZPI22.js.map} +0 -0
  844. /package/dist/{profilePlot-C52DDMZ4.js.map → profilePlot-4RKKICKC.js.map} +0 -0
  845. /package/dist/{qualitative-DZ6JYYRS.js.map → qualitative-NCFIVW6S.js.map} +0 -0
  846. /package/dist/{radar2-GEEOQF2A.js.map → radar2-UJFFZE7T.js.map} +0 -0
  847. /package/dist/{radarFacility2-OWXSKHBW.js.map → radarFacility2-ATQBCF3N.js.map} +0 -0
  848. /package/dist/{regression-ZK75B4OR.js.map → regression-4RSS7447.js.map} +0 -0
  849. /package/dist/{regression.inputs-UR7Q7HIK.js.map → regression.inputs-5XGUGNWV.js.map} +0 -0
  850. /package/dist/{regression.inputs.term-PJZ7T3AI.js.map → regression.inputs.term-LSJAZWE4.js.map} +0 -0
  851. /package/dist/{regression.inputs.values.table-CRGBKWMM.js.map → regression.inputs.values.table-GNIJZETG.js.map} +0 -0
  852. /package/dist/{regression.integration.spec-OCUFEVQS.js.map → regression.integration.spec-MV652K47.js.map} +0 -0
  853. /package/dist/{regression.results-7EHMKQ5F.js.map → regression.results-M3YH6ZD3.js.map} +0 -0
  854. /package/dist/{regression.spec-E4W3WOLI.js.map → regression.spec-455WPZHP.js.map} +0 -0
  855. /package/dist/{report-WWILHPI6.js.map → report-MH3V7SHZ.js.map} +0 -0
  856. /package/dist/{sampleScatter.spec-VCKCJKII.js.map → sampleScatter.spec-OTIL3JDG.js.map} +0 -0
  857. /package/dist/{sampleView-STGP7UUP.js.map → sampleView-DHACOCEG.js.map} +0 -0
  858. /package/dist/{samplelst-U4BL6GYP.js.map → samplelst-F3AXOE2D.js.map} +0 -0
  859. /package/dist/{samplematrix-FU3EZF6M.js.map → samplematrix-M6CKKVNE.js.map} +0 -0
  860. /package/dist/{sc-JRLELKHN.js.map → sc-S5XA37JJ.js.map} +0 -0
  861. /package/dist/{scatter-GT2VKNFG.js.map → scatter-IRPFNDHW.js.map} +0 -0
  862. /package/dist/{scatter.integration.spec-VDMKRPVM.js.map → scatter.integration.spec-5FWVHMVJ.js.map} +0 -0
  863. /package/dist/{selectGenomeWithTklst-F5372VC5.js.map → selectGenomeWithTklst-NIOUX6MV.js.map} +0 -0
  864. /package/dist/{singleCellCellType-D77PUUCZ.js.map → singleCellCellType-FTGLNH2J.js.map} +0 -0
  865. /package/dist/{singleCellCellType.unit.spec-J4EEZAWB.js.map → singleCellCellType.unit.spec-BJ5YZAXF.js.map} +0 -0
  866. /package/dist/{singleCellGeneExpression-WCWCSHIY.js.map → singleCellGeneExpression-56EDDG5H.js.map} +0 -0
  867. /package/dist/{singleCellGeneExpression.unit.spec-CELJIAJ5.js.map → singleCellGeneExpression.unit.spec-XSQRWAI3.js.map} +0 -0
  868. /package/dist/{singleCellPlot-2OPOJZ5U.js.map → singleCellPlot-TH77EJZ4.js.map} +0 -0
  869. /package/dist/{singlecell-K7Z6ES7B.js.map → singlecell-3QZQZM32.js.map} +0 -0
  870. /package/dist/{singlecell-K2SHYDHA.js.map → singlecell-7KJMBASC.js.map} +0 -0
  871. /package/dist/{snp-ICWKGR7H.js.map → snp-YXG5O4U4.js.map} +0 -0
  872. /package/dist/{snp.unit.spec-PV2UZCYO.js.map → snp.unit.spec-O27J7OOK.js.map} +0 -0
  873. /package/dist/{snplocus-W5D4A7QJ.js.map → snplocus-CQZSC7P6.js.map} +0 -0
  874. /package/dist/{spliceevent.a53ss.diagram-DEQJ2C2H.js.map → spliceevent.a53ss.diagram-K5ZDPZE6.js.map} +0 -0
  875. /package/dist/{spliceevent.exonskip.diagram-MKA32GTK.js.map → spliceevent.exonskip.diagram-A2VZ3TTF.js.map} +0 -0
  876. /package/dist/{spliceevent.noeventdiagram-NFYPM4EZ.js.map → spliceevent.noeventdiagram-DJDA6ENK.js.map} +0 -0
  877. /package/dist/{ssGSEA-FAZK5FSC.js.map → ssGSEA-3FTGRUTC.js.map} +0 -0
  878. /package/dist/{ssGSEA.unit.spec-S5D6JMOD.js.map → ssGSEA.unit.spec-GF35KBTX.js.map} +0 -0
  879. /package/dist/{summarizeCnvGeneexp-WDGJ5YOM.js.map → summarizeCnvGeneexp-6IDTNOYE.js.map} +0 -0
  880. /package/dist/{summarizeMutationCnv-6ZXA32XN.js.map → summarizeMutationCnv-BMEN3XNV.js.map} +0 -0
  881. /package/dist/{summarizeMutationDiagnosis-BK7QPF6A.js.map → summarizeMutationDiagnosis-LW6K6373.js.map} +0 -0
  882. /package/dist/{summarizeMutationSurvival-UODP6R6S.js.map → summarizeMutationSurvival-E7REF2VY.js.map} +0 -0
  883. /package/dist/{summary-P6XVOWSB.js.map → summary-MKA7OJKE.js.map} +0 -0
  884. /package/dist/{summary.integration.spec-XKMQ77CF.js.map → summary.integration.spec-IV6I6SNJ.js.map} +0 -0
  885. /package/dist/{summaryInput-U7XNGLGC.js.map → summaryInput-NET6SPM4.js.map} +0 -0
  886. /package/dist/{sunburst-WHZ77REP.js.map → sunburst-CO3MXFTJ.js.map} +0 -0
  887. /package/dist/{survival-HQ5JC76V.js.map → survival-MIPCEBS3.js.map} +0 -0
  888. /package/dist/{survival-QFWZNB4W.js.map → survival-QQXTCNDU.js.map} +0 -0
  889. /package/dist/{survival.integration.spec-7STGYBGG.js.map → survival.integration.spec-6FH4S3EH.js.map} +0 -0
  890. /package/dist/{svg2pdf.es.min-H4DXBG4O.js.map → svg2pdf.es.min-P2F6SSVJ.js.map} +0 -0
  891. /package/dist/{svgraph-TYIBQ3RD.js.map → svgraph-YF7BS7TN.js.map} +0 -0
  892. /package/dist/{svmr-ZZIRWUVA.js.map → svmr-J2JLQGEE.js.map} +0 -0
  893. /package/dist/{table-MPM3ET2V.js.map → table-7YL7I4GH.js.map} +0 -0
  894. /package/dist/{termCollection-5DF5MFBK.js.map → termCollection-LNEN72IV.js.map} +0 -0
  895. /package/dist/{termCollection-CQESAD6G.js.map → termCollection-SOLNYAZ4.js.map} +0 -0
  896. /package/dist/{termCollection.unit.spec-ASYBZQLO.js.map → termCollection.unit.spec-LTX7UVYP.js.map} +0 -0
  897. /package/dist/{tk-NCEB2L7K.js.map → tk-RZDP2YT5.js.map} +0 -0
  898. /package/dist/{tp.ui-AHTGSLBN.js.map → tp.ui-T6XXBHHD.js.map} +0 -0
  899. /package/dist/{tvs.dt-TXG4FL3B.js.map → tvs.dt-7APM37Y3.js.map} +0 -0
  900. /package/dist/{tvs.dtcnv.categorical-7SA4PCKE.js.map → tvs.dtcnv.categorical-YIPXQSIL.js.map} +0 -0
  901. /package/dist/{tvs.dtcnv.continuous-E3VQWM5N.js.map → tvs.dtcnv.continuous-ITNZE3SH.js.map} +0 -0
  902. /package/dist/{tvs.dtfusion-F72VEUPO.js.map → tvs.dtfusion-2JIIPDTN.js.map} +0 -0
  903. /package/dist/{tvs.dtsnvindel-RAVTRO5M.js.map → tvs.dtsnvindel-HO2PUFN2.js.map} +0 -0
  904. /package/dist/{tvs.dtsv-ZZDBZYAJ.js.map → tvs.dtsv-7KCWSUYO.js.map} +0 -0
  905. /package/dist/{tvs.samplelst-POTNAX4E.js.map → tvs.samplelst-KKWJQNLW.js.map} +0 -0
  906. /package/dist/{tvs.termCollection-AHNHKJPJ.js.map → tvs.termCollection-R2IGRG2U.js.map} +0 -0
  907. /package/dist/{violin-YR35XLAS.js.map → violin-OTPZQTGA.js.map} +0 -0
  908. /package/dist/{violin.integration.spec-2VSILDUW.js.map → violin.integration.spec-KESWDSBM.js.map} +0 -0
  909. /package/dist/{violin.interactivity-S7QY6HVJ.js.map → violin.interactivity-Q2WALZO3.js.map} +0 -0
  910. /package/dist/{violin.renderer-OUWK7EL4.js.map → violin.renderer-WIRIV7QY.js.map} +0 -0
  911. /package/dist/{vocabulary-6IZJ6F7N.js.map → vocabulary-XXDHHHPJ.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/test/barchart.integration.spec.js", "../termdb/test/vocabData.js"],
4
+ "sourcesContent": ["import tape from 'tape'\nimport { termjson } from '../../test/testdata/termjson'\nimport {\n\tgetSamplelstTw,\n\tgetCategoryGroupsetting,\n\tgetGeneVariantTw,\n\tgetGenesetMutTw,\n\tgetCategoricalTermcollectionTw,\n\tgetScctTw\n} from '../../test/testdata/data.ts'\nimport * as helpers from '../../test/front.helpers.js'\nimport { sleep, detectLst, detectGte, detectOne, Locator } from '../../test/test.helpers.js'\nimport { getFilterItemByTag } from '../../filter/filter'\nimport * as vocabData from '../../termdb/test/vocabData'\nimport { hideCategory } from '../barchart.events.js'\n\n/*\ntest sections\n\nterm1=categorical\nterm1=categorical (no values)\nterm1=categorical (patient-level)\nterm1=categorical (relapse-level)\nterm1=termCollection categorical\nterm1=categorical, term2=defaultbins\nterm0=defaultbins, term1=categorical\nterm1=categorical, term2=categorical (patient-level)\nterm1=categorical (relapse-level), term2=categorical (patient-level)\nterm1=geneVariant no group\nterm1=geneVariant with groups\nterm1=geneVariant, term2=geneVariant using region but not gene\nterm1=geneVariant geneset with groups\nterm1=categorical, term2=geneVariant\nterm1=categorical (patient-level), term2=geneVariant\nterm1=geneExp, term2=geneVariant SKIPPED\nterm1=geneVariant, term2=geneExp\nterm1=geneExp\nterm1=numeric term2=geneExp with default bins\nterm1=geneExp, term2=categorical\nterm1=geneExp, term2=categorical (patient-level)\nterm1=condition, term2=gene exp with default bins\nterm1=TP53 gene exp, term2=BCR gene exp, both terms with default bins\nterm1=categorical, term0=gene exp with default bins\nterm1=scct\nseries visibility - q.hiddenValue\nseries visibility - numeric\nseries visibility - condition\n\nsingle barchart, categorical filter\nsingle barchart, categorical filter (patient-level)\nsingle barchart (relapse-level), categorical filter (patient-level)\nsingle geneExp barchart, categorical filter (patient-level)\nsingle barchart (patient-level), compound filter (patient-level + sample-level)\ngenevariant barchart, compound filter SKIPPED\nsingle barchart, TP53 mutation dtTerm filter\n\nclick non-group bar to add filter\nclick custom categorical group bar to add filter\nnumeric exclude range\nnumeric filter - only special value\ncustom vocab: categorical terms with numeric filter\ncustom vocab: numeric terms with categorical filter\nmax number of bins: exceeded\nno visible series data, no overlay\nall hidden + with overlay, legend click\nunhidden chart and legend\ncustomized bins\n */\n\ntape('\\n', function (test) {\n\ttest.comment('-***- plots/barchart -***-')\n\ttest.end()\n})\n\ntape('term1=categorical', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'diaggrp'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttestBarCount(barchart)\n\t\ttestAxisDimension(barchart)\n\t\ttestAxisTitle(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tlet barDiv\n\tfunction testBarCount(barchart) {\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tconst minBars = 5\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n\t}\n\n\tfunction testAxisDimension(barchart) {\n\t\tconst xAxis = barDiv.select('.sjpcb-bar-chart-x-axis').node()\n\t\tconst seriesG = barDiv.select('.bars-series').node()\n\t\ttest.true(xAxis.getBBox().width >= seriesG.getBBox().width, 'x-axis width should be >= series width')\n\t}\n\n\tfunction testAxisTitle(barchart) {\n\t\tconst chartTitle = barDiv.select('[data-testid=\"sjpp-massbarchart-horizontal-charttitle\"]')\n\t\ttest.equal(chartTitle.text(), '# of samples (n=60)', 'sample type of barchart should be samples')\n\t}\n})\n\ntape('term1=categorical (no values)', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'diaggrp_novalues'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttestTw(barchart)\n\t\ttestBarCount(barchart)\n\t\ttestAxisDimension(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testTw(barchart) {\n\t\t// testing if term.values{} and term.samplecounts[] get filled\n\t\tconst tw = barchart.Inner.config.term\n\t\ttest.ok(tw.term.values && typeof tw.term.values == 'object', 'term.values{} should be an object')\n\t\ttest.ok(Array.isArray(tw.term.categories.lst), 'term.categories.lst[] should be an array')\n\t\ttest.equal(tw.term.categories.lst.length, 7, 'term.categories.lst[] should have 7 sample counts')\n\t}\n\n\tlet barDiv\n\tfunction testBarCount(barchart) {\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tconst minBars = 5\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n\t}\n\n\tfunction testAxisDimension(barchart) {\n\t\tconst xAxis = barDiv.select('.sjpcb-bar-chart-x-axis').node()\n\t\tconst seriesG = barDiv.select('.bars-series').node()\n\t\ttest.true(xAxis.getBBox().width >= seriesG.getBBox().width, 'x-axis width should be >= series width')\n\t}\n})\n\ntape('term1=categorical (patient-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'genetic_race'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttestBarCount(barchart)\n\t\ttestAxisDimension(barchart)\n\t\ttestAxisTitle(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tlet barDiv\n\tfunction testBarCount(barchart) {\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tconst minBars = 2\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n\t}\n\n\tfunction testAxisDimension(barchart) {\n\t\tconst xAxis = barDiv.select('.sjpcb-bar-chart-x-axis').node()\n\t\tconst seriesG = barDiv.select('.bars-series').node()\n\t\ttest.true(xAxis.getBBox().width >= seriesG.getBBox().width, 'x-axis width should be >= series width')\n\t}\n\n\tfunction testAxisTitle(barchart) {\n\t\tconst chartTitle = barDiv.select('[data-testid=\"sjpp-massbarchart-horizontal-charttitle\"]')\n\t\ttest.equal(chartTitle.text(), '# of patients (n=62)', 'sample type of barchart should be patients')\n\t}\n})\n\ntape('term1=categorical (relapse-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'relapse_site'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttestBarCount(barchart)\n\t\ttestAxisDimension(barchart)\n\t\ttestAxisTitle(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tlet barDiv\n\tfunction testBarCount(barchart) {\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tconst minBars = 2\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n\t}\n\n\tfunction testAxisDimension(barchart) {\n\t\tconst xAxis = barDiv.select('.sjpcb-bar-chart-x-axis').node()\n\t\tconst seriesG = barDiv.select('.bars-series').node()\n\t\ttest.true(xAxis.getBBox().width >= seriesG.getBBox().width, 'x-axis width should be >= series width')\n\t}\n\n\tfunction testAxisTitle(barchart) {\n\t\tconst chartTitle = barDiv.select('[data-testid=\"sjpp-massbarchart-horizontal-charttitle\"]')\n\t\ttest.equal(chartTitle.text(), '# of relapse samples (n=10)', 'sample type of barchart should be relapse samples')\n\t}\n})\n\ntape('term1=termCollection categorical', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [{ chartType: 'summary', childType: 'barchart', term: getCategoricalTermcollectionTw() }]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\ttestBarCount(barDiv)\n\t\ttestBarOrder(barDiv)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount(barDiv) {\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\ttest.equal(numBars, 3, 'should render 3 bars, one per member term')\n\t}\n\n\tfunction testBarOrder(barDiv) {\n\t\t// Bars should appear in termIds order: CNV, Fusion, Germline\n\t\t// Each rowlabel g has transform=\"translate(x,y)\" where y increases with row index\n\t\tconst labelGs = barDiv.selectAll('[data-testid=\"sjpcb-bars-rowlabels\"] g').nodes()\n\t\ttest.equal(labelGs.length, 3, 'should have 3 row label elements')\n\t\tif (labelGs.length < 2) return\n\t\tconst yValues = labelGs.map(g => {\n\t\t\tconst t = g.getAttribute('transform') || ''\n\t\t\tconst m = t.match(/translate\\([^,]+,([^)]+)\\)/)\n\t\t\treturn m ? parseFloat(m[1]) : 0\n\t\t})\n\t\ttest.ok(\n\t\t\tyValues[0] < yValues[1] && yValues[1] < yValues[2],\n\t\t\t'row label y positions should increase in termIds order (CNV < Fusion < Germline)'\n\t\t)\n\t}\n})\n\ntape('term1=categorical, term2=defaultbins', function (test) {\n\ttest.timeoutAfter(5000)\n\ttest.plan(4)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'diaggrp' },\n\t\t\t\t\tterm2: { id: 'agedx' }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\t/*helpers\n\t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test', preserve: true })\n\t\t\t.run(testBarCount)\n\t\t\t.run(testOverlayOrder)\n\t\t\t.run(triggerUncomputableOverlay, 200)\n\t\t\t.run(clickLegendToHideOverlay, 1000)\n\t\t\t.run(testHiddenOverlayData, 2000)\n\t\t\t.done(test)*/\n\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\ttestOverlayOrder()\n\t\tawait triggerUncomputableOverlay(barchart)\n\t\tclickLegendToHideOverlay(barchart)\n\t\tawait testHiddenOverlayData(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 5\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.true(numOverlays > numBars, 'number of overlays should be greater than bars')\n\t}\n\n\tfunction testOverlayOrder() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst bars_grp = barDiv.selectAll('.bars-cell-grp')\n\t\tconst legend_rows = barDiv.selectAll('.legend-row')\n\t\t//flag to indicate unordered bars\n\t\tlet overlay_ordered = true\n\t\tconst legend_ids = []\n\t\tlegend_rows.each(d => legend_ids.push(d.dataId))\n\t\t//check if each stacked bar is in same order as legend\n\t\tbars_grp.each(d => {\n\t\t\tif (!overlay_ordered) return\n\t\t\tconst bar_ids = d.visibleData.map(d => d.dataId)\n\t\t\toverlay_ordered = legend_ids\n\t\t\t\t.filter(id => bar_ids.includes(id))\n\t\t\t\t.reduce((bool, id, i) => bool && bar_ids[i] === id, overlay_ordered)\n\t\t})\n\t\ttest.true(overlay_ordered, 'overlay order is same as legend')\n\t}\n\n\tasync function triggerUncomputableOverlay(barchart) {\n\t\t//Await for legend rows to increase before moving on to the next function\n\t\tawait detectLst({\n\t\t\ttarget: barchart.Inner.dom.legendDiv.node(),\n\t\t\t// avoid detecting legend entries for descriptive stats,\n\t\t\t// term legend items have a corresponding icon as the first div,\n\t\t\t// making the second div (even-numbered child) the relevant target/selector\n\t\t\tselector: '.sjpp-htmlLegend:nth-child(even)',\n\t\t\tcount: 6,\n\t\t\tmatchAs: '>=',\n\t\t\ttrigger: () => {\n\t\t\t\tbarchart.Inner.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: 'diaggrp',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tterm2: {\n\t\t\t\t\t\t\tid: 'aaclassic_5',\n\t\t\t\t\t\t\tterm: termjson['aaclassic_5'],\n\t\t\t\t\t\t\tq: termjson['aaclassic_5'].bins.default\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\n\tconst legendDataId = 'not exposed'\n\n\tasync function clickLegendToHideOverlay(barchart) {\n\t\t//await sleep(40)\n\t\tconst legendDiv = barchart.Inner.dom.legendDiv\n\t\tconst item = legendDiv\n\t\t\t.selectAll('.sjpp-htmlLegend')\n\t\t\t.filter(d => d.dataId == legendDataId)\n\t\t\t.node()\n\t\thideCategory(item.__data__, barchart.Inner, true)\n\t}\n\n\tasync function testHiddenOverlayData(barchart) {\n\t\tconst legendDiv = barchart.Inner.dom.legendDiv\n\t\t//Fix for removing sleep()\n\t\tconst item = await detectLst({ elem: legendDiv.node(), selector: '.sjpp-hidden-legend-item', matchAs: '>=' })\n\t\t// const item = legendDiv.selectAll('.legend-row').filter(function(d) {\n\t\t// \treturn +this.style.opacity < 1 && d.dataId == legendDataId\n\t\t// })\n\t\ttest.equal(item.length, 1, 'should hide a clicked uncomputable overlay legend')\n\t}\n})\n\ntape('term0=defaultbins, term1=categorical', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'diaggrp' },\n\t\t\t\t\tterm0: { id: 'agedx' }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts > 2, 'should have more than 2 charts by Age at Cancer Diagnosis')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=categorical, term2=categorical (patient-level)', function (test) {\n\ttest.timeoutAfter(5000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'diaggrp' },\n\t\t\t\t\tterm2: { id: 'sex' }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 5\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} Diagnosis Group bars`)\n\t\ttest.true(numOverlays > numBars, 'number of overlays should be greater than bars')\n\t}\n})\n\ntape('term1=categorical (relapse-level), term2=categorical (patient-level)', function (test) {\n\ttest.timeoutAfter(5000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'relapse_site' },\n\t\t\t\t\tterm2: { id: 'sex' }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\ttestAxisTitle()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 2\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays > numBars, 'number of overlays should be greater than bars')\n\t}\n\n\tfunction testAxisTitle() {\n\t\tconst chartTitle = barDiv.select('[data-testid=\"sjpp-massbarchart-horizontal-charttitle\"]')\n\t\ttest.equal(chartTitle.text(), '# of relapse samples (n=10)', 'sample type of barchart should be relapse samples')\n\t}\n})\n\ntape('term1=geneVariant with groups', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [{ chartType: 'summary', childType: 'barchart', term: getGeneVariantTw() }]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant term')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneVariant, term2=geneVariant using region but not gene', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: getGeneVariantTw(),\n\t\t\t\t\tterm2: getGeneVariantTw(true) // gives region but not gene\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant term')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneVariant geneset with groups', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: getGenesetMutTw()\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant gene set')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=categorical, term2=geneVariant', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'diaggrp' },\n\t\t\t\t\tterm2: { term: { type: 'geneVariant', gene: 'TP53' }, q: { type: 'predefined-groupset' } }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant term')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=categorical (patient-level), term2=geneVariant', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'genetic_race' },\n\t\t\t\t\tterm2: { term: { type: 'geneVariant', gene: 'TP53' }, q: { type: 'predefined-groupset' } }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 2\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays > numBars, 'number of overlays should be greater than bars')\n\t}\n})\n\ntape('term1=geneExp, term2=geneVariant SKIPPED', function (test) {\n\ttest.timeoutAfter(10000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tterm2: { term: { type: 'geneVariant', gene: 'TP53' }, q: { type: 'predefined-groupset' } },\n\t\t\t\t\t// must set geneExp q.mode=discrete to show barchart, otherwise it will become violin and not trigger provied postRender for barchart\n\t\t\t\t\tterm: { term: { type: 'geneExpression', gene: 'TP53' }, q: { mode: 'discrete' } }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant term')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneVariant, term2=geneExp', function (test) {\n\ttest.timeoutAfter(10000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: { term: { type: 'geneVariant', gene: 'TP53' }, q: { type: 'predefined-groupset' } },\n\t\t\t\t\tterm2: { term: { type: 'geneExpression', gene: 'TP53' } }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testNumCharts\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testNumCharts(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numCharts = barDiv.selectAll('.pp-sbar-div').size()\n\t\ttest.true(numCharts == 1, 'Should have 1 chart from gene variant term')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneExp', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: { type: 'geneExpression', gene: 'TP53', name: 'TP53' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBars = barDiv.selectAll('rect').size()\n\t\ttest.ok(\n\t\t\tbarDiv.selectAll('.pp-sbar-div').size() == 1 && barchart.Inner.config.term.bins.length && numBars,\n\t\t\t'Should correctly render a bar chart for a gene expression term = TP53'\n\t\t)\n\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=numeric term2=geneExp with default bins', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: { id: 'agedx' },\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tterm: { type: 'geneExpression', gene: 'TP53' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBarCalls = barDiv.selectAll('.bars-cell').size()\n\t\tconst tableRows = barDiv.selectAll('tr').size()\n\t\ttest.equal(\n\t\t\tnumBarCalls,\n\t\t\ttableRows - 1,\n\t\t\t'Should display the correct number of bars and table rows when overlaid by gene expression term.'\n\t\t)\n\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneExp, term2=categorical', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: { gene: 'TP53', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t},\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tid: 'diaggrp'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tasync function runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBarCells = await detectGte({ elem: barDiv.node(), selector: '.bars-cell', count: 22 })\n\t\tconst tableRows = await detectGte({ elem: barDiv.node(), selector: 'tr', count: 22 })\n\t\ttest.ok(\n\t\t\t// table has one row for header\n\t\t\tnumBarCells.length >= tableRows.length - 1,\n\t\t\t'Should display the correct number of cells and table rows when gene expression term is overlaid by a categorical term.'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=geneExp, term2=categorical (patient-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: { gene: 'TP53', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t},\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tid: 'sex'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 5\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays > numBars, 'number of overlays should be greater than bars')\n\t}\n})\n\ntape('term1=condition, term2=gene exp with default bins', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'Hearing loss'\n\t\t\t\t\t},\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tterm: { gene: 'TP53', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tasync function runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBarCells = await detectGte({ elem: barDiv.node(), selector: '.bars-cell', count: 14 })\n\t\tconst tableRows = await detectGte({ elem: barDiv.node(), selector: 'tr', count: 14 })\n\t\ttest.ok(\n\t\t\t// table has one row for header\n\t\t\tnumBarCells.length >= tableRows.length - 1,\n\t\t\t'Should display the correct number of cells and table rows when gene expression term is overlaid by a conditional term.'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=TP53 gene exp, term2=BCR gene exp, both terms with default bins', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: { gene: 'TP53', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t},\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tterm: { gene: 'BCR', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tasync function runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBarCells = await detectGte({ elem: barDiv.node(), selector: '.bars-cell', count: 27 })\n\t\tconst tableRows = await detectGte({ elem: barDiv.node(), selector: 'tr', count: 28 })\n\t\ttest.ok(\n\t\t\tnumBarCells.length == tableRows.length - 1,\n\t\t\t'Should display the correct number of cells and table rows when gene expression term is overlaid by a gene expression term.'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=categorical, term0=gene exp with default bins', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'diaggrp'\n\t\t\t\t\t},\n\t\t\t\t\tterm0: {\n\t\t\t\t\t\tterm: { gene: 'TP53', name: 'TP53', type: 'geneExpression' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tasync function runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\n\t\tconst numBarchart = await detectGte({ elem: barDiv.node(), selector: '.pp-bars-svg', count: 8 })\n\t\ttest.equal(\n\t\t\tnumBarchart.length,\n\t\t\t8,\n\t\t\t'Should display the correct number of barcharts when a categorical term is overlaid by a gene expression term.'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('term1=scct', function (test) {\n\ttest.timeoutAfter(3000)\n\n\tconst scctTw = getScctTw()\n\tscctTw.term.sample.name = 'UMAP'\n\n\trunpp({\n\t\tstate: {\n\t\t\tnav: { header_mode: 'hidden' },\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tterm: scctTw\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tasync function runTests(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst count = 1\n\n\t\tconst numBarchart = await detectGte({ elem: barDiv.node(), selector: '.pp-bars-svg', count })\n\t\ttest.equal(numBarchart.length, count, 'Should display a barchart for a single cell cell type term.')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('series visibility - q.hiddenValues', function (test) {\n\ttest.timeoutAfter(5000)\n\ttest.plan(2)\n\n\tconst hiddenValues = { 1: true }\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'sex',\n\t\t\t\t\t\tq: {\n\t\t\t\t\t\t\thiddenValues\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testHiddenValues\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testHiddenValues(barchart) {\n\t\tconst bar = barchart.Inner\n\t\ttest.deepEqual(\n\t\t\tbar.settings.exclude.cols.sort(),\n\t\t\tObject.keys(hiddenValues).sort(),\n\t\t\t'should have the correct number of hidden bars by q.hiddenValues'\n\t\t)\n\t\ttest.equal(\n\t\t\tbar.dom.holder.selectAll('.bars-cell').size(),\n\t\t\tbar.settings.cols.length - bar.settings.exclude.cols.length,\n\t\t\t'should render the correct number of visible bars'\n\t\t)\n\t\tif (test._ok) bar.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('series visibility - numeric', function (test) {\n\ttest.timeoutAfter(5000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tnav: { activeTab: 1 },\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'aaclassic_5' }\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runNumericExcludedTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runNumericExcludedTests(barchart) {\n\t\thelpers\n\t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test' })\n\t\t\t.run(testHiddenByValuesAndOrder)\n\t\t\t.use(triggerHiddenLegendClick, { wait: 800 })\n\t\t\t.to(testRevealedBar, { wait: 100 })\n\t\t\t.use(triggerMenuClickToHide, { wait: 100 })\n\t\t\t.to(testHiddenLegendDisplay, { wait: 600 })\n\t\t\t.done(test)\n\t}\n\n\tfunction testHiddenByValuesAndOrder(barchart) {\n\t\tconst bar = barchart.Inner\n\t\tconst excluded = bar.settings.exclude.cols\n\t\ttest.true(\n\t\t\texcluded.length > 1 && excluded.length == Object.keys(bar.config.term.q.hiddenValues).length,\n\t\t\t'should have the correct number of excluded numeric series by q.hiddenValues'\n\t\t)\n\t\t// console.log(bar.dom.legendDiv.selectAll('.legend-row').nodes())\n\t\tconst foundHiddenLabels = bar.dom.legendDiv\n\t\t\t.selectAll('.sjpp-htmlLegend')\n\t\t\t.filter(d => d?.isHidden == true)\n\t\t\t.nodes()\n\n\t\ttest.equal(\n\t\t\tfoundHiddenLabels.length + 1,\n\t\t\texcluded.length,\n\t\t\t'should display the correct number of hidden legend labels'\n\t\t)\n\n\t\tconst barOrder = [...bar.dom.holder.node().querySelectorAll('.bars-cell-grp')].sort(\n\t\t\t(a, b) => a.__data__.data[0].y - b.__data__.data[0].y\n\t\t)\n\t\ttest.deepEqual(\n\t\t\tbarOrder.map(d => d.__data__.seriesId),\n\t\t\t['<5000', '5000 to <10000', '10000 to <15000', '15000 to <20000', '20000 to <25000', '\u226525000'],\n\t\t\t'should render the bars in the expected order'\n\t\t)\n\t}\n\n\tlet numHiddenLegendBeforeClick\n\tfunction triggerHiddenLegendClick(barchart) {\n\t\tnumHiddenLegendBeforeClick = barchart.Inner.settings.exclude.cols.length\n\t\tconst node = barchart.Inner.dom.legendDiv\n\t\t\t.selectAll('.sjpp-htmlLegend')\n\t\t\t.filter(d => d?.isHidden == true)\n\t\t\t.node()\n\t\thideCategory(node.__data__, barchart.Inner, false)\n\t}\n\n\tfunction testRevealedBar(barchart) {\n\t\tconst bar = barchart.Inner\n\t\tconst excluded = bar.settings.exclude.cols\n\t\ttest.equal(excluded.length, numHiddenLegendBeforeClick - 1, 'should adjust the number of excluded series data')\n\n\t\tconst foundHiddenLabels = bar.dom.legendDiv\n\t\t\t.selectAll('.legend-row')\n\t\t\t.filter(d => d?.isHidden == true)\n\t\t\t.nodes()\n\t\ttest.equal(\n\t\t\tfoundHiddenLabels.length + 1,\n\t\t\texcluded.length,\n\t\t\t'should adjust the number of hidden legend labels after clicking to reveal one'\n\t\t)\n\t}\n\n\tfunction triggerMenuClickToHide(barchart) {\n\t\tconst node = barchart.Inner.dom.holder\n\t\t\t.selectAll('.bars-cell-grp')\n\t\t\t.filter(d => d.seriesId == 'not exposed')\n\t\t\t.node()\n\t\t\t.dispatchEvent(new Event('click', { bubbles: true }))\n\t\tbarchart.Inner.app.tip.d\n\t\t\t.selectAll('.sja_menuoption')\n\t\t\t.filter(d => d.label.includes('Hide'))\n\t\t\t.node()\n\t\t\t.click()\n\t}\n\n\tfunction testHiddenLegendDisplay(barchart) {\n\t\ttest.equal(\n\t\t\tbarchart.Inner.dom.legendDiv\n\t\t\t\t.selectAll('.sjpp-htmlLegend')\n\t\t\t\t.filter(function () {\n\t\t\t\t\treturn this.innerHTML.includes('not exposed')\n\t\t\t\t})\n\t\t\t\t.size(),\n\t\t\t1,\n\t\t\t'should hide a special numeric value by menu click'\n\t\t)\n\t}\n})\n\ntape('series visibility and order - condition', function (test) {\n\ttest.timeoutAfter(5000)\n\n\tconst conditionHiddenValues = { '1: Mild': 1 }\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'Arrhythmias',\n\t\t\t\t\t\tq: {\n\t\t\t\t\t\t\thiddenValues: conditionHiddenValues\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testConditionHiddenValues\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testConditionHiddenValues(barchart) {\n\t\tconst bar = barchart.Inner\n\t\tconst excluded = bar.settings.exclude.cols\n\t\t// exclude \"Unknown status\" and \"1: Mild\"\n\t\ttest.equal(excluded.length, 1, 'should have the correct number of hidden condition bars by q.hiddenValues')\n\t\tconst barOrder = [...bar.dom.holder.node().querySelectorAll('.bars-cell-grp')].sort(\n\t\t\t(a, b) => a.__data__.data[0].y - b.__data__.data[0].y\n\t\t)\n\t\ttest.deepEqual(\n\t\t\tbarOrder.map(d => d.__data__.seriesId),\n\t\t\t['0: No condition', '2: Moderate', '3: Severe', '4: Life-threatening'],\n\t\t\t'should render the bars in the expected order'\n\t\t)\n\t\tif (test._ok) bar.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('single barchart, categorical filter', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: 1,\n\t\t\t\t\tjoin: '',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'diaggrp' }, values: [{ key: 'Acute lymphoblastic leukemia' }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'agedx'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 3\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays == numBars, 'number of overlays should equal number of bars')\n\t}\n})\n\ntape('single barchart, categorical filter (patient-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: 1,\n\t\t\t\t\tjoin: '',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'sex' }, values: [{ key: '2' }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'agedx'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 3\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays == numBars, 'number of overlays should equal number of bars')\n\t}\n})\n\ntape('single barchart (relapse-level), categorical filter (patient-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: 1,\n\t\t\t\t\tjoin: '',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'sex' }, values: [{ key: '2' }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'age_relapse'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 2\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays == numBars, 'number of overlays should equal number of bars')\n\t}\n})\n\ntape('single geneExp barchart, categorical filter (patient-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: 1,\n\t\t\t\t\tjoin: '',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'sex' }, values: [{ key: '2' }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'summary',\n\t\t\t\t\tchildType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: { type: 'geneExpression', gene: 'TP53' },\n\t\t\t\t\t\tq: { mode: 'discrete' }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\tawait detectOne({ elem: barDiv.node(), selector: '.pp-bars-svg' })\n\t\ttestBarCount()\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount() {\n\t\t// no need to await, the bar order will tested after the initial postRender event\n\t\tconst minBars = 3\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n\t\ttest.true(numBars > minBars, `should have more than ${minBars} bars`)\n\t\ttest.true(numOverlays == numBars, 'number of overlays should equal number of bars')\n\t}\n})\n\ntape('single barchart (patient-level), compound filter (patient-level + sample-level)', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tin: 1,\n\t\t\t\t\tjoin: 'and',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'diaggrp' }, values: [{ key: 'Wilms tumor' }] }\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { id: 'sex' }, values: [{ key: '1' }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'sex'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttest.equal(\n\t\t\tbarchart.Inner.dom.holder.node().querySelectorAll('.bars-cell-grp').length,\n\t\t\t1,\n\t\t\t'should show one bar series'\n\t\t)\n\t\ttest.equal(\n\t\t\tbarchart.Inner.dom.holder.node().querySelector('.bars-cell-grp').__data__.seriesId,\n\t\t\t'1',\n\t\t\t'should show one bar series that matches filter value'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\n// skipped until non-dictionary terms can be filtered by patient-level terms\ntape.skip('genevariant barchart, compound filter', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tjoin: 'or',\n\t\t\t\t\tin: true,\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{ type: 'tvs', tvs: { term: { id: 'sex' }, values: [{ key: '1' }] } },\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: { term: { gene: 'TP53', name: 'TP53', type: 'geneExpression' }, ranges: [{ start: 1, stop: 10 }] }\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tplots: [{ chartType: 'summary', childType: 'barchart', term: getGeneVariantTw() }]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttest.equal(\n\t\t\tbarchart.Inner.dom.holder.node().querySelectorAll('.bars-cell-grp').length,\n\t\t\t2,\n\t\t\t'should show two bar series'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('single barchart, TP53 mutation dtTerm filter', function (test) {\n\ttest.timeoutAfter(3000)\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: { filter: tp53dtTermFilter },\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'agedx' }\n\t\t\t\t\t// since p53 mutation filter is applied at sample level, barchart term must be sample-level (agedx)\n\t\t\t\t\t// patient-level term (sex) won't show data\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\ttest.equal(\n\t\t\tbarchart.Inner.dom.holder.node().querySelectorAll('.bars-cell-grp').length,\n\t\t\t2,\n\t\t\t'should show two bar series'\n\t\t)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('click non-group bar to add filter', function (test) {\n\ttest.timeoutAfter(8000)\n\ttest.plan(3)\n\n\tconst termfilter = { filter: [] }\n\trunpp({\n\t\tstate: {\n\t\t\tnav: {\n\t\t\t\tactiveCohort: 0\n\t\t\t},\n\t\t\ttermfilter,\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'agedx', term: termjson['agedx'], q: termjson['agedx'].bins.less },\n\t\t\t\t\tterm2: {\n\t\t\t\t\t\tid: 'Arrhythmias',\n\t\t\t\t\t\tterm: termjson['Arrhythmias'],\n\t\t\t\t\t\tq: {\n\t\t\t\t\t\t\thiddenValues: {\n\t\t\t\t\t\t\t\t'Unknown status': 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tif (barDiv) return\n\t\tbarchart.Inner.bus.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\ttriggerBarClick(barchart)\n\t\tawait detectLst({ elem: barchart.Inner.app.tip.d.node(), selector: '.sja_menuoption', count: 1, matchAs: '>=' })\n\t\ttriggerMenuClick(barchart)\n\t\tawait detectLst({\n\t\t\telem: barchart.Inner.app.Inner.dom.holder.node(),\n\t\t\tselector: '.sja_filter_item',\n\t\t\tcount: 1,\n\t\t\tmatchAs: '>='\n\t\t})\n\t\ttestTermValues(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tlet clickedData, currData\n\tfunction triggerBarClick(barchart) {\n\t\tconst elem = barDiv.node().querySelector('.bars-cell').querySelector('rect')\n\t\tclickedData = elem.__data__\n\t\tcurrData = barchart.Inner.currServerData\n\t\telem.dispatchEvent(new Event('click', { bubbles: true }))\n\t}\n\n\tfunction triggerMenuClick(barchart) {\n\t\tbarchart.Inner.app.tip.d\n\t\t\t.selectAll('.sja_menuoption')\n\t\t\t.filter(d => d.label.includes('filter'))\n\t\t\t.node()\n\t\t\t.dispatchEvent(new Event('click', { bubbles: true }))\n\t}\n\n\tfunction testTermValues(barchart) {\n\t\tconst config = barchart.Inner.state.config\n\t\tconst termfilter = barchart.Inner.app.Inner.state.termfilter\n\t\tconst filter = getFilterItemByTag(termfilter.filter, 'filterUiRoot')\n\t\ttest.equal(\n\t\t\tfilter && filter.lst.length,\n\t\t\t2,\n\t\t\t'should create two tvslst filters when a numeric term overlay is clicked'\n\t\t)\n\t\ttest.deepEqual(\n\t\t\tfilter.lst[0],\n\t\t\t{\n\t\t\t\ttype: 'tvs',\n\t\t\t\ttvs: {\n\t\t\t\t\tterm: config.term.term,\n\t\t\t\t\tranges: [currData.refs.bins[1].find(d => d.label == clickedData.seriesId)]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'should create a numeric term-value filter with a ranges key'\n\t\t)\n\t\t// config.term2.q is frozen\n\t\tconst q = JSON.parse(JSON.stringify(config.term2.q))\n\t\tconst t2ValKey =\n\t\t\tconfig.term2 &&\n\t\t\tconfig.term2.term.values &&\n\t\t\tObject.keys(config.term2.term.values).filter(key => config.term2.term.values[key].label == clickedData.dataId)[0]\n\t\ttest.deepEqual(\n\t\t\tfilter.lst[1],\n\t\t\t{\n\t\t\t\ttype: 'tvs',\n\t\t\t\ttvs: Object.assign(\n\t\t\t\t\t{\n\t\t\t\t\t\tterm: config.term2.term,\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tkey: t2ValKey !== undefined ? t2ValKey : clickedData.dataId,\n\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\tclickedData.dataId in config.term2.term.values\n\t\t\t\t\t\t\t\t\t\t? config.term2.term.values[clickedData.dataId].label\n\t\t\t\t\t\t\t\t\t\t: clickedData.dataId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t]\n\t\t\t\t\t},\n\t\t\t\t\tq\n\t\t\t\t)\n\t\t\t},\n\t\t\t'should create a condition term-value filter with bar_by_*, value_by_*, and other expected keys'\n\t\t)\n\t}\n})\n\ntape('click custom categorical group bar to add filter', function (test) {\n\ttest.timeoutAfter(3000)\n\n\tconst termfilter = { filter: [] }\n\tconst tw = getCategoryGroupsetting()\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter,\n\t\t\tplots: [{ chartType: 'barchart', term: tw }]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tif (barDiv) return\n\t\tbarchart.Inner.bus.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\thelpers\n\t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test' })\n\t\t\t.run(triggerBarClick, { wait: 600 })\n\t\t\t.use(triggerMenuClick, { wait: 500 })\n\t\t\t.to(testTermValues, { wait: 100 })\n\t\t\t.done(test)\n\t}\n\n\tlet clickedData\n\tfunction triggerBarClick(barchart) {\n\t\tconst elem = barDiv.node().querySelector('.bars-cell').querySelector('rect')\n\t\tclickedData = elem.__data__\n\t\telem.dispatchEvent(new Event('click', { bubbles: true }))\n\t}\n\n\tfunction triggerMenuClick(barchart) {\n\t\tbarchart.Inner.app.tip.d\n\t\t\t.selectAll('.sja_menuoption')\n\t\t\t.filter(d => d.label.includes('filter'))\n\t\t\t.node()\n\t\t\t.click() //dispatchEvent(new Event('click', { bubbles: true }))\n\t}\n\n\tfunction testTermValues(barchart) {\n\t\tconst config = barchart.Inner.state.config\n\t\tconst currData = barchart.Inner.currServerData\n\t\tconst termfilter = barchart.Inner.app.Inner.state.termfilter\n\t\tconst filter = getFilterItemByTag(termfilter.filter, 'filterUiRoot')\n\t\ttest.equal(\n\t\t\tfilter && filter.lst.length,\n\t\t\t1,\n\t\t\t'should create one tvslst filters when a numeric term overlay is clicked'\n\t\t)\n\t\ttest.deepEqual(\n\t\t\tfilter.lst[0],\n\t\t\t{\n\t\t\t\ttype: 'tvs',\n\t\t\t\ttvs: {\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tname: 'group',\n\t\t\t\t\t\ttype: 'samplelst',\n\t\t\t\t\t\tvalues: {\n\t\t\t\t\t\t\tGroup: {\n\t\t\t\t\t\t\t\tkey: 'Group',\n\t\t\t\t\t\t\t\tlabel: 'Group',\n\t\t\t\t\t\t\t\tlist: [\n\t\t\t\t\t\t\t\t\t{ sampleId: '41' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '42' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '43' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '44' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '45' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '46' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '47' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '48' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '49' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '50' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '51' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '52' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '53' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '54' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '55' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '56' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '57' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '58' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '59' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '60' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '61' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '63' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '64' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '65' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '66' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '67' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '68' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '69' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '70' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '71' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '72' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '73' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '74' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '75' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '76' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '77' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '78' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '80' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '93' }\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'Not in Group': {\n\t\t\t\t\t\t\t\tkey: 'Not in Group',\n\t\t\t\t\t\t\t\tlabel: 'Not in Group',\n\t\t\t\t\t\t\t\tcolor: '#aaa',\n\t\t\t\t\t\t\t\tlist: [\n\t\t\t\t\t\t\t\t\t{ sampleId: '41' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '42' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '43' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '44' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '45' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '46' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '47' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '48' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '49' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '50' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '51' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '52' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '53' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '54' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '55' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '56' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '57' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '58' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '59' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '60' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '61' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '63' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '64' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '65' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '66' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '67' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '68' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '69' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '70' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '71' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '72' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '73' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '74' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '75' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '76' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '77' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '78' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '80' },\n\t\t\t\t\t\t\t\t\t{ sampleId: '93' }\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tin: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tnoEdit: true\n\t\t\t},\n\t\t\t'should create a customset filter with the clicked group.values array'\n\t\t)\n\t}\n})\n\n/* bar_by_children handling has been inactivated\ntape.skip('click custom subcondition group bar to add filter', function(test) {\n\ttest.timeoutAfter(3000)\n\n\tconst termfilter = { filter: [] }\n\tconst customset = {\n\t\tname: 'A vs. B vs. C',\n\t\tgroups: [\n\t\t\t{\n\t\t\t\tname: 'Test A',\n\t\t\t\ttype: 'values',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Sinus tachycardia',\n\t\t\t\t\t\tlabel: 'Sinus tachycardia'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Sinus bradycardia',\n\t\t\t\t\t\tlabel: 'Sinus bradycardia'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Test B',\n\t\t\t\ttype: 'values',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Conduction abnormalities',\n\t\t\t\t\t\tlabel: 'Conduction abnormalities'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Atrioventricular heart block',\n\t\t\t\t\t\tlabel: 'Atrioventricular heart block'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Test C',\n\t\t\t\ttype: 'values',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Prolonged QT interval',\n\t\t\t\t\t\tlabel: 'Prolonged QT interval'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'Cardiac dysrhythmia',\n\t\t\t\t\t\tlabel: 'Cardiac dysrhythmia'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t}\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter,\n\t\t\tplots: [{\n\t\t\t\tchartType: 'barchart',\n\t\t\t\tterm: {\n\t\t\t\t\tid: 'Arrhythmias',\n\t\t\t\t\tterm: termjson['Arrhythmias'],\n\t\t\t\t\tq: {\n\t\t\t\t\t\tbar_by_children: true,\n\t\t\t\t\t\tvalue_by_max_grade: 1,\n\t\t\t\t\t\tgroupsetting: {\n\t\t\t\t\t\t\tdisabled: false,\n\t\t\t\t\t\t\tinuse: true,\n\t\t\t\t\t\t\t//predefined_groupset_idx: INT,\n\t\t\t\t\t\t\tcustomset\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tfunction runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tif (barDiv) return\n\t\tbarchart.Inner.bus.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\thelpers\n\t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test' })\n\t\t\t.run(triggerBarClick, { wait: 600 })\n\t\t\t.use(triggerMenuClick, { wait: 500 })\n\t\t\t.to(testTermValues, { wait: 100 })\n\t\t\t.done(test)\n\t}\n\n\tlet clickedData\n\tfunction triggerBarClick(barchart) {\n\t\tconst elem = barDiv\n\t\t\t.selectAll('.bars-cell')\n\t\t\t.selectAll('rect')\n\t\t\t.filter(d => d.colId == 'Test A')\n\t\t\t.node()\n\t\tclickedData = elem.__data__\n\t\telem.dispatchEvent(new Event('click', { bubbles: true }))\n\t}\n\n\tfunction triggerMenuClick(barchart) {\n\t\tbarchart.Inner.app.tip.d\n\t\t\t.selectAll('.sja_menuoption')\n\t\t\t.filter(d => d.label.includes('filter'))\n\t\t\t.node()\n\t\t\t.click()\n\t}\n\n\tfunction testTermValues(barchart) {\n\t\tconst config = barchart.Inner.state.config\n\t\tconst currData = barchart.Inner.currServerData\n\t\tconst termfilter = barchart.Inner.app.Inner.state.termfilter\n\t\tconst filter = getFilterItemByTag(termfilter.filter, 'filterUiRoot')\n\t\ttest.equal(\n\t\t\tfilter && filter.lst.length,\n\t\t\t1,\n\t\t\t'should create one tvslst filters when a numeric term overlay is clicked'\n\t\t)\n\t\ttest.deepEqual(\n\t\t\tfilter.lst[0],\n\t\t\t{\n\t\t\t\ttype: 'tvs',\n\t\t\t\ttvs: {\n\t\t\t\t\tterm: config.term.term,\n\t\t\t\t\tvalues: customset.groups[0].values,\n\t\t\t\t\tgroupset_label: customset.groups[0].name,\n\t\t\t\t\tbar_by_children: true,\n\t\t\t\t\tvalue_by_max_grade: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\t'should create a customset filter with the clicked group.values array'\n\t\t)\n\t}\n})\n*/\n\ntape('numeric exclude range', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: { id: 'aaclassic_5', term: termjson['aaclassic_5'] },\n\t\t\t\t\tterm2: { id: 'sex' }\n\t\t\t\t}\n\t\t\t],\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tjoin: 'and',\n\t\t\t\t\tin: true,\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttag: 'cohortFilter',\n\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\tterm: { id: 'subcohort', type: 'multivalue' },\n\t\t\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t\t\t{ key: 'ABC', label: 'ABC' }\n\t\t\t\t\t\t\t\t\t//{key:'XYZ',label:'XYZ'},\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\t\t\ttag: 'filterUiRoot',\n\t\t\t\t\t\t\tjoin: '',\n\t\t\t\t\t\t\tin: true,\n\t\t\t\t\t\t\tlst: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\t\t\tterm: termjson['aaclassic_5'],\n\t\t\t\t\t\t\t\t\t\tranges: [{ start: 10000, stopunbounded: true, startinclusive: false, stopinclusive: true }],\n\t\t\t\t\t\t\t\t\t\tisnot: true\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tnav: {\n\t\t\t\theader_mode: 'with_tabs'\n\t\t\t},\n\t\t\tactiveCohort: -1\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': testBarCount\n\t\t\t}\n\t\t}\n\t})\n\n\tfunction testBarCount(barchart) {\n\t\tconst barDiv = barchart.Inner.dom.barDiv\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\ttest.equal(numBars, 8, 'should have 8 bars')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\n// tape.skip('numeric filter - only special value', function (test) {\n// \ttest.timeoutAfter(5000)\n\n// \trunpp({\n// \t\tstate: {\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: { id: 'aaclassic_5' }\n// \t\t\t\t}\n// \t\t\t],\n// \t\t\ttermfilter: {\n// \t\t\t\tfilter: {\n// \t\t\t\t\ttype: 'tvslst',\n// \t\t\t\t\tin: 1,\n// \t\t\t\t\tjoin: '',\n// \t\t\t\t\tlst: [\n// \t\t\t\t\t\t{\n// \t\t\t\t\t\t\ttype: 'tvs',\n// \t\t\t\t\t\t\ttvs: {\n// \t\t\t\t\t\t\t\tterm: termjson['aaclassic_5'],\n// \t\t\t\t\t\t\t\tranges: [{ value: -8888, label: 'test' }]\n// \t\t\t\t\t\t\t}\n// \t\t\t\t\t\t}\n// \t\t\t\t\t]\n// \t\t\t\t}\n// \t\t\t}\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runNumericValueTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tfunction runNumericValueTests(barchart) {\n// \t\thelpers\n// \t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test' })\n// \t\t\t//.run(testNoBar, { wait: 300 })\n// \t\t\t//.use(triggerHiddenLegendClick, { wait: 300 })\n// \t\t\t.run(testHasBar, { wait: 300 })\n// \t\t\t.done(test)\n// \t}\n\n// \tfunction testNoBar(barchart) {\n// \t\tconst barDiv = barchart.Inner.dom.barDiv\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(numBars, 0, 'should have 0 bar')\n// \t}\n\n// \tfunction triggerHiddenLegendClick(barchart) {\n// \t\tbarchart.Inner.dom.legendDiv.node().querySelector('.legend-row').click()\n// \t}\n\n// \tfunction testHasBar(barchart) {\n// \t\tconst barDiv = barchart.Inner.dom.barDiv\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(\n// \t\t\tnumBars,\n// \t\t\t1,\n// \t\t\t'should have 1 bar, forced to be visible on first render to avoid confusion with a blank barchart'\n// \t\t)\n// \t}\n// })\n\n// tape.skip('custom vocab: categorical terms with numeric filter', test => {\n// \ttest.timeoutAfter(3000)\n\n// \tconst custom_runpp = helpers.getRunPp('termdb', {\n// \t\tdebug: 1,\n// \t\tstate: {\n// \t\t\tnav: {\n// \t\t\t\theader_mode: 'search_only'\n// \t\t\t},\n// \t\t\tvocab: vocabData.getExample()\n// \t\t}\n// \t})\n\n// \tcustom_runpp({\n// \t\tstate: {\n// \t\t\ttermfilter: {\n// \t\t\t\tfilter: {\n// \t\t\t\t\ttype: 'tvslst',\n// \t\t\t\t\tjoin: '',\n// \t\t\t\t\tlst: [\n// \t\t\t\t\t\t{\n// \t\t\t\t\t\t\ttype: 'tvs',\n// \t\t\t\t\t\t\ttvs: {\n// \t\t\t\t\t\t\t\tterm: vocabData.terms.find(t => t.id == 'd'),\n// \t\t\t\t\t\t\t\tranges: [{ start: 0.1, startinclusive: false, stopunbounded: true }]\n// \t\t\t\t\t\t\t}\n// \t\t\t\t\t\t}\n// \t\t\t\t\t]\n// \t\t\t\t}\n// \t\t\t},\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: {\n// \t\t\t\t\t\tterm: vocabData.terms.find(t => t.id == 'c')\n// \t\t\t\t\t}\n// \t\t\t\t}\n// \t\t\t]\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tfunction runTests(barchart) {\n// \t\tbarchart.on('postRender.test', null)\n// \t\ttestBarCount(barchart)\n// \t\tif (test._ok) barchart.Inner.app.destroy()\n// \t\ttest.end()\n// \t}\n\n// \tlet barDiv\n// \tfunction testBarCount(barchart) {\n// \t\tbarDiv = barchart.Inner.dom.barDiv\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(numBars, 2, 'should have 2 bars')\n// \t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n// \t}\n// })\n\n// tape.skip('custom vocab: numeric terms with categorical filter', test => {\n// \ttest.timeoutAfter(3000)\n// \tconst vocab = vocabData.getExample()\n// \tconst custom_runpp = helpers.getRunPp('termdb', {\n// \t\tdebug: 1,\n// \t\tstate: {\n// \t\t\tnav: {\n// \t\t\t\theader_mode: 'search_only'\n// \t\t\t},\n// \t\t\tvocab\n// \t\t}\n// \t})\n\n// \tconst dterm = vocab.terms.find(t => t.id == 'd')\n// \tcustom_runpp({\n// \t\tstate: {\n// \t\t\ttermfilter: {\n// \t\t\t\tfilter: {\n// \t\t\t\t\ttype: 'tvslst',\n// \t\t\t\t\tjoin: '',\n// \t\t\t\t\tlst: [\n// \t\t\t\t\t\t{\n// \t\t\t\t\t\t\ttype: 'tvs',\n// \t\t\t\t\t\t\ttvs: {\n// \t\t\t\t\t\t\t\tterm: vocab.terms.find(t => t.id == 'c'),\n// \t\t\t\t\t\t\t\tvalues: [{ key: 1 }]\n// \t\t\t\t\t\t\t}\n// \t\t\t\t\t\t}\n// \t\t\t\t\t]\n// \t\t\t\t}\n// \t\t\t},\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: {\n// \t\t\t\t\t\tterm: dterm,\n// \t\t\t\t\t\tq: dterm.bins.default\n// \t\t\t\t\t}\n// \t\t\t\t}\n// \t\t\t]\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tfunction runTests(barchart) {\n// \t\tbarchart.on('postRender.test', null)\n// \t\ttestBarCount(barchart)\n// \t\tif (test._ok) barchart.Inner.app.destroy()\n// \t\ttest.end()\n// \t}\n\n// \tlet barDiv\n// \tfunction testBarCount(barchart) {\n// \t\tbarDiv = barchart.Inner.dom.barDiv\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(numBars, 5, 'should have 5 bars')\n// \t\ttest.equal(numBars, numOverlays, 'should have equal numbers of bars and overlays')\n// \t}\n// })\n\ntape('max number of bins: exceeded', test => {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: termjson['aaclassic_5'],\n\t\t\t\t\t\tq: {\n\t\t\t\t\t\t\ttype: 'regular-bin',\n\t\t\t\t\t\t\tbin_size: 1000,\n\t\t\t\t\t\t\tstopinclusive: true,\n\t\t\t\t\t\t\tfirst_bin: { startunbounded: true, stop: 1, stopinclusive: true, bin: 'first' },\n\t\t\t\t\t\t\tnumDecimals: 1,\n\t\t\t\t\t\t\tlast_bin: { start: 30000, bin: 'last', stopunbounded: true },\n\t\t\t\t\t\t\tstartinclusive: false\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tlet barDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\ttestBarCount(barchart)\n\t\ttriggerExceedMaxBin(barchart)\n\t\tawait testExceedMaxBin(barchart)\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n\n\tfunction testBarCount(barchart) {\n\t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n\t\ttest.equal(numBars, 22, 'should have 22 age bars')\n\t}\n\n\tfunction triggerExceedMaxBin(barchart) {\n\t\tbarchart.Inner.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: 'aaclassic_5',\n\t\t\tconfig: {\n\t\t\t\tterm: {\n\t\t\t\t\tid: 'aaclassic_5',\n\t\t\t\t\tterm: barchart.Inner.config.term.term,\n\t\t\t\t\tq: {\n\t\t\t\t\t\ttype: 'regular-bin',\n\t\t\t\t\t\tbin_size: 100,\n\t\t\t\t\t\tstopinclusive: true,\n\t\t\t\t\t\tfirst_bin: { startunbounded: true, stop: 1, stopinclusive: true, bin: 'first' },\n\t\t\t\t\t\tnumDecimals: 1,\n\t\t\t\t\t\tlast_bin: { start: 30000, bin: 'last', stopunbounded: true },\n\t\t\t\t\t\tstartinclusive: false\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tasync function testExceedMaxBin(barchart) {\n\t\t//Fix for removing sleep()\n\t\tconst barLoc = Locator.init(barchart.Inner.dom.holder.node())\n\t\tconst numBars = await barLoc.shows('.bars-cell-grp', { visibility: false, count: 22 }).get()\n\t\ttest.equal(numBars.length, 22, 'should hide the previously rendered 22 age bars on error and not re-render')\n\t\tconst errorbar = await barLoc.shows('.sja_errorbar').get(0)\n\t\ttest.true(errorbar?.innerText.includes('max_num_bins_reached'), 'should show a max number of bins error')\n\t}\n})\n\ntape('minimum sample size', test => {\n\ttest.timeoutAfter(3000)\n\tconst runpp = helpers.getRunPp('mass', {\n\t\tstate: {\n\t\t\tvocab: {\n\t\t\t\tdslabel: 'ProtectedTest',\n\t\t\t\tgenome: 'hg38-test'\n\t\t\t}\n\t\t},\n\t\tdebug: 1\n\t})\n\n\trunpp({\n\t\tstate: {\n\t\t\ttermfilter: {\n\t\t\t\tfilter: {\n\t\t\t\t\ttype: 'tvslst',\n\t\t\t\t\tjoin: 'and',\n\t\t\t\t\tlst: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\tterm: termjson.agedx,\n\t\t\t\t\t\t\t\tranges: [{ start: 1, startinclusive: true, stop: 3, stopinclusive: true }]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\t\tterm: termjson.sex,\n\t\t\t\t\t\t\t\tvalues: [{ key: '1' }]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tnav: {\n\t\t\t\tactiveTab: 1\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tterm: termjson['diaggrp']\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests,\n\t\t\t\terror: runTests\n\t\t\t}\n\t\t},\n\t\tdebug: 1\n\t})\n\n\tlet barDiv, errDiv\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null).on('error', null)\n\t\tbarDiv = barchart.Inner.dom.barDiv\n\t\terrDiv = barchart.Inner.dom.errdiv\n\t\tawait testBarCount(0, 'with stricter filter')\n\t\ttest.true(errDiv.text().includes('has less than 10 samples'), 'should display the expected error message')\n\t\ttest.notEqual(errDiv.style('display'), 'none', 'should have a visible red error div')\n\t\tawait triggerClearedError(barchart)\n\t}\n\n\tasync function testBarCount(expected, testcase) {\n\t\tif (expected > 0) {\n\t\t\tconst numBars = await Locator.init(barDiv.node()).shows('.bars-cell-grp', { count: expected }).length()\n\t\t\ttest.equal(numBars, expected, `should have ${expected} bars ${testcase}`)\n\t\t\treturn\n\t\t}\n\n\t\tconst numBars = await Locator.init(barDiv.node()).find('.bars-cell-grp').length()\n\t\t//const numBars = await Locator.init(barDiv.node())[method]('.bars-cell-grp').length()\n\t\ttest.equal(numBars, expected, `should have ${expected} bars ${testcase}`)\n\t}\n\n\tasync function triggerClearedError(barchart) {\n\t\tbarchart.on('postRender.test', testClearedError).on('error', testClearedError)\n\t\tawait barchart.Inner.app.dispatch({\n\t\t\ttype: 'filter_replace',\n\t\t\tfilter: {\n\t\t\t\ttype: 'tvslst',\n\t\t\t\tjoin: '',\n\t\t\t\tin: true,\n\t\t\t\tlst: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'tvs',\n\t\t\t\t\t\ttvs: {\n\t\t\t\t\t\t\tterm: termjson.agedx,\n\t\t\t\t\t\t\tranges: [{ start: 1, startinclusive: true, stop: 3, stopinclusive: true }]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t})\n\t}\n\n\tasync function testClearedError(barchart) {\n\t\tbarchart.on('postRender.test', null).on('error', null)\n\t\tawait testBarCount(3, 'with looser filter')\n\t\ttest.equal(errDiv.text(), '', 'should have an empty error message')\n\t\ttest.equal(errDiv.style('display'), 'none', 'should have a hidden red error div')\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\ntape('no visible series data, no overlay', function (test) {\n\ttest.timeoutAfter(3000)\n\n\trunpp({\n\t\tstate: {\n\t\t\tnav: {\n\t\t\t\theader_mode: 'search_only'\n\t\t\t},\n\t\t\tplots: [\n\t\t\t\t{\n\t\t\t\t\tchartType: 'barchart',\n\t\t\t\t\tterm: {\n\t\t\t\t\t\tid: 'cisplateq_5'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tbarchart: {\n\t\t\tcallbacks: {\n\t\t\t\t'postRender.test': runTests\n\t\t\t}\n\t\t}\n\t})\n\n\tasync function runTests(barchart) {\n\t\tbarchart.on('postRender.test', null)\n\t\tconst barLoc = Locator.init(barchart.Inner.dom.holder)\n\t\t//const bars = await barDiv.shows('.bars-cell-grp').length()\n\t\tconst banner = await barLoc.shows('[data-testid=\"sjpp-barchart-banner\"]').get()\n\n\t\ttest.equal(banner.length, 1, 'should show the banner')\n\n\t\ttest.true(\n\t\t\tbanner[0]?.innerText.includes('No visible barchart data '),\n\t\t\t'should show a banner for no visible data to render'\n\t\t)\n\n\t\ttest.equal(await barLoc.shows('.sjpp-hidden-legend-item').length(), 1, 'should show a legend entry')\n\n\t\tif (test._ok) barchart.Inner.app.destroy()\n\t\ttest.end()\n\t}\n})\n\n// tape.skip('all hidden + with overlay, legend click', function (test) {\n// \ttest.timeoutAfter(9000)\n\n// \trunpp({\n// \t\tstate: {\n// \t\t\tnav: {\n// \t\t\t\theader_mode: 'search_only'\n// \t\t\t},\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: {\n// \t\t\t\t\t\tid: 'cisplateq_5'\n// \t\t\t\t\t},\n// \t\t\t\t\tterm2: {\n// \t\t\t\t\t\tid: 'sex'\n// \t\t\t\t\t}\n// \t\t\t\t}\n// \t\t\t]\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tfunction runTests(barchart) {\n// \t\tbarchart.on('postRender.test', null)\n\n// \t\thelpers\n// \t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test' })\n// \t\t\t.run(testBarCount)\n// \t\t\t.run(triggerBarClick)\n// \t\t\t.use(triggerMenuClick, { wait: 1100 })\n// \t\t\t.to(testRemovedOverlayByMenu, { wait: 100 })\n// \t\t\t.use(triggerUnhideOverlay, { wait: 1100 })\n// \t\t\t.to(testUnhiddenOverlay, { wait: 100 })\n// \t\t\t.use(triggerOverlayHideByLegendClick, { wait: 1000 })\n// \t\t\t.to(testhiddenOverlayByLegendClick, { wait: 100 })\n// \t\t\t.done(test)\n// \t}\n\n// \tlet barDiv\n// \tfunction testBarCount(barchart) {\n// \t\tbarDiv = barchart.Inner.dom.barDiv\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(\n// \t\t\tnumBars,\n// \t\t\t1,\n// \t\t\t'should have 1 visible bar on first render when Object.keys(q.hiddenValues).length > chart.serieses.length'\n// \t\t)\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(\n// \t\t\tnumOverlays,\n// \t\t\t2,\n// \t\t\t'should have 2 visible overlays on first render when Object.keys(q.hiddenValues).length > chart.serieses.length'\n// \t\t)\n// \t\ttest.equal(\n// \t\t\tbarchart.Inner.dom.banner.style('display'),\n// \t\t\t'none',\n// \t\t\t'should hide the banner when at least one chart is visible'\n// \t\t)\n// \t}\n\n// \tlet clickedData\n// \tfunction triggerBarClick(barchart) {\n// \t\tconst elem = barDiv.node().querySelector('.bars-cell').querySelector('rect')\n// \t\telem.dispatchEvent(new Event('click', { bubbles: true }))\n// \t}\n\n// \tfunction triggerMenuClick(barchart) {\n// \t\tbarchart.Inner.app.tip.d\n// \t\t\t.selectAll('.sja_menuoption')\n// \t\t\t.filter(d => d.label.includes('Hide \"Female\"'))\n// \t\t\t.node()\n// \t\t\t.dispatchEvent(new Event('click', { bubbles: true }))\n// \t}\n\n// \tfunction testRemovedOverlayByMenu(barchart) {\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(numBars, 1, 'should have 1 visible bar after hiding an overlay')\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(numOverlays, 1, 'should have 1 visible overlay left after hiding an overlay')\n// \t}\n\n// \tfunction triggerUnhideOverlay(barchart) {\n// \t\tbarchart.Inner.dom.legendDiv\n// \t\t\t.selectAll('.legend-row')\n// \t\t\t.filter(d => d.dataId == '2')\n// \t\t\t.node()\n// \t\t\t.firstChild.dispatchEvent(new Event('click', { bubbles: true }))\n// \t}\n\n// \tfunction testUnhiddenOverlay(barchart) {\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(numBars, 1, 'should have 1 visible bar after unhiding an overlay')\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(numOverlays, 2, 'should have 2 visible overlays after unhiding an overlay')\n// \t}\n\n// \tfunction triggerOverlayHideByLegendClick(barchart) {\n// \t\tbarchart.Inner.dom.legendDiv\n// \t\t\t.select('.legend-row')\n// \t\t\t.node()\n// \t\t\t.firstChild.dispatchEvent(new Event('click', { bubbles: true }))\n// \t}\n\n// \tfunction testhiddenOverlayByLegendClick(barchart) {\n// \t\tconst numBars = barDiv.selectAll('.bars-cell-grp').size()\n// \t\ttest.equal(numBars, 1, 'should have 1 visible bar after hiding an overlay by legend click')\n// \t\tconst numOverlays = barDiv.selectAll('.bars-cell').size()\n// \t\ttest.equal(numOverlays, 1, 'should have 1 visible overlays after hiding an overlay by legend click')\n// \t}\n// })\n\n// tape.skip('unhidden chart and legend', test => {\n// \ttest.timeoutAfter(8000)\n\n// \trunpp({\n// \t\tstate: {\n// \t\t\tnav: {\n// \t\t\t\theader_mode: 'search_only'\n// \t\t\t},\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: {\n// \t\t\t\t\t\tterm: termjson['aaclassic_5'],\n// \t\t\t\t\t\tq: {\n// \t\t\t\t\t\t\ttype: 'regular-bin',\n// \t\t\t\t\t\t\tbin_size: 10000,\n// \t\t\t\t\t\t\tstopinclusive: true,\n// \t\t\t\t\t\t\tfirst_bin: { startunbounded: true, stop: 1, stopinclusive: true, bin: 'first' },\n// \t\t\t\t\t\t\tnumDecimals: 1,\n// \t\t\t\t\t\t\tlast_bin: { start: 30000, bin: 'last', stopunbounded: true },\n// \t\t\t\t\t\t\tstartinclusive: false\n// \t\t\t\t\t\t}\n// \t\t\t\t\t}\n// \t\t\t\t}\n// \t\t\t]\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tasync function runTests(barchart) {\n// \t\thelpers\n// \t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test', preserve: true })\n// \t\t\t.run(testVisibleChart)\n// \t\t\t.run(triggerHideChart, 300)\n// \t\t\t.run(testHiddenChart, 300)\n// \t\t\t.run(triggerShowChart, 300)\n// \t\t\t.run(testReshownChart, 300)\n// \t\t\t.done(test)\n// \t}\n\n// \tfunction testVisibleChart(barchart) {\n// \t\ttest.notEqual(\n// \t\t\tbarchart.Inner.dom.holder.node().style.display,\n// \t\t\t'none',\n// \t\t\t'should start with both visible and not overlapping'\n// \t\t)\n// \t}\n\n// \tfunction triggerHideChart(barchart) {\n// \t\tbarchart.Inner.app.dispatch({\n// \t\t\ttype: 'plot_hide',\n// \t\t\tid: 'aaclassic_5'\n// \t\t})\n// \t}\n\n// \tfunction testHiddenChart(barchart) {\n// \t\ttest.equal(barchart.Inner.dom.holder.node().style.display, 'none', 'should trigger hiding both chart and legend')\n// \t}\n\n// \tfunction triggerShowChart(barchart) {\n// \t\t// issue to fix: clicking the view button will cause the stat table\n// \t\t// to overlap from the bottom of the chart\n// \t\tbarchart.Inner.dom.holder.node().parentNode.querySelector('.termview').click()\n\n// \t\t// same result when using dispatch\n// \t\t/*barchart.Inner.app.dispatch({\n// \t\t\ttype: 'plot_show',\n// \t\t\tid: 'aaclassic_5'\n// \t\t})*/\n// \t}\n\n// \tfunction testReshownChart(barchart) {\n// \t\ttest.true(\n// \t\t\t+barchart.Inner.dom.holder.select('svg').property('height').baseVal.value > 100,\n// \t\t\t'should not have a small barchart svg when reshowing a barchart, not overlap with legend'\n// \t\t)\n// \t}\n// })\n\n// tape.skip('customized bins', test => {\n// \ttest.timeoutAfter(3000)\n\n// \trunpp({\n// \t\tstate: {\n// \t\t\tnav: {\n// \t\t\t\theader_mode: 'search_only'\n// \t\t\t},\n// \t\t\tplots: [\n// \t\t\t\t{\n// \t\t\t\t\tchartType: 'barchart',\n// \t\t\t\t\tterm: {\n// \t\t\t\t\t\tterm: termjson['aaclassic_5']\n// \t\t\t\t\t}\n// \t\t\t\t}\n// \t\t\t]\n// \t\t},\n// \t\tbarchart: {\n// \t\t\tcallbacks: {\n// \t\t\t\t'postRender.test': runTests\n// \t\t\t}\n// \t\t}\n// \t})\n\n// \tasync function runTests(barchart) {\n// \t\thelpers\n// \t\t\t.rideInit({ arg: barchart, bus: barchart, eventType: 'postRender.test', preserve: true })\n// \t\t\t.run(triggerCustomBins, 400)\n// \t\t\t.run(triggerSearch, 300)\n// \t\t\t// .run(testReversion, 1000)\n// \t\t\t.done(test)\n// \t}\n\n// \tconst q1 = {\n// \t\ttype: 'regular-bin',\n// \t\tbin_size: 10000,\n// \t\tstopinclusive: true,\n// \t\tfirst_bin: { startunbounded: true, stop: 1, stopinclusive: true, bin: 'first' },\n// \t\tnumDecimals: 1,\n// \t\tlast_bin: { start: 30000, bin: 'last', stopunbounded: true },\n// \t\tstartinclusive: false\n// \t}\n\n// \tfunction triggerCustomBins(barchart) {\n// \t\tbarchart.Inner.app.dispatch({\n// \t\t\ttype: 'plot_edit',\n// \t\t\tid: 'aaclassic_5',\n// \t\t\tconfig: {\n// \t\t\t\tterm: {\n// \t\t\t\t\tid: 'aaclassic_5',\n// \t\t\t\t\tterm: barchart.Inner.config.term.term,\n// \t\t\t\t\tq: q1\n// \t\t\t\t}\n// \t\t\t}\n// \t\t})\n// \t}\n\n// \tasync function triggerSearch(barchart) {\n// \t\tconst dom = barchart.Inner.app.getComponents('nav.search').Inner.dom\n// \t\tdom.input.property('value', 'Cumulative Alkylating Agents (Cyclophosphamide Equivalent Dose)')\n// \t\tdom.input.on('input')()\n// \t\tawait sleep(500)\n// \t\tdom.holder.select('.sja_menuoption').node().dispatchEvent(new Event('click'))\n// \t}\n\n// \tfunction testReversion(barchart) {\n// \t\ttest.deepEqual(barchart.Inner.config.term.q, q1, 'should not be reverted when using a searched term')\n// \t}\n// })\n\n// to make or update following config, on the browser build/modify the tw or filter, apply to chart, at Session > Share > Open link, open the session file and locate the record and copy it here:\n// for geneVariant tw, search for string \"geneVariant\"\n// for filter, search for \"termfilter\"\nconst tp53dtTermFilter = {\n\ttype: 'tvslst',\n\tin: true,\n\tjoin: '',\n\tlst: [\n\t\t{\n\t\t\ttype: 'tvs',\n\t\t\ttvs: {\n\t\t\t\tterm: {\n\t\t\t\t\tid: 'snvindel_somatic',\n\t\t\t\t\tquery: 'snvindel',\n\t\t\t\t\tname: 'SNV/indel (somatic)',\n\t\t\t\t\tparent_id: null,\n\t\t\t\t\tisleaf: true,\n\t\t\t\t\ttype: 'dtsnvindel',\n\t\t\t\t\tdt: 1,\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\tM: { label: 'MISSENSE' },\n\t\t\t\t\t\tF: { label: 'FRAMESHIFT' },\n\t\t\t\t\t\tWT: { label: 'Wildtype' }\n\t\t\t\t\t},\n\t\t\t\t\tname_noOrigin: 'SNV/indel',\n\t\t\t\t\torigin: 'somatic',\n\t\t\t\t\tparentTerm: {\n\t\t\t\t\t\tname: 'TP53',\n\t\t\t\t\t\tgenes: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tkind: 'gene',\n\t\t\t\t\t\t\t\tid: 'TP53',\n\t\t\t\t\t\t\t\tgene: 'TP53',\n\t\t\t\t\t\t\t\tname: 'TP53',\n\t\t\t\t\t\t\t\ttype: 'geneVariant'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t],\n\t\t\t\t\t\ttype: 'geneVariant'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'M',\n\t\t\t\t\t\tlabel: 'MISSENSE',\n\t\t\t\t\t\tvalue: 'M',\n\t\t\t\t\t\tbar_width_frac: null\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tgenotype: 'variant',\n\t\t\t\tmcount: 'any'\n\t\t\t}\n\t\t}\n\t],\n\ttag: 'filterUiRoot'\n}\n\n/*************************\n reusable helper functions\n**************************/\n\nconst runpp = helpers.getRunPp('mass', {\n\tstate: {\n\t\tnav: {\n\t\t\tactiveTab: 1\n\t\t},\n\t\tvocab: {\n\t\t\tdslabel: 'TermdbTest',\n\t\t\tgenome: 'hg38-test'\n\t\t}\n\t},\n\tdebug: 1\n})\n", "export const terms = [\n\t{\n\t\tid: 'a',\n\t\tname: 'AAA',\n\t\tparent_id: null,\n\t\tincluded_types: ['categorical', 'integer', 'float', 'condition', 'survival'],\n\t\tchild_types: ['categorical', 'integer', 'float', 'condition', 'survival']\n\t},\n\t{\n\t\tid: 'b',\n\t\tname: 'BBB',\n\t\tparent_id: null,\n\t\tincluded_types: ['categorical', 'integer', 'float', 'condition', 'survival'],\n\t\tchild_types: ['categorical', 'integer', 'float', 'condition', 'survival']\n\t},\n\t{\n\t\ttype: 'categorical',\n\t\tid: 'c',\n\t\tname: 'CCC',\n\t\tparent_id: 'a',\n\t\tisleaf: true,\n\t\tgroupsetting: {\n\t\t\tdisabled: true\n\t\t},\n\t\tvalues: {\n\t\t\t1: { label: 'Yes' },\n\t\t\t0: { label: 'No' }\n\t\t},\n\t\tincluded_types: ['categorical'],\n\t\tchild_types: []\n\t},\n\t{\n\t\ttype: 'float',\n\t\tid: 'd',\n\t\tname: 'DDD',\n\t\tparent_id: 'a',\n\t\tisleaf: true,\n\t\tbins: {\n\t\t\tdefault: {\n\t\t\t\ttype: 'regular-bin',\n\t\t\t\tbin_size: 0.2,\n\t\t\t\tstopinclusive: true,\n\t\t\t\tfirst_bin: { startunbounded: true, stop: 0.2, stopinclusive: true }\n\t\t\t},\n\t\t\tless: {\n\t\t\t\ttype: 'regular-bin',\n\t\t\t\tbin_size: 0.4,\n\t\t\t\tstopinclusive: true,\n\t\t\t\tfirst_bin: { startunbounded: true, stop: 0.2, stopinclusive: true }\n\t\t\t}\n\t\t},\n\t\tincluded_types: ['float'],\n\t\tchild_types: []\n\t},\n\t{\n\t\ttype: 'condition',\n\t\tid: 'e',\n\t\tname: 'EEE',\n\t\tparent_id: 'a',\n\t\tisleaf: true,\n\t\tgroupsetting: {\n\t\t\tdisabled: true\n\t\t},\n\t\tincluded_types: ['condition'],\n\t\tchild_types: []\n\t},\n\t{\n\t\ttype: 'categorical',\n\t\tid: 'f',\n\t\tname: 'FFF',\n\t\tparent_id: 'b',\n\t\tisleaf: true,\n\t\tgroupsetting: {\n\t\t\tdisabled: true\n\t\t},\n\t\tvalues: {\n\t\t\t1: { label: 'Yes' },\n\t\t\t0: { label: 'No' }\n\t\t},\n\t\tincluded_types: ['categorical'],\n\t\tchild_types: []\n\t},\n\t{\n\t\ttype: 'categorical',\n\t\tid: 'g',\n\t\tname: 'CCC',\n\t\tparent_id: 'ab',\n\t\tisleaf: true,\n\t\tgroupsetting: {\n\t\t\tdisabled: true\n\t\t},\n\t\tvalues: {\n\t\t\t1: { label: 'Yes' },\n\t\t\t0: { label: 'No' }\n\t\t},\n\t\tincluded_types: ['categorical'],\n\t\tchild_types: []\n\t},\n\t{\n\t\ttype: 'survival',\n\t\tid: 's',\n\t\tname: 'Survival term',\n\t\tisleaf: true,\n\t\tvalues: {\n\t\t\t1: { label: 'Deceased' },\n\t\t\t0: { label: 'Alive' }\n\t\t}\n\t},\n\t{\n\t\ttype: 'termCollection',\n\t\tname: 'age percentages',\n\t\ttermlst: [{ id: 'agedx' }, { id: 'a_death' }, { id: 'a_ndi' }, { id: 'agelastvisit' }],\n\t\tnumerators: ['agedx']\n\t}\n]\n\nconst vocab = JSON.stringify({\n\troute: null,\n\tterms,\n\tsampleannotation: {\n\t\t1: {\n\t\t\tc: 1,\n\t\t\td: 0.1\n\t\t},\n\t\t2: {\n\t\t\tc: 0,\n\t\t\td: 0.5\n\t\t},\n\t\t3: {\n\t\t\tc: 1,\n\t\t\td: 0.8\n\t\t},\n\t\t4: {\n\t\t\tc: 1,\n\t\t\td: 0.2\n\t\t},\n\t\t5: {\n\t\t\tc: 0,\n\t\t\td: 0.4\n\t\t},\n\t\t6: {\n\t\t\tc: 1,\n\t\t\td: 0.3\n\t\t},\n\t\t7: {\n\t\t\tc: 0,\n\t\t\td: 0.5\n\t\t},\n\t\t8: {\n\t\t\tc: 1,\n\t\t\td: 0.9\n\t\t},\n\t\t9: {\n\t\t\tc: 0,\n\t\t\td: 0.05\n\t\t},\n\t\t10: {\n\t\t\tc: 1,\n\t\t\td: 1.1\n\t\t}\n\t}\n})\n\nexport function getExample() {\n\treturn JSON.parse(vocab)\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["tape", "d", "termfilter", "runpp", "numBars"]
7
+ }