@sjcrh/proteinpaint-client 2.77.0 → 2.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/{2dmaf-acb8cfdd.js → 2dmaf-7dddba15.js} +1 -1
  2. package/dist/{AppHeader-315dbd3a.js → AppHeader-67cea623.js} +1 -1
  3. package/dist/{ColorScale-4b4ea8a2.js → ColorScale-7a36cc17.js} +1 -1
  4. package/dist/{DEanalysis-28ddd620.js → DEanalysis-417e1f88.js} +1 -1
  5. package/dist/{Disco-3c427131.js → Disco-30abd4cb.js} +1 -1
  6. package/dist/{Disco.UI-b071cf7a.js → Disco.UI-ea58ee03.js} +1 -1
  7. package/dist/{DragControls-7961799c.js → DragControls-a5072cfd.js} +1 -1
  8. package/dist/{DziViewer-aa5b5706.js → DziViewer-af3c5a76.js} +1 -1
  9. package/dist/FilterRxComp-cb149666.js +1 -0
  10. package/dist/FilterStateless-bdd1416d.js +1 -0
  11. package/dist/{HicApp-674a148d.js → HicApp-fe8682af.js} +1 -1
  12. package/dist/{OrbitControls-58ca2292.js → OrbitControls-0d20d46b.js} +1 -1
  13. package/dist/{WSIViewer-afe97e2e.js → WSIViewer-64e55fb8.js} +1 -1
  14. package/dist/{adSandbox-791d704e.js → adSandbox-5753745b.js} +1 -1
  15. package/dist/app-488d9fd6.js +1 -0
  16. package/dist/{app-bd9f016b.js → app-5aa892cb.js} +1 -1
  17. package/dist/app-d9433820.js +1 -0
  18. package/dist/app.js +1 -1
  19. package/dist/bam-4e0df8b6.js +1 -0
  20. package/dist/{barchart-e3dcfc5f.js → barchart-687ae584.js} +1 -1
  21. package/dist/{barchart.events-cecb7bf5.js → barchart.events-9e2c1acf.js} +1 -1
  22. package/dist/{bars.renderer-58e38632.js → bars.renderer-95f7250f.js} +1 -1
  23. package/dist/{block-944afb9f.js → block-2f22e7fd.js} +1 -1
  24. package/dist/block.lazyload-143ae987.js +1 -0
  25. package/dist/{block.legend-3dbc41a8.js → block.legend-aa831169.js} +1 -1
  26. package/dist/{block.mds-b3967ce5.js → block.mds-64d95cf9.js} +1 -1
  27. package/dist/{block.mds.cnv-6de3115e.js → block.mds.cnv-2520897d.js} +1 -1
  28. package/dist/{block.mds.expressionrank-553613e8.js → block.mds.expressionrank-582ed7bc.js} +1 -1
  29. package/dist/{block.mds.expressionstat-2c396bb9.js → block.mds.expressionstat-483c9bc9.js} +1 -1
  30. package/dist/{block.mds.geneboxplot-552fe571.js → block.mds.geneboxplot-c1276cba.js} +1 -1
  31. package/dist/{block.mds.junction-1e25c13d.js → block.mds.junction-4a132819.js} +1 -1
  32. package/dist/{block.mds.svcnv-462d762d.js → block.mds.svcnv-a532eca7.js} +1 -1
  33. package/dist/{block.mds.svcnv.share-766e4b22.js → block.mds.svcnv.share-6575b7cf.js} +1 -1
  34. package/dist/{block.mds2-6e04432d.js → block.mds2-9ce41a23.js} +1 -1
  35. package/dist/{block.svg-40b47da8.js → block.svg-adb13c76.js} +1 -1
  36. package/dist/{block.tk.aicheck-cc42cbaf.js → block.tk.aicheck-ef6b634b.js} +1 -1
  37. package/dist/{block.tk.ase-da848c5f.js → block.tk.ase-1b119031.js} +1 -1
  38. package/dist/{block.tk.bam-8053c97e.js → block.tk.bam-2aa824aa.js} +1 -1
  39. package/dist/{block.tk.bedgraphdot-79cb0faf.js → block.tk.bedgraphdot-983fe4b3.js} +1 -1
  40. package/dist/{block.tk.bigwig.ui-a8decec7.js → block.tk.bigwig.ui-fb6401ee.js} +1 -1
  41. package/dist/{block.tk.hicstraw-3d1e9d41.js → block.tk.hicstraw-c6732591.js} +1 -1
  42. package/dist/{block.tk.junction-81eae755.js → block.tk.junction-429b654c.js} +1 -1
  43. package/dist/{block.tk.junction.textmatrixui-4c45b69a.js → block.tk.junction.textmatrixui-15bd752c.js} +1 -1
  44. package/dist/{block.tk.ld-997fca31.js → block.tk.ld-fba14536.js} +1 -1
  45. package/dist/{block.tk.menu-d3e7ccbb.js → block.tk.menu-1299ae5e.js} +1 -1
  46. package/dist/{block.tk.pgv-ae1d1f59.js → block.tk.pgv-c946527f.js} +1 -1
  47. package/dist/{boxplot-fed0a86b.js → boxplot-dbf30a19.js} +1 -1
  48. package/dist/{brainImaging-b455fd0c.js → brainImaging-b2865ba3.js} +1 -1
  49. package/dist/{brush-06989a5e.js → brush-1a123226.js} +1 -1
  50. package/dist/{categorical-82722704.js → categorical-f67752ed.js} +1 -1
  51. package/dist/{condition-f68cc8d1.js → condition-dcc70001.js} +1 -1
  52. package/dist/{controls-1d99916a.js → controls-f4648f7f.js} +1 -1
  53. package/dist/controls.btns-26bb6ef1.js +1 -0
  54. package/dist/{controls.config-00ce9f0b.js → controls.config-9870bdea.js} +1 -1
  55. package/dist/{cuminc-879690b0.js → cuminc-2273cdd3.js} +1 -1
  56. package/dist/{customdata.inputui-c563c695.js → customdata.inputui-fb1b24dc.js} +1 -1
  57. package/dist/{dataDownload-087ac205.js → dataDownload-b94871d0.js} +1 -1
  58. package/dist/{databrowser.ui-9f98f6b3.js → databrowser.ui-8ace51c3.js} +1 -1
  59. package/dist/{density-e0aff1d0.js → density-e023c28f.js} +1 -1
  60. package/dist/{dictionary-fe0ea1d6.js → dictionary-321e19f9.js} +1 -1
  61. package/dist/{drag-e11d6644.js → drag-1b98e43e.js} +1 -1
  62. package/dist/{e2pca-b3250d5c.js → e2pca-00e78fdc.js} +1 -1
  63. package/dist/{ep-9ca01df0.js → ep-b0d6177c.js} +1 -1
  64. package/dist/{facet-397afad5.js → facet-26292a3d.js} +1 -1
  65. package/dist/{filter-b3d3964e.js → filter-67d51c09.js} +1 -1
  66. package/dist/{fusion.parse-e5312047.js → fusion.parse-7e3a6071.js} +1 -1
  67. package/dist/{geneExpClustering-4383ff2c.js → geneExpClustering-a2cf1bb9.js} +1 -1
  68. package/dist/{geneExpression-52678025.js → geneExpression-d1d5a7ca.js} +1 -1
  69. package/dist/{geneExpression-cfb86b5d.js → geneExpression-dc10af2c.js} +1 -1
  70. package/dist/{geneExpression-2422f66b.js → geneExpression-e4a5a2cd.js} +1 -1
  71. package/dist/{geneORA-81220ec0.js → geneORA-248baba7.js} +1 -1
  72. package/dist/{geneVariant-18f9591a.js → geneVariant-447d6af9.js} +1 -1
  73. package/dist/{geneVariant-4d22b146.js → geneVariant-7366f3d1.js} +1 -1
  74. package/dist/{genefusion.ui-e38778dd.js → genefusion.ui-e219424a.js} +1 -1
  75. package/dist/{genesearch-0587c713.js → genesearch-d8780180.js} +1 -1
  76. package/dist/{geneset-604d0529.js → geneset-1f67d4c9.js} +1 -1
  77. package/dist/genomeBrowser-52c639b4.js +1 -0
  78. package/dist/{genomeBrowser.controls-204f007e.js → genomeBrowser.controls-3a7a1c94.js} +1 -1
  79. package/dist/{groupsetting-53dfd5e5.js → groupsetting-697a1503.js} +1 -1
  80. package/dist/{gsea-a1b04406.js → gsea-d3286c53.js} +1 -1
  81. package/dist/hierCluster-00268175.js +1 -0
  82. package/dist/{html.legend-6807e9ad.js → html.legend-0abd27ff.js} +1 -1
  83. package/dist/{imagePlot-f96cdc61.js → imagePlot-f6398b6e.js} +1 -1
  84. package/dist/{lasso-845446b8.js → lasso-48317f42.js} +1 -1
  85. package/dist/launch.adhoc-98dc0421.js +1 -0
  86. package/dist/{leftlabel.sample-3a6037c2.js → leftlabel.sample-591bc38d.js} +1 -1
  87. package/dist/legacyDataset-354f1a29.js +1 -0
  88. package/dist/{log-0ea548ec.js → log-1001ca83.js} +1 -1
  89. package/dist/{lollipop-75e11e9a.js → lollipop-40c4c5cb.js} +1 -1
  90. package/dist/{maf-e4af10d7.js → maf-10526648.js} +1 -1
  91. package/dist/{maftimeline-cc2e866c.js → maftimeline-a77349ad.js} +1 -1
  92. package/dist/matrix-1190d4b3.js +1 -0
  93. package/dist/matrix-bc0ccf83.js +1 -0
  94. package/dist/{mavb-b2dd74f6.js → mavb-0d28dd97.js} +1 -1
  95. package/dist/{mds.fimo-f19840cd.js → mds.fimo-929b9e65.js} +1 -1
  96. package/dist/{mds.samplescatterplot-254f1de6.js → mds.samplescatterplot-5a4ee6b6.js} +1 -1
  97. package/dist/{mds.survivalplot-f440db10.js → mds.survivalplot-b04947ee.js} +1 -1
  98. package/dist/metaboliteIntensity-f407ad0c.js +1 -0
  99. package/dist/niceNumLabels-621ef5c3.js +1 -0
  100. package/dist/{nodrag-f6c0801c.js → nodrag-b2866dd8.js} +1 -1
  101. package/dist/{notify-da3afe99.js → notify-91f0bc5d.js} +1 -1
  102. package/dist/{numeric-1d0318e8.js → numeric-eb1d29b3.js} +1 -1
  103. package/dist/{numeric.binary-88bf9e0d.js → numeric.binary-da92d665.js} +1 -1
  104. package/dist/numeric.continuous-92d1dea8.js +1 -0
  105. package/dist/numeric.discrete-cd8f09b1.js +1 -0
  106. package/dist/{numeric.spline-b3968b77.js → numeric.spline-9a9987b6.js} +1 -1
  107. package/dist/{numeric.toggle-ab8b79be.js → numeric.toggle-8f68f077.js} +1 -1
  108. package/dist/{oncomatrix-5f4326a8.js → oncomatrix-c29e6de9.js} +1 -1
  109. package/dist/{parseData-62083461.js → parseData-3bf0ef9f.js} +1 -1
  110. package/dist/{plot.2dvaf-eccd8ef3.js → plot.2dvaf-9e59c7d1.js} +1 -1
  111. package/dist/plot.app-fc3608a9.js +1 -0
  112. package/dist/plot.barplot-122296f7.js +1 -0
  113. package/dist/{plot.boxplot-0c538ebe.js → plot.boxplot-99c5aac5.js} +1 -1
  114. package/dist/{plot.brainImaging-ee3a0272.js → plot.brainImaging-a7bb79d6.js} +1 -1
  115. package/dist/{plot.disco-c9249cbd.js → plot.disco-ccdf741c.js} +1 -1
  116. package/dist/{plot.dzi-dfd72ddf.js → plot.dzi-aafdf56b.js} +1 -1
  117. package/dist/plot.ssgq-146075f5.js +1 -0
  118. package/dist/{plot.vaf2cov-4081decd.js → plot.vaf2cov-41e13dd9.js} +1 -1
  119. package/dist/{plot.wsi-f6325d95.js → plot.wsi-2327ad63.js} +1 -1
  120. package/dist/{profileBarchart-f4da0483.js → profileBarchart-46616916.js} +1 -1
  121. package/dist/profileHome-121aaddb.js +1 -0
  122. package/dist/profilePlot-a2591a28.js +1 -0
  123. package/dist/{profilePolar-996784ad.js → profilePolar-006a56b1.js} +1 -1
  124. package/dist/{profileRadar-79299186.js → profileRadar-3320d932.js} +1 -1
  125. package/dist/{profileRadarFacility-00e31213.js → profileRadarFacility-7a9cea80.js} +1 -1
  126. package/dist/{profileSummary-df75e6ff.js → profileSummary-7a747b4e.js} +1 -1
  127. package/dist/recover-edcdde38.js +1 -0
  128. package/dist/{regression.inputs-e647b716.js → regression.inputs-d5d44e49.js} +1 -1
  129. package/dist/{regression.inputs.values.table-b283619d.js → regression.inputs.values.table-daf7bcda.js} +1 -1
  130. package/dist/regression.results-31a8884d.js +1 -0
  131. package/dist/{renderPvalueTable-0ed37e90.js → renderPvalueTable-05c29ccf.js} +1 -1
  132. package/dist/sampleScatter-f6c04130.js +1 -0
  133. package/dist/{sampleScatter.rendererThree-aa51e3c8.js → sampleScatter.rendererThree-448689c6.js} +2 -2
  134. package/dist/{sampleView-e4819da2.js → sampleView-0931e571.js} +1 -1
  135. package/dist/{samplelst-9d9ff205.js → samplelst-27115b0e.js} +1 -1
  136. package/dist/{samplematrix-3556e5c0.js → samplematrix-2bb2480b.js} +1 -1
  137. package/dist/{scatter-ff17f653.js → scatter-a8d7c2a0.js} +1 -1
  138. package/dist/select2Terms-480025f5.js +1 -0
  139. package/dist/{selectGenomeWithTklst-84f4ff79.js → selectGenomeWithTklst-71344af2.js} +1 -1
  140. package/dist/{singleCellCellType-a2ce9bfa.js → singleCellCellType-b4061c59.js} +1 -1
  141. package/dist/{singleCellGeneExpression-a2b45c7a.js → singleCellGeneExpression-547149f2.js} +1 -1
  142. package/dist/singleCellPlot-2f5ad46a.js +1 -0
  143. package/dist/{singlecell-a5b8a39b.js → singlecell-1c3bee25.js} +1 -1
  144. package/dist/{singlecell-63cb06d8.js → singlecell-281a74a6.js} +1 -1
  145. package/dist/snp-32b8cbd8.js +1 -0
  146. package/dist/{snp-6e312b4c.js → snp-6bbefa83.js} +1 -1
  147. package/dist/snplocus-84450f3d.js +1 -0
  148. package/dist/{spliceevent.a53ss.diagram-aa2df5d7.js → spliceevent.a53ss.diagram-c04f46f1.js} +1 -1
  149. package/dist/{spliceevent.exonskip.diagram-0b792984.js → spliceevent.exonskip.diagram-a514c12e.js} +1 -1
  150. package/dist/spliceevent.exonskip.getdefault-a9a45dfc.js +1 -0
  151. package/dist/{spliceevent.noeventdiagram-e6e29a6e.js → spliceevent.noeventdiagram-b1be922c.js} +1 -1
  152. package/dist/{spliceevent.phrase-5f65a5f4.js → spliceevent.phrase-57659f7c.js} +1 -1
  153. package/dist/{stattable-775a5af5.js → stattable-7fa50fd2.js} +1 -1
  154. package/dist/{style.gdc-519a42d8.js → style.gdc-6b6a2e0c.js} +1 -1
  155. package/dist/{summary-5866c75f.js → summary-54587ccf.js} +1 -1
  156. package/dist/{sunburst-f928bfd2.js → sunburst-c24faf27.js} +1 -1
  157. package/dist/{survival-405514f6.js → survival-21e6637b.js} +1 -1
  158. package/dist/survival-538cddc2.js +1 -0
  159. package/dist/{svg.download-cd895635.js → svg.download-0dd56dfd.js} +1 -1
  160. package/dist/{svg.legend-812ea603.js → svg.legend-21629769.js} +1 -1
  161. package/dist/{svgraph-037fd7b6.js → svgraph-76e34d5e.js} +1 -1
  162. package/dist/{svmr-3bd143c3.js → svmr-89b80ea2.js} +1 -1
  163. package/dist/table-10183501.js +1 -0
  164. package/dist/{table-e013d8fc.js → table-bb97b5c9.js} +1 -1
  165. package/dist/{termInfo-e16f90f2.js → termInfo-4d954045.js} +1 -1
  166. package/dist/termdb.bins-06fd21c1.js +1 -0
  167. package/dist/termsetting-c12f1c69.js +1 -0
  168. package/dist/{tk-25ae65c4.js → tk-b96367f7.js} +1 -1
  169. package/dist/{toggleButtons-2144daab.js → toggleButtons-bb9aca2f.js} +1 -1
  170. package/dist/{tp.ui-38bc5890.js → tp.ui-f01b186b.js} +1 -1
  171. package/dist/tvs.density-064e5767.js +1 -0
  172. package/dist/{tvs.geneVariant-f99fe353.js → tvs.geneVariant-3fac6bed.js} +1 -1
  173. package/dist/{tvs.numeric-d9108473.js → tvs.numeric-86aacc82.js} +1 -1
  174. package/dist/{tvs.samplelst-3b8ee998.js → tvs.samplelst-1b00d7b6.js} +1 -1
  175. package/dist/{uiUtils-57f4b1ba.js → uiUtils-5aad7e13.js} +1 -1
  176. package/dist/{variantBrowser-56ebc7e1.js → variantBrowser-2c465d02.js} +1 -1
  177. package/dist/{vcf-e43b533a.js → vcf-55bf2c83.js} +1 -1
  178. package/dist/{violin-1352dab2.js → violin-edbe9a63.js} +1 -1
  179. package/dist/violin.interactivity-57637244.js +1 -0
  180. package/dist/{violin.renderer-4273257d.js → violin.renderer-4cab7448.js} +1 -1
  181. package/dist/{violinRenderer-7f46e468.js → violinRenderer-24abe5fd.js} +1 -1
  182. package/dist/{viridis-87a8b605.js → viridis-8a8f3e12.js} +1 -1
  183. package/dist/{y-cac91178.js → y-6fe1bb7b.js} +1 -1
  184. package/dist/{zoom-001c2f01.js → zoom-6a36fb2b.js} +1 -1
  185. package/package.json +6 -5
  186. package/dist/FilterRxComp-e8de560c.js +0 -1
  187. package/dist/FilterStateless-75514d37.js +0 -1
  188. package/dist/app-3d14cbe4.js +0 -1
  189. package/dist/app-8b5b982a.js +0 -1
  190. package/dist/bam-fa90bae8.js +0 -1
  191. package/dist/block.lazyload-4c4e81ff.js +0 -1
  192. package/dist/controls.btns-237b3154.js +0 -1
  193. package/dist/genomeBrowser-9f0e8a60.js +0 -1
  194. package/dist/hierCluster-edaaacc5.js +0 -1
  195. package/dist/hierCluster.config-a84f69a3.js +0 -1
  196. package/dist/hierCluster.interactivity-dd917fd3.js +0 -1
  197. package/dist/hierCluster.renderers-4d33e96a.js +0 -1
  198. package/dist/launch.adhoc-cb00917b.js +0 -1
  199. package/dist/legacyDataset-c9bab1e6.js +0 -1
  200. package/dist/matrix-8b3341c4.js +0 -1
  201. package/dist/matrix.cells-4dd055e7.js +0 -1
  202. package/dist/matrix.cluster-7ab94fb5.js +0 -1
  203. package/dist/matrix.config-b3b56456.js +0 -1
  204. package/dist/matrix.controls-6e0e9692.js +0 -1
  205. package/dist/matrix.data-baabaf57.js +0 -1
  206. package/dist/matrix.dom-cb1f4872.js +0 -1
  207. package/dist/matrix.groups-9990aade.js +0 -1
  208. package/dist/matrix.interactivity-3f3cf44d.js +0 -1
  209. package/dist/matrix.layout-50bc2ea5.js +0 -1
  210. package/dist/matrix.legend-024e2d50.js +0 -1
  211. package/dist/matrix.renderers-1aed44e5.js +0 -1
  212. package/dist/matrix.serieses-dc18fcc2.js +0 -1
  213. package/dist/matrix.sort-89b98e83.js +0 -1
  214. package/dist/matrix.sorterUi-0ad98ef0.js +0 -1
  215. package/dist/metaboliteIntensity-4d905d93.js +0 -1
  216. package/dist/niceNumLabels-ef07b7ad.js +0 -1
  217. package/dist/numeric.continuous-d27197cf.js +0 -1
  218. package/dist/numeric.discrete-b826f33b.js +0 -1
  219. package/dist/plot.app-4dc30ebc.js +0 -1
  220. package/dist/plot.barplot-331715f6.js +0 -1
  221. package/dist/plot.ssgq-b5f68395.js +0 -1
  222. package/dist/profileHome-11b7d146.js +0 -1
  223. package/dist/profilePlot-5dd1fe71.js +0 -1
  224. package/dist/recover-4888c2a9.js +0 -1
  225. package/dist/regression.results-f61b4a25.js +0 -1
  226. package/dist/sampleScatter-b96546e9.js +0 -1
  227. package/dist/select2Terms-eb437c2a.js +0 -1
  228. package/dist/singleCellPlot-e7e57b0f.js +0 -1
  229. package/dist/snp-41aa88d1.js +0 -1
  230. package/dist/snplocus-0653ba82.js +0 -1
  231. package/dist/spliceevent.exonskip.getdefault-af1943e3.js +0 -1
  232. package/dist/survival-10dd3d28.js +0 -1
  233. package/dist/table-be2a9975.js +0 -1
  234. package/dist/termdb.bins-a60aaa77.js +0 -1
  235. package/dist/termsetting-7467350f.js +0 -1
  236. package/dist/tvs.density-060d3006.js +0 -1
  237. package/dist/violin.interactivity-2502dcd8.js +0 -1
