@weng-lab/ui-components 2.0.3 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/TwoPaneLayout/DownloadModal.d.ts +11 -0
- package/dist/src/components/TwoPaneLayout/DownloadModal.d.ts.map +1 -0
- package/dist/src/components/TwoPaneLayout/FigurePanel.d.ts +12 -0
- package/dist/src/components/TwoPaneLayout/FigurePanel.d.ts.map +1 -0
- package/dist/src/components/TwoPaneLayout/TwoPaneLayout.d.ts +4 -0
- package/dist/src/components/TwoPaneLayout/TwoPaneLayout.d.ts.map +1 -0
- package/dist/src/components/TwoPaneLayout/index.d.ts +3 -0
- package/dist/src/components/TwoPaneLayout/index.d.ts.map +1 -0
- package/dist/src/components/TwoPaneLayout/types.d.ts +17 -0
- package/dist/src/components/TwoPaneLayout/types.d.ts.map +1 -0
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/ui-components.es.js +46 -44
- package/dist/ui-components.es.js.map +1 -1
- package/dist/ui-components.es10.js +47 -29
- package/dist/ui-components.es10.js.map +1 -1
- package/dist/ui-components.es100.js +7 -14
- package/dist/ui-components.es100.js.map +1 -1
- package/dist/ui-components.es101.js +21 -2
- package/dist/ui-components.es101.js.map +1 -1
- package/dist/ui-components.es102.js +8 -75
- package/dist/ui-components.es102.js.map +1 -1
- package/dist/ui-components.es103.js +111 -92
- package/dist/ui-components.es103.js.map +1 -1
- package/dist/ui-components.es104.js +15 -50
- package/dist/ui-components.es104.js.map +1 -1
- package/dist/ui-components.es105.js +21 -7
- package/dist/ui-components.es105.js.map +1 -1
- package/dist/ui-components.es106.js +6 -4
- package/dist/ui-components.es106.js.map +1 -1
- package/dist/ui-components.es107.js +6 -51
- package/dist/ui-components.es107.js.map +1 -1
- package/dist/ui-components.es108.js +48 -209
- package/dist/ui-components.es108.js.map +1 -1
- package/dist/ui-components.es109.js +18 -8
- package/dist/ui-components.es109.js.map +1 -1
- package/dist/ui-components.es11.js +328 -96
- package/dist/ui-components.es11.js.map +1 -1
- package/dist/ui-components.es110.js +413 -3
- package/dist/ui-components.es110.js.map +1 -1
- package/dist/ui-components.es111.js +498 -2
- package/dist/ui-components.es111.js.map +1 -1
- package/dist/ui-components.es112.js +344 -8
- package/dist/ui-components.es112.js.map +1 -1
- package/dist/ui-components.es113.js +272 -3
- package/dist/ui-components.es113.js.map +1 -1
- package/dist/ui-components.es114.js +174 -153
- package/dist/ui-components.es114.js.map +1 -1
- package/dist/ui-components.es115.js +278 -56
- package/dist/ui-components.es115.js.map +1 -1
- package/dist/ui-components.es116.js +232 -253
- package/dist/ui-components.es116.js.map +1 -1
- package/dist/ui-components.es117.js +3 -160
- package/dist/ui-components.es117.js.map +1 -1
- package/dist/ui-components.es118.js +2 -75
- package/dist/ui-components.es118.js.map +1 -1
- package/dist/ui-components.es119.js +3 -64
- package/dist/ui-components.es119.js.map +1 -1
- package/dist/ui-components.es12.js +30 -3
- package/dist/ui-components.es12.js.map +1 -1
- package/dist/ui-components.es120.js +30 -40
- package/dist/ui-components.es120.js.map +1 -1
- package/dist/ui-components.es121.js +15 -5
- package/dist/ui-components.es121.js.map +1 -1
- package/dist/ui-components.es122.js +57 -4
- package/dist/ui-components.es122.js.map +1 -1
- package/dist/ui-components.es123.js +4 -39
- package/dist/ui-components.es123.js.map +1 -1
- package/dist/ui-components.es124.js +6 -26
- package/dist/ui-components.es124.js.map +1 -1
- package/dist/ui-components.es125.js +7 -4
- package/dist/ui-components.es125.js.map +1 -1
- package/dist/ui-components.es126.js +10 -7
- package/dist/ui-components.es126.js.map +1 -1
- package/dist/ui-components.es127.js +3 -29
- package/dist/ui-components.es127.js.map +1 -1
- package/dist/ui-components.es128.js +14 -9
- package/dist/ui-components.es128.js.map +1 -1
- package/dist/ui-components.es129.js +2 -115
- package/dist/ui-components.es129.js.map +1 -1
- package/dist/ui-components.es13.js +2 -2
- package/dist/ui-components.es130.js +7 -12
- package/dist/ui-components.es130.js.map +1 -1
- package/dist/ui-components.es131.js +325 -4
- package/dist/ui-components.es131.js.map +1 -1
- package/dist/ui-components.es132.js +49 -293
- package/dist/ui-components.es132.js.map +1 -1
- package/dist/ui-components.es133.js +2 -94
- package/dist/ui-components.es133.js.map +1 -1
- package/dist/ui-components.es134.js +3 -82
- package/dist/ui-components.es134.js.map +1 -1
- package/dist/ui-components.es135.js +7 -77
- package/dist/ui-components.es135.js.map +1 -1
- package/dist/ui-components.es136.js +3 -16
- package/dist/ui-components.es136.js.map +1 -1
- package/dist/ui-components.es137.js +8 -2
- package/dist/ui-components.es137.js.map +1 -1
- package/dist/ui-components.es138.js +4 -31
- package/dist/ui-components.es138.js.map +1 -1
- package/dist/ui-components.es139.js +7 -15
- package/dist/ui-components.es139.js.map +1 -1
- package/dist/ui-components.es14.js +6 -20
- package/dist/ui-components.es14.js.map +1 -1
- package/dist/ui-components.es140.js +7 -6
- package/dist/ui-components.es140.js.map +1 -1
- package/dist/ui-components.es141.js +4 -5
- package/dist/ui-components.es141.js.map +1 -1
- package/dist/ui-components.es142.js +6 -29
- package/dist/ui-components.es142.js.map +1 -1
- package/dist/ui-components.es143.js +30 -4
- package/dist/ui-components.es143.js.map +1 -1
- package/dist/ui-components.es144.js +6 -6
- package/dist/ui-components.es144.js.map +1 -1
- package/dist/ui-components.es145.js +7 -4
- package/dist/ui-components.es145.js.map +1 -1
- package/dist/ui-components.es146.js +3 -7
- package/dist/ui-components.es146.js.map +1 -1
- package/dist/ui-components.es147.js +28 -6
- package/dist/ui-components.es147.js.map +1 -1
- package/dist/ui-components.es148.js +3 -7
- package/dist/ui-components.es148.js.map +1 -1
- package/dist/ui-components.es149.js +24 -47
- package/dist/ui-components.es149.js.map +1 -1
- package/dist/ui-components.es15.js +3 -125
- package/dist/ui-components.es15.js.map +1 -1
- package/dist/ui-components.es150.js +12 -198
- package/dist/ui-components.es150.js.map +1 -1
- package/dist/ui-components.es151.js +3 -18
- package/dist/ui-components.es151.js.map +1 -1
- package/dist/ui-components.es152.js +9 -280
- package/dist/ui-components.es152.js.map +1 -1
- package/dist/ui-components.es153.js +12 -8
- package/dist/ui-components.es153.js.map +1 -1
- package/dist/ui-components.es154.js +9 -6
- package/dist/ui-components.es154.js.map +1 -1
- package/dist/ui-components.es155.js +34 -6
- package/dist/ui-components.es155.js.map +1 -1
- package/dist/ui-components.es156.js +23 -3
- package/dist/ui-components.es156.js.map +1 -1
- package/dist/ui-components.es157.js +11 -7
- package/dist/ui-components.es157.js.map +1 -1
- package/dist/ui-components.es158.js +1 -3
- package/dist/ui-components.es158.js.map +1 -1
- package/dist/ui-components.es159.js +7 -5
- package/dist/ui-components.es159.js.map +1 -1
- package/dist/ui-components.es16.js +53 -35
- package/dist/ui-components.es16.js.map +1 -1
- package/dist/ui-components.es160.js +198 -12
- package/dist/ui-components.es160.js.map +1 -1
- package/dist/ui-components.es161.js +7 -7
- package/dist/ui-components.es161.js.map +1 -1
- package/dist/ui-components.es162.js +4 -25
- package/dist/ui-components.es162.js.map +1 -1
- package/dist/ui-components.es163.js +5 -160
- package/dist/ui-components.es163.js.map +1 -1
- package/dist/ui-components.es164.js +12 -3
- package/dist/ui-components.es164.js.map +1 -1
- package/dist/ui-components.es165.js +7 -20
- package/dist/ui-components.es165.js.map +1 -1
- package/dist/ui-components.es166.js +161 -7
- package/dist/ui-components.es166.js.map +1 -1
- package/dist/ui-components.es167.js +4 -7
- package/dist/ui-components.es167.js.map +1 -1
- package/dist/ui-components.es168.js +19 -335
- package/dist/ui-components.es168.js.map +1 -1
- package/dist/ui-components.es169.js +7 -15
- package/dist/ui-components.es169.js.map +1 -1
- package/dist/ui-components.es17.js +159 -20
- package/dist/ui-components.es17.js.map +1 -1
- package/dist/ui-components.es170.js +7 -7
- package/dist/ui-components.es170.js.map +1 -1
- package/dist/ui-components.es171.js +337 -4
- package/dist/ui-components.es171.js.map +1 -1
- package/dist/ui-components.es172.js +3 -4
- package/dist/ui-components.es172.js.map +1 -1
- package/dist/ui-components.es173.js +7 -36
- package/dist/ui-components.es173.js.map +1 -1
- package/dist/ui-components.es174.js +4 -249
- package/dist/ui-components.es174.js.map +1 -1
- package/dist/ui-components.es175.js +4 -312
- package/dist/ui-components.es175.js.map +1 -1
- package/dist/ui-components.es176.js +36 -6
- package/dist/ui-components.es176.js.map +1 -1
- package/dist/ui-components.es177.js +249 -7
- package/dist/ui-components.es177.js.map +1 -1
- package/dist/ui-components.es178.js +8 -7
- package/dist/ui-components.es178.js.map +1 -1
- package/dist/ui-components.es179.js +312 -8
- package/dist/ui-components.es179.js.map +1 -1
- package/dist/ui-components.es18.js +6 -254
- package/dist/ui-components.es18.js.map +1 -1
- package/dist/ui-components.es180.js +7 -60
- package/dist/ui-components.es180.js.map +1 -1
- package/dist/ui-components.es181.js +7 -8
- package/dist/ui-components.es181.js.map +1 -1
- package/dist/ui-components.es182.js +7 -7
- package/dist/ui-components.es182.js.map +1 -1
- package/dist/ui-components.es183.js +7 -7
- package/dist/ui-components.es183.js.map +1 -1
- package/dist/ui-components.es184.js +59 -6
- package/dist/ui-components.es184.js.map +1 -1
- package/dist/ui-components.es185.js +7 -6
- package/dist/ui-components.es185.js.map +1 -1
- package/dist/ui-components.es186.js +7 -7
- package/dist/ui-components.es186.js.map +1 -1
- package/dist/ui-components.es187.js +125 -7
- package/dist/ui-components.es187.js.map +1 -1
- package/dist/ui-components.es188.js +4 -25
- package/dist/ui-components.es188.js.map +1 -1
- package/dist/ui-components.es189.js +4 -28
- package/dist/ui-components.es189.js.map +1 -1
- package/dist/ui-components.es19.js +69 -38
- package/dist/ui-components.es19.js.map +1 -1
- package/dist/ui-components.es190.js +101 -11
- package/dist/ui-components.es190.js.map +1 -1
- package/dist/ui-components.es191.js +6 -4
- package/dist/ui-components.es191.js.map +1 -1
- package/dist/ui-components.es192.js +50 -183
- package/dist/ui-components.es192.js.map +1 -1
- package/dist/ui-components.es193.js +148 -164
- package/dist/ui-components.es193.js.map +1 -1
- package/dist/ui-components.es194.js +192 -9
- package/dist/ui-components.es194.js.map +1 -1
- package/dist/ui-components.es195.js +2 -2
- package/dist/ui-components.es196.js +7 -3
- package/dist/ui-components.es196.js.map +1 -1
- package/dist/ui-components.es197.js +6 -31
- package/dist/ui-components.es197.js.map +1 -1
- package/dist/ui-components.es198.js +7 -125
- package/dist/ui-components.es198.js.map +1 -1
- package/dist/ui-components.es199.js +25 -4
- package/dist/ui-components.es199.js.map +1 -1
- package/dist/ui-components.es2.js +6 -6
- package/dist/ui-components.es20.js +29 -40
- package/dist/ui-components.es20.js.map +1 -1
- package/dist/ui-components.es200.js +4 -4
- package/dist/ui-components.es200.js.map +1 -1
- package/dist/ui-components.es201.js +196 -3
- package/dist/ui-components.es201.js.map +1 -1
- package/dist/ui-components.es202.js +187 -100
- package/dist/ui-components.es202.js.map +1 -1
- package/dist/ui-components.es203.js +258 -6
- package/dist/ui-components.es203.js.map +1 -1
- package/dist/ui-components.es204.js +157 -61
- package/dist/ui-components.es204.js.map +1 -1
- package/dist/ui-components.es205.js +71 -169
- package/dist/ui-components.es205.js.map +1 -1
- package/dist/ui-components.es206.js +63 -192
- package/dist/ui-components.es206.js.map +1 -1
- package/dist/ui-components.es207.js +41 -6
- package/dist/ui-components.es207.js.map +1 -1
- package/dist/ui-components.es208.js +156 -2
- package/dist/ui-components.es208.js.map +1 -1
- package/dist/ui-components.es209.js +5 -2
- package/dist/ui-components.es209.js.map +1 -1
- package/dist/ui-components.es21.js +32 -6
- package/dist/ui-components.es21.js.map +1 -1
- package/dist/ui-components.es210.js +39 -7
- package/dist/ui-components.es210.js.map +1 -1
- package/dist/ui-components.es211.js +26 -412
- package/dist/ui-components.es211.js.map +1 -1
- package/dist/ui-components.es212.js +8 -498
- package/dist/ui-components.es212.js.map +1 -1
- package/dist/ui-components.es213.js +29 -344
- package/dist/ui-components.es213.js.map +1 -1
- package/dist/ui-components.es214.js +9 -271
- package/dist/ui-components.es214.js.map +1 -1
- package/dist/ui-components.es215.js +109 -171
- package/dist/ui-components.es215.js.map +1 -1
- package/dist/ui-components.es216.js +13 -238
- package/dist/ui-components.es216.js.map +1 -1
- package/dist/ui-components.es217.js +4 -110
- package/dist/ui-components.es217.js.map +1 -1
- package/dist/ui-components.es218.js +294 -17
- package/dist/ui-components.es218.js.map +1 -1
- package/dist/ui-components.es219.js +87 -443
- package/dist/ui-components.es219.js.map +1 -1
- package/dist/ui-components.es22.js +255 -6
- package/dist/ui-components.es22.js.map +1 -1
- package/dist/ui-components.es220.js +81 -3
- package/dist/ui-components.es220.js.map +1 -1
- package/dist/ui-components.es221.js +78 -3
- package/dist/ui-components.es221.js.map +1 -1
- package/dist/ui-components.es222.js +14 -40
- package/dist/ui-components.es222.js.map +1 -1
- package/dist/ui-components.es223.js +2 -8
- package/dist/ui-components.es223.js.map +1 -1
- package/dist/ui-components.es224.js +3 -23
- package/dist/ui-components.es224.js.map +1 -1
- package/dist/ui-components.es225.js +46 -2
- package/dist/ui-components.es225.js.map +1 -1
- package/dist/ui-components.es226.js +10 -231
- package/dist/ui-components.es226.js.map +1 -1
- package/dist/ui-components.es227.js +25 -2
- package/dist/ui-components.es227.js.map +1 -1
- package/dist/ui-components.es228.js +35 -2
- package/dist/ui-components.es228.js.map +1 -1
- package/dist/ui-components.es229.js +8 -10
- package/dist/ui-components.es229.js.map +1 -1
- package/dist/ui-components.es23.js +1035 -6
- package/dist/ui-components.es23.js.map +1 -1
- package/dist/ui-components.es230.js +3 -2
- package/dist/ui-components.es230.js.map +1 -1
- package/dist/ui-components.es231.js +7 -2
- package/dist/ui-components.es231.js.map +1 -1
- package/dist/ui-components.es232.js +476 -2
- package/dist/ui-components.es232.js.map +1 -1
- package/dist/ui-components.es233.js +167 -2
- package/dist/ui-components.es233.js.map +1 -1
- package/dist/ui-components.es234.js +232 -2
- package/dist/ui-components.es234.js.map +1 -1
- package/dist/ui-components.es235.js +2 -2
- package/dist/ui-components.es236.js +2 -2
- package/dist/ui-components.es237.js +10 -2
- package/dist/ui-components.es237.js.map +1 -1
- package/dist/ui-components.es238.js +2 -3
- package/dist/ui-components.es238.js.map +1 -1
- package/dist/ui-components.es239.js +2 -7
- package/dist/ui-components.es239.js.map +1 -1
- package/dist/ui-components.es24.js +124 -6
- package/dist/ui-components.es24.js.map +1 -1
- package/dist/ui-components.es240.js +2 -476
- package/dist/ui-components.es240.js.map +1 -1
- package/dist/ui-components.es241.js +2 -167
- package/dist/ui-components.es241.js.map +1 -1
- package/dist/ui-components.es242.js +2 -25
- package/dist/ui-components.es242.js.map +1 -1
- package/dist/ui-components.es243.js +2 -35
- package/dist/ui-components.es243.js.map +1 -1
- package/dist/ui-components.es244.js +2 -8
- package/dist/ui-components.es244.js.map +1 -1
- package/dist/ui-components.es246.js +2 -2
- package/dist/ui-components.es247.js +1 -1
- package/dist/ui-components.es248.js +1 -1
- package/dist/ui-components.es249.js +2 -2
- package/dist/ui-components.es25.js +386 -6
- package/dist/ui-components.es25.js.map +1 -1
- package/dist/ui-components.es250.js +2 -2
- package/dist/ui-components.es251.js +2 -65
- package/dist/ui-components.es251.js.map +1 -1
- package/dist/ui-components.es252.js +75 -7
- package/dist/ui-components.es252.js.map +1 -1
- package/dist/ui-components.es253.js +92 -46
- package/dist/ui-components.es253.js.map +1 -1
- package/dist/ui-components.es254.js +50 -39
- package/dist/ui-components.es254.js.map +1 -1
- package/dist/ui-components.es255.js +7 -60
- package/dist/ui-components.es255.js.map +1 -1
- package/dist/ui-components.es256.js +5 -76
- package/dist/ui-components.es256.js.map +1 -1
- package/dist/ui-components.es257.js +51 -23
- package/dist/ui-components.es257.js.map +1 -1
- package/dist/ui-components.es258.js +143 -39
- package/dist/ui-components.es258.js.map +1 -1
- package/dist/ui-components.es259.js +9 -38
- package/dist/ui-components.es259.js.map +1 -1
- package/dist/ui-components.es26.js +41 -6
- package/dist/ui-components.es26.js.map +1 -1
- package/dist/ui-components.es260.js +3 -31
- package/dist/ui-components.es260.js.map +1 -1
- package/dist/ui-components.es261.js +15 -117
- package/dist/ui-components.es261.js.map +1 -1
- package/dist/ui-components.es262.js +39 -57
- package/dist/ui-components.es262.js.map +1 -1
- package/dist/ui-components.es263.js +18 -3
- package/dist/ui-components.es263.js.map +1 -1
- package/dist/ui-components.es264.js +29 -13
- package/dist/ui-components.es264.js.map +1 -1
- package/dist/ui-components.es265.js +6 -38
- package/dist/ui-components.es265.js.map +1 -1
- package/dist/ui-components.es266.js +7 -5
- package/dist/ui-components.es266.js.map +1 -1
- package/dist/ui-components.es267.js +59 -16
- package/dist/ui-components.es267.js.map +1 -1
- package/dist/ui-components.es268.js +31 -9
- package/dist/ui-components.es268.js.map +1 -1
- package/dist/ui-components.es269.js +117 -7
- package/dist/ui-components.es269.js.map +1 -1
- package/dist/ui-components.es27.js +6 -6
- package/dist/ui-components.es27.js.map +1 -1
- package/dist/ui-components.es270.js +3 -7
- package/dist/ui-components.es270.js.map +1 -1
- package/dist/ui-components.es271.js +15 -8
- package/dist/ui-components.es271.js.map +1 -1
- package/dist/ui-components.es272.js +39 -8
- package/dist/ui-components.es272.js.map +1 -1
- package/dist/ui-components.es273.js +4 -8
- package/dist/ui-components.es273.js.map +1 -1
- package/dist/ui-components.es274.js +17 -5
- package/dist/ui-components.es274.js.map +1 -1
- package/dist/ui-components.es275.js +6 -8
- package/dist/ui-components.es275.js.map +1 -1
- package/dist/ui-components.es276.js +8 -42
- package/dist/ui-components.es276.js.map +1 -1
- package/dist/ui-components.es277.js +8 -4
- package/dist/ui-components.es277.js.map +1 -1
- package/dist/ui-components.es278.js +8 -46
- package/dist/ui-components.es278.js.map +1 -1
- package/dist/ui-components.es279.js +7 -10
- package/dist/ui-components.es279.js.map +1 -1
- package/dist/ui-components.es28.js +6 -255
- package/dist/ui-components.es28.js.map +1 -1
- package/dist/ui-components.es280.js +9 -7
- package/dist/ui-components.es280.js.map +1 -1
- package/dist/ui-components.es281.js +4 -6
- package/dist/ui-components.es281.js.map +1 -1
- package/dist/ui-components.es282.js +11 -9
- package/dist/ui-components.es282.js.map +1 -1
- package/dist/ui-components.es283.js +11 -3
- package/dist/ui-components.es283.js.map +1 -1
- package/dist/ui-components.es284.js +11 -3
- package/dist/ui-components.es284.js.map +1 -1
- package/dist/ui-components.es285.js +7 -12
- package/dist/ui-components.es285.js.map +1 -1
- package/dist/ui-components.es286.js +171 -8
- package/dist/ui-components.es286.js.map +1 -1
- package/dist/ui-components.es287.js +8 -2
- package/dist/ui-components.es287.js.map +1 -1
- package/dist/ui-components.es288.js +147 -72
- package/dist/ui-components.es288.js.map +1 -1
- package/dist/ui-components.es289.js +11 -74
- package/dist/ui-components.es289.js.map +1 -1
- package/dist/ui-components.es29.js +6 -718
- package/dist/ui-components.es29.js.map +1 -1
- package/dist/ui-components.es290.js +7 -3
- package/dist/ui-components.es290.js.map +1 -1
- package/dist/ui-components.es291.js +7 -7
- package/dist/ui-components.es291.js.map +1 -1
- package/dist/ui-components.es292.js +2 -20
- package/dist/ui-components.es292.js.map +1 -1
- package/dist/ui-components.es293.js +2 -51
- package/dist/ui-components.es293.js.map +1 -1
- package/dist/ui-components.es294.js +505 -6
- package/dist/ui-components.es294.js.map +1 -1
- package/dist/ui-components.es295.js +6 -20
- package/dist/ui-components.es295.js.map +1 -1
- package/dist/ui-components.es296.js +234 -5
- package/dist/ui-components.es296.js.map +1 -1
- package/dist/ui-components.es297.js +8 -3
- package/dist/ui-components.es297.js.map +1 -1
- package/dist/ui-components.es298.js +7 -25
- package/dist/ui-components.es298.js.map +1 -1
- package/dist/ui-components.es299.js +2 -13
- package/dist/ui-components.es299.js.map +1 -1
- package/dist/ui-components.es3.js +31 -31
- package/dist/ui-components.es30.js +6 -661
- package/dist/ui-components.es30.js.map +1 -1
- package/dist/ui-components.es300.js +74 -15
- package/dist/ui-components.es300.js.map +1 -1
- package/dist/ui-components.es301.js +74 -9
- package/dist/ui-components.es301.js.map +1 -1
- package/dist/ui-components.es302.js +63 -8
- package/dist/ui-components.es302.js.map +1 -1
- package/dist/ui-components.es303.js +7 -146
- package/dist/ui-components.es303.js.map +1 -1
- package/dist/ui-components.es304.js +45 -9
- package/dist/ui-components.es304.js.map +1 -1
- package/dist/ui-components.es305.js +41 -19
- package/dist/ui-components.es305.js.map +1 -1
- package/dist/ui-components.es306.js +57 -502
- package/dist/ui-components.es306.js.map +1 -1
- package/dist/ui-components.es307.js +76 -7
- package/dist/ui-components.es307.js.map +1 -1
- package/dist/ui-components.es308.js +23 -233
- package/dist/ui-components.es308.js.map +1 -1
- package/dist/ui-components.es309.js +42 -7
- package/dist/ui-components.es309.js.map +1 -1
- package/dist/ui-components.es31.js +6 -11
- package/dist/ui-components.es31.js.map +1 -1
- package/dist/ui-components.es310.js +39 -6
- package/dist/ui-components.es310.js.map +1 -1
- package/dist/ui-components.es311.js +6 -6
- package/dist/ui-components.es311.js.map +1 -1
- package/dist/ui-components.es312.js +6 -6
- package/dist/ui-components.es312.js.map +1 -1
- package/dist/ui-components.es313.js +5 -5
- package/dist/ui-components.es313.js.map +1 -1
- package/dist/ui-components.es314.js +7 -7
- package/dist/ui-components.es314.js.map +1 -1
- package/dist/ui-components.es315.js +7 -243
- package/dist/ui-components.es315.js.map +1 -1
- package/dist/ui-components.es316.js +243 -8
- package/dist/ui-components.es316.js.map +1 -1
- package/dist/ui-components.es317.js +7 -48
- package/dist/ui-components.es317.js.map +1 -1
- package/dist/ui-components.es318.js +49 -3
- package/dist/ui-components.es318.js.map +1 -1
- package/dist/ui-components.es319.js +3 -7
- package/dist/ui-components.es319.js.map +1 -1
- package/dist/ui-components.es32.js +6 -75
- package/dist/ui-components.es32.js.map +1 -1
- package/dist/ui-components.es320.js +6 -6
- package/dist/ui-components.es320.js.map +1 -1
- package/dist/ui-components.es321.js +3 -6
- package/dist/ui-components.es321.js.map +1 -1
- package/dist/ui-components.es322.js +6 -5
- package/dist/ui-components.es322.js.map +1 -1
- package/dist/ui-components.es323.js +168 -14
- package/dist/ui-components.es323.js.map +1 -1
- package/dist/ui-components.es324.js +20 -333
- package/dist/ui-components.es324.js.map +1 -1
- package/dist/ui-components.es325.js +3 -322
- package/dist/ui-components.es325.js.map +1 -1
- package/dist/ui-components.es326.js +7 -6
- package/dist/ui-components.es326.js.map +1 -1
- package/dist/ui-components.es327.js +19 -3
- package/dist/ui-components.es327.js.map +1 -1
- package/dist/ui-components.es328.js +51 -7
- package/dist/ui-components.es328.js.map +1 -1
- package/dist/ui-components.es329.js +6 -168
- package/dist/ui-components.es329.js.map +1 -1
- package/dist/ui-components.es33.js +682 -77
- package/dist/ui-components.es33.js.map +1 -1
- package/dist/ui-components.es330.js +5 -2
- package/dist/ui-components.es330.js.map +1 -1
- package/dist/ui-components.es331.js +26 -2
- package/dist/ui-components.es331.js.map +1 -1
- package/dist/ui-components.es332.js +12 -11
- package/dist/ui-components.es332.js.map +1 -1
- package/dist/ui-components.es333.js +8 -148
- package/dist/ui-components.es333.js.map +1 -1
- package/dist/ui-components.es334.js +9 -11
- package/dist/ui-components.es334.js.map +1 -1
- package/dist/ui-components.es335.js +6 -11
- package/dist/ui-components.es335.js.map +1 -1
- package/dist/ui-components.es336.js +5 -7
- package/dist/ui-components.es336.js.map +1 -1
- package/dist/ui-components.es337.js +14 -6
- package/dist/ui-components.es337.js.map +1 -1
- package/dist/ui-components.es338.js +331 -168
- package/dist/ui-components.es338.js.map +1 -1
- package/dist/ui-components.es339.js +321 -7
- package/dist/ui-components.es339.js.map +1 -1
- package/dist/ui-components.es34.js +566 -146
- package/dist/ui-components.es34.js.map +1 -1
- package/dist/ui-components.es340.js +6 -6
- package/dist/ui-components.es340.js.map +1 -1
- package/dist/ui-components.es341.js +2 -7
- package/dist/ui-components.es341.js.map +1 -1
- package/dist/ui-components.es342.js +2 -125
- package/dist/ui-components.es342.js.map +1 -1
- package/dist/ui-components.es343.js +3 -7
- package/dist/ui-components.es343.js.map +1 -1
- package/dist/ui-components.es344.js +8 -3
- package/dist/ui-components.es344.js.map +1 -1
- package/dist/ui-components.es345.js +7 -8
- package/dist/ui-components.es345.js.map +1 -1
- package/dist/ui-components.es346.js +103 -50
- package/dist/ui-components.es346.js.map +1 -1
- package/dist/ui-components.es347.js +7 -118
- package/dist/ui-components.es347.js.map +1 -1
- package/dist/ui-components.es348.js +7 -25
- package/dist/ui-components.es348.js.map +1 -1
- package/dist/ui-components.es349.js +72 -2
- package/dist/ui-components.es349.js.map +1 -1
- package/dist/ui-components.es35.js +10 -195
- package/dist/ui-components.es35.js.map +1 -1
- package/dist/ui-components.es350.js +117 -9
- package/dist/ui-components.es350.js.map +1 -1
- package/dist/ui-components.es351.js +25 -10
- package/dist/ui-components.es351.js.map +1 -1
- package/dist/ui-components.es352.js +2 -5
- package/dist/ui-components.es352.js.map +1 -1
- package/dist/ui-components.es353.js +9 -4
- package/dist/ui-components.es353.js.map +1 -1
- package/dist/ui-components.es354.js +10 -3
- package/dist/ui-components.es354.js.map +1 -1
- package/dist/ui-components.es355.js +4 -71
- package/dist/ui-components.es355.js.map +1 -1
- package/dist/ui-components.es356.js +5 -4
- package/dist/ui-components.es356.js.map +1 -1
- package/dist/ui-components.es357.js +3 -19
- package/dist/ui-components.es357.js.map +1 -1
- package/dist/ui-components.es358.js +72 -4
- package/dist/ui-components.es358.js.map +1 -1
- package/dist/ui-components.es359.js +4 -7
- package/dist/ui-components.es359.js.map +1 -1
- package/dist/ui-components.es36.js +35 -35
- package/dist/ui-components.es36.js.map +1 -1
- package/dist/ui-components.es360.js +19 -29
- package/dist/ui-components.es360.js.map +1 -1
- package/dist/ui-components.es361.js +3 -119
- package/dist/ui-components.es361.js.map +1 -1
- package/dist/ui-components.es362.js +6 -29
- package/dist/ui-components.es362.js.map +1 -1
- package/dist/ui-components.es363.js +4 -9
- package/dist/ui-components.es363.js.map +1 -1
- package/dist/ui-components.es364.js +29 -14
- package/dist/ui-components.es364.js.map +1 -1
- package/dist/ui-components.es365.js +117 -30
- package/dist/ui-components.es365.js.map +1 -1
- package/dist/ui-components.es366.js +28 -27
- package/dist/ui-components.es366.js.map +1 -1
- package/dist/ui-components.es367.js +9 -9
- package/dist/ui-components.es367.js.map +1 -1
- package/dist/ui-components.es368.js +13 -12
- package/dist/ui-components.es368.js.map +1 -1
- package/dist/ui-components.es369.js +30 -15
- package/dist/ui-components.es369.js.map +1 -1
- package/dist/ui-components.es37.js +77 -425
- package/dist/ui-components.es37.js.map +1 -1
- package/dist/ui-components.es370.js +28 -23
- package/dist/ui-components.es370.js.map +1 -1
- package/dist/ui-components.es371.js +10 -16
- package/dist/ui-components.es371.js.map +1 -1
- package/dist/ui-components.es372.js +11 -95
- package/dist/ui-components.es372.js.map +1 -1
- package/dist/ui-components.es373.js +16 -43
- package/dist/ui-components.es373.js.map +1 -1
- package/dist/ui-components.es374.js +20 -25
- package/dist/ui-components.es374.js.map +1 -1
- package/dist/ui-components.es375.js +14 -69
- package/dist/ui-components.es375.js.map +1 -1
- package/dist/ui-components.es376.js +90 -45
- package/dist/ui-components.es376.js.map +1 -1
- package/dist/ui-components.es377.js +41 -31
- package/dist/ui-components.es377.js.map +1 -1
- package/dist/ui-components.es378.js +23 -36
- package/dist/ui-components.es378.js.map +1 -1
- package/dist/ui-components.es379.js +71 -5
- package/dist/ui-components.es379.js.map +1 -1
- package/dist/ui-components.es38.js +182 -583
- package/dist/ui-components.es38.js.map +1 -1
- package/dist/ui-components.es380.js +51 -3
- package/dist/ui-components.es380.js.map +1 -1
- package/dist/ui-components.es381.js +34 -3
- package/dist/ui-components.es381.js.map +1 -1
- package/dist/ui-components.es382.js +41 -15
- package/dist/ui-components.es382.js.map +1 -1
- package/dist/ui-components.es383.js +3 -3
- package/dist/ui-components.es383.js.map +1 -1
- package/dist/ui-components.es384.js +3 -9
- package/dist/ui-components.es384.js.map +1 -1
- package/dist/ui-components.es385.js +15 -4
- package/dist/ui-components.es385.js.map +1 -1
- package/dist/ui-components.es386.js +3 -5
- package/dist/ui-components.es386.js.map +1 -1
- package/dist/ui-components.es387.js +9 -9
- package/dist/ui-components.es387.js.map +1 -1
- package/dist/ui-components.es388.js +4 -7
- package/dist/ui-components.es388.js.map +1 -1
- package/dist/ui-components.es389.js +5 -4
- package/dist/ui-components.es389.js.map +1 -1
- package/dist/ui-components.es39.js +143 -243
- package/dist/ui-components.es39.js.map +1 -1
- package/dist/ui-components.es390.js +9 -3
- package/dist/ui-components.es390.js.map +1 -1
- package/dist/ui-components.es391.js +8 -4
- package/dist/ui-components.es391.js.map +1 -1
- package/dist/ui-components.es392.js +2 -9
- package/dist/ui-components.es392.js.map +1 -1
- package/dist/ui-components.es393.js +3 -9
- package/dist/ui-components.es393.js.map +1 -1
- package/dist/ui-components.es394.js +4 -31
- package/dist/ui-components.es394.js.map +1 -1
- package/dist/ui-components.es395.js +10 -23
- package/dist/ui-components.es395.js.map +1 -1
- package/dist/ui-components.es396.js +9 -51
- package/dist/ui-components.es396.js.map +1 -1
- package/dist/ui-components.es397.js +30 -3
- package/dist/ui-components.es397.js.map +1 -1
- package/dist/ui-components.es398.js +24 -8
- package/dist/ui-components.es398.js.map +1 -1
- package/dist/ui-components.es399.js +51 -20
- package/dist/ui-components.es399.js.map +1 -1
- package/dist/ui-components.es4.js +8 -8
- package/dist/ui-components.es40.js +45 -91
- package/dist/ui-components.es40.js.map +1 -1
- package/dist/ui-components.es400.js +3 -7
- package/dist/ui-components.es400.js.map +1 -1
- package/dist/ui-components.es401.js +8 -6
- package/dist/ui-components.es401.js.map +1 -1
- package/dist/ui-components.es402.js +20 -5
- package/dist/ui-components.es402.js.map +1 -1
- package/dist/ui-components.es403.js +7 -7
- package/dist/ui-components.es403.js.map +1 -1
- package/dist/ui-components.es404.js +6 -15
- package/dist/ui-components.es404.js.map +1 -1
- package/dist/ui-components.es405.js +5 -4
- package/dist/ui-components.es405.js.map +1 -1
- package/dist/ui-components.es406.js +7 -6
- package/dist/ui-components.es406.js.map +1 -1
- package/dist/ui-components.es407.js +15 -34
- package/dist/ui-components.es407.js.map +1 -1
- package/dist/ui-components.es408.js +4 -8
- package/dist/ui-components.es408.js.map +1 -1
- package/dist/ui-components.es409.js +6 -4
- package/dist/ui-components.es409.js.map +1 -1
- package/dist/ui-components.es41.js +424 -89
- package/dist/ui-components.es41.js.map +1 -1
- package/dist/ui-components.es410.js +34 -8
- package/dist/ui-components.es410.js.map +1 -1
- package/dist/ui-components.es411.js +8 -6
- package/dist/ui-components.es411.js.map +1 -1
- package/dist/ui-components.es412.js +4 -18
- package/dist/ui-components.es412.js.map +1 -1
- package/dist/ui-components.es413.js +7 -13
- package/dist/ui-components.es413.js.map +1 -1
- package/dist/ui-components.es414.js +10 -0
- package/dist/ui-components.es414.js.map +1 -0
- package/dist/ui-components.es415.js +22 -0
- package/dist/ui-components.es415.js.map +1 -0
- package/dist/ui-components.es416.js +18 -0
- package/dist/ui-components.es416.js.map +1 -0
- package/dist/ui-components.es42.js +616 -43
- package/dist/ui-components.es42.js.map +1 -1
- package/dist/ui-components.es43.js +227 -190
- package/dist/ui-components.es43.js.map +1 -1
- package/dist/ui-components.es44.js +72 -215
- package/dist/ui-components.es44.js.map +1 -1
- package/dist/ui-components.es45.js +108 -14
- package/dist/ui-components.es45.js.map +1 -1
- package/dist/ui-components.es46.js +40 -320
- package/dist/ui-components.es46.js.map +1 -1
- package/dist/ui-components.es47.js +206 -102
- package/dist/ui-components.es47.js.map +1 -1
- package/dist/ui-components.es48.js +261 -140
- package/dist/ui-components.es48.js.map +1 -1
- package/dist/ui-components.es49.js +257 -943
- package/dist/ui-components.es49.js.map +1 -1
- package/dist/ui-components.es5.js +4 -4
- package/dist/ui-components.es50.js +127 -96
- package/dist/ui-components.es50.js.map +1 -1
- package/dist/ui-components.es51.js +141 -384
- package/dist/ui-components.es51.js.map +1 -1
- package/dist/ui-components.es52.js +20 -6
- package/dist/ui-components.es52.js.map +1 -1
- package/dist/ui-components.es53.js +124 -53
- package/dist/ui-components.es53.js.map +1 -1
- package/dist/ui-components.es54.js +34 -160
- package/dist/ui-components.es54.js.map +1 -1
- package/dist/ui-components.es55.js +21 -210
- package/dist/ui-components.es55.js.map +1 -1
- package/dist/ui-components.es56.js +247 -235
- package/dist/ui-components.es56.js.map +1 -1
- package/dist/ui-components.es57.js +38 -7
- package/dist/ui-components.es57.js.map +1 -1
- package/dist/ui-components.es58.js +212 -2
- package/dist/ui-components.es58.js.map +1 -1
- package/dist/ui-components.es59.js +240 -31
- package/dist/ui-components.es59.js.map +1 -1
- package/dist/ui-components.es6.js +187 -155
- package/dist/ui-components.es6.js.map +1 -1
- package/dist/ui-components.es60.js +7 -244
- package/dist/ui-components.es60.js.map +1 -1
- package/dist/ui-components.es61.js +2 -8
- package/dist/ui-components.es61.js.map +1 -1
- package/dist/ui-components.es62.js +33 -2
- package/dist/ui-components.es62.js.map +1 -1
- package/dist/ui-components.es63.js +236 -12
- package/dist/ui-components.es63.js.map +1 -1
- package/dist/ui-components.es64.js +7 -27
- package/dist/ui-components.es64.js.map +1 -1
- package/dist/ui-components.es65.js +2 -6
- package/dist/ui-components.es65.js.map +1 -1
- package/dist/ui-components.es66.js +21 -6
- package/dist/ui-components.es66.js.map +1 -1
- package/dist/ui-components.es67.js +28 -6
- package/dist/ui-components.es67.js.map +1 -1
- package/dist/ui-components.es68.js +209 -6
- package/dist/ui-components.es68.js.map +1 -1
- package/dist/ui-components.es69.js +2 -298
- package/dist/ui-components.es69.js.map +1 -1
- package/dist/ui-components.es7.js +96 -95
- package/dist/ui-components.es7.js.map +1 -1
- package/dist/ui-components.es70.js +2 -413
- package/dist/ui-components.es70.js.map +1 -1
- package/dist/ui-components.es71.js +2 -284
- package/dist/ui-components.es71.js.map +1 -1
- package/dist/ui-components.es72.js +2 -262
- package/dist/ui-components.es72.js.map +1 -1
- package/dist/ui-components.es73.js +15 -171
- package/dist/ui-components.es73.js.map +1 -1
- package/dist/ui-components.es74.js +6 -13
- package/dist/ui-components.es74.js.map +1 -1
- package/dist/ui-components.es75.js +6 -2
- package/dist/ui-components.es75.js.map +1 -1
- package/dist/ui-components.es76.js +6 -2
- package/dist/ui-components.es76.js.map +1 -1
- package/dist/ui-components.es77.js +6 -2
- package/dist/ui-components.es77.js.map +1 -1
- package/dist/ui-components.es78.js +298 -2
- package/dist/ui-components.es78.js.map +1 -1
- package/dist/ui-components.es79.js +412 -14
- package/dist/ui-components.es79.js.map +1 -1
- package/dist/ui-components.es8.js +157 -46
- package/dist/ui-components.es8.js.map +1 -1
- package/dist/ui-components.es80.js +284 -5
- package/dist/ui-components.es80.js.map +1 -1
- package/dist/ui-components.es81.js +262 -3
- package/dist/ui-components.es81.js.map +1 -1
- package/dist/ui-components.es82.js +171 -7
- package/dist/ui-components.es82.js.map +1 -1
- package/dist/ui-components.es83.js +12 -7
- package/dist/ui-components.es83.js.map +1 -1
- package/dist/ui-components.es84.js +5 -9
- package/dist/ui-components.es84.js.map +1 -1
- package/dist/ui-components.es85.js +14 -13
- package/dist/ui-components.es85.js.map +1 -1
- package/dist/ui-components.es86.js +7 -21
- package/dist/ui-components.es86.js.map +1 -1
- package/dist/ui-components.es87.js +449 -7
- package/dist/ui-components.es87.js.map +1 -1
- package/dist/ui-components.es88.js +3 -10
- package/dist/ui-components.es88.js.map +1 -1
- package/dist/ui-components.es89.js +3 -3
- package/dist/ui-components.es89.js.map +1 -1
- package/dist/ui-components.es9.js +95 -328
- package/dist/ui-components.es9.js.map +1 -1
- package/dist/ui-components.es90.js +3 -14
- package/dist/ui-components.es90.js.map +1 -1
- package/dist/ui-components.es91.js +3 -2
- package/dist/ui-components.es91.js.map +1 -1
- package/dist/ui-components.es92.js +14 -7
- package/dist/ui-components.es92.js.map +1 -1
- package/dist/ui-components.es93.js +41 -325
- package/dist/ui-components.es93.js.map +1 -1
- package/dist/ui-components.es94.js +7 -49
- package/dist/ui-components.es94.js.map +1 -1
- package/dist/ui-components.es95.js +7 -20
- package/dist/ui-components.es95.js.map +1 -1
- package/dist/ui-components.es96.js +22 -33
- package/dist/ui-components.es96.js.map +1 -1
- package/dist/ui-components.es97.js +6 -23
- package/dist/ui-components.es97.js.map +1 -1
- package/dist/ui-components.es98.js +13 -11
- package/dist/ui-components.es98.js.map +1 -1
- package/dist/ui-components.es99.js +5 -3
- package/dist/ui-components.es99.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,100 +1,332 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { j as a } from "./ui-components.es13.js";
|
|
2
|
+
import { isAutogeneratedRow as u, gridRowIdSelector as y, gridRowNodeSelector as p } from "@mui/x-data-grid-premium";
|
|
3
|
+
import { AssayWheel as h } from "./ui-components.es9.js";
|
|
4
|
+
import { DownloadButton as o } from "./ui-components.es10.js";
|
|
5
|
+
import { AggregateDownloadButton as C, getAvailableFiles as b } from "./ui-components.es17.js";
|
|
6
|
+
import { capitalize as d, Tooltip as N, Stack as x } from "@mui/material";
|
|
7
|
+
import { InfoOutline as v, Check as w } from "@mui/icons-material";
|
|
8
|
+
const k = {
|
|
9
|
+
field: "ontology",
|
|
10
|
+
headerName: "Organ/Tissue",
|
|
11
|
+
type: "singleSelect",
|
|
12
|
+
valueOptions: ["adipose", "adrenal gland", "blood", "blood vessel", "bone", "bone marrow", "brain", "breast", "connective tissue", "embryo", "epithelium", "esophagus", "eye", "fallopian tube", "gallbladder", "heart", "kidney", "large intestine", "limb", "liver", "lung", "lymphoid tissue", "mouth", "muscle", "nerve", "nose", "ovary", "pancreas", "paraythroid gland", "penis", "placenta", "prostate", "skin", "small intestine", "spinal cord", "spleen", "stomach", "testis", "thymus", "thyroid", "urinary bladder", "uterus", "vagina"],
|
|
13
|
+
valueFormatter: (e) => e && d(e)
|
|
14
|
+
}, E = {
|
|
15
|
+
field: "displayname",
|
|
16
|
+
headerName: "Biosample",
|
|
17
|
+
valueFormatter: (e) => e && d(e),
|
|
18
|
+
maxWidth: 300
|
|
19
|
+
}, A = {
|
|
20
|
+
field: "sampleType",
|
|
21
|
+
headerName: "Sample Type",
|
|
22
|
+
type: "singleSelect",
|
|
23
|
+
valueOptions: ["tissue", "primary cell", "cell line", "in vitro differentiated cells", "organoid"],
|
|
24
|
+
valueFormatter: (e) => e && d(e)
|
|
25
|
+
}, D = {
|
|
26
|
+
field: "lifeStage",
|
|
27
|
+
headerName: "Life Stage",
|
|
28
|
+
type: "singleSelect",
|
|
29
|
+
valueOptions: ["adult", "embryonic"],
|
|
30
|
+
valueFormatter: (e) => e && d(e)
|
|
31
|
+
}, S = {
|
|
32
|
+
field: "assays",
|
|
33
|
+
headerName: "Assays",
|
|
34
|
+
valueGetter: (e, l) => {
|
|
35
|
+
const s = [];
|
|
36
|
+
return l.dnase_experiment_accession && s.push("DNase"), l.atac_experiment_accession && s.push("ATAC"), l.h3k4me3_experiment_accession && s.push("H3K4me3"), l.h3k27ac_experiment_accession && s.push("H3K27ac"), l.ctcf_experiment_accession && s.push("CTCF"), s.join(",");
|
|
37
|
+
},
|
|
38
|
+
sortComparator: (e, l) => {
|
|
39
|
+
const s = e.split(",").filter((i) => i.length > 0).length, r = l.split(",").filter((i) => i.length > 0).length;
|
|
40
|
+
return s - r;
|
|
41
|
+
},
|
|
42
|
+
renderCell: (e) => {
|
|
43
|
+
if (e.rowNode.type === "group") return null;
|
|
44
|
+
const l = e.row;
|
|
45
|
+
return /* @__PURE__ */ a.jsx("div", { onClick: (s) => s.stopPropagation(), children: /* @__PURE__ */ a.jsx(h, { row: {
|
|
46
|
+
dnase: l.dnase_experiment_accession,
|
|
47
|
+
atac: l.atac_experiment_accession,
|
|
48
|
+
h3k4me3: l.h3k4me3_experiment_accession,
|
|
49
|
+
h3k27ac: l.h3k27ac_experiment_accession,
|
|
50
|
+
ctcf: l.ctcf_experiment_accession
|
|
51
|
+
} }) });
|
|
52
|
+
},
|
|
53
|
+
groupable: !1
|
|
54
|
+
}, _ = ["Core", "Partial", "Ancillary"], n = (e) => !!e && e !== "NA", f = (e) => {
|
|
55
|
+
const l = {
|
|
56
|
+
dnase: n(e.dnase_file_accession),
|
|
57
|
+
h3k4me3: n(e.h3k4me3_file_accession),
|
|
58
|
+
h3k27ac: n(e.h3k27ac_file_accession),
|
|
59
|
+
ctcf: n(e.ctcf_file_accession),
|
|
60
|
+
atac: n(e.atac_file_accession)
|
|
61
|
+
};
|
|
62
|
+
if (!Object.values(l).includes(!0)) return null;
|
|
63
|
+
let s = "Ancillary";
|
|
64
|
+
return l.dnase && (s = "Partial", l.ctcf && l.h3k4me3 && l.h3k27ac && (s = "Core")), s;
|
|
65
|
+
}, g = [..._, null], H = {
|
|
66
|
+
field: "collection",
|
|
67
|
+
headerName: "Collection",
|
|
68
|
+
type: "singleSelect",
|
|
69
|
+
valueOptions: [..._],
|
|
70
|
+
valueGetter: (e, l) => f(l),
|
|
71
|
+
renderCell: (e) => {
|
|
72
|
+
const l = e.row;
|
|
73
|
+
return l.dnase_experiment_accession && !n(l.dnase_file_accession) || l.h3k4me3_experiment_accession && !n(l.h3k4me3_file_accession) || l.h3k27ac_experiment_accession && !n(l.h3k27ac_file_accession) || l.ctcf_experiment_accession && !n(l.ctcf_file_accession) ? /* @__PURE__ */ a.jsx(N, { title: "This sample's H3K4me3 experiment data was not run through the ENCODE pipeline. This assay is ignored when placing this sample in its given collection", children: /* @__PURE__ */ a.jsxs(x, { direction: "row", alignItems: "center", children: [
|
|
74
|
+
l.name === "GM12866_ENCDO000ABQ" ? "NA" : f(l),
|
|
75
|
+
/* @__PURE__ */ a.jsx(v, { fontSize: "small" })
|
|
76
|
+
] }) }) : f(l);
|
|
77
|
+
},
|
|
78
|
+
sortComparator: (e, l) => g.indexOf(e) - g.indexOf(l)
|
|
79
|
+
}, F = {
|
|
80
|
+
field: "dnase_experiment_accession",
|
|
81
|
+
headerName: "DNase Exp. ID",
|
|
82
|
+
sortable: !1,
|
|
83
|
+
groupable: !1
|
|
84
|
+
}, T = {
|
|
85
|
+
field: "h3k4me3_experiment_accession",
|
|
86
|
+
headerName: "H3K4me3 Exp. ID",
|
|
87
|
+
sortable: !1,
|
|
88
|
+
groupable: !1
|
|
89
|
+
}, j = {
|
|
90
|
+
field: "h3k27ac_experiment_accession",
|
|
91
|
+
headerName: "H3K27ac Exp. ID",
|
|
92
|
+
sortable: !1,
|
|
93
|
+
groupable: !1
|
|
94
|
+
}, K = {
|
|
95
|
+
field: "ctcf_experiment_accession",
|
|
96
|
+
headerName: "CTCF Exp. ID",
|
|
97
|
+
sortable: !1,
|
|
98
|
+
groupable: !1
|
|
99
|
+
}, R = {
|
|
100
|
+
field: "atac_experiment_accession",
|
|
101
|
+
headerName: "ATAC Exp. ID",
|
|
102
|
+
sortable: !1,
|
|
103
|
+
groupable: !1
|
|
104
|
+
}, $ = {
|
|
105
|
+
field: "dnase_file_accession",
|
|
106
|
+
headerName: "DNase File ID",
|
|
107
|
+
sortable: !1,
|
|
108
|
+
groupable: !1
|
|
109
|
+
}, O = {
|
|
110
|
+
field: "h3k4me3_file_accession",
|
|
111
|
+
headerName: "H3K4me3 File ID",
|
|
112
|
+
sortable: !1,
|
|
113
|
+
groupable: !1
|
|
114
|
+
}, Z = {
|
|
115
|
+
field: "h3k27ac_file_accession",
|
|
116
|
+
headerName: "H3K27ac File ID",
|
|
117
|
+
sortable: !1,
|
|
118
|
+
groupable: !1
|
|
119
|
+
}, I = {
|
|
120
|
+
field: "ctcf_file_accession",
|
|
121
|
+
headerName: "CTCF File ID",
|
|
122
|
+
sortable: !1,
|
|
123
|
+
groupable: !1
|
|
124
|
+
}, G = {
|
|
125
|
+
field: "atac_file_accession",
|
|
126
|
+
headerName: "ATAC File ID",
|
|
127
|
+
sortable: !1,
|
|
128
|
+
groupable: !1
|
|
129
|
+
}, B = {
|
|
130
|
+
field: "dnaseZ",
|
|
131
|
+
headerName: "DNase Z-scores",
|
|
132
|
+
valueGetter: (e, l) => l.dnase_experiment_accession && l.dnase_file_accession ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${l.dnase_experiment_accession}-${l.dnase_file_accession}.tsv` : null,
|
|
133
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download DNase z-score by cCRE (.tsv) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "DNase", ontology: e.row.ontology }),
|
|
134
|
+
groupable: !1,
|
|
135
|
+
sortable: !1
|
|
136
|
+
}, U = {
|
|
137
|
+
field: "h3k4me3Z",
|
|
138
|
+
headerName: "H3K4me3 Z-scores",
|
|
139
|
+
valueGetter: (e, l) => (
|
|
140
|
+
//check if file exists to handle the two samples with unprocessed h3k4me3 experiments: GM12866_ENCDO000ABQ & neural_crest_cell_ENCDO222AAA
|
|
141
|
+
l.h3k4me3_experiment_accession && n(l.h3k4me3_file_accession) ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${l.h3k4me3_experiment_accession}-${l.h3k4me3_file_accession}.tsv` : null
|
|
142
|
+
),
|
|
143
|
+
renderCell: (e) => {
|
|
144
|
+
if (["GM12866_ENCDO000ABQ", "neural_crest_cell_ENCDO222AAA"].includes(e.row.name)) return /* @__PURE__ */ a.jsx(o, { disabled: !0, message: () => "This sample's H3K4me3 experiment was not run through the ENCODE Pipeline and thus z-scores are not available", url: e.value, displayName: e.row.displayname, assay: "H3K4me3", ontology: e.row.ontology });
|
|
145
|
+
if (e.rowNode.type !== "group" && e.value) return /* @__PURE__ */ a.jsx(o, { message: (l) => `Download H3K4me3 z-score by cCRE (.tsv) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "H3K4me3", ontology: e.row.ontology });
|
|
146
|
+
},
|
|
147
|
+
groupable: !1,
|
|
148
|
+
sortable: !1
|
|
149
|
+
}, M = {
|
|
150
|
+
field: "h3k27acZ",
|
|
151
|
+
headerName: "H3K27ac Z-scores",
|
|
152
|
+
valueGetter: (e, l) => l.h3k27ac_experiment_accession && l.h3k27ac_file_accession ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${l.h3k27ac_experiment_accession}-${l.h3k27ac_file_accession}.tsv` : null,
|
|
153
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download H3K27ac z-score by cCRE (.tsv) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "H3K27ac", ontology: e.row.ontology }),
|
|
154
|
+
groupable: !1,
|
|
155
|
+
sortable: !1
|
|
156
|
+
}, z = {
|
|
157
|
+
field: "ctcfZ",
|
|
158
|
+
headerName: "CTCF Z-scores",
|
|
159
|
+
valueGetter: (e, l) => l.ctcf_experiment_accession && l.ctcf_file_accession ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${l.ctcf_experiment_accession}-${l.ctcf_file_accession}.tsv` : null,
|
|
160
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download CTCF z-score by cCRE (.tsv) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "CTCF", ontology: e.row.ontology }),
|
|
161
|
+
groupable: !1,
|
|
162
|
+
sortable: !1
|
|
163
|
+
}, W = {
|
|
164
|
+
field: "atacZ",
|
|
165
|
+
headerName: "ATAC Z-scores",
|
|
166
|
+
valueGetter: (e, l) => l.atac_experiment_accession && l.atac_file_accession ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${l.atac_experiment_accession}-${l.atac_file_accession}.tsv` : null,
|
|
167
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download ATAC z-score by cCRE (.tsv) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "ATAC", ontology: e.row.ontology }),
|
|
168
|
+
groupable: !1,
|
|
169
|
+
sortable: !1
|
|
170
|
+
}, V = {
|
|
171
|
+
field: "dnase_signal_url",
|
|
172
|
+
headerName: "DNase Signal",
|
|
173
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download DNase Signal (.bigWig) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "DNase", ontology: e.row.ontology }),
|
|
174
|
+
groupable: !1,
|
|
175
|
+
sortable: !1
|
|
176
|
+
}, q = {
|
|
177
|
+
field: "h3k4me3_signal_url",
|
|
178
|
+
headerName: "H3K4me3 Signal",
|
|
179
|
+
valueGetter: (e, l) => l.h3k4me3_file_accession === "NA" ? null : e,
|
|
180
|
+
renderCell: (e) => {
|
|
181
|
+
if (["GM12866_ENCDO000ABQ", "neural_crest_cell_ENCDO222AAA"].includes(e.row.name)) return /* @__PURE__ */ a.jsx(o, { disabled: !0, message: () => "This sample's H3K4me3 experiment was not run through the ENCODE Pipeline and thus the signal file is not available", url: e.value, displayName: e.row.displayname, assay: "H3K4me3", ontology: e.row.ontology });
|
|
182
|
+
if (e.rowNode.type !== "group" && e.value) return /* @__PURE__ */ a.jsx(o, { message: (l) => `Download H3K4me3 Signal (.bigWig) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "H3K4me3", ontology: e.row.ontology });
|
|
183
|
+
},
|
|
184
|
+
groupable: !1,
|
|
185
|
+
sortable: !1
|
|
186
|
+
}, P = {
|
|
187
|
+
field: "h3k27ac_signal_url",
|
|
188
|
+
headerName: "H3K27ac Signal",
|
|
189
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download H3K27ac Signal (.bigWig) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "H3K27ac", ontology: e.row.ontology }),
|
|
190
|
+
groupable: !1,
|
|
191
|
+
sortable: !1
|
|
192
|
+
}, Q = {
|
|
193
|
+
field: "ctcf_signal_url",
|
|
194
|
+
headerName: "CTCF Signal",
|
|
195
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download CTCF Signal (.bigWig) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "CTCF", ontology: e.row.ontology }),
|
|
196
|
+
groupable: !1,
|
|
197
|
+
sortable: !1
|
|
198
|
+
}, L = {
|
|
199
|
+
field: "atac_signal_url",
|
|
200
|
+
headerName: "ATAC Signal",
|
|
201
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download ATAC Signal (.bigWig) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "ATAC", ontology: e.row.ontology }),
|
|
202
|
+
groupable: !1,
|
|
203
|
+
sortable: !1
|
|
204
|
+
}, J = {
|
|
205
|
+
field: "chromhmm_url",
|
|
206
|
+
headerName: "ChromHMM States",
|
|
207
|
+
renderCell: (e) => e.rowNode.type !== "group" && e.value && /* @__PURE__ */ a.jsx(o, { message: (l) => `Download ChromHMM States (.bigBed) - ${l}`, url: e.value, displayName: e.row.displayname, assay: "ChromHMM", ontology: e.row.ontology }),
|
|
208
|
+
groupable: !1,
|
|
209
|
+
sortable: !1
|
|
210
|
+
}, X = {
|
|
211
|
+
field: "bedurl",
|
|
212
|
+
headerName: "cCREs (.bed)",
|
|
213
|
+
align: "center",
|
|
214
|
+
valueGetter: (e, l, s, r) => {
|
|
215
|
+
if (u(l)) {
|
|
216
|
+
const t = y(r, l), c = p(r, t);
|
|
217
|
+
return c.type === "group" && c.groupingField === "ontology" && typeof c.groupingKey == "string" ? b(c.groupingKey).map((m) => `https://downloads.wenglab.org/${m.filename}`).join(",") : null;
|
|
24
218
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
219
|
+
const i = [l.dnase_file_accession, l.h3k4me3_file_accession, l.h3k27ac_file_accession, l.ctcf_file_accession].filter((t) => t != null && t !== "NA");
|
|
220
|
+
return i.length ? `https://downloads.wenglab.org/Registry-V4/${i.join("_")}.bed` : null;
|
|
221
|
+
},
|
|
222
|
+
renderCell: (e) => {
|
|
223
|
+
if (e.rowNode.type === "group")
|
|
224
|
+
if (e.rowNode.groupingField === "ontology") {
|
|
225
|
+
const l = e.rowNode.groupingKey ?? "";
|
|
226
|
+
return /* @__PURE__ */ a.jsx(C, { ontology: l });
|
|
227
|
+
} else return null;
|
|
228
|
+
return /* @__PURE__ */ a.jsx(
|
|
229
|
+
o,
|
|
230
|
+
{
|
|
231
|
+
message: (l) => e.value ? `Download cCREs (.bed) - ${l}` : "cCREs only available for samples with DNase, H3K4me3, H3H27ac, and/or CTCF data",
|
|
232
|
+
url: e.value,
|
|
233
|
+
disabled: !e.value,
|
|
234
|
+
displayName: e.row.displayname,
|
|
235
|
+
assay: "cCREs",
|
|
236
|
+
ontology: e.row.ontology
|
|
237
|
+
}
|
|
238
|
+
);
|
|
239
|
+
},
|
|
240
|
+
groupable: !1,
|
|
241
|
+
sortable: !1
|
|
242
|
+
}, Y = {
|
|
243
|
+
field: "bigbedurl",
|
|
244
|
+
headerName: "cCREs (.bigBed)",
|
|
245
|
+
align: "center",
|
|
246
|
+
valueGetter: (e, l) => l.name === "GM12866_ENCDO000ABQ" ? null : l.name === "neural_crest_cell_ENCDO222AAA" ? e.replaceAll("_NA_", "_") : e,
|
|
247
|
+
renderCell: (e) => e.rowNode.type !== "group" && /* @__PURE__ */ a.jsx(
|
|
248
|
+
o,
|
|
249
|
+
{
|
|
250
|
+
message: (l) => e.value ? `Download cCREs (.bigBed) - ${l}` : "cCREs only available for samples with DNase, H3K4me3, H3H27ac, and/or CTCF data",
|
|
251
|
+
url: e.value,
|
|
252
|
+
disabled: !e.value,
|
|
253
|
+
displayName: e.row.displayname,
|
|
254
|
+
assay: "cCREs",
|
|
255
|
+
ontology: e.row.ontology
|
|
256
|
+
}
|
|
257
|
+
),
|
|
258
|
+
groupable: !1,
|
|
259
|
+
sortable: !1
|
|
260
|
+
}, ee = {
|
|
261
|
+
field: "rnaSeq",
|
|
262
|
+
headerName: "Has RNA Seq",
|
|
263
|
+
type: "boolean",
|
|
264
|
+
valueGetter: (e, l) => u(l) ? null : !!l?.rna_seq_tracks?.length,
|
|
265
|
+
renderCell: (e) => e.value ? /* @__PURE__ */ a.jsx(w, {}) : null
|
|
266
|
+
}, ce = [E, S, k, A, D, H, X, Y, F, $, B, V, R, G, W, L, T, O, U, q, j, Z, M, P, K, I, z, Q, J, ee], de = {
|
|
267
|
+
displayname: !1,
|
|
268
|
+
assays: !1,
|
|
269
|
+
ontology: !1,
|
|
270
|
+
sampleType: !1,
|
|
271
|
+
lifeStage: !1,
|
|
272
|
+
collection: !1,
|
|
273
|
+
bedurl: !1,
|
|
274
|
+
bigbedurl: !1,
|
|
275
|
+
dnase_experiment_accession: !1,
|
|
276
|
+
dnase_file_accession: !1,
|
|
277
|
+
dnaseZ: !1,
|
|
278
|
+
dnase_signal_url: !1,
|
|
279
|
+
atac_experiment_accession: !1,
|
|
280
|
+
atac_file_accession: !1,
|
|
281
|
+
atacZ: !1,
|
|
282
|
+
atac_signal_url: !1,
|
|
283
|
+
h3k4me3_experiment_accession: !1,
|
|
284
|
+
h3k4me3_file_accession: !1,
|
|
285
|
+
h3k4me3Z: !1,
|
|
286
|
+
h3k4me3_signal_url: !1,
|
|
287
|
+
h3k27ac_experiment_accession: !1,
|
|
288
|
+
h3k27ac_file_accession: !1,
|
|
289
|
+
h3k27acZ: !1,
|
|
290
|
+
h3k27ac_signal_url: !1,
|
|
291
|
+
ctcf_experiment_accession: !1,
|
|
292
|
+
ctcf_file_accession: !1,
|
|
293
|
+
ctcfZ: !1,
|
|
294
|
+
ctcf_signal_url: !1,
|
|
295
|
+
chromhmm_url: !1,
|
|
296
|
+
rnaSeq: !1
|
|
297
|
+
};
|
|
97
298
|
export {
|
|
98
|
-
|
|
299
|
+
de as allColsHidden,
|
|
300
|
+
S as assaysCol,
|
|
301
|
+
R as atacExpCol,
|
|
302
|
+
G as atacFileIdCol,
|
|
303
|
+
L as atacSignalUrlCol,
|
|
304
|
+
W as atacZscoreUrlCol,
|
|
305
|
+
X as ccreBedUrlCol,
|
|
306
|
+
Y as ccreBigBedUrlCol,
|
|
307
|
+
J as chromHmmUrlCol,
|
|
308
|
+
H as collectionCol,
|
|
309
|
+
ce as columns,
|
|
310
|
+
K as ctcfExpCol,
|
|
311
|
+
I as ctcfFileIdCol,
|
|
312
|
+
Q as ctcfSignalUrlCol,
|
|
313
|
+
z as ctcfZscoreUrlCol,
|
|
314
|
+
E as displayNameCol,
|
|
315
|
+
F as dnaseExpCol,
|
|
316
|
+
$ as dnaseFileIdCol,
|
|
317
|
+
V as dnaseSignalUrlCol,
|
|
318
|
+
B as dnaseZscoreUrlCol,
|
|
319
|
+
j as h3k27acExpCol,
|
|
320
|
+
Z as h3k27acFileIdCol,
|
|
321
|
+
P as h3k27acSignalUrlCol,
|
|
322
|
+
M as h3k27acZscoreUrlCol,
|
|
323
|
+
T as h3k4me3ExpCol,
|
|
324
|
+
O as h3k4me3FileIdCol,
|
|
325
|
+
q as h3k4me3SignalUrlCol,
|
|
326
|
+
U as h3k4me3ZscoreUrlCol,
|
|
327
|
+
D as lifeStageCol,
|
|
328
|
+
k as ontologyCol,
|
|
329
|
+
ee as rnaSeqCheckCol,
|
|
330
|
+
A as sampleTypeCol
|
|
99
331
|
};
|
|
100
332
|
//# sourceMappingURL=ui-components.es11.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-components.es11.js","sources":["../src/components/GenomeSearch/useEntityAutocomplete.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport { getCCREs, getGenes, getICREs, getLegacyCCREs, getSNPs, getStudys } from \"./queries\";\nimport {\n ccreResultList,\n geneResultList,\n getCoordinates,\n icreResultList,\n snpResultList,\n studyResultList,\n isDomain,\n legacyCcreResultList,\n OmesList,\n omeResultsList,\n} from \"./utils\";\nimport { GenomeSearchProps, Result, ResultType } from \"./types\";\n\ntype Limits = {\n gene?: number;\n snp?: number;\n icre?: number;\n ccre?: number;\n legacyCcre?: number;\n study?: number;\n ome?: number;\n};\n\ntype HookOptions = {\n queries: ResultType[];\n assembly: GenomeSearchProps[\"assembly\"];\n geneVersion?: GenomeSearchProps[\"geneVersion\"];\n limits?: Limits;\n showiCREFlag?: boolean;\n debounceMs?: number;\n};\n\ntype HookResult = {\n data: Result[] | null;\n loading: boolean;\n error: Error | null;\n};\n\n// Accept either a single string or an array of strings. Debounced fetches for each input.\nexport function useEntityAutocomplete(\n inputsArg: string | string[],\n options: HookOptions\n): HookResult {\n const inputs = Array.isArray(inputsArg) ? inputsArg : [inputsArg];\n const { queries, assembly, geneVersion, limits, showiCREFlag, debounceMs = 200 } = options;\n\n const [data, setData] = useState<Result[] | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const timeoutRef = useRef<number | null>(null);\n const abortControllerRef = useRef<AbortController | null>(null);\n\n useEffect(() => {\n // clear any pending timer and abort previous requests\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n abortControllerRef.current = null;\n }\n\n // if no inputs or only empty strings, clear\n const activeInputs = inputs.filter((i) => !!i && i.trim() !== \"\");\n if (activeInputs.length === 0) {\n setData([]);\n setLoading(false);\n setError(null);\n return;\n }\n\n setLoading(true);\n setError(null);\n\n // Create a new AbortController for this search request\n abortControllerRef.current = new AbortController();\n const abortSignal = abortControllerRef.current.signal;\n\n timeoutRef.current = window.setTimeout(() => {\n (async () => {\n try {\n const aggregated: Result[] = [];\n\n await Promise.all(\n activeInputs.map(async (input) => {\n const qGene = queries.includes(\"Gene\");\n const qSnp = queries.includes(\"SNP\");\n const qICRE = queries.includes(\"iCRE\");\n const qCCRE = queries.includes(\"cCRE\");\n const qLegacyCcre = queries.includes(\"Legacy cCRE\");\n const qCoordinate = queries.includes(\"Coordinate\");\n const qStudy = queries.includes(\"Study\");\n const qOme = queries.includes(\"Ome\");\n\n // array for fetch promises (so that we can Promise.all them in parallel)\n const fetchPromises: Promise<Result[]>[] = [];\n\n // Genes\n if (qGene && !isDomain(input)) {\n const geneLimit = limits?.gene ?? 3;\n fetchPromises.push(\n getGenes(input, assembly, geneLimit, geneVersion, abortSignal).then((geneResults) =>\n geneResults ? geneResultList(geneResults as any, geneLimit, typeof geneVersion === \"object\") : []\n )\n );\n }\n\n // cCRE - check beginning of input to make sure it matches that assembly\n if (qCCRE && input.toLowerCase().startsWith(assembly === \"GRCh38\" ? \"eh\" : \"em\")) {\n const ccreLimit = limits?.ccre ?? 3;\n fetchPromises.push(\n getCCREs(input, assembly, ccreLimit, showiCREFlag || false, abortSignal).then((ccreData) =>\n ccreData?.data?.cCREAutocompleteQuery\n ? ccreResultList(ccreData.data.cCREAutocompleteQuery, ccreLimit)\n : []\n )\n );\n }\n\n // Coordinates (synchronous, push directly)\n if (qCoordinate && isDomain(input)) {\n aggregated.push(...getCoordinates(input, assembly));\n }\n\n if (qLegacyCcre) {\n const legacyCcreLimit = limits?.legacyCcre ?? 3;\n fetchPromises.push(\n getLegacyCCREs(input, assembly, abortSignal).then((legacyData) =>\n legacyData?.data?.ccreMappings\n ? legacyCcreResultList(legacyData.data.ccreMappings, legacyCcreLimit)\n : []\n )\n );\n }\n\n // Human only fetches\n if (assembly === \"GRCh38\") {\n if (qICRE && input.toLowerCase().startsWith(\"eh\")) {\n const icreLimit = limits?.icre ?? 3;\n fetchPromises.push(\n getICREs(input, icreLimit, abortSignal).then((icreData) =>\n icreData?.data?.iCREQuery ? icreResultList(icreData.data.iCREQuery, icreLimit) : []\n )\n );\n }\n\n if (qSnp && input.toLowerCase().startsWith(\"rs\")) {\n const snpLimit = limits?.snp ?? 3;\n fetchPromises.push(\n getSNPs(input, assembly, snpLimit, abortSignal).then((snpData) =>\n snpData?.data?.snpAutocompleteQuery\n ? snpResultList(snpData.data.snpAutocompleteQuery, snpLimit)\n : []\n )\n );\n }\n\n if (qStudy && !isDomain(input) && input !== \"\") {\n const studyLimit = limits?.study ?? 3;\n fetchPromises.push(\n getStudys(input, studyLimit, abortSignal).then((studyData) =>\n studyData?.data?.getGWASStudiesMetadata\n ? studyResultList(studyData.data.getGWASStudiesMetadata, studyLimit)\n : []\n )\n );\n }\n\n if (qOme && !isDomain(input) && input !== \"\") {\n const omeLimit = limits?.ome ?? 3;\n\n const filtered = OmesList.filter((ome) => {\n const search = input.toLowerCase();\n\n return (\n ome.label.toLowerCase().includes(search) ||\n ome.keywords?.some((k) => k.toLowerCase().includes(search))\n );\n }).slice(0, omeLimit);\n\n fetchPromises.push(\n Promise.resolve(omeResultsList(filtered))\n );\n }\n }\n\n // Execute all parallel fetches and aggregate results\n const allResults = await Promise.all(fetchPromises);\n allResults.forEach((results) => aggregated.push(...results));\n })\n );\n\n // Only update state if this request wasn't aborted\n if (!abortSignal.aborted) {\n setData(aggregated);\n setLoading(false);\n }\n } catch (err: any) {\n // Only update error state if this request wasn't aborted\n if (!abortSignal.aborted) {\n setError(err instanceof Error ? err : new Error(String(err)));\n setLoading(false);\n }\n }\n })();\n }, debounceMs);\n\n return () => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, [JSON.stringify(inputs), queries.join(\"|\"), assembly, JSON.stringify(limits), JSON.stringify(geneVersion), showiCREFlag, debounceMs]);\n\n return { data, loading, error };\n}\n"],"names":["useEntityAutocomplete","inputsArg","options","$","_c","t0","Array","isArray","inputs","queries","assembly","geneVersion","limits","showiCREFlag","debounceMs","t1","undefined","data","setData","useState","loading","setLoading","error","setError","timeoutRef","useRef","abortControllerRef","t2","ccre","gene","icre","legacyCcre","ome","snp","study","current","window","clearTimeout","abort","activeInputs","filter","_temp","length","AbortController","abortSignal","signal","setTimeout","aggregated","Promise","all","map","input","qGene","includes","qSnp","qICRE","qCCRE","qLegacyCcre","qCoordinate","qStudy","qOme","fetchPromises","isDomain","geneLimit","push","getGenes","then","geneResults","geneResultList","toLowerCase","startsWith","ccreLimit","getCCREs","ccreData","cCREAutocompleteQuery","ccreResultList","getCoordinates","legacyCcreLimit","getLegacyCCREs","legacyData","ccreMappings","legacyCcreResultList","icreLimit","getICREs","icreData","iCREQuery","icreResultList","snpLimit","getSNPs","snpData","snpAutocompleteQuery","snpResultList","studyLimit","getStudys","studyData","getGWASStudiesMetadata","studyResultList","omeLimit","filtered","OmesList","search","label","keywords","some","k","slice","resolve","omeResultsList","allResults","forEach","results","aborted","t3","err","Error","String","JSON","stringify","t4","join","t5","t6","t7","useEffect","t8","i","trim"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-components.es11.js","sources":["../src/components/BiosampleTable/columns.tsx"],"sourcesContent":["import {\n GridColDef,\n GridComparatorFn,\n gridRowIdSelector,\n gridRowNodeSelector,\n gridRowSelector,\n isAutogeneratedRow,\n} from \"@mui/x-data-grid-premium\";\nimport { AssayWheel } from \"./AssayWheel\";\nimport { CcreAssay, EncodeBiosample } from \"./types\";\nimport { DownloadButton } from \"./DownloadButton\";\nimport { AggregateDownloadButton, getAvailableFiles } from \"./AggregateDownload\";\nimport { capitalize, Stack, Tooltip } from \"@mui/material\";\nimport { Check, InfoOutline } from \"@mui/icons-material\";\n\n/**\n * @todo at some point, instead of checking for is rowNode.type === \"group\", can use isAutogeneratedRow instead\n */\n\nexport const ontologyCol: GridColDef<EncodeBiosample> = {\n field: \"ontology\",\n headerName: \"Organ/Tissue\",\n type: \"singleSelect\",\n valueOptions: [\n \"adipose\",\n \"adrenal gland\",\n \"blood\",\n \"blood vessel\",\n \"bone\",\n \"bone marrow\",\n \"brain\",\n \"breast\",\n \"connective tissue\",\n \"embryo\",\n \"epithelium\",\n \"esophagus\",\n \"eye\",\n \"fallopian tube\",\n \"gallbladder\",\n \"heart\",\n \"kidney\",\n \"large intestine\",\n \"limb\",\n \"liver\",\n \"lung\",\n \"lymphoid tissue\",\n \"mouth\",\n \"muscle\",\n \"nerve\",\n \"nose\",\n \"ovary\",\n \"pancreas\",\n \"paraythroid gland\",\n \"penis\",\n \"placenta\",\n \"prostate\",\n \"skin\",\n \"small intestine\",\n \"spinal cord\",\n \"spleen\",\n \"stomach\",\n \"testis\",\n \"thymus\",\n \"thyroid\",\n \"urinary bladder\",\n \"uterus\",\n \"vagina\",\n ],\n valueFormatter: (value) => value && capitalize(value),\n};\n\nexport const displayNameCol: GridColDef<EncodeBiosample> = {\n field: \"displayname\",\n headerName: \"Biosample\",\n valueFormatter: (value) => value && capitalize(value),\n maxWidth: 300,\n};\n\nexport const sampleTypeCol: GridColDef<EncodeBiosample> = {\n field: \"sampleType\",\n headerName: \"Sample Type\",\n type: \"singleSelect\",\n valueOptions: [\"tissue\", \"primary cell\", \"cell line\", \"in vitro differentiated cells\", \"organoid\"],\n valueFormatter: (value) => value && capitalize(value),\n};\n\nexport const lifeStageCol: GridColDef<EncodeBiosample> = {\n field: \"lifeStage\",\n headerName: \"Life Stage\",\n type: \"singleSelect\",\n valueOptions: [\"adult\", \"embryonic\"],\n valueFormatter: (value) => value && capitalize(value),\n};\n\nexport const assaysCol: GridColDef<EncodeBiosample> = {\n field: \"assays\",\n headerName: \"Assays\",\n valueGetter: (_, row) => {\n const availableAssays = [];\n if (row.dnase_experiment_accession) availableAssays.push(\"DNase\");\n if (row.atac_experiment_accession) availableAssays.push(\"ATAC\");\n if (row.h3k4me3_experiment_accession) availableAssays.push(\"H3K4me3\");\n if (row.h3k27ac_experiment_accession) availableAssays.push(\"H3K27ac\");\n if (row.ctcf_experiment_accession) availableAssays.push(\"CTCF\");\n return availableAssays.join(\",\");\n },\n sortComparator: (v1, v2) => {\n const count1 = v1.split(\",\").filter((s: string) => s.length > 0).length;\n const count2 = v2.split(\",\").filter((s: string) => s.length > 0).length;\n return count1 - count2;\n },\n renderCell: (params) => {\n if (params.rowNode.type === \"group\") return null;\n const row = params.row;\n return (\n <div onClick={(e) => e.stopPropagation()}>\n <AssayWheel\n row={{\n dnase: row.dnase_experiment_accession,\n atac: row.atac_experiment_accession,\n h3k4me3: row.h3k4me3_experiment_accession,\n h3k27ac: row.h3k27ac_experiment_accession,\n ctcf: row.ctcf_experiment_accession,\n }}\n />\n </div>\n );\n },\n groupable: false,\n};\n\n// -- Collection Column Helpers --\n\nconst collections = [\"Core\", \"Partial\", \"Ancillary\"] as const;\n\n//Handles the two experiments that have unprocessed H3K4me3 samples which have \"NA\" values in file\n//GM12866_ENCDO000ABQ & neural_crest_cell_ENCDO222AAA\nconst fileExists = (fileID: string | null): Boolean => {\n return !!fileID && fileID !== \"NA\"\n}\n\nconst getCollectionForSample = (sample: EncodeBiosample): (typeof collections)[number] | null => {\n const filesAvailable: Record<CcreAssay, Boolean> = {\n dnase: fileExists(sample.dnase_file_accession),\n h3k4me3: fileExists(sample.h3k4me3_file_accession),\n h3k27ac: fileExists(sample.h3k27ac_file_accession),\n ctcf: fileExists(sample.ctcf_file_accession),\n atac: fileExists(sample.atac_file_accession),\n };\n if (!Object.values(filesAvailable).includes(true)) return null; // True for grouping rows and GM12866_ENCDO000ABQ\n let collection: (typeof collections)[number] = \"Ancillary\";\n if (filesAvailable.dnase) {\n collection = \"Partial\";\n if (filesAvailable.ctcf && filesAvailable.h3k4me3 && filesAvailable.h3k27ac) {\n collection = \"Core\";\n }\n }\n return collection;\n};\n\n// define this to properly sort grouping rows and GM12866_ENCDO000ABQ\nconst sortOrder = [...collections, null]\n\nexport const collectionCol: GridColDef<EncodeBiosample> = {\n field: \"collection\",\n headerName: \"Collection\",\n type: \"singleSelect\",\n valueOptions: [...collections],\n valueGetter: (_, row) => getCollectionForSample(row),\n renderCell: (params) => {\n const row = params.row\n if (\n (row.dnase_experiment_accession && !fileExists(row.dnase_file_accession)) ||\n (row.h3k4me3_experiment_accession && !fileExists(row.h3k4me3_file_accession)) ||\n (row.h3k27ac_experiment_accession && !fileExists(row.h3k27ac_file_accession)) ||\n (row.ctcf_experiment_accession && !fileExists(row.ctcf_file_accession))\n )\n return (\n <Tooltip title=\"This sample's H3K4me3 experiment data was not run through the ENCODE pipeline. This assay is ignored when placing this sample in its given collection\">\n <Stack direction={\"row\"} alignItems={\"center\"}>\n {row.name === \"GM12866_ENCDO000ABQ\" ? \"NA\" : getCollectionForSample(row)}\n <InfoOutline fontSize=\"small\" />\n </Stack>\n </Tooltip>\n );\n else return getCollectionForSample(row);\n },\n sortComparator: (v1, v2) => sortOrder.indexOf(v1) - sortOrder.indexOf(v2),\n};\n\n//ENCODE Experiment Accession (plain text)\nexport const dnaseExpCol: GridColDef<EncodeBiosample> = {\n field: \"dnase_experiment_accession\",\n headerName: \"DNase Exp. ID\",\n sortable: false,\n groupable: false,\n};\nexport const h3k4me3ExpCol: GridColDef<EncodeBiosample> = {\n field: \"h3k4me3_experiment_accession\",\n headerName: \"H3K4me3 Exp. ID\",\n sortable: false,\n groupable: false,\n};\nexport const h3k27acExpCol: GridColDef<EncodeBiosample> = {\n field: \"h3k27ac_experiment_accession\",\n headerName: \"H3K27ac Exp. ID\",\n sortable: false,\n groupable: false,\n};\nexport const ctcfExpCol: GridColDef<EncodeBiosample> = {\n field: \"ctcf_experiment_accession\",\n headerName: \"CTCF Exp. ID\",\n sortable: false,\n groupable: false,\n};\nexport const atacExpCol: GridColDef<EncodeBiosample> = {\n field: \"atac_experiment_accession\",\n headerName: \"ATAC Exp. ID\",\n sortable: false,\n groupable: false,\n};\n\n//ENCODE File ID (plain text)\nexport const dnaseFileIdCol: GridColDef<EncodeBiosample> = {\n field: \"dnase_file_accession\",\n headerName: \"DNase File ID\",\n sortable: false,\n groupable: false,\n};\nexport const h3k4me3FileIdCol: GridColDef<EncodeBiosample> = {\n field: \"h3k4me3_file_accession\",\n headerName: \"H3K4me3 File ID\",\n sortable: false,\n groupable: false,\n};\nexport const h3k27acFileIdCol: GridColDef<EncodeBiosample> = {\n field: \"h3k27ac_file_accession\",\n headerName: \"H3K27ac File ID\",\n sortable: false,\n groupable: false,\n};\nexport const ctcfFileIdCol: GridColDef<EncodeBiosample> = {\n field: \"ctcf_file_accession\",\n headerName: \"CTCF File ID\",\n sortable: false,\n groupable: false,\n};\nexport const atacFileIdCol: GridColDef<EncodeBiosample> = {\n field: \"atac_file_accession\",\n headerName: \"ATAC File ID\",\n sortable: false,\n groupable: false,\n};\n\nexport const dnaseZscoreUrlCol: GridColDef<EncodeBiosample> = {\n field: \"dnaseZ\",\n headerName: \"DNase Z-scores\",\n valueGetter: (_, row) =>\n row.dnase_experiment_accession && row.dnase_file_accession\n ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${row.dnase_experiment_accession}-${row.dnase_file_accession}.tsv`\n : null,\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download DNase z-score by cCRE (.tsv) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"DNase\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const h3k4me3ZscoreUrlCol: GridColDef<EncodeBiosample> = {\n field: \"h3k4me3Z\",\n headerName: \"H3K4me3 Z-scores\",\n valueGetter: (_, row) =>\n //check if file exists to handle the two samples with unprocessed h3k4me3 experiments: GM12866_ENCDO000ABQ & neural_crest_cell_ENCDO222AAA\n row.h3k4me3_experiment_accession && fileExists(row.h3k4me3_file_accession)\n ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${row.h3k4me3_experiment_accession}-${row.h3k4me3_file_accession}.tsv`\n : null,\n renderCell: (params) => {\n if ([\"GM12866_ENCDO000ABQ\", \"neural_crest_cell_ENCDO222AAA\"].includes(params.row.name))\n return (\n <DownloadButton\n disabled\n message={() =>\n \"This sample's H3K4me3 experiment was not run through the ENCODE Pipeline and thus z-scores are not available\"\n }\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K4me3\"\n ontology={params.row.ontology}\n />\n );\n else if (!(params.rowNode.type === \"group\") && params.value)\n return (\n <DownloadButton\n message={(fileSize) => `Download H3K4me3 z-score by cCRE (.tsv) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K4me3\"\n ontology={params.row.ontology}\n />\n );\n },\n groupable: false,\n sortable: false,\n};\n\nexport const h3k27acZscoreUrlCol: GridColDef<EncodeBiosample> = {\n field: \"h3k27acZ\",\n headerName: \"H3K27ac Z-scores\",\n valueGetter: (_, row) =>\n row.h3k27ac_experiment_accession && row.h3k27ac_file_accession\n ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${row.h3k27ac_experiment_accession}-${row.h3k27ac_file_accession}.tsv`\n : null,\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download H3K27ac z-score by cCRE (.tsv) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K27ac\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const ctcfZscoreUrlCol: GridColDef<EncodeBiosample> = {\n field: \"ctcfZ\",\n headerName: \"CTCF Z-scores\",\n valueGetter: (_, row) =>\n row.ctcf_experiment_accession && row.ctcf_file_accession\n ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${row.ctcf_experiment_accession}-${row.ctcf_file_accession}.tsv`\n : null,\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download CTCF z-score by cCRE (.tsv) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"CTCF\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const atacZscoreUrlCol: GridColDef<EncodeBiosample> = {\n field: \"atacZ\",\n headerName: \"ATAC Z-scores\",\n valueGetter: (_, row) =>\n row.atac_experiment_accession && row.atac_file_accession\n ? `https://downloads.wenglab.org/Registry-V4/SCREEN/Signal-Files/${row.atac_experiment_accession}-${row.atac_file_accession}.tsv`\n : null,\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download ATAC z-score by cCRE (.tsv) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"ATAC\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const dnaseSignalUrlCol: GridColDef<EncodeBiosample> = {\n field: \"dnase_signal_url\",\n headerName: \"DNase Signal\",\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download DNase Signal (.bigWig) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"DNase\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const h3k4me3SignalUrlCol: GridColDef<EncodeBiosample> = {\n field: \"h3k4me3_signal_url\",\n headerName: \"H3K4me3 Signal\",\n valueGetter: (value, row) => (row.h3k4me3_file_accession === \"NA\" ? null : value),\n renderCell: (params) => {\n if ([\"GM12866_ENCDO000ABQ\", \"neural_crest_cell_ENCDO222AAA\"].includes(params.row.name))\n return (\n <DownloadButton\n disabled\n message={() =>\n \"This sample's H3K4me3 experiment was not run through the ENCODE Pipeline and thus the signal file is not available\"\n }\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K4me3\"\n ontology={params.row.ontology}\n />\n );\n else if (!(params.rowNode.type === \"group\") && params.value)\n return (\n <DownloadButton\n message={(fileSize) => `Download H3K4me3 Signal (.bigWig) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K4me3\"\n ontology={params.row.ontology}\n />\n );\n },\n groupable: false,\n sortable: false,\n};\n\nexport const h3k27acSignalUrlCol: GridColDef<EncodeBiosample> = {\n field: \"h3k27ac_signal_url\",\n headerName: \"H3K27ac Signal\",\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download H3K27ac Signal (.bigWig) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"H3K27ac\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const ctcfSignalUrlCol: GridColDef<EncodeBiosample> = {\n field: \"ctcf_signal_url\",\n headerName: \"CTCF Signal\",\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download CTCF Signal (.bigWig) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"CTCF\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const atacSignalUrlCol: GridColDef<EncodeBiosample> = {\n field: \"atac_signal_url\",\n headerName: \"ATAC Signal\",\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download ATAC Signal (.bigWig) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"ATAC\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const chromHmmUrlCol: GridColDef<EncodeBiosample> = {\n field: \"chromhmm_url\",\n headerName: \"ChromHMM States\",\n renderCell: (params) =>\n params.rowNode.type !== \"group\" &&\n params.value && (\n <DownloadButton\n message={(fileSize) => `Download ChromHMM States (.bigBed) - ${fileSize}`}\n url={params.value}\n displayName={params.row.displayname}\n assay=\"ChromHMM\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const ccreBedUrlCol: GridColDef<EncodeBiosample> = {\n field: \"bedurl\",\n headerName: \"cCREs (.bed)\",\n align: \"center\",\n valueGetter: (_, row, __, apiRef) => {\n if (isAutogeneratedRow(row)) {\n const id = gridRowIdSelector(apiRef, row);\n const rowNode = gridRowNodeSelector(apiRef, id);\n const isGroupingByOntology = rowNode.type === \"group\" && rowNode.groupingField === \"ontology\";\n if (isGroupingByOntology && typeof rowNode.groupingKey === \"string\") {\n return getAvailableFiles(rowNode.groupingKey)\n .map((x) => `https://downloads.wenglab.org/${x.filename}`)\n .join(\",\");\n } else return null;\n }\n const signalIDs = [\n row.dnase_file_accession,\n row.h3k4me3_file_accession,\n row.h3k27ac_file_accession,\n row.ctcf_file_accession,\n ].filter((id) => id !== null && id !== undefined && id !== \"NA\");\n if (!signalIDs.length) return null // aka is ATAC-only\n return `https://downloads.wenglab.org/Registry-V4/${signalIDs.join(\"_\")}.bed`;\n },\n renderCell: (params) => {\n if (params.rowNode.type === \"group\") {\n if (params.rowNode.groupingField === \"ontology\") {\n const ontology = (params.rowNode.groupingKey as string) ?? \"\";\n return <AggregateDownloadButton ontology={ontology} />;\n } else return null;\n }\n return (\n <DownloadButton\n message={(fileSize) =>\n params.value ? `Download cCREs (.bed) - ${fileSize}` : \"cCREs only available for samples with DNase, H3K4me3, H3H27ac, and/or CTCF data\"\n }\n url={params.value}\n disabled={!params.value} //aka is ATAC-only\n displayName={params.row.displayname}\n assay=\"cCREs\"\n ontology={params.row.ontology}\n />\n );\n },\n groupable: false,\n sortable: false,\n};\n\nexport const ccreBigBedUrlCol: GridColDef<EncodeBiosample> = {\n field: \"bigbedurl\",\n headerName: \"cCREs (.bigBed)\",\n align: 'center',\n valueGetter: (value: string, row) => {\n if (row.name === \"GM12866_ENCDO000ABQ\") return null //This sample has no cCREs file\n if (row.name === \"neural_crest_cell_ENCDO222AAA\") return value.replaceAll('_NA_', '_') //The url in file includes \"NA\" H3K4me3 file ID\n else return value\n },\n renderCell: (params) =>\n params.rowNode.type !== \"group\" && (\n <DownloadButton\n message={(fileSize) =>\n params.value ? `Download cCREs (.bigBed) - ${fileSize}` : \"cCREs only available for samples with DNase, H3K4me3, H3H27ac, and/or CTCF data\"\n }\n url={params.value}\n disabled={!params.value} //aka is ATAC-only\n displayName={params.row.displayname}\n assay=\"cCREs\"\n ontology={params.row.ontology}\n />\n ),\n groupable: false,\n sortable: false,\n};\n\nexport const rnaSeqCheckCol: GridColDef<EncodeBiosample> = {\n field: \"rnaSeq\",\n headerName: \"Has RNA Seq\",\n type: \"boolean\",\n valueGetter: (_, row) => (isAutogeneratedRow(row) ? null : !!row?.rna_seq_tracks?.length),\n renderCell: (params) => {\n if (params.value) {\n return <Check />;\n } else return null;\n },\n};\n\nexport const columns: GridColDef<EncodeBiosample>[] = [\n displayNameCol,\n assaysCol,\n ontologyCol,\n sampleTypeCol,\n lifeStageCol,\n collectionCol,\n ccreBedUrlCol,\n ccreBigBedUrlCol,\n dnaseExpCol,\n dnaseFileIdCol,\n dnaseZscoreUrlCol,\n dnaseSignalUrlCol,\n atacExpCol,\n atacFileIdCol,\n atacZscoreUrlCol,\n atacSignalUrlCol,\n h3k4me3ExpCol,\n h3k4me3FileIdCol,\n h3k4me3ZscoreUrlCol,\n h3k4me3SignalUrlCol,\n h3k27acExpCol,\n h3k27acFileIdCol,\n h3k27acZscoreUrlCol,\n h3k27acSignalUrlCol,\n ctcfExpCol,\n ctcfFileIdCol,\n ctcfZscoreUrlCol,\n ctcfSignalUrlCol,\n chromHmmUrlCol,\n rnaSeqCheckCol,\n];\n\n/**\n * useful for resetting visible columns by spreading this then overriding with visible cols\n */\nexport const allColsHidden = {\n displayname: false,\n assays: false,\n ontology: false,\n sampleType: false,\n lifeStage: false,\n collection: false,\n bedurl: false,\n bigbedurl: false,\n dnase_experiment_accession: false,\n dnase_file_accession: false,\n dnaseZ: false,\n dnase_signal_url: false,\n atac_experiment_accession: false,\n atac_file_accession: false,\n atacZ: false,\n atac_signal_url: false,\n h3k4me3_experiment_accession: false,\n h3k4me3_file_accession: false,\n h3k4me3Z: false,\n h3k4me3_signal_url: false,\n h3k27ac_experiment_accession: false,\n h3k27ac_file_accession: false,\n h3k27acZ: false,\n h3k27ac_signal_url: false,\n ctcf_experiment_accession: false,\n ctcf_file_accession: false,\n ctcfZ: false,\n ctcf_signal_url: false,\n chromhmm_url: false,\n rnaSeq: false,\n};\n"],"names":["ontologyCol","field","headerName","type","valueOptions","valueFormatter","value","capitalize","displayNameCol","maxWidth","sampleTypeCol","lifeStageCol","assaysCol","valueGetter","_","row","availableAssays","dnase_experiment_accession","push","atac_experiment_accession","h3k4me3_experiment_accession","h3k27ac_experiment_accession","ctcf_experiment_accession","join","sortComparator","v1","v2","count1","split","filter","s","length","count2","renderCell","params","rowNode","jsx","e","stopPropagation","AssayWheel","dnase","atac","h3k4me3","h3k27ac","ctcf","groupable","collections","fileExists","fileID","getCollectionForSample","sample","filesAvailable","dnase_file_accession","h3k4me3_file_accession","h3k27ac_file_accession","ctcf_file_accession","atac_file_accession","Object","values","includes","collection","sortOrder","collectionCol","Tooltip","jsxs","Stack","name","InfoOutline","indexOf","dnaseExpCol","sortable","h3k4me3ExpCol","h3k27acExpCol","ctcfExpCol","atacExpCol","dnaseFileIdCol","h3k4me3FileIdCol","h3k27acFileIdCol","ctcfFileIdCol","atacFileIdCol","dnaseZscoreUrlCol","DownloadButton","fileSize","displayname","ontology","h3k4me3ZscoreUrlCol","h3k27acZscoreUrlCol","ctcfZscoreUrlCol","atacZscoreUrlCol","dnaseSignalUrlCol","h3k4me3SignalUrlCol","h3k27acSignalUrlCol","ctcfSignalUrlCol","atacSignalUrlCol","chromHmmUrlCol","ccreBedUrlCol","align","__","apiRef","isAutogeneratedRow","id","gridRowIdSelector","gridRowNodeSelector","groupingField","groupingKey","getAvailableFiles","map","x","filename","signalIDs","AggregateDownloadButton","ccreBigBedUrlCol","replaceAll","rnaSeqCheckCol","rna_seq_tracks","Check","columns","allColsHidden","assays","sampleType","lifeStage","bedurl","bigbedurl","dnaseZ","dnase_signal_url","atacZ","atac_signal_url","h3k4me3Z","h3k4me3_signal_url","h3k27acZ","h3k27ac_signal_url","ctcfZ","ctcf_signal_url","chromhmm_url","rnaSeq"],"mappings":"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"}
|