@sjcrh/proteinpaint-client 2.191.4 → 2.193.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.
- package/dist/2dmaf-US2ZAJJJ.js +1373 -0
- package/dist/AIProjectAdmin-QQO2PNAJ.js +958 -0
- package/dist/AIProjectAdmin-QQO2PNAJ.js.map +7 -0
- package/dist/AppHeader-UKB344GC.js +835 -0
- package/dist/BoxPlot-JEBLRKBY.js +1217 -0
- package/dist/BoxPlot-JEBLRKBY.js.map +7 -0
- package/dist/CorrelationVolcano-J3IFVSZB.js +619 -0
- package/dist/DE-PAPJP6AH.js +95 -0
- package/dist/DEinput-YON466QQ.js +301 -0
- package/dist/DifferentialAnalysis-DEUODXGG.js +245 -0
- package/dist/Disco-OZM4S7HF.js +3297 -0
- package/dist/Disco-OZM4S7HF.js.map +7 -0
- package/dist/Disco.UI-VIHYJGYU.js +249 -0
- package/dist/Disco.UI-VIHYJGYU.js.map +7 -0
- package/dist/DmrPlot-DSELMC4E.js +642 -0
- package/dist/GB-MUPI6RL5.js +1151 -0
- package/dist/GB-MUPI6RL5.js.map +7 -0
- package/dist/GeneExpInput-3AQEPTFZ.js +367 -0
- package/dist/GeneExpInput-3AQEPTFZ.js.map +7 -0
- package/dist/HicApp-BP7PSXY2.js +2250 -0
- package/dist/NumBinaryEditor-CHWQT445.js +271 -0
- package/dist/NumBinaryEditor.unit.spec-MXRNK7XH.js +286 -0
- package/dist/NumContEditor-XS3RA7GY.js +109 -0
- package/dist/NumContEditor.unit.spec-662MHSP4.js +169 -0
- package/dist/NumCustomBinEditor-LUVIAXMZ.js +38 -0
- package/dist/NumCustomBinEditor.unit.spec-3D3GY3F4.js +284 -0
- package/dist/NumDiscreteEditor-24W2A5IN.js +179 -0
- package/dist/NumDiscreteEditor.unit.spec-B5T42Z5S.js +202 -0
- package/dist/NumRegularBinEditor-AING4HZ5.js +38 -0
- package/dist/NumRegularBinEditor.unit.spec-UKSVZH2S.js +227 -0
- package/dist/NumSplineEditor-54KNKHJX.js +198 -0
- package/dist/NumSplineEditor.unit.spec-5FTST3Y5.js +199 -0
- package/dist/NumericDensity-C7DQZ5Q5.js +38 -0
- package/dist/NumericDensity.unit.spec-HV6SD3ZS.js +221 -0
- package/dist/NumericHandler-FV3L23EC.js +39 -0
- package/dist/NumericHandler.unit.spec-E72DXVBB.js +219 -0
- package/dist/ProteomeInput-3XTK74SN.js +396 -0
- package/dist/RunChart2-X5FBZVRX.js +758 -0
- package/dist/SC-WE5DG2CQ.js +1127 -0
- package/dist/SC-WE5DG2CQ.js.map +7 -0
- package/dist/Volcano-2USCTLKO.js +1379 -0
- package/dist/WSIViewer-U6VSJUFF.js +48562 -0
- package/dist/WSIViewer-U6VSJUFF.js.map +7 -0
- package/dist/WsiSamplesPlot-VIKSG63U.js +165 -0
- package/dist/adSandbox-VXUJGPD3.js +38 -0
- package/dist/animatedBubbleChart-4P7XLKSB.js +555 -0
- package/dist/animatedBubbleChart-4P7XLKSB.js.map +7 -0
- package/dist/app-KHZT2BVF.js +49 -0
- package/dist/app-XLYH3YPL.js +37 -0
- package/dist/app.js +20 -20
- package/dist/bam-C23ZARYE.js +860 -0
- package/dist/barchart-KGXLYEIP.js +47 -0
- package/dist/barchart.data-7OI5GZZ6.js +22 -0
- package/dist/barchart.events-3KDNIFBG.js +47 -0
- package/dist/barchart.integration.spec-OQYY54AQ.js +2010 -0
- package/dist/barchart.integration.spec-OQYY54AQ.js.map +7 -0
- package/dist/barchart2-AT5FXOUY.js +314 -0
- package/dist/barchart2-AT5FXOUY.js.map +7 -0
- package/dist/bars.renderer-57KSYAAT.js +12 -0
- package/dist/block-TCWYUB4R.js +6226 -0
- package/dist/block-TCWYUB4R.js.map +7 -0
- package/dist/block.init-7FHXQJNE.js +38 -0
- package/dist/block.mds.expressionrank-UGZQK7Z3.js +359 -0
- package/dist/block.mds.geneboxplot-2CQLB4YN.js +828 -0
- package/dist/block.mds.junction-JHPHWVOS.js +1545 -0
- package/dist/block.mds.svcnv-E7P2SVKK.js +6801 -0
- package/dist/block.svg-MVRR3C6V.js +164 -0
- package/dist/block.tk.aicheck-KX46G4TR.js +283 -0
- package/dist/block.tk.ase-WMXI47BF.js +365 -0
- package/dist/block.tk.bam-KFEGVEQQ.js +1906 -0
- package/dist/block.tk.bedgraphdot-P4DBCWFK.js +384 -0
- package/dist/block.tk.bigwig.ui-WJPH2Z7F.js +212 -0
- package/dist/block.tk.hicstraw-RSD6I2NX.js +823 -0
- package/dist/block.tk.junction-VZS2DEDO.js +2364 -0
- package/dist/block.tk.junction.textmatrixui-UCWGHZDI.js +199 -0
- package/dist/block.tk.ld-ERSIIBM2.js +99 -0
- package/dist/block.tk.menu-2ZNXE7CE.js +1029 -0
- package/dist/block.tk.pgv-EJLACCFR.js +944 -0
- package/dist/brainImaging-BMZJY6OT.js +423 -0
- package/dist/brainRegions-RZEBXPAS.js +221 -0
- package/dist/brainRegions-RZEBXPAS.js.map +7 -0
- package/dist/bubbleHeatmap-ERJFMLPK.js +383 -0
- package/dist/bubbleHeatmap-ERJFMLPK.js.map +7 -0
- package/dist/chunk-27FPMFP2.js +54 -0
- package/dist/chunk-3LYZMOLO.js +58 -0
- package/dist/chunk-455XZIIA.js +222 -0
- package/dist/chunk-474DTKP7.js +263 -0
- package/dist/chunk-4AP3O3JW.js +226 -0
- package/dist/chunk-4JWN7E7Q.js +117 -0
- package/dist/chunk-55MOHL3P.js +158 -0
- package/dist/chunk-5CR24RTX.js +381 -0
- package/dist/chunk-5QTJUPFS.js +26 -0
- package/dist/chunk-5TJQ6633.js +291 -0
- package/dist/chunk-5X5LI5YM.js +254 -0
- package/dist/chunk-634MOGE3.js +314 -0
- package/dist/chunk-634MOGE3.js.map +7 -0
- package/dist/chunk-6G4YOMWW.js +1825 -0
- package/dist/chunk-6SCBPP4C.js +95 -0
- package/dist/chunk-6YVEYTNH.js +4269 -0
- package/dist/chunk-6YVEYTNH.js.map +7 -0
- package/dist/chunk-73R5BVCY.js +5067 -0
- package/dist/chunk-73R5BVCY.js.map +7 -0
- package/dist/chunk-74XVBQF7.js +55 -0
- package/dist/chunk-7I3LST7R.js +272 -0
- package/dist/chunk-7KRS7L4U.js +1443 -0
- package/dist/chunk-7KRS7L4U.js.map +7 -0
- package/dist/chunk-ATUYZWHV.js +1289 -0
- package/dist/chunk-ATUYZWHV.js.map +7 -0
- package/dist/chunk-B6U3EDAF.js +448 -0
- package/dist/chunk-B6U3EDAF.js.map +7 -0
- package/dist/chunk-BKPDYW5T.js +177 -0
- package/dist/chunk-BO47H3VP.js +477 -0
- package/dist/chunk-BOO4W7WD.js +482 -0
- package/dist/chunk-C6YT5EM2.js +217 -0
- package/dist/chunk-CDUNE45Q.js +534 -0
- package/dist/chunk-CLN7ANNL.js +216 -0
- package/dist/chunk-CLNSNNQU.js +302 -0
- package/dist/chunk-COYULNJF.js +119 -0
- package/dist/chunk-DBFKUPM6.js +1275 -0
- package/dist/chunk-DNVSEW6P.js +170 -0
- package/dist/chunk-E6XLLQCG.js +299 -0
- package/dist/chunk-E6XLLQCG.js.map +7 -0
- package/dist/chunk-EC3SKPQT.js +446 -0
- package/dist/chunk-EDXQKDVQ.js +368 -0
- package/dist/chunk-EY253UB7.js +448 -0
- package/dist/chunk-EY253UB7.js.map +7 -0
- package/dist/chunk-FABY3ISP.js +176 -0
- package/dist/chunk-FABY3ISP.js.map +7 -0
- package/dist/chunk-FOPHIWFD.js +100 -0
- package/dist/chunk-FVX76DZS.js +203 -0
- package/dist/chunk-FXGE233W.js +2681 -0
- package/dist/chunk-GBXX3AHJ.js +343 -0
- package/dist/chunk-GVCQGWN7.js +34 -0
- package/dist/chunk-HXNUQOGN.js +234 -0
- package/dist/chunk-HXNUQOGN.js.map +7 -0
- package/dist/chunk-HXZSSHEB.js +37 -0
- package/dist/chunk-I73KUUYG.js +287 -0
- package/dist/chunk-IKDWQJZE.js +736 -0
- package/dist/chunk-IVXCWCKS.js +317 -0
- package/dist/chunk-IVXCWCKS.js.map +7 -0
- package/dist/chunk-JEZUPG4J.js +617 -0
- package/dist/chunk-JEZUPG4J.js.map +7 -0
- package/dist/chunk-JWHFMFF2.js +142 -0
- package/dist/chunk-K3OJJZCQ.js +230 -0
- package/dist/chunk-KM4JBR26.js +815 -0
- package/dist/chunk-KNOFEVOJ.js +54 -0
- package/dist/chunk-L7VDSIM7.js +20881 -0
- package/dist/chunk-L7VDSIM7.js.map +7 -0
- package/dist/chunk-LLX3NKB4.js +148 -0
- package/dist/chunk-LQJMCE7G.js +467 -0
- package/dist/chunk-LSWU6EAQ.js +31 -0
- package/dist/chunk-MNIBZTQE.js +146 -0
- package/dist/chunk-MQJVDIQK.js +2786 -0
- package/dist/chunk-N25ENPO3.js +14 -0
- package/dist/chunk-N3JT3KCV.js +399 -0
- package/dist/chunk-N6QEVQZV.js +194 -0
- package/dist/chunk-NJDW6ZQP.js +102 -0
- package/dist/chunk-NLQQIVTC.js +276 -0
- package/dist/chunk-NU2W6B7I.js +833 -0
- package/dist/chunk-NU2W6B7I.js.map +7 -0
- package/dist/chunk-OR43PGBV.js +98 -0
- package/dist/chunk-PWUERAAF.js +182 -0
- package/dist/chunk-PXCFA4ZQ.js +2327 -0
- package/dist/chunk-QSEGY3U5.js +129 -0
- package/dist/chunk-SC6IPDJR.js +6364 -0
- package/dist/chunk-SDMOLIEU.js +1205 -0
- package/dist/chunk-SDMOLIEU.js.map +7 -0
- package/dist/chunk-SOTB4FRE.js +2098 -0
- package/dist/chunk-SOTB4FRE.js.map +7 -0
- package/dist/chunk-T46LHXJW.js +283 -0
- package/dist/chunk-TJYRBEBK.js +2878 -0
- package/dist/chunk-UDL2DEBB.js +50 -0
- package/dist/chunk-UN3O2MNB.js +375 -0
- package/dist/chunk-UN3O2MNB.js.map +7 -0
- package/dist/chunk-UXDVUCXU.js +190 -0
- package/dist/chunk-UXDVUCXU.js.map +7 -0
- package/dist/chunk-VDIVDU3T.js +386 -0
- package/dist/chunk-VQZ2Z5YU.js +587 -0
- package/dist/chunk-VQZ2Z5YU.js.map +7 -0
- package/dist/chunk-VRLC7DAU.js +2833 -0
- package/dist/chunk-VRLC7DAU.js.map +7 -0
- package/dist/chunk-XQSQQSGB.js +1102 -0
- package/dist/chunk-XVXAQ3FI.js +1943 -0
- package/dist/chunk-Y45JIQ5Y.js +1219 -0
- package/dist/chunk-Y45JIQ5Y.js.map +7 -0
- package/dist/chunk-YQMENK5H.js +102 -0
- package/dist/chunk-ZUC4XNWU.js +514 -0
- package/dist/condition-ZPFBPMEZ.js +332 -0
- package/dist/controls-LIVMV2GV.js +41 -0
- package/dist/controls.config-2EOMBN5E.js +39 -0
- package/dist/correlation-D6GAPOP5.js +102 -0
- package/dist/correlation-D6GAPOP5.js.map +7 -0
- package/dist/cuminc-GPFDRNUP.js +1149 -0
- package/dist/cuminc.integration.spec-V4JYKLA6.js +678 -0
- package/dist/customdata.inputui-DSEUS3CT.js +289 -0
- package/dist/dataDownload-KT6K3M7Q.js +330 -0
- package/dist/dataDownload.integration.spec-VEX2RTSA.js +193 -0
- package/dist/databrowser.ui-VJKNMIXA.js +433 -0
- package/dist/dictionary-B27BMR5H.js +118 -0
- package/dist/dictionary-B27BMR5H.js.map +7 -0
- package/dist/dnaMethylation-BWQGUXVR.js +38 -0
- package/dist/dnaMethylation.integration.spec-YMGT2HYZ.js +203 -0
- package/dist/dofetch-BMSZZAAQ.js +51 -0
- package/dist/e2pca-KSY4DP53.js +350 -0
- package/dist/ep-4PAYGMWK.js +1256 -0
- package/dist/expclust.gdc.spec-XXFP2HHE.js +307 -0
- package/dist/facet-VCJQ7QPE.js +521 -0
- package/dist/forms2-IUD2SNOQ.js +539 -0
- package/dist/forms2-IUD2SNOQ.js.map +7 -0
- package/dist/gb-JDH242LG.js +88 -0
- package/dist/geneExpClustering-L23JB7XA.js +249 -0
- package/dist/geneExpression-P2ERCRXO.js +313 -0
- package/dist/geneExpression-QGPVFAN4.js +38 -0
- package/dist/geneExpression.unit.spec-6BQBM6VL.js +102 -0
- package/dist/geneORA-XIMJP665.js +278 -0
- package/dist/geneRanking-AJH5G22J.js +551 -0
- package/dist/geneVariant-AUUZ7S2B.js +41 -0
- package/dist/geneVariant-H6BGRRON.js +39 -0
- package/dist/geneVariant.integration.spec-FRCH6VI4.js +198 -0
- package/dist/genefusion.ui-AAJ37VFA.js +309 -0
- package/dist/geneset-5ARBBUYH.js +208 -0
- package/dist/genomeBrowser.spec-RV7YBSMZ.js +281 -0
- package/dist/grin2-4MYLICII.js +75 -0
- package/dist/grin2-4MYLICII.js.map +7 -0
- package/dist/grin2-RBK4NI6W.js +967 -0
- package/dist/grin2-RBK4NI6W.js.map +7 -0
- package/dist/gsea-XUMCVLFK.js +47 -0
- package/dist/hierCluster-HXOTNMC5.js +63 -0
- package/dist/hierCluster-PEDY7OTZ.js +59 -0
- package/dist/hierCluster.config-RKYCGNWW.js +40 -0
- package/dist/hierCluster.integration.spec-YKMAT7UU.js +395 -0
- package/dist/hierCluster.interactivity-LPTHVWHR.js +54 -0
- package/dist/hierCluster.renderers-4XWKHCNW.js +21 -0
- package/dist/imagePlot-3DF7ZH3U.js +163 -0
- package/dist/importPlot-N74SV3TL.js +8 -0
- package/dist/isoformExpression-FU7Y4OGU.js +40 -0
- package/dist/isoformExpression.unit.spec-BLQDKV37.js +208 -0
- package/dist/launch.adhoc-Y35FZV6H.js +42 -0
- package/dist/leftlabel.sample-ERJGAYTF.js +264 -0
- package/dist/leftlabel.sample-ERJGAYTF.js.map +7 -0
- package/dist/legacyDataset-TNIIJABK.js +119 -0
- package/dist/lollipop-DU37Q5E2.js +171 -0
- package/dist/maf-NRLSNDOT.js +452 -0
- package/dist/maftimeline-GRXGOOSJ.js +593 -0
- package/dist/matrix-G3BULZ7Y.js +58 -0
- package/dist/matrix-TCTX26A4.js +63 -0
- package/dist/matrix.cells-ED6RS5EC.js +28 -0
- package/dist/matrix.config-QHO2YNOT.js +41 -0
- package/dist/matrix.data-KQFMXWRX.js +25 -0
- package/dist/matrix.groups-RE74EFLY.js +27 -0
- package/dist/matrix.integration.spec-Y4FCZ2Q2.js +3072 -0
- package/dist/matrix.interactivity-3DW5WAM3.js +42 -0
- package/dist/matrix.layout-W57D765I.js +44 -0
- package/dist/matrix.legend-ZST44PIB.js +22 -0
- package/dist/matrix.renderers-NFRKXO7Y.js +38 -0
- package/dist/matrix.serieses-6ZKTFVWY.js +21 -0
- package/dist/matrix.sort-2UE47IOC.js +27 -0
- package/dist/matrix.sort.unit.spec-5CMWEXPE.js +472 -0
- package/dist/matrix.sorterUi-WC2YX7S7.js +18 -0
- package/dist/matrix.sorterUi.unit.spec-Y2HXWHJN.js +342 -0
- package/dist/mavb-BI4XKI5P.js +732 -0
- package/dist/mds.fimo-UJYESPNC.js +518 -0
- package/dist/mds.samplescatterplot-JKU5B4QR.js +1550 -0
- package/dist/mds.survivalplot-OP7Y4D3L.js +483 -0
- package/dist/numericDictTermCluster-DRIEJJSP.js +72 -0
- package/dist/oncomatrix-A3IE47HV.js +295 -0
- package/dist/oncomatrix.spec-TDWB2ROF.js +448 -0
- package/dist/plot.2dvaf-XY34TDSM.js +377 -0
- package/dist/plot.app-WRCBLYGO.js +41 -0
- package/dist/plot.barplot-RXGOUNHM.js +102 -0
- package/dist/plot.boxplot-GBZGSS3D.js +152 -0
- package/dist/plot.brainImaging-DYPKMNHL.js +51 -0
- package/dist/plot.disco-5K2SCKJ4.js +102 -0
- package/dist/plot.dzi-THJIFHIS.js +33 -0
- package/dist/plot.ssgq-FSIUIV3A.js +139 -0
- package/dist/plot.vaf2cov-HP6KEBVJ.js +259 -0
- package/dist/plot.wsi-MR6JMOXW.js +36 -0
- package/dist/polar2-IT3OF5DX.js +231 -0
- package/dist/polar2-IT3OF5DX.js.map +7 -0
- package/dist/profileForms-XXGJVF2T.js +446 -0
- package/dist/profileForms-XXGJVF2T.js.map +7 -0
- package/dist/profilePlot-J2C35OEY.js +54 -0
- package/dist/proteinView-7FDCILPH.js +1556 -0
- package/dist/proteinView-7FDCILPH.js.map +7 -0
- package/dist/qualitative-N7S2JHZM.js +43 -0
- package/dist/radar2-CDDOQGQX.js +326 -0
- package/dist/radar2-CDDOQGQX.js.map +7 -0
- package/dist/radarFacility2-ZQTHO2ON.js +334 -0
- package/dist/radarFacility2-ZQTHO2ON.js.map +7 -0
- package/dist/regression-PBGAMZAV.js +56 -0
- package/dist/regression.inputs-54E5YKI4.js +48 -0
- package/dist/regression.inputs.term-52MBTMVM.js +48 -0
- package/dist/regression.inputs.values.table-F3FOAYFV.js +45 -0
- package/dist/regression.integration.spec-M4RPJUE4.js +784 -0
- package/dist/regression.results-JOK6I2ZD.js +40 -0
- package/dist/regression.spec-O4HZB2HQ.js +708 -0
- package/dist/report-BDDTM7SV.js +222 -0
- package/dist/sampleScatter.spec-272GLYEK.js +202 -0
- package/dist/sampleView-E6OHEEP4.js +48 -0
- package/dist/samplelst-3LNF3DBG.js +111 -0
- package/dist/samplematrix-HL445X7I.js +2198 -0
- package/dist/sc-4LELHVIS.js +86 -0
- package/dist/scatter-IZIZURQD.js +851 -0
- package/dist/scatter-IZIZURQD.js.map +7 -0
- package/dist/scatter.integration.spec-BBEWMA7M.js +1206 -0
- package/dist/scatter.integration.spec-BBEWMA7M.js.map +7 -0
- package/dist/selectGenomeWithTklst-5LQGT4Z7.js +134 -0
- package/dist/singleCellCellType-T3ZT64EK.js +38 -0
- package/dist/singleCellCellType.unit.spec-AE4IAHOF.js +160 -0
- package/dist/singleCellGeneExpression-SRJXSDEB.js +38 -0
- package/dist/singleCellGeneExpression.unit.spec-EPL73UUO.js +153 -0
- package/dist/singleCellPlot-P2BHFTYZ.js +54 -0
- package/dist/singlecell-32SSD7VN.js +1572 -0
- package/dist/singlecell-7KRD5DP7.js +86 -0
- package/dist/snp-LE5R377N.js +38 -0
- package/dist/snp.unit.spec-UY6KQ5NJ.js +176 -0
- package/dist/snplocus-CP34ABUJ.js +208 -0
- package/dist/spliceevent.a53ss.diagram-JWLWQDNJ.js +151 -0
- package/dist/spliceevent.exonskip.diagram-C5526P7P.js +277 -0
- package/dist/spliceevent.noeventdiagram-352M63YB.js +460 -0
- package/dist/ssGSEA-BFTCECV3.js +38 -0
- package/dist/ssGSEA.unit.spec-4OUCKRDQ.js +88 -0
- package/dist/summarizeCnvGeneexp-Y3AWFIZA.js +163 -0
- package/dist/summarizeGeneexpSurvival-U5JSPG22.js +108 -0
- package/dist/summarizeMutationCnv-KCOVQEBC.js +164 -0
- package/dist/summarizeMutationDiagnosis-EQXEQABW.js +40 -0
- package/dist/summarizeMutationSurvival-4VGLG4SC.js +99 -0
- package/dist/summary-DXYCBNI4.js +49 -0
- package/dist/summary.integration.spec-MZTJISLP.js +414 -0
- package/dist/summaryInput-5Z3XVIL6.js +235 -0
- package/dist/sunburst-WVSQJYP2.js +284 -0
- package/dist/survival-3R3J2JBE.js +46 -0
- package/dist/survival-XQWFVGCJ.js +58 -0
- package/dist/survival.integration.spec-EBDPIBYM.js +821 -0
- package/dist/svgraph-SY2HVMYL.js +1387 -0
- package/dist/svmr-TIIMFKG7.js +3842 -0
- package/dist/table-5RFTXIQL.js +200 -0
- package/dist/termCollection-23QXTZDN.js +38 -0
- package/dist/termCollection-7KXABWVW.js +179 -0
- package/dist/termCollection.unit.spec-4AN2Z4PQ.js +208 -0
- package/dist/tk-WW6PJGPQ.js +46 -0
- package/dist/tp.ui-S5PO3MPH.js +1459 -0
- package/dist/tvs.dt-O7LUM5TK.js +39 -0
- package/dist/tvs.dtcnv.categorical-2OUFOD3W.js +40 -0
- package/dist/tvs.dtcnv.continuous-NOOUY5SZ.js +72 -0
- package/dist/tvs.dtfusion-KXQMP3UF.js +40 -0
- package/dist/tvs.dtsnvindel-PWHFTWZU.js +40 -0
- package/dist/tvs.dtsv-25FLS572.js +40 -0
- package/dist/tvs.numeric-KYAU5OV3.js +21 -0
- package/dist/tvs.samplelst-FLXNJFIV.js +104 -0
- package/dist/tvs.termCollection-PSVOMJE4.js +159 -0
- package/dist/violin-SWMEFWRA.js +46 -0
- package/dist/violin.integration.spec-6EQ6GC2N.js +1425 -0
- package/dist/violin.interactivity-WBIWPLSM.js +38 -0
- package/dist/violin.renderer-3WARZUOH.js +40 -0
- package/dist/vocabulary-WLHYHDX7.js +41 -0
- package/package.json +3 -3
- package/dist/2dmaf-Z3D2M3FB.js +0 -1373
- package/dist/AIProjectAdmin-2OQOQXH4.js +0 -956
- package/dist/AIProjectAdmin-2OQOQXH4.js.map +0 -7
- package/dist/AppHeader-PXLGVCVS.js +0 -835
- package/dist/BoxPlot-PUZKHACO.js +0 -1211
- package/dist/BoxPlot-PUZKHACO.js.map +0 -7
- package/dist/CorrelationVolcano-RO6CFLZA.js +0 -619
- package/dist/DE-CCA5SBJG.js +0 -95
- package/dist/DEinput-MRUQW6X6.js +0 -301
- package/dist/DifferentialAnalysis-5YQQLJKR.js +0 -245
- package/dist/Disco-4FTOJBLG.js +0 -3237
- package/dist/Disco-4FTOJBLG.js.map +0 -7
- package/dist/Disco.UI-IWVSK3RN.js +0 -245
- package/dist/Disco.UI-IWVSK3RN.js.map +0 -7
- package/dist/DmrPlot-FPJJHTM5.js +0 -642
- package/dist/GB-H6JETPRC.js +0 -1130
- package/dist/GB-H6JETPRC.js.map +0 -7
- package/dist/GeneExpInput-Q42COANS.js +0 -366
- package/dist/GeneExpInput-Q42COANS.js.map +0 -7
- package/dist/HicApp-BBD2YOMT.js +0 -2250
- package/dist/NumBinaryEditor-WMSF7HIO.js +0 -271
- package/dist/NumBinaryEditor.unit.spec-QQATLHF7.js +0 -286
- package/dist/NumContEditor-4CSTHVRX.js +0 -109
- package/dist/NumContEditor.unit.spec-2YF3OS3A.js +0 -169
- package/dist/NumCustomBinEditor-KFAYUWYV.js +0 -38
- package/dist/NumCustomBinEditor.unit.spec-YHAUSGPN.js +0 -284
- package/dist/NumDiscreteEditor-F46H5CME.js +0 -179
- package/dist/NumDiscreteEditor.unit.spec-5BIAWAVN.js +0 -202
- package/dist/NumRegularBinEditor-G7KOA7NR.js +0 -38
- package/dist/NumRegularBinEditor.unit.spec-Y6CBCWLN.js +0 -227
- package/dist/NumSplineEditor-JP2V2L4Y.js +0 -198
- package/dist/NumSplineEditor.unit.spec-N34QBZN3.js +0 -199
- package/dist/NumericDensity-JOPHLURB.js +0 -38
- package/dist/NumericDensity.unit.spec-N45PCLOT.js +0 -221
- package/dist/NumericHandler-SIM4E2Z5.js +0 -39
- package/dist/NumericHandler.unit.spec-NKLYDVTG.js +0 -219
- package/dist/ProteomeInput-5KMNE3PZ.js +0 -396
- package/dist/RunChart2-N7AZVQXJ.js +0 -758
- package/dist/SC-M6RGALZM.js +0 -936
- package/dist/SC-M6RGALZM.js.map +0 -7
- package/dist/Volcano-YH4RJTT5.js +0 -1379
- package/dist/WSIViewer-7LOVM3AU.js +0 -48508
- package/dist/WSIViewer-7LOVM3AU.js.map +0 -7
- package/dist/WsiSamplesPlot-QPPB7OOD.js +0 -165
- package/dist/adSandbox-R2QP74P7.js +0 -38
- package/dist/app-AIIN4WDE.js +0 -37
- package/dist/app-FJT5VXMF.js +0 -49
- package/dist/bam-QBO22VQB.js +0 -860
- package/dist/barchart-VDOP6FQU.js +0 -47
- package/dist/barchart.data-Z2E72EET.js +0 -22
- package/dist/barchart.events-NUYQBI5S.js +0 -47
- package/dist/barchart.integration.spec-COVZPXMH.js +0 -1980
- package/dist/barchart.integration.spec-COVZPXMH.js.map +0 -7
- package/dist/barchart2-KMSU4ROO.js +0 -311
- package/dist/barchart2-KMSU4ROO.js.map +0 -7
- package/dist/bars.renderer-JHCZDSM6.js +0 -12
- package/dist/block-TTN2IQAH.js +0 -6202
- package/dist/block-TTN2IQAH.js.map +0 -7
- package/dist/block.init-RRHHCNSR.js +0 -38
- package/dist/block.mds.expressionrank-7NWBRUII.js +0 -359
- package/dist/block.mds.geneboxplot-4BAJJWCC.js +0 -828
- package/dist/block.mds.junction-XRUIHAF5.js +0 -1545
- package/dist/block.mds.svcnv-YZ7PL733.js +0 -6801
- package/dist/block.svg-FUMP2J7A.js +0 -164
- package/dist/block.tk.aicheck-AIZEND45.js +0 -283
- package/dist/block.tk.ase-H26PKO5U.js +0 -365
- package/dist/block.tk.bam-XNZFHSDQ.js +0 -1906
- package/dist/block.tk.bedgraphdot-QTDBLBO2.js +0 -384
- package/dist/block.tk.bigwig.ui-OSRCPTQC.js +0 -212
- package/dist/block.tk.hicstraw-7GH6LVIH.js +0 -823
- package/dist/block.tk.junction-AJYML4AW.js +0 -2364
- package/dist/block.tk.junction.textmatrixui-4RIH3EZI.js +0 -199
- package/dist/block.tk.ld-AJYQ4C6T.js +0 -99
- package/dist/block.tk.menu-57OP5UW5.js +0 -1029
- package/dist/block.tk.pgv-XO7HP5MM.js +0 -944
- package/dist/brainImaging-65QDNR4D.js +0 -423
- package/dist/chunk-2XCUERHJ.js +0 -102
- package/dist/chunk-322QC6R4.js +0 -222
- package/dist/chunk-35SCELN4.js +0 -217
- package/dist/chunk-36EHIPV4.js +0 -514
- package/dist/chunk-3SZ6GKLB.js +0 -14
- package/dist/chunk-3ZLJDFJU.js +0 -368
- package/dist/chunk-4DXZGZOB.js +0 -54
- package/dist/chunk-4UWS5Y3N.js +0 -1438
- package/dist/chunk-4UWS5Y3N.js.map +0 -7
- package/dist/chunk-54EMVNPW.js +0 -102
- package/dist/chunk-57RBC6IZ.js +0 -302
- package/dist/chunk-5OUTR67M.js +0 -37
- package/dist/chunk-67DBIM6H.js +0 -293
- package/dist/chunk-67DBIM6H.js.map +0 -7
- package/dist/chunk-6A3IPDE2.js +0 -1943
- package/dist/chunk-6GN7X6LU.js +0 -2681
- package/dist/chunk-72X7LSBN.js +0 -54
- package/dist/chunk-74ZU4BT6.js +0 -2824
- package/dist/chunk-74ZU4BT6.js.map +0 -7
- package/dist/chunk-7EMWHCVW.js +0 -1825
- package/dist/chunk-7FACFCZK.js +0 -226
- package/dist/chunk-7XFGYYRV.js +0 -371
- package/dist/chunk-7XFGYYRV.js.map +0 -7
- package/dist/chunk-B6CSYKZJ.js +0 -1275
- package/dist/chunk-BDIKFVWZ.js +0 -443
- package/dist/chunk-BDIKFVWZ.js.map +0 -7
- package/dist/chunk-BWGU5NJS.js +0 -291
- package/dist/chunk-C5ZMAQXQ.js +0 -1173
- package/dist/chunk-C5ZMAQXQ.js.map +0 -7
- package/dist/chunk-CC3GFVV6.js +0 -117
- package/dist/chunk-CXQ6KS3Z.js +0 -1348
- package/dist/chunk-CXQ6KS3Z.js.map +0 -7
- package/dist/chunk-DCH54HC5.js +0 -824
- package/dist/chunk-DCH54HC5.js.map +0 -7
- package/dist/chunk-DD4R5P6W.js +0 -177
- package/dist/chunk-DKVUOBIE.js +0 -203
- package/dist/chunk-DR6H3QAA.js +0 -399
- package/dist/chunk-EH4NQ7C4.js +0 -170
- package/dist/chunk-EVN6KWPN.js +0 -50
- package/dist/chunk-FFEIP5CT.js +0 -458
- package/dist/chunk-FFEIP5CT.js.map +0 -7
- package/dist/chunk-FJP77STI.js +0 -158
- package/dist/chunk-FJP77STI.js.map +0 -7
- package/dist/chunk-G6O3URDN.js +0 -467
- package/dist/chunk-GNIK4JYM.js +0 -534
- package/dist/chunk-HKSNADSX.js +0 -477
- package/dist/chunk-I5RAQKKJ.js +0 -129
- package/dist/chunk-IW57W7EQ.js +0 -1210
- package/dist/chunk-IW57W7EQ.js.map +0 -7
- package/dist/chunk-J4SOF2ZH.js +0 -263
- package/dist/chunk-KPJZBCVI.js +0 -272
- package/dist/chunk-KSGA62R2.js +0 -2878
- package/dist/chunk-LTOBEUM2.js +0 -98
- package/dist/chunk-MYF2BWKC.js +0 -205
- package/dist/chunk-MYF2BWKC.js.map +0 -7
- package/dist/chunk-N2SKTCDK.js +0 -148
- package/dist/chunk-NGM3ZLIP.js +0 -230
- package/dist/chunk-NOEAT6CX.js +0 -317
- package/dist/chunk-NOEAT6CX.js.map +0 -7
- package/dist/chunk-NSXZPWRP.js +0 -482
- package/dist/chunk-O3JB4PIX.js +0 -31
- package/dist/chunk-OAWQ6LOO.js +0 -2063
- package/dist/chunk-OAWQ6LOO.js.map +0 -7
- package/dist/chunk-ODG6RD7P.js +0 -254
- package/dist/chunk-OEDZHPBJ.js +0 -58
- package/dist/chunk-ORL44TIK.js +0 -386
- package/dist/chunk-P3IENRWJ.js +0 -613
- package/dist/chunk-P3IENRWJ.js.map +0 -7
- package/dist/chunk-PCZNTK74.js +0 -26
- package/dist/chunk-QH6W3NVF.js +0 -287
- package/dist/chunk-QNETLNPB.js +0 -343
- package/dist/chunk-QQZ3SBF3.js +0 -216
- package/dist/chunk-R2MMURGK.js +0 -2786
- package/dist/chunk-SA7APTJR.js +0 -20792
- package/dist/chunk-SA7APTJR.js.map +0 -7
- package/dist/chunk-SHWLROJG.js +0 -283
- package/dist/chunk-SKREEF3H.js +0 -184
- package/dist/chunk-SKREEF3H.js.map +0 -7
- package/dist/chunk-TOU7EVFQ.js +0 -396
- package/dist/chunk-TOU7EVFQ.js.map +0 -7
- package/dist/chunk-UGVNZMLU.js +0 -4274
- package/dist/chunk-UGVNZMLU.js.map +0 -7
- package/dist/chunk-UI7OCM2A.js +0 -815
- package/dist/chunk-UJKW42DI.js +0 -6364
- package/dist/chunk-ULPMYS5B.js +0 -100
- package/dist/chunk-UOVALHAJ.js +0 -182
- package/dist/chunk-VGJSASRT.js +0 -446
- package/dist/chunk-VGYTAYFK.js +0 -276
- package/dist/chunk-VHOEJBFP.js +0 -736
- package/dist/chunk-VOUMS6IP.js +0 -1102
- package/dist/chunk-VV36JRUF.js +0 -381
- package/dist/chunk-W55XSG6K.js +0 -142
- package/dist/chunk-W6ME65LV.js +0 -34
- package/dist/chunk-WHI6466S.js +0 -146
- package/dist/chunk-WSDUD52Y.js +0 -55
- package/dist/chunk-XAVNZNXQ.js +0 -95
- package/dist/chunk-XMLURPEP.js +0 -194
- package/dist/chunk-YKXUK7HJ.js +0 -5041
- package/dist/chunk-YKXUK7HJ.js.map +0 -7
- package/dist/chunk-YZK37YCC.js +0 -119
- package/dist/chunk-ZTYNN6G5.js +0 -2327
- package/dist/chunk-ZXTHADSC.js +0 -158
- package/dist/condition-HDVYPJJD.js +0 -332
- package/dist/controls-YEEW46C6.js +0 -41
- package/dist/controls.config-C535H5DL.js +0 -39
- package/dist/correlation-AOSSSSL3.js +0 -99
- package/dist/correlation-AOSSSSL3.js.map +0 -7
- package/dist/cuminc-II7NFIFP.js +0 -1149
- package/dist/cuminc.integration.spec-B4N6OMBJ.js +0 -678
- package/dist/customdata.inputui-AI4ZBIEP.js +0 -289
- package/dist/dataDownload-ZQYLXN6D.js +0 -330
- package/dist/dataDownload.integration.spec-2PKYZ2AY.js +0 -193
- package/dist/databrowser.ui-WGD7D3XV.js +0 -433
- package/dist/dictionary-RYM4WP2W.js +0 -111
- package/dist/dictionary-RYM4WP2W.js.map +0 -7
- package/dist/dnaMethylation-WGJMJL5B.js +0 -38
- package/dist/dnaMethylation.integration.spec-DO3PV4MO.js +0 -203
- package/dist/dofetch-RADX3AFU.js +0 -51
- package/dist/e2pca-KOAAU2JX.js +0 -350
- package/dist/ep-CXCATXYH.js +0 -1256
- package/dist/expclust.gdc.spec-UJO2R3CW.js +0 -307
- package/dist/facet-2FBUAD7P.js +0 -521
- package/dist/forms2-ZBT5BZW3.js +0 -534
- package/dist/forms2-ZBT5BZW3.js.map +0 -7
- package/dist/gb-VCJFV63W.js +0 -88
- package/dist/geneExpClustering-FUNS6D2P.js +0 -249
- package/dist/geneExpression-2BWWGYL4.js +0 -38
- package/dist/geneExpression-2OPFWV2K.js +0 -313
- package/dist/geneExpression.unit.spec-G7BSHJQT.js +0 -102
- package/dist/geneORA-S3KQMBYL.js +0 -278
- package/dist/geneRanking-UZ36XAL7.js +0 -551
- package/dist/geneVariant-OOZ2SBXO.js +0 -41
- package/dist/geneVariant-ZHNVEKQ6.js +0 -39
- package/dist/geneVariant.integration.spec-2C7EWKEV.js +0 -198
- package/dist/genefusion.ui-ASICJNII.js +0 -309
- package/dist/geneset-SNM4M6UM.js +0 -208
- package/dist/genomeBrowser.spec-DJIRW2X7.js +0 -281
- package/dist/grin2-7AOJP5QJ.js +0 -1560
- package/dist/grin2-7AOJP5QJ.js.map +0 -7
- package/dist/grin2-RKJXYWJ5.js +0 -821
- package/dist/grin2-RKJXYWJ5.js.map +0 -7
- package/dist/gsea-SPTQJW67.js +0 -47
- package/dist/hierCluster-KDE5SMYP.js +0 -63
- package/dist/hierCluster-XG4YLVL3.js +0 -59
- package/dist/hierCluster.config-VNEEJCKJ.js +0 -40
- package/dist/hierCluster.integration.spec-SSDN7LSH.js +0 -395
- package/dist/hierCluster.interactivity-DKBSJ644.js +0 -54
- package/dist/hierCluster.renderers-OG6LZAT7.js +0 -21
- package/dist/imagePlot-M5JSHEY4.js +0 -163
- package/dist/importPlot-YH7ZY6RJ.js +0 -8
- package/dist/isoformExpression-EV27MKYZ.js +0 -40
- package/dist/isoformExpression.unit.spec-7T2GOHH3.js +0 -208
- package/dist/launch.adhoc-NOISOX5E.js +0 -42
- package/dist/leftlabel.sample-42AX4KTV.js +0 -260
- package/dist/leftlabel.sample-42AX4KTV.js.map +0 -7
- package/dist/legacyDataset-SWJCAWIR.js +0 -119
- package/dist/lollipop-LQCQBTSX.js +0 -171
- package/dist/maf-U237OWZ3.js +0 -452
- package/dist/maftimeline-NLZLMHT2.js +0 -593
- package/dist/matrix-DZJXYRYN.js +0 -63
- package/dist/matrix-Y5345QQG.js +0 -58
- package/dist/matrix.cells-PT7S74QP.js +0 -28
- package/dist/matrix.config-2ORCUWKX.js +0 -41
- package/dist/matrix.data-C6VPQJJ4.js +0 -25
- package/dist/matrix.groups-CEOCG2CT.js +0 -27
- package/dist/matrix.integration.spec-U4B3JB6N.js +0 -3072
- package/dist/matrix.interactivity-GFLIFIER.js +0 -42
- package/dist/matrix.layout-DOVDHTDX.js +0 -44
- package/dist/matrix.legend-JE4ZSLP7.js +0 -22
- package/dist/matrix.renderers-GPUJQ7KF.js +0 -38
- package/dist/matrix.serieses-REE4DCSR.js +0 -21
- package/dist/matrix.sort-VD5URUWY.js +0 -27
- package/dist/matrix.sort.unit.spec-4IOFVHJN.js +0 -472
- package/dist/matrix.sorterUi-VQYY6KBK.js +0 -18
- package/dist/matrix.sorterUi.unit.spec-V5O2EJBX.js +0 -342
- package/dist/mavb-SQDA3B2B.js +0 -732
- package/dist/mds.fimo-ZJSEPLD7.js +0 -518
- package/dist/mds.samplescatterplot-Y5V73GOY.js +0 -1550
- package/dist/mds.survivalplot-CZBRMHYN.js +0 -483
- package/dist/numericDictTermCluster-TFXBBUVI.js +0 -72
- package/dist/oncomatrix-ZILACPPI.js +0 -295
- package/dist/oncomatrix.spec-RLIVVVD6.js +0 -448
- package/dist/plot.2dvaf-BNRZPIKU.js +0 -377
- package/dist/plot.app-NRUARQCN.js +0 -41
- package/dist/plot.barplot-342AYQC7.js +0 -102
- package/dist/plot.boxplot-OHEJDPTW.js +0 -152
- package/dist/plot.brainImaging-KV72PAON.js +0 -51
- package/dist/plot.disco-OUE4RFHL.js +0 -102
- package/dist/plot.dzi-T3GPUH36.js +0 -33
- package/dist/plot.ssgq-WJHGMXW5.js +0 -139
- package/dist/plot.vaf2cov-NGD5PCV4.js +0 -259
- package/dist/plot.wsi-2MU5BDG3.js +0 -36
- package/dist/polar2-YCWPBPFU.js +0 -226
- package/dist/polar2-YCWPBPFU.js.map +0 -7
- package/dist/profileForms-OV3I6RK7.js +0 -441
- package/dist/profileForms-OV3I6RK7.js.map +0 -7
- package/dist/profilePlot-OMVO3K4H.js +0 -54
- package/dist/proteinView-OAR2RC6U.js +0 -1320
- package/dist/proteinView-OAR2RC6U.js.map +0 -7
- package/dist/qualitative-MEYBRUC6.js +0 -43
- package/dist/radar2-KREAMGVV.js +0 -321
- package/dist/radar2-KREAMGVV.js.map +0 -7
- package/dist/radarFacility2-DBPEV7VC.js +0 -329
- package/dist/radarFacility2-DBPEV7VC.js.map +0 -7
- package/dist/regression-ZPDPLI6G.js +0 -56
- package/dist/regression.inputs-QOSBAGL6.js +0 -48
- package/dist/regression.inputs.term-HMUMPY7X.js +0 -48
- package/dist/regression.inputs.values.table-VMCTZHLG.js +0 -45
- package/dist/regression.integration.spec-RP74JTAA.js +0 -784
- package/dist/regression.results-5XC6M67C.js +0 -40
- package/dist/regression.spec-EZYM24J7.js +0 -708
- package/dist/report-ZOVQCOGQ.js +0 -222
- package/dist/sampleScatter.spec-CD52FEOC.js +0 -202
- package/dist/sampleView-SVTLSWRG.js +0 -48
- package/dist/samplelst-HXF5POJD.js +0 -111
- package/dist/samplematrix-NYDAH74I.js +0 -2198
- package/dist/sc-JIDT4W4K.js +0 -86
- package/dist/scatter-WNRTPSEE.js +0 -849
- package/dist/scatter-WNRTPSEE.js.map +0 -7
- package/dist/scatter.integration.spec-3EYTPY5B.js +0 -1197
- package/dist/scatter.integration.spec-3EYTPY5B.js.map +0 -7
- package/dist/selectGenomeWithTklst-OSB7B6L3.js +0 -134
- package/dist/singleCellCellType-3BH7LWQ6.js +0 -38
- package/dist/singleCellCellType.unit.spec-RU4RJXFF.js +0 -160
- package/dist/singleCellGeneExpression-3UA4YER7.js +0 -38
- package/dist/singleCellGeneExpression.unit.spec-4ZTBG37H.js +0 -153
- package/dist/singleCellPlot-ZUAWK5RE.js +0 -54
- package/dist/singlecell-BGJZB7MF.js +0 -86
- package/dist/singlecell-RO3BL5OO.js +0 -1572
- package/dist/snp-HD7VQKBR.js +0 -38
- package/dist/snp.unit.spec-ISXCLMWW.js +0 -176
- package/dist/snplocus-IL5Z4XWV.js +0 -208
- package/dist/spliceevent.a53ss.diagram-LLJSPV7M.js +0 -151
- package/dist/spliceevent.exonskip.diagram-LAOIOIST.js +0 -277
- package/dist/spliceevent.noeventdiagram-MVA7Q3HT.js +0 -460
- package/dist/ssGSEA-7T6S3DSE.js +0 -38
- package/dist/ssGSEA.unit.spec-XJ3W4NWX.js +0 -88
- package/dist/summarizeCnvGeneexp-RRP6JUV6.js +0 -163
- package/dist/summarizeGeneexpSurvival-AFLHDD6Q.js +0 -108
- package/dist/summarizeMutationCnv-NABUYHMX.js +0 -164
- package/dist/summarizeMutationDiagnosis-2LQ7JU3K.js +0 -40
- package/dist/summarizeMutationSurvival-3WBT5TXG.js +0 -99
- package/dist/summary-FRDKOFXW.js +0 -49
- package/dist/summary.integration.spec-ZLRIA7G2.js +0 -414
- package/dist/summaryInput-4JO6MHP4.js +0 -235
- package/dist/sunburst-DRCVSC2X.js +0 -284
- package/dist/survival-AK75COPY.js +0 -58
- package/dist/survival-IF5NI3A6.js +0 -46
- package/dist/survival.integration.spec-7IWBTPJG.js +0 -821
- package/dist/svgraph-QBDF2SLB.js +0 -1387
- package/dist/svmr-O4GJJUT2.js +0 -3842
- package/dist/table-FQAIXKLE.js +0 -200
- package/dist/termCollection-GMDDL3L7.js +0 -179
- package/dist/termCollection-ZO5PZ7E3.js +0 -38
- package/dist/termCollection.unit.spec-5JBCTXHX.js +0 -208
- package/dist/tk-GJX23IV7.js +0 -46
- package/dist/tp.ui-T7FVMTGQ.js +0 -1459
- package/dist/tvs.dt-X7L7NSU6.js +0 -39
- package/dist/tvs.dtcnv.categorical-73G2V6CH.js +0 -40
- package/dist/tvs.dtcnv.continuous-DWFJL3X7.js +0 -72
- package/dist/tvs.dtfusion-HQADHCSV.js +0 -40
- package/dist/tvs.dtsnvindel-PY5OBMGW.js +0 -40
- package/dist/tvs.dtsv-OTBEEWSW.js +0 -40
- package/dist/tvs.numeric-WGDHEBJV.js +0 -21
- package/dist/tvs.samplelst-LCXSU5MG.js +0 -104
- package/dist/tvs.termCollection-L527XN4X.js +0 -159
- package/dist/violin-6VKRUQV3.js +0 -46
- package/dist/violin.integration.spec-RJATDLQH.js +0 -1425
- package/dist/violin.interactivity-SKF5H7MN.js +0 -38
- package/dist/violin.renderer-GB4TPX3B.js +0 -40
- package/dist/vocabulary-D3W44IWE.js +0 -41
- /package/dist/{2dmaf-Z3D2M3FB.js.map → 2dmaf-US2ZAJJJ.js.map} +0 -0
- /package/dist/{AppHeader-PXLGVCVS.js.map → AppHeader-UKB344GC.js.map} +0 -0
- /package/dist/{CorrelationVolcano-RO6CFLZA.js.map → CorrelationVolcano-J3IFVSZB.js.map} +0 -0
- /package/dist/{DE-CCA5SBJG.js.map → DE-PAPJP6AH.js.map} +0 -0
- /package/dist/{DEinput-MRUQW6X6.js.map → DEinput-YON466QQ.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-5YQQLJKR.js.map → DifferentialAnalysis-DEUODXGG.js.map} +0 -0
- /package/dist/{DmrPlot-FPJJHTM5.js.map → DmrPlot-DSELMC4E.js.map} +0 -0
- /package/dist/{HicApp-BBD2YOMT.js.map → HicApp-BP7PSXY2.js.map} +0 -0
- /package/dist/{NumBinaryEditor-WMSF7HIO.js.map → NumBinaryEditor-CHWQT445.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-QQATLHF7.js.map → NumBinaryEditor.unit.spec-MXRNK7XH.js.map} +0 -0
- /package/dist/{NumContEditor-4CSTHVRX.js.map → NumContEditor-XS3RA7GY.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-2YF3OS3A.js.map → NumContEditor.unit.spec-662MHSP4.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-KFAYUWYV.js.map → NumCustomBinEditor-LUVIAXMZ.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-YHAUSGPN.js.map → NumCustomBinEditor.unit.spec-3D3GY3F4.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-F46H5CME.js.map → NumDiscreteEditor-24W2A5IN.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-5BIAWAVN.js.map → NumDiscreteEditor.unit.spec-B5T42Z5S.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-G7KOA7NR.js.map → NumRegularBinEditor-AING4HZ5.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-Y6CBCWLN.js.map → NumRegularBinEditor.unit.spec-UKSVZH2S.js.map} +0 -0
- /package/dist/{NumSplineEditor-JP2V2L4Y.js.map → NumSplineEditor-54KNKHJX.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-N34QBZN3.js.map → NumSplineEditor.unit.spec-5FTST3Y5.js.map} +0 -0
- /package/dist/{NumericDensity-JOPHLURB.js.map → NumericDensity-C7DQZ5Q5.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-N45PCLOT.js.map → NumericDensity.unit.spec-HV6SD3ZS.js.map} +0 -0
- /package/dist/{NumericHandler-SIM4E2Z5.js.map → NumericHandler-FV3L23EC.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-NKLYDVTG.js.map → NumericHandler.unit.spec-E72DXVBB.js.map} +0 -0
- /package/dist/{ProteomeInput-5KMNE3PZ.js.map → ProteomeInput-3XTK74SN.js.map} +0 -0
- /package/dist/{RunChart2-N7AZVQXJ.js.map → RunChart2-X5FBZVRX.js.map} +0 -0
- /package/dist/{Volcano-YH4RJTT5.js.map → Volcano-2USCTLKO.js.map} +0 -0
- /package/dist/{WsiSamplesPlot-QPPB7OOD.js.map → WsiSamplesPlot-VIKSG63U.js.map} +0 -0
- /package/dist/{adSandbox-R2QP74P7.js.map → adSandbox-VXUJGPD3.js.map} +0 -0
- /package/dist/{app-AIIN4WDE.js.map → app-KHZT2BVF.js.map} +0 -0
- /package/dist/{app-FJT5VXMF.js.map → app-XLYH3YPL.js.map} +0 -0
- /package/dist/{bam-QBO22VQB.js.map → bam-C23ZARYE.js.map} +0 -0
- /package/dist/{barchart-VDOP6FQU.js.map → barchart-KGXLYEIP.js.map} +0 -0
- /package/dist/{barchart.data-Z2E72EET.js.map → barchart.data-7OI5GZZ6.js.map} +0 -0
- /package/dist/{barchart.events-NUYQBI5S.js.map → barchart.events-3KDNIFBG.js.map} +0 -0
- /package/dist/{bars.renderer-JHCZDSM6.js.map → bars.renderer-57KSYAAT.js.map} +0 -0
- /package/dist/{block.init-RRHHCNSR.js.map → block.init-7FHXQJNE.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-7NWBRUII.js.map → block.mds.expressionrank-UGZQK7Z3.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-4BAJJWCC.js.map → block.mds.geneboxplot-2CQLB4YN.js.map} +0 -0
- /package/dist/{block.mds.junction-XRUIHAF5.js.map → block.mds.junction-JHPHWVOS.js.map} +0 -0
- /package/dist/{block.mds.svcnv-YZ7PL733.js.map → block.mds.svcnv-E7P2SVKK.js.map} +0 -0
- /package/dist/{block.svg-FUMP2J7A.js.map → block.svg-MVRR3C6V.js.map} +0 -0
- /package/dist/{block.tk.aicheck-AIZEND45.js.map → block.tk.aicheck-KX46G4TR.js.map} +0 -0
- /package/dist/{block.tk.ase-H26PKO5U.js.map → block.tk.ase-WMXI47BF.js.map} +0 -0
- /package/dist/{block.tk.bam-XNZFHSDQ.js.map → block.tk.bam-KFEGVEQQ.js.map} +0 -0
- /package/dist/{block.tk.bedgraphdot-QTDBLBO2.js.map → block.tk.bedgraphdot-P4DBCWFK.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-OSRCPTQC.js.map → block.tk.bigwig.ui-WJPH2Z7F.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-7GH6LVIH.js.map → block.tk.hicstraw-RSD6I2NX.js.map} +0 -0
- /package/dist/{block.tk.junction-AJYML4AW.js.map → block.tk.junction-VZS2DEDO.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-4RIH3EZI.js.map → block.tk.junction.textmatrixui-UCWGHZDI.js.map} +0 -0
- /package/dist/{block.tk.ld-AJYQ4C6T.js.map → block.tk.ld-ERSIIBM2.js.map} +0 -0
- /package/dist/{block.tk.menu-57OP5UW5.js.map → block.tk.menu-2ZNXE7CE.js.map} +0 -0
- /package/dist/{block.tk.pgv-XO7HP5MM.js.map → block.tk.pgv-EJLACCFR.js.map} +0 -0
- /package/dist/{brainImaging-65QDNR4D.js.map → brainImaging-BMZJY6OT.js.map} +0 -0
- /package/dist/{chunk-72X7LSBN.js.map → chunk-27FPMFP2.js.map} +0 -0
- /package/dist/{chunk-OEDZHPBJ.js.map → chunk-3LYZMOLO.js.map} +0 -0
- /package/dist/{chunk-322QC6R4.js.map → chunk-455XZIIA.js.map} +0 -0
- /package/dist/{chunk-J4SOF2ZH.js.map → chunk-474DTKP7.js.map} +0 -0
- /package/dist/{chunk-7FACFCZK.js.map → chunk-4AP3O3JW.js.map} +0 -0
- /package/dist/{chunk-CC3GFVV6.js.map → chunk-4JWN7E7Q.js.map} +0 -0
- /package/dist/{chunk-ZXTHADSC.js.map → chunk-55MOHL3P.js.map} +0 -0
- /package/dist/{chunk-VV36JRUF.js.map → chunk-5CR24RTX.js.map} +0 -0
- /package/dist/{chunk-PCZNTK74.js.map → chunk-5QTJUPFS.js.map} +0 -0
- /package/dist/{chunk-BWGU5NJS.js.map → chunk-5TJQ6633.js.map} +0 -0
- /package/dist/{chunk-ODG6RD7P.js.map → chunk-5X5LI5YM.js.map} +0 -0
- /package/dist/{chunk-7EMWHCVW.js.map → chunk-6G4YOMWW.js.map} +0 -0
- /package/dist/{chunk-XAVNZNXQ.js.map → chunk-6SCBPP4C.js.map} +0 -0
- /package/dist/{chunk-WSDUD52Y.js.map → chunk-74XVBQF7.js.map} +0 -0
- /package/dist/{chunk-KPJZBCVI.js.map → chunk-7I3LST7R.js.map} +0 -0
- /package/dist/{chunk-DD4R5P6W.js.map → chunk-BKPDYW5T.js.map} +0 -0
- /package/dist/{chunk-HKSNADSX.js.map → chunk-BO47H3VP.js.map} +0 -0
- /package/dist/{chunk-NSXZPWRP.js.map → chunk-BOO4W7WD.js.map} +0 -0
- /package/dist/{chunk-35SCELN4.js.map → chunk-C6YT5EM2.js.map} +0 -0
- /package/dist/{chunk-GNIK4JYM.js.map → chunk-CDUNE45Q.js.map} +0 -0
- /package/dist/{chunk-QQZ3SBF3.js.map → chunk-CLN7ANNL.js.map} +0 -0
- /package/dist/{chunk-57RBC6IZ.js.map → chunk-CLNSNNQU.js.map} +0 -0
- /package/dist/{chunk-YZK37YCC.js.map → chunk-COYULNJF.js.map} +0 -0
- /package/dist/{chunk-B6CSYKZJ.js.map → chunk-DBFKUPM6.js.map} +0 -0
- /package/dist/{chunk-EH4NQ7C4.js.map → chunk-DNVSEW6P.js.map} +0 -0
- /package/dist/{chunk-VGJSASRT.js.map → chunk-EC3SKPQT.js.map} +0 -0
- /package/dist/{chunk-3ZLJDFJU.js.map → chunk-EDXQKDVQ.js.map} +0 -0
- /package/dist/{chunk-ULPMYS5B.js.map → chunk-FOPHIWFD.js.map} +0 -0
- /package/dist/{chunk-DKVUOBIE.js.map → chunk-FVX76DZS.js.map} +0 -0
- /package/dist/{chunk-6GN7X6LU.js.map → chunk-FXGE233W.js.map} +0 -0
- /package/dist/{chunk-QNETLNPB.js.map → chunk-GBXX3AHJ.js.map} +0 -0
- /package/dist/{chunk-W6ME65LV.js.map → chunk-GVCQGWN7.js.map} +0 -0
- /package/dist/{chunk-5OUTR67M.js.map → chunk-HXZSSHEB.js.map} +0 -0
- /package/dist/{chunk-QH6W3NVF.js.map → chunk-I73KUUYG.js.map} +0 -0
- /package/dist/{chunk-VHOEJBFP.js.map → chunk-IKDWQJZE.js.map} +0 -0
- /package/dist/{chunk-W55XSG6K.js.map → chunk-JWHFMFF2.js.map} +0 -0
- /package/dist/{chunk-NGM3ZLIP.js.map → chunk-K3OJJZCQ.js.map} +0 -0
- /package/dist/{chunk-UI7OCM2A.js.map → chunk-KM4JBR26.js.map} +0 -0
- /package/dist/{chunk-4DXZGZOB.js.map → chunk-KNOFEVOJ.js.map} +0 -0
- /package/dist/{chunk-N2SKTCDK.js.map → chunk-LLX3NKB4.js.map} +0 -0
- /package/dist/{chunk-G6O3URDN.js.map → chunk-LQJMCE7G.js.map} +0 -0
- /package/dist/{chunk-O3JB4PIX.js.map → chunk-LSWU6EAQ.js.map} +0 -0
- /package/dist/{chunk-WHI6466S.js.map → chunk-MNIBZTQE.js.map} +0 -0
- /package/dist/{chunk-R2MMURGK.js.map → chunk-MQJVDIQK.js.map} +0 -0
- /package/dist/{chunk-3SZ6GKLB.js.map → chunk-N25ENPO3.js.map} +0 -0
- /package/dist/{chunk-DR6H3QAA.js.map → chunk-N3JT3KCV.js.map} +0 -0
- /package/dist/{chunk-XMLURPEP.js.map → chunk-N6QEVQZV.js.map} +0 -0
- /package/dist/{chunk-54EMVNPW.js.map → chunk-NJDW6ZQP.js.map} +0 -0
- /package/dist/{chunk-VGYTAYFK.js.map → chunk-NLQQIVTC.js.map} +0 -0
- /package/dist/{chunk-LTOBEUM2.js.map → chunk-OR43PGBV.js.map} +0 -0
- /package/dist/{chunk-UOVALHAJ.js.map → chunk-PWUERAAF.js.map} +0 -0
- /package/dist/{chunk-ZTYNN6G5.js.map → chunk-PXCFA4ZQ.js.map} +0 -0
- /package/dist/{chunk-I5RAQKKJ.js.map → chunk-QSEGY3U5.js.map} +0 -0
- /package/dist/{chunk-UJKW42DI.js.map → chunk-SC6IPDJR.js.map} +0 -0
- /package/dist/{chunk-SHWLROJG.js.map → chunk-T46LHXJW.js.map} +0 -0
- /package/dist/{chunk-KSGA62R2.js.map → chunk-TJYRBEBK.js.map} +0 -0
- /package/dist/{chunk-EVN6KWPN.js.map → chunk-UDL2DEBB.js.map} +0 -0
- /package/dist/{chunk-ORL44TIK.js.map → chunk-VDIVDU3T.js.map} +0 -0
- /package/dist/{chunk-VOUMS6IP.js.map → chunk-XQSQQSGB.js.map} +0 -0
- /package/dist/{chunk-6A3IPDE2.js.map → chunk-XVXAQ3FI.js.map} +0 -0
- /package/dist/{chunk-2XCUERHJ.js.map → chunk-YQMENK5H.js.map} +0 -0
- /package/dist/{chunk-36EHIPV4.js.map → chunk-ZUC4XNWU.js.map} +0 -0
- /package/dist/{condition-HDVYPJJD.js.map → condition-ZPFBPMEZ.js.map} +0 -0
- /package/dist/{controls-YEEW46C6.js.map → controls-LIVMV2GV.js.map} +0 -0
- /package/dist/{controls.config-C535H5DL.js.map → controls.config-2EOMBN5E.js.map} +0 -0
- /package/dist/{cuminc-II7NFIFP.js.map → cuminc-GPFDRNUP.js.map} +0 -0
- /package/dist/{cuminc.integration.spec-B4N6OMBJ.js.map → cuminc.integration.spec-V4JYKLA6.js.map} +0 -0
- /package/dist/{customdata.inputui-AI4ZBIEP.js.map → customdata.inputui-DSEUS3CT.js.map} +0 -0
- /package/dist/{dataDownload-ZQYLXN6D.js.map → dataDownload-KT6K3M7Q.js.map} +0 -0
- /package/dist/{dataDownload.integration.spec-2PKYZ2AY.js.map → dataDownload.integration.spec-VEX2RTSA.js.map} +0 -0
- /package/dist/{databrowser.ui-WGD7D3XV.js.map → databrowser.ui-VJKNMIXA.js.map} +0 -0
- /package/dist/{dnaMethylation-WGJMJL5B.js.map → dnaMethylation-BWQGUXVR.js.map} +0 -0
- /package/dist/{dnaMethylation.integration.spec-DO3PV4MO.js.map → dnaMethylation.integration.spec-YMGT2HYZ.js.map} +0 -0
- /package/dist/{dofetch-RADX3AFU.js.map → dofetch-BMSZZAAQ.js.map} +0 -0
- /package/dist/{e2pca-KOAAU2JX.js.map → e2pca-KSY4DP53.js.map} +0 -0
- /package/dist/{ep-CXCATXYH.js.map → ep-4PAYGMWK.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-UJO2R3CW.js.map → expclust.gdc.spec-XXFP2HHE.js.map} +0 -0
- /package/dist/{facet-2FBUAD7P.js.map → facet-VCJQ7QPE.js.map} +0 -0
- /package/dist/{gb-VCJFV63W.js.map → gb-JDH242LG.js.map} +0 -0
- /package/dist/{geneExpClustering-FUNS6D2P.js.map → geneExpClustering-L23JB7XA.js.map} +0 -0
- /package/dist/{geneExpression-2OPFWV2K.js.map → geneExpression-P2ERCRXO.js.map} +0 -0
- /package/dist/{geneExpression-2BWWGYL4.js.map → geneExpression-QGPVFAN4.js.map} +0 -0
- /package/dist/{geneExpression.unit.spec-G7BSHJQT.js.map → geneExpression.unit.spec-6BQBM6VL.js.map} +0 -0
- /package/dist/{geneORA-S3KQMBYL.js.map → geneORA-XIMJP665.js.map} +0 -0
- /package/dist/{geneRanking-UZ36XAL7.js.map → geneRanking-AJH5G22J.js.map} +0 -0
- /package/dist/{geneVariant-OOZ2SBXO.js.map → geneVariant-AUUZ7S2B.js.map} +0 -0
- /package/dist/{geneVariant-ZHNVEKQ6.js.map → geneVariant-H6BGRRON.js.map} +0 -0
- /package/dist/{geneVariant.integration.spec-2C7EWKEV.js.map → geneVariant.integration.spec-FRCH6VI4.js.map} +0 -0
- /package/dist/{genefusion.ui-ASICJNII.js.map → genefusion.ui-AAJ37VFA.js.map} +0 -0
- /package/dist/{geneset-SNM4M6UM.js.map → geneset-5ARBBUYH.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-DJIRW2X7.js.map → genomeBrowser.spec-RV7YBSMZ.js.map} +0 -0
- /package/dist/{gsea-SPTQJW67.js.map → gsea-XUMCVLFK.js.map} +0 -0
- /package/dist/{hierCluster-KDE5SMYP.js.map → hierCluster-HXOTNMC5.js.map} +0 -0
- /package/dist/{hierCluster-XG4YLVL3.js.map → hierCluster-PEDY7OTZ.js.map} +0 -0
- /package/dist/{hierCluster.config-VNEEJCKJ.js.map → hierCluster.config-RKYCGNWW.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-SSDN7LSH.js.map → hierCluster.integration.spec-YKMAT7UU.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-DKBSJ644.js.map → hierCluster.interactivity-LPTHVWHR.js.map} +0 -0
- /package/dist/{hierCluster.renderers-OG6LZAT7.js.map → hierCluster.renderers-4XWKHCNW.js.map} +0 -0
- /package/dist/{imagePlot-M5JSHEY4.js.map → imagePlot-3DF7ZH3U.js.map} +0 -0
- /package/dist/{importPlot-YH7ZY6RJ.js.map → importPlot-N74SV3TL.js.map} +0 -0
- /package/dist/{isoformExpression-EV27MKYZ.js.map → isoformExpression-FU7Y4OGU.js.map} +0 -0
- /package/dist/{isoformExpression.unit.spec-7T2GOHH3.js.map → isoformExpression.unit.spec-BLQDKV37.js.map} +0 -0
- /package/dist/{launch.adhoc-NOISOX5E.js.map → launch.adhoc-Y35FZV6H.js.map} +0 -0
- /package/dist/{legacyDataset-SWJCAWIR.js.map → legacyDataset-TNIIJABK.js.map} +0 -0
- /package/dist/{lollipop-LQCQBTSX.js.map → lollipop-DU37Q5E2.js.map} +0 -0
- /package/dist/{maf-U237OWZ3.js.map → maf-NRLSNDOT.js.map} +0 -0
- /package/dist/{maftimeline-NLZLMHT2.js.map → maftimeline-GRXGOOSJ.js.map} +0 -0
- /package/dist/{matrix-DZJXYRYN.js.map → matrix-G3BULZ7Y.js.map} +0 -0
- /package/dist/{matrix-Y5345QQG.js.map → matrix-TCTX26A4.js.map} +0 -0
- /package/dist/{matrix.cells-PT7S74QP.js.map → matrix.cells-ED6RS5EC.js.map} +0 -0
- /package/dist/{matrix.config-2ORCUWKX.js.map → matrix.config-QHO2YNOT.js.map} +0 -0
- /package/dist/{matrix.data-C6VPQJJ4.js.map → matrix.data-KQFMXWRX.js.map} +0 -0
- /package/dist/{matrix.groups-CEOCG2CT.js.map → matrix.groups-RE74EFLY.js.map} +0 -0
- /package/dist/{matrix.integration.spec-U4B3JB6N.js.map → matrix.integration.spec-Y4FCZ2Q2.js.map} +0 -0
- /package/dist/{matrix.interactivity-GFLIFIER.js.map → matrix.interactivity-3DW5WAM3.js.map} +0 -0
- /package/dist/{matrix.layout-DOVDHTDX.js.map → matrix.layout-W57D765I.js.map} +0 -0
- /package/dist/{matrix.legend-JE4ZSLP7.js.map → matrix.legend-ZST44PIB.js.map} +0 -0
- /package/dist/{matrix.renderers-GPUJQ7KF.js.map → matrix.renderers-NFRKXO7Y.js.map} +0 -0
- /package/dist/{matrix.serieses-REE4DCSR.js.map → matrix.serieses-6ZKTFVWY.js.map} +0 -0
- /package/dist/{matrix.sort-VD5URUWY.js.map → matrix.sort-2UE47IOC.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-4IOFVHJN.js.map → matrix.sort.unit.spec-5CMWEXPE.js.map} +0 -0
- /package/dist/{matrix.sorterUi-VQYY6KBK.js.map → matrix.sorterUi-WC2YX7S7.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-V5O2EJBX.js.map → matrix.sorterUi.unit.spec-Y2HXWHJN.js.map} +0 -0
- /package/dist/{mavb-SQDA3B2B.js.map → mavb-BI4XKI5P.js.map} +0 -0
- /package/dist/{mds.fimo-ZJSEPLD7.js.map → mds.fimo-UJYESPNC.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-Y5V73GOY.js.map → mds.samplescatterplot-JKU5B4QR.js.map} +0 -0
- /package/dist/{mds.survivalplot-CZBRMHYN.js.map → mds.survivalplot-OP7Y4D3L.js.map} +0 -0
- /package/dist/{numericDictTermCluster-TFXBBUVI.js.map → numericDictTermCluster-DRIEJJSP.js.map} +0 -0
- /package/dist/{oncomatrix-ZILACPPI.js.map → oncomatrix-A3IE47HV.js.map} +0 -0
- /package/dist/{oncomatrix.spec-RLIVVVD6.js.map → oncomatrix.spec-TDWB2ROF.js.map} +0 -0
- /package/dist/{plot.2dvaf-BNRZPIKU.js.map → plot.2dvaf-XY34TDSM.js.map} +0 -0
- /package/dist/{plot.app-NRUARQCN.js.map → plot.app-WRCBLYGO.js.map} +0 -0
- /package/dist/{plot.barplot-342AYQC7.js.map → plot.barplot-RXGOUNHM.js.map} +0 -0
- /package/dist/{plot.boxplot-OHEJDPTW.js.map → plot.boxplot-GBZGSS3D.js.map} +0 -0
- /package/dist/{plot.brainImaging-KV72PAON.js.map → plot.brainImaging-DYPKMNHL.js.map} +0 -0
- /package/dist/{plot.disco-OUE4RFHL.js.map → plot.disco-5K2SCKJ4.js.map} +0 -0
- /package/dist/{plot.dzi-T3GPUH36.js.map → plot.dzi-THJIFHIS.js.map} +0 -0
- /package/dist/{plot.ssgq-WJHGMXW5.js.map → plot.ssgq-FSIUIV3A.js.map} +0 -0
- /package/dist/{plot.vaf2cov-NGD5PCV4.js.map → plot.vaf2cov-HP6KEBVJ.js.map} +0 -0
- /package/dist/{plot.wsi-2MU5BDG3.js.map → plot.wsi-MR6JMOXW.js.map} +0 -0
- /package/dist/{profilePlot-OMVO3K4H.js.map → profilePlot-J2C35OEY.js.map} +0 -0
- /package/dist/{qualitative-MEYBRUC6.js.map → qualitative-N7S2JHZM.js.map} +0 -0
- /package/dist/{regression-ZPDPLI6G.js.map → regression-PBGAMZAV.js.map} +0 -0
- /package/dist/{regression.inputs-QOSBAGL6.js.map → regression.inputs-54E5YKI4.js.map} +0 -0
- /package/dist/{regression.inputs.term-HMUMPY7X.js.map → regression.inputs.term-52MBTMVM.js.map} +0 -0
- /package/dist/{regression.inputs.values.table-VMCTZHLG.js.map → regression.inputs.values.table-F3FOAYFV.js.map} +0 -0
- /package/dist/{regression.integration.spec-RP74JTAA.js.map → regression.integration.spec-M4RPJUE4.js.map} +0 -0
- /package/dist/{regression.results-5XC6M67C.js.map → regression.results-JOK6I2ZD.js.map} +0 -0
- /package/dist/{regression.spec-EZYM24J7.js.map → regression.spec-O4HZB2HQ.js.map} +0 -0
- /package/dist/{report-ZOVQCOGQ.js.map → report-BDDTM7SV.js.map} +0 -0
- /package/dist/{sampleScatter.spec-CD52FEOC.js.map → sampleScatter.spec-272GLYEK.js.map} +0 -0
- /package/dist/{sampleView-SVTLSWRG.js.map → sampleView-E6OHEEP4.js.map} +0 -0
- /package/dist/{samplelst-HXF5POJD.js.map → samplelst-3LNF3DBG.js.map} +0 -0
- /package/dist/{samplematrix-NYDAH74I.js.map → samplematrix-HL445X7I.js.map} +0 -0
- /package/dist/{sc-JIDT4W4K.js.map → sc-4LELHVIS.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-OSB7B6L3.js.map → selectGenomeWithTklst-5LQGT4Z7.js.map} +0 -0
- /package/dist/{singleCellCellType-3BH7LWQ6.js.map → singleCellCellType-T3ZT64EK.js.map} +0 -0
- /package/dist/{singleCellCellType.unit.spec-RU4RJXFF.js.map → singleCellCellType.unit.spec-AE4IAHOF.js.map} +0 -0
- /package/dist/{singleCellGeneExpression-3UA4YER7.js.map → singleCellGeneExpression-SRJXSDEB.js.map} +0 -0
- /package/dist/{singleCellGeneExpression.unit.spec-4ZTBG37H.js.map → singleCellGeneExpression.unit.spec-EPL73UUO.js.map} +0 -0
- /package/dist/{singleCellPlot-ZUAWK5RE.js.map → singleCellPlot-P2BHFTYZ.js.map} +0 -0
- /package/dist/{singlecell-RO3BL5OO.js.map → singlecell-32SSD7VN.js.map} +0 -0
- /package/dist/{singlecell-BGJZB7MF.js.map → singlecell-7KRD5DP7.js.map} +0 -0
- /package/dist/{snp-HD7VQKBR.js.map → snp-LE5R377N.js.map} +0 -0
- /package/dist/{snp.unit.spec-ISXCLMWW.js.map → snp.unit.spec-UY6KQ5NJ.js.map} +0 -0
- /package/dist/{snplocus-IL5Z4XWV.js.map → snplocus-CP34ABUJ.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-LLJSPV7M.js.map → spliceevent.a53ss.diagram-JWLWQDNJ.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-LAOIOIST.js.map → spliceevent.exonskip.diagram-C5526P7P.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-MVA7Q3HT.js.map → spliceevent.noeventdiagram-352M63YB.js.map} +0 -0
- /package/dist/{ssGSEA-7T6S3DSE.js.map → ssGSEA-BFTCECV3.js.map} +0 -0
- /package/dist/{ssGSEA.unit.spec-XJ3W4NWX.js.map → ssGSEA.unit.spec-4OUCKRDQ.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-RRP6JUV6.js.map → summarizeCnvGeneexp-Y3AWFIZA.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-AFLHDD6Q.js.map → summarizeGeneexpSurvival-U5JSPG22.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-NABUYHMX.js.map → summarizeMutationCnv-KCOVQEBC.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-2LQ7JU3K.js.map → summarizeMutationDiagnosis-EQXEQABW.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-3WBT5TXG.js.map → summarizeMutationSurvival-4VGLG4SC.js.map} +0 -0
- /package/dist/{summary-FRDKOFXW.js.map → summary-DXYCBNI4.js.map} +0 -0
- /package/dist/{summary.integration.spec-ZLRIA7G2.js.map → summary.integration.spec-MZTJISLP.js.map} +0 -0
- /package/dist/{summaryInput-4JO6MHP4.js.map → summaryInput-5Z3XVIL6.js.map} +0 -0
- /package/dist/{sunburst-DRCVSC2X.js.map → sunburst-WVSQJYP2.js.map} +0 -0
- /package/dist/{survival-IF5NI3A6.js.map → survival-3R3J2JBE.js.map} +0 -0
- /package/dist/{survival-AK75COPY.js.map → survival-XQWFVGCJ.js.map} +0 -0
- /package/dist/{survival.integration.spec-7IWBTPJG.js.map → survival.integration.spec-EBDPIBYM.js.map} +0 -0
- /package/dist/{svgraph-QBDF2SLB.js.map → svgraph-SY2HVMYL.js.map} +0 -0
- /package/dist/{svmr-O4GJJUT2.js.map → svmr-TIIMFKG7.js.map} +0 -0
- /package/dist/{table-FQAIXKLE.js.map → table-5RFTXIQL.js.map} +0 -0
- /package/dist/{termCollection-ZO5PZ7E3.js.map → termCollection-23QXTZDN.js.map} +0 -0
- /package/dist/{termCollection-GMDDL3L7.js.map → termCollection-7KXABWVW.js.map} +0 -0
- /package/dist/{termCollection.unit.spec-5JBCTXHX.js.map → termCollection.unit.spec-4AN2Z4PQ.js.map} +0 -0
- /package/dist/{tk-GJX23IV7.js.map → tk-WW6PJGPQ.js.map} +0 -0
- /package/dist/{tp.ui-T7FVMTGQ.js.map → tp.ui-S5PO3MPH.js.map} +0 -0
- /package/dist/{tvs.dt-X7L7NSU6.js.map → tvs.dt-O7LUM5TK.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-73G2V6CH.js.map → tvs.dtcnv.categorical-2OUFOD3W.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-DWFJL3X7.js.map → tvs.dtcnv.continuous-NOOUY5SZ.js.map} +0 -0
- /package/dist/{tvs.dtfusion-HQADHCSV.js.map → tvs.dtfusion-KXQMP3UF.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-PY5OBMGW.js.map → tvs.dtsnvindel-PWHFTWZU.js.map} +0 -0
- /package/dist/{tvs.dtsv-OTBEEWSW.js.map → tvs.dtsv-25FLS572.js.map} +0 -0
- /package/dist/{tvs.numeric-WGDHEBJV.js.map → tvs.numeric-KYAU5OV3.js.map} +0 -0
- /package/dist/{tvs.samplelst-LCXSU5MG.js.map → tvs.samplelst-FLXNJFIV.js.map} +0 -0
- /package/dist/{tvs.termCollection-L527XN4X.js.map → tvs.termCollection-PSVOMJE4.js.map} +0 -0
- /package/dist/{violin-6VKRUQV3.js.map → violin-SWMEFWRA.js.map} +0 -0
- /package/dist/{violin.integration.spec-RJATDLQH.js.map → violin.integration.spec-6EQ6GC2N.js.map} +0 -0
- /package/dist/{violin.interactivity-SKF5H7MN.js.map → violin.interactivity-WBIWPLSM.js.map} +0 -0
- /package/dist/{violin.renderer-GB4TPX3B.js.map → violin.renderer-3WARZUOH.js.map} +0 -0
- /package/dist/{vocabulary-D3W44IWE.js.map → vocabulary-WLHYHDX7.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../plots/profile/profilePlot.ts"],
|
|
4
|
+
"sourcesContent": ["import { controlsInit } from '../controls.js'\nimport { fillTermWrapper, fillTwLst } from '#termsetting'\nimport { select } from 'd3-selection'\nimport { Menu } from '#dom/menu'\nimport { icons as icon_functions } from '#dom/control.icons'\nimport { getCategoricalTermFilter, getCombinedTermFilter } from '#filter'\nimport { DownloadMenu } from '#dom/downloadMenu'\nimport { importPlot } from '#plots/importPlot.js'\nimport { PlotBase } from '../PlotBase.ts'\nimport { type RxComponent } from '#rx'\n/*\n\nThe profilePlot is the base class for all the profile plots. It handles the common functionality such as setting controls, fetching data, and initializing the plot elements.\nAll the profile plots have the same filters:\n- Region\n- Country\n- Income group\n- Facility type\n- Teaching status\n- Referral status\n- Funding source\n- Hospital volume\n- Year of implementation\n- Sites\n\nThe profileRadarFacility2 adds at the top of these filters the facility select as here we compare a single facility with the average scores of all the facilities aggregated\n*/\n\n//order for income groups and hospital volumes\nconst orderedIncomes = ['Low income', 'Lower middle income', 'Upper middle income', 'High income']\nconst orderedVolumes = [\n\t'Small (1-25 annual newly diagnoses)',\n\t'Medium (26-80 annual newly diagnoses)',\n\t'Large (81-120 annual newly diagnoses)',\n\t'Very large (>120 annual newly diagnoses)'\n]\n\n//Cohort types\nexport const ABBREV_COHORT = 0\nexport const FULL_COHORT = 1\n\nexport abstract class profilePlot extends PlotBase implements RxComponent {\n\treadonly type: string\n\tdownloadCount: number\n\ttip: Menu\n\tscoreTerms: any[]\n\tscScoreTerms: any[]\n\tisRadarFacility: boolean\n\tcomponents: any\n\tsettings: any\n\tisComparison: any\n\tconfig: any\n\tfilter: any\n\tlegendG: any\n\tfilteredTermValues: any\n\tdata: any\n\tsites!: any[]\n\tsampleData: any\n\tfilterG: any\n\tfiltersCount: any\n\n\tconstructor(opts, type) {\n\t\tsuper(opts)\n\t\tthis.type = type\n\t\tthis.downloadCount = 0\n\t\tthis.tip = new Menu({ padding: '4px', offsetX: 10, offsetY: 15 })\n\t\tthis.scoreTerms = []\n\t\tthis.scScoreTerms = []\n\t\tthis.isRadarFacility = false\n\t\tthis.components = { plots: {} }\n\t}\n\n\t//extracts the relevant state from the appState: config, termfilter, vocab, login info\n\tgetState(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\tconst { logged, sites, user } = getProfileLogin(this.app, appState.activeCohort) //later on replace with real login info\n\t\tconst site = sites?.[0]\n\t\treturn {\n\t\t\tconfig,\n\t\t\ttermfilter: appState.termfilter,\n\t\t\tdslabel: appState.vocab.dslabel,\n\t\t\ttermdbConfig: appState.termdbConfig,\n\t\t\tvocab: appState.vocab,\n\t\t\tlogged, //later change to read login info\n\t\t\tsite,\n\t\t\tsites,\n\t\t\tuser,\n\t\t\tactiveCohort: appState.activeCohort,\n\t\t\t//Find plots where I am a parent. Here the child is a second plot for comparison\n\t\t\tplots: appState.plots.filter(p => p.parentId === this.id) //this property is needed to indicate that child plots need to be added to the appState plots\n\t\t}\n\t}\n\n\t//refers to the view where all the filters are shown and not the preselected site\n\tisAggregate() {\n\t\tif (!this.state.logged) return true\n\t\tif (this.settings.isAggregate) return true //marked by the user\n\t\tif (this.state.sites?.length > 1 || this.state.user == 'admin' || this.isRadarFacility) return true //multiple sites selected\n\t\treturn false\n\t}\n\n\t//initializes the plot elements\n\tasync init(appState) {\n\t\tconst config = appState.plots.find(p => p.id === this.id)\n\t\tconst state = this.getState(appState)\n\t\tif (this.opts.header) {\n\t\t\tlet chartName = config.chartType.match(/[A-Z][a-z]+/g)\n\t\t\tchartName = chartName.join(' ')\n\t\t\tchartName = config.headerTitle ? config.headerTitle + ` / ${state.user}` : chartName + ` / ${state.user}`\n\t\t\tthis.opts.header.style('text-transform', 'capitalize').text(chartName)\n\t\t}\n\t\tconst div = this.opts.holder.append('div').style('display', 'inline-block')\n\t\tconst leftDiv = div.append('div').style('display', 'inline-block').style('vertical-align', 'top')\n\n\t\tconst rightDiv = div.append('div').style('display', 'inline-block').style('vertical-align', 'top')\n\n\t\tconst controlsDiv = leftDiv.append('div').style('display', 'inline-block').style('font-size', '0.9em')\n\t\tconst iconsDiv = leftDiv.append('div').style('margin-top', '10px').style('padding-left', '12px')\n\n\t\tconst holder = rightDiv.insert('div').style('display', 'inline-block')\n\n\t\tconst plotDiv = holder.append('div')\n\t\t// loading overlay shown over the chart sandbox while the chart's data is fetched/rendered.\n\t\t// Reuses the shared .sjpp-loading-overlay box + .sjpp-spinner glyph; anchored on the\n\t\t// full-width sandbox holder (opts.holder) so the spinner stays centered even on first\n\t\t// open when the inner plot area is still empty.\n\t\tthis.opts.holder.style('position', 'relative')\n\t\tconst loadingDiv = this.opts.holder.append('div').attr('class', 'sjpp-loading-overlay').style('display', 'none')\n\t\tloadingDiv.append('div').attr('class', 'sjpp-spinner')\n\t\tthis.dom = {\n\t\t\tcontrolsDiv,\n\t\t\tholder,\n\t\t\ticonsDiv,\n\t\t\trightDiv,\n\t\t\tplotDiv,\n\t\t\tloadingDiv\n\t\t}\n\t\tselect('.sjpp-output-sandbox-content').on('scroll', event => {\n\t\t\tif (this.onMouseOut) this.onMouseOut(event)\n\t\t})\n\t\tthis.dom.rightDiv.on('mousemove', event => this.onMouseOver(event))\n\t\tthis.dom.rightDiv.on('mouseleave', event => this.onMouseOut(event))\n\t\tthis.dom.rightDiv.on('mouseout', event => this.onMouseOut(event))\n\n\t\tdocument.addEventListener('scroll', () => this?.tip?.hide())\n\n\t\tconst restartDiv = iconsDiv.append('div').style('padding-bottom', '8px')\n\t\ticon_functions['restart'](restartDiv, {\n\t\t\ttitle: 'Clear filters',\n\t\t\thandler: async () => {\n\t\t\t\tthis.clearFiltersExcept([])\n\t\t\t\tthis.app.dispatch({\n\t\t\t\t\ttype: 'plot_edit',\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tconfig: { filter: this.getFilter(), settings: { [this.type]: this.settings } }\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t\tif (!config.parentId) {\n\t\t\tconst iconDiv = iconsDiv.append('div').style('fill', '#aaa').style('padding', '2px')\n\n\t\t\ticon_functions['add'](iconDiv, {\n\t\t\t\ttitle: 'Open another plot for comparison',\n\t\t\t\thandler: () => {\n\t\t\t\t\tconst show = !this.isComparison\n\t\t\t\t\tconst icon = iconDiv.select('svg')\n\t\t\t\t\ticon.style('fill', show ? 'orange' : 'black')\n\t\t\t\t\tif (this.isComparison) {\n\t\t\t\t\t\tconst id = this.state.plots.find(p => p.parentId === this.id)?.id\n\t\t\t\t\t\tthis.app.dispatch({\n\t\t\t\t\t\t\ttype: 'plot_delete',\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tparentId: this.id\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tthis.legendG.selectAll('*').remove()\n\t\t\t\t\tconst config = structuredClone(this.config)\n\t\t\t\t\tconfig.parentId = this.id\n\t\t\t\t\tthis.app.dispatch({\n\t\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\t\tconfig\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tabstract onMouseOver(event: MouseEvent): void\n\n\t//tooltip handler to hide the tooltip when mouse leaves the plot area\n\tonMouseOut(_event: MouseEvent) {\n\t\tthis.tip.hide()\n\t}\n\n\tasync main() {\n\t\tthis.config = JSON.parse(JSON.stringify(this.state.config))\n\t\tthis.settings = this.config.settings[this.type]\n\t\tthis.dom.plotDiv.selectAll('*').remove()\n\n\t\tthis.isComparison = this.config.parentId || this.state.plots.length > 0\n\t\t//Render second plot for comparison that is a duplicate of this one, that will be rendered to the right of this plot\n\t\t//Child plots need to be rendered by the father plot, a similar approach is used in the report\n\t\tfor (const config of this.state.plots) {\n\t\t\tconst plot = structuredClone(config)\n\t\t\tif (this.components.plots[plot.id]) continue\n\t\t\tconst holder = this.opts.holder.append('div').style('display', 'inline-block').style('padding', '5px')\n\t\t\tplot.holder = holder.append('div')\n\t\t\tplot.app = this.app\n\t\t\tconst { componentInit } = await importPlot(plot.chartType)\n\t\t\tthis.components.plots[plot.id] = await componentInit(plot)\n\t\t}\n\t\t//delete child plot if comparison disabled and plot deleted\n\t\tfor (const plotId in this.components.plots) {\n\t\t\tif (!this.state.plots.find(p => p.id === plotId)) {\n\t\t\t\tthis.components.plots[plotId].destroy()\n\t\t\t\tdelete this.components.plots[plotId]\n\t\t\t}\n\t\t}\n\t}\n\n\tasync setControls(additionalInputs: any[] = []) {\n\t\ttry {\n\t\t\tconst isRadarFacility = this.isRadarFacility\n\t\t\tconst filters = {}\n\t\t\tfor (const tw of this.config.filterTWs) {\n\t\t\t\tfilters[tw.term.id] = getCategoricalTermFilter(this.config.filterTWs, this.settings, tw)\n\t\t\t}\n\n\t\t\tthis.filteredTermValues = await this.app.vocabApi.filterTermValues({\n\t\t\t\tterms: this.config.filterTWs,\n\t\t\t\tfilter: this.state.termfilter.filter,\n\t\t\t\tfilters,\n\t\t\t\tfacilityTW: this.config.facilityTW,\n\t\t\t\t// safe to pass because the backend code will still compare terms[] with the the dataset's hiddenTermIds,\n\t\t\t\t// it only affects what will be included in the aggregation and does not disable user access authentication\n\t\t\t\tfilterByUserSites: this.settings.filterByUserSites,\n\t\t\t\tshowAll: true\n\t\t\t})\n\t\t\tconst regions = this.filteredTermValues[this.config.regionTW.id]\n\t\t\tconst sjgRegions = this.filteredTermValues[this.config.sjgRegionTW.id]\n\t\t\tconst countries = this.filteredTermValues[this.config.countryTW.id]\n\t\t\tconst incomes = this.filteredTermValues[this.config.incomeTW.id]\n\t\t\tconst teachingStates = this.filteredTermValues[this.config.teachingStatusTW.id]\n\t\t\tconst referralStates = this.filteredTermValues[this.config.referralStatusTW.id]\n\t\t\tconst fundingSources = this.filteredTermValues[this.config.fundingSourceTW.id]\n\t\t\tconst hospitalVolumes = this.filteredTermValues[this.config.hospitalVolumeTW.id]\n\t\t\tconst yearsOfImplementation = this.filteredTermValues[this.config.yearOfImplementationTW.id]\n\t\t\tincomes.sort((elem1, elem2) => {\n\t\t\t\tconst i1 = orderedIncomes.indexOf(elem1.value)\n\t\t\t\tconst i2 = orderedIncomes.indexOf(elem2.value)\n\t\t\t\tif (i1 < i2) return -1\n\t\t\t\treturn 1\n\t\t\t})\n\t\t\thospitalVolumes.sort((elem1, elem2) => {\n\t\t\t\tconst i1 = orderedVolumes.indexOf(elem1.value)\n\t\t\t\tconst i2 = orderedVolumes.indexOf(elem2.value)\n\t\t\t\tif (i1 < i2) return -1\n\t\t\t\treturn 1\n\t\t\t})\n\t\t\tconst types = this.filteredTermValues[this.config.typeTW.id]\n\t\t\tconst isAggregate = this.isAggregate()\n\n\t\t\tif (!this.settings[this.config.facilityTW?.term?.id] && this.state.sites?.length == 1 && !isAggregate) {\n\t\t\t\tthis.settings[this.config.facilityTW?.term?.id] = [this.state.sites[0]]\n\t\t\t}\n\n\t\t\tthis.filter = this.config.filter || this.getFilter()\n\n\t\t\tif (this.type == 'profileForms')\n\t\t\t\tthis.data = await this.app.vocabApi.getProfileFormScores({\n\t\t\t\t\tscoreTerms: this.scoreTerms,\n\t\t\t\t\tscScoreTerms: this.scScoreTerms,\n\t\t\t\t\tfilter: this.filter,\n\t\t\t\t\tfacilityTW: this.config.facilityTW,\n\t\t\t\t\tfilterByUserSites: this.settings.filterByUserSites\n\t\t\t\t})\n\t\t\telse if (this.type == 'profileRadarFacility2')\n\t\t\t\t// profileRadarFacility2 fetches aggregate + single-site in one dedicated-route call;\n\t\t\t\t// the subclass's fetchRadarFacility2Scores() also sets this.sampleData from the response\n\t\t\t\tthis.data = await (this as any).fetchRadarFacility2Scores()\n\t\t\t/*\n\t\t\tOnly profileForms and profileRadarFacility2 fetch this.data here; polar2/barchart2\n\t\t\tfetch in their own setControls() override and run their own error check afterwards.\n\t\t\tRestrict this throw to those two types so we don't re-throw a stale this.data error\n\t\t\tleft over from a previous render, which would otherwise block recovery (e.g. clearing\n\t\t\tfilters after an error) before the subclass re-fetches.\n\t\t\t*/\n\t\t\tif ((this.type == 'profileForms' || this.type == 'profileRadarFacility2') && this.data && 'error' in this.data)\n\t\t\t\tthrow this.data.error\n\t\t\tthis.sites = this.filteredTermValues[this.config.facilityTW.id]?.filter(s => !s.disabled && s.value)\n\n\t\t\tif (this.settings[this.config.facilityTW?.term?.id])\n\t\t\t\tfor (const site of this.settings[this.config.facilityTW?.term?.id]) {\n\t\t\t\t\tconst siteOption = this.sites.find(s => s.value == site)\n\t\t\t\t\tif (siteOption) siteOption.selected = true //mark selected sites\n\t\t\t\t}\n\t\t\tconst chartType = this.type\n\t\t\tthis.dom.controlsDiv.selectAll('*').remove()\n\t\t\tconst inputs: any[] = []\n\t\t\tconst userSitesFilterInput = {\n\t\t\t\tlabel: 'Use accessible sites only',\n\t\t\t\tboxLabel: '',\n\t\t\t\ttype: 'checkbox',\n\t\t\t\tchartType,\n\t\t\t\tsettingsKey: 'filterByUserSites'\n\t\t\t}\n\t\t\tif (this.state.sites?.length == 1 && !isRadarFacility) {\n\t\t\t\tconst dataInput = {\n\t\t\t\t\tlabel: 'Data',\n\t\t\t\t\ttype: 'radio',\n\t\t\t\t\tchartType,\n\t\t\t\t\tsettingsKey: 'isAggregate',\n\t\t\t\t\tstyles: { display: 'inline-block' },\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t{ label: this.state.site, value: false },\n\t\t\t\t\t\t{ label: 'Aggregate', value: true }\n\t\t\t\t\t],\n\t\t\t\t\tcallback: isAggregate => {\n\t\t\t\t\t\tthis.settings.isAggregate = isAggregate\n\t\t\t\t\t\tconst id = this.sites.find(s => s.value == this.state.site)?.value\n\t\t\t\t\t\tconst value = isAggregate ? [] : [id]\n\t\t\t\t\t\tthis.setFilterValue(this.config.facilityTW.term.id, value)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinputs.push(dataInput)\n\t\t\t}\n\t\t\tif (isAggregate || isRadarFacility) {\n\t\t\t\tinputs.push(\n\t\t\t\t\t...[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'WHO Region',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.regionTW.term.id,\n\t\t\t\t\t\t\toptions: regions,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.regionTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'SJG Region',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.sjgRegionTW.term.id,\n\t\t\t\t\t\t\toptions: sjgRegions,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.sjgRegionTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Country',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.countryTW.term.id,\n\t\t\t\t\t\t\toptions: countries,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.countryTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Income group',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.incomeTW.term.id,\n\t\t\t\t\t\t\toptions: incomes,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.incomeTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: 'Facility type',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.typeTW.term.id,\n\t\t\t\t\t\t\toptions: types,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.typeTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.config.teachingStatusTW.term.name,\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.teachingStatusTW.term.id,\n\t\t\t\t\t\t\toptions: teachingStates,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.teachingStatusTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.config.referralStatusTW.term.name,\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.referralStatusTW.term.id,\n\t\t\t\t\t\t\toptions: referralStates,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.referralStatusTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.config.fundingSourceTW.term.name,\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.fundingSourceTW.term.id,\n\t\t\t\t\t\t\toptions: fundingSources,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.fundingSourceTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.config.hospitalVolumeTW.term.name,\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.hospitalVolumeTW.term.id,\n\t\t\t\t\t\t\toptions: hospitalVolumes,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.hospitalVolumeTW.term.id, value)\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.config.yearOfImplementationTW.term.name,\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\tsettingsKey: this.config.yearOfImplementationTW.term.id,\n\t\t\t\t\t\t\toptions: yearsOfImplementation,\n\t\t\t\t\t\t\tcallback: value => this.setFilterValue(this.config.yearOfImplementationTW.term.id, value)\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\tif (this.state.logged) {\n\t\t\t\tif (isAggregate && this.sites.length > 1) {\n\t\t\t\t\tconst sitesInput = {\n\t\t\t\t\t\tlabel: 'Sites',\n\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\tchartType,\n\t\t\t\t\t\toptions: this.sites,\n\t\t\t\t\t\tmultiple: true,\n\t\t\t\t\t\tcallback: values => this.setFilterValue(this.config.facilityTW.term.id, values)\n\t\t\t\t\t}\n\t\t\t\t\tinputs.push(sitesInput)\n\t\t\t\t\tif (this.state.user != 'admin') inputs.unshift(userSitesFilterInput) //add filter by user sites only for non-admin users\n\t\t\t\t}\n\t\t\t\tif (isRadarFacility) {\n\t\t\t\t\t// profileRadarFacility2's fetchRadarFacility2Scores() above populated this.sampleData\n\t\t\t\t\t// from the dedicated-route response. Skip the facility-site dropdown when sampleData\n\t\t\t\t\t// is unavailable (e.g. public role, or when the filter excludes all sites) \u2014 turns\n\t\t\t\t\t// a would-be TypeError into a graceful no-op.\n\t\t\t\t\tif (this.sampleData?.sites?.length) {\n\t\t\t\t\t\tconst facilitySites = this.sampleData.sites\n\t\t\t\t\t\tconst facilitySite = this.settings.facilitySite\n\t\t\t\t\t\t\t? facilitySites.find(s => s.value == this.settings.facilitySite)\n\t\t\t\t\t\t\t: facilitySites[0]\n\t\t\t\t\t\tif (!facilitySite)\n\t\t\t\t\t\t\t//probably a session recovery\n\t\t\t\t\t\t\tthrow new Error(`Access to ${this.settings.facilitySite} facility not allowed`)\n\t\t\t\t\t\tfacilitySite.selected = true //mark selected facility site\n\n\t\t\t\t\t\tinputs.unshift({\n\t\t\t\t\t\t\tlabel: 'Facility site',\n\t\t\t\t\t\t\ttype: 'dropdown',\n\t\t\t\t\t\t\tchartType,\n\t\t\t\t\t\t\toptions: facilitySites,\n\t\t\t\t\t\t\tcallback: value => {\n\t\t\t\t\t\t\t\tthis.setFacilitySite(value)\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\n\t\t\tinputs.unshift(...additionalInputs)\n\t\t\tthis.components.controls = await controlsInit({\n\t\t\t\tapp: this.app,\n\t\t\t\tid: this.id,\n\t\t\t\tholder: this.dom.controlsDiv,\n\t\t\t\tinputs,\n\t\t\t\ttitle: 'Filters'\n\t\t\t})\n\t\t\tthis.components.controls.on(`downloadClick.${chartType}`, event => this.download(event))\n\t\t\tthis.components.controls.on(`helpClick.${chartType}`, () => {\n\t\t\t\tconst activeCohort = this.state.activeCohort\n\t\t\t\tlet link\n\t\t\t\tif (activeCohort == ABBREV_COHORT) {\n\t\t\t\t\tif (chartType == 'profileBarchart2')\n\t\t\t\t\t\tlink =\n\t\t\t\t\t\t\t'https://global.stjude.org/content/dam/global/en-us/documents/no-index/bar-graph-abbr-profiledash.pdf'\n\t\t\t\t\telse if (chartType == 'profilePolar2')\n\t\t\t\t\t\tlink =\n\t\t\t\t\t\t\t'https://global.stjude.org/content/dam/global/en-us/documents/no-index/polar-graph-abbr-profiledash.pdf'\n\t\t\t\t\telse if (chartType.startsWith('profileRadar'))\n\t\t\t\t\t\tlink = 'https://global.stjude.org/content/dam/global/en-us/documents/no-index/radar-abbr-profiledash.pdf'\n\t\t\t\t} else if (activeCohort == FULL_COHORT) {\n\t\t\t\t\tif (chartType == 'profileBarchart2')\n\t\t\t\t\t\tlink =\n\t\t\t\t\t\t\t'https://global.stjude.org/content/dam/global/en-us/documents/no-index/bar-graph-full-profiledash.pdf'\n\t\t\t\t\telse if (chartType == 'profilePolar2')\n\t\t\t\t\t\tlink =\n\t\t\t\t\t\t\t'https://global.stjude.org/content/dam/global/en-us/documents/no-index/polar-graph-full-profiledash.pdf'\n\t\t\t\t\telse if (chartType.startsWith('profileRadar'))\n\t\t\t\t\t\tlink = 'https://global.stjude.org/content/dam/global/en-us/documents/no-index/radar-full-profiledash.pdf'\n\t\t\t\t}\n\t\t\t\tif (link) window.open(link)\n\t\t\t})\n\t\t\tthis.filtersCount = 0\n\t\t} catch (e) {\n\t\t\tconsole.log(e)\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tsetFilterValue(key, value) {\n\t\tconst config = this.config\n\t\tthis.settings[key] = value\n\t\tconfig.filter = this.getFilter()\n\t\tthis.app.dispatch({ type: 'plot_edit', id: this.id, config: this.config })\n\t}\n\n\tgetFilterWithSettings(settings) {\n\t\tlet filter = getCategoricalTermFilter(this.config.filterTWs, settings, null)\n\t\tfilter = getCombinedTermFilter(this.state, filter)\n\t\treturn filter.filter\n\t}\n\n\tgetFilter() {\n\t\tlet filter = getCategoricalTermFilter(this.config.filterTWs, this.settings, null)\n\t\tfilter = getCombinedTermFilter(this.state, filter)\n\t\treturn filter.filter\n\t}\n\n\tclearFiltersExcept(ids) {\n\t\tfor (const tw of this.config.filterTWs) if (!ids.includes(tw.term.id)) this.settings[tw.term.id] = ''\n\t}\n\n\tsetFacilitySite(site) {\n\t\tthis.settings.facilitySite = site\n\t\tthis.app.dispatch({ type: 'plot_edit', id: this.id, config: this.config })\n\t}\n\n\taddFilterLegend() {\n\t\tconst hasFilters = this.config.filterTWs.some(tw => this.settings[tw.term.id])\n\t\tconst title = hasFilters ? 'Filters' : 'No filter applied'\n\t\tthis.filterG\n\t\t\t.attr('font-size', '0.9em')\n\t\t\t.append('text')\n\t\t\t.attr('text-anchor', 'left')\n\t\t\t.style('font-weight', 'bold')\n\t\t\t.text(`${title} (n=${this.data.n})`)\n\t\t\t.attr('transform', `translate(0, -5)`)\n\t\tfor (const tw of this.config.filterTWs) this.addFilterLegendItem(tw.term.name, this.settings[tw.term.id])\n\t}\n\n\taddFilterLegendItem(filter, value) {\n\t\tif (!value || value?.length === 0) return\n\t\tthis.filtersCount++\n\t\tconst isArray = Array.isArray(value)\n\t\tlet text = isArray ? value.join(', ') : value\n\t\tif (text.length > 40) {\n\t\t\ttext = text.slice(0, 40) + '...'\n\t\t}\n\t\tconst itemG = this.filterG.append('g').attr('font-size', '0.95em')\n\t\tconst textElem = itemG\n\t\t\t.append('text')\n\t\t\t.attr('transform', `translate(0, ${this.filtersCount * 22})`)\n\t\t\t.attr('text-anchor', 'left')\n\t\ttextElem.append('tspan').attr('font-weight', 'bold').text(`${filter}: `)\n\t\ttextElem.append('tspan').text(text)\n\t}\n\n\taddEndUserImpressionNote(uiG) {\n\t\tuiG.attr('font-size', '0.9em')\n\t\tconst textElem = uiG.append('text').attr('transform', `translate(0, 115)`)\n\t\ttextElem.append('tspan').attr('font-weight', 'bold').text('End-user Impression: ')\n\t\ttextElem.append('tspan').text('It is provided by the local liaison who completed the assessment ')\n\t\tuiG\n\t\t\t.append('text')\n\t\t\t.attr('transform', `translate(0, 140)`)\n\t\t\t.text('in consultation with the PHO medical director or directly by the PHO medical director.')\n\t\tuiG\n\t\t\t.append('text')\n\t\t\t.attr('transform', `translate(0, 165)`)\n\t\t\t.text('The end-user was asked to rate the current status of the domains and subdomains included.')\n\t}\n\n\taddPOCNote(uiG) {\n\t\tuiG.attr('font-size', '0.9em')\n\t\tconst textElem = uiG.append('text').attr('transform', `translate(0, 115)`)\n\t\ttextElem.append('tspan').attr('font-weight', 'bold').text('Point of Care (POC) Staff: ')\n\t\ttextElem.append('tspan').text('All members of the assessment team, ')\n\t\tuiG\n\t\t\t.append('text')\n\t\t\t.attr('transform', `translate(0, 140)`)\n\t\t\t.text('excluding the Site Coordinator. POC staff provide subjective information based ')\n\t\tuiG\n\t\t\t.append('text')\n\t\t\t.attr('transform', `translate(0, 165)`)\n\t\t\t.text('on their experience and perception about service delivery at the PHO facility.')\n\t}\n\n\taddLegendItem(category, description, index) {\n\t\tconst text = this.legendG\n\t\t\t.append('text')\n\t\t\t.attr('font-size', '0.9em')\n\t\t\t.attr('transform', `translate(0, ${index * 20})`)\n\t\t\t.attr('text-anchor', 'left')\n\t\ttext.append('tspan').attr('font-weight', 'bold').text(category)\n\t\ttext.append('tspan').text(`: ${description}`)\n\t}\n\n\tgetDownloadFilename() {\n\t\tthis.downloadCount++\n\t\tlet filename = `${this.type}${this.downloadCount}`\n\t\tfilename = filename.split(' ').join('_')\n\t\treturn filename\n\t}\n\n\tgetPercentage(d) {\n\t\tif (!d) return 0\n\t\tconst score = this.data.term2Score[d.score.term.id]\n\t\treturn score\n\t}\n\n\tasync download(event) {\n\t\tconst chartImages = this.getChartImages()\n\t\tconst menu = new DownloadMenu(chartImages, this.getDownloadFilename())\n\t\tmenu.show(event.clientX, event.clientY, event.target)\n\t}\n\n\tpreApiFreeze(api) {\n\t\tapi.download = this.download\n\t\tapi.getChartImages = () => this.getChartImages()\n\t}\n\n\tgetChartImages() {\n\t\tconst plots: any[] = Object.values(this.components.plots)\n\t\tconst note = '\u00A9 2025 St. Jude Children\u2019s Research Hospital'\n\t\tlet name = plots.length > 0 ? 'Original' : ''\n\t\tname += ` ${note}`\n\t\tconst charts = [{ name, svg: this.dom.svg }]\n\t\tlet i = 1\n\t\tfor (const plot of plots) {\n\t\t\t//Adding comparison plots\n\t\t\tconst chartImages = plot.getChartImages()\n\n\t\t\tfor (const chartImage of chartImages) {\n\t\t\t\tconst svg = chartImage.svg\n\t\t\t\tconst name =\n\t\t\t\t\tchartImages.length > 1\n\t\t\t\t\t\t? `Comparison ${i}. ${chartImage.name} ${note}`\n\t\t\t\t\t\t: `Comparison ${chartImage.name} ${note}`\n\t\t\t\tcharts.push({ name, svg })\n\t\t\t}\n\t\t\ti++\n\t\t}\n\t\treturn charts\n\t}\n}\n\nexport function makeChartBtnMenu(holder, chartsInstance, chartType) {\n\t/*\n\tholder: the holder in the tooltip\n\tchartsInstance: MassCharts instance\n\t\ttermdbConfig is accessible at chartsInstance.state.termdbConfig{}\n\t\tmass option is accessible at chartsInstance.app.opts{}\n\t*/\n\tconst state = chartsInstance.state\n\tconst key = state.activeCohort == FULL_COHORT ? 'full' : 'abbrev'\n\tconst typeConfig = state.termdbConfig?.plotConfigByCohort[key][chartType]\n\tif (typeConfig.options.length == 1) {\n\t\tcreatePlot(typeConfig.options[0], chartType, chartsInstance)\n\t\treturn\n\t}\n\tconst menuDiv = holder.append('div')\n\tfor (const plotConfig of typeConfig.options) {\n\t\tmenuDiv\n\t\t\t.append('div')\n\t\t\t.attr('class', 'sja_menuoption sja_sharp_border')\n\t\t\t.text(plotConfig.title)\n\t\t\t.on('click', () => {\n\t\t\t\tcreatePlot(plotConfig, chartType, chartsInstance)\n\t\t\t\tchartsInstance.dom.tip.hide()\n\t\t\t})\n\t}\n\n\tfunction createPlot(plotConfig, chartType, chartsInstance) {\n\t\tconst config = structuredClone(plotConfig)\n\t\tconfig.chartType = chartType\n\t\tchartsInstance.app.dispatch({\n\t\t\ttype: 'plot_create',\n\t\t\tchartType,\n\t\t\tconfig\n\t\t})\n\t}\n}\n\nexport async function getProfilePlotConfig(activeCohort, app, opts) {\n\tconst key = activeCohort == FULL_COHORT ? 'full' : 'abbrev'\n\tconst config = structuredClone(app.vocabApi.termdbConfig?.plotConfigByCohort[key]?.[opts.chartType])\n\tif (!config) throw `No data available for the plot ${opts.chartType} in this dataset`\n\tconst cohortPreffix = activeCohort == FULL_COHORT ? 'F' : 'A'\n\tconfig.facilityTW = { id: cohortPreffix + 'UNIT' } //All the plots want the facility term to show the hospital name if a site is selected\n\tconfig.hidePlotFilter = true\n\tawait fillTermWrapper(config.facilityTW, app.vocabApi)\n\tawait loadFilterTerms(config, activeCohort, app)\n\treturn config\n}\n\nexport async function loadFilterTerms(config, activeCohort, app) {\n\t//These are the profile filters for each plot. Hardcoded here\n\tconst cohortPreffix = activeCohort == FULL_COHORT ? 'F' : 'A'\n\tconfig.countryTW = { id: cohortPreffix + 'country' }\n\tconfig.regionTW = { id: cohortPreffix + 'WHO_region' }\n\tconfig.sjgRegionTW = { id: cohortPreffix + 'SJG_region' }\n\tconfig.incomeTW = { id: cohortPreffix + 'Income_group' }\n\tconfig.typeTW = { id: cohortPreffix + 'FC_TypeofFacility' }\n\tconfig.teachingStatusTW = { id: cohortPreffix + 'FC_TeachingFacility' }\n\tconfig.referralStatusTW = { id: cohortPreffix + 'FC_ReferralFacility' }\n\tconfig.fundingSourceTW = { id: cohortPreffix + 'FC_FundingSrc' }\n\t//config.annualDiagnosisNumber = {id: 'PO_TotalDxAll'}\n\tconfig.hospitalVolumeTW = { id: cohortPreffix + 'PO_HospitalVolume' }\n\tconfig.yearOfImplementationTW = { id: cohortPreffix + 'Year_implementation' }\n\n\tconst filterTWs = [\n\t\tconfig.facilityTW,\n\t\tconfig.countryTW,\n\t\tconfig.regionTW,\n\t\tconfig.sjgRegionTW,\n\t\tconfig.incomeTW,\n\t\tconfig.typeTW,\n\t\tconfig.teachingStatusTW,\n\t\tconfig.referralStatusTW,\n\t\tconfig.fundingSourceTW,\n\t\tconfig.hospitalVolumeTW,\n\t\tconfig.yearOfImplementationTW\n\t]\n\tawait fillTwLst(filterTWs, app.vocabApi)\n\tconfig.filterTWs = filterTWs\n}\n\nexport function clearLocalFilters(plot) {\n\tplot.settings = getDefaultProfilePlotSettings()\n}\n\nexport function getDefaultProfilePlotSettings() {\n\treturn {\n\t\tisAggregate: false,\n\t\tfilterByUserSites: false //if true, the aggregation will be limited to the user sites only\n\t}\n}\n\nexport function getProfileLogin(app, cohort = FULL_COHORT) {\n\tconst auth = app.vocabApi.getClientAuthResult()\n\tif (!auth) return { logged: false, sites: [], user: 'public' }\n\tconst auth_info = cohort == FULL_COHORT ? auth.full : auth.abbrev\n\tconst logged = auth_info?.role != 'public'\n\tif (!auth_info) return { logged: false, sites: [], user: 'public' } //no login info for the cohort, treat it as not logged in, public view for that cohort\n\tconst user = auth_info?.role || 'public'\n\tconst sites = user == 'admin' ? null : auth_info.sites //site only matters if you are not admin\n\treturn { logged, sites, user }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["config", "isAggregate", "name", "chartType", "chartsInstance"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import {
|
|
2
|
+
runproteinpaint
|
|
3
|
+
} from "./chunk-VRLC7DAU.js";
|
|
4
|
+
|
|
5
|
+
// test/front.helpers.js
|
|
6
|
+
var serverData = /* @__PURE__ */ Object.create(null);
|
|
7
|
+
function getRunPp(appname = "", defaultArgs = {}, _host = "http://localhost:3000") {
|
|
8
|
+
const host = window.testHost || _host;
|
|
9
|
+
const arg = {
|
|
10
|
+
host: window.testHost || _host,
|
|
11
|
+
noheader: 1,
|
|
12
|
+
nobox: true,
|
|
13
|
+
debug: 1,
|
|
14
|
+
norecover: true
|
|
15
|
+
};
|
|
16
|
+
if (appname == "mass" || appname == "termdb") {
|
|
17
|
+
defaultArgs.debounceInterval = 0;
|
|
18
|
+
}
|
|
19
|
+
if (appname) arg[appname] = defaultArgs;
|
|
20
|
+
else copyMerge(arg, defaultArgs);
|
|
21
|
+
const argStr = JSON.stringify(arg);
|
|
22
|
+
return function runpp(overrides = {}) {
|
|
23
|
+
const argCopy = JSON.parse(argStr);
|
|
24
|
+
if (appname) copyMerge(argCopy[appname], overrides);
|
|
25
|
+
else copyMerge(argCopy, overrides);
|
|
26
|
+
if (appname && defaultArgs.fetchOpts) {
|
|
27
|
+
argCopy[appname].fetchOpts = defaultArgs.fetchOpts;
|
|
28
|
+
}
|
|
29
|
+
return runproteinpaint(Object.assign(argCopy, { serverData }));
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function copyMerge(base, ...args) {
|
|
33
|
+
const target = typeof base == "string" ? JSON.parse(base) : base;
|
|
34
|
+
for (const arg of args) {
|
|
35
|
+
if (arg) {
|
|
36
|
+
const source = typeof base == "string" ? JSON.parse(JSON.stringify(arg)) : arg;
|
|
37
|
+
for (const key in source) {
|
|
38
|
+
if (!target[key] || Array.isArray(target[key]) || typeof target[key] !== "object") target[key] = source[key];
|
|
39
|
+
else copyMerge(target[key], source[key]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return target;
|
|
44
|
+
}
|
|
45
|
+
function rideInit(opts = {}) {
|
|
46
|
+
const self = new Ride(opts);
|
|
47
|
+
const rideApi = {
|
|
48
|
+
// ride on the default event bus
|
|
49
|
+
to(callback, sub = {}) {
|
|
50
|
+
self.addToThen(callback, Object.assign({}, opts, sub));
|
|
51
|
+
return rideApi;
|
|
52
|
+
},
|
|
53
|
+
use(triggerFxn, sub = {}) {
|
|
54
|
+
self.addUseThen(triggerFxn, Object.assign({}, opts, sub));
|
|
55
|
+
return rideApi;
|
|
56
|
+
},
|
|
57
|
+
change(sub = {}) {
|
|
58
|
+
Object.assign(opts, sub);
|
|
59
|
+
return rideApi;
|
|
60
|
+
},
|
|
61
|
+
// run callback without using bus, with or without timeout
|
|
62
|
+
run(callback, after = 0) {
|
|
63
|
+
self.addRunThen(callback, after, opts);
|
|
64
|
+
return rideApi;
|
|
65
|
+
},
|
|
66
|
+
// close the event bus
|
|
67
|
+
done(test) {
|
|
68
|
+
if (opts.bus) self.resolved.then(() => opts.bus.on(opts.eventType, null));
|
|
69
|
+
self.resolved.then(() => {
|
|
70
|
+
test.end();
|
|
71
|
+
if (!opts.preserve && test._ok && opts.arg.Inner.app && typeof opts.arg.Inner.app.destroy == "function") {
|
|
72
|
+
opts.arg.Inner.app.destroy();
|
|
73
|
+
}
|
|
74
|
+
}).catch(console.log);
|
|
75
|
+
return rideApi;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return Object.freeze(rideApi);
|
|
79
|
+
}
|
|
80
|
+
var Ride = class {
|
|
81
|
+
// mutable but private access props and methods
|
|
82
|
+
// when used inside rideInit()
|
|
83
|
+
constructor(opts) {
|
|
84
|
+
this.validateOpts(opts);
|
|
85
|
+
this.resolved = Promise.resolve();
|
|
86
|
+
}
|
|
87
|
+
validateOpts(opts) {
|
|
88
|
+
try {
|
|
89
|
+
if (opts.eventType && !opts.bus) {
|
|
90
|
+
if (!opts.arg) throw "must specify opts.bus or opts.arg for rideInit() argument";
|
|
91
|
+
opts.bus = opts.arg;
|
|
92
|
+
}
|
|
93
|
+
if (opts.bus) {
|
|
94
|
+
if (typeof opts.eventType !== "string") throw "invalid default.eventType";
|
|
95
|
+
opts.bus.on(opts.eventType, null);
|
|
96
|
+
return opts;
|
|
97
|
+
}
|
|
98
|
+
} catch (e) {
|
|
99
|
+
console.log(e);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
addToThen(callback, opts) {
|
|
103
|
+
this.resolved = this.resolved.then(async (triggerFxn) => {
|
|
104
|
+
opts.bus.on(opts.eventType, null);
|
|
105
|
+
return new Promise(async (resolve, reject) => {
|
|
106
|
+
opts.bus.on(opts.eventType, async () => {
|
|
107
|
+
await sleep(opts.wait);
|
|
108
|
+
callback(opts.arg);
|
|
109
|
+
resolve();
|
|
110
|
+
});
|
|
111
|
+
if (triggerFxn) await triggerFxn();
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// prepare a trigger function for use in the pattern
|
|
116
|
+
// rideInit().use(triggerFxn).to(...)
|
|
117
|
+
//
|
|
118
|
+
// .use() enables setting a different opts.arg to be used for triggerFxn
|
|
119
|
+
//
|
|
120
|
+
addUseThen(triggerFxn, opts) {
|
|
121
|
+
this.resolved = this.resolved.then(async (prevTriggerFxn) => {
|
|
122
|
+
if (typeof prevTriggerFxn == "function") await prevTriggerFxn();
|
|
123
|
+
await sleep(isNaN(opts.wait) ? 0 : opts.wait);
|
|
124
|
+
return () => triggerFxn(opts.arg);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
addRunThen(callback, after, opts) {
|
|
128
|
+
this.resolved = this.resolved.then(async () => {
|
|
129
|
+
await sleep(typeof after == "number" ? after : 0);
|
|
130
|
+
callback(opts.arg);
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
function sleep(ms) {
|
|
135
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export {
|
|
139
|
+
getRunPp,
|
|
140
|
+
rideInit
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=chunk-JWHFMFF2.js.map
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import {
|
|
2
|
+
keyupEnter
|
|
3
|
+
} from "./chunk-L7VDSIM7.js";
|
|
4
|
+
import {
|
|
5
|
+
get_bin_label,
|
|
6
|
+
get_bin_range_equation
|
|
7
|
+
} from "./chunk-I73KUUYG.js";
|
|
8
|
+
|
|
9
|
+
// termsetting/handlers/NumCustomBinEditor.ts
|
|
10
|
+
var NumCustomBinEditor = class {
|
|
11
|
+
constructor(editHandler) {
|
|
12
|
+
this.dom = {};
|
|
13
|
+
this.editHandler = editHandler;
|
|
14
|
+
this.opts = editHandler.opts;
|
|
15
|
+
this.tw = editHandler.tw;
|
|
16
|
+
this.termsetting = editHandler.termsetting;
|
|
17
|
+
}
|
|
18
|
+
async render(div) {
|
|
19
|
+
this.tw = this.editHandler.tw;
|
|
20
|
+
this.q = this.getDefaultQ();
|
|
21
|
+
await this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
|
|
22
|
+
if (this.dom.inputsDiv) {
|
|
23
|
+
if (this.editHandler.dom.binsDiv?.node().contains(this.dom.inputsDiv.node())) return;
|
|
24
|
+
else {
|
|
25
|
+
this.dom.inputsDiv.remove();
|
|
26
|
+
delete this.dom.inputsDiv;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
this.dom.inputsDiv = div.append("div").style("display", "flex").style("width", "100%");
|
|
30
|
+
this.renderCustomBinInputs();
|
|
31
|
+
}
|
|
32
|
+
getBoundaryOpts() {
|
|
33
|
+
return {
|
|
34
|
+
values: this.q.lst.slice(1).map((bin) => ({ x: bin.startunbounded ? bin.stop : bin.start, isDraggable: true })),
|
|
35
|
+
callback: (d, value) => {
|
|
36
|
+
const boundaryValues = this.q.lst.slice(1).map((d2) => "start" in d2 ? d2.start : "");
|
|
37
|
+
boundaryValues[d.index] = value;
|
|
38
|
+
this.dom.customBinBoundaryInput.text(boundaryValues.join(",\n"));
|
|
39
|
+
this.handleInputChange("drag");
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
getDefaultQ() {
|
|
45
|
+
if (this.tw.q.mode == "discrete" && this.tw.q.type == "custom-bin") {
|
|
46
|
+
const copy = JSON.parse(JSON.stringify(this.tw.q));
|
|
47
|
+
copy.lst.forEach((bin) => {
|
|
48
|
+
if (!bin.label) bin.label = get_bin_label(bin, this.tw.q, this.tw.term.valueConversion);
|
|
49
|
+
bin.range = get_bin_range_equation(bin, this.tw.q);
|
|
50
|
+
});
|
|
51
|
+
return copy;
|
|
52
|
+
}
|
|
53
|
+
const { min, max } = this.editHandler.handler.density_data;
|
|
54
|
+
const defaultCustomBoundary = (
|
|
55
|
+
/* when no sample is annotated by this term,
|
|
56
|
+
minvalue and maxvalue are both null
|
|
57
|
+
setting defaultCustomBoundary to arbitrary "0" will allow existing UI to work
|
|
58
|
+
but remains to be evaluated if is really okay to use 0
|
|
59
|
+
*/
|
|
60
|
+
!Number.isFinite(min) || !Number.isFinite(max) ? 0 : (
|
|
61
|
+
// minvalue and maxvalue is valid number
|
|
62
|
+
max != min ? min + (max - min) / 2 : max
|
|
63
|
+
)
|
|
64
|
+
);
|
|
65
|
+
const firstBin = {
|
|
66
|
+
startunbounded: true,
|
|
67
|
+
startinclusive: false,
|
|
68
|
+
stopinclusive: false,
|
|
69
|
+
stop: +defaultCustomBoundary.toFixed(this.tw.term.type == "integer" ? 0 : 2)
|
|
70
|
+
};
|
|
71
|
+
const lastBin = {
|
|
72
|
+
stopunbounded: true,
|
|
73
|
+
startinclusive: true,
|
|
74
|
+
stopinclusive: false,
|
|
75
|
+
start: +defaultCustomBoundary.toFixed(this.tw.term.type == "integer" ? 0 : 2)
|
|
76
|
+
};
|
|
77
|
+
return {
|
|
78
|
+
mode: "discrete",
|
|
79
|
+
type: "custom-bin",
|
|
80
|
+
lst: [
|
|
81
|
+
// Type '{ label: any; range: any; startunbounded: boolean; startinclusive: boolean; stopinclusive: boolean; stop: number; }' is not assignable to type 'StartUnboundedBin | FullyBoundedBin'.
|
|
82
|
+
// Property 'start' is missing in type '{ label: any; range: any; startunbounded: boolean; startinclusive: boolean; stopinclusive: boolean; stop: number; }' but required in type 'FullyBoundedBin'.
|
|
83
|
+
{
|
|
84
|
+
...firstBin,
|
|
85
|
+
label: get_bin_label(firstBin, this.tw.q, this.tw.term.valueConversion),
|
|
86
|
+
range: get_bin_range_equation(firstBin, this.tw.q)
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
...lastBin,
|
|
90
|
+
label: get_bin_label(lastBin, this.tw.q, this.tw.term.valueConversion),
|
|
91
|
+
range: get_bin_range_equation(lastBin, this.tw.q)
|
|
92
|
+
}
|
|
93
|
+
//satisfies StopUnboundedBin
|
|
94
|
+
]
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/******************* Functions for Numerical Custom size bins *******************/
|
|
98
|
+
renderCustomBinInputs() {
|
|
99
|
+
const q = this.q;
|
|
100
|
+
const boundaryDiv = this.dom.inputsDiv.append("div").style("margin-right", "20px");
|
|
101
|
+
this.dom.rangeAndLabelDiv = this.dom.inputsDiv.append("div");
|
|
102
|
+
boundaryDiv.append("div").style("margin-bottom", "5px").style("color", "rgb(136, 136, 136)").text("Bin boundaries");
|
|
103
|
+
this.dom.customBinBoundaryInput = boundaryDiv.append("textarea").style("width", "100px").style("height", "70px").text(
|
|
104
|
+
q.lst.slice(1).map((d) => "start" in d ? d.start : "").join("\n")
|
|
105
|
+
).on("change", () => this.handleInputChange()).on("keyup", async (event) => {
|
|
106
|
+
if (!keyupEnter(event) && event.key != 8 && event.key != "Enter") return;
|
|
107
|
+
if (!this.dom.inputsDiv.selectAll("input").node().value) return;
|
|
108
|
+
this.handleInputChange();
|
|
109
|
+
});
|
|
110
|
+
boundaryDiv.append("div").style("font-size", ".6em").style("margin-left", "1px").style("color", "#858585").html("Enter numeric values </br>seperated by ENTER");
|
|
111
|
+
this.renderBoundaryInputDivs();
|
|
112
|
+
}
|
|
113
|
+
renderBoundaryInputDivs() {
|
|
114
|
+
const data = this.q.lst;
|
|
115
|
+
const holder = this.dom.rangeAndLabelDiv;
|
|
116
|
+
holder.selectAll("*").remove();
|
|
117
|
+
const grid = holder.append("div").style("display", "grid").style("grid-template-columns", "auto auto").style("column-gap", "20px").style("align-items", "center");
|
|
118
|
+
grid.append("div").style("margin-bottom", "3px").style("color", "rgb(136, 136, 136)").text("Range");
|
|
119
|
+
grid.append("div").style("margin-bottom", "3px").style("color", "rgb(136, 136, 136)").text("Bin label");
|
|
120
|
+
for (const d of data) {
|
|
121
|
+
grid.append("div").attr("name", "range").html(d.range);
|
|
122
|
+
grid.append("div").append("input").attr("type", "text").style("margin", "2px 0px").property("value", d.label).on("change", function() {
|
|
123
|
+
d.label = this.value;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
this.dom.customBinRanges = this.dom.inputsDiv.selectAll('div[name="range"]').data(data);
|
|
127
|
+
this.dom.customBinLabelInput = this.dom.inputsDiv.selectAll("input").data(data);
|
|
128
|
+
}
|
|
129
|
+
handleInputChange(eventType = "") {
|
|
130
|
+
const self = this.tw;
|
|
131
|
+
const inputs = this.dom.inputsDiv.selectAll("input");
|
|
132
|
+
inputs.property("value", "");
|
|
133
|
+
const data = this.processCustomBinInputs();
|
|
134
|
+
if (data == void 0) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (self.q.hiddenValues) this.tw.q.hiddenValues = self.q.hiddenValues;
|
|
138
|
+
if (this.binsChanged(data, this.q.lst)) {
|
|
139
|
+
this.q.lst = data;
|
|
140
|
+
}
|
|
141
|
+
this.renderBoundaryInputDivs();
|
|
142
|
+
if (eventType != "drag") this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
|
|
143
|
+
}
|
|
144
|
+
binsChanged(data, qlst) {
|
|
145
|
+
if (data.length != qlst.length) return true;
|
|
146
|
+
if (Object.keys(data[0]).length !== Object.keys(qlst[0]).length) return true;
|
|
147
|
+
for (const [i, bin] of qlst.entries()) {
|
|
148
|
+
for (const k of Object.keys(bin)) {
|
|
149
|
+
if (bin[k] && bin[k] !== data[i][k]) {
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
processCustomBinInputs() {
|
|
157
|
+
const self = this.termsetting;
|
|
158
|
+
const startinclusive = this.editHandler.boundaryInclusion == "startinclusive";
|
|
159
|
+
const stopinclusive = this.editHandler.boundaryInclusion == "stopinclusive";
|
|
160
|
+
const inputs = this.dom.inputsDiv.node().querySelectorAll("input");
|
|
161
|
+
const inputData = this.dom.customBinBoundaryInput.property("value").split("\n").filter((d) => d != "" && !isNaN(d));
|
|
162
|
+
const trackBins = new Set(inputData);
|
|
163
|
+
if (!trackBins.size) return this.tw.q.lst;
|
|
164
|
+
const sortedBins = Array.from(trackBins).map(Number).sort((a, b) => a - b);
|
|
165
|
+
const data = [
|
|
166
|
+
// first bin: StartUnbounded type
|
|
167
|
+
{
|
|
168
|
+
startunbounded: true,
|
|
169
|
+
stop: sortedBins[0],
|
|
170
|
+
startinclusive: false,
|
|
171
|
+
stopinclusive,
|
|
172
|
+
label: inputs[0].value
|
|
173
|
+
}
|
|
174
|
+
];
|
|
175
|
+
if (!data[0].label) data[0].label = get_bin_label(data[0], self.q, self.term.valueConversion);
|
|
176
|
+
if (!data[0].range) data[0].range = get_bin_range_equation(data[0], self.q);
|
|
177
|
+
for (const [i, d] of sortedBins.entries()) {
|
|
178
|
+
let bin;
|
|
179
|
+
const label = inputs[i + 1]?.value || "";
|
|
180
|
+
if (i !== trackBins.size - 1) {
|
|
181
|
+
bin = {
|
|
182
|
+
start: +d,
|
|
183
|
+
startinclusive,
|
|
184
|
+
stopinclusive,
|
|
185
|
+
stop: sortedBins[i + 1],
|
|
186
|
+
label
|
|
187
|
+
//range: ''
|
|
188
|
+
};
|
|
189
|
+
} else {
|
|
190
|
+
bin = {
|
|
191
|
+
start: +d,
|
|
192
|
+
startinclusive,
|
|
193
|
+
stopinclusive: false,
|
|
194
|
+
stopunbounded: true,
|
|
195
|
+
label
|
|
196
|
+
//range: ''
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
if (bin.label === "" || bin.label === void 0) bin.label = get_bin_label(bin, self.q, self.term.valueConversion);
|
|
200
|
+
if (bin.range === "" || bin.range === void 0) bin.range = get_bin_range_equation(bin, self.q);
|
|
201
|
+
data.push(bin);
|
|
202
|
+
}
|
|
203
|
+
return data;
|
|
204
|
+
}
|
|
205
|
+
getEditedQ(destroyDom = true) {
|
|
206
|
+
const lst = this.processCustomBinInputs();
|
|
207
|
+
if (destroyDom) {
|
|
208
|
+
for (const name of Object.keys(this.dom)) {
|
|
209
|
+
this.dom[name].remove();
|
|
210
|
+
delete this.dom[name];
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return {
|
|
214
|
+
mode: "discrete",
|
|
215
|
+
type: "custom-bin",
|
|
216
|
+
lst
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
undoEdits() {
|
|
220
|
+
this.q = this.getDefaultQ();
|
|
221
|
+
this.dom.inputsDiv.selectAll("*").remove();
|
|
222
|
+
this.renderCustomBinInputs();
|
|
223
|
+
this.editHandler.handler.density.setBinLines(this.getBoundaryOpts());
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export {
|
|
228
|
+
NumCustomBinEditor
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=chunk-K3OJJZCQ.js.map
|