@@ -0,0 +1 @@
1
+ import{_ as t}from"./tslib.es6-c3c2d88f.js";import{W as e,k as n}from"./app-488d9fd6.js";import{setDensityPlot as i}from"./density-e023c28f.js";import{g as s,a as r}from"./termdb.bins-06fd21c1.js";import{T as a}from"./toggleButtons-bb9aca2f.js";import{m as o}from"./radiobutton-09bff425.js";import{o as l}from"./termsetting-c12f1c69.js";import{convertViolinData as d}from"./tvs.numeric-86aacc82.js";import{v as u}from"./violinRenderer-24abe5fd.js";import"./drag-1b98e43e.js";import"./nodrag-b2866dd8.js";import"./pointer-c7475677.js";import"path";import"./tvs.density-064e5767.js";import"./brush-1a123226.js";import"./niceNumLabels-621ef5c3.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,r,a,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:(r=(s=e.vocabApi.state)===null||s===void 0?void 0:s.termfilter)===null||r===void 0?void 0:r.filter0,svgw:e.num_obj.plot_size.width/window.devicePixelRatio,strokeWidth:.2},(o=(a=e.opts).getBodyParams)===null||o===void 0?void 0:o.call(a));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 a=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=a[l].value;o.label=e?e:s(o,t.q,t.term.valueConversion);o.range=r(o,t.q)}o=d;return d}));if(u.length==0)return;o.stopunbounded=true;const p=(e=a[u.length])===null||e===void 0?void 0:e.value;o.label=p?p:s(o,t.q,t.term.valueConversion);o.range=r(o,t.q);u.unshift({startunbounded:true,stop:u[0].start,startinclusive:n,stopinclusive:i,label:a[0].value});if(!u[0].label)u[0].label=s(u[0],t.q,t.term.valueConversion);if(!u[0].range)u[0].range=r(u[0],t.q);return u}function y(t){var e,n;const i=t.num_obj.density_data;const a=t.numqByTermIdModeType;const o=t.term;if(!a[o.id])a[o.id]={};if(!a[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;a[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(!a[o.id].discrete["regular-bin"].type){a[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(a[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=r(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=r(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 &lt; "+e+" &le; end"},{value:"startinclusive",html:"start &le; "+e+" &lt; 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,r)=>t(this,void 0,void 0,(function*(){e.q.type="regular-bin";y(e);i(e);if(!s[0].isInitialized){q(e,r.contentHolder);s[0].isInitialized=true}}))},{active:e.q.type=="custom-bin",label:"Varying bin sizes",callback:(n,r)=>t(this,void 0,void 0,(function*(){e.q.type="custom-bin";y(e);i(e);if(!s[1].isInitialized){j(e,r.contentHolder);s[1].isInitialized=true}}))}];new a({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 r=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=r;return}if((s.maxvalue-s.minvalue)/n>100){window.alert("Bin size too small. Try setting a bigger value.");e.target.value=r;return}t.q.bin_size=n;t.dom.bin_size_input.style("color",t.q.bin_size>s.maxvalue-s.minvalue?"red":n!=r?"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 r=e.append("td").style("padding-left","15px").style("vertical-align","top");const a=r.append("div");o({holder:a,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",r).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;r.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 r(){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(a(n,i.lst)){i.lst=n;e.renderBinLines(e,i)}z(e,i.lst);e.q.lst=i.lst}function a(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 +1 @@
1
- import{_ as t}from"./tslib.es6-c3c2d88f.js";import{setDensityPlot as e}from"./density-e0aff1d0.js";import{k as n}from"./app-3d14cbe4.js";import{o}from"./termsetting-7467350f.js";import{convertViolinData as i}from"./tvs.numeric-d9108473.js";import{v as s}from"./violinRenderer-7f46e468.js";import"./termdb.bins-a60aaa77.js";import"./drag-e11d6644.js";import"./nodrag-f6c0801c.js";import"./pointer-c7475677.js";import"path";import"./tvs.density-060d3006.js";import"./brush-06989a5e.js";import"./niceNumLabels-ef07b7ad.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);y(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 y(t){const e=t.dom.knots_div.append("div");e.append("button").style("margin","5px").html("Apply").on("click",(()=>f(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 f(t){t.q.mode="spline";t.dom.tip.hide();t.runCallback()}export{l as getHandler};
1
+ import{_ as t}from"./tslib.es6-c3c2d88f.js";import{setDensityPlot as e}from"./density-e023c28f.js";import{k as n}from"./app-488d9fd6.js";import{o}from"./termsetting-c12f1c69.js";import{convertViolinData as i}from"./tvs.numeric-86aacc82.js";import{v as s}from"./violinRenderer-24abe5fd.js";import"./termdb.bins-06fd21c1.js";import"./drag-1b98e43e.js";import"./nodrag-b2866dd8.js";import"./pointer-c7475677.js";import"path";import"./tvs.density-064e5767.js";import"./brush-1a123226.js";import"./niceNumLabels-621ef5c3.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,c;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},(c=(a=n.opts).getBodyParams)===null||c===void 0?void 0:c.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);y(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);m(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=c(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 c(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 m(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 y(t){const e=t.dom.knots_div.append("div");e.append("button").style("margin","5px").html("Apply").on("click",(()=>f(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 f(t){t.q.mode="spline";t.dom.tip.hide();t.runCallback()}export{l as getHandler};
@@ -1 +1 @@
1
- import{_ as e}from"./tslib.es6-c3c2d88f.js";import{T as i}from"./toggleButtons-2144daab.js";import{o as t,c as n,s as r}from"./termsetting-7467350f.js";import{P as s}from"./app-3d14cbe4.js";import"path";function o(e){switch(e){case"./numeric.binary.ts":return import("./numeric.binary-88bf9e0d.js");case"./numeric.continuous.ts":return import("./numeric.continuous-d27197cf.js");case"./numeric.discrete.ts":return import("./numeric.discrete-b826f33b.js");case"./numeric.spline.ts":return import("./numeric.spline-b3968b77.js");case"./numeric.toggle.ts":return Promise.resolve().then((function(){return a}));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&nbsp;");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"&&!c(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 c(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 a=Object.freeze({__proto__:null,getHandler:u,fillTW:l});export{l as fillTW,u as getHandler};
1
+ import{_ as e}from"./tslib.es6-c3c2d88f.js";import{T as i}from"./toggleButtons-bb9aca2f.js";import{o as t,c as n,s as r}from"./termsetting-c12f1c69.js";import{P as s}from"./app-488d9fd6.js";import"path";function o(e){switch(e){case"./numeric.binary.ts":return import("./numeric.binary-da92d665.js");case"./numeric.continuous.ts":return import("./numeric.continuous-92d1dea8.js");case"./numeric.discrete.ts":return import("./numeric.discrete-cd8f09b1.js");case"./numeric.spline.ts":return import("./numeric.spline-9a9987b6.js");case"./numeric.toggle.ts":return Promise.resolve().then((function(){return a}));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&nbsp;");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"&&!c(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 c(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 a=Object.freeze({__proto__:null,getHandler:u,fillTW:l});export{l as fillTW,u as getHandler};
@@ -1 +1 @@
1
- import{appInit as t}from"./plot.app-4dc30ebc.js";import{d as e,P as r,b as i}from"./app-3d14cbe4.js";import{f as s}from"./termsetting-7467350f.js";import{v as a}from"./FilterRxComp-e8de560c.js";import"./recover-4888c2a9.js";import"./FilterStateless-75514d37.js";import"./app-bd9f016b.js";import"./termInfo-e16f90f2.js";import"./tslib.es6-c3c2d88f.js";import"./toggleButtons-2144daab.js";import"path";import"./table-be2a9975.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-a60aaa77.js";import"./genesearch-0587c713.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const o="hg38";const n="GDC";async function p(i,p,l){const m=l[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 l=await a({state:{vocab:{genome:o,dslabel:n}}});l.getTermdbConfig();const f=await t({holder:e(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(t){if(t.type.startsWith("plot_"))return t.id===this.id;if(t.type.startsWith("filter"))return true;if(t.type=="app_refresh")return true},showWaitMessage(t){t.style("margin","20px");t.append("div").text("Loading the top mutated genes in the current cohort...")},async callback(t,e){if(!t)return;g=t;if(!d){const t=f.getState().plots.find((t=>t.chartType=="matrix"));if(t)d=f.getComponents(`plots.${t.id}`)}const r=[...i.termgroups||[],{lst:e}];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(t){return t.plots[0]?.chartType!="matrix"},adjustTrackedState:t=>{const e=structuredClone(t);delete e.termfilter.filter0;if(e.plots){for(const t of e.plots){if(!t.termgroups)continue;for(const e of t.termgroups){if(!e.lst)continue;for(const t of e.lst){if(!t?.term)continue;delete t.term.category2samplecount;delete t.term.values}}}}return e}},matrix:r({reactsTo(t){if(t.type.startsWith("plot_"))return t.id===this.id;if(t.type.startsWith("filter"))return true;if(t.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 t=>{for(const t in i.opts?.app?.callbacks){if(t.startsWith("preDispatch")){i.opts?.app?.callbacks[t]();break}}const e=await c(i,{maxGenes:t,geneFilter:p.matrix.geneFilter},l);u.update({termgroups:[{lst:e}],settings:{matrix:{maxGenes:t}}})}}]},callbacks:{"firstRender.gdcMatrix":async t=>{t.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 t=>{if(!d){const t=f.getState().plots.find((t=>t.chartType=="matrix"));if(t)d=f.getComponents(`plots.${t.id}`)}if(t.genes){f.dispatch({type:"plot_edit",id:d.id,config:{termgroups:[{lst:await Promise.all(t.genes.map((async t=>await s({term:{gene:t.gene,type:"geneVariant",name:t.gene}},l))))}]}})}else if("filter0"in t){f.dispatch({type:"filter_replace",filter0:t.filter0})}else if(d){f.dispatch({type:"plot_edit",id:d.id,config:t})}}};return u}catch(t){throw t}}async function c(t,e,r){const a={maxGenes:e.maxGenes,geneFilter:e.geneFilter};if(t.filter0)a.filter0=t.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 t=>await s({term:{gene:t.gene,type:"geneVariant"}},r))))}export{p as init};
1
+ import{appInit as t}from"./plot.app-fc3608a9.js";import{d as e,P as r,b as i}from"./app-488d9fd6.js";import{f as s}from"./termsetting-c12f1c69.js";import{v as a}from"./FilterRxComp-cb149666.js";import"./recover-edcdde38.js";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./tslib.es6-c3c2d88f.js";import"./toggleButtons-bb9aca2f.js";import"path";import"./table-10183501.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./genesearch-d8780180.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";const o="hg38";const n="GDC";async function p(i,p,l){const m=l[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 l=await a({state:{vocab:{genome:o,dslabel:n}}});l.getTermdbConfig();const f=await t({holder:e(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(t){if(t.type.startsWith("plot_"))return t.id===this.id;if(t.type.startsWith("filter"))return true;if(t.type=="app_refresh")return true},showWaitMessage(t){t.style("margin","20px");t.append("div").text("Loading the top mutated genes in the current cohort...")},async callback(t,e){if(!t)return;g=t;if(!d){const t=f.getState().plots.find((t=>t.chartType=="matrix"));if(t)d=f.getComponents(`plots.${t.id}`)}const r=[...i.termgroups||[],{lst:e}];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(t){return t.plots[0]?.chartType!="matrix"},adjustTrackedState:t=>{const e=structuredClone(t);delete e.termfilter.filter0;if(e.plots){for(const t of e.plots){if(!t.termgroups)continue;for(const e of t.termgroups){if(!e.lst)continue;for(const t of e.lst){if(!t?.term)continue;delete t.term.category2samplecount;delete t.term.values}}}}return e}},matrix:r({reactsTo(t){if(t.type.startsWith("plot_"))return t.id===this.id;if(t.type.startsWith("filter"))return true;if(t.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 t=>{for(const t in i.opts?.app?.callbacks){if(t.startsWith("preDispatch")){i.opts?.app?.callbacks[t]();break}}const e=await c(i,{maxGenes:t,geneFilter:p.matrix.geneFilter},l);u.update({termgroups:[{lst:e}],settings:{matrix:{maxGenes:t}}})}}]},callbacks:{"firstRender.gdcMatrix":async t=>{t.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 t=>{if(!d){const t=f.getState().plots.find((t=>t.chartType=="matrix"));if(t)d=f.getComponents(`plots.${t.id}`)}if(t.genes){f.dispatch({type:"plot_edit",id:d.id,config:{termgroups:[{lst:await Promise.all(t.genes.map((async t=>await s({term:{gene:t.gene,type:"geneVariant",name:t.gene}},l))))}]}})}else if("filter0"in t){f.dispatch({type:"filter_replace",filter0:t.filter0})}else if(d){f.dispatch({type:"plot_edit",id:d.id,config:t})}}};return u}catch(t){throw t}}async function c(t,e,r){const a={maxGenes:e.maxGenes,geneFilter:e.geneFilter};if(t.filter0)a.filter0=t.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 t=>await s({term:{gene:t.gene,type:"geneVariant"}},r))))}export{p as init};
@@ -1 +1 @@
1
- import{_ as r}from"./tslib.es6-c3c2d88f.js";import{aj as e,q as i,a7 as t}from"./app-3d14cbe4.js";function n(e,n,o=[]){return r(this,void 0,void 0,(function*(){if(n)window["hic"]=e;if(e.tklst){const r=[];for(const i of e.tklst){if(!i.type){o.push("type missing from one of the tracks accompanying HiC")}else{i.iscustom=true;r.push(i)}}if(r.length){e.tklst=r}else{delete e.tklst}}if(e.enzyme){if(e.genome.hicenzymefragment){let r=null;for(const i of e.genome.hicenzymefragment){if(i.enzyme==e.enzyme){r=i;break}}if(r){e.enzymefile=r.file}else{o.push("unknown enzyme: "+e.enzyme);delete e.enzyme}}else{o.push("no enzyme fragment information available for this genome");delete e.enzyme}}try{if(e.sv&&e.sv.file){const r=yield i(e.hostURL+"/textfile",{method:"POST",body:JSON.stringify({file:e.sv.file,jwt:e.jwt})});const t=r.json();const[n,o,a]=s(t.text);if(n)throw{message:"Error parsing SV: "+n};e.sv.header=o;e.sv.items=a}const r=yield t("hicstat?"+(e.file?"file="+e.file:"url="+e.url));if(r.error){o.push(r.error);return}const n=f(e,r.out);if(n)throw{message:n}}catch(r){o.push(r.message||r);if(r.stack){console.log(r.stack)}}return e}))}function s(r){const e=r.trim().split(/\r?\n/);const[i,t]=o(e[0]);if(i)return["header error: "+i];const n=[];for(let r=1;r<e.length;r++){const i=e[r];if(i[0]=="#")continue;const[s,o]=a(i,t);if(s)return["line "+(r+1)+" error: "+s];n.push(o)}return[null,t,n]}function o(r){const e=r.toLowerCase().split("\t");if(e.length<=1)return"invalid file header for fusions";const i=(...r)=>{for(const i of r){const r=e.indexOf(i);if(r!=-1)return r}return-1};let t=i("chr_a","chr1","chra");if(t==-1)return"chr_A missing from header";e[t]="chr1";t=i("chr_b","chr2","chrb");if(t==-1)return"chr_B missing from header";e[t]="chr2";t=i("pos_a","position_a","position1","posa");if(t==-1)return"pos_a missing from header";e[t]="position1";t=i("pos_b","position_b","position2","posb");if(t==-1)return"pos_b missing from header";e[t]="position2";t=i("strand_a","orta","orienta");if(t==-1)return"strand_a missing from header";e[t]="strand1";t=i("strand_b","ortb","orientb");if(t==-1)return"strand_b missing from header";e[t]="strand2";t=i("numreadsa");if(t!=-1)e[t]="reads1";t=i("numreadsb");if(t!=-1)e[t]="reads2";return[null,e]}function a(r,e){const i=r.split("\t");const t={};for(let r=0;r<e.length;r++){t[e[r]]=i[r]}if(!t.chr1)return["missing chr1"];if(t.chr1.toLowerCase().indexOf("chr")!=0){t.chr1="chr"+t.chr1}if(!t.chr2)return["missing chr2"];if(t.chr2.toLowerCase().indexOf("chr")!=0){t.chr2="chr"+t.chr2}if(!t.position1)return["missing position1"];let n=Number.parseInt(t.position1);if(Number.isNaN(n)||n<=0)return["position1 invalid value"];t.position1=n;if(!t.position2)return["missing position2"];n=Number.parseInt(t.position2);if(Number.isNaN(n)||n<=0)return["position2 invalid value"];t.position2=n;if(t.reads1){n=Number.parseInt(t.reads1);if(Number.isNaN(n))return["reads1 invalid value"];t.reads1=n}if(t.reads2){n=Number.parseInt(t.reads2);if(Number.isNaN(n))return["reads2 invalid value"];t.reads2=n}return[null,t]}function f(r,i){if(!i)return"cannot stat hic file";r.normalization=i.normalization;r.version=i.version;if(!i.Chromosomes)return"Chromosomes not found in file stat";if(!Array.isArray(i.chrorder))return".chrorder[] missing";if(i.chrorder.length==0)return".chrorder[] empty array";r.chrorder=i.chrorder;if(!i["Base pair-delimited resolutions"])return"Base pair-delimited resolutions not found in file stat";if(!Array.isArray(i["Base pair-delimited resolutions"]))return"Base pair-delimited resolutions should be array";r.bpresolution=i["Base pair-delimited resolutions"];if(!i["Fragment-delimited resolutions"])return"Fragment-delimited resolutions not found in file stat";if(!Array.isArray(i["Fragment-delimited resolutions"]))return"Fragment-delimited resolutions is not array";r.fragresolution=i["Fragment-delimited resolutions"];const t=[];for(const r in i.Chromosomes){t.push(r)}const[n,s]=e(r.genome,t);if(n+s==0)return"chromosome names do not match with genome build";if(n>0){r.nochr=true;for(let e=0;e<r.chrorder.length;e++)r.chrorder[e]="chr"+r.chrorder[e]}r.chrlst=[];for(const e of r.genome.majorchrorder){const i=r.nochr?e.replace("chr",""):e;if(t.indexOf(i)!=-1){r.chrlst.push(e)}}}function l(r){const e=new Map;let i=null,t;for(const n of r){if(!n.rest||!n.rest[0]){return["items[].rest data problem"]}const r=Number.parseInt(n.rest[0]);if(Number.isNaN(r)){return[n.start+"."+n.stop+" invalid fragment id: "+n.rest[0]]}e.set(r,[n.start,n.stop]);if(i==null){i=r;t=r}else{i=Math.min(i,r);t=Math.max(t,r)}}return[null,e,i,t]}export{f as a,l as b,n as h};
1
+ import{_ as r}from"./tslib.es6-c3c2d88f.js";import{aj as e,q as i,a7 as t}from"./app-488d9fd6.js";function n(e,n,o=[]){return r(this,void 0,void 0,(function*(){if(n)window["hic"]=e;if(e.tklst){const r=[];for(const i of e.tklst){if(!i.type){o.push("type missing from one of the tracks accompanying HiC")}else{i.iscustom=true;r.push(i)}}if(r.length){e.tklst=r}else{delete e.tklst}}if(e.enzyme){if(e.genome.hicenzymefragment){let r=null;for(const i of e.genome.hicenzymefragment){if(i.enzyme==e.enzyme){r=i;break}}if(r){e.enzymefile=r.file}else{o.push("unknown enzyme: "+e.enzyme);delete e.enzyme}}else{o.push("no enzyme fragment information available for this genome");delete e.enzyme}}try{if(e.sv&&e.sv.file){const r=yield i(e.hostURL+"/textfile",{method:"POST",body:JSON.stringify({file:e.sv.file,jwt:e.jwt})});const t=r.json();const[n,o,a]=s(t.text);if(n)throw{message:"Error parsing SV: "+n};e.sv.header=o;e.sv.items=a}const r=yield t("hicstat?"+(e.file?"file="+e.file:"url="+e.url));if(r.error){o.push(r.error);return}const n=f(e,r.out);if(n)throw{message:n}}catch(r){o.push(r.message||r);if(r.stack){console.log(r.stack)}}return e}))}function s(r){const e=r.trim().split(/\r?\n/);const[i,t]=o(e[0]);if(i)return["header error: "+i];const n=[];for(let r=1;r<e.length;r++){const i=e[r];if(i[0]=="#")continue;const[s,o]=a(i,t);if(s)return["line "+(r+1)+" error: "+s];n.push(o)}return[null,t,n]}function o(r){const e=r.toLowerCase().split("\t");if(e.length<=1)return"invalid file header for fusions";const i=(...r)=>{for(const i of r){const r=e.indexOf(i);if(r!=-1)return r}return-1};let t=i("chr_a","chr1","chra");if(t==-1)return"chr_A missing from header";e[t]="chr1";t=i("chr_b","chr2","chrb");if(t==-1)return"chr_B missing from header";e[t]="chr2";t=i("pos_a","position_a","position1","posa");if(t==-1)return"pos_a missing from header";e[t]="position1";t=i("pos_b","position_b","position2","posb");if(t==-1)return"pos_b missing from header";e[t]="position2";t=i("strand_a","orta","orienta");if(t==-1)return"strand_a missing from header";e[t]="strand1";t=i("strand_b","ortb","orientb");if(t==-1)return"strand_b missing from header";e[t]="strand2";t=i("numreadsa");if(t!=-1)e[t]="reads1";t=i("numreadsb");if(t!=-1)e[t]="reads2";return[null,e]}function a(r,e){const i=r.split("\t");const t={};for(let r=0;r<e.length;r++){t[e[r]]=i[r]}if(!t.chr1)return["missing chr1"];if(t.chr1.toLowerCase().indexOf("chr")!=0){t.chr1="chr"+t.chr1}if(!t.chr2)return["missing chr2"];if(t.chr2.toLowerCase().indexOf("chr")!=0){t.chr2="chr"+t.chr2}if(!t.position1)return["missing position1"];let n=Number.parseInt(t.position1);if(Number.isNaN(n)||n<=0)return["position1 invalid value"];t.position1=n;if(!t.position2)return["missing position2"];n=Number.parseInt(t.position2);if(Number.isNaN(n)||n<=0)return["position2 invalid value"];t.position2=n;if(t.reads1){n=Number.parseInt(t.reads1);if(Number.isNaN(n))return["reads1 invalid value"];t.reads1=n}if(t.reads2){n=Number.parseInt(t.reads2);if(Number.isNaN(n))return["reads2 invalid value"];t.reads2=n}return[null,t]}function f(r,i){if(!i)return"cannot stat hic file";r.normalization=i.normalization;r.version=i.version;if(!i.Chromosomes)return"Chromosomes not found in file stat";if(!Array.isArray(i.chrorder))return".chrorder[] missing";if(i.chrorder.length==0)return".chrorder[] empty array";r.chrorder=i.chrorder;if(!i["Base pair-delimited resolutions"])return"Base pair-delimited resolutions not found in file stat";if(!Array.isArray(i["Base pair-delimited resolutions"]))return"Base pair-delimited resolutions should be array";r.bpresolution=i["Base pair-delimited resolutions"];if(!i["Fragment-delimited resolutions"])return"Fragment-delimited resolutions not found in file stat";if(!Array.isArray(i["Fragment-delimited resolutions"]))return"Fragment-delimited resolutions is not array";r.fragresolution=i["Fragment-delimited resolutions"];const t=[];for(const r in i.Chromosomes){t.push(r)}const[n,s]=e(r.genome,t);if(n+s==0)return"chromosome names do not match with genome build";if(n>0){r.nochr=true;for(let e=0;e<r.chrorder.length;e++)r.chrorder[e]="chr"+r.chrorder[e]}r.chrlst=[];for(const e of r.genome.majorchrorder){const i=r.nochr?e.replace("chr",""):e;if(t.indexOf(i)!=-1){r.chrlst.push(e)}}}function l(r){const e=new Map;let i=null,t;for(const n of r){if(!n.rest||!n.rest[0]){return["items[].rest data problem"]}const r=Number.parseInt(n.rest[0]);if(Number.isNaN(r)){return[n.start+"."+n.stop+" invalid fragment id: "+n.rest[0]]}e.set(r,[n.start,n.stop]);if(i==null){i=r;t=r}else{i=Math.min(i,r);t=Math.max(t,r)}}return[null,e,i,t]}export{f as a,l as b,n as h};
@@ -1 +1 @@
1
- import{M as t,I as e,ah as a,a9 as r,ag as i}from"./app-3d14cbe4.js";import{b as l,d as s,a as o}from"./axis-747c801e.js";const n="#999";const p="#d95f02";const c="#7570b3";const f="#1b9e77";const d="#f3f3f3";const y=.9;function m(m,g,h){if(g.individualcategories){for(const t of m){const e=t[g.individualcategories.categorykey];if(e&&g.individualcategories.categories[e]){t.color=g.individualcategories.categories[e].color}}}const x=g.individualkey;{const t=h.append("div").style("margin","5px 10px 10px 30px");const e=new Set;for(const t of m){e.add(t[x])}t.append("div").text(e.size+" "+x+(e.size>1?"s":""));if(g.individualcategories){for(const e in g.individualcategories.categories){const a=new Set;for(const t of m){const r=t[x];if(!r)continue;if(t[g.individualcategories.categorykey]==e){a.add(r)}}const r=t.append("div").style("margin","5px");r.append("div").style("display","inline-block").attr("class","sja_mcdot").style("background-color",g.individualcategories.categories[e].color).style("padding","1px 3px").text(a.size).style("margin-right","5px");r.append("span").text(g.individualcategories.categories[e].label||e).style("color",g.individualcategories.categories[e].color)}}}const u=new t({border:"none",padding:"0px"});const v=(t,e,a)=>{if(st){st.filter((e=>e[x]==t[x])).attr("fill-opacity",.5)}if(dt){dt.filter((e=>e[x]==t[x])).attr("fill-opacity",.5)}vt.filter((e=>e[x]==t[x])).attr("fill-opacity",.5);At.filter((e=>e[x]==t[x])).attr("fill-opacity",.5);u.show(e,a);u.clear();const i=[{k:x,v:t[x]},{k:g.xsampletype,v:t.sampletypes[g.xsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.xsampletype].total}];if(g.individualcategories){const e=t[g.individualcategories.categorykey];if(e&&g.individualcategories.categories[e]){i.push({k:g.individualcategories.categorylabel||g.individualcategories.categorykey,v:g.individualcategories.categories[e].label||e})}}if(t.sampletypes[g.yleftsampletype]){i.push({k:g.yleftsampletype,v:t.sampletypes[g.yleftsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.yleftsampletype].total})}if(t.sampletypes[g.yrightsampletype]){i.push({k:g.yrightsampletype,v:t.sampletypes[g.yrightsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.yrightsampletype].total})}r(u.d,i)};const k=t=>{u.hide();if(st){st.filter((e=>e[x]==t[x])).attr("fill-opacity",0)}if(dt){dt.filter((e=>e[x]==t[x])).attr("fill-opacity",0)}vt.filter((e=>e[x]==t[x])).attr("fill-opacity",0);At.filter((e=>e[x]==t[x])).attr("fill-opacity",0)};let w=300;let z=300;let b=80;let S=80;let A=100;let F=100;let V=10;let M=10;let X=10;let Y=8;let j=12;let C=6;let I=0;let _=0;let q=0;for(const t of m){I=Math.max(I,t.sampletypes[g.xsampletype].total);if(t.sampletypes[g.yleftsampletype]){_=Math.max(_,t.sampletypes[g.yleftsampletype].total)}if(t.sampletypes[g.yrightsampletype]){q=Math.max(_,t.sampletypes[g.yrightsampletype].total)}}let B=1;let D=0;const E=e().domain([D,B]);const G=e().domain([D,B]);const H=e().domain([0,I]);let J;let K;if(_){J=e().domain([0,_])}if(q){K=e().domain([0,q])}const L=h.append("svg").style("margin","10px");let N,O,P,Q;if(_){N=L.append("g");O=N.append("g");P=N.append("g");Q=P.append("text").attr("transform","rotate(-90)").text(g.yleftsampletype+" VAF").attr("font-family",a).attr("fill",f).attr("text-anchor","middle").attr("dominant-baseline","central")}let R,T,U,W;if(q){R=L.append("g");T=R.append("g");U=R.append("g");W=U.append("text").attr("transform","rotate(-90)").text(g.yrightsampletype+" VAF").attr("font-family",a).attr("fill",f).attr("text-anchor","middle").attr("dominant-baseline","central")}const Z=L.append("g");const $=Z.append("g");const tt=Z.append("text").text(g.xsampletype+" VAF").attr("font-family",a).attr("fill",c).attr("text-anchor","middle");let et,at,rt,it,lt,st;if(_){et=L.append("g");at=et.append("rect").attr("fill",d);rt=et.append("line").attr("stroke","white").attr("stroke-width",2);it=et.append("g");lt=et.append("g").selectAll().data(m.filter((t=>t.sampletypes[g.yleftsampletype]))).enter().append("g");st=lt.append("circle").attr("fill",(t=>t.color||f)).attr("fill-opacity",0).attr("stroke",(t=>t.color||f)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k)}let ot,nt,pt,ct,ft,dt;if(q){ot=L.append("g");nt=ot.append("rect").attr("fill",d);pt=et.append("line").attr("stroke","white").attr("stroke-width",2);ct=ot.append("g");ft=ot.append("g").selectAll().data(m.filter((t=>t.sampletypes[g.yrightsampletype]))).enter().append("g");dt=ft.append("rect").attr("fill",(t=>t.color||f)).attr("fill-opacity",0).attr("stroke",(t=>t.color||f)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k)}const yt=L.append("g");const mt=yt.append("rect").attr("fill",d);const gt=yt.append("line").attr("stroke","white").attr("stroke-width",2);const ht=yt.append("text").text("Coverage").attr("text-anchor","end").attr("dominant-baseline","central").attr("font-family",a).attr("fill",n);const xt=yt.append("g");const ut=yt.append("g").selectAll().data(m).enter().append("g");const vt=ut.append("circle").attr("fill",(t=>t.color||c)).attr("fill-opacity",0).attr("stroke",(t=>t.color||c)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k);const kt=L.append("g");const wt=kt.append("rect").attr("fill",d);const zt=kt.append("line").attr("stroke","white").attr("stroke-width",2);const bt=kt.append("line").attr("stroke","white").attr("stroke-width",2);const St=kt.append("g").selectAll().data(m).enter().append("g");const At=St.append("circle").attr("fill",(t=>t.color||p)).attr("fill-opacity",0).attr("stroke",(t=>t.color||p)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k);const Ft=()=>{b=C+j+10+j*2;S=C+j*2+10+j*2;V=Y*2;M=C+j+Y+10;E.range([0,w]);G.range([0,-z]);H.range([0,A]);if(J){J.range([0,-F])}if(K){K.range([0,F])}if(N){N.attr("transform","translate("+S+","+(X+z)+")");P.attr("transform","translate(-"+(S-j)+",-"+z/2+")");Q.attr("font-size",j*2)}if(R){R.attr("transform","translate("+((_?S+V+F:0)+M+w+M+F+V)+","+(X+z)+")");U.attr("transform","translate("+(S-j)+",-"+z/2+")");W.attr("font-size",j*2)}Z.attr("transform","translate("+(S+V+F+M)+","+(X+z+M+A+V)+")");tt.attr("font-size",j*2).attr("x",w/2).attr("y",b);if(et){et.attr("transform","translate("+(S+V+F)+","+(X+z)+")");it.attr("transform","translate(0,"+(5+Y)+")");at.attr("x",-F).attr("y",-z).attr("width",F).attr("height",z);rt.attr("x1",-F).attr("y1",-z/2).attr("y2",-z/2)}if(ot){ot.attr("transform","translate("+((_?S+V+F:0)+M+w+M)+","+(X+z)+")");ct.attr("transform","translate(0,"+(5+Y)+")");nt.attr("y",-z).attr("width",F).attr("height",z);pt.attr("y1",-z/2).attr("y2",-z/2).attr("x2",F)}yt.attr("transform","translate("+(S+V+F+M)+","+(X+z+M)+")");xt.attr("transform","translate(-"+(5+Y)+",0)");mt.attr("width",w).attr("height",A);gt.attr("x1",w/2).attr("x2",w/2).attr("y2",A);ht.attr("x",-40).attr("y",A/2).attr("font-size",j*1.5);kt.attr("transform","translate("+(S+V+F+M)+","+(X+z)+")");wt.attr("y",-z).attr("width",w).attr("height",z);zt.attr("y1",-z/2).attr("y2",-z/2).attr("x2",w);bt.attr("x1",w/2).attr("x2",w/2).attr("y2",-z);if(O){i({axis:O.call(l().scale(G).tickSize(C-2)),showline:true,color:n,fontsize:j})}if(T){i({axis:T.call(s().scale(G).tickSize(C-2)),showline:true,color:n,fontsize:j})}i({axis:$.call(o().scale(E).tickSize(C-2)),showline:true,color:n,fontsize:j});i({axis:xt.call(l().scale(H).tickSize(C-2).tickValues([0,I])),showline:true,color:n,fontsize:j});if(it){i({axis:it.call(o().scale(J).tickSize(C-2).tickValues([0,_])),showline:true,color:n,fontsize:j})}if(ct){i({axis:ct.call(o().scale(K).tickSize(C-2).tickValues([0,q])),showline:true,color:n,fontsize:j})}if(lt){lt.attr("transform",(t=>{const e=t.sampletypes[g.yleftsampletype];return"translate("+J(e.total)+","+G(e.vaf)+")"}))}if(ft){ft.attr("transform",(t=>{const e=t.sampletypes[g.yrightsampletype];return"translate("+K(e.total)+","+G(e.vaf)+")"}))}ut.attr("transform",(t=>{const e=t.sampletypes[g.xsampletype];return"translate("+E(e.vaf)+","+H(e.total)+")"}));St.attr("transform",(t=>{const e=t.sampletypes[g.xsampletype];const a=t.sampletypes[g.yleftsampletype]||t.sampletypes[g.yrightsampletype];return"translate("+E(e.vaf)+","+G(a.vaf)+")"}));vt.attr("r",Y);At.attr("r",Y);if(st){st.attr("r",Y)}if(dt){dt.attr("x",-Y).attr("y",-Y).attr("width",Y*2).attr("height",Y*2)}L.attr("width",(_?S+V+F:0)+M+w+M+(q?F+V+S:0)).attr("height",X+z+M+A+V+b)};Ft()}export{m as default};
1
+ import{M as t,I as e,ah as a,a9 as r,ag as i}from"./app-488d9fd6.js";import{b as l,d as s,a as o}from"./axis-747c801e.js";const n="#999";const p="#d95f02";const c="#7570b3";const f="#1b9e77";const d="#f3f3f3";const y=.9;function m(m,g,h){if(g.individualcategories){for(const t of m){const e=t[g.individualcategories.categorykey];if(e&&g.individualcategories.categories[e]){t.color=g.individualcategories.categories[e].color}}}const x=g.individualkey;{const t=h.append("div").style("margin","5px 10px 10px 30px");const e=new Set;for(const t of m){e.add(t[x])}t.append("div").text(e.size+" "+x+(e.size>1?"s":""));if(g.individualcategories){for(const e in g.individualcategories.categories){const a=new Set;for(const t of m){const r=t[x];if(!r)continue;if(t[g.individualcategories.categorykey]==e){a.add(r)}}const r=t.append("div").style("margin","5px");r.append("div").style("display","inline-block").attr("class","sja_mcdot").style("background-color",g.individualcategories.categories[e].color).style("padding","1px 3px").text(a.size).style("margin-right","5px");r.append("span").text(g.individualcategories.categories[e].label||e).style("color",g.individualcategories.categories[e].color)}}}const u=new t({border:"none",padding:"0px"});const v=(t,e,a)=>{if(st){st.filter((e=>e[x]==t[x])).attr("fill-opacity",.5)}if(dt){dt.filter((e=>e[x]==t[x])).attr("fill-opacity",.5)}vt.filter((e=>e[x]==t[x])).attr("fill-opacity",.5);At.filter((e=>e[x]==t[x])).attr("fill-opacity",.5);u.show(e,a);u.clear();const i=[{k:x,v:t[x]},{k:g.xsampletype,v:t.sampletypes[g.xsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.xsampletype].total}];if(g.individualcategories){const e=t[g.individualcategories.categorykey];if(e&&g.individualcategories.categories[e]){i.push({k:g.individualcategories.categorylabel||g.individualcategories.categorykey,v:g.individualcategories.categories[e].label||e})}}if(t.sampletypes[g.yleftsampletype]){i.push({k:g.yleftsampletype,v:t.sampletypes[g.yleftsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.yleftsampletype].total})}if(t.sampletypes[g.yrightsampletype]){i.push({k:g.yrightsampletype,v:t.sampletypes[g.yrightsampletype].vaf.toFixed(2)+", "+t.sampletypes[g.yrightsampletype].total})}r(u.d,i)};const k=t=>{u.hide();if(st){st.filter((e=>e[x]==t[x])).attr("fill-opacity",0)}if(dt){dt.filter((e=>e[x]==t[x])).attr("fill-opacity",0)}vt.filter((e=>e[x]==t[x])).attr("fill-opacity",0);At.filter((e=>e[x]==t[x])).attr("fill-opacity",0)};let w=300;let z=300;let b=80;let S=80;let A=100;let F=100;let V=10;let M=10;let X=10;let Y=8;let j=12;let C=6;let I=0;let _=0;let q=0;for(const t of m){I=Math.max(I,t.sampletypes[g.xsampletype].total);if(t.sampletypes[g.yleftsampletype]){_=Math.max(_,t.sampletypes[g.yleftsampletype].total)}if(t.sampletypes[g.yrightsampletype]){q=Math.max(_,t.sampletypes[g.yrightsampletype].total)}}let B=1;let D=0;const E=e().domain([D,B]);const G=e().domain([D,B]);const H=e().domain([0,I]);let J;let K;if(_){J=e().domain([0,_])}if(q){K=e().domain([0,q])}const L=h.append("svg").style("margin","10px");let N,O,P,Q;if(_){N=L.append("g");O=N.append("g");P=N.append("g");Q=P.append("text").attr("transform","rotate(-90)").text(g.yleftsampletype+" VAF").attr("font-family",a).attr("fill",f).attr("text-anchor","middle").attr("dominant-baseline","central")}let R,T,U,W;if(q){R=L.append("g");T=R.append("g");U=R.append("g");W=U.append("text").attr("transform","rotate(-90)").text(g.yrightsampletype+" VAF").attr("font-family",a).attr("fill",f).attr("text-anchor","middle").attr("dominant-baseline","central")}const Z=L.append("g");const $=Z.append("g");const tt=Z.append("text").text(g.xsampletype+" VAF").attr("font-family",a).attr("fill",c).attr("text-anchor","middle");let et,at,rt,it,lt,st;if(_){et=L.append("g");at=et.append("rect").attr("fill",d);rt=et.append("line").attr("stroke","white").attr("stroke-width",2);it=et.append("g");lt=et.append("g").selectAll().data(m.filter((t=>t.sampletypes[g.yleftsampletype]))).enter().append("g");st=lt.append("circle").attr("fill",(t=>t.color||f)).attr("fill-opacity",0).attr("stroke",(t=>t.color||f)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k)}let ot,nt,pt,ct,ft,dt;if(q){ot=L.append("g");nt=ot.append("rect").attr("fill",d);pt=et.append("line").attr("stroke","white").attr("stroke-width",2);ct=ot.append("g");ft=ot.append("g").selectAll().data(m.filter((t=>t.sampletypes[g.yrightsampletype]))).enter().append("g");dt=ft.append("rect").attr("fill",(t=>t.color||f)).attr("fill-opacity",0).attr("stroke",(t=>t.color||f)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k)}const yt=L.append("g");const mt=yt.append("rect").attr("fill",d);const gt=yt.append("line").attr("stroke","white").attr("stroke-width",2);const ht=yt.append("text").text("Coverage").attr("text-anchor","end").attr("dominant-baseline","central").attr("font-family",a).attr("fill",n);const xt=yt.append("g");const ut=yt.append("g").selectAll().data(m).enter().append("g");const vt=ut.append("circle").attr("fill",(t=>t.color||c)).attr("fill-opacity",0).attr("stroke",(t=>t.color||c)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k);const kt=L.append("g");const wt=kt.append("rect").attr("fill",d);const zt=kt.append("line").attr("stroke","white").attr("stroke-width",2);const bt=kt.append("line").attr("stroke","white").attr("stroke-width",2);const St=kt.append("g").selectAll().data(m).enter().append("g");const At=St.append("circle").attr("fill",(t=>t.color||p)).attr("fill-opacity",0).attr("stroke",(t=>t.color||p)).attr("stroke-opacity",y).on("mouseover",((t,e)=>v(e,t.clientX,t.clientY))).on("mouseout",k);const Ft=()=>{b=C+j+10+j*2;S=C+j*2+10+j*2;V=Y*2;M=C+j+Y+10;E.range([0,w]);G.range([0,-z]);H.range([0,A]);if(J){J.range([0,-F])}if(K){K.range([0,F])}if(N){N.attr("transform","translate("+S+","+(X+z)+")");P.attr("transform","translate(-"+(S-j)+",-"+z/2+")");Q.attr("font-size",j*2)}if(R){R.attr("transform","translate("+((_?S+V+F:0)+M+w+M+F+V)+","+(X+z)+")");U.attr("transform","translate("+(S-j)+",-"+z/2+")");W.attr("font-size",j*2)}Z.attr("transform","translate("+(S+V+F+M)+","+(X+z+M+A+V)+")");tt.attr("font-size",j*2).attr("x",w/2).attr("y",b);if(et){et.attr("transform","translate("+(S+V+F)+","+(X+z)+")");it.attr("transform","translate(0,"+(5+Y)+")");at.attr("x",-F).attr("y",-z).attr("width",F).attr("height",z);rt.attr("x1",-F).attr("y1",-z/2).attr("y2",-z/2)}if(ot){ot.attr("transform","translate("+((_?S+V+F:0)+M+w+M)+","+(X+z)+")");ct.attr("transform","translate(0,"+(5+Y)+")");nt.attr("y",-z).attr("width",F).attr("height",z);pt.attr("y1",-z/2).attr("y2",-z/2).attr("x2",F)}yt.attr("transform","translate("+(S+V+F+M)+","+(X+z+M)+")");xt.attr("transform","translate(-"+(5+Y)+",0)");mt.attr("width",w).attr("height",A);gt.attr("x1",w/2).attr("x2",w/2).attr("y2",A);ht.attr("x",-40).attr("y",A/2).attr("font-size",j*1.5);kt.attr("transform","translate("+(S+V+F+M)+","+(X+z)+")");wt.attr("y",-z).attr("width",w).attr("height",z);zt.attr("y1",-z/2).attr("y2",-z/2).attr("x2",w);bt.attr("x1",w/2).attr("x2",w/2).attr("y2",-z);if(O){i({axis:O.call(l().scale(G).tickSize(C-2)),showline:true,color:n,fontsize:j})}if(T){i({axis:T.call(s().scale(G).tickSize(C-2)),showline:true,color:n,fontsize:j})}i({axis:$.call(o().scale(E).tickSize(C-2)),showline:true,color:n,fontsize:j});i({axis:xt.call(l().scale(H).tickSize(C-2).tickValues([0,I])),showline:true,color:n,fontsize:j});if(it){i({axis:it.call(o().scale(J).tickSize(C-2).tickValues([0,_])),showline:true,color:n,fontsize:j})}if(ct){i({axis:ct.call(o().scale(K).tickSize(C-2).tickValues([0,q])),showline:true,color:n,fontsize:j})}if(lt){lt.attr("transform",(t=>{const e=t.sampletypes[g.yleftsampletype];return"translate("+J(e.total)+","+G(e.vaf)+")"}))}if(ft){ft.attr("transform",(t=>{const e=t.sampletypes[g.yrightsampletype];return"translate("+K(e.total)+","+G(e.vaf)+")"}))}ut.attr("transform",(t=>{const e=t.sampletypes[g.xsampletype];return"translate("+E(e.vaf)+","+H(e.total)+")"}));St.attr("transform",(t=>{const e=t.sampletypes[g.xsampletype];const a=t.sampletypes[g.yleftsampletype]||t.sampletypes[g.yrightsampletype];return"translate("+E(e.vaf)+","+G(a.vaf)+")"}));vt.attr("r",Y);At.attr("r",Y);if(st){st.attr("r",Y)}if(dt){dt.attr("x",-Y).attr("y",-Y).attr("width",Y*2).attr("height",Y*2)}L.attr("width",(_?S+V+F:0)+M+w+M+(q?F+V+S:0)).attr("height",X+z+M+A+V+b)};Ft()}export{m as default};
@@ -0,0 +1 @@
1
+ import{o as t,M as s,y as r}from"./app-488d9fd6.js";import{s as e,r as o}from"./recover-edcdde38.js";import{v as i}from"./FilterRxComp-cb149666.js";import"./termsetting-c12f1c69.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.js";import"./table-10183501.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./genesearch-d8780180.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";function a(t){switch(t){case"../plots/DEanalysis.js":return import("./DEanalysis-417e1f88.js");case"../plots/Disco.js":return import("./Disco-30abd4cb.js");case"../plots/DziViewer.js":return import("./DziViewer-af3c5a76.js");case"../plots/WSIViewer.js":return import("./WSIViewer-64e55fb8.js");case"../plots/barchart.data.js":return import("./FilterRxComp-cb149666.js").then((function(t){return t.j}));case"../plots/barchart.events.js":return import("./barchart.events-9e2c1acf.js");case"../plots/barchart.js":return import("./barchart-687ae584.js");case"../plots/bars.renderer.js":return import("./bars.renderer-95f7250f.js");case"../plots/bars.settings.js":return import("./bars.settings-64bb4642.js");case"../plots/boxplot.js":return import("./boxplot-dbf30a19.js");case"../plots/brainImaging.js":return import("./brainImaging-b2865ba3.js");case"../plots/controls.btns.js":return import("./controls.btns-26bb6ef1.js");case"../plots/controls.config.js":return import("./controls.config-9870bdea.js");case"../plots/controls.js":return import("./controls-f4648f7f.js");case"../plots/cuminc.js":return import("./cuminc-2273cdd3.js");case"../plots/dataDownload.js":return import("./dataDownload-b94871d0.js");case"../plots/dictionary.js":return import("./dictionary-321e19f9.js");case"../plots/facet.js":return import("./facet-26292a3d.js");case"../plots/geneExpression.js":return import("./geneExpression-d1d5a7ca.js");case"../plots/geneORA.js":return import("./geneORA-248baba7.js");case"../plots/geneset.js":return import("./geneset-1f67d4c9.js");case"../plots/genomeBrowser.controls.js":return import("./genomeBrowser.controls-3a7a1c94.js");case"../plots/genomeBrowser.js":return import("./genomeBrowser-52c639b4.js");case"../plots/gsea.js":return import("./gsea-d3286c53.js");case"../plots/hierCluster.js":return import("./hierCluster-00268175.js");case"../plots/imagePlot.js":return import("./imagePlot-f6398b6e.js");case"../plots/matrix.js":return import("./matrix-1190d4b3.js");case"../plots/plot.app.js":return Promise.resolve().then((function(){return c}));case"../plots/plot.brainImaging.js":return import("./plot.brainImaging-a7bb79d6.js");case"../plots/plot.disco.js":return import("./plot.disco-ccdf741c.js");case"../plots/plot.ssgq.js":return import("./plot.ssgq-146075f5.js");case"../plots/profileBarchart.js":return import("./profileBarchart-46616916.js");case"../plots/profilePlot.js":return import("./profilePlot-a2591a28.js");case"../plots/profilePolar.js":return import("./profilePolar-006a56b1.js");case"../plots/profileRadar.js":return import("./profileRadar-3320d932.js");case"../plots/profileRadarFacility.js":return import("./profileRadarFacility-7a9cea80.js");case"../plots/profileSummary.js":return import("./profileSummary-7a747b4e.js");case"../plots/regression.inputs.js":return import("./regression.inputs-d5d44e49.js").then((function(t){return t.b}));case"../plots/regression.inputs.term.js":return import("./regression.inputs-d5d44e49.js").then((function(t){return t.a}));case"../plots/regression.inputs.values.table.js":return import("./regression.inputs.values.table-daf7bcda.js");case"../plots/regression.js":return import("./regression.inputs-d5d44e49.js").then((function(t){return t.r}));case"../plots/regression.results.js":return import("./regression.results-31a8884d.js").then((function(t){return t.r}));case"../plots/sampleScatter.interactivity.js":return import("./sampleScatter-f6c04130.js").then((function(t){return t.a}));case"../plots/sampleScatter.js":return import("./sampleScatter-f6c04130.js").then((function(t){return t.b}));case"../plots/sampleScatter.renderer.js":return import("./sampleScatter-f6c04130.js").then((function(t){return t.s}));case"../plots/sampleScatter.rendererThree.js":return import("./sampleScatter.rendererThree-448689c6.js").then((function(t){return t.c}));case"../plots/sampleView.js":return import("./sampleView-0931e571.js");case"../plots/scatter.js":return import("./scatter-a8d7c2a0.js");case"../plots/singleCellPlot.js":return import("./singleCellPlot-2f5ad46a.js");case"../plots/stattable.js":return import("./stattable-7fa50fd2.js");case"../plots/summary.js":return import("./summary-54587ccf.js");case"../plots/survival.js":return import("./survival-21e6637b.js");case"../plots/table.js":return import("./table-bb97b5c9.js");case"../plots/variantBrowser.js":return import("./variantBrowser-2c465d02.js");case"../plots/violin.interactivity.js":return import("./violin.interactivity-57637244.js");case"../plots/violin.js":return import("./violin-edbe9a63.js");case"../plots/violin.renderer.js":return import("./violin.renderer-4cab7448.js");default:return new Promise((function(s,r){(typeof queueMicrotask==="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+t)))}))}}class p{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.opts?.app?.getPlotHolder?this.opts.app.getPlotHolder(s,this.dom.holder):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 n=t(p);var c=Object.freeze({__proto__:null,appInit:n});export{n as appInit};
@@ -0,0 +1 @@
1
+ import{Z as t,U as a,ah as e,I as o,W as n,ag as i}from"./app-488d9fd6.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 m=20,c=300,d=5,p=m+5,h=m/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",m-2).attr("font-family",e).each((function(){x=Math.max(x,this.getBBox().width)})).remove()}b.attr("width",x+d+c+d).attr("height",p+d+t.limit*(m+h));g.attr("transform","translate("+(x+d)+","+p+")").call(l().scale(o().domain([0,f]).range([0,c])).tickFormat(n("d")));i({axis:g,showline:true,fontsize:m*.8,color:"black"});let y=p+d;const u=c/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+m/2).attr("text-anchor","end").attr("font-size",m-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",m-1).attr("fill",t.barcolor);y+=m+h}}export{r as default};
@@ -1 +1 @@
1
- import{a8 as t,af as e,ah as r,I as a,ag as n}from"./app-3d14cbe4.js";import{c as i}from"./axis-747c801e.js";function s(s){if(!s.holder)return".holder missing for boxplot";if(!s.list)return".list[] missing";if(!Array.isArray(s.list))return".list should be array";for(const t of s.list){if(!t.label)return".label missing for a group";if(t.samples){for(const e of t.samples){if(!Number.isFinite(e.value))return".value missing from a sample"}}else{if(!Number.isFinite(t.minvalue))return".minvalue missing for a group";if(!Number.isFinite(t.maxvalue))return".maxvalue missing for a group";if(!t.percentile)return".percentile{} missing from a group";if(!Number.isFinite(t.percentile.p05))return".percentile.p05 missing for a group";if(!Number.isFinite(t.percentile.p25))return".percentile.p25 missing for a group";if(!Number.isFinite(t.percentile.p50))return".percentile.p50 missing for a group";if(!Number.isFinite(t.percentile.p75))return".percentile.p75 missing for a group";if(!Number.isFinite(t.percentile.p95))return".percentile.p95 missing for a group"}}const l=t(e);const o=s.holder.append("svg");let p=40,f=300,u=10,c=10,m=30,g=12,h=15;let d=0;let x=null;let b=null;for(const t of s.list){const e=t.samplecount?t.samplecount:t.samples?t.samples.length:null;o.append("text").text(t.label+(e?" (n="+e+")":"")).attr("font-family",r).attr("font-size",h).each((function(){d=Math.max(d,this.getBBox().width)})).remove();if(t.samples){for(const e of t.samples){if(e.value==undefined)continue;if(x==null){x=e.value;b=e.value}else{x=Math.min(x,e.value);b=Math.max(b,e.value)}}}else{if(x==null){x=t.minvalue;b=t.maxvalue}else{x=Math.min(x,t.minvalue);b=Math.max(b,t.maxvalue)}}}o.attr("width",d+c+f+c).attr("height",p+(u+m)*s.list.length+10);const v=o.append("g").attr("transform","translate("+(d+c)+","+p+")");const y=a().domain([x,b]).range([0,f]);const M=v.append("g");n({axis:M.call(i().scale(y).ticks(5)),showline:true,fontsize:g,color:"black"});if(s.axislabel){v.append("text").text(s.axislabel).attr("x",f/2).attr("y",-g-13).attr("font-family",r).attr("font-size",h).attr("text-anchor","middle")}let k=0;for(const t of s.list){k+=u;const e=v.append("g").attr("transform","translate(0,"+k+")");k+=m;const a=t.samplecount?t.samplecount:t.samples?t.samples.length:null;e.append("text").text(t.label+(a?" (n="+a+")":"")).attr("x",-c).attr("y",m/2).attr("text-anchor","end").attr("dominant-baseline","central").attr("font-family",r).attr("font-size",h).attr("fill","black");let n,i,s,o,p;if(t.samples){const e=t.samples.map((t=>t.value));e.sort(((t,e)=>t-e));n=e[Math.floor(e.length*.05)];i=e[Math.floor(e.length*.25)];s=e[Math.floor(e.length*.5)];o=e[Math.floor(e.length*.75)];p=e[Math.floor(e.length*.95)]}else{n=t.percentile.p05;i=t.percentile.p25;s=t.percentile.p50;o=t.percentile.p75;p=t.percentile.p95}const f=y(n);const g=y(i);const d=y(s);const x=y(o);const b=y(p);const M=t.color||l(t.label);e.append("line").attr("y1",m/2).attr("y2",m/2).attr("x1",f).attr("x2",b).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("line").attr("y2",m).attr("x1",f).attr("x2",f).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("line").attr("y2",m).attr("x1",b).attr("x2",b).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("rect").attr("x",g).attr("width",x-g).attr("height",m).attr("stroke",M).attr("fill","white").attr("shape-rendering","crispEdges");e.append("line").attr("y2",m).attr("x1",d).attr("x2",d).attr("stroke",M).attr("shape-rendering","crispEdges")}return null}export{s as default};
1
+ import{a8 as t,af as e,ah as r,I as a,ag as n}from"./app-488d9fd6.js";import{c as i}from"./axis-747c801e.js";function s(s){if(!s.holder)return".holder missing for boxplot";if(!s.list)return".list[] missing";if(!Array.isArray(s.list))return".list should be array";for(const t of s.list){if(!t.label)return".label missing for a group";if(t.samples){for(const e of t.samples){if(!Number.isFinite(e.value))return".value missing from a sample"}}else{if(!Number.isFinite(t.minvalue))return".minvalue missing for a group";if(!Number.isFinite(t.maxvalue))return".maxvalue missing for a group";if(!t.percentile)return".percentile{} missing from a group";if(!Number.isFinite(t.percentile.p05))return".percentile.p05 missing for a group";if(!Number.isFinite(t.percentile.p25))return".percentile.p25 missing for a group";if(!Number.isFinite(t.percentile.p50))return".percentile.p50 missing for a group";if(!Number.isFinite(t.percentile.p75))return".percentile.p75 missing for a group";if(!Number.isFinite(t.percentile.p95))return".percentile.p95 missing for a group"}}const l=t(e);const o=s.holder.append("svg");let p=40,f=300,u=10,m=10,c=30,g=12,h=15;let d=0;let x=null;let b=null;for(const t of s.list){const e=t.samplecount?t.samplecount:t.samples?t.samples.length:null;o.append("text").text(t.label+(e?" (n="+e+")":"")).attr("font-family",r).attr("font-size",h).each((function(){d=Math.max(d,this.getBBox().width)})).remove();if(t.samples){for(const e of t.samples){if(e.value==undefined)continue;if(x==null){x=e.value;b=e.value}else{x=Math.min(x,e.value);b=Math.max(b,e.value)}}}else{if(x==null){x=t.minvalue;b=t.maxvalue}else{x=Math.min(x,t.minvalue);b=Math.max(b,t.maxvalue)}}}o.attr("width",d+m+f+m).attr("height",p+(u+c)*s.list.length+10);const v=o.append("g").attr("transform","translate("+(d+m)+","+p+")");const y=a().domain([x,b]).range([0,f]);const M=v.append("g");n({axis:M.call(i().scale(y).ticks(5)),showline:true,fontsize:g,color:"black"});if(s.axislabel){v.append("text").text(s.axislabel).attr("x",f/2).attr("y",-g-13).attr("font-family",r).attr("font-size",h).attr("text-anchor","middle")}let k=0;for(const t of s.list){k+=u;const e=v.append("g").attr("transform","translate(0,"+k+")");k+=c;const a=t.samplecount?t.samplecount:t.samples?t.samples.length:null;e.append("text").text(t.label+(a?" (n="+a+")":"")).attr("x",-m).attr("y",c/2).attr("text-anchor","end").attr("dominant-baseline","central").attr("font-family",r).attr("font-size",h).attr("fill","black");let n,i,s,o,p;if(t.samples){const e=t.samples.map((t=>t.value));e.sort(((t,e)=>t-e));n=e[Math.floor(e.length*.05)];i=e[Math.floor(e.length*.25)];s=e[Math.floor(e.length*.5)];o=e[Math.floor(e.length*.75)];p=e[Math.floor(e.length*.95)]}else{n=t.percentile.p05;i=t.percentile.p25;s=t.percentile.p50;o=t.percentile.p75;p=t.percentile.p95}const f=y(n);const g=y(i);const d=y(s);const x=y(o);const b=y(p);const M=t.color||l(t.label);e.append("line").attr("y1",c/2).attr("y2",c/2).attr("x1",f).attr("x2",b).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("line").attr("y2",c).attr("x1",f).attr("x2",f).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("line").attr("y2",c).attr("x1",b).attr("x2",b).attr("stroke",M).attr("shape-rendering","crispEdges");e.append("rect").attr("x",g).attr("width",x-g).attr("height",c).attr("stroke",M).attr("fill","white").attr("shape-rendering","crispEdges");e.append("line").attr("y2",c).attr("x1",d).attr("x2",d).attr("stroke",M).attr("shape-rendering","crispEdges")}return null}export{s as default};
@@ -1 +1 @@
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,plots:[{chartType:"brainImaging",selectedSampleFileNames:[n.sample_id+".nii"],queryKey:o,overrides:c}]}};const p=await import("./plot.app-4dc30ebc.js");const l=await p.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
+ async function e(e,a,o,n,i,r,s={}){const m=t(s);const c=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,plots:[{chartType:"brainImaging",selectedSampleFileNames:[n.sample_id+".nii"],queryKey:o,overrides:m}]}};const p=await import("./plot.app-fc3608a9.js");const l=await p.appInit(d);c.remove()}catch(e){c.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 +1 @@
1
- import{b as e,B as t}from"./app-3d14cbe4.js";async function o(o,a,i,r,n,l={},m=true){const c=s(l,o,n,i);const p=r.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 n!="object")throw"genomeObj{} not object";const s={genome:n.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){r.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 m=l.mlst;for(const e of m)e.position=e.pos;const d={sampleName:i[o.queries.singleSampleMutation.sample_id_key],data:m,genome:n};if(o.queries.singleSampleMutation.discoSkipChrM){d.chromosomes={};for(const e in n.majorchr){if(e.toLowerCase()=="chrm")continue;d.chromosomes[e]=n.majorchr[e]}}const f={holder:r,state:{genome:n.name,dslabel:a,args:d,plots:[{chartType:"Disco",subfolder:"disco",extension:"ts",overrides:c}]}};const u=await import("./plot.app-4dc30ebc.js");const g=await u.appInit(f);p.remove();return true}catch(e){if(m)p.text("Error: "+(e.message||e));else p.remove();return false}}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
+ import{b as e,B as t}from"./app-488d9fd6.js";async function o(o,a,i,r,n,l={},m=true){const p=s(l,o,n,i);const c=r.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 n!="object")throw"genomeObj{} not object";const s={genome:n.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){r.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 m=l.mlst;for(const e of m)e.position=e.pos;const d={sampleName:i[o.queries.singleSampleMutation.sample_id_key],data:m,genome:n};if(o.queries.singleSampleMutation.discoSkipChrM){d.chromosomes={};for(const e in n.majorchr){if(e.toLowerCase()=="chrm")continue;d.chromosomes[e]=n.majorchr[e]}}const f={holder:r,state:{genome:n.name,dslabel:a,args:d,plots:[{chartType:"Disco",subfolder:"disco",extension:"ts",overrides:p}]}};const u=await import("./plot.app-fc3608a9.js");const g=await u.appInit(f);c.remove();return true}catch(e){if(m)c.text("Error: "+(e.message||e));else c.remove();return false}}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 +1 @@
1
- async function e(e,t,a,s,o){const i=t.append("div").style("margin","20px").text("Loading...");try{const n={holder:t,state:{genome:a.name,dslabel:e,sample_id:s,dzimages:o,plots:[{chartType:"DziViewer",subfolder:"dziviewer",extension:"ts"}]}};const p=await import("./plot.app-4dc30ebc.js");const r=await p.appInit(n);i.remove()}catch(e){i.text("Error: "+(e.message||e))}}export{e as default};
1
+ async function e(e,t,a,s,o){const i=t.append("div").style("margin","20px").text("Loading...");try{const n={holder:t,state:{genome:a.name,dslabel:e,sample_id:s,dzimages:o,plots:[{chartType:"DziViewer",subfolder:"dziviewer",extension:"ts"}]}};const p=await import("./plot.app-fc3608a9.js");const r=await p.appInit(n);i.remove()}catch(e){i.text("Error: "+(e.message||e))}}export{e as default};
@@ -0,0 +1 @@
1
+ import{b as t,w as e,f as o}from"./app-488d9fd6.js";async function a(o,a,n,s,r,c,p,l=true){const m=r.append("div").text("Loading...");try{if(typeof o?.queries?.singleSampleGenomeQuantification!="object")throw"termdbConfig.queries.singleSampleGenomeQuantification{} missing, cannot plot";const l=o.queries.singleSampleGenomeQuantification[n];if(!l)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[l.sample_id_key]}};const f=await t("mds3",{body:d});if(f.error)throw f.error;const h=o.queries.singleSampleGbtk?.[l.singleSampleGbtk];r.append("div").attr("data-testid","sjpp_ssgq_sandbox").text(l.description||n);if(h){r.append("div").attr("data-testid","sjpp_ssgq_intro_text").text(`Click a chromosomal position to zoom in and view ${h.description||l.singleSampleGbtk}`)}const g=r.append("img").attr("data-testid","sjpp_ssgq_img").attr("width",f.canvasWidth).attr("height",f.canvasHeight).attr("src",f.src);m.remove();if(!h)return;let u;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 m=f.chrLst.filter((t=>t.chr==n))[0].chrLen;const d=Math.min(m,t[0].stop+(t[0].stop-t[0].start));u=await i(a,s,r,c,l,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 m=Math.max(0,p-5e5),d=Math.min(p+5e5,n);if(u){u.jump_1basedcoordinate({chr:o,start:m,stop:d});return}u=await i(a,s,r,c,l,h,o,m,d)}));return true}catch(t){if(l)m.text("Error: "+(t.message||t));else m.remove();return false}}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-2f22e7fd.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 +1 @@
1
- import{I as t,ah as a,a8 as r,af as e,d as o,a9 as n,ag as s,W as l}from"./app-3d14cbe4.js";import{a as c,b as i}from"./axis-747c801e.js";function p(p){for(const t of p.data){if(!t.sampleobj)t.sampleobj={}}let d=p.width||200;let f=p.height||200;const m=p.color||"#999";let h;let x=p.maxtotal||0;if(p.automax){for(const t of p.data){x=Math.max(x,t.total)}}let u=1;const y=[];const g=[];const k=p.bincount||20;for(let t=0;t<k;t++){y.push(0);g.push(0)}{const t=x/k;const a=u/k;for(const r of p.data){if(r.total>=x){y[k-1]++}else{y[Math.floor(r.total/t)]++}g[Math.floor((r.maf==1?.99:r.maf)/a)]++}}const w=Math.max(...y);const b=Math.max(...g);const v=t().domain([0,x]),z=t().domain([0,u]),j=t().domain([0,w]),M=t().domain([0,b]);const A=p.holder.append("svg").style("margin","10px");const F=A.append("text").text("Coverage").attr("text-anchor","middle").attr("fill",m).attr("font-family",a);const S=A.append("g");const V=S.append("text").text("VAF").attr("text-anchor","middle").attr("dominant-baseline","middle").attr("fill",m).attr("font-family",a).attr("transform","rotate(-90)");const X=A.append("g");const Y=A.append("g");const E=A.append("g");const C=E.append("rect").attr("stroke",m).attr("stroke-dasharray","2,2").attr("fill","none").attr("shape-rendering","crispEdges");const D=E.append("line").attr("stroke",m).attr("stroke-dasharray","2,2").attr("shape-rendering","crispEdges");const G=A.append("g");const I=G.selectAll().data(g).enter().append("rect");const W=A.append("g");const _=A.append("g");const q=_.selectAll().data(y).enter().append("rect");const B=A.append("g");let H=null,J,K,L,N,O;if(p.genotype){const t=r(e);const o=new Set;for(const a of p.data){if(a.genotype){o.add(a.genotype);a.color=t(a.genotype)}}const n=[...o];H=A.append("g");J=H.append("text").text("Genotype").attr("dominant-baseline","central").attr("font-family",a);K=H.selectAll().data(n).enter().append("g");L=K.append("line").attr("stroke",(a=>t(a)));N=K.append("line").attr("stroke",(a=>t(a)));O=K.append("text").text((t=>t)).attr("fill",(a=>t(a))).attr("dominant-baseline","central").attr("font-family",a)}const P=E.selectAll().data(p.data).enter().append("g");const Q=P.append("line").attr("stroke-opacity",.6).attr("stroke",(t=>t.color?t.color:t.sampleobj.color||p.samplecolor)).each((function(t){t.crosshair1=o(this)}));const R=P.append("line").attr("stroke-opacity",.6).attr("stroke",(t=>t.color?t.color:t.sampleobj.color||p.samplecolor)).each((function(t){t.crosshair2=o(this)}));const T=P.append("circle").attr("fill","white").attr("fill-opacity",0).on("mouseover",((t,a)=>{a.crosshair1.attr("stroke-width",3).attr("x1",-h-2).attr("y1",-h-2).attr("x2",h+2).attr("y2",h+2);a.crosshair2.attr("stroke-width",3).attr("x1",h+2).attr("y1",-h-2).attr("x2",-h-2).attr("y2",h+2);p.tip.clear();p.tip.show(t.clientX,t.clientY);const r=[{k:"mut",v:a.mut},{k:"total",v:a.total}];if(a.genotype){r.push({k:"genotype",v:a.genotype})}for(const t in a.sampleobj){if(t=="color")continue;r.push({k:t,v:a.sampleobj[t]})}n(p.tip.d,r).style("margin","none");if(p.mouseover){p.mouseover(a)}})).on("mouseout",((t,a)=>{a.crosshair1.attr("stroke-width",1).attr("x1",-h).attr("y1",-h).attr("x2",h).attr("y2",h);a.crosshair2.attr("stroke-width",1).attr("x1",h).attr("y1",-h).attr("x2",-h).attr("y2",h);p.tip.hide();if(p.mouseout){p.mouseout(a)}}));if(p.click){T.on("click",((t,a)=>{p.click(a)}))}const U=A.append("text").text("drag to resize").attr("class","sja_clbtext").attr("font-size",13).attr("text-anchor","end").attr("fill",m).on("mousedown",(t=>{t.preventDefault();const a=o(document.body);const r=t.clientX,e=t.clientY,n=d,s=f;a.on("mousemove",(t=>{d=n+t.clientX-r;f=s+t.clientY-e;Z()}));a.on("mouseup",(()=>{a.on("mousemove",null).on("mouseup",null)}))}));function Z(){const t=Math.max(12,Math.min(d,f)/25);const a=f/20;h=Math.ceil(t/3);const r=h,e=r+t*3,o=r+20,n=t*1.3,p=t*1.6,u=f/5,y=d/5;v.range([0,d]);z.range([f,0]);j.range([u,0]);M.range([0,y]);A.attr("width",t+e+p+d+n+y+a+r).attr("height",t/2+u+n+f+p+o+r+t);F.attr("font-size",t).attr("x",t+e+p+d/2).attr("y",t/2+u+n+f+p+o+r+t-5);S.attr("transform","translate("+t+","+(t/2+u+n+f/2)+")");V.attr("font-size",t);X.attr("transform","translate("+(t+e+p)+","+(t/2+u+n+f+p)+")").call(c().scale(v).ticks(4).tickSize(r));s({axis:X,color:m,fontsize:t,showline:true});Y.attr("transform","translate("+(t+e)+","+(t/2+u+n)+")").call(i().scale(z).ticks(5).tickSize(r));s({axis:Y,color:m,fontsize:t,showline:true});E.attr("transform","translate("+(t+e+p)+","+(t/2+u+n)+")");C.attr("width",d).attr("height",f);D.attr("y1",f/2).attr("x2",d).attr("y2",f/2);P.attr("transform",(t=>"translate("+v(t.total>x?x:t.total)+","+z(t.maf)+")"));Q.attr("x1",-h).attr("y1",-h).attr("x2",h).attr("y2",h);R.attr("x1",h).attr("y1",-h).attr("x2",-h).attr("y2",h);T.attr("r",h);G.attr("transform","translate("+(t+e+p+d+n)+","+(t/2+u+n+f)+")");const g=f/k;I.attr("y",((t,a)=>-g*(a+1))).attr("width",(t=>M(t))).attr("height",g).attr("fill",m);W.attr("transform","translate("+(t+e+p+d+n)+","+(t/2+u+n+f+p)+")").call(c().scale(M).tickValues([0,b]).tickFormat(l("d")));s({axis:W,color:m,showline:true});_.attr("transform","translate("+(t+e+p)+","+(t/2+u)+")");const Z=d/k;q.attr("x",((t,a)=>Z*a)).attr("y",(t=>j(t)-u)).attr("height",(t=>u-j(t))).attr("width",Z).attr("fill",m);B.attr("transform","translate("+(t+e)+","+t/2+")").call(i().scale(j).tickValues([0,w]).tickFormat(l("d")));s({axis:B,color:m,showline:true});U.attr("x",t+e+p+d+n+y+a+r-5).attr("y",t/2+u+n+f+p+o+r+t-5);if(H){H.attr("transform","translate("+(t+e+p+d+n)+","+t/2+")");J.attr("font-size",t);K.attr("transform",((a,r)=>"translate(0,"+(t/2+3+(t+1)*r+t/2)+")"));L.attr("y1",-t/2).attr("x2",t).attr("y2",t/2);N.attr("x1",t).attr("y1",-t/2).attr("y2",t/2);O.attr("x",t+5).attr("font-size",t)}}Z();return P}export{p as default};
1
+ import{I as t,ah as a,a8 as r,af as e,d as o,a9 as n,ag as s,W as l}from"./app-488d9fd6.js";import{a as c,b as i}from"./axis-747c801e.js";function p(p){for(const t of p.data){if(!t.sampleobj)t.sampleobj={}}let d=p.width||200;let f=p.height||200;const m=p.color||"#999";let h;let x=p.maxtotal||0;if(p.automax){for(const t of p.data){x=Math.max(x,t.total)}}let u=1;const y=[];const g=[];const k=p.bincount||20;for(let t=0;t<k;t++){y.push(0);g.push(0)}{const t=x/k;const a=u/k;for(const r of p.data){if(r.total>=x){y[k-1]++}else{y[Math.floor(r.total/t)]++}g[Math.floor((r.maf==1?.99:r.maf)/a)]++}}const w=Math.max(...y);const b=Math.max(...g);const v=t().domain([0,x]),z=t().domain([0,u]),j=t().domain([0,w]),M=t().domain([0,b]);const A=p.holder.append("svg").style("margin","10px");const F=A.append("text").text("Coverage").attr("text-anchor","middle").attr("fill",m).attr("font-family",a);const S=A.append("g");const V=S.append("text").text("VAF").attr("text-anchor","middle").attr("dominant-baseline","middle").attr("fill",m).attr("font-family",a).attr("transform","rotate(-90)");const X=A.append("g");const Y=A.append("g");const E=A.append("g");const C=E.append("rect").attr("stroke",m).attr("stroke-dasharray","2,2").attr("fill","none").attr("shape-rendering","crispEdges");const D=E.append("line").attr("stroke",m).attr("stroke-dasharray","2,2").attr("shape-rendering","crispEdges");const G=A.append("g");const I=G.selectAll().data(g).enter().append("rect");const W=A.append("g");const _=A.append("g");const q=_.selectAll().data(y).enter().append("rect");const B=A.append("g");let H=null,J,K,L,N,O;if(p.genotype){const t=r(e);const o=new Set;for(const a of p.data){if(a.genotype){o.add(a.genotype);a.color=t(a.genotype)}}const n=[...o];H=A.append("g");J=H.append("text").text("Genotype").attr("dominant-baseline","central").attr("font-family",a);K=H.selectAll().data(n).enter().append("g");L=K.append("line").attr("stroke",(a=>t(a)));N=K.append("line").attr("stroke",(a=>t(a)));O=K.append("text").text((t=>t)).attr("fill",(a=>t(a))).attr("dominant-baseline","central").attr("font-family",a)}const P=E.selectAll().data(p.data).enter().append("g");const Q=P.append("line").attr("stroke-opacity",.6).attr("stroke",(t=>t.color?t.color:t.sampleobj.color||p.samplecolor)).each((function(t){t.crosshair1=o(this)}));const R=P.append("line").attr("stroke-opacity",.6).attr("stroke",(t=>t.color?t.color:t.sampleobj.color||p.samplecolor)).each((function(t){t.crosshair2=o(this)}));const T=P.append("circle").attr("fill","white").attr("fill-opacity",0).on("mouseover",((t,a)=>{a.crosshair1.attr("stroke-width",3).attr("x1",-h-2).attr("y1",-h-2).attr("x2",h+2).attr("y2",h+2);a.crosshair2.attr("stroke-width",3).attr("x1",h+2).attr("y1",-h-2).attr("x2",-h-2).attr("y2",h+2);p.tip.clear();p.tip.show(t.clientX,t.clientY);const r=[{k:"mut",v:a.mut},{k:"total",v:a.total}];if(a.genotype){r.push({k:"genotype",v:a.genotype})}for(const t in a.sampleobj){if(t=="color")continue;r.push({k:t,v:a.sampleobj[t]})}n(p.tip.d,r).style("margin","none");if(p.mouseover){p.mouseover(a)}})).on("mouseout",((t,a)=>{a.crosshair1.attr("stroke-width",1).attr("x1",-h).attr("y1",-h).attr("x2",h).attr("y2",h);a.crosshair2.attr("stroke-width",1).attr("x1",h).attr("y1",-h).attr("x2",-h).attr("y2",h);p.tip.hide();if(p.mouseout){p.mouseout(a)}}));if(p.click){T.on("click",((t,a)=>{p.click(a)}))}const U=A.append("text").text("drag to resize").attr("class","sja_clbtext").attr("font-size",13).attr("text-anchor","end").attr("fill",m).on("mousedown",(t=>{t.preventDefault();const a=o(document.body);const r=t.clientX,e=t.clientY,n=d,s=f;a.on("mousemove",(t=>{d=n+t.clientX-r;f=s+t.clientY-e;Z()}));a.on("mouseup",(()=>{a.on("mousemove",null).on("mouseup",null)}))}));function Z(){const t=Math.max(12,Math.min(d,f)/25);const a=f/20;h=Math.ceil(t/3);const r=h,e=r+t*3,o=r+20,n=t*1.3,p=t*1.6,u=f/5,y=d/5;v.range([0,d]);z.range([f,0]);j.range([u,0]);M.range([0,y]);A.attr("width",t+e+p+d+n+y+a+r).attr("height",t/2+u+n+f+p+o+r+t);F.attr("font-size",t).attr("x",t+e+p+d/2).attr("y",t/2+u+n+f+p+o+r+t-5);S.attr("transform","translate("+t+","+(t/2+u+n+f/2)+")");V.attr("font-size",t);X.attr("transform","translate("+(t+e+p)+","+(t/2+u+n+f+p)+")").call(c().scale(v).ticks(4).tickSize(r));s({axis:X,color:m,fontsize:t,showline:true});Y.attr("transform","translate("+(t+e)+","+(t/2+u+n)+")").call(i().scale(z).ticks(5).tickSize(r));s({axis:Y,color:m,fontsize:t,showline:true});E.attr("transform","translate("+(t+e+p)+","+(t/2+u+n)+")");C.attr("width",d).attr("height",f);D.attr("y1",f/2).attr("x2",d).attr("y2",f/2);P.attr("transform",(t=>"translate("+v(t.total>x?x:t.total)+","+z(t.maf)+")"));Q.attr("x1",-h).attr("y1",-h).attr("x2",h).attr("y2",h);R.attr("x1",h).attr("y1",-h).attr("x2",-h).attr("y2",h);T.attr("r",h);G.attr("transform","translate("+(t+e+p+d+n)+","+(t/2+u+n+f)+")");const g=f/k;I.attr("y",((t,a)=>-g*(a+1))).attr("width",(t=>M(t))).attr("height",g).attr("fill",m);W.attr("transform","translate("+(t+e+p+d+n)+","+(t/2+u+n+f+p)+")").call(c().scale(M).tickValues([0,b]).tickFormat(l("d")));s({axis:W,color:m,showline:true});_.attr("transform","translate("+(t+e+p)+","+(t/2+u)+")");const Z=d/k;q.attr("x",((t,a)=>Z*a)).attr("y",(t=>j(t)-u)).attr("height",(t=>u-j(t))).attr("width",Z).attr("fill",m);B.attr("transform","translate("+(t+e)+","+t/2+")").call(i().scale(j).tickValues([0,w]).tickFormat(l("d")));s({axis:B,color:m,showline:true});U.attr("x",t+e+p+d+n+y+a+r-5).attr("y",t/2+u+n+f+p+o+r+t-5);if(H){H.attr("transform","translate("+(t+e+p+d+n)+","+t/2+")");J.attr("font-size",t);K.attr("transform",((a,r)=>"translate(0,"+(t/2+3+(t+1)*r+t/2)+")"));L.attr("y1",-t/2).attr("x2",t).attr("y2",t/2);N.attr("x1",t).attr("y1",-t/2).attr("y2",t/2);O.attr("x",t+5).attr("font-size",t)}}Z();return P}export{p as default};
@@ -1 +1 @@
1
- async function e(e,t,a,s){const o=t.append("div").style("margin","20px").text("Loading...");try{const n={holder:t,state:{genome:a.name,dslabel:e,sample_id:s,plots:[{chartType:"WSIViewer",subfolder:"wsiviewer",extension:"ts"}]}};const i=await import("./plot.app-4dc30ebc.js");const p=await i.appInit(n);o.remove()}catch(e){o.text("Error: "+(e.message||e))}}export{e as default};
1
+ async function e(e,t,a,s){const o=t.append("div").style("margin","20px").text("Loading...");try{const n={holder:t,state:{genome:a.name,dslabel:e,sample_id:s,plots:[{chartType:"WSIViewer",subfolder:"wsiviewer",extension:"ts"}]}};const i=await import("./plot.app-fc3608a9.js");const p=await i.appInit(n);o.remove()}catch(e){o.text("Error: "+(e.message||e))}}export{e as default};
@@ -1 +1 @@
1
- import{P as t,h as e,I as r}from"./app-3d14cbe4.js";import{m as o}from"./termsetting-7467350f.js";import{getDefaultProfilePlotSettings as s,loadFilterTerms as a,profilePlot as n}from"./profilePlot-5dd1fe71.js";import{c as i}from"./axis-747c801e.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-cd895635.js";import"./FilterRxComp-e8de560c.js";import"./table-be2a9975.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-a60aaa77.js";import"./controls-1d99916a.js";import"./controls.btns-237b3154.js";import"./controls.config-00ce9f0b.js";import"./recover-4888c2a9.js";import"./FilterStateless-75514d37.js";import"./app-bd9f016b.js";import"./termInfo-e16f90f2.js";import"./toggleButtons-2144daab.js";import"./genesearch-0587c713.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 o=1400;const s=this.rowCount*32+600;this.svg=this.dom.plotDiv.append("svg").attr("width",o).attr("height",s);const a=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(a);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[r,o]of t.columnNames.entries()){if(r==1&&!e)break;m=r%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(o);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 r 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(r.term1)this.drawRect(m,d,r,"term1",t);if(r.term2)this.drawRect(m+p,d,r,"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 o=r().domain([0,100]).range([0,c]);n.append("g").attr("transform",`translate(${t}, ${e})`).call(i(o))}function u(t,e,r,o,s){const a=t+r/100*c;n.append("line").style("stroke","#aaa").style("stroke-width",1).style("stroke-dasharray","5, 5").attr("x1",a).attr("y1",e).attr("x2",a).attr("y2",o);n.append("text").attr("transform",`translate(${a+.125*c}, ${o+20})`).attr("text-anchor","middle").text(s).style("font-weight","bold");if(r==50)n.append("text").attr("transform",`translate(${a-.25*c}, ${o+20})`).attr("text-anchor","middle").text("C").style("font-weight","bold")}}drawRect(t,e,r,o,s){const a=this.configComponent.hasSubjectiveData;const n=r[o];let i=false;if((r.name=="Total Module"||r.name=="End-user Impression*")&&!r.term2)i=true;const l=n.score.term.color;const m=this.getPercentage(n);const d=o=="term1"||o=="term2"&&!r.term1;const h=o=="term1"?this.getPercentage(r.term2):this.getPercentage(r.term1);const f=m?m/100*c:0;if(m){const r=this.state.dslabel=="ProfileFull"&&this.settings.component=="Patients and Outcomes"?true:!i&&(h||!a);const o=s.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(r)o.attr("fill",l);else{const t=this.id+n.score.term.id;s.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);o.attr("fill",`url(#${t})`)}}const g=s.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&&o=="term1")g.attr("transform",`translate(${t+35}, ${e+15})`);if(d)s.append("text").attr("transform",`translate(${o=="term1"?t:t-p}, ${e+15})`).attr("text-anchor","end").text(r.name).attr("pointer-events","none")}drawLegendRect(t,e,r,o,s){const a=s.append("g").attr("transform",`translate(${t}, ${e})`).append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",20);if(r=="and")a.attr("fill","gray");else a.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(r);n.append("tspan").text(" Subjective data")}}async function m(e,r){try{const n=r.vocabApi.termdbConfig?.chartConfigByType?.profileBarchart;n.settings={profileBarchart:s()};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 r of e.rows){if(r.term1){r.term1.score.q=r.term1.maxScore.q={mode:"continuous"};p.push(r.term1.score);p.push(r.term1.maxScore)}if(r.term2){r.term2.score.q=r.term2.maxScore.q={mode:"continuous"};p.push(r.term2.score);p.push(r.term2.maxScore)}if(r.term1&&r.term2)t.hasSubjectiveData=true}}await o(p,r.vocabApi);await a(i,r);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
+ import{P as t,h as e,I as r}from"./app-488d9fd6.js";import{m as o}from"./termsetting-c12f1c69.js";import{getDefaultProfilePlotSettings as s,loadFilterTerms as a,profilePlot as n}from"./profilePlot-a2591a28.js";import{c as i}from"./axis-747c801e.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-0dd56dfd.js";import"./FilterRxComp-cb149666.js";import"./table-10183501.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./controls-f4648f7f.js";import"./controls.btns-26bb6ef1.js";import"./controls.config-9870bdea.js";import"./recover-edcdde38.js";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.js";import"./genesearch-d8780180.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 o=1400;const s=this.rowCount*32+600;this.svg=this.dom.plotDiv.append("svg").attr("width",o).attr("height",s);const a=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(a);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[r,o]of t.columnNames.entries()){if(r==1&&!e)break;m=r%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(o);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 r 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(r.term1)this.drawRect(m,d,r,"term1",t);if(r.term2)this.drawRect(m+p,d,r,"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 o=r().domain([0,100]).range([0,c]);n.append("g").attr("transform",`translate(${t}, ${e})`).call(i(o))}function u(t,e,r,o,s){const a=t+r/100*c;n.append("line").style("stroke","#aaa").style("stroke-width",1).style("stroke-dasharray","5, 5").attr("x1",a).attr("y1",e).attr("x2",a).attr("y2",o);n.append("text").attr("transform",`translate(${a+.125*c}, ${o+20})`).attr("text-anchor","middle").text(s).style("font-weight","bold");if(r==50)n.append("text").attr("transform",`translate(${a-.25*c}, ${o+20})`).attr("text-anchor","middle").text("C").style("font-weight","bold")}}drawRect(t,e,r,o,s){const a=this.configComponent.hasSubjectiveData;const n=r[o];let i=false;if((r.name=="Total Module"||r.name=="End-user Impression*")&&!r.term2)i=true;const l=n.score.term.color;const m=this.getPercentage(n);const d=o=="term1"||o=="term2"&&!r.term1;const h=o=="term1"?this.getPercentage(r.term2):this.getPercentage(r.term1);const f=m?m/100*c:0;if(m){const r=this.state.dslabel=="ProfileFull"&&this.settings.component=="Patients and Outcomes"?true:!i&&(h||!a);const o=s.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(r)o.attr("fill",l);else{const t=this.id+n.score.term.id;s.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);o.attr("fill",`url(#${t})`)}}const g=s.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&&o=="term1")g.attr("transform",`translate(${t+35}, ${e+15})`);if(d)s.append("text").attr("transform",`translate(${o=="term1"?t:t-p}, ${e+15})`).attr("text-anchor","end").text(r.name).attr("pointer-events","none")}drawLegendRect(t,e,r,o,s){const a=s.append("g").attr("transform",`translate(${t}, ${e})`).append("rect").attr("x",0).attr("y",0).attr("width",20).attr("height",20);if(r=="and")a.attr("fill","gray");else a.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(r);n.append("tspan").text(" Subjective data")}}async function m(e,r){try{const n=r.vocabApi.termdbConfig?.chartConfigByType?.profileBarchart;n.settings={profileBarchart:s()};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 r of e.rows){if(r.term1){r.term1.score.q=r.term1.maxScore.q={mode:"continuous"};p.push(r.term1.score);p.push(r.term1.maxScore)}if(r.term2){r.term2.score.q=r.term2.maxScore.q={mode:"continuous"};p.push(r.term2.score);p.push(r.term2.maxScore)}if(r.term1&&r.term2)t.hasSubjectiveData=true}}await o(p,r.vocabApi);await a(i,r);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};
@@ -0,0 +1 @@
1
+ import"./app-5aa892cb.js";import{d as t}from"./app-488d9fd6.js";import"./termsetting-c12f1c69.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./FilterRxComp-cb149666.js";import"./table-10183501.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.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 r=document.getElementById("profileIntro");r.innerHTML="";e.selectAll("*").remove();const n=t(document.getElementById("aaa"));n.selectAll("*").remove();const l={holder:n,state:{nav:{header_mode:"hidden"},vocab:{dslabel:o,genome:"hg38"}}};const s=await import("./app-d9433820.js");const p=await s.appInit(l);a(e,p,o,logged,site);i(p,"profilePolar","Polar Graph",logged,site)}function a(t,e,a,l,s){const p=a=="ProfileFull";const c=t.append("div").style("display","inline-flex").style("gap","5px").style("padding-left","10px").style("font-size","1.1em");c.append("button").text("Full PrOFILE").style("font-size","1.1em").style("background-color",a=="ProfileFull"?"orange":"").on("click",(e=>{o(t,"ProfileFull")}));c.append("button").text("Abbreviated PrOFILE").style("background-color",a=="ProfileAbbrev"?"orange":"").style("font-size","1.1em").on("click",(e=>o(t,"ProfileAbbrev")));c.append("button").text("Polar Graph").style("font-size","1.1em").on("click",(t=>i(e,"profilePolar","Polar Graph",l,s)));c.append("button").text("Bar Graph").style("font-size","1.1em").on("click",(t=>i(e,"profileBarchart","Bar Graph",l,s)));if(l)c.append("button").text("Radar 1-Score-based(Site)").style("font-size","1.1em").on("click",(t=>r(e,"profileRadarFacility","Radar 1-Score-based(Site)","plot1",l,s)));c.append("button").text("Radar 2-Impressions").style("font-size","1.1em").on("click",(t=>r(e,"profileRadar","Radar 2-Impressions","plot1",l,s)));if(p)c.append("button").text("Radar 3-Score-based(SC & POC)").style("font-size","1.1em").on("click",(t=>r(e,"profileRadar","Radar 3-Score-based(SC & POC)","plot2",l,s)));c.append("button").style("font-size","1.1em").on("click",(t=>n(e))).text("Delete All")}async function i(t,e,o,a,i){await t.dispatch({type:"plot_create",config:{chartType:e,header:o,logged:a,site:i}})}async function r(t,e,o,a,i,r){await t.dispatch({type:"plot_create",config:{chartType:e,plot:a,header:o,logged:i,site:r}})}async function n(t){for(const e of t.getState().plots){await t.dispatch({type:"plot_delete",id:e.id})}}export{e as init};
@@ -0,0 +1 @@
1
+ import{d as t}from"./svg.download-0dd56dfd.js";import{d as e,M as i,L as s}from"./app-488d9fd6.js";import{m as a}from"./termsetting-c12f1c69.js";import{c as o}from"./FilterRxComp-cb149666.js";import{controlsInit as n}from"./controls-f4648f7f.js";import{k as l}from"./recover-edcdde38.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./table-10183501.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./controls.btns-26bb6ef1.js";import"./controls.config-9870bdea.js";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.js";import"./genesearch-d8780180.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 d{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");const p=n.append("div").style("display","inline-block").style("font-size","0.9em");const d=n.append("div").style("margin-left","16px").style("margin-top","8px");const h=l.insert("div").style("display","inline-block");const c=h.append("div");this.dom={controlsDiv:p,iconsDiv:d,holder:h,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"](d.append("div").style("padding","0px 5px 15px 5px"),{title:"Prints page, select Save as PDF in the options to download as a pdf",handler:()=>{window.print()}});if(this.type!="profileRadarFacility"&&!a.settings[this.type].comparison){const t=d.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;e.style("background-color",i?"rgb(207, 226, 243)":"transparent");this.dom.holder2.selectAll("*").remove();if(i)await this.comparePlots()}))}if(this.type!="profileBarchart"){const t=d.append("div").style("padding-bottom","15px");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"](d.append("div").style("padding","0px 5px 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"](d.append("div").style("padding","3px"),{title:"Open a 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-fc3608a9.js");const i={chartType:this.type,settings:{[this.type]:{comparison:true}}};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=this.getList(this.config.regionTW);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.lst[0]}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;if(this.type!="profileRadarFacility")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.95em");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.9em");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.9em");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 h(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,h as loadFilterTerms,d as profilePlot};
@@ -1 +1 @@
1
- import{P as t,h as e}from"./app-3d14cbe4.js";import{m as s}from"./termsetting-7467350f.js";import{getDefaultProfilePlotSettings as o,loadFilterTerms as r,profilePlot as i}from"./profilePlot-5dd1fe71.js";import{r as a}from"./table-be2a9975.js";import{d as n}from"./arc-3d6751aa.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-cd895635.js";import"./FilterRxComp-e8de560c.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-a60aaa77.js";import"./controls-1d99916a.js";import"./controls.btns-237b3154.js";import"./controls.config-00ce9f0b.js";import"./recover-4888c2a9.js";import"./FilterStateless-75514d37.js";import"./app-bd9f016b.js";import"./termInfo-e16f90f2.js";import"./toggleButtons-2144daab.js";import"./genesearch-0587c713.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=1100;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, ${40})`).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=330;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})`);this.filterG=this.svg.append("g").attr("transform",`translate(${n+280},${l+150})`);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")}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
+ import{P as t,h as e}from"./app-488d9fd6.js";import{m as s}from"./termsetting-c12f1c69.js";import{getDefaultProfilePlotSettings as o,loadFilterTerms as r,profilePlot as i}from"./profilePlot-a2591a28.js";import{r as a}from"./table-10183501.js";import{d as n}from"./arc-3d6751aa.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-0dd56dfd.js";import"./FilterRxComp-cb149666.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./controls-f4648f7f.js";import"./controls.btns-26bb6ef1.js";import"./controls.config-9870bdea.js";import"./recover-edcdde38.js";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.js";import"./genesearch-d8780180.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=1100;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, ${40})`).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=330;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})`);this.filterG=this.svg.append("g").attr("transform",`translate(${n+280},${l+150})`);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")}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 +1 @@
1
- import{P as t,h as e}from"./app-3d14cbe4.js";import{m as s}from"./termsetting-7467350f.js";import{getDefaultProfilePlotSettings as a,loadFilterTerms as r,profilePlot as o}from"./profilePlot-5dd1fe71.js";import{r as n}from"./table-be2a9975.js";import{l as i}from"./line-264f8f9e.js";import{d as p}from"./arc-3d6751aa.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-cd895635.js";import"./FilterRxComp-e8de560c.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-a60aaa77.js";import"./controls-1d99916a.js";import"./controls.btns-237b3154.js";import"./controls.config-00ce9f0b.js";import"./recover-4888c2a9.js";import"./FilterStateless-75514d37.js";import"./app-bd9f016b.js";import"./termInfo-e16f90f2.js";import"./toggleButtons-2144daab.js";import"./genesearch-0587c713.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";import"./constant-426a1483.js";import"./math-2fb199c6.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.plotConfig=e[e.plot];this.lineGenerator=i();this.twLst=[];this.terms=this.plotConfig.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)}this.arcGenerator=p().innerRadius(0)}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=1180;const s=800;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","140px");const a=[];const r=[{label:"Color"},{label:"Module"},{label:t[t.plot].term1.abbrev},{label:t[t.plot].term2.abbrev},{label:"Diff"}];const o=this.radius;const i=370;const p=340;if(!this.settings.comparison)this.svg.append("text").attr("transform",`translate(60, ${40})`).attr("font-weight","bold").attr("font-size","0.9rem").text(t[t.plot].title);const l=this.svg.append("g").attr("transform",`translate(${i},${p})`);this.radarG=l;this.legendG=this.svg.append("g").attr("transform",`translate(${i+240},${p+250})`);this.filterG=this.svg.append("g").attr("transform",`translate(${40},${p+300})`);for(let t=0;t<=10;t++)this.addPoligon(t*10);let d=0;const h=[],c=[];for(let{module:t,term1:e,term2:s}of this.terms){const r=d*this.angle-Math.PI/2;const n=this.terms[d];const i=this.getPercentage(e);const p=this.getPercentage(s);this.radarG.append("path").datum({module:n.module,percentage1:i,percentage2:p}).attr("fill","transparent").attr("d",this.arcGenerator({outerRadius:this.radius,startAngle:d*this.angle-this.angle/2,endAngle:(d+1)*this.angle-this.angle/2})).on("click",(t=>this.onMouseOver(t)));this.addData("term2",p,r,c);this.addData("term1",i,r,h);const m=e.score.term.color;const f=Math.abs(i-p);const g={value:f};if(f>=20)g.color=p>i?"red":"blue";a.push([{color:m,disabled:true},{value:t},{value:i},{value:p},g]);d++;const u=r>Math.PI/2&&r<=3/2*Math.PI;let b=o*1.1*Math.cos(r);let x=o*1.1*Math.sin(r)-10;const v=l.append("text").attr("x",`${b}px`).attr("y",`${x}px`);const y=t.split(" ");let $;y.forEach(((t,e)=>{if(t!="and"){x+=15;$=v.append("tspan").attr("x",`${b}px`).attr("y",`${x}px`).text(t+"")}else $.append("tspan").text(" and")}));if(u)v.attr("text-anchor","end")}if(this.settings.showTable)n({rows:a,columns:r,div:this.tableDiv,showLines:true,resize:true,maxHeight:"60vh"});h.push(h[0]);c.push(c[0]);const m="blue",f="gray";l.append("g").append("path").style("stroke",f).attr("fill","none").style("stroke-dasharray","5, 5").attr("stroke-width","2px").attr("d",this.lineGenerator(c));l.append("g").append("path").style("stroke",m).attr("fill","none").attr("stroke-width","2px").attr("d",this.lineGenerator(h));for(let t=0;t<=10;t++){const e=t*10;l.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 a=`${t[t.plot].term2.name} ${e}`;this.addLegendItem(a,f,1,"5, 5");if(this.state.dslabel=="ProfileAbbrev")this.addEndUserImpressionNote(this.legendG.append("g").attr("transform",`translate(-50, -15)`));else this.addPOCNote(this.legendG.append("g").attr("transform",`translate(0, -15)`))}this.addFilterLegend()}addData(t,e,s,a){const r=e/100*this.radius;let o=r*Math.cos(s);let n=r*Math.sin(s);const i=t=="term1"?"blue":"#aaa";this.radarG.append("g").attr("transform",`translate(${o}, ${n})`).append("circle").attr("r",4).attr("fill",i);a.push([o,n])}addPoligon(t){const e=[];for(let s=0;s<this.terms.length;s++){const a=s*this.angle-Math.PI/2;const r=t/100*this.radius;const o=r*Math.cos(a);const n=r*Math.sin(a);e.push([o,n])}e.push(e[0]);this.radarG.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 r=25;const o=r+s*r;const n=35;this.legendG.append("path").attr("stroke",e).style("stroke-dasharray",a).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){const e=t.target.__data__;if(e?.module){const s=this.plotConfig.term1.name;const a=this.plotConfig.term2.name;const r=this.tip.clear();r.d.append("div").style("font-weight","bold").text(e.module);const o=r.d.append("table");let n=o.append("tr");n.append("td").text(s);n.append("td").text(e.percentage1);n=o.append("tr");n.append("td").text(a);n.append("td").text(e.percentage2);r.show(t.clientX,t.clientY,true,true)}else this.onMouseOut(t)}onMouseOut(t){this.tip.hide()}}async function d(e,o){try{const n=o.vocabApi.termdbConfig?.chartConfigByType?.profileRadar;n.settings={profileRadar:a()};if(!n)throw"default config not found in termdbConfig.chartConfigByType.profileRadar";const i=t(structuredClone(n),e);i.settings.controls={isOpen:false};const p=i[e.plot].terms;const l=[];for(const t of p){t.term1.score.q={mode:"continuous"};l.push(t.term1.score);if(t.term1.maxScore.id){t.term1.maxScore.q={mode:"continuous"};l.push(t.term1.maxScore)}t.term2.score.q={mode:"continuous"};l.push(t.term2.score);if(t.term2.maxScore.id){t.term2.maxScore.q={mode:"continuous"};l.push(t.term2.maxScore)}}await s(l,o.vocabApi);await r(i,o);return i}catch(t){throw`${t} [profileRadar getPlotConfig()]`}}const h=e(l);const c=h;export{c as componentInit,d as getPlotConfig,h as profileRadarInit};
1
+ import{P as t,h as e}from"./app-488d9fd6.js";import{m as s}from"./termsetting-c12f1c69.js";import{getDefaultProfilePlotSettings as a,loadFilterTerms as r,profilePlot as o}from"./profilePlot-a2591a28.js";import{r as n}from"./table-10183501.js";import{l as i}from"./line-264f8f9e.js";import{d as p}from"./arc-3d6751aa.js";import"./tslib.es6-c3c2d88f.js";import"path";import"./svg.download-0dd56dfd.js";import"./FilterRxComp-cb149666.js";import"./partjson.esm-b3f1fc21.js";import"./termdb.bins-06fd21c1.js";import"./controls-f4648f7f.js";import"./controls.btns-26bb6ef1.js";import"./controls.config-9870bdea.js";import"./recover-edcdde38.js";import"./FilterStateless-bdd1416d.js";import"./app-5aa892cb.js";import"./termInfo-4d954045.js";import"./toggleButtons-bb9aca2f.js";import"./genesearch-d8780180.js";import"./checkbox-96437f4d.js";import"./rehydrateFilter-12d118cb.js";import"./constant-426a1483.js";import"./math-2fb199c6.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.plotConfig=e[e.plot];this.lineGenerator=i();this.twLst=[];this.terms=this.plotConfig.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)}this.arcGenerator=p().innerRadius(0)}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=1180;const s=800;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","140px");const a=[];const r=[{label:"Color"},{label:"Module"},{label:t[t.plot].term1.abbrev},{label:t[t.plot].term2.abbrev},{label:"Diff"}];const o=this.radius;const i=370;const p=340;if(!this.settings.comparison)this.svg.append("text").attr("transform",`translate(60, ${40})`).attr("font-weight","bold").attr("font-size","0.9rem").text(t[t.plot].title);const l=this.svg.append("g").attr("transform",`translate(${i},${p})`);this.radarG=l;this.legendG=this.svg.append("g").attr("transform",`translate(${i+240},${p+250})`);this.filterG=this.svg.append("g").attr("transform",`translate(${40},${p+300})`);for(let t=0;t<=10;t++)this.addPoligon(t*10);let d=0;const h=[],c=[];for(let{module:t,term1:e,term2:s}of this.terms){const r=d*this.angle-Math.PI/2;const n=this.terms[d];const i=this.getPercentage(e);const p=this.getPercentage(s);this.radarG.append("path").datum({module:n.module,percentage1:i,percentage2:p}).attr("fill","transparent").attr("d",this.arcGenerator({outerRadius:this.radius,startAngle:d*this.angle-this.angle/2,endAngle:(d+1)*this.angle-this.angle/2})).on("click",(t=>this.onMouseOver(t)));this.addData("term2",p,r,c);this.addData("term1",i,r,h);const m=e.score.term.color;const f=Math.abs(i-p);const g={value:f};if(f>=20)g.color=p>i?"red":"blue";a.push([{color:m,disabled:true},{value:t},{value:i},{value:p},g]);d++;const u=r>Math.PI/2&&r<=3/2*Math.PI;let b=o*1.1*Math.cos(r);let x=o*1.1*Math.sin(r)-10;const v=l.append("text").attr("x",`${b}px`).attr("y",`${x}px`);const y=t.split(" ");let $;y.forEach(((t,e)=>{if(t!="and"){x+=15;$=v.append("tspan").attr("x",`${b}px`).attr("y",`${x}px`).text(t+"")}else $.append("tspan").text(" and")}));if(u)v.attr("text-anchor","end")}if(this.settings.showTable)n({rows:a,columns:r,div:this.tableDiv,showLines:true,resize:true,maxHeight:"60vh"});h.push(h[0]);c.push(c[0]);const m="blue",f="gray";l.append("g").append("path").style("stroke",f).attr("fill","none").style("stroke-dasharray","5, 5").attr("stroke-width","2px").attr("d",this.lineGenerator(c));l.append("g").append("path").style("stroke",m).attr("fill","none").attr("stroke-width","2px").attr("d",this.lineGenerator(h));for(let t=0;t<=10;t++){const e=t*10;l.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 a=`${t[t.plot].term2.name} ${e}`;this.addLegendItem(a,f,1,"5, 5");if(this.state.dslabel=="ProfileAbbrev")this.addEndUserImpressionNote(this.legendG.append("g").attr("transform",`translate(-50, -15)`));else this.addPOCNote(this.legendG.append("g").attr("transform",`translate(0, -15)`))}this.addFilterLegend()}addData(t,e,s,a){const r=e/100*this.radius;let o=r*Math.cos(s);let n=r*Math.sin(s);const i=t=="term1"?"blue":"#aaa";this.radarG.append("g").attr("transform",`translate(${o}, ${n})`).append("circle").attr("r",4).attr("fill",i);a.push([o,n])}addPoligon(t){const e=[];for(let s=0;s<this.terms.length;s++){const a=s*this.angle-Math.PI/2;const r=t/100*this.radius;const o=r*Math.cos(a);const n=r*Math.sin(a);e.push([o,n])}e.push(e[0]);this.radarG.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 r=25;const o=r+s*r;const n=35;this.legendG.append("path").attr("stroke",e).style("stroke-dasharray",a).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){const e=t.target.__data__;if(e?.module){const s=this.plotConfig.term1.name;const a=this.plotConfig.term2.name;const r=this.tip.clear();r.d.append("div").style("font-weight","bold").text(e.module);const o=r.d.append("table");let n=o.append("tr");n.append("td").text(s);n.append("td").text(e.percentage1);n=o.append("tr");n.append("td").text(a);n.append("td").text(e.percentage2);r.show(t.clientX,t.clientY,true,true)}else this.onMouseOut(t)}onMouseOut(t){this.tip.hide()}}async function d(e,o){try{const n=o.vocabApi.termdbConfig?.chartConfigByType?.profileRadar;n.settings={profileRadar:a()};if(!n)throw"default config not found in termdbConfig.chartConfigByType.profileRadar";const i=t(structuredClone(n),e);i.settings.controls={isOpen:false};const p=i[e.plot].terms;const l=[];for(const t of p){t.term1.score.q={mode:"continuous"};l.push(t.term1.score);if(t.term1.maxScore.id){t.term1.maxScore.q={mode:"continuous"};l.push(t.term1.maxScore)}t.term2.score.q={mode:"continuous"};l.push(t.term2.score);if(t.term2.maxScore.id){t.term2.maxScore.q={mode:"continuous"};l.push(t.term2.maxScore)}}await s(l,o.vocabApi);await r(i,o);return i}catch(t){throw`${t} [profileRadar getPlotConfig()]`}}const h=e(l);const c=h;export{c as componentInit,d as getPlotConfig,h as profileRadarInit};