@sjcrh/proteinpaint-client 2.74.2 → 2.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{2dmaf-b2d78c57.js → 2dmaf-74b99126.js} +1 -1
- package/dist/AppHeader-cecb39c2.js +1 -0
- package/dist/{ColorScale-9c76aef3.js → ColorScale-21cab8d2.js} +1 -1
- package/dist/DEanalysis-95bad59a.js +1 -0
- package/dist/Disco-a6e921a0.js +1 -0
- package/dist/Disco.UI-9ad999ed.js +1 -0
- package/dist/{DragControls-586f72db.js → DragControls-e3b6a937.js} +1 -1
- package/dist/{DziViewer-6311327c.js → DziViewer-354a790d.js} +1 -1
- package/dist/FilterRxComp-701a1480.js +1 -0
- package/dist/{FilterStateless-046081c2.js → FilterStateless-54c0b763.js} +1 -1
- package/dist/{HicApp-40e44cba.js → HicApp-d5a946bf.js} +1 -1
- package/dist/{OrbitControls-0cda1772.js → OrbitControls-694652cd.js} +1 -1
- package/dist/WSIViewer-dc7f8eb0.js +1 -0
- package/dist/adSandbox-f438e388.js +1 -0
- package/dist/app-3320ab6f.js +1 -0
- package/dist/app-649f8357.js +1 -0
- package/dist/app-b369b169.js +1 -0
- package/dist/app.js +1 -1
- package/dist/bam-431875ef.js +1 -0
- package/dist/barchart-8277ed43.js +1 -0
- package/dist/barchart.events-da29c90d.js +1 -0
- package/dist/{bars.renderer-5f7a4174.js → bars.renderer-dcfdd59b.js} +1 -1
- package/dist/block-6aedd569.js +1 -0
- package/dist/block.lazyload-87b12654.js +1 -0
- package/dist/block.legend-d3f61ef7.js +1 -0
- package/dist/{block.mds-effc078d.js → block.mds-3ad17dfa.js} +1 -1
- package/dist/{block.mds.cnv-ec861a26.js → block.mds.cnv-857ba868.js} +1 -1
- package/dist/{block.mds.expressionrank-a2ad7c80.js → block.mds.expressionrank-7e3b208c.js} +1 -1
- package/dist/{block.mds.expressionstat-31dc5595.js → block.mds.expressionstat-f2d31c86.js} +1 -1
- package/dist/{block.mds.geneboxplot-3ca857ce.js → block.mds.geneboxplot-f0fbaf12.js} +1 -1
- package/dist/{block.mds.junction-debba938.js → block.mds.junction-7f87f48f.js} +1 -1
- package/dist/{block.mds.svcnv-8dc5abdf.js → block.mds.svcnv-ac035c12.js} +1 -1
- package/dist/{block.mds.svcnv.share-81e62600.js → block.mds.svcnv.share-886d9479.js} +1 -1
- package/dist/block.mds2-7852c1ee.js +1 -0
- package/dist/{block.svg-9121e8e7.js → block.svg-9b916fa6.js} +1 -1
- package/dist/{block.tk.aicheck-c1b478e9.js → block.tk.aicheck-6770e333.js} +1 -1
- package/dist/{block.tk.ase-0f6ded48.js → block.tk.ase-ee807e59.js} +1 -1
- package/dist/{block.tk.bam-7cd06aee.js → block.tk.bam-00fba6e8.js} +1 -1
- package/dist/{block.tk.bedgraphdot-3ef8b94e.js → block.tk.bedgraphdot-7fda78e9.js} +1 -1
- package/dist/{block.tk.bigwig.ui-d1248810.js → block.tk.bigwig.ui-cc1a42f3.js} +1 -1
- package/dist/{block.tk.hicstraw-ee731e55.js → block.tk.hicstraw-526470e3.js} +1 -1
- package/dist/{block.tk.junction-4d8cab4d.js → block.tk.junction-b43a4cda.js} +1 -1
- package/dist/{block.tk.junction.textmatrixui-a6430b27.js → block.tk.junction.textmatrixui-a60ed78a.js} +1 -1
- package/dist/{block.tk.ld-8429a18b.js → block.tk.ld-d15bde41.js} +1 -1
- package/dist/{block.tk.menu-3f31f958.js → block.tk.menu-3aeb93c6.js} +1 -1
- package/dist/{block.tk.pgv-07e46705.js → block.tk.pgv-9af2bd64.js} +1 -1
- package/dist/boxplot-e17a17b7.js +1 -0
- package/dist/brainImaging-bf2ceee9.js +1 -0
- package/dist/{brush-c386fe3d.js → brush-aa175142.js} +1 -1
- package/dist/categorical-a52014a1.js +1 -0
- package/dist/condition-c646e357.js +1 -0
- package/dist/controls-287e6efa.js +1 -0
- package/dist/{controls.btns-1cb2bfab.js → controls.btns-79b805dd.js} +1 -1
- package/dist/controls.config-28d6d6a8.js +1 -0
- package/dist/cuminc-9e275854.js +1 -0
- package/dist/{customdata.inputui-cbd712ea.js → customdata.inputui-dc49d94b.js} +1 -1
- package/dist/dataDownload-3a3d4f33.js +1 -0
- package/dist/databrowser.ui-d8d3f8fd.js +1 -0
- package/dist/{density-19266ebf.js → density-a82a8b1c.js} +1 -1
- package/dist/dictionary-c5a19d90.js +1 -0
- package/dist/{drag-0b968811.js → drag-7b30ba17.js} +1 -1
- package/dist/{e2pca-b8752945.js → e2pca-82765817.js} +1 -1
- package/dist/{ep-a86b185a.js → ep-d017ec2f.js} +1 -1
- package/dist/facet-a9b44ef3.js +1 -0
- package/dist/{fusion.parse-244b2b97.js → fusion.parse-d40d0b9d.js} +1 -1
- package/dist/geneExpClustering-34c3f518.js +1 -0
- package/dist/geneExpression-0d1b7244.js +1 -0
- package/dist/{geneExpression-e0430f2e.js → geneExpression-589f485b.js} +1 -1
- package/dist/{geneExpression-387205bf.js → geneExpression-7d14983f.js} +1 -1
- package/dist/geneORA-903a780f.js +1 -0
- package/dist/{geneVariant-7de021b6.js → geneVariant-89601b34.js} +1 -1
- package/dist/geneVariant-92c4e870.js +1 -0
- package/dist/{genefusion.ui-a331de19.js → genefusion.ui-7e22e811.js} +1 -1
- package/dist/{genesearch-ea59f5d4.js → genesearch-a4e19f0d.js} +1 -1
- package/dist/geneset-108a39d2.js +1 -0
- package/dist/genomeBrowser-12f86a36.js +1 -0
- package/dist/genomeBrowser.controls-d5067811.js +1 -0
- package/dist/{groupsetting-20ffef77.js → groupsetting-b4416a96.js} +1 -1
- package/dist/gsea-543dab25.js +1 -0
- package/dist/hierCluster-26e14090.js +1 -0
- package/dist/hierCluster.config-98e82dff.js +1 -0
- package/dist/{hierCluster.interactivity-9b433033.js → hierCluster.interactivity-e56f6542.js} +1 -1
- package/dist/hierCluster.renderers-74a64cf5.js +1 -0
- package/dist/{html.legend-abb5452e.js → html.legend-a3f4ebfe.js} +1 -1
- package/dist/imagePlot-b9eae4ae.js +1 -0
- package/dist/{lasso-55cf4057.js → lasso-f767f634.js} +1 -1
- package/dist/launch.adhoc-abca6af3.js +1 -0
- package/dist/leftlabel.sample-24c2388d.js +1 -0
- package/dist/legacyDataset-e0e201ab.js +1 -0
- package/dist/{log-cf45fcf2.js → log-99af3443.js} +1 -1
- package/dist/{lollipop-c5b6e615.js → lollipop-806f8fa4.js} +1 -1
- package/dist/{maf-7535f1f9.js → maf-b06579e4.js} +1 -1
- package/dist/{maftimeline-1292ab62.js → maftimeline-4840a380.js} +1 -1
- package/dist/matrix-00bb50ff.js +1 -0
- package/dist/matrix.cells-914dd0c6.js +1 -0
- package/dist/{matrix.cluster-168bc96b.js → matrix.cluster-783ceab0.js} +1 -1
- package/dist/matrix.config-6ce74dfe.js +1 -0
- package/dist/matrix.controls-7b2a6f95.js +1 -0
- package/dist/{matrix.data-b1d0febe.js → matrix.data-dac4f1b7.js} +1 -1
- package/dist/{matrix.dom-00defa30.js → matrix.dom-4e10bbe9.js} +1 -1
- package/dist/matrix.groups-b9fca14a.js +1 -0
- package/dist/matrix.interactivity-84169b43.js +1 -0
- package/dist/{matrix.layout-c2345231.js → matrix.layout-dd5a44fd.js} +1 -1
- package/dist/matrix.legend-ac6d45e6.js +1 -0
- package/dist/matrix.renderers-78010275.js +1 -0
- package/dist/matrix.serieses-9b4fd744.js +1 -0
- package/dist/matrix.sort-014d798d.js +1 -0
- package/dist/{matrix.sorterUi-a741ba2e.js → matrix.sorterUi-9bf7e6f9.js} +1 -1
- package/dist/{mavb-92136d17.js → mavb-c6be46fc.js} +1 -1
- package/dist/{mds.fimo-c03115b4.js → mds.fimo-bff6a1ed.js} +1 -1
- package/dist/mds.samplescatterplot-9a02b9fb.js +1 -0
- package/dist/{mds.survivalplot-366db380.js → mds.survivalplot-055549f4.js} +1 -1
- package/dist/{metaboliteIntensity-ddb6e480.js → metaboliteIntensity-fac92f8b.js} +1 -1
- package/dist/niceNumLabels-238aabce.js +1 -0
- package/dist/{nodrag-2c046d31.js → nodrag-16ad4b03.js} +1 -1
- package/dist/{notify-44ebc0df.js → notify-224cccbd.js} +1 -1
- package/dist/{numeric-918d4686.js → numeric-b0b17185.js} +1 -1
- package/dist/numeric.binary-1f9e93f2.js +1 -0
- package/dist/numeric.continuous-ebcd0567.js +1 -0
- package/dist/numeric.discrete-7b97044a.js +1 -0
- package/dist/numeric.spline-1be88f3d.js +1 -0
- package/dist/numeric.toggle-7fa2a770.js +1 -0
- package/dist/oncomatrix-351af2a0.js +1 -0
- package/dist/{parseData-e66308cd.js → parseData-21fe9822.js} +1 -1
- package/dist/partjson.esm-b3f1fc21.js +1 -0
- package/dist/{plot.2dvaf-73dbfbd1.js → plot.2dvaf-18a35e4b.js} +1 -1
- package/dist/plot.app-30c4b8e5.js +1 -0
- package/dist/plot.barplot-7c4865a2.js +1 -0
- package/dist/{plot.boxplot-641da058.js → plot.boxplot-fe3046c6.js} +1 -1
- package/dist/plot.brainImaging-2ceb6023.js +1 -0
- package/dist/plot.disco-6011f87f.js +1 -0
- package/dist/{plot.dzi-41ea26e5.js → plot.dzi-6728a7c8.js} +1 -1
- package/dist/plot.ssgq-5581dc56.js +1 -0
- package/dist/{plot.vaf2cov-80e58833.js → plot.vaf2cov-b2284c64.js} +1 -1
- package/dist/{plot.wsi-51cc48ef.js → plot.wsi-9a9d4034.js} +1 -1
- package/dist/profileBarchart-0476f1f8.js +1 -0
- package/dist/profileHome-32eb9b50.js +1 -0
- package/dist/profilePlot-c7e099e8.js +1 -0
- package/dist/profilePolar-6b981e63.js +1 -0
- package/dist/profileRadar-bca1cc03.js +1 -0
- package/dist/profileRadarFacility-bbb1ecd8.js +1 -0
- package/dist/profileSummary-b114204f.js +1 -0
- package/dist/recover-49e09de0.js +1 -0
- package/dist/regression.inputs-a761f40d.js +1 -0
- package/dist/regression.inputs.values.table-5929d25a.js +1 -0
- package/dist/regression.results-69bc42d0.js +1 -0
- package/dist/{renderPvalueTable-895a72c2.js → renderPvalueTable-dc5d15f2.js} +1 -1
- package/dist/sampleScatter-2d0ed680.js +1 -0
- package/dist/{sampleScatter.rendererThree-5e686004.js → sampleScatter.rendererThree-0b12ac61.js} +2 -2
- package/dist/sampleView-484ab133.js +1 -0
- package/dist/samplelst-689796e6.js +1 -0
- package/dist/{samplematrix-2a1d7d82.js → samplematrix-2b137a05.js} +1 -1
- package/dist/scatter-205e013f.js +1 -0
- package/dist/{select2Terms-b4fffc50.js → select2Terms-b21e184a.js} +1 -1
- package/dist/{selectGenomeWithTklst-acf7e568.js → selectGenomeWithTklst-466995b4.js} +1 -1
- package/dist/singleCellCellType-5db730bb.js +1 -0
- package/dist/{singleCellGeneExpression-6de17162.js → singleCellGeneExpression-7147a2d0.js} +1 -1
- package/dist/singleCellPlot-73b2738f.js +1 -0
- package/dist/{singlecell-f76c856a.js → singlecell-24409b72.js} +1 -1
- package/dist/singlecell-bca774ed.js +1 -0
- package/dist/{snp-9590a1b4.js → snp-37d06246.js} +1 -1
- package/dist/snp-a8388ce4.js +1 -0
- package/dist/snplocus-7a1ea8c9.js +1 -0
- package/dist/{snplst-007a1926.js → snplst-6865d7c7.js} +1 -1
- package/dist/{spliceevent.a53ss.diagram-63dfef69.js → spliceevent.a53ss.diagram-e2eab72b.js} +1 -1
- package/dist/{spliceevent.exonskip.diagram-76fa9af8.js → spliceevent.exonskip.diagram-4d5df3a1.js} +1 -1
- package/dist/spliceevent.exonskip.getdefault-a94aad6e.js +1 -0
- package/dist/{spliceevent.noeventdiagram-64a099e0.js → spliceevent.noeventdiagram-ea97b0fb.js} +1 -1
- package/dist/{spliceevent.phrase-770c8cac.js → spliceevent.phrase-c5832470.js} +1 -1
- package/dist/{stattable-f1189f0f.js → stattable-7c5ecc2f.js} +1 -1
- package/dist/{style.gdc-89cfdb0f.js → style.gdc-131f3c77.js} +1 -1
- package/dist/summary-5ec455d3.js +1 -0
- package/dist/{sunburst-d5379952.js → sunburst-533902a7.js} +1 -1
- package/dist/survival-92250664.js +1 -0
- package/dist/survival-e16e068f.js +1 -0
- package/dist/{svg.download-86850940.js → svg.download-35926549.js} +1 -1
- package/dist/{svg.legend-a94b0697.js → svg.legend-8d490df2.js} +1 -1
- package/dist/{svgraph-c57b9ae3.js → svgraph-6fac8cbc.js} +1 -1
- package/dist/{svmr-cf6f1b27.js → svmr-d07ff695.js} +1 -1
- package/dist/table-29d5a973.js +1 -0
- package/dist/table-ad744310.js +1 -0
- package/dist/termInfo-bf99a37e.js +1 -0
- package/dist/{termdb.bins-9faa5170.js → termdb.bins-8b656cc3.js} +1 -1
- package/dist/termsetting-33ea66f1.js +1 -0
- package/dist/tk-071a7550.js +1 -0
- package/dist/{toggleButtons-002aeda1.js → toggleButtons-dbdbad01.js} +1 -1
- package/dist/tp.ui-9c2e9fc5.js +1 -0
- package/dist/tslib.es6-c3c2d88f.js +1 -0
- package/dist/tvs.density-f6128793.js +1 -0
- package/dist/{tvs.geneVariant-3a65ad94.js → tvs.geneVariant-ca4bdbb1.js} +1 -1
- package/dist/tvs.numeric-0260a825.js +1 -0
- package/dist/{tvs.samplelst-1eeb586b.js → tvs.samplelst-cb71b3bf.js} +1 -1
- package/dist/{uiUtils-1336bad7.js → uiUtils-f1bd2bcc.js} +1 -1
- package/dist/{variantBrowser-f0c812c1.js → variantBrowser-7c540224.js} +1 -1
- package/dist/{vcf-c4a23924.js → vcf-5cc55588.js} +1 -1
- package/dist/violin-2ba509eb.js +1 -0
- package/dist/violin.interactivity-4da6d7a9.js +1 -0
- package/dist/{violin.renderer-dafd89fa.js → violin.renderer-ce024265.js} +1 -1
- package/dist/{violinRenderer-8215f40d.js → violinRenderer-f7c96a60.js} +1 -1
- package/dist/{viridis-ffd14c4d.js → viridis-01ab20c5.js} +1 -1
- package/dist/{y-dd197cc9.js → y-67939f83.js} +1 -1
- package/dist/{zoom-9c63e74c.js → zoom-25dce8b9.js} +1 -1
- package/package.json +6 -4
- package/dist/AppHeader-a2a7e518.js +0 -1
- package/dist/DEanalysis-a6b50e49.js +0 -1
- package/dist/Disco-1c71b7dd.js +0 -1
- package/dist/Disco.UI-4c16ee50.js +0 -1
- package/dist/FilterRxComp-242f4615.js +0 -1
- package/dist/WSIViewer-d90032d7.js +0 -1
- package/dist/adSandbox-3528c372.js +0 -1
- package/dist/app-07dee349.js +0 -1
- package/dist/app-a8c4854a.js +0 -1
- package/dist/app-ade9c62a.js +0 -1
- package/dist/bam-92483a98.js +0 -1
- package/dist/barchart-3e69d094.js +0 -1
- package/dist/barchart.events-9b11d97e.js +0 -1
- package/dist/block-dcb130fb.js +0 -1
- package/dist/block.lazyload-9f031cac.js +0 -1
- package/dist/block.legend-b2987cd9.js +0 -1
- package/dist/block.mds2-de6e0986.js +0 -1
- package/dist/boxplot-1178fffc.js +0 -1
- package/dist/brainImaging-98ed7aa2.js +0 -1
- package/dist/categorical-26528ce8.js +0 -1
- package/dist/condition-b0d74550.js +0 -1
- package/dist/controls-0bacec22.js +0 -1
- package/dist/controls.config-0ccc9d79.js +0 -1
- package/dist/controls.divide-a9fe9466.js +0 -1
- package/dist/controls.overlay-fe20d41d.js +0 -1
- package/dist/controls.term1-faa2efcf.js +0 -1
- package/dist/cuminc-7e2cac2d.js +0 -1
- package/dist/dataDownload-ade8d840.js +0 -1
- package/dist/databrowser.ui-716f0519.js +0 -1
- package/dist/dictionary-3f83ce63.js +0 -1
- package/dist/facet-6850cfed.js +0 -1
- package/dist/geneExpClustering-7fd3c87e.js +0 -1
- package/dist/geneExpression-6462537d.js +0 -1
- package/dist/geneORA-7eb818c4.js +0 -1
- package/dist/geneVariant-b58e924a.js +0 -1
- package/dist/geneset-9f69ad3f.js +0 -1
- package/dist/genomeBrowser-1b2b83f7.js +0 -1
- package/dist/genomeBrowser.controls-cd8ddeb1.js +0 -1
- package/dist/gsea-36376589.js +0 -1
- package/dist/hierCluster-f1e30c19.js +0 -1
- package/dist/hierCluster.config-da3510b1.js +0 -1
- package/dist/hierCluster.renderers-610d8860.js +0 -1
- package/dist/imagePlot-7089bdff.js +0 -1
- package/dist/launch.adhoc-d229fd55.js +0 -1
- package/dist/leftlabel.sample-a919168c.js +0 -1
- package/dist/legacyDataset-1cbcb67d.js +0 -1
- package/dist/matrix-0614794d.js +0 -1
- package/dist/matrix.cells-819d4991.js +0 -1
- package/dist/matrix.config-c54ca273.js +0 -1
- package/dist/matrix.controls-5eca7822.js +0 -1
- package/dist/matrix.groups-4660dd70.js +0 -1
- package/dist/matrix.interactivity-23d83183.js +0 -1
- package/dist/matrix.legend-2e647224.js +0 -1
- package/dist/matrix.renderers-43445f4f.js +0 -1
- package/dist/matrix.serieses-972fbe5d.js +0 -1
- package/dist/matrix.sort-80d9b788.js +0 -1
- package/dist/mds.samplescatterplot-1623e6d0.js +0 -1
- package/dist/niceNumLabels-6cfc1508.js +0 -1
- package/dist/numeric.binary-80467e8b.js +0 -1
- package/dist/numeric.continuous-69a62a15.js +0 -1
- package/dist/numeric.discrete-86181905.js +0 -1
- package/dist/numeric.spline-1b07fd13.js +0 -1
- package/dist/numeric.toggle-37c4bee8.js +0 -1
- package/dist/oncomatrix-475271da.js +0 -1
- package/dist/plot.app-aa916e0e.js +0 -1
- package/dist/plot.barplot-8b440a2b.js +0 -1
- package/dist/plot.brainImaging-2f796b0c.js +0 -1
- package/dist/plot.disco-43e18d2f.js +0 -1
- package/dist/plot.ssgq-e49cb70b.js +0 -1
- package/dist/profileBarchart-91463ab6.js +0 -1
- package/dist/profileHome-d37a6821.js +0 -1
- package/dist/profilePlot-9ca577cb.js +0 -1
- package/dist/profilePolar-19c7da5b.js +0 -1
- package/dist/profileRadar-8bf094e3.js +0 -1
- package/dist/profileRadarFacility-f9fd8971.js +0 -1
- package/dist/profileSummary-93999c14.js +0 -1
- package/dist/recover-36ada47f.js +0 -1
- package/dist/regression.inputs-cb57ece6.js +0 -1
- package/dist/regression.inputs.values.table-908bb37a.js +0 -1
- package/dist/regression.results-c186a8dc.js +0 -1
- package/dist/roundValue-b0d0517c.js +0 -1
- package/dist/sampleScatter-9d5b3630.js +0 -1
- package/dist/sampleView-2d895023.js +0 -1
- package/dist/samplelst-9f8343ff.js +0 -1
- package/dist/scatter-b4992f64.js +0 -1
- package/dist/singleCellCellType-84a0c2cf.js +0 -1
- package/dist/singleCellPlot-2f2b8619.js +0 -1
- package/dist/singlecell-90567dde.js +0 -1
- package/dist/snp-79ec95ba.js +0 -1
- package/dist/snplocus-cb629be1.js +0 -1
- package/dist/spliceevent.exonskip.getdefault-31d2950c.js +0 -1
- package/dist/summary-b77bef3c.js +0 -1
- package/dist/survival-61ab375a.js +0 -1
- package/dist/survival-80a0ade9.js +0 -1
- package/dist/table-79e3e776.js +0 -1
- package/dist/table-eee91e14.js +0 -1
- package/dist/termInfo-f851b415.js +0 -1
- package/dist/tk-75566002.js +0 -1
- package/dist/tp.ui-02911b56.js +0 -1
- package/dist/tslib.es6-1f85f553.js +0 -1
- package/dist/tvs.density-026fca97.js +0 -1
- package/dist/tvs.numeric-3f3d9919.js +0 -1
- package/dist/violin-1515c3e6.js +0 -1
- package/dist/violin.interactivity-8e2f480d.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as e,M as t,j as s,a7 as a,a8 as l,I as o,a9 as n,k as i,N as r,Z as c,v as p,aa as d,q as m,ab as u,p as f,ac as y,ad as v,f as b}from"./app-a8c4854a.js";import{s as x}from"./legacy-d3-polyfill-bdb2d792.js";import{b as g}from"./block.lazyload-9f031cac.js";import{d as h}from"./lasso-55cf4057.js";import{d as _}from"./zoom-9c63e74c.js";import{f as k}from"./FilterStateless-046081c2.js";import{e as w}from"./FilterRxComp-242f4615.js";import"./roundValue-b0d0517c.js";import{g as O}from"./filter-b3d3964e.js";import"./drag-0b968811.js";import"./nodrag-2c046d31.js";import"./pointer-c7475677.js";import"./table-79e3e776.js";import"./tslib.es6-1f85f553.js";import"./termdb.bins-9faa5170.js";import"path";function j(e){const t={waitTime:0,pad:5,nameKey:"",steps:[{type:"restyle",applyTo:"all",css:{selector:"text",key:"font-size",value:"12px"}},{type:"move",repeat:2,pad:0,css:{selector:"text"},boxSorter:(e,t)=>{if(e.x1>t.x1)return-1;if(t.x1>e.x1)return 1;if(e.y1>t.y1)return-1;if(t.y1>e.y1)return 1;return 0}}]};return Object.assign(t,e)}async function z(e,t={}){if(!e||!e.size())return;const s=j(t);if(!s.steps||!s.steps.length)return;if(!s.svg)s.svg=e.node().closest("svg");await R(s.waitTime);s.svgBox=s.svg.getBoundingClientRect();const a=S(e,s);const l=A(a);window.boxes=a;if(l){const t=s.steps.shift();const o=t.applyTo=="all"?a:t.type=="move"?a.filter((e=>e.collisions.length)):a.filter((e=>e.collisions.length===l));if(o.length){if(t.boxSorter)o.sort(t.boxSorter);for(const e of o){const l=S(e.label,s)[0];Object.assign(e,l);F(e,a.filter((t=>t!=e)));await C[t.type](e,t,a,s)}}if(typeof t.repeat=="number"&&t.repeat>0){t.repeat+=-1;s.steps.unshift(t)}if(s.steps.length)setTimeout((()=>z(e,s)),0);else a.forEach(B)}else a.forEach(B)}function S(t,s){const a=[];t.each((function(t){const l=this;const o=l.getBoundingClientRect();const n={elem:l,label:e(l),x1:o.x-s.svgBox.x,x2:o.x-s.svgBox.x+o.width,y1:o.y-s.svgBox.y,y2:o.y-s.svgBox.y+o.height,width:o.width,height:o.height};n.maxFree={n:Math.max(n.y1,0),s:Math.max(s.svgBox.y+s.svgBox.height-n.y2,0),e:Math.max(s.svgBox.x+s.svgBox.width-n.x2,0),w:Math.max(n.x1,0)};n.corners={};n.overlapSum=0;n.collisions=[];n.maxOverlaps={};if(s.nameKey)n.name=t[s.nameKey];N(n,s.svgBox);a.push(n)}));return a}function A(e){let t=0;for(const s of e){const a=F(s,e.filter((e=>e!=s)));if(t===0||a>0&&a<t){t=a}}e.sort(M);return t}function M(e,t){return e.collisions.length-t.collisions.length}function F(e,t){const s=e.x1,a=e.x2;const l=e.y1,o=e.y2;for(const n of t){if(n===e)continue;const t={};if(n.x2<s){t.w=s-n.x2}else if(n.x1>a){t.e=n.x1-a}if(n.y2<l){t.n=l-n.y2}else if(n.y1>o){t.s=n.y1-o}const i={};if(Object.keys(t).length){if("n"in t&&t.n<e.maxFree.n)e.maxFree.n=t.n;if("s"in t&&t.s<e.maxFree.s)e.maxFree.s=t.s;if("e"in t&&t.e<e.maxFree.e)e.maxFree.e=t.e;if("w"in t&&t.w<e.maxFree.w)e.maxFree.w=t.w}else{if(n.x1<=s&&a<=n.x2){if(n.x1<=s&&s<=n.x2){const t=n.x2-s;if(!("x"in e.maxOverlaps)||e.maxOverlaps.x.val<t)e.maxOverlaps.x={val:t,dir:"w"};if(n.y1<=l&&l<=n.y2){const s=n.y2-l;i.nw=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"n"}}if(n.y1<=o&&o<=n.y2){const s=o-n.y1;i.sw=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"s"}}}if(n.x1<=a&&a<=n.x2){const t=a-n.x1;if(!("x"in e.maxOverlaps)||e.maxOverlaps.x.val<t)e.maxOverlaps.x={val:t,dir:"e"};if(n.y1<=l&&l<=n.y2){const s=n.y2-l;i.ne=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"n"}}if(n.y1<=o&&o<=n.y2){const s=o-n.y1;i.se=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"s"}}}}else{if(s<=n.x1&&n.x1<=a){const t=a-n.x1;if(!("x"in e.maxOverlaps)||e.maxOverlaps.x.val<t)e.maxOverlaps.x={val:t,dir:"e"};if(l<=n.y1&&n.y1<=o){const s=o-n.y1;i.se=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"s"}}if(l<=n.y2&&n.y2<=o){const s=n.y2-l;i.ne=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"n"}}}if(s<=n.x2&&n.x2<=a){const t=n.x2-s;if(!("x"in e.maxOverlaps)||e.maxOverlaps.x.val<t)e.maxOverlaps.x={val:t,dir:"w"};if(l<=n.y1&&n.y1<=o){const s=o-n.y1;i.sw=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"s"}}if(l<=n.y2&&n.y2<=o){const s=n.y2-l;i.nw=t*s;if(!("y"in e.maxOverlaps)||e.maxOverlaps.y.val<s)e.maxOverlaps.y={val:s,dir:"n"}}}}}const r=Object.keys(i);if(r.length){e.collisions.push({box:n.name,corners:r});for(const t of r){if(!e.corners[t])e.corners[t]={against:[],sum:0};e.corners[t].against.push(n.name);e.corners[t].sum+=i[t];e.overlapSum+=i[t]}}}return e.collisions.length}function N(e,t){const s=e.x1,a=e.x2;const l=e.y1,o=e.y2;const n=[];if(s<0){e.maxOverlaps.x={val:Math.abs(s),dir:"w"};n.push("w");e.corners.w={against:[],sum:Math.abs(s)*e.height};e.overlapSum+=e.corners.w.sum}const i=a-t.width;if(i>0&&(!e.maxOverlaps.x||e.maxOverlaps.x.val<i)){e.maxOverlaps.x={val:i,dir:"e"};n.push("e");e.corners.e={against:["svgbox"],sum:i*e.height};e.overlapSum+=e.corners.e.sum}if(l<0){e.maxOverlaps.y={val:Math.abs(l),dir:"n"};n.push("n");e.corners.n={against:["svgbox"],sum:Math.abs(l)};e.overlapSum+=e.corners.n.sum}const r=o-t.height;if(r>0&&(!e.maxOverlaps.y||e.maxOverlaps.y.val<r)){e.maxOverlaps.y={val:r,dir:"s"};n.push("s");e.corners.s={against:["svgbox"],sum:r*e.height};e.overlapSum+=e.corners.s.sum}if(n.length)e.collisions.push({box:"svg",corners:n})}async function E(t,s,a,l){const o=new Map;t.label.selectAll(s.css.selector).each((function(t){const a=e(this);o.set(this,a.attr(s.css.key));a.attr(s.css.key,s.css.value)}));await R(l.waitTime);const n=S(t.label,l)[0];a.indexOf(t);F(n,a.filter((e=>e!=t)));if(s.applyTo=="all"){Object.assign(t,n)}else{if(n.overlapSum>=t.overlapSum){t.label.selectAll(s.css.selector).each((function(t){e(this).attr(s.css.key,o.get(this))}))}else{Object.assign(t,n)}}}async function T(t,s,a,l){const o=Object.keys(t.maxFree).filter((e=>t.maxFree[e]>0));if(!o.length)return;const n=new Map;if(t.maxOverlaps.y&&t.maxOverlaps.y.val>0){if(t.maxOverlaps.y.dir=="s"&&o.includes("n")){t.label.selectAll(s.css.selector).each((function(a){const l=e(this);n.set(this,l.attr("y")||0);l.attr("y",Math.max(-t.maxFree.n,-t.maxOverlaps.y.val)-s.pad)}))}if(t.maxOverlaps.y.dir=="n"&&o.includes("s")){t.label.selectAll(s.css.selector).each((function(a){const l=e(this);n.set(this,l.attr("y")||0);l.attr("y",Math.min(t.maxFree.s,t.maxOverlaps.y.val)+s.pad)}))}}if(n.size){await R(l.waitTime);const o=S(t.label,l)[0];F(o,a.filter((e=>e!=t)));if(o.overlapSum>=t.overlapSum){t.label.selectAll(s.css.selector).each((function(t){e(this).attr("y",n.get(this))}))}else{Object.assign(t,o);if(!t.collisions.length)return}}if(t.maxOverlaps.x&&t.maxOverlaps.x.val>0){if(t.maxOverlaps.x.dir=="e"&&o.includes("w")){t.label.selectAll(s.css.selector).each((function(a){const l=e(this);n.set(this,l.attr("x")||0);l.attr("x",Math.max(-t.maxFree.w,-t.maxOverlaps.x.val)-s.pad)}))}if(t.maxOverlaps.x.dir=="w"&&o.includes("e")){t.label.selectAll(s.css.selector).each((function(a){const l=e(this);n.set(this,l.attr("x")||0);l.attr("x",Math.min(t.maxFree.e,t.maxOverlaps.x.val)+s.pad)}))}}if(!n.size)return;await R(l.waitTime);const i=S(t.label,l)[0];F(i,a.filter((e=>e!=t)));if(i.overlapSum>=t.overlapSum){t.label.selectAll(s.css.selector).each((function(t){e(this).attr("x",n.get(this))}))}else{Object.assign(t,i)}}const C={restyle:E,move:T};function B(e){return}function R(e){return new Promise((t=>setTimeout(t,e)))}const q=3;const L=.7;const I="black";async function X(e,a,l){if(l){window.obj=e}if(!e.lasso)e.lasso={postSelectMenuOptions:[{label:"List samples",callback:"listSamples"}]};e.menu=new t({padding:"2px"});e.menu2=new t({padding:"10px"});e.tip=new t({padding:"5px"});e.errordiv=a.append("div").style("margin","10px");e.sayerror=t=>{s(e.errordiv,typeof t=="string"?t:t.message);if(t.stack)console.log(t.stack)};const o=a.append("table").style("border-spacing","20px");const n=o.append("tr");const i=n.append("td").style("vertical-align","top");const r=n.append("td").style("vertical-align","top");{const d=r.append("div").style("margin-bottom","5px");d.append("input").attr("type","text").attr("placeholder","Search sample").style("width","200px").on("keyup",(t=>{const s=t.target.value;if(!s){e.dotselection.transition().attr("r",q);return}const a=s.toLowerCase();e.dotselection.filter((e=>m(e,a))).transition().attr("r",q*2);e.dotselection.filter((e=>!m(e,a))).transition().attr("r",1)}));function m(e,t){let s=false;let a=Object.values(e).filter((e=>e!=null&&typeof e!="number"));let l=a.filter((e=>typeof e!="object")).map((e=>e.toLowerCase()));l.forEach((e=>{if(e.toLowerCase().includes(t))return s=true}));if(!s){a.forEach((e=>{if(e&&typeof e=="object"){const a=Object.values(e).filter((e=>e!=null&&typeof e!="number")).map((e=>e.toLowerCase()));a.forEach((e=>{if(e.toLowerCase().includes(t))return s=true}))}}))}return s}}const c=r.append("div").style("overflow-x","hidden").style("overflow-y","auto").style("height","100vh");e.legendtable=c.append("table").style("border-spacing","5px");e.filterDiv=i.append("div").style("position","relative");const p=i.append("div").style("position","relative");e.scattersvg=p.append("svg");e.scattersvg_resizehandle=p.append("div");e.scattersvg_buttons=p.append("div");try{await Y(e);D(e);G(e);P(e)}catch(u){if(u.stack)console.log(u.stack);e.sayerror(u.message||u)}}async function Y(e){if(e.dslabel){const t=["genome="+e.genome.name,"dslabel="+e.dslabel];if(e.analysisdata){if(e.analysisdata.subset){if(!e.analysisdata.subset.key)throw".subset.key missing";if(!e.analysisdata.subset.value)throw".subset.value missing";t.push("subsetkey="+e.analysisdata.subset.key);t.push("subsetvalue="+e.analysisdata.subset.value)}}const s=await a("mdssamplescatterplot?"+t.join("&"));if(s.error)throw s.error;if(!s.dots)throw"server error";e.sample2dot=new Map;for(const t of s.dots){e.sample2dot.set(t.sample,t)}U(e,s);e.colorbyattributes=s.colorbyattributes;e.colorbygeneexpression=s.colorbygeneexpression;e.tracks=s.tracks;e.querykey=s.querykey;e.sample_attributes=e.mds.sampleAttribute.attributes;return}const t=e.analysisdata;if(e.disco||t.disco){const s=e.disco||t.disco;e.mds=e.genome.datasets[s.dslabel]}else if(e.mds){e.mds=e.genome.datasets[e.mds.dslabel]}if(!t)throw"both .analysisdata{} and .dslabel are missing";if(t.samples){if(!Array.isArray(t.samples))throw".analysisdata.samples is not array";e.dots=t.samples}else if(t.tabular_data){let s=t.tabular_data.split("\n");if(s.length<2)throw"at least 2 rows, header row + at least 1 sample data must be supplied";t.samples=[];const a=s.shift().split("\t");if(a.length<3)throw"at least 3 columns are required with X, Y and sample name";t.samplekey=a[2];let l=a.indexOf("x");if(l==-1)l=a.indexOf("X");if(l==-1)throw'"X" or "x" column missing from tabular data';let o=a.indexOf("y");if(o==-1)o=a.indexOf("Y");if(o==-1)throw'"Y" or "y" column missing from tabular data';for(const e of s){const s=e.split("\t");const n={};for(const[e,t]of s.entries()){if(e==l)n.x=Number.parseFloat(t);else if(e==o)n.y=Number.parseFloat(t);else n[a[e]]=t}t.samples.push(n)}e.dots=t.samples;if(t.sample_attributes==undefined){t.sample_attributes={};for(const[e,s]of a.entries()){if(e<=2)continue;t.sample_attributes[s]={label:s}}}if(!t.colorbyattributes&&a.length>3)t.colorbyattributes=[{key:a[3]}]}else{throw"unknown data encoding in .analysisdata{}"}e.sample2dot=new Map;for(const s of e.dots){if(!Number.isFinite(s.x)||!Number.isFinite(s.y))throw"non-numeric x/y for a sample";if(t.samplekey){s.sample=s[t.samplekey];delete s[t.samplekey]}if(t.sample_attributes){s.s={};for(const e in t.sample_attributes){s.s[e]=s[e];delete s[e]}}e.sample2dot.set(s.sample,s)}e.sample_attributes=t.sample_attributes;e.colorbyattributes=t.colorbyattributes;e.attr_levels=t.attr_levels;if(t.user_samples){if(!Array.isArray(t.user_samples))throw".user_samples[] is not array";e.dots_user=[];for(const s of t.user_samples){if(!Number.isFinite(s.x)||!Number.isFinite(s.y))throw"non-numeric x/y for a USER sample";if(t.samplekey){s.sample=s[t.samplekey];delete s[t.samplekey]}if(!s.color)s.color=I;e.dots_user.push(s)}}if(!e.filterApi){e.filterApi=k({btn:e.filterDiv.append("div"),btnLabel:"Filter",emptyLabel:"+New Filter",holder:e.filterDiv.append("div"),vocab:w(t),debug:true,callback(s){e.filteredSamples=O(t.samples,s);if(e.dotselection._groups[0].length!=e.filteredSamples.size){e.dotselection.transition().attr("r",(t=>e.filteredSamples.has(t.sample)?q:0)).style("opacity",(t=>e.filteredSamples.has(t.sample)?1:0))}else{e.dotselection.transition().attr("r",q).style("opacity",1)}V(e)}});e.filterApi.main({type:"tvslst",join:"",lst:[]});e.filteredSamples=[]}}function U(e,t){if(!e.analysisdata){e.dots=t.dots;return}if(!e.analysisdata.str)throw".analysisdata.str missing while trying to combine client/server data";const s=new Map;e.dots_user=[];for(const t of e.analysisdata.str.trim().split("\n")){const a=t.split("\t");if(a.length<3){continue}const l=a[2];if(!l)continue;const o={x:Number(a[0]),y:Number(a[1])};if(Number.isNaN(o.x)||Number.isNaN(o.y))continue;if(a[3]){o.sample=l;o.color=I;e.dots_user.push(o);continue}s.set(l,o)}e.dots=[];for(const a of t.dots){const t=s.get(a.sample);if(!t)continue;a.x=t.x;a.y=t.y;e.dots.push(a)}}function D(e){if(e.colorbyattributes){if(!Array.isArray(e.colorbyattributes))throw".colorbyattributes[] is not array";if(!e.sample_attributes)throw".sample_attributes{} missing when .colorbyattributes is defined";for(const t of e.colorbyattributes){if(typeof t!="object")throw"one of .colorbyattributes[] is not array";if(!t.key)throw".key missing from one of .colorbyattributes[]";const s=e.sample_attributes[t.key];if(!s)throw"unknown key from .colorbyattributes: "+t.key;t.label=s.label;t.values=s.values;if(!t.values){t.values={};for(const s of e.dots){const e=s.s[t.key];if(e==undefined||e==null)continue;t.values[e]={}}}const a=l(x);for(const e in t.values){if(!t.values[e].color)t.values[e].color=a(e)}if(e.analysisdata){const s=e.analysisdata.sample_attributes;if(s[t.key].values==undefined)s[t.key].values=t.values}}}if(e.attr_levels){if(!Array.isArray(e.attr_levels))throw".attr_levels[] is not array";if(e.attr_levels.length<2)throw".attr_levels[] array has less than 2 items";if(!e.sample_attributes)throw".sample_attributes is missing when .attr_levels is defined";for(const t of e.attr_levels){if(!t.key)throw".key missing from one of attr_levels[]";const s=e.sample_attributes[t.key];if(!s)throw".attr_levels key missing from sample_attributes{}: "+t.key;if(!s.values){s.values={};for(const a of e.dots){const e=a.s[t.key];if(e==undefined||e==null||s.values[e])continue;s.values[e]={}}const a=l(x);for(const e in s.values){if(!s.values[e].color)s.values[e].color=a(e)}s.orderByCount=true}if(t.label);}}}function P(t){const s=t.scattersvg.node().closest(".sja_root_holder");let a=t.dots[0].x,l=a,r=t.dots[0].y,c=r;for(const e of[...t.dots,...t.dots_user||[]]){a=Math.min(a,e.x);l=Math.max(l,e.x);r=Math.min(r,e.y);c=Math.max(c,e.y)}let p=t.xscale=o().domain([a,l]);let d=t.yscale=o().domain([r,c]);if(!t.dimensions)t.dimensions={};if(!("autoResize"in t.dimensions))t.dimensions.autoResize=true;if(!("minWidth"in t.dimensions))t.dimensions.minWidth=300;if(!("minHeight"in t.dimensions))t.dimensions.minHeight=300;let m;const u=250;const f=s.getBoundingClientRect();let y=30,v=50,b=100,x=30,g=20,h=t.dimensions.width?t.dimensions.width:Math.max(t.dimensions.minWidth,.75*(f.width-u)),_=t.dimensions.height?t.dimensions.height:Math.max(t.dimensions.minHeight,Math.min(1.2*h,.5*f.height)),k=18;const w=t.scattersvg;const O=t.dotg=w.append("g").attr("transform","translate("+(b+g)+","+y+")");const j=O.selectAll().data(t.dots).enter().append("g").attr("class","sample_dot");const S=j.append("circle").attr("stroke","none").attr("r",q).on("mouseover",((e,s)=>{e.target.setAttribute("stroke","white");const a=[{k:"Sample",v:s.sample}];if(t.sample_attributes){for(const e in t.sample_attributes){const l=t.sample_attributes[e];s.s[e];a.push({k:l.label,v:s.s[e]})}}n(t.tip.clear().d,a);t.tip.show(e.clientX,e.clientY)})).on("mouseout",((e,s)=>{e.target.setAttribute("stroke","none");t.tip.hide()})).on("click",((e,s)=>{Q(s,t,e)}));t.dotselection=S;let A,M,F,N,E;const T=t.userlabel_grp={userlabels:N,userlabel_borders:E};if(t.dots_user){A=O.selectAll().data(t.dots_user).enter().append("g").attr("class","sample_dot");M=A.append("circle").attr("stroke","none").attr("fill",(e=>e.color)).attr("r",q).on("mouseover",((e,s)=>{const a=[{k:"Sample",v:s.sample}];if(t.sample_attributes){for(const e in t.sample_attributes){const l=t.sample_attributes[e];if(s[e])a.push({k:l.label,v:s[e]})}}n(t.tip.clear().d,a);t.tip.show(e.clientX,e.clientY);Object.values(T).forEach((e=>e.filter((e=>e.sample==s.sample)).attr("font-weight","bold")))})).on("mouseout",((e,s)=>{t.tip.hide();Object.values(T).forEach((e=>e.filter((e=>e.sample==s.sample)).attr("font-weight","normal")))}));F=O.selectAll().data(t.dots_user).enter().append("g").attr("class","userlabelg");T.userlabel_borders=F.append("text").attr("fill","#fff").attr("font-size",k).attr("stroke","white").attr("stroke-width","3px").text((e=>e.sample)).attr("text-anchor","end");T.userlabels=F.append("text").attr("fill",(e=>e.color)).attr("font-size",k).text((e=>e.sample)).on("mouseover",((e,s)=>{M.filter((e=>e.sample==s.sample)).attr("r",q*2);w.style("cursor","move");const a=[{k:"Sample",v:s.sample}];if(t.sample_attributes){for(const e in t.sample_attributes){const l=t.sample_attributes[e];if(s[e])a.push({k:l.label,v:s[e]})}}n(t.tip.clear().d,a);t.tip.show(e.clientX,e.clientY)})).on("mouseout",((e,s)=>{M.filter((e=>e.sample==s.sample)).attr("r",q);w.style("cursor","auto");t.tip.hide()})).on("mousedown",((s,a)=>{s.preventDefault();s.stopPropagation();const l=e(document.body);const o=s.clientX;const n=s.clientY;p=t.zoomed_scale&&t.zoomed_scale>1?t.new_xscale:t.xscale;d=t.zoomed_scale&&t.zoomed_scale>1?t.new_yscale:t.yscale;const i=F.filter((e=>e.sample==a.sample));const[r,c]=i.attr("transform").match(/[\d\.]+/g).map(Number);l.on("mousemove",(e=>{i.attr("transform","translate("+(r+e.clientX-o)+","+(c+e.clientY-n)+")")}));l.on("mouseup",(e=>{l.on("mousemove",null).on("mouseup",null);a.x_=p.invert(r+e.clientX-o);a.y_=d.invert(c+e.clientY-n)}))})).on("dblclick",((e,s)=>{t.menu2.clear().show(e.clientX-90,e.clientY);t.menu2.d.append("input").attr("type","text").property("value",s.sample).style("display","block").style("margin-bottom","5px").on("keyup",(e=>{if(!i(e))return;const a=e.target.value;Object.values(T).forEach((e=>e.filter((e=>e.sample==s.sample)).text(a)));s.sample=a;t.menu2.hide()}));t.menu2.d.append("input").attr("type","color").property("value",s.color).on("change",(e=>{const t=e.target.value;Object.values(T).forEach((e=>e.filter((e=>e.sample==s.sample)).attr("fill",t)));M.filter((e=>e.sample==s.sample)).attr("fill",t);s.color=t}))}));T.userlabels.append("title").text("Double-click to edit")}W(t);function C(){v=h/20+20;w.attr("width",b+g+h+x).attr("height",y+_+g+v);const e=t.zoomed_scale&&t.zoomed_scale>1?t.new_xscale:p;const a=t.zoomed_scale&&t.zoomed_scale>1?t.new_yscale:d;e.range([0,h]);a.range([_,0]);j.attr("transform",(t=>"translate("+e(t.x)+","+a(t.y)+")"));if(A){A.attr("transform",(t=>"translate("+e(t.x)+","+a(t.y)+")"));F.attr("transform",(t=>{const s=t.x_?e(t.x_):e(t.x),l=t.y_?a(t.y_):a(t.y);let o;Object.values(T).forEach((e=>e.filter((e=>e.sample==t.sample)).each((function(){o=this.getBBox().width})).attr("text-anchor",s+o>=h?"end":"start")));return"translate("+s+","+l+")"}))}m=s.getBoundingClientRect();if(t.userlabel_grp&&F&&F.size()){z(F,{waitTime:0,nameKey:"sample"})}}C();t.scattersvg_resizehandle.style("position","absolute").style("right","0px").style("bottom","0px").attr("class","sja_clbtext").text("drag to resize").on("mousedown",(t=>{t.preventDefault();const s=e(document.body);const a=t.clientX;const l=t.clientY;const o=h;const n=_;s.on("mousemove",(e=>{h=o+e.clientX-a;_=n+e.clientY-l;C()}));s.on("mouseup",(()=>{s.on("mousemove",null).on("mouseup",null)}))}));function B(){const e=s.getBoundingClientRect();const a=h*e.width/m.width;h=t.dimensions.minWidth?Math.max(t.dimensions.minWidth,a):a;const l=_*e.height/m.height;_=t.dimensions.minHeight?Math.max(t.dimensions.minHeight,l):l;m=e;C()}let R;if(t.dimensions.autoResize){window.addEventListener("resize",(()=>{if(R)clearTimeout(R);R=setTimeout(B,50)}))}H(t)}function H(e){const t=e.scattersvg;e.scattersvg_buttons.style("position","absolute").style("right","0px").style("top","0px");e.zoom_active=false;const s=e.scattersvg_buttons.append("div").style("padding","2px 5px").style("border","1px solid #999").style("color","#999").style("background-color","#fff").style("cursor","pointer").style("font-weight","300").style("border-radius","5px").style("text-align","center").text("Pan / Zoom").on("click",d);const a=e.scattersvg_buttons.append("div").style("margin-top","2px").style("padding","2px 5px").style("border-radius","5px").style("text-align","center").style("display",e.zoom_active?"block":"none").style("background-color","#ddd");const l=a.append("div").style("margin","5px 2px");l.append("div").style("display","block").style("padding","2px 4px").style("font-size","80%").text("Zoom");l.append("div").style("display","block").style("padding","2px").style("font-size","70%").html('<p style="margin:1px;">Mouse wheel </br>or use these buttons</p>');const o=l.append("button").style("margin","1px").style("padding","2px 7px").text("+");const n=l.append("button").style("margin","1px").style("padding","2px 8px").text("-");const i=a.append("div").style("margin","5px 2px");i.append("div").style("display","block").style("padding","2px").style("font-size","80%").text("Pan");i.append("div").style("display","block").style("padding","2px").style("font-size","70%").html('<p style="margin:1px;">Mouse click </br>+ Mouse move</p>');const c=a.append("div").style("margin","5px 2px");const p=c.append("button").style("margin","1px").style("padding","2px 8px").text("Reset");function d(){e.zoom_active=e.zoom_active?false:true;s.style("border",e.zoom_active?"2px solid #000":"1px solid #999").style("color",e.zoom_active?"#000":"#999").style("background-color",e.zoom_active?"#eee":"#fff").style("font-weight",e.zoom_active?"400":"300");m.style("pointer-events",e.zoom_active?"none":"auto");a.style("display",e.zoom_active?"block":"none");const l=_().scaleExtent([1,5]).on("zoom",e.zoom_active?i:null);function i(t){e.new_xscale=t.transform.rescaleX(e.xscale);e.new_yscale=t.transform.rescaleY(e.yscale);e.zoomed_scale=t.transform.k;const s=e.dotg.selectAll(".sample_dot");s.attr("transform",(t=>"translate("+e.new_xscale(t.x)+","+e.new_yscale(t.y)+")"));const a=e.dotg.selectAll(".userlabelg");a.attr("transform",(t=>"translate("+e.new_xscale(t.x_||t.x)+","+e.new_yscale(t.y_||t.y)+")"))}if(e.zoom_active)t.call(l);else t.on(".zoom",null);o.on("click",(()=>{l.scaleBy(t.transition().duration(750),1.5)}));n.on("click",(()=>{l.scaleBy(t.transition().duration(750),.5)}));p.on("click",(()=>{t.transition().duration(750).call(l.transform,r)}))}const m=e.scattersvg_buttons.append("div").style("display","block").style("padding","2px 5px").style("margin-top","5px").style("border","1px solid #999").style("color","#999").style("background-color","#fff").style("cursor","pointer").style("font-weight","300").style("border-radius","5px").style("text-align","center").text("Lasso select").on("click",y);const u=e.scattersvg_buttons.append("div").style("margin-top","2px").style("padding","2px 5px").style("border-radius","5px").style("text-align","center").style("display",e.lasso_active?"block":"none").style("background-color","#ddd");const f=u.append("div").style("margin","5px 2px");f.append("div").style("display","block").style("padding","2px").style("font-size","80%").text("Lasso usage");f.append("div").style("display","block").style("padding","2px").style("font-size","70%").html('<p style="margin:1px;">Mouse click </br>+ Mouse move <br>'+"TIP: Release the mouse <br> when desired dots <br> are selected, without <br>closing the loop. </p>");function y(){const t=e.dotg.selectAll("g");e.lasso_active=e.lasso_active?false:true;s.style("pointer-events",e.lasso_active?"none":"auto");u.style("display",e.lasso_active?"block":"none");m.style("border",e.lasso_active?"2px solid #000":"1px solid #999").style("color",e.lasso_active?"#000":"#999").style("background-color",e.lasso_active?"#eee":"#fff").style("font-weight",e.lasso_active?"400":"300");te(e,t);if(e.lasso_active)return;t.selectAll("circle").classed("not_possible",false).classed("possible",false).attr("r",q).style("fill-opacity","1")}}function W(e){let t;if(e.colorbygeneexpression&&e.colorbygeneexpression.__inuse);else if(e.attr_levels){t={key:e.attr_levels[1].key};t.values=e.sample_attributes[t.key].values}else if(e.colorbyattributes){t={key:(e.colorbyattributes.find((e=>e.__inuse))||e.colorbyattributes[0]).key};t.values=e.sample_attributes[t.key].values}e.dotselection.transition().attr("fill",(e=>{if(t){const s=e.s[t.key];return t.values[s]?t.values[s].color:"black"}return"#ccc"}))}function G(e){if(e.attr_levels){K(e);return}if(e.colorbyattributes){J(e);return}if(e.colorbygeneexpression);}function K(e){const t=e.legendtable.append("tr").append("td").append("div").style("position","relative");const s=t.append("div");const a=e.attr_levels[0];a.v2c=new Map;a.unannotated=0;for(const t of e.dots){const e=t.s[a.key];if(e==undefined||e==null){a.unannotated++;continue}if(!a.v2c.has(e))a.v2c.set(e,{dots:[]});a.v2c.get(e).dots.push(t);if(a.label){a.v2c.get(e).label=t.s[a.label]}}for(const t of Z(a,e)){const l=a.v2c.get(t);const o=s.append("div").style("margin-top","20px").attr("class","sja_lb_div");o.append("div").attr("class","sja_l1lb").html((l.label||t)+' <span style="font-size:.8em">n='+l.dots.length+"</span>").style("margin-top","15px");const n=e.attr_levels[1];if(n){const t=e.sample_attributes[n.key].values;n.v2c=new Map;n.unannotated=0;for(const e of l.dots){const s=e.s[n.key];if(s==undefined||s==null){n.unannotated++;continue}if(!n.v2c.has(s)){const e=t[s];if(e){e.dots=[];n.v2c.set(s,e)}}if(n.v2c.has(s)){n.v2c.get(s).dots.push(e);if(n.label){n.v2c.get(s).label=e.s[n.label]}}}if(!e.hide_subtype_legend){for(const s of Z(n,e)){const a=n.v2c.get(s);const l=o.append("div").style("display","inline-block").style("white-space","nowrap").attr("class","sja_clb").on("click",(()=>{if(a.selected){a.selected=false;l.style("border","");let o=true;for(const e in t){if(t[e].selected)o=false}if(o){e.dotselection.transition().attr("r",q)}else{e.dotselection.filter((e=>e.s[n.key]==s)).transition().attr("r",L)}return}let o=true;for(const e in t){if(t[e].selected)o=false}a.selected=true;l.style("border","solid 1px #858585");if(o){e.dotselection.transition().attr("r",(e=>e.s[n.key]==s?q:L))}else{e.dotselection.filter((e=>e.s[n.key]==s)).transition().attr("r",q)}}));l.append("div").style("display","inline-block").attr("class","sja_mcdot").style("background",a.color).style("margin-right","3px").text(a.dots.length);l.append("div").style("display","inline-block").style("color",a.color).text(a.label||s);a.cell=l}}if(n.unannotated){const e=o.append("div").style("margin-top","20px");e.append("div").text('Unannotated for "'+n.key+'": '+n.unannotated)}}}if(a.unannotated){const e=s.append("div").style("margin-top","20px");e.append("div").html('Unannotated for "'+a.key+'": '+a.unannotated)}if(a.v2c.size>10){s.style("overflow-y","scroll").style("height","800px").style("resize","vertical")}}function Z(e,t){const s=t.sample_attributes[e.key];if(!s.values||s.orderByCount){return[...e.v2c].sort(((e,t)=>t[1].dots.length-e[1].dots.length)).map((e=>e[0]))}const a=[];for(const t in s.values){if(e.v2c.has(t))a.push(t)}return a}function J(e){if(!e.colorbyattributes.find((e=>e.__inuse)))e.colorbyattributes[0].__inuse=true;for(const t of e.colorbyattributes){const s=e.legendtable.append("tr");t.labelhandle=s.append("td").append("div").style("white-space","nowrap").text(t.label).attr("class","sja_clb").on("click",(()=>{for(const t of e.colorbyattributes){t.__inuse=false;t.labelhandle.style("background","").style("border-bottom","")}t.__inuse=true;t.labelhandle.style("background","#ededed").style("border-bottom","solid 2px #858585");W(e)}));if(t.__inuse){t.labelhandle.style("background","#ededed").style("border-bottom","solid 2px #858585")}for(const s of e.dots){const e=s.s[t.key];if(e==undefined||e==null)continue;if(!t.values[e])t.values[e]={color:"black"};t.values[e].count=1+(t.values[e].count||0)}const a=s.append("td");for(const s in t.values){const l=t.values[s];if(l.count==0||l.count==undefined)continue;const o=a.append("div").style("display","inline-block").attr("class","sja_clb").on("click",(()=>{if(l.selected){l.selected=false;o.style("border","");let a=true;for(const e in t.values){if(t.values[e].selected)a=false}if(a){e.dotselection.transition().attr("r",q)}else{e.dotselection.filter((e=>e.s[t.key]==s)).transition().attr("r",L)}return}let a=true;for(const e in t.values){if(t.values[e].selected)a=false}l.selected=true;o.style("border","solid 1px #858585");if(a){e.dotselection.transition().attr("r",(e=>e.s[t.key]==s?q:L))}else{e.dotselection.filter((e=>e.s[t.key]==s)).transition().attr("r",q)}}));o.append("div").style("display","inline-block").attr("class","sja_mcdot").style("background",l.color).style("margin-right","3px").text(l.count);o.append("div").style("display","inline-block").style("color",l.color).text(l.name||s);l.cell=o}}}function V(t){const s=t.dots.filter((e=>t.filteredSamples.has(e.sample)));const a=Array.from(s,(e=>e.s));const l=t.attr_levels?.[0].label||t.attr_levels?.[0].key;const o=[...new Set(Array.from(a,(e=>e[l])))];const n=t.attr_levels?.[1].label||t.attr_levels?.[1].key;const i=[...new Set(Array.from(a,(e=>e[n])))];const r=t.legendtable.node().querySelectorAll(".sja_lb_div");for(const t of r){const s=e(t).select(".sja_l1lb").node().innerText.split(/\s{2}n=/)[0];if(!o.includes(s))e(t).style("display","none");else{e(t).style("display","block");const s=e(t).node().querySelectorAll(".sja_clb");for(const t of s){const s=e(t).node().querySelectorAll("div")[1];if(!i.includes(s.innerText))e(t).style("display","none");else e(t).style("display","inline-block")}}}}function Q(e,t,s){if(t.dslabel){ee(e,t,s);return}if(t.mds){$(e,t,s);return}}async function $(e,t,s){const a=c({x:s.clientX,y:s.clientY});a.header.text(e.sample);const l=p(a.body);try{const s=await d();const o={genome:t.genome.name,dslabel:t.mds.label,querykey:t.mds.querykey,getsample4disco:e.sample};const n=await m("/mdssvcnv",o);if(n.error)throw n.error;if(!n.text)throw".text missing";const i=a.body.append("div");const r=await s.dtDisco({holderSelector:i,chromosomeType:t.genome.name,majorchr:t.genome.majorchr,settings:{showControls:false,selectedSamples:[]},callbacks:{geneLabelClick:{type:"genomepaint",hostURL:sessionStorage.getItem("hostURL")||"",genome:t.genome.name,dslabel:t.mds.label,sample:e.sample}}});const c={sampleName:e.sample,data:JSON.parse(n.text)};r.main(c);l.remove()}catch(e){l.text("Error: "+(e.message||e));if(e.stack)console.log(e.stack)}}function ee(e,t,s){const a=c({x:s.clientX,y:s.clientY});a.header.text(e.sample);const l=a.body.append("div").style("margin","20px").text("Loading ...");m("/mdssvcnv",{genome:t.genome.name,dslabel:t.dslabel,querykey:t.querykey,gettrack4singlesample:e.sample}).then((s=>{l.remove();ie({obj:t,dot:e,sampletracks:s.tracks,holder:a.body})}))}function te(e,t){const s=e.scattersvg;let a;if(e.lasso_active){a=h().items(t.selectAll("circle")).targetArea(s);a.on("start",l).on("draw",o).on("end",n);s.call(a)}else{s.selectAll(".lasso").remove();s.on("mousedown.drag",null)}function l(){if(!e.lasso_active)return;a.items().attr("r",2).style("fill-opacity",".5").classed("not_possible",true).classed("selected",false)}function o(){if(!e.lasso_active)return;a.possibleItems().attr("r",q).style("fill-opacity","1").classed("not_possible",false).classed("possible",true)}function n(t){if(!e.lasso_active)return;const l=s.selectAll(".possible").data().map((e=>e.sample));if(l.length)i(t,l);else e.menu.hide();a.items().classed("not_possible",false).classed("possible",false);a.selectedItems().attr("r",q);a.notSelectedItems().attr("r",l.length==0?q:L).style("fill-opacity","1")}function i(t,s){e.menu.clear().show(t.sourceEvent.clientX-90,t.sourceEvent.clientY);if(e.mds&&e.mds.gene2mutcount){e.menu.d.append("div").attr("class","sja_menuoption").text("Recurrently mutated genes").on("click",(async()=>{e.menu.hide();await ae(e,s)}))}for(const t of e.lasso.postSelectMenuOptions){e.menu.d.append("div").attr("class","sja_menuoption").text(t.label).on("click",(async()=>{e.menu.hide();const a={samples:s,sample_attributes:e.sample_attributes,sample2dot:e.sample2dot};if(t.callback=="listSamples")se(a);else t.callback(a)}))}e.menu.d.append("div").attr("class","sja_menuoption").text("Cancel").on("click",(()=>{a.items().classed("not_possible",false).classed("possible",false).attr("r",q).style("fill-opacity","1");e.menu.hide()}));e.menu.d.append("div").style("padding","10px").style("font-size",".8em").style("width","150px").text(s.length+" samples selected")}}function se(e){const{samples:t,sample_attributes:s,sample2dot:a}=e;const l=Object.keys(s);let o=l.map((e=>s[e].label?s[e].label:e));o.unshift("Sample");const n=o.join("\t");const i=[n];for(const e of t){if(a.get(e).s){let t=[];t.push(e);for(const s of l)t.push(a.get(e).s[s]);i.push(t.join("\t"))}}u("List of selected samples",[{text:i.join("\n")}])}function ae(e,t){e.pane=c({x:event.clientX,y:event.clientY});e.pane.header.text("Recurrently Mutated Genes");e.pane.wait=p(e.pane.body);e.pane.matrix_criteria_div=e.pane.body.append("div");e.pane.sample_matrix_div=e.pane.body.append("div");le(e,t)}function le(e,t){let s=[],a=[],l=[],o,n=15;const i=e.pane.matrix_criteria_div;if(e.mds.mutCountType){s=e.mds.mutCountType;const r=s.filter((e=>!e.db_col.includes("cnv")));const c=s.filter((e=>e.db_col.includes("cnv")));const p=c.find((e=>e.default));o=p;a=s.filter((e=>e.default)).map((e=>e.db_col));l=[...a];const d=i.append("div").style("margin","5px 20px");const m=i.append("div").style("margin","5px 20px").style("padding","5px").style("border-top","solid 1px #ededed").style("border-bottom","solid 1px #ededed").style("background-color","#FCFBF7").style("font-size",".8em");d.append("span").style("margin-right","20px").style("font-size",".8em").text("MUTATION COUNT & NO. OF GENE CRITERIA").attr("class","sja_clbtext").on("click",(()=>{if(m.style("display")=="none"){f(m)}else{y(m)}}));const u=m.append("div");const v=u.append("div").style("display","table-cell").style("width","110px");v.append("div").text("Consequences").style("padding-right","15px");const b=u.append("div").style("display","table-cell").style("border-left","solid 1px #ededed");r.forEach((e=>{const t=b.append("div");const s=t.append("input").attr("type","checkbox").attr("name","mut_type").attr("value",e.db_col).style("margin","3px").style("margin-left","4px").property("checked",e.default);s.on("change",(()=>{if(s.node().checked){l.push(s.node().value)}else{l=l.filter((e=>e!==s.node().value))}}));t.append("label").attr("for",e.db_col).html(e.label)}));const x=b.append("input").attr("type","checkbox").attr("name","noncnv").attr("value","cnv").style("margin","3px").style("margin-left","4px").property("checked",p?true:false).on("change",(()=>{if(x.node().checked){k.property("disabled",false);w.property("disabled",false)}else{k.property("disabled",true);w.property("disabled",true)}}));b.append("label").attr("for","cnv").text("CNV");const g=b.append("div").style("display","block").style("padding","3px 15px");const h=[...new Set(c.map((e=>e.sizecutoff)))];const _=[...new Set(c.map((e=>e.log2cutoff)))];g.append("label").attr("for","cnv_size").style("margin","2px 10px").text("Size cutoff");const k=g.append("select").attr("name","cnv_size");h.forEach((e=>{k.append("option").attr("value",e).text(e)}));k.property("selectedIndex",p.sizecutoff=="1Mb"?0:p.sizecutoff=="2Mb"?1:2);g.append("label").attr("for","log2_ratio").style("margin","2px 10px").text("log2(ratio) cutoff");const w=g.append("select").attr("name","log2_ratio");_.forEach((e=>{w.append("option").attr("value",e.toFixed(1)).text(e.toFixed(1))}));w.property("selectedIndex",p.log2cutoff==.1?0:p.log2cutoff==.2?1:2);const O=m.append("div").style("padding-top","10px");const j=O.append("div").style("display","table-cell").style("width","110px");j.append("div").text("No. of Genes").style("padding-right","15px");const z=O.append("div").style("display","table-cell").style("padding","3px").style("border-left","solid 1px #ededed");const S=[10,15,20,30,40];const A=z.append("select").attr("name","gene_n");S.forEach((e=>{A.append("option").attr("value",e).text(e)}));A.property("selectedIndex",S.findIndex((e=>e==n)));m.append("button").style("margin","10px").style("padding","3px 10px").text("Calculate").on("click",(()=>{const s=b.node().querySelectorAll("input:checked");l=[];s.forEach((e=>{if(e.value!=="cnv"&&!l.includes(e.value))l.push(e.value);else if(e.value=="cnv"){const e=k.node().value;const t=w.node().value;o=c.find((s=>s.sizecutoff==e&&s.log2cutoff==t));l.push(o.db_col)}}));n=A.node().value;oe(e,t,l,n);a=[...l]}))}else a=["total"];oe(e,t,a,n)}async function oe(e,t,s,l){try{const o={genome:e.genome.name,dslabel:e.mds.label,samples:t,selectedMutTypes:s,nGenes:l};const n=await a("mdsgenecount",{method:"POST",body:JSON.stringify(o)});if(n.error)throw n.error;if(!n.genes)throw".genes missing";if(!n.genes.length){e.pane.wait.html("No gene retrived with mutations.");e.pane.matrix_criteria_div.style("display","none");return}ne({obj:e,genes:n.genes,samples:t,holder:e.pane.body});e.pane.wait.remove()}catch(t){e.pane.wait.text("Error: "+(t.message||t));if(t.stack)console.log(t.stack)}}function ne(e){const{obj:t,genes:s,samples:a}=e;const l=t.pane.sample_matrix_div;l.selectAll("*").remove();for(const e of s){e.ismutation=true;e.genename=e.gene;e.label=e.gene;delete e.gene;e.querykeylst=["svcnv","snvindel"];t.features_on_rows?e.height=50:e.width=50}const o={genome:t.genome,dslabel:t.mds.label,features:s,features_on_rows:t.features_on_rows,ismutation_allsymbolic:true,hostURL:sessionStorage.getItem("hostURL")||"",limitbysamplesetgroup:{samples:a},jwt:sessionStorage.getItem("jwt")||"",holder:l.append("div").style("margin","20px")};import("./samplematrix-2a1d7d82.js").then((e=>{const t=new e.Samplematrix(o);t._pane=l}))}function ie(e){const{obj:t,dot:s,sampletracks:a,holder:l}=e;const o={genome:t.genome,hostURL:sessionStorage.getItem("hostURL")||"",jwt:sessionStorage.getItem("jwt")||"",holder:l,chr:t.genome.defaultcoord.chr,start:t.genome.defaultcoord.start,stop:t.genome.defaultcoord.stop,nobox:1,tklst:[]};if(t.tracks){for(const e of t.tracks)o.tklst.push(e)}const n=t.mds.queries[t.querykey];if(n){const e={singlesample:{name:s.sample},mds:t.mds,querykey:t.querykey};for(const t in n){e[t]=n[t]}o.tklst.push(e);if(n.checkexpressionrank){const e={type:v.mdsexpressionrank,name:s.sample+" gene expression rank",dslabel:t.mds.label,querykey:n.checkexpressionrank.querykey,sample:s.sample};if(n.groupsamplebyattr){const t=n.groupsamplebyattr.attrlst;if(t&&t.length){e.attributes=[];for(const a of t){e.attributes.push({k:a.k,label:a.label,kvalue:s.s[a.k]})}}}o.tklst.push(e)}}if(a){for(const e of a)o.tklst.push(e)}b(t.genome,o.tklst);g(o)}export{X as init};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t}from"./roundValue-b0d0517c.js";function o(o){const n=o.sort(((t,o)=>t-o));const s=Math.abs(n[0]-n[n.length-1]);const r=t(s);const a=s>=10?0:s>=1?1:r+2;return o.map((t=>Number(t.toFixed(a))))}export{o as n};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./tslib.es6-1f85f553.js";import{setDensityPlot as t}from"./density-19266ebf.js";import{renderBoundaryInclusionInput as i,renderBoundaryInputDivs as n}from"./numeric.discrete-86181905.js";import{g as o,a as r}from"./termdb.bins-9faa5170.js";import{m as d}from"./checkbox-96437f4d.js";import{m as s}from"./roundValue-b0d0517c.js";import{convertViolinData as a}from"./tvs.numeric-3f3d9919.js";import{v as l}from"./violinRenderer-8215f40d.js";import"./app-a8c4854a.js";import"./drag-0b968811.js";import"./nodrag-2c046d31.js";import"./pointer-c7475677.js";import"./toggleButtons-002aeda1.js";import"./radiobutton-09bff425.js";import"path";import"./tvs.density-026fca97.js";import"./brush-c386fe3d.js";import"./niceNumLabels-6cfc1508.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";function u(o){return{getPillName(e){return s(o,e)},getPillStatus(){var e;return{text:((e=o.usecase)===null||e===void 0?void 0:e.target)=="regression"?o.data.q.lst.find((e=>e.label!=o.data.refGrp)).label:"binary"}},showEditMenu(r){var d,s,f,y;return e(this,void 0,void 0,(function*(){o.num_obj={};o.num_obj.plot_size={width:500,height:100,xpad:10,ypad:20};r.selectAll("*").remove();r.append("div").style("padding","10px").style("text-align","center").html("Getting distribution data ...<br/>");const v=yield o.vocabApi.getViolinPlotData({tw:{term:o.term,q:o.q},filter:o.filter,filter0:(s=(d=o.vocabApi.state)===null||d===void 0?void 0:d.termfilter)===null||s===void 0?void 0:s.filter0,svgw:o.num_obj.plot_size.width/window.devicePixelRatio},(y=(f=o.opts).getBodyParams)===null||y===void 0?void 0:y.call(f));o.num_obj.density_data=a(v);o.dom.num_holder=r;r.selectAll("*").remove();o.dom.density_div=r.append("div");o.vr=new l(o.dom.density_div,o.num_obj.density_data,o.num_obj.plot_size.width,o.num_obj.plot_size.height);o.num_obj.svg=o.vr.svg;o.dom.bins_div=r.append("div").style("padding","4px");m(o);t(o);i(o);o.dom.cutoff_div=o.dom.bins_div.append("div").style("margin","10px");p(o);o.dom.bins_table=o.dom.bins_div.append("div").style("display","flex").style("color","rgb(136, 136, 136)").style("margin","10px").style("width","100%");o.dom.rangeAndLabelDiv=o.dom.bins_table.append("div");n(o,o.q.lst);const b=r.append("div").style("padding","3px 10px");b.append("button").style("margin","5px").html("Apply").on("click",(()=>e(this,void 0,void 0,(function*(){delete o.q.startinclusive;delete o.q.stopinclusive;delete o.q.bin_size;delete o.q.first_bin;delete o.q.last_bin;o.q.lst=c(o);o.numqByTermIdModeType[o.term.id].binary=JSON.parse(JSON.stringify(o.q));o.q.mode="binary";o.runCallback()}))));b.append("button").style("margin","5px").html("Reset").on("click",(()=>{o.q={};delete o.numqByTermIdModeType[o.term.id];u(o).showEditMenu(o.dom.num_holder)}))}))}}}function m(e){const t=e.num_obj.density_data;const i=e.q&&e.q.lst&&e.q.lst.length?e.q.lst[0].stop:undefined;const n=e.numqByTermIdModeType;if(!e.term)throw`Missing .term{} [numeric.binary, setqDefaults()]`;const d=e.term;if(!n[d.id])n[d.id]={};if(!n[d.id].binary){const o=i!==undefined?Number(i):t.maxvalue!=t.minvalue?t.minvalue+(t.maxvalue-t.minvalue)/2:t.maxvalue;n[d.id].binary={mode:"binary",type:"custom-bin",modeBinaryCutoffType:"normal",modeBinaryCutoffPercentile:50,lst:[{startunbounded:true,stopinclusive:true,stop:o.toFixed(e.term.type=="integer"?0:2)},{stopunbounded:true,start:o.toFixed(e.term.type=="integer"?0:2)}]}}if(!e.q||e.q.mode!=="binary")e.q={};const s=JSON.parse(JSON.stringify(n[d.id].binary));e.q=Object.assign(s,e.q);if(e.q.lst){e.q.lst.forEach((t=>{if(!("label"in t))t.label=o(t,e.q);if(!("range"in t))t.range=r(t,e.q)}))}}function p(i){return e(this,void 0,void 0,(function*(){i.dom.cutoff_div.append("span").style("margin-right","5px").style("opacity",.5).text("Boundary value");i.dom.customBinBoundaryInput=i.dom.cutoff_div.append("input").style("width","100px").attr("type","number").style("margin-right","10px").attr("value",i.q.modeBinaryCutoffType=="normal"?i.q.lst[0].stop:i.q.modeBinaryCutoffPercentile).on("change",s);i.dom.customBinBoundaryPercentileCheckbox=d({holder:i.dom.cutoff_div,labeltext:"Use percentile",checked:i.q.modeBinaryCutoffType=="percentile",divstyle:{display:"inline-block"},callback:l});function s(){return e(this,void 0,void 0,(function*(){const e=+this.value;if(i.q.modeBinaryCutoffType=="normal"){a(e)}else if(i.q.modeBinaryCutoffType=="percentile"){if(e<1||e>99){window.alert("Invalid percentile value: enter integer between 1 and 99");return}i.q.modeBinaryCutoffPercentile=e;yield u()}else{throw"invalid modeBinaryCutoffType value"}}))}function a(e){i.q.lst[0].stop=e;i.q.lst[1].start=e;i.q.lst.forEach((e=>{e.label=o(e,i.q);e.range=r(e,i.q)}));if(!i.num_obj)throw`Missing density data [numeric.binary updateUI()]`;t(i);n(i,i.q.lst)}function l(){return e(this,void 0,void 0,(function*(){i.q.modeBinaryCutoffType=i.q.modeBinaryCutoffType=="percentile"?"normal":"percentile";if(i.q.modeBinaryCutoffType=="normal"){const e=i.q.lst[0].stop;i.dom.customBinBoundaryInput.property("value",e);a(e)}else if(i.q.modeBinaryCutoffType=="percentile"){i.dom.customBinBoundaryInput.property("value",i.q.modeBinaryCutoffPercentile);yield u()}else{throw"invalid modeBinaryCutoffType value"}}))}function u(){return e(this,void 0,void 0,(function*(){const e=yield i.opts.vocabApi.getPercentile(i.term.id,[i.q.modeBinaryCutoffPercentile],i.filter);a(e.values[0])}))}}))}function c(e){const t=e.dom.boundaryInput.property("value")=="startinclusive";const i=e.dom.boundaryInput.property("value")=="stopinclusive";const n=e.dom.bins_table.node().querySelectorAll("input");const r=e.q.lst[0].stop;const d=[{startunbounded:true,stop:r,startinclusive:t,stopinclusive:i},{start:r,startinclusive:t,stopinclusive:i,stopunbounded:true}];d.forEach(((t,i)=>{const r=n[i].value;t.label=r?r:o(t,e.q)}));return d}export{u as getHandler};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./tslib.es6-1f85f553.js";import{m as e}from"./roundValue-b0d0517c.js";import{convertViolinData as i}from"./tvs.numeric-3f3d9919.js";import{v as o}from"./violinRenderer-8215f40d.js";import{m as l}from"./checkbox-96437f4d.js";import"./app-a8c4854a.js";import"path";import"./tvs.density-026fca97.js";import"./brush-c386fe3d.js";import"./pointer-c7475677.js";import"./nodrag-2c046d31.js";import"./niceNumLabels-6cfc1508.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";function n(n){return{getPillName(t){return e(n,t)},getPillStatus(){return{text:"continuous"}},showEditMenu(e){var a,r,p,d,c;return t(this,void 0,void 0,(function*(){s(n);e.style("padding","5px").selectAll("*").remove();const t=e.append("div");const m={width:500,height:100,xpad:10,ypad:20};const u=yield n.vocabApi.getViolinPlotData({tw:{term:n.term,q:n.q},filter:n.filter,filter0:(r=(a=n.vocabApi.state)===null||a===void 0?void 0:a.termfilter)===null||r===void 0?void 0:r.filter0,svgw:m.width/window.devicePixelRatio},(d=(p=n.opts).getBodyParams)===null||d===void 0?void 0:d.call(p));const v=i(u);const f=new o(t,v,m.width,m.height);f.render();let h;if(((c=n.usecase)===null||c===void 0?void 0:c.target)=="matrix"){h=l({holder:e,labeltext:"Convert to z-score",checked:n.q.convert2ZScore?true:false,divstyle:{display:"inline-block",padding:"3px 10px"},callback:t=>{n.q.convert2ZScore=t;if(t){g.property("value",1);delete n.q.scale}}})}const y=e.append("div").style("display","inline-block");y.append("div").style("display","inline-block").style("padding","3px 10px").html("Scale values");const g=y.append("select").on("change",(t=>{if(!n.q)throw`Missing .q{} [numeric.continuous getHandler()]`;if(t.target.value!="1"){if(h)h.property("checked",false);n.q.scale=Number(t.target.value)}else delete n.q.scale}));g.selectAll("option").data([{html:"No Scaling",value:1},{html:"Per 10",value:10},{html:"Per 100",value:100},{html:"Per 1000",value:1e3}]).enter().append("option").attr("value",(t=>t.value)).html((t=>t.html)).property("selected",(t=>"scale"in n.q&&t.value==n.q.scale));const x=e.append("div").style("padding","3px 10px");if(n.term.type=="survival"){x.append("div").style("font-size",".8em").style("margin","20px 5px 5px 5px").html(`\n\t\t\t\t\t\tDisplay survival outcomes as time to event (${n.term.unit})\n\t\t\t\t\t`)}x.append("button").style("margin","5px").html("Apply").on("click",(()=>{n.q.mode="continuous";n.runCallback()}))}))}}}function s(t){const e=t.numqByTermIdModeType;const i=t.term;if(!e[i.id])e[i.id]={};if(!e[i.id].continuous){e[i.id].continuous={mode:"continuous"}}const o=JSON.parse(JSON.stringify(e[i.id].continuous));t.q=Object.assign(o,t.q)}export{n as getHandler};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./tslib.es6-1f85f553.js";import{W as e,k as n}from"./app-a8c4854a.js";import{setDensityPlot as i}from"./density-19266ebf.js";import{g as s,a}from"./termdb.bins-9faa5170.js";import{T as r}from"./toggleButtons-002aeda1.js";import{m as o}from"./radiobutton-09bff425.js";import{m as l}from"./roundValue-b0d0517c.js";import{convertViolinData as d}from"./tvs.numeric-3f3d9919.js";import{v as u}from"./violinRenderer-8215f40d.js";import"./drag-0b968811.js";import"./nodrag-2c046d31.js";import"./pointer-c7475677.js";import"path";import"./tvs.density-026fca97.js";import"./brush-c386fe3d.js";import"./niceNumLabels-6cfc1508.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";function p(e){return{getPillName(t){return l(e,t)},getPillStatus(){var t,n;if(!e.q)throw`Missing .q{} [numeric.discrete getPillStatus()]`;const i=((t=e.q)===null||t===void 0?void 0:t.name)||((n=e.q)===null||n===void 0?void 0:n.reuseId);if(i)return{text:i};if(e.q.type=="regular-bin")return{text:"bin size="+e.q.bin_size};return{text:e.q.lst.length+" bins"}},showEditMenu(n){return t(this,void 0,void 0,(function*(){m(e,n)}))}}}function m(e,n){var s,a,r,o;return t(this,void 0,void 0,(function*(){e.num_obj={};e.num_obj.plot_size={width:500,height:100,xpad:10,ypad:20};n.selectAll("*").remove();n.append("div").style("padding","10px").style("text-align","center").html("Getting distribution data ...<br/>");try{const t=yield e.vocabApi.getViolinPlotData({tw:{term:e.term,q:{mode:"continuous"}},filter:e.filter,filter0:(a=(s=e.vocabApi.state)===null||s===void 0?void 0:s.termfilter)===null||a===void 0?void 0:a.filter0,svgw:e.num_obj.plot_size.width/window.devicePixelRatio,strokeWidth:.2},(o=(r=e.opts).getBodyParams)===null||o===void 0?void 0:o.call(r));e.num_obj.density_data=d(t)}catch(t){console.log(t)}n.selectAll("*").remove();if(e.term.type=="survival"){e.dom.discreteSur_div=n.append("div").style("padding","4px");w(e);return}e.dom.num_holder=n;e.dom.density_div=n.append("div");e.vr=new u(e.dom.density_div,e.num_obj.density_data,e.num_obj.plot_size.width,e.num_obj.plot_size.height);e.num_obj.svg=e.vr.svg;e.dom.bins_div=n.append("div").style("padding","4px");y(e);i(e);v(e);f(e);I(e)}))}function c(t){var e;if(t.q.type=="regular-bin"){if(!t.q.first_bin){t.q.first_bin={stop:Number(t.dom.first_stop_input.property("value"))}}t.q.startinclusive=t.dom.boundaryInput.property("value")=="startinclusive";t.q.stopinclusive=t.dom.boundaryInput.property("value")=="stopinclusive";const n=t.dom.bin_size_input.property("value");t.q.bin_size=Number(n);if(n.includes(".")&&!n.endsWith(".")){t.q.rounding="."+n.split(".")[1].length+"f"}else{t.q.rounding=".0f"}if(t.q.scale)delete t.q.scale;if(Number.isFinite((e=t.q.last_bin)===null||e===void 0?void 0:e.start));else{delete t.q.last_bin}t.numqByTermIdModeType[t.term.id].discrete["regular-bin"]=JSON.parse(JSON.stringify(t.q))}else if(t.term.type!=="survival"){if(t.dom.bins_table.selectAll("input").node().value){t.q.lst=b(t);t.numqByTermIdModeType[t.term.id].discrete["custom-bin"]=JSON.parse(JSON.stringify(t.q))}}t.q.mode="discrete";t.dom.tip.hide();t.runCallback()}function b(t){var e;const n=t.dom.boundaryInput.property("value")=="startinclusive";const i=t.dom.boundaryInput.property("value")=="stopinclusive";const r=t.dom.bins_table.node().querySelectorAll("input");let o;const l=t.dom.customBinBoundaryInput.property("value").split("\n").filter((t=>t!=""&&!isNaN(t)));const d=new Set(l);const u=Array.from(d).map((t=>+t)).sort(((t,e)=>t-e)).map(((e,l)=>{const d={start:+e,startinclusive:n,stopinclusive:i};if(o){delete o.stopunbounded;o.stop=d.start;const e=r[l].value;o.label=e?e:s(o,t.q,t.term.valueConversion);o.range=a(o,t.q)}o=d;return d}));if(u.length==0)return;o.stopunbounded=true;const p=(e=r[u.length])===null||e===void 0?void 0:e.value;o.label=p?p:s(o,t.q,t.term.valueConversion);o.range=a(o,t.q);u.unshift({startunbounded:true,stop:u[0].start,startinclusive:n,stopinclusive:i,label:r[0].value});if(!u[0].label)u[0].label=s(u[0],t.q,t.term.valueConversion);if(!u[0].range)u[0].range=a(u[0],t.q);return u}function y(t){var e,n;const i=t.num_obj.density_data;const r=t.numqByTermIdModeType;const o=t.term;if(!r[o.id])r[o.id]={};if(!r[o.id].discrete){const e=!Number.isFinite(i.minvalue)||!Number.isFinite(i.maxvalue)?0:i.maxvalue!=i.minvalue?i.minvalue+(i.maxvalue-i.minvalue)/2:i.maxvalue;r[o.id].discrete={"regular-bin":t.q&&t.q.type=="regular-bin"?JSON.parse(JSON.stringify(t.q)):t.opts.use_bins_less&&o.bins.less?JSON.parse(JSON.stringify(o.bins.less)):JSON.parse(JSON.stringify(o.bins.default)),"custom-bin":t.q&&t.q.type=="custom-bin"?t.q:{type:"custom-bin",mode:"discrete",lst:[{startunbounded:true,startinclusive:true,stopinclusive:false,stop:+e.toFixed(o.type=="integer"?0:2)},{stopunbounded:true,startinclusive:true,stopinclusive:false,start:+e.toFixed(o.type=="integer"?0:2)}]}};if(!r[o.id].discrete["regular-bin"].type){r[o.id].discrete["regular-bin"].type="regular-bin"}}if(t.q&&!t.q.mode)t.q.mode="discrete";if(!t.q||t.q.mode!=="discrete")t.q={};if(!t.q.type){t.q.type=((n=(e=t.term.bins)===null||e===void 0?void 0:e.default)===null||n===void 0?void 0:n.type)||"regular-bin"}const l=JSON.parse(JSON.stringify(r[o.id].discrete[t.q.type]));t.q=Object.assign(l,t.q);const d="bin_size"in t.q&&t.q.bin_size.toString();if(!t.q.rounding&&typeof d=="string"&&d.includes(".")&&!d.endsWith(".")){const e=d.split(".")[1].length;t.q.rounding="."+e+"f"}if(t.q.lst){t.q.lst.forEach((e=>{if(!("label"in e))e.label=s(e,t.q,t.term.valueConversion);if(!("range"in e))e.range=a(e,t.q)}))}}function v(t){t.dom.boundaryInclusionDiv=t.dom.bins_div.append("div").style("margin-left","5px");t.dom.boundaryInclusionDiv.append("span").style("padding","5px").style("color","rgb(136, 136, 136)").html("Boundary Inclusion");const e='<span style="font-family:Times;font-style:italic">x</span>';t.dom.boundaryInput=t.dom.boundaryInclusionDiv.append("select").style("margin-left","10px").on("change",(function(){const e=t.q.mode=="binary"?t.numqByTermIdModeType[t.term.id].binary:t.numqByTermIdModeType[t.term.id].discrete[t.q.type];e.lst=t.q.lst;if(e.type=="regular-bin"){n(e)}else{e.lst.forEach((e=>{n(e);e.label=s(e,t.q,t.term.valueConversion);e.range=a(e,t.q)}));z(t,e.lst)}function n(e){e.startinclusive=t.dom.boundaryInput.node().selectedIndex==1;e.stopinclusive=t.dom.boundaryInput.node().selectedIndex==0}}));t.dom.boundaryInput.selectAll("option").data([{value:"stopinclusive",html:"start < "+e+" ≤ end"},{value:"startinclusive",html:"start ≤ "+e+" < end"}]).enter().append("option").property("value",(t=>t.value)).property("selected",(e=>{if(t.q.type=="regular-bin")return t.q[e.value]==true;else return t.q.lst[0][e.value]==true})).html((t=>t.html))}function f(e){const n=e.dom.bins_div.append("div").style("margin","10px");if(e.term.bins.default.type=="custom-bin"){e.q.type="custom-bin";y(e);i(e);j(e,n);return}if(e.term.bins.default.type!="regular-bin")throw"self.bins.default.type is neither regular-bin or custom-bin, cannot render ui";const s=[{active:e.q.type=="regular-bin",label:"Same bin size",callback:(n,a)=>t(this,void 0,void 0,(function*(){e.q.type="regular-bin";y(e);i(e);if(!s[0].isInitialized){q(e,a.contentHolder);s[0].isInitialized=true}}))},{active:e.q.type=="custom-bin",label:"Varying bin sizes",callback:(n,a)=>t(this,void 0,void 0,(function*(){e.q.type="custom-bin";y(e);i(e);if(!s[1].isInitialized){j(e,a.contentHolder);s[1].isInitialized=true}}))}];new r({holder:n,tabs:s}).main()}function g(t,e){if(!t.term.valueConversion)return;e.append("div").style("margin-bottom","5px").style("opacity",.6).text(`Note: using values by the unit of ${t.term.valueConversion.fromUnit}.`)}function q(t,e){g(t,e);t.dom.bins_table=e.append("table");_(t,t.dom.bins_table.append("tr"));h(t,t.dom.bins_table.append("tr"));x(t,t.dom.bins_table.append("tr"))}function _(t,n){n.append("td").style("margin","5px").style("opacity",.5).text("Bin Size");const s=t.num_obj.density_data;const a=t.q.bin_size;t.dom.bin_size_input=n.append("td").append("input").attr("type","number").attr("value","rounding"in t.q?e(t.q.rounding)(t.q.bin_size):t.q.bin_size).style("margin-left","15px").style("width","100px").style("color",(()=>t.q.bin_size>Math.abs(s.maxvalue-s.minvalue)?"red":"")).on("change",(e=>{const n=Number(e.target.value);if(n<=0){window.alert("Please enter non-negative bin size.");e.target.value=a;return}if((s.maxvalue-s.minvalue)/n>100){window.alert("Bin size too small. Try setting a bigger value.");e.target.value=a;return}t.q.bin_size=n;t.dom.bin_size_input.style("color",t.q.bin_size>s.maxvalue-s.minvalue?"red":n!=a?"green":"");i(t)}))}function h(t,e){if(!t.q.first_bin)throw"missing q.first_bin";e.append("td").style("margin","5px").style("opacity",.5).text("First Bin Stop");const n=t.num_obj.density_data;const i=t.q.first_bin.stop;t.dom.first_stop_input=e.append("td").append("input").attr("type","number").property("value",i).style("width","100px").style("margin-left","15px").on("change",(e=>{const s=Number(e.target.value);if(s<n.minvalue||s>n.maxvalue){window.alert("First bin stop value out of bound.");e.target.value=i;return}if(t.q.first_bin)t.q.first_bin.stop=s;t.renderBinLines(t,t.q)}));e.append("td").append("div").style("font-size",".6em").style("opacity",.5).style("display",t.num_obj.no_density_data?"none":"block").text("Indicated by left-most red line. Drag to change.")}function x(t,e){const n=!t.q.last_bin||!Number.isFinite(t.q.last_bin.start);e.append("td").style("margin","5px").style("opacity",.5).text("Last Bin Start");const s=t.num_obj.density_data;const a=e.append("td").style("padding-left","15px").style("vertical-align","top");const r=a.append("div");o({holder:r,options:[{label:"Automatic",value:"auto",checked:n},{label:"Fixed",value:"fixed",checked:!n}],callback:e=>{if(e=="auto"){delete t.q.last_bin;l.style("display","none");t.renderBinLines(t,t.q);i(t);return}l.style("display","inline-block");if(!t.q.last_bin)t.q.last_bin={};if(t.dom.last_start_input.property("value")==""){t.dom.last_start_input.property("value",s.maxvalue)}d();i(t)}});const l=e.append("td").append("div").style("display",n?"none":"inline-block");t.dom.last_start_input=l.append("input").attr("type","number").property("value",t.q.last_bin?t.q.last_bin.start:"").style("width","100px").on("change",d);l.append("div").style("font-size",".6em").style("opacity",.5).style("display",t.num_obj.no_density_data?"none":"block").text("Indicated by right-most red line. Drag to change.");function d(){const e=Number(t.dom.last_start_input.property("value"));if(t.q.first_bin&&e<=t.q.first_bin.stop){window.alert("Last bin start cannot be smaller than first bin stop.");t.dom.last_start_input.property("value",s.maxvalue);return}if(e>s.maxvalue){window.alert("Last bin start value out of bound.");t.dom.last_start_input.property("value",s.maxvalue);return}if(!t.q.last_bin)t.q.last_bin={};t.q.last_bin.start=e;t.renderBinLines(t,t.q)}}function j(e,i){g(e,i);e.dom.bins_table=i.append("div").style("display","flex").style("width","100%");const s=e.dom.bins_table.append("div").style("margin-right","20px");e.dom.rangeAndLabelDiv=e.dom.bins_table.append("div");s.append("div").style("margin-bottom","5px").style("color","rgb(136, 136, 136)").text("Bin boundaries");e.dom.customBinBoundaryInput=s.append("textarea").style("width","100px").style("height","70px").text(e.q.lst.slice(1).map((t=>t.start)).join("\n")).on("change",a).on("keyup",(function(i){return t(this,void 0,void 0,(function*(){if(!n(i)&&i.key!=8)return;if(!e.dom.bins_table.selectAll("input").node().value)return;a.call(this)}))}));s.append("div").style("font-size",".6em").style("margin-left","1px").style("color","#858585").html("Enter numeric values </br>seperated by ENTER");function a(){const t=e.dom.bins_table.selectAll("input");t.property("value","");const n=b(e);if(n==undefined){return}const i=e.numqByTermIdModeType[e.term.id].discrete[e.q.type];if(e.q.hiddenValues)i.hiddenValues=e.q.hiddenValues;if(r(n,i.lst)){i.lst=n;e.renderBinLines(e,i)}z(e,i.lst);e.q.lst=i.lst}function r(t,e){if(t.length!=e.length)return true;if(Object.keys(t[0]).length!==Object.keys(e[0]).length)return true;for(const[n,i]of e.entries()){for(const e of Object.keys(i)){if(i[e]&&i[e]!==t[n][e]){return true}}}return false}z(e,e.q.lst)}function z(t,e){const n=t.dom.rangeAndLabelDiv;n.selectAll("*").remove();const i=n.append("div").style("display","grid").style("grid-template-columns","auto auto").style("column-gap","20px").style("align-items","center");i.append("div").style("margin-bottom","3px").style("color","rgb(136, 136, 136)").text("Range");i.append("div").style("margin-bottom","3px").style("color","rgb(136, 136, 136)").text("Bin label");for(const[t,n]of e.entries()){i.append("div").attr("name","range").html(n.range);i.append("div").append("input").attr("type","text").style("margin","2px 0px").property("value",n.label).on("change",(function(){e[t].label=this.value}))}t.dom.customBinRanges=t.dom.bins_table.selectAll('div[name="range"]').data(e);t.dom.customBinLabelInput=t.dom.bins_table.selectAll("input").data(e)}function I(t){const e=t.dom.bins_div.append("div");e.append("button").style("margin","5px").html("Apply").on("click",(()=>c(t)));e.append("button").style("margin","5px").html("Reset").on("click",(()=>{t.q={};delete t.numqByTermIdModeType[t.term.id];m(t,t.dom.num_holder)}))}function w(t){const e=t.dom.discreteSur_div.append("div");e.append("div").style("font-size",".8em").style("margin","5px").html(`\n\t\t\tDisplay survival outcomes as exit codes <br>\n\t\t`);const n=t.dom.discreteSur_div.append("div");n.append("button").style("margin","5px").html("Apply").on("click",(()=>c(t)))}export{p as getHandler,v as renderBoundaryInclusionInput,z as renderBoundaryInputDivs};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./tslib.es6-1f85f553.js";import{setDensityPlot as e}from"./density-19266ebf.js";import{k as n}from"./app-a8c4854a.js";import{m as o}from"./roundValue-b0d0517c.js";import{convertViolinData as i}from"./tvs.numeric-3f3d9919.js";import{v as s}from"./violinRenderer-8215f40d.js";import"./termdb.bins-9faa5170.js";import"./drag-0b968811.js";import"./nodrag-2c046d31.js";import"./pointer-c7475677.js";import"path";import"./tvs.density-026fca97.js";import"./brush-c386fe3d.js";import"./niceNumLabels-6cfc1508.js";import"./axis-747c801e.js";import"./line-264f8f9e.js";import"./constant-426a1483.js";import"./basis-3870f5ba.js";function l(n){return{getPillName(t){return o(n,t)},getPillStatus(){return{text:"cubic spline"}},showEditMenu(o){var l,p,a,m;return t(this,void 0,void 0,(function*(){n.num_obj={};n.num_obj.plot_size={width:500,height:100,xpad:10,ypad:20};o.selectAll("*").remove();o.append("div").style("padding","10px").style("text-align","center").html("Getting distribution data ...<br/>");try{const t=yield n.vocabApi.getViolinPlotData({tw:{term:n.term,q:n.q},filter:n.filter,filter0:(p=(l=n.vocabApi.state)===null||l===void 0?void 0:l.termfilter)===null||p===void 0?void 0:p.filter0,svgw:n.num_obj.plot_size.width/window.devicePixelRatio},(m=(a=n.opts).getBodyParams)===null||m===void 0?void 0:m.call(a));n.num_obj.density_data=i(t)}catch(t){console.log(t)}o.selectAll("*").remove();n.dom.density_div=o.append("div");n.vr=new s(n.dom.density_div,n.num_obj.density_data,n.num_obj.plot_size.width,n.num_obj.plot_size.height);n.num_obj.svg=n.vr.svg;n.dom.num_holder=o;n.dom.knots_div=o.append("div").style("padding","5px");yield d(n);e(n);r(n);f(n)}))}}}function d(e){return t(this,void 0,void 0,(function*(){const t=e.numqByTermIdModeType;const n=e.term;if(!t[n.id])t[n.id]={};if(!t[n.id]["spline"]){t[n.id]["spline"]={mode:"spline",knots:[]}}const o=JSON.parse(JSON.stringify(t[n.id]["spline"]));e.q=Object.assign(o,e.q);if(!e.q.knots.length){const t=4;yield u(e,t);e.numqByTermIdModeType[e.term.id]["spline"].knots=e.q.knots}}))}function r(t){const e=t.dom.knots_div;p(t,e);c(t,e)}function p(e,o){e.dom.custom_knots_div=o.append("div");e.dom.custom_knots_div.append("div").style("display","inline-block").style("vertical-align","top").style("padding","3px 15px").style("font-weight","normal").style("color","rgb(136, 136, 136)").html("Knots");e.dom.customKnotsInput=e.dom.custom_knots_div.append("div").style("display","inline-block").style("padding","3px 15px").style("padding-left","5px").append("textarea").style("height","100px").style("width","100px").text(e.q.knots.map((t=>t.value)).join("\n")).on("change",i).on("keyup",(function(e){return t(this,void 0,void 0,(function*(){if(!n(e)&&e.key!=8)return;i.call(this)}))}));e.dom.custom_knots_div.append("div").style("display","inline-block").style("vertical-align","top").style("font-size",".7em").style("padding","3px 15px").style("padding-left","5px").style("color","rgb(136, 136, 136)").html(`Enter knot values, one knot per line.</br> \n\t\t\tAdjust knot by dragging on the vertical line.</br>\n\t\t \tOr autocompute knots from below.`);function i(){const t=m(e);const n=e.q;if(s(t,n.knots)){n.knots=t;e.renderBinLines(e,n)}e.q=n}function s(t,e){if(t.length!=e.length)return true;if(Object.keys(t[0]).length!==Object.keys(e[0]).length)return true;for(const[n,o]of e.entries()){for(const e of Object.keys(o)){if(o[e]&&o[e]!==t[n][e]){return true}}}return false}}function a(t){t.dom.customKnotsInput.property("value",t.q.knots.map((t=>t.value)).join("\n"))}function m(t){const e=t.dom.customKnotsInput.property("value").split("\n").filter((t=>t!="")).map((t=>+t)).sort(((t,e)=>t-e)).map((t=>{const e={value:+t};return e}));return e}function c(n,o){const i=4;const s=i;n.dom.knot_select_div=o.append("div");n.dom.knot_select_div.append("div").style("display","inline-block").style("margin-left","15px").style("color","rgb(136, 136, 136)").html("Autocompute");const l=n.dom.knot_select_div.append("select").style("margin-left","10px").style("margin-bottom","7px");for(let t=s-1;t<s+5;t++){l.append("option").attr("value",t).html(t)}const d=n.q.knots&&n.q.knots.length?n.q.knots.length:s;l.node().value=d;n.dom.knot_select_div.append("div").style("display","inline-block").style("margin-left","10px").style("color","rgb(136, 136, 136)").html("knots");n.dom.knot_select_div.append("button").style("margin","15px").html("Compute").on("click",(()=>t(this,void 0,void 0,(function*(){const t=Number.parseInt(l.node().value);let o=Number.parseInt(l.node().value);while(n.q.knots.length!=t){yield u(n,o);o=o+1}a(n);e(n)}))));n.dom.knot_select_div.append("div").style("display","inline-block").style("font-size",".7em").style("padding","3px 15px").style("padding-left","5px").style("color","rgb(136, 136, 136)").html("Will overwrite existing values.")}function u(e,n){return t(this,void 0,void 0,(function*(){const t=n-2;const o=e.term;const i=e.q.knots=[];const s=[5];const l=(90/(t+1)).toFixed(0);for(let e=1;e<t+1;e++){s.push(e*l)}s.push(95);const d=yield v(e,s);for(const t of d){i.push({value:t.toFixed(o.type=="integer"?0:2)})}}))}function v(e,n){return t(this,void 0,void 0,(function*(){const t=yield e.vocabApi.getPercentile(e.term.id,n,e.filter);if(t.error||!t.values.length||!t.values.every((t=>Number.isFinite(t))))throw"cannot get median value: "+(t.error||"no data");const o=[...new Set(t.values)];return o}))}function f(t){const e=t.dom.knots_div.append("div");e.append("button").style("margin","5px").html("Apply").on("click",(()=>y(t)));e.append("button").style("margin","5px").html("Reset").on("click",(()=>{t.q={};delete t.numqByTermIdModeType[t.term.id];t.handler=l(t);t.handler.showEditMenu(t.dom.num_holder)}))}function y(t){t.q.mode="spline";t.dom.tip.hide();t.runCallback()}export{l as getHandler};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./tslib.es6-1f85f553.js";import{T as i}from"./toggleButtons-002aeda1.js";import{m as t,c as n,s as r}from"./roundValue-b0d0517c.js";import{P as s}from"./app-a8c4854a.js";import"path";function o(e){switch(e){case"./numeric.binary.ts":return import("./numeric.binary-80467e8b.js");case"./numeric.continuous.ts":return import("./numeric.continuous-69a62a15.js");case"./numeric.discrete.ts":return import("./numeric.discrete-86181905.js");case"./numeric.spline.ts":return import("./numeric.spline-1b07fd13.js");case"./numeric.toggle.ts":return Promise.resolve().then((function(){return c}));default:return new Promise((function(i,t){(typeof queueMicrotask==="function"?queueMicrotask:setTimeout)(t.bind(null,new Error("Unknown variable dynamic import: "+e)))}))}}function u(n){return e(this,void 0,void 0,(function*(){n.tabCallback=(i,t)=>e(this,void 0,void 0,(function*(){if(!t)return;if(!n.q)throw`Missing .q{} [numeric.toggle getHandler()]`;n.q.mode=t.mode;const e=`numeric.${t.mode}`;if(!n.handlerByType[e]){const i=yield o(`./numeric.${t.mode}.ts`);n.handlerByType[e]=yield i.getHandler(n)}t.isRendered=true;yield n.handlerByType[e].showEditMenu(t.contentHolder)}));const r=[];if(n.opts.numericEditMenuVersion.includes("continuous")){r.push({mode:"continuous",label:n.term.type=="survival"?"Time to Event":"Continuous",callback:n.tabCallback})}if(n.opts.numericEditMenuVersion.includes("discrete")){r.push({mode:"discrete",label:n.term.type=="survival"?"Exit code":"Discrete",callback:n.tabCallback})}if(n.opts.numericEditMenuVersion.includes("spline")){r.push({mode:"spline",label:"Cubic spline",callback:n.tabCallback})}if(n.opts.numericEditMenuVersion.includes("binary")){r.push({mode:"binary",label:"Binary",callback:n.tabCallback})}return{getPillName(e){return t(n,e)},getPillStatus(){var e;if(!n.q)throw`Missing .q{} [numeric.toggle getPillStatus()]`;let i=n.q.mode;if(n.q.mode=="spline"){i="cubic spline"}else if(n.q.mode=="discrete"){if(((e=n.usecase)===null||e===void 0?void 0:e.target)=="regression"){i="discrete"}else if(n.q.type=="custom-bin"){i=n.q.lst.length+" bins"}else{i="bin size="+n.q.bin_size}}return{text:i}},showEditMenu(t){return e(this,void 0,void 0,(function*(){for(const e of r){delete e.isRendered;e.active=n.q.mode==e.mode||e.mode=="continuous"&&!n.q.mode}const e=t.append("div").style("padding","10px");e.append("span").html("Use as ");new i({holder:e.append("div").style("display","inline-block"),contentHolder:t.append("div"),noTopContentStyle:true,tabs:r}).main()}))}}}))}function l(i,t,o){return e(this,void 0,void 0,(function*(){if(!i.q.mode&&!(o===null||o===void 0?void 0:o.mode))i.q.mode="discrete";if(i.q.mode!=="continuous"&&!a(i.q)){s(i.q,i.term.bins.default)}if(o){o.isAtomic=true;const e=o;const r=o;if(e.preferredBins=="median"){const r=e;if(!r.type||r.type!="custom-bin")throw".type must be custom-bin when .preferredBins=median";const s=yield t.getPercentile(i.term.id,[50]);if(!s.values)throw".values[] missing from vocab.getPercentile()";const u=n(s.values[0]);if(!Number.isFinite(u))throw"median value not a number";const l=JSON.parse(JSON.stringify(o));delete l.preferredBins;i.q=l;i.q.lst=[{startunbounded:true,stop:u,stopinclusive:false,label:"<"+u},{start:u,startinclusive:true,stopunbounded:true,label:"≥"+u}]}else if(r.preferredBins=="less"||r.preferredBins=="default"){i.q=JSON.parse(JSON.stringify(i.term.bins[r.preferredBins]))}else{s(i.q,o)}}r(i.q,i.term)}))}function a(e){if(e.type=="custom-bin"){if(!Array.isArray(e.lst))return false;return true}if(Number.isFinite(e.bin_size)&&e.first_bin){if(Number.isFinite(e.first_bin.stop))return true}return false}var c=Object.freeze({__proto__:null,getHandler:u,fillTW:l});export{l as fillTW,u as getHandler};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{appInit as e}from"./plot.app-aa916e0e.js";import{d as t,P as r,b as i}from"./app-a8c4854a.js";import{f as s}from"./roundValue-b0d0517c.js";import{v as a}from"./FilterRxComp-242f4615.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./tslib.es6-1f85f553.js";import"./toggleButtons-002aeda1.js";import"path";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const o="hg38";const n="GDC";async function p(i,p,c){const m=c[o];try{if(!m)throw o+" missing";const p=i.settings||{};if(typeof p!="object")throw"arg.settings{} not object";if(!p.matrix)p.matrix={};if(typeof p.matrix!="object")throw"arg.settings.matrix{} not object";if(!p.matrix.geneFilter)p.matrix.geneFilter="CGC";if(!Number.isInteger(p.matrix.maxGenes))p.matrix.maxGenes=50;if(i.filter0&&typeof i.filter0!="object")throw"arg.filter0 not object";const c=await a({state:{vocab:{genome:o,dslabel:n}}});c.getTermdbConfig();const f=await e({holder:t(i.holder).select(".sja_root_holder"),genome:m,state:{genome:o,dslabel:n,termfilter:{filter0:i.filter0},plots:[{chartType:"geneset",toolName:"OncoMatrix",settings:{maxGenes:p.matrix.maxGenes,geneFilter:p.matrix.geneFilter}}]},app:i.opts?.app||{},geneset:{mode:"geneVariant",genome:m,genes:i.genes,reactsTo(e){if(e.type.startsWith("plot_"))return e.id===this.id;if(e.type.startsWith("filter"))return true;if(e.type=="app_refresh")return true},showWaitMessage(e){e.style("margin","20px");e.append("div").text("Loading the top mutated genes in the current cohort...")},async callback(e,t){if(!e)return;g=e;if(!d){const e=f.getState().plots.find((e=>e.chartType=="matrix"));if(e)d=f.getComponents(`plots.${e.id}`)}const r=[...i.termgroups||[],{lst:t}];if(d){f.dispatch({type:"plot_edit",id:d.id,config:{termgroups:r}})}else{f.dispatch({type:"plot_create",config:{chartType:"matrix",termgroups:r,divideBy:i.divideBy||undefined,settings:p}})}}},recover:{undoHtml:"Undo",redoHtml:"Redo",resetHtml:"Restore",hide(e){return e.plots[0]?.chartType!="matrix"},adjustTrackedState:e=>{const t=structuredClone(e);delete t.termfilter.filter0;if(t.plots){for(const e of t.plots){if(!e.termgroups)continue;for(const t of e.termgroups){if(!t.lst)continue;for(const e of t.lst){if(!e?.term)continue;delete e.term.category2samplecount;delete e.term.values}}}}return t}},matrix:r({reactsTo(e){if(e.type.startsWith("plot_"))return e.id===this.id;if(e.type.startsWith("filter"))return true;if(e.type=="app_refresh")return true},customInputs:{genes:[{label:`Maximum # Genes`,title:"Limit the number of displayed genes",type:"number",chartType:"matrix",settingsKey:"maxGenes",callback:async e=>{for(const e in i.opts?.app?.callbacks){if(e.startsWith("preDispatch")){i.opts?.app?.callbacks[e]();break}}const t=await l(i,{maxGenes:e,geneFilter:p.matrix.geneFilter},c);u.update({termgroups:[{lst:t}],settings:{matrix:{maxGenes:e}}})}}]},callbacks:{"firstRender.gdcMatrix":async e=>{e.on("firstRender.gdcMatrix",null);if(!g)return;f.dispatch({type:"plot_delete",id:g.id});g=undefined}}},i.opts?.matrix||{})});let d,g;const u={update:async e=>{if(!d){const e=f.getState().plots.find((e=>e.chartType=="matrix"));if(e)d=f.getComponents(`plots.${e.id}`)}if(e.genes){f.dispatch({type:"plot_edit",id:d.id,config:{termgroups:[{lst:await Promise.all(e.genes.map((async e=>await s({term:{gene:e.gene,type:"geneVariant",name:e.gene}},c))))}]}})}else if("filter0"in e){f.dispatch({type:"filter_replace",filter0:e.filter0})}else if(d){f.dispatch({type:"plot_edit",id:d.id,config:e})}}};return u}catch(e){throw e}}async function l(e,t,r){const a={maxGenes:t.maxGenes,geneFilter:t.geneFilter};if(e.filter0)a.filter0=e.filter0;const o=await i("gdc/topMutatedGenes",{body:a});if(o.error)throw o.error;if(!o.genes)return;return await Promise.all(o.genes.map((async e=>await s({term:{gene:e.gene,type:"geneVariant"}},r))))}export{p as init};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as t,M as s,y as r}from"./app-a8c4854a.js";import{s as e,r as o}from"./recover-36ada47f.js";import{v as i}from"./FilterRxComp-242f4615.js";import"./roundValue-b0d0517c.js";import"./tslib.es6-1f85f553.js";import"path";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";function a(t){switch(t){case"../plots/DEanalysis.js":return import("./DEanalysis-a6b50e49.js");case"../plots/Disco.js":return import("./Disco-1c71b7dd.js");case"../plots/DziViewer.js":return import("./DziViewer-6311327c.js");case"../plots/WSIViewer.js":return import("./WSIViewer-d90032d7.js");case"../plots/barchart.data.js":return import("./FilterRxComp-242f4615.js").then((function(t){return t.k}));case"../plots/barchart.events.js":return import("./barchart.events-9b11d97e.js");case"../plots/barchart.js":return import("./barchart-3e69d094.js");case"../plots/bars.renderer.js":return import("./bars.renderer-5f7a4174.js");case"../plots/bars.settings.js":return import("./bars.settings-64bb4642.js");case"../plots/boxplot.js":return import("./boxplot-1178fffc.js");case"../plots/brainImaging.js":return import("./brainImaging-98ed7aa2.js");case"../plots/controls.btns.js":return import("./controls.btns-1cb2bfab.js");case"../plots/controls.config.js":return import("./controls.config-0ccc9d79.js");case"../plots/controls.divide.js":return import("./controls.divide-a9fe9466.js");case"../plots/controls.js":return import("./controls-0bacec22.js");case"../plots/controls.overlay.js":return import("./controls.overlay-fe20d41d.js");case"../plots/controls.term1.js":return import("./controls.term1-faa2efcf.js");case"../plots/cuminc.js":return import("./cuminc-7e2cac2d.js");case"../plots/dataDownload.js":return import("./dataDownload-ade8d840.js");case"../plots/dictionary.js":return import("./dictionary-3f83ce63.js");case"../plots/facet.js":return import("./facet-6850cfed.js");case"../plots/geneExpression.js":return import("./geneExpression-e0430f2e.js");case"../plots/geneORA.js":return import("./geneORA-7eb818c4.js");case"../plots/geneset.js":return import("./geneset-9f69ad3f.js");case"../plots/genomeBrowser.controls.js":return import("./genomeBrowser.controls-cd8ddeb1.js");case"../plots/genomeBrowser.js":return import("./genomeBrowser-1b2b83f7.js");case"../plots/gsea.js":return import("./gsea-36376589.js");case"../plots/hierCluster.config.js":return import("./hierCluster.config-da3510b1.js");case"../plots/hierCluster.interactivity.js":return import("./hierCluster.interactivity-9b433033.js").then((function(t){return t.i}));case"../plots/hierCluster.js":return import("./hierCluster-f1e30c19.js");case"../plots/hierCluster.renderers.js":return import("./hierCluster.renderers-610d8860.js").then((function(t){return t.r}));case"../plots/imagePlot.js":return import("./imagePlot-7089bdff.js");case"../plots/matrix.cells.js":return import("./matrix.cells-819d4991.js");case"../plots/matrix.cluster.js":return import("./matrix.cluster-168bc96b.js");case"../plots/matrix.config.js":return import("./matrix.config-c54ca273.js");case"../plots/matrix.controls.js":return import("./matrix.controls-5eca7822.js");case"../plots/matrix.data.js":return import("./matrix.data-b1d0febe.js").then((function(t){return t.m}));case"../plots/matrix.dom.js":return import("./matrix.dom-00defa30.js");case"../plots/matrix.groups.js":return import("./matrix.groups-4660dd70.js").then((function(t){return t.m}));case"../plots/matrix.interactivity.js":return import("./matrix.interactivity-23d83183.js");case"../plots/matrix.js":return import("./matrix-0614794d.js");case"../plots/matrix.layout.js":return import("./matrix.layout-c2345231.js").then((function(t){return t.m}));case"../plots/matrix.legend.js":return import("./matrix.legend-2e647224.js").then((function(t){return t.m}));case"../plots/matrix.renderers.js":return import("./matrix.renderers-43445f4f.js");case"../plots/matrix.serieses.js":return import("./matrix.serieses-972fbe5d.js").then((function(t){return t.m}));case"../plots/matrix.sort.js":return import("./matrix.sort-80d9b788.js");case"../plots/matrix.sorterUi.js":return import("./matrix.sorterUi-a741ba2e.js");case"../plots/plot.app.js":return Promise.resolve().then((function(){return c}));case"../plots/plot.brainImaging.js":return import("./plot.brainImaging-2f796b0c.js");case"../plots/plot.disco.js":return import("./plot.disco-43e18d2f.js");case"../plots/plot.ssgq.js":return import("./plot.ssgq-e49cb70b.js");case"../plots/profileBarchart.js":return import("./profileBarchart-91463ab6.js");case"../plots/profilePlot.js":return import("./profilePlot-9ca577cb.js");case"../plots/profilePolar.js":return import("./profilePolar-19c7da5b.js");case"../plots/profileRadar.js":return import("./profileRadar-8bf094e3.js");case"../plots/profileRadarFacility.js":return import("./profileRadarFacility-f9fd8971.js");case"../plots/profileSummary.js":return import("./profileSummary-93999c14.js");case"../plots/regression.inputs.js":return import("./regression.inputs-cb57ece6.js").then((function(t){return t.b}));case"../plots/regression.inputs.term.js":return import("./regression.inputs-cb57ece6.js").then((function(t){return t.a}));case"../plots/regression.inputs.values.table.js":return import("./regression.inputs.values.table-908bb37a.js");case"../plots/regression.js":return import("./regression.inputs-cb57ece6.js").then((function(t){return t.r}));case"../plots/regression.results.js":return import("./regression.results-c186a8dc.js").then((function(t){return t.r}));case"../plots/sampleScatter.interactivity.js":return import("./sampleScatter-9d5b3630.js").then((function(t){return t.a}));case"../plots/sampleScatter.js":return import("./sampleScatter-9d5b3630.js").then((function(t){return t.b}));case"../plots/sampleScatter.renderer.js":return import("./sampleScatter-9d5b3630.js").then((function(t){return t.s}));case"../plots/sampleScatter.rendererThree.js":return import("./sampleScatter.rendererThree-5e686004.js").then((function(t){return t.c}));case"../plots/sampleView.js":return import("./sampleView-2d895023.js");case"../plots/scatter.js":return import("./scatter-b4992f64.js");case"../plots/singleCellPlot.js":return import("./singleCellPlot-2f2b8619.js");case"../plots/stattable.js":return import("./stattable-f1189f0f.js");case"../plots/summary.js":return import("./summary-b77bef3c.js");case"../plots/survival.js":return import("./survival-80a0ade9.js");case"../plots/table.js":return import("./table-eee91e14.js");case"../plots/variantBrowser.js":return import("./variantBrowser-f0c812c1.js");case"../plots/violin.interactivity.js":return import("./violin.interactivity-8e2f480d.js");case"../plots/violin.js":return import("./violin-1515c3e6.js");case"../plots/violin.renderer.js":return import("./violin.renderer-dafd89fa.js");default:return new Promise((function(s,r){(typeof queueMicrotask==="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+t)))}))}}class n{constructor(t){this.type="app";const s=t.violin?.mode=="minimal"?null:t.holder.append("div").style("white-space","nowrap");this.dom={holder:t.holder,errdiv:t.holder.append("div"),plotDiv:t.holder.append("div")};if(s){this.dom.plotControls=s.append("div").style("display","inline-block");this.dom.recoverControls=s.append("div").style("display","inline-block")}}validateOpts(t={}){if(!t.holder)throw`missing opts.holder in the MassApp constructor argument`;if(!t.callbacks)t.callbacks={};return t}async preApiFreeze(t){try{t.tip=new s({padding:"5px"});t.printError=t=>this.printError(t);const r=this.opts.state.vocab;t.vocabApi=this.opts.vocabApi?this.opts.vocabApi:await i({app:t,state:{vocab:{genome:r?.genome||this.opts.state.genome,dslabel:r?.dslabel||this.opts.state.dslabel,terms:r?.terms}},fetchOpts:this.opts.fetchOpts});this.opts.state.vocab=t.vocabApi.vocab}catch(t){throw t}}async init(){try{this.opts.state.nav={header_mode:"hidden"};this.store=await e({app:this.api,state:this.opts.state});this.state=await this.store.copyState();this.components={plots:{}};if(this.opts.app?.features?.includes("recover"))this.components.recover=await o({app:this.api,holder:this.dom.recoverControls,getState:t=>t,maxHistoryLen:10});await this.api.dispatch()}catch(t){this.printError(t);throw t}}async main(){this.api.vocabApi.main();for(const t in this.components.plots){const s=this.components.plots[t];if(!this.state.plots.find((t=>t.id===s.id))){s.destroy();delete this.components.plots[t]}}for(const[t,s]of this.state.plots.entries()){if(!this.components.plots[s.id]){const t=this.dom.holder.append("div");if(!this.dom.plotDiv)this.dom.plotDiv=t;const r=await a(`../plots/${s.chartType}.js`);const e=await r.componentInit({id:s.id,app:this.api,holder:t,controls:this.dom.plotControls});this.components.plots[s.id]=e}}}printError(t){r(this.dom.errdiv,"Error: "+(t.message||t));if(t.stack)console.log(t.stack);this.bus.emit("error")}destroy(){this.dom.holder.selectAll("*").remove()}}const p=t(n);var c=Object.freeze({__proto__:null,appInit:p});export{p as appInit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Z as t,U as a,ah as e,I as o,W as n,ag as i}from"./app-a8c4854a.js";import{c as l}from"./axis-747c801e.js";function r(a,e,o,n){const i=t({x:n.left+200,y:n.top});i.body.style("padding","10px");i.header.html(o);a.sort(((t,a)=>a.size-t.size));s({lst:a,holder:i.body,barcolor:e,limit:Math.min(a.length,20)})}function s(t){t.holder.selectAll("*").remove();const r=t.holder.append("div").style("margin-bottom","10px");r.append("button").text("more").on("click",(()=>{t.limit=Math.min(t.lst.length,t.limit+10);s(t)}));r.append("button").text("less").on("click",(()=>{t.limit=Math.max(1,t.limit-10);s(t)}));r.append("button").text("screenshot").on("click",(()=>a(b.node(),"barplot")));let c=20,m=300,d=5,p=c+5,h=c/8,x=0,f=0;const b=t.holder.append("svg");const g=b.append("g");for(let a=0;a<t.limit;a++){let o=t.lst[a];f=Math.max(f,o.size);b.append("text").text(o.name).attr("font-size",c-2).attr("font-family",e).each((function(){x=Math.max(x,this.getBBox().width)})).remove()}b.attr("width",x+d+m+d).attr("height",p+d+t.limit*(c+h));g.attr("transform","translate("+(x+d)+","+p+")").call(l().scale(o().domain([0,f]).range([0,m])).tickFormat(n("d")));i({axis:g,showline:true,fontsize:c*.8,color:"black"});let y=p+d;const u=m/f;for(let a=0;a<t.limit;a++){const o=t.lst[a];b.append("text").text(o.name).attr("x",x).attr("y",y+c/2).attr("text-anchor","end").attr("font-size",c-2).attr("font-family",e).attr("dominant-baseline","central");b.append("rect").attr("x",x+d).attr("y",y).attr("width",u*o.size).attr("height",c-1).attr("fill",t.barcolor);y+=c+h}}export{r as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function e(e,a,o,n,i,r,s={}){const c=t(s);const m=i.append("div").style("margin","20px").text("Loading...");try{if(typeof e?.queries?.NIdata!="object")throw"termdbConfig.queries.NIdata{} not object";const t=e.queries.NIdata[o];if(!t)throw"invalid queryKey";if(typeof n!="object")throw"sample{} not object";if(typeof r!="object")throw"genomeObj{} not object";const s={sampleName:n.sample_id,genome:r,queryKey:o};const d={holder:i,state:{genome:r.name,dslabel:a,args:s,plots:[{chartType:"brainImaging",overrides:c}]}};const g=await import("./plot.app-aa916e0e.js");const p=await g.appInit(d);m.remove()}catch(e){m.text("Error: "+(e.message||e))}}function t(e){const t=structuredClone(e);if(!t.brainImaging)t.brainImaging={};if(!t.downloadImgName){t.downloadImgName="brainImaging"}return t}export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,B as t}from"./app-a8c4854a.js";async function o(o,a,i,n,r,l={}){const m=s(l,o,r,i);const p=n.append("div").style("margin","20px").text("Loading...");try{if(typeof o?.queries?.singleSampleMutation!="object")throw"termdbConfig.queries.singleSampleMutation{} not object";if(typeof i!="object")throw"sample{} not object";if(typeof r!="object")throw"genomeObj{} not object";const s={genome:r.name,dslabel:a,sample:i[o.queries.singleSampleMutation.sample_id_key]};const l=await e("termdb/singleSampleMutation",{body:s});if(l.error)throw l.error;if(!Array.isArray(l.mlst))throw"data.mlst is not array";if(l.dt2total?.length){for(const e of l.dt2total){n.append("div").style("margin","20px 20px 0px 40px").text(`(Displaying ${l.mlst.filter((t=>t.dt==e.dt)).length} out of total ${e.total} ${t[e.dt]})`)}}const c=l.mlst;for(const e of c)e.position=e.pos;const d={sampleName:i[o.queries.singleSampleMutation.sample_id_key],data:c,genome:r};if(o.queries.singleSampleMutation.discoSkipChrM){d.chromosomes={};for(const e in r.majorchr){if(e.toLowerCase()=="chrm")continue;d.chromosomes[e]=r.majorchr[e]}}const f={holder:n,state:{genome:r.name,dslabel:a,args:d,plots:[{chartType:"Disco",subfolder:"disco",extension:"ts",overrides:m}]}};const g=await import("./plot.app-aa916e0e.js");const u=await g.appInit(f);p.remove()}catch(e){p.text("Error: "+(e.message||e))}}function s(e,t,o,s){const a=structuredClone(e);if(!a.Disco)a.Disco={};a.Disco.showPrioritizeGeneLabelsByGeneSets=!!o.geneset;if(!a.downloadImgName){a.downloadImgName=s[t.queries.singleSampleMutation.sample_id_key]+" Disco"}return a}export{o as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,w as e,f as o}from"./app-a8c4854a.js";async function a(o,a,n,s,r,c,p){const l=r.append("div").text("Loading...");try{if(typeof o?.queries?.singleSampleGenomeQuantification!="object")throw"termdbConfig.queries.singleSampleGenomeQuantification{} missing, cannot plot";const m=o.queries.singleSampleGenomeQuantification[n];if(!m)throw"invalid queryKey";if(typeof s!="object")throw"sample{} not object";if(typeof c!="object")throw"genomeObj{} not object";const d={genome:c.name,dslabel:a,devicePixelRatio:window.devicePixelRatio>1?window.devicePixelRatio:1,singleSampleGenomeQuantification:{dataType:n,sample:s[m.sample_id_key]}};const f=await t("mds3",{body:d});if(f.error)throw f.error;const h=o.queries.singleSampleGbtk?.[m.singleSampleGbtk];r.append("div").attr("data-testid","sjpp_ssgq_sandbox").text(m.description||n);if(h){r.append("div").text(`Click a chromosomal position to zoom in and view ${h.description||m.singleSampleGbtk}`)}const g=r.append("img").attr("width",f.canvasWidth).attr("height",f.canvasHeight).attr("src",f.src);l.remove();if(!h)return;let b;if(p){const o=await t("genelookup",{body:{genome:c.name,input:p,deep:1}});if(o.error)throw o.error;if(o.gmlst&&o.gmlst.length){const t=e(o.gmlst);const n=t[0].chr;const p=Math.max(0,t[0].start-(t[0].stop-t[0].start));const l=f.chrLst.filter((t=>t.chr==n))[0].chrLen;const d=Math.min(l,t[0].stop+(t[0].stop-t[0].start));b=await i(a,s,r,c,m,h,n,p,d)}}g.on("click",(async t=>{const e=t.offsetX-f.xoff;let o,n,p;for(const t of f.chrLst){if(t.xStart<=e&&t.xStop>=e){o=t.chr;n=t.chrLen;p=Math.ceil(t.chrLen/(t.xStop-t.xStart)*(e-t.xStart));break}}if(!o)return;const l=Math.max(0,p-5e5),d=Math.min(p+5e5,n);if(b){b.jump_1basedcoordinate({chr:o,start:l,stop:d});return}b=await i(a,s,r,c,m,h,o,l,d)}))}catch(t){l.text("Error: "+(t.message||t))}}async function i(e,a,i,n,s,r,c,p,l){const m={genome:n.name,dslabel:e,singleSampleGbtk:{dataType:s.singleSampleGbtk,sample:a[r.sample_id_key]}};const d=await t("mds3",{body:m});if(!d.path)return;const f=[{type:"bigwig",name:a[r.sample_id_key],file:d.path,height:100,scale:{min:r.min,max:r.max},pcolor:s.positiveColor,ncolor:s.negativeColor}];o(n,f);const h=new((await import("./block-dcb130fb.js").then((function(t){return t.c}))).Block)({genome:n,holder:i.append("div"),nobox:true,tklst:f,chr:c,start:p,stop:l});return h}export{a as plotSingleSampleGenomeQuantification};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as t,h as e,I as o}from"./app-a8c4854a.js";import{l as r}from"./roundValue-b0d0517c.js";import{getDefaultProfilePlotSettings as a,loadFilterTerms as s,profilePlot as n}from"./profilePlot-9ca577cb.js";import{c as i}from"./axis-747c801e.js";import"./tslib.es6-1f85f553.js";import"path";import"./svg.download-86850940.js";import"./FilterRxComp-242f4615.js";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./controls-0bacec22.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";let p=500;const c=400;class l extends n{constructor(){super();this.type="profileBarchart"}async init(t){await super.init(t);const e=t.plots.find((t=>t.id===this.id));this.componentNames=e.plotByComponent.map((t=>({value:t.component.name,label:t.component.name})));this.componentInput={label:"Component",type:"dropdown",chartType:"profileBarchart",options:this.componentNames,settingsKey:"component",callback:t=>this.setComponent(t)}}setComponent(t){this.settings.component=t;this.app.dispatch({type:"plot_edit",id:this.id,config:this.config})}async main(){await super.main();this.configComponent=this.config.plotByComponent.find((t=>t.component.name==this.settings.component))||this.config.plotByComponent[0];this.twLst=[];this.rowCount=0;for(const t of this.configComponent.groups)for(const e of t.rows){this.rowCount++;if(e.term1){this.twLst.push(e.term1.score);this.twLst.push(e.term1.maxScore)}if(e.term2){this.twLst.push(e.term2.score);this.twLst.push(e.term2.maxScore)}}await this.setControls([this.componentInput]);this.component=this.settings.component||this.componentNames[0].value;this.plot()}onMouseOut(t){if(t.target.tagName=="rect"&&t.target.getAttribute("fill-opacity")==.3){const e=t.target;e.setAttribute("fill-opacity",0)}}onMouseOver(t){if(t.target.tagName=="rect"&&t.target.getAttribute("fill-opacity")==0){const e=t.target;e.setAttribute("fill-opacity",.3)}}plot(){const t=this.config;this.dom.plotDiv.selectAll("*").remove();const e=this.configComponent.hasSubjectiveData;const r=1400;const a=this.rowCount*32+600;this.svg=this.dom.plotDiv.append("svg").attr("width",r).attr("height",a);const s=this.state.dslabel=="ProfileAbbrev"?`Score-based Results for the ${this.component} Component by Module and Domain Compared with End-User Impression`:`Objective ${this.component=="Patients and Outcomes"?"":"and Subjective "}Score-based Results for the ${this.component} Component by Module and Domain`;this.svg.append("text").attr("transform",`translate(50, 30)`).attr("font-weight","bold").text(s);const n=this.svg;const l=this.configComponent.component.color;this.svg.append("defs").append("pattern").attr("id",`${this.id}_diagonalHatch`).attr("patternUnits","userSpaceOnUse").attr("width",4).attr("height",4).append("path").attr("d","M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2").attr("stroke-width",1).attr("stroke","gray");let m;let d;let h=30;for(const[o,r]of t.columnNames.entries()){if(o==1&&!e)break;m=o%2==0?400:900;m+=10;d=70;n.append("text").attr("transform",`translate(${m}, ${d})`).attr("text-anchor","start").style("font-weight","bold").text(r);g(m,d+30);m+=p}d=70;for(const t of this.configComponent.groups){n.append("text").attr("transform",`translate(${50}, ${d+40})`).attr("text-anchor","start").text(`${t.label}`).style("font-weight","bold");d+=h+20;for(const o of t.rows){const t=n.append("g");t.append("rect").attr("transform",`translate(${20}, ${d-6})`).attr("x",0).attr("y",0).attr("width",e?1500:850).attr("height",30).attr("fill","#f8d335").attr("fill-opacity",0);m=400;if(o.term1)this.drawRect(m,d,o,"term1",t);if(o.term2)this.drawRect(m+p,d,o,"term2",t);d+=h}}u(410,120,50,d,"B");u(410,120,75,d,"A");this.legendG=this.svg.append("g").attr("transform",`translate(${50},${d+60})`);this.filterG=this.svg.append("g").attr("transform",`translate(${50},${d+180})`);this.legendG.append("text").attr("text-anchor","left").style("font-weight","bold").text("Overall Score").attr("transform",`translate(0, -5)`);this.addLegendItem("A","More than 75% of possible scorable items",1);this.addLegendItem("B","50-75% of possible scorable items",2);this.addLegendItem("C","Less than 50% of possible scorable items",3);this.addFilterLegend();if(this.state.dslabel=="ProfileAbbrev"){const t=this.legendG.append("g").attr("transform",`translate(420, 0)`);this.addEndUserImpressionNote(t)}else this.addPOCNote(this.legendG.append("g").attr("transform",`translate(550, -80)`));if(!e)return;u(910,120,50,d,"B");u(910,120,75,d,"A");d+=40;m=600;const f=n.append("g");this.drawLegendRect(m,d,"and",l,f);m+=300;this.drawLegendRect(m,d,"or",l,f);function g(t,e){const r=o().domain([0,100]).range([0,c]);n.append("g").attr("transform",`translate(${t}, ${e})`).call(i(r))}function u(t,e,o,r,a){const s=t+o/100*c;n.append("line").style("stroke","#aaa").style("stroke-width",1).style("stroke-dasharray","5, 5").attr("x1",s).attr("y1",e).attr("x2",s).attr("y2",r);n.append("text").attr("transform",`translate(${s+.125*c}, ${r+20})`).attr("text-anchor","middle").text(a).style("font-weight","bold");if(o==50)n.append("text").attr("transform",`translate(${s-.25*c}, ${r+20})`).attr("text-anchor","middle").text("C").style("font-weight","bold")}}drawRect(t,e,o,r,a){const s=this.configComponent.hasSubjectiveData;const n=o[r];let i=false;if((o.name=="Total Module"||o.name=="End-user Impression*")&&!o.term2)i=true;const l=n.score.term.color;const m=this.getPercentage(n);const d=r=="term1"||r=="term2"&&!o.term1;const h=r=="term1"?this.getPercentage(o.term2):this.getPercentage(o.term1);const f=m?m/100*c:0;if(m){const o=this.state.dslabel=="ProfileFull"&&this.settings.component=="Patients and Outcomes"?true:!i&&(h||!s);const r=a.append("rect").attr("transform",`translate(${t+10}, ${e})`).attr("pointer-events","none").attr("x",0).attr("y",0).attr("width",f).attr("height",20);if(o)r.attr("fill",l);else{const t=this.id+n.score.term.id;a.append("defs").append("pattern").attr("id",t).attr("patternUnits","userSpaceOnUse").attr("width",4).attr("height",4).append("path").attr("d","M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2").attr("stroke-width",1).attr("stroke",l);r.attr("fill",`url(#${t})`)}}const g=a.append("text").attr("pointer-events","none").attr("text-anchor","end").text(`${m||0}%`);if(f>0)g.attr("transform",`translate(${t+f+55}, ${e+15})`);else if(!h&&r=="term1")g.attr("transform",`translate(${t+35}, ${e+15})`);if(d)a.append("text").attr("transform",`translate(${r=="term1"?t:t-p}, ${e+15})`).attr("text-anchor","end").text(o.name).attr("pointer-events","none")}drawLegendRect(t,e,o,r,a){const s=a.append("g").attr("transform",`translate(${t}, ${e})`).append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",20);if(o=="and")s.attr("fill","gray");else s.attr("fill",`url(#${this.id}_diagonalHatch)`);const n=this.svg.append("text").attr("transform",`translate(${t+25}, ${e+15})`).attr("text-anchor","start").text("Objective ");n.append("tspan").attr("font-weight","bold").text(o);n.append("tspan").text(" Subjective data")}}async function m(e,o){try{const n=o.vocabApi.termdbConfig?.chartConfigByType?.profileBarchart;n.settings={profileBarchart:a()};const i=t(structuredClone(n),e);i.settings.controls={isOpen:false};const p=[];for(const t of i.plotByComponent){t.hasSubjectiveData=false;for(const e of t.groups)for(const o of e.rows){if(o.term1){o.term1.score.q=o.term1.maxScore.q={mode:"continuous"};p.push(o.term1.score);p.push(o.term1.maxScore)}if(o.term2){o.term2.score.q=o.term2.maxScore.q={mode:"continuous"};p.push(o.term2.score);p.push(o.term2.maxScore)}if(o.term1&&o.term2)t.hasSubjectiveData=true}}await r(p,o.vocabApi);await s(i,o);return i}catch(t){throw`${t} [profileBarchart getPlotConfig()]`}}const d=e(l);const h=d;function f(){return{}}export{h as componentInit,f as getDefaultProfileBarchartSettings,m as getPlotConfig,d as profileBarchartInit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./app-ade9c62a.js";import{d as t}from"./app-a8c4854a.js";import"./roundValue-b0d0517c.js";import"./tslib.es6-1f85f553.js";import"path";import"./FilterRxComp-242f4615.js";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";function e(e){const a=t(e.holder);a.append("img").attr("src","images/Button_Full_Version.png").attr("width","15%").on("click",(t=>o(a,"ProfileFull")));a.append("img").attr("src","images/Button_Abbreviated_Version.png").attr("width","15%").on("click",(t=>o(a,"ProfileAbbrev")))}async function o(e,o){const i=document.getElementById("profileIntro");i.innerHTML="";e.selectAll("*").remove();const l=t(document.getElementById("aaa"));l.selectAll("*").remove();const n={holder:l,state:{nav:{header_mode:"hidden"},vocab:{dslabel:o,genome:"hg38"}}};const p=await import("./app-07dee349.js");const c=await p.appInit(n);a(e,c,o,logged,site);r(c,"profilePolar","Polar Graph",logged,site)}function a(t,e,a,n,p){const c=a=="ProfileFull";const d=t.append("div").style("display","inline-flex").style("gap","5px").style("padding-left","10px");d.append("button").text("Full PrOFILE").style("background-color",a=="ProfileFull"?"orange":"").on("click",(e=>{o(t,"ProfileFull")}));d.append("button").text("Abbreviated PrOFILE").style("background-color",a=="ProfileAbbrev"?"orange":"").on("click",(e=>o(t,"ProfileAbbrev")));d.append("button").text("Polar Graph").on("click",(t=>r(e,"profilePolar","Polar Graph",n,p)));d.append("button").text("Bar Graph").on("click",(t=>r(e,"profileBarchart","Bar Graph",n,p)));if(n)d.append("button").text("Radar 1-Score-based(Site)").on("click",(t=>i(e,"profileRadarFacility","Radar 1-Score-based(Site)","plot1",n,p)));d.append("button").text("Radar 2-Impressions").on("click",(t=>i(e,"profileRadar","Radar 2-Impressions","plot1",n,p)));if(c)d.append("button").text("Radar 3-Score-based(SC & POC)").on("click",(t=>i(e,"profileRadar","Radar 3-Score-based(SC & POC)","plot2",n,p)));d.append("button").on("click",(t=>l(e))).text("Delete All")}async function r(t,e,o,a,r){await t.dispatch({type:"plot_create",config:{chartType:e,header:o,logged:a,site:r}})}async function i(t,e,o,a,r,i){await t.dispatch({type:"plot_create",config:{chartType:e,plot:a,header:o,logged:r,site:i}})}async function l(t){for(const e of t.getState().plots){await t.dispatch({type:"plot_delete",id:e.id})}}export{e as init};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as t}from"./svg.download-86850940.js";import{d as e,M as i,L as s}from"./app-a8c4854a.js";import{l as a}from"./roundValue-b0d0517c.js";import{c as o}from"./FilterRxComp-242f4615.js";import{controlsInit as n}from"./controls-0bacec22.js";import{k as l}from"./recover-36ada47f.js";import"./tslib.es6-1f85f553.js";import"path";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const r=["Low income","Lower middle income","Upper middle income","High income"];const p=["Small (1-25 annual newly diagnoses)","Medium (26-80 annual newly diagnoses)","Large (81-120 annual newly diagnoses)","Very large (>120 annual newly diagnoses)"];class h{constructor(){this.type="profilePlot";this.downloadCount=0}getState(t){const e=t.plots.find((t=>t.id===this.id));if(!e)throw`No plot with id='${this.id}' found`;return{config:e,termfilter:t.termfilter,dslabel:t.vocab.dslabel,vocab:t.vocab,logged:e.logged,site:e.site}}async init(t){const a=t.plots.find((t=>t.id===this.id));if(this.opts.header){const t=a.logged?a.site?a.site:"Admin":"Public";this.opts.header.text(a.header?a.header:a.chartType+` / ${t}`)}const o=this.opts.holder.append("div").style("display","inline-block");const n=o.append("div").style("display","inline-block").style("vertical-align","top");const l=o.append("div").style("display","inline-block").style("vertical-align","top");const r=this.opts.holder.append("div").style("display","inline-block");const p=n.append("div").style("display","inline-block").style("font-size","0.8em");const h=n.append("div").style("margin-left","16px").style("margin-top","8px");const d=l.insert("div").style("display","inline-block");const c=d.append("div");this.dom={controlsDiv:p,iconsDiv:h,holder:d,plotDiv:c,holder2:r};e(".sjpp-output-sandbox-content").on("scroll",(t=>this.onMouseOut(t)));this.dom.plotDiv.on("mousemove",(t=>this.onMouseOver(t)));this.dom.plotDiv.on("mouseleave",(t=>this.onMouseOut(t)));this.dom.plotDiv.on("mouseout",(t=>this.onMouseOut(t)));this.sampleidmap=await this.app.vocabApi.getSamplesByName();if(a.site){if(Object.keys(this.sampleidmap).length==0)throw"You must login to view site info";const t=this.sampleidmap[a.site]?.id;if(!t)throw"Invalid site"}this.tip=new i({padding:"4px",offsetX:10,offsetY:15});document.addEventListener("scroll",(t=>this?.tip?.hide()));s["pdf"](h.append("div").style("padding","0px 5px 15px 5px"),{title:"Download as PDF",handler:()=>{window.print()}});if(this.type!="profileRadarFacility"&&!a.settings[this.type].comparison){const t=h.append("div").style("margin-bottom","20px");const e=t.append("button").style("border","none").style("background-color","transparent");s["compare"](e,{title:"Compare with another plot"});e.on("click",(async t=>{const i=this.settings.comparison=!this.settings.comparison;this.settings.showTable=!i;e.style("background-color",i?"rgb(207, 226, 243)":"transparent");await this.app.dispatch({type:"plot_edit",id:this.id,config:{settings:{[this.type]:this.settings}}});this.dom.holder2.selectAll("*").remove();if(i)await this.comparePlots()}))}if(this.type!="profileBarchart"){const t=h.append("div");this.dom.tableBt=t.append("button").style("border","none").style("background-color","rgb(207, 226, 243)");s["table"](this.dom.tableBt,{title:"Show table with data"});this.dom.tableBt.on("click",(t=>{const e=!this.settings.showTable;this.dom.tableBt.style("background-color",e?"rgb(207, 226, 243)":"transparent");this.showTable(e)}))}s["restart"](h.append("div").style("padding","15px 5px"),{title:"Clear filters",handler:async()=>{this.clearFiltersExcept([]);this.app.dispatch({type:"plot_edit",id:this.id,config:{filter:this.getFilter(),settings:{[this.type]:this.settings}}})}});if(!a.settings[this.type].comparison)s["add"](h.append("div").style("padding","5px"),{title:"Open new plot",handler:async()=>{const t={chartType:this.type,insertBefore:this.id,header:this.opts.header.text(),logged:this.state.config.logged,site:this.state.config.site};if(this.type=="profileRadarFacility"||this.type=="profileRadar")t.plot=this.state.config.plot;this.app.dispatch({type:"plot_create",config:t})}})}async showTable(t){this.settings.showTable=t;await this.app.dispatch({type:"plot_edit",id:this.id,config:{settings:{[this.type]:this.settings}}})}getList(t){const e=Object.values(t.term.values);const i=this.filtersData.lst.filter((e=>this.samplesPerFilter[t.term.id].includes(parseInt(e.sample))));const s=Array.from(new Set(i.map((e=>e[t.$id]?.value))));for(const t of e){t.value=t.label;t.disabled=!s.includes(t.label)}e.unshift({label:"",value:""});if(!(t.term.id in this.settings))this.settings[t.term.id]=e[0].label;return e}async main(){this.config=JSON.parse(JSON.stringify(this.state.config));this.settings=this.config.settings[this.type];if(this.dom.tableBt)this.dom.tableBt.style("background-color",this.settings.showTable?"rgb(207, 226, 243)":"transparent")}async comparePlots(){this.plotAdded=true;const t=this.state;const e=await import("./plot.app-aa916e0e.js");const i={chartType:this.type,settings:{[this.type]:{comparison:true,showTable:false}}};if(this.type=="profileRadar"||this.type=="profileRadarFacility")i.plot=this.config.plot;const s={holder:this.dom.holder2,state:{plots:[i],vocab:t.vocab}};await e.appInit(s)}async setControls(e=[]){const i={};for(const t of this.config.filterTWs){const e=this.getFilter(t);if(e)i[t.term.id]=e}this.samplesPerFilter=await this.app.vocabApi.getSamplesPerFilter({filters:i});this.filtersData=await this.app.vocabApi.getAnnotatedSampleData({terms:this.config.filterTWs,termsPerRequest:10});this.regions=Object.keys(this.config.regionTW.term.values).map((t=>({label:t,value:t})));this.regions.unshift({label:"",value:""});this.countries=this.getList(this.config.countryTW);this.incomes=this.getList(this.config.incomeTW);this.teachingStates=this.getList(this.config.teachingStatusTW);this.referralStates=this.getList(this.config.referralStatusTW);this.fundingSources=this.getList(this.config.fundingSourceTW);this.hospitalVolumes=this.getList(this.config.hospitalVolumeTW);this.yearsOfImplementation=this.getList(this.config.yearOfImplementationTW);this.incomes.sort(((t,e)=>{const i=r.indexOf(t.value);const s=r.indexOf(e.value);if(i<s)return-1;return 1}));this.hospitalVolumes.sort(((t,e)=>{const i=p.indexOf(t.value);const s=p.indexOf(e.value);if(i<s)return-1;return 1}));this.types=this.getList(this.config.typeTW);const s=this.config.filter||this.getFilter();this.data=await this.app.vocabApi.getAnnotatedSampleData({terms:this.twLst,filter:s,termsPerRequest:30});const a=this.type;this.dom.controlsDiv.selectAll("*").remove();let o=[];if(this.state.logged&&this.state.site&&a!="profileRadarFacility"){const t={label:"Data",type:"radio",chartType:a,settingsKey:"isAggregate",options:[{label:this.state.site,value:false},{label:"Aggregate",value:true}]};o.push(t)}if(!this.state.logged||!this.state.site||this.settings.isAggregate||a=="profileRadarFacility"){o.push(...[{label:"Region",type:"dropdown",chartType:a,options:this.regions,settingsKey:this.config.regionTW.term.id,callback:t=>this.setRegion(t)},{label:"Country",type:"dropdown",chartType:a,options:this.countries,settingsKey:this.config.countryTW.term.id,callback:t=>this.setFilterValue(this.config.countryTW.term.id,t)},{label:"Income group",type:"dropdown",chartType:a,options:this.incomes,settingsKey:this.config.incomeTW.term.id,callback:t=>this.setFilterValue(this.config.incomeTW.term.id,t)},{label:"Facility type",type:"dropdown",chartType:a,options:this.types,settingsKey:this.config.typeTW.term.id,callback:t=>this.setFilterValue(this.config.typeTW.term.id,t)},{label:this.config.teachingStatusTW.term.name,type:"dropdown",chartType:a,options:this.teachingStates,settingsKey:this.config.teachingStatusTW.term.id,callback:t=>this.setFilterValue(this.config.teachingStatusTW.term.id,t)},{label:this.config.referralStatusTW.term.name,type:"dropdown",chartType:a,options:this.referralStates,settingsKey:this.config.referralStatusTW.term.id,callback:t=>this.setFilterValue(this.config.referralStatusTW.term.id,t)},{label:this.config.fundingSourceTW.term.name,type:"dropdown",chartType:a,options:this.fundingSources,settingsKey:this.config.fundingSourceTW.term.id,callback:t=>this.setFilterValue(this.config.fundingSourceTW.term.id,t)},{label:this.config.hospitalVolumeTW.term.name,type:"dropdown",chartType:a,options:this.hospitalVolumes,settingsKey:this.config.hospitalVolumeTW.term.id,callback:t=>this.setFilterValue(this.config.hospitalVolumeTW.term.id,t)},{label:this.config.yearOfImplementationTW.term.name,type:"dropdown",chartType:a,options:this.yearsOfImplementation,settingsKey:this.config.yearOfImplementationTW.term.id,callback:t=>this.setFilterValue(this.config.yearOfImplementationTW.term.id,t)}])}await this.loadSampleData(a,o);o.unshift(...e);this.components={controls:await n({app:this.app,id:this.id,holder:this.dom.controlsDiv,inputs:o})};this.components.controls.on(`downloadClick.${a}`,(()=>t(this.svg,this.getDownloadFilename(),this.dom.holder.node())));this.components.controls.on(`helpClick.${a}`,(()=>{let t;if(this.state.dslabel=="ProfileAbbrev"){if(a=="profileBarchart")t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/bar-graph-abbr-profiledash.pdf";else if(a=="profilePolar")t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/polar-graph-abbr-profiledash.pdf";else if(a.startsWith("profileRadar"))t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/radar-abbr-profiledash.pdf"}else if(this.state.dslabel=="ProfileFull"){if(a=="profileBarchart")t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/bar-graph-full-profiledash.pdf";else if(a=="profilePolar")t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/polar-graph-full-profiledash.pdf";else if(a.startsWith("profileRadar"))t="https://global.stjude.org/content/dam/global/en-us/documents/no-index/radar-full-profiledash.pdf"}if(t)window.open(t)}));this.filtersCount=0}async loadSampleData(t,e){if(t!="profileRadarFacility"){if(this.state.logged){if(this.state.site&&!this.settings.isAggregate){const t=this.sampleidmap[this.state.site].id;this.settings.site=t;this.sites=[{label:this.state.site,value:t}]}else if(!this.state.site){this.sites=this.data.lst.map((t=>({label:this.data.refs.bySampleId[t.sample].label,value:t.sample})));this.sites.unshift({label:"",value:""});e.push({label:"Site",type:"dropdown",chartType:t,options:this.sites,settingsKey:"site",callback:t=>this.setSite(t)})}if(this.settings.site)this.sampleData=this.data.samples[Number(this.settings.site)];else this.sampleData=null}}else{if(this.state.logged){let i;if(this.state.site){const t=this.sampleidmap[this.state.site].id;this.settings.site=t;this.sites=[{label:this.state.site,value:t}];i=await this.app.vocabApi.getAnnotatedSampleData({terms:this.twLst,termsPerRequest:30,filter:l(parseInt(t))});this.sampleData=i.samples[Number(this.settings.site)]}else{i=await this.app.vocabApi.getAnnotatedSampleData({terms:this.twLst,termsPerRequest:30});this.sites=i.lst.map((t=>({label:i.refs.bySampleId[t.sample].label,value:t.sample})));if(!this.settings.site)this.settings.site=i.lst[0].sample;this.sampleData=i.samples[Number(this.settings.site)]}e.unshift({label:"Site",type:"dropdown",chartType:t,options:this.sites,settingsKey:"site",callback:t=>this.setSite(t)})}}}setFilterValue(t,e){const i=this.config;this.settings[t]=e;this.settings.site="";i.filter=this.getFilter();this.app.dispatch({type:"plot_edit",id:this.id,config:this.config})}setRegion(t){const e=this.config;this.settings[e.regionTW.term.id]=t;this.clearFiltersExcept([e.regionTW.term.id]);e.filter=this.getFilter();this.app.dispatch({type:"plot_edit",id:this.id,config:e})}clearFiltersExcept(t){for(const e of this.config.filterTWs)if(!t.includes(e.term.id))this.settings[e.term.id]="";if(this.config.chartType!="profileRadarFacility")this.settings.site=""}setSite(t){this.settings.site=t;this.sampleData=null;this.app.dispatch({type:"plot_edit",id:this.id,config:this.config})}getFilter(t=null){const e=[];if(t)e.push(t.$id);const i=[];for(const t of this.config.filterTWs)this.processTW(t,this.settings[t.term.id],e,i);const s={type:"tvslst",in:true,join:"and",lst:i};const a=o([this.state.termfilter.filter,s]);return a}processTW(t,e,i,s){if(e&&!i.includes(t.$id))s.push({type:"tvs",tvs:{term:t.term,values:[{key:e}]}})}addFilterLegend(){if(!this.settings.site||this.config.chartType=="profileRadarFacility"){const t=this.config.filterTWs.some((t=>this.settings[t.term.id]));const e=t?"Filters":"No filter applied";this.filterG.attr("font-size","0.9em").append("text").attr("text-anchor","left").style("font-weight","bold").text(`${e} (n=${this.data.lst.length})`).attr("transform",`translate(0, -5)`);for(const t of this.config.filterTWs)this.addFilterLegendItem(t.term.name,this.settings[t.term.id])}if(this.settings.site&&this.config.chartType!="profileRadarFacility"){const t=this.sites.find((t=>t.value==this.settings.site)).label;this.addFilterLegendItem("Facility",t)}}addFilterLegendItem(t,e){if(!e)return;this.filtersCount++;const i=this.filterG.append("g").attr("font-size","0.8em");const s=i.append("text").attr("transform",`translate(0, ${this.filtersCount*22})`).attr("text-anchor","left");s.append("tspan").attr("font-size","bold").text(t);s.append("tspan").text(`: ${e?e:"None"}`)}addEndUserImpressionNote(t){t.attr("font-size","0.8em");let e=t.append("text").attr("transform",`translate(0, 115)`);e.append("tspan").attr("font-weight","bold").text("End-user Impression: ");e.append("tspan").text("It is provided by the local liaison who completed the assessment ");t.append("text").attr("transform",`translate(0, 140)`).text("in consultation with the PHO medical director or directly by the PHO medical director.");t.append("text").attr("transform",`translate(0, 165)`).text("The end-user was asked to rate the current status of the domains and subdomains included.")}addPOCNote(t){t.attr("font-size","0.8em");let e=t.append("text").attr("transform",`translate(0, 115)`);e.append("tspan").attr("font-weight","bold").text("Point of Care (POC) Staff: ");e.append("tspan").text("All members of the assessment team, ");t.append("text").attr("transform",`translate(0, 140)`).text("excluding the Site Coordinator. POC staff provide subjective information based ");t.append("text").attr("transform",`translate(0, 165)`).text("on their experience and perception about service delivery at the PHO facility.")}addLegendItem(t,e,i){const s=this.legendG.append("text").attr("font-size","0.9em").attr("transform",`translate(0, ${i*20})`).attr("text-anchor","left");s.append("tspan").attr("font-weight","bold").text(t);s.append("tspan").text(`: ${e}`)}getDownloadFilename(){this.downloadCount++;let t=`${this.type}${this.downloadCount}.svg`;t=t.split(" ").join("_");return t}getPercentage(t,e=null){if(!t)return null;if(e==null)e=this.settings.isAggregate||this.sampleData==null;if(e){const e=t.maxScore.term?this.data.lst[0]?.[t.maxScore.$id]?.value:t.maxScore;let i=this.data.lst.map((i=>i[t.score.$id]?.value/e*100));i.sort(((t,e)=>t-e));const s=Math.floor(i.length/2);const a=i.length%2!==0?i[s]:(i[s-1]+i[s])/2;return Math.round(a)}else{const e=this.sampleData[t.score.$id]?.value;const i=t.maxScore.term?this.sampleData[t.maxScore.$id]?.value:t.maxScore;const s=e/i*100;return Math.round(s)}}}async function d(t,e){const i=[];t.countryTW={id:"country"};t.regionTW={id:"WHO_region"};t.incomeTW={id:"Income_group"};t.typeTW={id:"FC_TypeofFacility"};t.teachingStatusTW={id:"FC_TeachingFacility"};t.referralStatusTW={id:"FC_ReferralFacility"};t.fundingSourceTW={id:"FC_FundingSrc"};t.hospitalVolumeTW={id:"PO_HospitalVolume"};t.yearOfImplementationTW={id:"Year_implementation"};i.push(...[t.countryTW,t.regionTW,t.incomeTW,t.typeTW,t.teachingStatusTW,t.referralStatusTW,t.fundingSourceTW,t.hospitalVolumeTW,t.yearOfImplementationTW]);await a(i,e.vocabApi);t.filterTWs=i}function c(){return{isAggregate:false,showTable:true}}export{c as getDefaultProfilePlotSettings,d as loadFilterTerms,h as profilePlot};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as t,h as e}from"./app-a8c4854a.js";import{l as s}from"./roundValue-b0d0517c.js";import{getDefaultProfilePlotSettings as o,loadFilterTerms as r,profilePlot as i}from"./profilePlot-9ca577cb.js";import{r as a}from"./table-79e3e776.js";import{d as n}from"./arc-3d6751aa.js";import"./tslib.es6-1f85f553.js";import"path";import"./svg.download-86850940.js";import"./FilterRxComp-242f4615.js";import"./termdb.bins-9faa5170.js";import"./controls-0bacec22.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";import"./constant-426a1483.js";import"./math-2fb199c6.js";class l extends i{constructor(){super();this.type="profilePolar";this.radius=250}async init(t){await super.init(t);const e=t.plots.find((t=>t.id===this.id));this.twLst=[];for(const[t,s]of e.terms.entries()){this.twLst.push(s.score);this.twLst.push(s.maxScore)}this.arcGenerator=n().innerRadius(0)}async main(){await super.main();await this.setControls();this.angle=Math.PI*2/this.config.terms.length;this.plot()}onMouseOut(t){if(t.target.tagName=="path"){const e=t.target;e.setAttribute("stroke","white");if(e.getAttribute("stroke-opacity")==0)e.setAttribute("stroke-opacity",1)}this.tip.hide()}onMouseOver(t){if(t.target.tagName=="path"){const e=t.target;e.setAttribute("stroke-opacity",0);const s=e.__data__;const o=this.tip.clear();const r=this.getPercentage(s);o.d.text(`${s.module} ${r}%`);o.show(t.clientX,t.clientY,true,true)}else this.onMouseOut(t)}plot(){const t=this.config;this.dom.plotDiv.selectAll("*").remove();const e=this.settings.comparison?900:1e3;const s=700;this.svg=this.dom.plotDiv.append("div").style("display","inline-block").append("svg").attr("width",e).attr("height",s);this.dom.tableDiv=this.dom.plotDiv.append("div").style("display","inline-block").style("vertical-align","top").style("margin","45px 20px");if(!this.settings.comparison)this.svg.append("text").attr("transform",`translate(130, ${s-120})`).attr("font-weight","bold").text(t.title);const o=[];const r=[{label:"Color"},{label:"Module"},{label:"Score",align:"center"}];const i=this.radius;const n=280;const l=280;const c=this.svg.append("g").attr("transform",`translate(${n},${l})`);this.polarG=c;this.legendG=this.svg.append("g").attr("transform",`translate(${n+280}, ${l-200})`);this.filterG=this.svg.append("g").attr("transform",`translate(${n+260},${l+180})`);for(let t=0;t<=10;t++)h(t*10);const p=this.angle;let d=0;for(let e of t.terms){const t=e.module;e.i=d;const s=e.score.term.color;const r=this.getPercentage(e);o.push([{color:s,disabled:true},{value:t},{value:r}]);c.append("g").append("path").datum(e).attr("fill",s).attr("stroke","white").attr("d",this.arcGenerator({outerRadius:r/100*i,startAngle:d*p,endAngle:(d+1)*p})).on("click",(t=>this.onMouseOver(t)));d++}this.dom.tableDiv.selectAll("*").remove();if(this.settings.showTable)a({rows:o,columns:r,div:this.dom.tableDiv,showLines:true,resize:true,maxHeight:"50vh"});h(50,"C");h(75,"B");h(100,"A");for(let t=0;t<=10;t++){const e=t*10;c.append("text").attr("transform",`translate(-10, ${-e/100*i+5})`).attr("text-anchor","end").style("font-size","0.8rem").text(`${e}%`).attr("pointer-events","none")}if(!this.settings.comparison){this.legendG.append("text").attr("text-anchor","left").style("font-weight","bold").text("Overall Score").attr("transform",`translate(0, -5)`);this.addLegendItem("A","More than 75% of possible scorable items",1);this.addLegendItem("B","50-75% of possible scorable items",2);this.addLegendItem("C","Less than 50% of possible scorable items",3)}this.addFilterLegend();function h(t,e=null){const s=c.append("circle").attr("r",t/100*i).style("fill","none").style("opacity","0.5");if(t!=50)s.style("stroke","#aaa");if(e){if(t!=100)s.style("stroke-dasharray","5, 5").style("stroke-width","2").style("stroke","black");c.append("text").attr("transform",`translate(15, ${-(t/100-.125)*i+10})`).attr("text-anchor","middle").text(e).style("font-weight","bold").style("font-size","24px").attr("pointer-events","none")}}}}async function c(e,i){try{const a=i.vocabApi.termdbConfig?.chartConfigByType?.profilePolar;a.settings={profilePolar:o()};if(!a)throw"default config not found in termdbConfig.chartConfigByType.profilePolar";const n=t(structuredClone(a),e);n.settings.controls={isOpen:false};const l=[];for(const t of n.terms){const e=t.score;const s=t.maxScore;e.q={mode:"continuous"};s.q={mode:"continuous"};l.push(e);l.push(s)}await s(l,i.vocabApi);await r(n,i);return n}catch(t){throw`${t} [profilePolar getPlotConfig()]`}}const p=e(l);const d=p;export{d as componentInit,c as getPlotConfig,p as profilePolarInit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as t,h as e}from"./app-a8c4854a.js";import{l as s}from"./roundValue-b0d0517c.js";import{getDefaultProfilePlotSettings as r,loadFilterTerms as a,profilePlot as o}from"./profilePlot-9ca577cb.js";import{r as n}from"./table-79e3e776.js";import{l as i}from"./line-264f8f9e.js";import"./tslib.es6-1f85f553.js";import"path";import"./svg.download-86850940.js";import"./FilterRxComp-242f4615.js";import"./termdb.bins-9faa5170.js";import"./controls-0bacec22.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";import"./constant-426a1483.js";class l extends o{constructor(){super();this.type="profileRadar";this.radius=250}async init(t){await super.init(t);const e=t.plots.find((t=>t.id===this.id));this.lineGenerator=i();this.twLst=[];this.terms=e[e.plot].terms;for(const t of this.terms){this.twLst.push(t.term1.score);if(t.term1.maxScore.term)this.twLst.push(t.term1.maxScore);this.twLst.push(t.term2.score);if(t.term2.maxScore.term)this.twLst.push(t.term2.maxScore)}}async main(){await super.main();await this.setControls();this.angle=Math.PI*2/this.terms.length;this.plot()}plot(){const t=this.config;this.dom.plotDiv.selectAll("*").remove();if(this.data.lst.length==0)return;const e=this.settings.comparison?900:1400;const s=900;this.svg=this.dom.plotDiv.append("div").style("display","inline-block").append("svg").attr("width",e).attr("height",s);this.tableDiv=this.dom.plotDiv.append("div").style("display","inline-block").style("vertical-align","top").style("margin-top","45px");const r=[];const a=[{label:"Color"},{label:"Module"},{label:t[t.plot].term1.abbrev},{label:t[t.plot].term2.abbrev}];const o=this.radius;const i=370;const l=290;if(!this.settings.comparison)this.svg.append("text").attr("transform",`translate(40, ${l+340})`).attr("font-weight","bold").attr("font-size","0.9rem").text(t[t.plot].title);const p=this.svg.append("g").attr("transform",`translate(${i},${l})`);this.polarG=p;this.legendG=this.svg.append("g").attr("transform",`translate(${i+400},${l+180})`);this.filterG=this.svg.append("g").attr("transform",`translate(${this.settings.comparison?150:40},${l+370})`);for(let t=0;t<=10;t++)this.addPoligon(t*10);let c=0;const d=[],h=[];for(let{module:t,term1:e,term2:s}of this.terms){const a=c*this.angle-Math.PI/2;this.addData("term1",a,c,d);this.addData("term2",a,c,h);const n=e.score.term.color;r.push([{color:n,disabled:true},{value:t},{value:this.getPercentage(e)},{value:this.getPercentage(s)}]);c++;const i=a>Math.PI/2&&a<=3/2*Math.PI;let l=o*1.1*Math.cos(a);let m=o*1.1*Math.sin(a)-10;const f=p.append("text").attr("x",`${l}px`).attr("y",`${m}px`);const g=t.split(" ");let u;g.forEach(((t,e)=>{if(t!="and"){m+=15;u=f.append("tspan").attr("x",`${l}px`).attr("y",`${m}px`).text(t+"")}else u.append("tspan").text(" and")}));if(i)f.attr("text-anchor","end")}if(this.settings.showTable)n({rows:r,columns:a,div:this.tableDiv,showLines:true,resize:true,maxHeight:"60vh"});d.push(d[0]);h.push(h[0]);const m="blue",f="gray";p.append("g").append("path").style("stroke",m).attr("fill","none").attr("stroke-width","2px").attr("d",this.lineGenerator(d));p.append("g").append("path").style("stroke",f).attr("fill","none").style("stroke-dasharray","5, 5").attr("stroke-width","2px").attr("d",this.lineGenerator(h));for(let t=0;t<=10;t++){const e=t*10;p.append("text").attr("transform",`translate(-10, ${-e/100*o+5})`).attr("text-anchor","end").style("font-size","0.8rem").text(`${e}%`).attr("pointer-events","none")}if(!this.settings.comparison){this.legendG.append("text").attr("text-anchor","left").style("font-weight","bold").text(`Legend`);let e=t[t.plot].term1.abbrev?`(${t[t.plot].term1.abbrev})`:"";const s=`${t[t.plot].term1.name} ${e}`;this.addLegendItem(s,m,0,"none");e=t[t.plot].term2.abbrev?`(${t[t.plot].term2.abbrev})`:"";const r=`${t[t.plot].term2.name} ${e}`;this.addLegendItem(r,f,1,"5, 5");if(this.state.dslabel=="ProfileAbbrev")this.addEndUserImpressionNote(this.legendG.append("g").attr("transform",`translate(0, -15)`));else this.addPOCNote(this.legendG.append("g").attr("transform",`translate(0, -15)`))}this.addFilterLegend()}addData(t,e,s,r){const a=this.terms[s];const o=this.getPercentage(a[t]);const n=o/100*this.radius;let i=n*Math.cos(e);let l=n*Math.sin(e);const p=t=="term1"?"blue":"#aaa";const c=this.polarG.append("g").attr("transform",`translate(${i}, ${l})`).append("circle").attr("r",4).attr("fill",p);c.datum({module:a.module,percentage:o}).on("click",(t=>this.onMouseOver(t)));r.push([i,l])}addPoligon(t){const e=[];for(let s=0;s<this.terms.length;s++){const r=s*this.angle-Math.PI/2;const a=t/100*this.radius;const o=a*Math.cos(r);const n=a*Math.sin(r);e.push([o,n])}e.push(e[0]);this.polarG.append("g").append("path").style("stroke","#aaa").attr("fill","none").attr("d",this.lineGenerator(e)).style("opacity","0.5")}addLegendItem(t,e,s,r){const a=25;const o=a+s*a;const n=35;this.legendG.append("path").attr("stroke",e).style("stroke-dasharray",r).attr("stroke-width","2px").attr("d",this.lineGenerator([[0,o-5],[n,o-5]]));this.legendG.append("g").attr("transform",`translate(${0}, ${o-5})`).append("circle").attr("r",4).attr("fill",e);const i=this.legendG.append("text").attr("font-size","0.9em").attr("transform",`translate(${n+5}, ${o})`).attr("text-anchor","left");i.append("tspan").text(t)}onMouseOver(t){if(t.target.tagName=="circle"){const e=t.target;const s=e.__data__;const r=this.tip.clear();const a=s.percentage;r.d.text(`${s.module} ${a}%`);r.show(t.clientX,t.clientY,true,true)}else this.onMouseOut(t)}onMouseOut(t){this.tip.hide()}}async function p(e,o){try{const n=o.vocabApi.termdbConfig?.chartConfigByType?.profileRadar;n.settings={profileRadar:r()};if(!n)throw"default config not found in termdbConfig.chartConfigByType.profileRadar";const i=t(structuredClone(n),e);i.settings.controls={isOpen:false};const l=i[e.plot].terms;const p=[];for(const t of l){t.term1.score.q={mode:"continuous"};p.push(t.term1.score);if(t.term1.maxScore.id){t.term1.maxScore.q={mode:"continuous"};p.push(t.term1.maxScore)}t.term2.score.q={mode:"continuous"};p.push(t.term2.score);if(t.term2.maxScore.id){t.term2.maxScore.q={mode:"continuous"};p.push(t.term2.maxScore)}}await s(p,o.vocabApi);await a(i,o);return i}catch(t){throw`${t} [profileRadar getPlotConfig()]`}}const c=e(l);const d=c;export{d as componentInit,p as getPlotConfig,c as profileRadarInit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as t,h as e}from"./app-a8c4854a.js";import{l as s}from"./roundValue-b0d0517c.js";import{r as a}from"./table-79e3e776.js";import{getDefaultProfilePlotSettings as o,loadFilterTerms as r,profilePlot as i}from"./profilePlot-9ca577cb.js";import{l as n}from"./line-264f8f9e.js";import"./tslib.es6-1f85f553.js";import"path";import"./svg.download-86850940.js";import"./FilterRxComp-242f4615.js";import"./termdb.bins-9faa5170.js";import"./controls-0bacec22.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";import"./constant-426a1483.js";class l extends i{constructor(){super();this.type="profileRadarFacility";this.radius=250}async init(t){await super.init(t);const e=t.plots.find((t=>t.id===this.id));this.twLst=[];this.terms=e[e.plot].terms;for(const t of this.terms){this.rowCount++;this.twLst.push(t.score);this.twLst.push(t.maxScore)}this.lineGenerator=n()}async main(){await super.main();await this.setControls();this.angle=Math.PI*2/this.terms.length;this.plot()}plot(){this.dom.plotDiv.selectAll("*").remove();if(this.data.lst.length==0)return;const t=1300;const e=650;this.svg=this.dom.plotDiv.append("div").style("display","inline-block").append("svg").attr("width",t).attr("height",e);this.tableDiv=this.dom.plotDiv.append("div").style("display","inline-block").style("vertical-align","top").style("margin-top","45px");this.svg.append("text").attr("transform",`translate(110, ${e-30})`).attr("font-weight","bold").text(this.config[this.config.plot].title);const s=this.radius;const o=370;const r=300;const i=this.svg.append("g").attr("transform",`translate(${o},${r})`);this.polarG=i;this.legendG=this.svg.append("g").attr("transform",`translate(${o+420},${r-180})`);this.filterG=this.svg.append("g").attr("transform",`translate(${o+420},${r+10})`);const n=[];const l=[{label:"Color"},{label:"Module"},{label:`Facility`},{label:"Global"}];for(let t=0;t<=10;t++)this.addPoligon(t*10);let p=0;const c=[],d=[];for(const t of this.terms){const e=p*this.angle-Math.PI/2;this.addData(e,p,d,true);const a=t.score.term.color;const o=[{color:a,disabled:true},{value:t.module},{value:this.getPercentage(t)}];this.addData(e,p,c,false);o.push({value:this.getPercentage(t,true)});n.push(o);p++;const r=e>Math.PI/2&&e<=3/2*Math.PI;let l=s*1.1*Math.cos(e);let h=s*1.1*Math.sin(e)-10;const f=i.append("text").attr("x",`${l}px`).attr("y",`${h}px`);const m=t.module.split(" ");let g;m.forEach(((t,e)=>{if(t!="and"){h+=15;g=f.append("tspan").attr("x",`${l}px`).attr("y",`${h}px`).text(t+"")}else g.append("tspan").text(" and")}));if(r)f.attr("text-anchor","end")}if(this.settings.showTable)a({rows:n,columns:l,div:this.tableDiv,showLines:true,resize:true,maxHeight:"60vh"});c.push(c[0]);d.push(d[0]);const h="gray",f="blue";i.append("g").append("path").style("stroke",h).attr("fill","none").style("stroke-dasharray","5, 5").attr("stroke-width","2px").attr("d",this.lineGenerator(c));if(this.state.logged){i.append("g").append("path").style("stroke",f).attr("fill","none").attr("stroke-width","2px").attr("d",this.lineGenerator(d))}for(let t=0;t<=10;t++){const e=t*10;i.append("text").attr("transform",`translate(-10, ${-e/100*s+5})`).attr("text-anchor","end").style("font-size","0.8rem").text(`${e}%`).attr("pointer-events","none")}this.addFilterLegend();this.legendG.append("text").attr("text-anchor","left").style("font-weight","bold").text("Legend");const m=this.sites.find((t=>t.value==this.settings.site)).label;this.addLegendItem(m,f,0,"none");this.addLegendItem(this.config[this.config.plot].score,h,1,"5, 5")}addData(t,e,s,a){const o=this.terms[e];const r=a?this.getPercentage(o):this.getPercentage(o,true);const i=r/100*this.radius;let n=i*Math.cos(t);let l=i*Math.sin(t);const p=a?"blue":"#aaa";const c=this.polarG.append("g").attr("transform",`translate(${n}, ${l})`).append("circle").attr("r",4).attr("fill",p).on("click",(t=>this.onMouseOver(t)));s.push([n,l]);c.datum({module:o.module,percentage:r})}addPoligon(t){const e=[];for(let s=0;s<this.terms.length;s++){const a=s*this.angle-Math.PI/2;const o=t/100*this.radius;const r=o*Math.cos(a);const i=o*Math.sin(a);e.push([r,i])}e.push(e[0]);this.polarG.append("g").append("path").style("stroke","#aaa").attr("fill","none").attr("d",this.lineGenerator(e)).style("opacity","0.5")}addLegendItem(t,e,s,a){const o=25;const r=o+s*o;const i=35;this.legendG.append("path").attr("stroke",e).style("stroke-dasharray",a).attr("stroke-width","2px").attr("d",this.lineGenerator([[0,r-5],[i,r-5]]));this.legendG.append("g").attr("transform",`translate(${0}, ${r-5})`).append("circle").attr("r",4).attr("fill",e);const n=this.legendG.append("text").attr("font-size","0.9em").attr("transform",`translate(${i+5}, ${r})`).attr("text-anchor","left");n.append("tspan").text(t)}onMouseOver(t){if(t.target.tagName=="circle"){const e=t.target;const s=e.__data__;const a=this.tip.clear();const o=s.percentage;a.d.text(`${s.module} ${o}%`);a.show(t.clientX,t.clientY,true,true)}else this.onMouseOut(t)}onMouseOut(t){this.tip.hide()}}async function p(e,a){try{const i=a.vocabApi.termdbConfig?.chartConfigByType?.profileRadarFacility;if(!i)throw"default config not found in termdbConfig.chartConfigByType.profileRadarFacility";let n=t(structuredClone(i),e);const l=o();n.settings={profileRadarFacility:l,controls:{isOpen:false}};const p=n[e.plot].terms;const c=[];for(const t of p){t.score.q=t.maxScore.q={mode:"continuous"};c.push(t.score);c.push(t.maxScore)}await s(c,a.vocabApi);await r(n,a);return n}catch(t){throw`${t} [profileRadarFacility getPlotConfig()]`}}const c=e(l);const d=c;export{d as componentInit,p as getPlotConfig,c as profileRadarFacilityInit};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{P as t,h as o}from"./app-a8c4854a.js";import"./roundValue-b0d0517c.js";import{getDefaultProfilePlotSettings as s,loadFilterTerms as i,profilePlot as r}from"./profilePlot-9ca577cb.js";import"./tslib.es6-1f85f553.js";import"path";import"./svg.download-86850940.js";import"./FilterRxComp-242f4615.js";import"./table-79e3e776.js";import"./termdb.bins-9faa5170.js";import"./controls-0bacec22.js";import"./controls.btns-1cb2bfab.js";import"./controls.config-0ccc9d79.js";import"./controls.overlay-fe20d41d.js";import"./controls.term1-faa2efcf.js";import"./controls.divide-a9fe9466.js";import"./recover-36ada47f.js";import"./FilterStateless-046081c2.js";import"./app-ade9c62a.js";import"./termInfo-f851b415.js";import"./toggleButtons-002aeda1.js";import"./genesearch-ea59f5d4.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";class e extends r{constructor(){super();this.type="profileSummary";this.twLst=[]}async init(t){await super.init(t);t.plots.find((t=>t.id===this.id))}async main(){await super.main();await this.setControls();this.plot()}plot(){const t=this.config;this.dom.plotDiv.selectAll("*").remove();const o=1100;const s=600;this.svg=this.dom.plotDiv.append("div").style("display","inline-block").append("svg").attr("width",o).attr("height",s);this.dom.tableDiv=this.dom.plotDiv.append("div").style("display","inline-block").style("vertical-align","top").style("margin-top","45px");this.svg.append("text").attr("transform",`translate(150, ${s-40})`).attr("font-weight","bold").text(t.title);const i=300;const r=280;const e=this.svg.append("g").attr("transform",`translate(${i},${r})`);this.mainG=e;this.legendG=this.svg.append("g").attr("transform",`translate(${i+280}, ${r-200})`);this.filterG=this.svg.append("g").attr("transform",`translate(${i+280},${r-80})`)}}async function a(o,r){try{const e=r.vocabApi.termdbConfig?.chartConfigByType?.profileSummary;if(!e)throw"default config not found in termdbConfig.chartConfigByType.profileSummary";const a=t(structuredClone(e),o);const n=s();a.settings={profileSummary:n,controls:{isOpen:false}};await i(a,r);return a}catch(t){throw`${t} [profileSummary getPlotConfig()]`}}const n=o(e);const p=n;export{p as componentInit,a as getPlotConfig,n as profileSummaryInit};
|