Segregation of assets count on landing page and corresponding navigation to explore page (#424)
* changed my-data page to show different entities count and make it clickable. * minor fixes * fixed my-data page count issue * Changed icons for summary data * addressing review comments * minor fix * removed commented code
@ -0,0 +1,4 @@
|
||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="#6b7280" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 13.1797H13.1797V4.92188H10.6914V13.1797H9.87109V8.20312H7.41016V13.1797H6.58984V6.5625H4.12891V13.1797H3.30859V9.02344H0.820312V13.1797H0V14H14V13.1797Z" />
|
||||
<path d="M14 3.28125V0H10.6914V0.820313H12.5997L8.64062 4.75204L5.35937 1.47079L0.120173 6.68268L0.700134 7.26264L5.35937 2.63077L8.64062 5.91202L13.1797 1.4003V3.28125H14Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 452 B |
@ -1,4 +1,5 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.69385 13.7744C2.95273 13.7744 3.1626 13.5646 3.1626 13.3057C3.1626 13.0468 2.95273 12.8369 2.69385 12.8369C2.43496 12.8369 2.2251 13.0468 2.2251 13.3057C2.2251 13.5646 2.43496 13.7744 2.69385 13.7744Z" fill="#37352F"/>
|
||||
<path d="M12.6932 7.7035C13.521 7.58172 14.2721 7.20381 14.8653 6.61062C15.43 6.04594 15.8017 5.33306 15.9402 4.54909C16.0754 3.78335 15.9803 3.0045 15.6651 2.29675C15.5315 1.99657 15.1376 1.92375 14.9055 2.15597L12.9852 4.07616C12.906 4.15541 12.777 4.15541 12.6977 4.07616L11.9235 3.30194C11.8444 3.22281 11.8444 3.09406 11.9235 3.01494L13.844 1.0945C14.0764 0.862128 14.0031 0.468441 13.7032 0.334878C12.9954 0.019691 12.2165 -0.0754339 11.4508 0.059816C10.6668 0.198253 9.95386 0.569941 9.38914 1.13466C8.79595 1.72782 8.41802 2.47888 8.29624 3.30663C8.1957 3.98975 8.27592 4.67322 8.52802 5.30466L7.12186 6.45969L3.98177 3.31972L4.5342 2.76731C4.73217 2.56938 4.71349 2.24244 4.4938 2.06844L2.36842 0.385066C2.18189 0.237347 1.91421 0.252785 1.74592 0.421066L0.420113 1.74682C0.251832 1.91507 0.236332 2.18272 0.384113 2.36928L2.06755 4.49456C2.24155 4.71422 2.56827 4.73316 2.76646 4.53497L3.31886 3.98256L6.39399 7.05756L0.621769 11.799C-0.146699 12.4068 -0.213012 13.5503 0.479644 14.2429L1.75652 15.5198C2.44908 16.2123 3.59258 16.1462 4.20058 15.3777L8.94217 9.60566L9.41848 10.082L8.73336 10.7671C8.55727 10.9431 8.54961 11.2261 8.71586 11.4115L12.2879 15.3938C12.9904 16.1735 14.2022 16.2059 14.9451 15.463L15.4625 14.9456C16.2069 14.2012 16.1717 12.9806 15.3849 12.2806C15.3845 12.2803 15.3842 12.28 15.3839 12.2797L11.3832 8.73975C11.1977 8.57559 10.9164 8.58413 10.7411 8.75934L10.0814 9.41909L9.54005 8.87781L10.6951 7.47172C11.3266 7.72381 12.0101 7.804 12.6932 7.7035ZM2.47567 3.49997L1.37821 2.11447L2.11358 1.37913L3.49914 2.47653L2.47567 3.49997ZM11.0922 9.73403L14.7621 12.9812C14.9479 13.1467 15.0543 13.3748 15.0615 13.6236C15.0688 13.8725 14.9758 14.1066 14.7997 14.2827L14.2822 14.8002C14.1069 14.9755 13.8738 15.0687 13.6262 15.062C13.3784 15.0556 13.1505 14.9506 12.9851 14.7671L9.7102 11.116L11.0922 9.73403ZM10.1995 6.59822L8.54483 8.61244C8.54461 8.61269 8.54439 8.61297 8.54417 8.61322L3.47321 14.7862C3.47105 14.7888 3.46889 14.7915 3.46677 14.7942C3.20692 15.1251 2.71761 15.1551 2.41942 14.8569L1.14255 13.5801C0.84505 13.2826 0.873613 12.7932 1.20527 12.5328C1.20796 12.5307 1.21061 12.5285 1.21327 12.5263L7.38655 7.45547C7.38673 7.45531 7.38689 7.45519 7.38708 7.45503L9.40152 5.80031C9.57255 5.65984 9.62198 5.41888 9.52014 5.22241C8.92936 4.08278 9.14311 2.70644 10.052 1.79753C10.6118 1.23782 11.3695 0.940378 12.1358 0.940378C12.3009 0.940378 12.4665 0.954191 12.6305 0.982159L11.2605 2.35203C10.8159 2.79666 10.8159 3.52013 11.2605 3.96478L12.0348 4.739C12.4795 5.18375 13.2033 5.18381 13.6481 4.739L15.0178 3.36941C15.1755 4.29447 14.8827 5.26744 14.2024 5.94775C13.2934 6.85663 11.917 7.07034 10.7774 6.47963C10.581 6.37775 10.34 6.42719 10.1995 6.59822Z" fill="#37352F"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="512" height="512" x="0" y="0" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512" xml:space="preserve">
|
||||
<path d="M481.429,332.892c-26.337-26.357-62.882-37.523-109.815-24.945L204.256,140.419l2.212-8.364 c9.639-36.166-0.776-75.041-27.172-101.437C152.42,3.721,114.212-6.148,78.077,3.778c-5.153,1.415-9.164,5.464-10.529,10.631 c-1.365,5.167,0.132,10.659,3.909,14.438l40.297,40.297c11.781,11.81,11.666,30.724,0.029,42.392 c-11.545,11.576-30.951,11.558-42.45,0.029L29.028,71.257c-3.779-3.781-9.287-5.264-14.454-3.891 c-5.168,1.372-9.202,5.393-10.612,10.551c-9.781,35.738-0.159,74.183,26.846,101.188c26.326,26.345,62.825,37.551,109.786,24.946 l167.371,167.528c-12.49,46.919-1.716,83.11,24.975,109.801c26.91,26.93,65.136,36.726,101.192,26.833 c5.154-1.414,9.166-5.464,10.532-10.631c1.366-5.167-0.13-10.66-3.909-14.44l-40.288-40.288 c-11.781-11.81-11.666-30.726-0.029-42.392c11.689-11.629,31.052-11.444,42.45-0.015l40.308,40.297 c3.779,3.779,9.287,5.262,14.453,3.889c5.167-1.373,9.201-5.392,10.611-10.549C518.041,398.352,508.421,359.897,481.429,332.892z" fill="#6b7280" data-original="#000000" style=""></path>
|
||||
<path d="M160.551,266.584L17.559,409.594c-23.401,23.401-23.401,61.455,0,84.855c23.401,23.401,61.455,23.401,84.855,0 l142.989-143.006L160.551,266.584z M88.322,447.898c-5.86,5.86-15.35,5.86-21.21,0c-5.859-5.859-5.859-15.351,0-21.21 l90.98-90.997c5.859-5.859,15.352-5.859,21.21,0c5.859,5.859,5.859,15.351,0,21.21L88.322,447.898z" fill="#6b7280" data-original="#000000" style=""></path>
|
||||
<path d="M507.596,30.253L481.737,4.394c-4.867-4.867-12.42-5.797-18.322-2.258l-79.547,47.723 c-8.37,5.021-9.791,16.568-2.891,23.469l6.332,6.33l-100.98,100.567l42.435,42.435l100.98-100.567l8.919,8.921 c6.901,6.899,18.449,5.479,23.469-2.891l47.723-79.547C513.393,42.673,512.463,35.12,507.596,30.253z" fill="#6b7280" data-original="#000000" style=""></path>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,3 @@
|
||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="#6b7280" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.6875 0.875H1.3125C0.587617 0.875 0 1.46262 0 2.1875V11.8125C0 12.5374 0.587617 13.125 1.3125 13.125H12.6875C13.4124 13.125 14 12.5374 14 11.8125V2.1875C14 1.46262 13.4124 0.875 12.6875 0.875ZM6.125 11.375H1.75V8.75H6.125V11.375ZM6.125 7H1.75V4.375H6.125V7ZM12.25 11.375H7.875V8.75H12.25V11.375ZM12.25 7H7.875V4.375H12.25V7Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 446 B |
@ -1,3 +1 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.625 5.65625C13.3031 5.65625 12.985 5.72341 12.6923 5.85019C12.1895 4.75716 11.2862 3.83206 10.1479 3.31113C10.2757 3.01744 10.3438 2.69825 10.3438 2.375C10.3438 1.07944 9.29581 0 8 0C6.70441 0 5.65625 1.07922 5.65625 2.375C5.65625 2.69812 5.72391 3.01734 5.85156 3.31094C4.72703 3.82569 3.81638 4.74444 3.30772 5.85016C3.01497 5.72341 2.69688 5.65625 2.375 5.65625C1.07941 5.65625 0 6.70422 0 8C0 9.29559 1.07922 10.3438 2.375 10.3438C2.69475 10.3438 3.01097 10.2774 3.30222 10.1522C3.78431 11.2074 4.66828 12.1597 5.84491 12.7003C5.72056 12.9892 5.65625 13.3015 5.65625 13.625C5.65625 14.9206 6.70422 16 8 16C9.2955 16 10.3438 14.9208 10.3438 13.625C10.3438 13.3015 10.2794 12.9892 10.1551 12.7003C11.2564 12.1943 12.18 11.2855 12.6978 10.1522C12.989 10.2774 13.3053 10.3438 13.625 10.3438C14.9206 10.3438 16 9.29578 16 8C16 6.70447 14.9208 5.65625 13.625 5.65625ZM8 10.3581C6.71459 10.3581 5.64909 9.30781 5.64909 8.00716C5.64909 6.72809 6.69325 5.65625 8 5.65625C9.27347 5.65625 10.3509 6.68322 10.3509 8.00716C10.3509 9.30013 9.29241 10.3581 8 10.3581ZM6.68175 3.99116C6.99213 3.88913 7.10556 3.50803 6.90134 3.25288C6.70013 3.0015 6.59375 2.69794 6.59375 2.375C6.59375 1.59578 7.23772 0.9375 8 0.9375C8.76228 0.9375 9.40625 1.59578 9.40625 2.375C9.40625 2.69791 9.29991 3.0015 9.09863 3.25291C8.89234 3.51094 9.01294 3.89128 9.31822 3.99116C9.57575 4.07578 9.82197 4.18416 10.0558 4.31484C9.88816 4.41956 9.74222 4.55953 9.62869 4.72984C9.55784 4.83609 9.50381 4.94916 9.46575 5.06594C9.01372 4.83975 8.51253 4.71875 8 4.71875C7.21031 4.71875 6.44675 5.00434 5.84997 5.52287C5.70566 5.64828 5.46 5.74328 5.24269 5.59841C4.99003 5.42997 4.95563 5.06406 5.1795 4.86266C5.61853 4.46766 6.12397 4.17447 6.68175 3.99116ZM3.98366 9.32438C3.88206 9.015 3.50278 8.90084 3.24725 9.10316C2.99691 9.30144 2.69531 9.40625 2.375 9.40625C1.59578 9.40625 0.9375 8.76228 0.9375 8C0.9375 7.23772 1.59578 6.59375 2.375 6.59375C2.69662 6.59375 2.99919 6.69931 3.25003 6.89909C3.50478 7.10191 3.88453 6.98919 3.987 6.67975C4.07119 6.42553 4.17853 6.18237 4.30766 5.95134C4.41234 6.119 4.55234 6.26494 4.72266 6.37847C4.82894 6.44931 4.94191 6.50344 5.05872 6.54147C4.83253 6.9935 4.71156 7.49466 4.71156 8.00712C4.71156 8.79681 4.99713 9.56038 5.51569 10.1572C5.64109 10.3015 5.73612 10.5471 5.59122 10.7644C5.4225 11.0175 5.05647 11.0511 4.85547 10.8276C4.46028 10.3883 4.16694 9.88256 3.98366 9.32438ZM9.32634 12.0205C9.01822 12.1224 8.90425 12.5003 9.10541 12.7556C9.30222 13.0054 9.40625 13.306 9.40625 13.625C9.40625 14.4042 8.76228 15.0625 8 15.0625C7.23772 15.0625 6.59375 14.4042 6.59375 13.625C6.59375 13.306 6.69778 13.0054 6.89459 12.7556C7.0955 12.5007 6.98222 12.1226 6.67366 12.0205C6.41906 11.9362 6.17556 11.8288 5.94419 11.6995C6.11184 11.5947 6.25778 11.4548 6.37134 11.2845C6.44219 11.1782 6.49622 11.0652 6.53428 10.9483C6.98634 11.1746 7.48753 11.2955 8.00003 11.2955C8.78975 11.2955 9.55328 11.0099 10.1501 10.4914C10.2943 10.366 10.5401 10.271 10.7573 10.4159C11.01 10.5843 11.0444 10.9502 10.8205 11.1517C10.3837 11.5447 9.88097 11.837 9.32634 12.0205ZM13.625 9.40625C13.3047 9.40625 13.0031 9.30144 12.7528 9.10316C12.4976 8.90097 12.118 9.01472 12.0164 9.32438C11.9317 9.58228 11.8232 9.82887 11.6923 10.063C11.5876 9.89534 11.4477 9.74941 11.2773 9.63587C11.1711 9.56503 11.058 9.51097 10.9412 9.47294C11.1674 9.02087 11.2884 8.51969 11.2884 8.00719C11.2884 7.21753 11.0028 6.45397 10.4843 5.85719C10.3589 5.71287 10.2639 5.46722 10.4088 5.24988C10.5755 4.99966 10.9411 4.96056 11.1445 5.18669C11.5372 5.62319 11.8294 6.12553 12.013 6.67978C12.0612 6.82525 12.1774 6.93797 12.3243 6.98169C12.471 7.02537 12.6301 6.99456 12.75 6.89909C13.0008 6.69931 13.3034 6.59375 13.625 6.59375C14.4042 6.59375 15.0625 7.23772 15.0625 8C15.0625 8.76228 14.4042 9.40625 13.625 9.40625Z" fill="#37352F"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="512" height="512" x="0" y="0" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512" xml:space="preserve"><g><g xmlns="http://www.w3.org/2000/svg"><path d="m151.033 55.7c0-30.713-24.987-55.7-55.7-55.7-73.894 3.06-73.873 108.352 0 111.4 30.714 0 55.7-24.987 55.7-55.7z" fill="#6b7280" data-original="#000000" style=""></path><path d="m190.667 223.867v-17.133c-5.252-126.505-185.462-126.407-190.667-.001v17.133c0 8.284 6.716 15 15 15h160.667c8.284.001 15-6.715 15-14.999z" fill="#6b7280" data-original="#000000" style=""></path><path d="m472.367 55.7c0-30.713-24.987-55.7-55.7-55.7-73.894 3.06-73.873 108.352 0 111.4 30.713 0 55.7-24.987 55.7-55.7z" fill="#6b7280" data-original="#000000" style=""></path><path d="m416.667 111.4c-52.567 0-95.333 42.767-95.333 95.333v17.133c0 8.284 6.716 15 15 15h160.666c8.284 0 15-6.716 15-15v-17.133c0-52.566-42.766-95.333-95.333-95.333z" fill="#6b7280" data-original="#000000" style=""></path><path d="m94.267 272.067c0-1.07.02-2.135.04-3.2h-30c-1.194 64.3 29.976 122.392 78.244 157.768 4.312-9.154 9.7-17.703 16-25.488-39.048-29.525-64.284-76.353-64.284-129.08z" fill="#6b7280" data-original="#000000" style=""></path><path d="m189.804 124.461c39.896-18.684 92.496-18.684 132.392 0 7.114-8.159 15.264-15.391 24.245-21.489-53.095-29.899-127.786-29.898-180.881 0 8.98 6.098 17.13 13.331 24.244 21.489z" fill="#6b7280" data-original="#000000" style=""></path><path d="m417.693 268.867c1.165 53.589-24.4 102.267-64.244 132.28 6.3 7.784 11.687 16.334 16 25.488 48.266-35.373 79.439-93.47 78.244-157.768z" fill="#6b7280" data-original="#000000" style=""></path><path d="m311.7 328.833c0-30.713-24.987-55.7-55.7-55.7-73.894 3.06-73.873 108.352 0 111.4 30.713 0 55.7-24.986 55.7-55.7z" fill="#6b7280" data-original="#000000" style=""></path><path d="m256 384.533c-52.567 0-95.333 42.767-95.333 95.333v17.134c0 8.284 6.716 15 15 15h160.667c8.284 0 15-6.716 15-15v-17.133c-.001-52.567-42.767-95.334-95.334-95.334z" fill="#6b7280" data-original="#000000" style=""></path></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 2.1 KiB |
@ -0,0 +1,8 @@
|
||||
<svg width="15" height="14" viewBox="0 0 15 14" fill="#6b7280" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.000269763 8.11034H1.96745V12.069H13.0328V8.11034H15V14H0.000269763V8.11034Z" />
|
||||
<path d="M2.95076 0H4.91794V11.1034H2.95076V0Z" />
|
||||
<path d="M6.51135 0H8.47853V11.1034H6.51135V0Z" />
|
||||
<path d="M10.0719 0H12.0391V11.1034H10.0719V0Z" />
|
||||
<path d="M0 2.89655L1.28982e-07 5.7931L1.96718 4.31586L0 2.89655Z" />
|
||||
<path d="M13.0227 2.89655V5.7931L14.9899 4.31586L13.0227 2.89655Z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 530 B |
@ -1,4 +1 @@
|
||||
<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.57349 7.70728C7.63232 7.70728 8.54907 7.32751 9.29834 6.57825C10.0474 5.8291 10.4272 4.91248 10.4272 3.85352C10.4272 2.79492 10.0475 1.87817 9.29822 1.12878C8.54895 0.379761 7.6322 0 6.57349 0C5.51453 0 4.5979 0.379761 3.84875 1.12891C3.09961 1.87805 2.71973 2.7948 2.71973 3.85352C2.71973 4.91248 3.09961 5.82922 3.84875 6.57837C4.59814 7.32739 5.51489 7.70728 6.57349 7.70728ZM4.51184 1.79187C5.08667 1.21704 5.76099 0.937622 6.57349 0.937622C7.38586 0.937622 8.0603 1.21704 8.63525 1.79187C9.21008 2.36682 9.48962 3.04126 9.48962 3.85352C9.48962 4.66602 9.21008 5.34033 8.63525 5.91528C8.0603 6.49023 7.38586 6.76965 6.57349 6.76965C5.76123 6.76965 5.08691 6.49011 4.51184 5.91528C3.93689 5.34045 3.65735 4.66602 3.65735 3.85352C3.65735 3.04126 3.93689 2.36682 4.51184 1.79187Z" fill="#37352F"/>
|
||||
<path d="M13.3165 12.3032C13.2949 11.9915 13.2512 11.6514 13.1869 11.2922C13.1219 10.9304 13.0383 10.5884 12.9382 10.2758C12.8347 9.95264 12.6942 9.63354 12.5203 9.32776C12.34 9.01038 12.1281 8.73401 11.8903 8.50659C11.6416 8.26868 11.3372 8.07739 10.9851 7.93787C10.6343 7.79907 10.2455 7.72876 9.82959 7.72876C9.66626 7.72876 9.5083 7.79578 9.20325 7.99438C9.0155 8.11682 8.7959 8.25842 8.55078 8.41504C8.34119 8.54858 8.05725 8.67371 7.70654 8.78699C7.36438 8.89771 7.01697 8.95386 6.67395 8.95386C6.33118 8.95386 5.98376 8.89771 5.64136 8.78699C5.29102 8.67383 5.00696 8.54871 4.79773 8.41516C4.55493 8.26001 4.33521 8.11841 4.14465 7.99426C3.83984 7.79565 3.68188 7.72864 3.51855 7.72864C3.10254 7.72864 2.71387 7.79907 2.36316 7.93799C2.01135 8.07727 1.70679 8.26855 1.45789 8.50671C1.22009 8.73425 1.00818 9.0105 0.828003 9.32776C0.654297 9.63354 0.513672 9.95251 0.410156 10.2759C0.310181 10.5885 0.226562 10.9304 0.161621 11.2922C0.097168 11.6509 0.0535889 11.9911 0.0319824 12.3036C0.0107422 12.6091 0 12.9271 0 13.2484C0 14.0836 0.265503 14.7598 0.789062 15.2584C1.30615 15.7505 1.99023 16 2.82239 16H10.5265C11.3584 16 12.0425 15.7505 12.5597 15.2584C13.0834 14.7601 13.3489 14.0837 13.3489 13.2483C13.3488 12.9259 13.3379 12.6079 13.3165 12.3032ZM11.9132 14.5791C11.5715 14.9043 11.1179 15.0624 10.5264 15.0624H2.82239C2.23071 15.0624 1.7771 14.9043 1.43555 14.5792C1.10046 14.2603 0.937622 13.8248 0.937622 13.2484C0.937622 12.9486 0.94751 12.6526 0.967285 12.3684C0.986572 12.0896 1.026 11.7833 1.08447 11.4579C1.14221 11.1365 1.2157 10.8348 1.3031 10.5618C1.38696 10.2999 1.50134 10.0406 1.64319 9.79089C1.77856 9.55286 1.93433 9.34863 2.1062 9.18408C2.26697 9.03015 2.4696 8.90417 2.70837 8.80969C2.9292 8.72229 3.17737 8.67444 3.44678 8.66724C3.47961 8.68469 3.53809 8.71802 3.63281 8.77979C3.82556 8.9054 4.04773 9.04871 4.29333 9.20557C4.57019 9.38208 4.92688 9.5415 5.35303 9.67908C5.7887 9.81995 6.23303 9.89148 6.67407 9.89148C7.11511 9.89148 7.55957 9.81995 7.995 9.6792C8.42151 9.54138 8.77808 9.38208 9.0553 9.20532C9.30664 9.04468 9.52258 8.90552 9.71533 8.77979C9.81006 8.71814 9.86853 8.68469 9.90137 8.66724C10.1709 8.67444 10.4191 8.72229 10.64 8.80969C10.8787 8.90417 11.0813 9.03027 11.2421 9.18408C11.4139 9.34851 11.5697 9.55273 11.7051 9.79102C11.847 10.0406 11.9615 10.3 12.0453 10.5616C12.1328 10.8351 12.2064 11.1366 12.264 11.4578C12.3224 11.7838 12.3619 12.0902 12.3812 12.3685V12.3688C12.4011 12.6519 12.4111 12.9478 12.4113 13.2484C12.4111 13.825 12.2483 14.2603 11.9132 14.5791Z" fill="#37352F"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="512" height="512" x="0" y="0" viewBox="0 0 512 512.002" style="enable-background:new 0 0 512 512" xml:space="preserve"><g><path xmlns="http://www.w3.org/2000/svg" d="m210.351562 246.632812c33.882813 0 63.222657-12.152343 87.195313-36.128906 23.972656-23.972656 36.125-53.304687 36.125-87.191406 0-33.875-12.152344-63.210938-36.128906-87.191406-23.976563-23.96875-53.3125-36.121094-87.191407-36.121094-33.886718 0-63.21875 12.152344-87.191406 36.125s-36.128906 53.308594-36.128906 87.1875c0 33.886719 12.15625 63.222656 36.132812 87.195312 23.976563 23.96875 53.3125 36.125 87.1875 36.125zm0 0" fill="#6b7280" data-original="#000000" style=""></path><path xmlns="http://www.w3.org/2000/svg" d="m426.128906 393.703125c-.691406-9.976563-2.089844-20.859375-4.148437-32.351563-2.078125-11.578124-4.753907-22.523437-7.957031-32.527343-3.308594-10.339844-7.808594-20.550781-13.371094-30.335938-5.773438-10.15625-12.554688-19-20.164063-26.277343-7.957031-7.613282-17.699219-13.734376-28.964843-18.199219-11.226563-4.441407-23.667969-6.691407-36.976563-6.691407-5.226563 0-10.28125 2.144532-20.042969 8.5-6.007812 3.917969-13.035156 8.449219-20.878906 13.460938-6.707031 4.273438-15.792969 8.277344-27.015625 11.902344-10.949219 3.542968-22.066406 5.339844-33.039063 5.339844-10.972656 0-22.085937-1.796876-33.046874-5.339844-11.210938-3.621094-20.296876-7.625-26.996094-11.898438-7.769532-4.964844-14.800782-9.496094-20.898438-13.46875-9.75-6.355468-14.808594-8.5-20.035156-8.5-13.3125 0-25.75 2.253906-36.972656 6.699219-11.257813 4.457031-21.003906 10.578125-28.96875 18.199219-7.605469 7.28125-14.390625 16.121094-20.15625 26.273437-5.558594 9.785157-10.058594 19.992188-13.371094 30.339844-3.199219 10.003906-5.875 20.945313-7.953125 32.523437-2.058594 11.476563-3.457031 22.363282-4.148437 32.363282-.679688 9.796875-1.023438 19.964844-1.023438 30.234375 0 26.726562 8.496094 48.363281 25.25 64.320312 16.546875 15.746094 38.441406 23.734375 65.066406 23.734375h246.53125c26.625 0 48.511719-7.984375 65.0625-23.734375 16.757813-15.945312 25.253906-37.585937 25.253906-64.324219-.003906-10.316406-.351562-20.492187-1.035156-30.242187zm0 0" fill="#6b7280" data-original="#000000" style=""></path></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 2.3 KiB |
@ -1,7 +1,7 @@
|
||||
import classNames from 'classnames';
|
||||
import { observer } from 'mobx-react';
|
||||
import React, { FunctionComponent, useEffect, useState } from 'react';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import { Link, useHistory } from 'react-router-dom';
|
||||
import AppState from '../../AppState';
|
||||
import { ROUTES } from '../../constants/constants';
|
||||
import SVGIcons, { Icons } from '../../utils/SvgUtils';
|
||||
@ -9,6 +9,16 @@ import SVGIcons, { Icons } from '../../utils/SvgUtils';
|
||||
type Props = {
|
||||
countServices: number;
|
||||
countAssets: number;
|
||||
entityCounts: {
|
||||
tableCount: number;
|
||||
topicCount: number;
|
||||
dashboardCount: number;
|
||||
};
|
||||
};
|
||||
type Summary = {
|
||||
icon: string;
|
||||
data: string;
|
||||
link?: string;
|
||||
};
|
||||
|
||||
const LANDING_STATES = [
|
||||
@ -29,32 +39,51 @@ const LANDING_STATES = [
|
||||
const MyDataHeader: FunctionComponent<Props> = ({
|
||||
countAssets,
|
||||
countServices,
|
||||
entityCounts,
|
||||
}: Props) => {
|
||||
const history = useHistory();
|
||||
const { users, userTeams } = AppState;
|
||||
const [dataSummary, setdataSummary] = useState({
|
||||
asstes: {
|
||||
icon: Icons.ASSETS,
|
||||
data: `${countAssets} of Assets`,
|
||||
},
|
||||
service: {
|
||||
icon: Icons.SERVICE,
|
||||
data: `${countServices} of Services`,
|
||||
},
|
||||
user: {
|
||||
icon: Icons.USERS,
|
||||
data: `${users.length} of Users`,
|
||||
},
|
||||
terms: {
|
||||
icon: Icons.TERMS,
|
||||
data: `${userTeams.length} of Teams`,
|
||||
},
|
||||
});
|
||||
const [dataSummary, setdataSummary] = useState<Record<string, Summary>>({});
|
||||
|
||||
const getFormattedDescription = (description: string) => {
|
||||
return description.replaceAll('{countAssets}', countAssets.toString());
|
||||
};
|
||||
|
||||
const getSummarydata = () => {
|
||||
return {
|
||||
tables: {
|
||||
icon: Icons.TABLE_GREY,
|
||||
data: `${entityCounts.tableCount} Tables`,
|
||||
link: `/explore/tables`,
|
||||
},
|
||||
topics: {
|
||||
icon: Icons.TOPIC_GREY,
|
||||
data: `${entityCounts.topicCount} Topics`,
|
||||
link: `/explore/topics`,
|
||||
},
|
||||
dashboards: {
|
||||
icon: Icons.DASHBOARD_GREY,
|
||||
data: `${entityCounts.dashboardCount} Dashboards`,
|
||||
link: `/explore/dashboards`,
|
||||
},
|
||||
service: {
|
||||
icon: Icons.SERVICE,
|
||||
data: `${countServices} of Services`,
|
||||
link: `/services`,
|
||||
},
|
||||
user: {
|
||||
icon: Icons.USERS,
|
||||
data: `${users.length} of Users`,
|
||||
link: `/teams`,
|
||||
},
|
||||
terms: {
|
||||
icon: Icons.TERMS,
|
||||
data: `${userTeams.length} of Teams`,
|
||||
link: `/teams`,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const handleRouting = (url = '') => {
|
||||
if (url) {
|
||||
history.push(url);
|
||||
@ -62,29 +91,12 @@ const MyDataHeader: FunctionComponent<Props> = ({
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setdataSummary({
|
||||
asstes: {
|
||||
icon: Icons.ASSETS,
|
||||
data: `${countAssets} Assets`,
|
||||
},
|
||||
service: {
|
||||
icon: Icons.SERVICE,
|
||||
data: `${countServices} Services`,
|
||||
},
|
||||
user: {
|
||||
icon: Icons.USERS,
|
||||
data: `${users.length} Users`,
|
||||
},
|
||||
terms: {
|
||||
icon: Icons.TERMS,
|
||||
data: `${userTeams.length} Teams`,
|
||||
},
|
||||
});
|
||||
}, [userTeams, users, countAssets, countServices]);
|
||||
setdataSummary(getSummarydata());
|
||||
}, [userTeams, users, countServices]);
|
||||
|
||||
return (
|
||||
<section className="tw-flex tw-flex-col tw-items-center tw-py-7">
|
||||
<h3 className="tw-mb-3 tw-font-semibold">
|
||||
<h3 className="tw-mb-7 tw-font-semibold ">
|
||||
<span style={{ color: '#8D6AF1' }}>Open</span>
|
||||
<span style={{ color: '#7147E8' }}>Metadata</span>
|
||||
</h3>
|
||||
@ -92,11 +104,19 @@ const MyDataHeader: FunctionComponent<Props> = ({
|
||||
{Object.values(dataSummary).map((data, index) => (
|
||||
<div className="tw-flex tw-items-center tw-gap-2" key={index}>
|
||||
<SVGIcons alt="icon" className="tw-h-4 tw-w-4" icon={data.icon} />
|
||||
|
||||
<p className="tw-font-medium">{data.data}</p>
|
||||
{data.link ? (
|
||||
<Link className="tw-font-medium" to={data.link}>
|
||||
<button className="tw-text-grey-body hover:tw-text-primary-hover hover:tw-underline">
|
||||
{data.data}
|
||||
</button>
|
||||
</Link>
|
||||
) : (
|
||||
<p className="tw-font-medium">{data.data}</p>
|
||||
)}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="tw-flex tw-gap-10">
|
||||
{LANDING_STATES.map((d, i) => (
|
||||
<div
|
||||
|
||||
@ -40,6 +40,7 @@ const PLACEHOLDER_ROUTE_DATABASE_FQN = ':databaseFQN';
|
||||
const PLACEHOLDER_ROUTE_SERVICE_FQN = ':serviceFQN';
|
||||
const PLACEHOLDER_ROUTE_SERVICE_TYPE = ':serviceType';
|
||||
const PLACEHOLDER_ROUTE_SEARCHQUERY = ':searchQuery';
|
||||
const PLACEHOLDER_ROUTE_TAB = ':tab';
|
||||
|
||||
export const pagingObject = { after: '', before: '' };
|
||||
|
||||
@ -96,7 +97,8 @@ export const ROUTES = {
|
||||
MY_DATA: '/my-data',
|
||||
REPORTS: '/reports',
|
||||
EXPLORE: '/explore',
|
||||
EXPLORE_WITH_SEARCH: `/explore/${PLACEHOLDER_ROUTE_SEARCHQUERY}`,
|
||||
EXPLORE_WITH_SEARCH: `/explore/${PLACEHOLDER_ROUTE_TAB}/${PLACEHOLDER_ROUTE_SEARCHQUERY}`,
|
||||
EXPLORE_WITH_TAB: `/explore/${PLACEHOLDER_ROUTE_TAB}`,
|
||||
WORKFLOWS: '/workflows',
|
||||
SQL_BUILDER: '/sql-builder',
|
||||
TEAMS: '/teams',
|
||||
@ -145,9 +147,11 @@ export const getServiceDetailsPath = (
|
||||
return path;
|
||||
};
|
||||
|
||||
export const getExplorePathWithSearch = (searchQuery = '') => {
|
||||
export const getExplorePathWithSearch = (searchQuery = '', tab = 'tables') => {
|
||||
let path = ROUTES.EXPLORE_WITH_SEARCH;
|
||||
path = path.replace(PLACEHOLDER_ROUTE_SEARCHQUERY, searchQuery);
|
||||
path = path
|
||||
.replace(PLACEHOLDER_ROUTE_SEARCHQUERY, searchQuery)
|
||||
.replace(PLACEHOLDER_ROUTE_TAB, tab);
|
||||
|
||||
return path;
|
||||
};
|
||||
|
||||
@ -66,6 +66,7 @@ export const tabsInfo = [
|
||||
sortingFields: tableSortingFields,
|
||||
sortField: tableSortingFields[0].value,
|
||||
tab: 1,
|
||||
path: 'tables',
|
||||
},
|
||||
{
|
||||
label: 'Topics',
|
||||
@ -73,6 +74,7 @@ export const tabsInfo = [
|
||||
sortingFields: topicSortingFields,
|
||||
sortField: topicSortingFields[0].value,
|
||||
tab: 2,
|
||||
path: 'topics',
|
||||
},
|
||||
{
|
||||
label: 'Dashboards',
|
||||
@ -80,5 +82,6 @@ export const tabsInfo = [
|
||||
sortingFields: topicSortingFields,
|
||||
sortField: topicSortingFields[0].value,
|
||||
tab: 3,
|
||||
path: 'dashboards',
|
||||
},
|
||||
];
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
export type Params = {
|
||||
searchQuery: string;
|
||||
tab: string;
|
||||
};
|
||||
|
||||
export type Service = {
|
||||
|
||||
@ -25,7 +25,7 @@ import {
|
||||
SearchResponse,
|
||||
} from 'Models';
|
||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||
import { useLocation, useParams } from 'react-router-dom';
|
||||
import { useHistory, useLocation, useParams } from 'react-router-dom';
|
||||
import { searchData } from '../../axiosAPIs/miscAPI';
|
||||
import { Button } from '../../components/buttons/Button/Button';
|
||||
import ErrorPlaceHolderES from '../../components/common/error-with-placeholder/ErrorPlaceHolderES';
|
||||
@ -34,6 +34,7 @@ import DropDownList from '../../components/dropdown/DropDownList';
|
||||
import SearchedData from '../../components/searched-data/SearchedData';
|
||||
import {
|
||||
ERROR500,
|
||||
getExplorePathWithSearch,
|
||||
PAGE_SIZE,
|
||||
tableSortingFields,
|
||||
} from '../../constants/constants';
|
||||
@ -68,15 +69,37 @@ const getQueryParam = (urlSearchQuery = ''): FilterObject => {
|
||||
}, {}) as FilterObject;
|
||||
};
|
||||
|
||||
const getCurrentTab = (tab: string) => {
|
||||
let currentTab = 1;
|
||||
switch (tab) {
|
||||
case 'topics':
|
||||
currentTab = 2;
|
||||
|
||||
break;
|
||||
case 'dashboards':
|
||||
currentTab = 3;
|
||||
|
||||
break;
|
||||
|
||||
case 'tables':
|
||||
default:
|
||||
currentTab = 1;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return currentTab;
|
||||
};
|
||||
|
||||
const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
const location = useLocation();
|
||||
|
||||
const history = useHistory();
|
||||
const filterObject: FilterObject = {
|
||||
...{ tags: [], service: [], tier: [] },
|
||||
...getQueryParam(location.search),
|
||||
};
|
||||
const showToast = useToastContext();
|
||||
const { searchQuery } = useParams<Params>();
|
||||
const { searchQuery, tab } = useParams<Params>();
|
||||
const [searchText, setSearchText] = useState<string>(searchQuery || '');
|
||||
const [data, setData] = useState<Array<FormatedTableData>>([]);
|
||||
const [filters, setFilters] = useState<FilterObject>(filterObject);
|
||||
@ -90,7 +113,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
const [sortField, setSortField] = useState<string>('last_updated_timestamp');
|
||||
const [sortOrder, setSortOrder] = useState<string>('desc');
|
||||
const [searchIndex, setSearchIndex] = useState<string>(SearchIndex.TABLE);
|
||||
const [currentTab, setCurrentTab] = useState<number>(1);
|
||||
const [currentTab, setCurrentTab] = useState<number>(getCurrentTab(tab));
|
||||
const [tableCount, setTableCount] = useState<number>(0);
|
||||
const [topicCount, setTopicCount] = useState<number>(0);
|
||||
const [dashboardCount, setDashboardCount] = useState<number>(0);
|
||||
@ -177,13 +200,32 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
}
|
||||
};
|
||||
|
||||
const setCount = (count = 0) => {
|
||||
switch (searchIndex) {
|
||||
case SearchIndex.TABLE:
|
||||
setTableCount(count);
|
||||
|
||||
break;
|
||||
case SearchIndex.DASHBOARD:
|
||||
setDashboardCount(count);
|
||||
|
||||
break;
|
||||
case SearchIndex.TOPIC:
|
||||
setTopicCount(count);
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
const fetchCounts = () => {
|
||||
const emptyValue = '';
|
||||
const tableCount = searchData(
|
||||
searchText,
|
||||
0,
|
||||
0,
|
||||
getFilterString(filters),
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
SearchIndex.TABLE
|
||||
@ -192,7 +234,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
searchText,
|
||||
0,
|
||||
0,
|
||||
getFilterString(filters),
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
SearchIndex.TOPIC
|
||||
@ -201,7 +243,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
searchText,
|
||||
0,
|
||||
0,
|
||||
getFilterString(filters),
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
emptyValue,
|
||||
SearchIndex.DASHBOARD
|
||||
@ -270,6 +312,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
resAggTag,
|
||||
]: Array<SearchResponse>) => {
|
||||
updateSearchResults(resSearchResults);
|
||||
setCount(resSearchResults.data.hits.total.value);
|
||||
if (forceSetAgg) {
|
||||
setAggregations(
|
||||
resSearchResults.data.hits.hits.length > 0
|
||||
@ -379,8 +422,8 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
);
|
||||
};
|
||||
|
||||
const getActiveTabClass = (tab: number) => {
|
||||
return tab === currentTab ? 'active' : '';
|
||||
const getActiveTabClass = (selectedTab: number) => {
|
||||
return selectedTab === currentTab ? 'active' : '';
|
||||
};
|
||||
|
||||
const resetFilters = () => {
|
||||
@ -401,7 +444,17 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
return getCountBadge();
|
||||
}
|
||||
};
|
||||
|
||||
const onTabChange = (selectedTab: number) => {
|
||||
if (tabsInfo[selectedTab - 1].path !== tab) {
|
||||
resetFilters();
|
||||
history.push({
|
||||
pathname: getExplorePathWithSearch(
|
||||
searchQuery,
|
||||
tabsInfo[selectedTab - 1].path
|
||||
),
|
||||
});
|
||||
}
|
||||
};
|
||||
const getTabs = () => {
|
||||
return (
|
||||
<div className="tw-mb-3 tw--mt-4">
|
||||
@ -414,12 +467,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
)}`}
|
||||
key={index}
|
||||
onClick={() => {
|
||||
setCurrentTab(tab.tab);
|
||||
setSearchIndex(tab.index);
|
||||
setFieldList(tab.sortingFields);
|
||||
setSortField(tab.sortField);
|
||||
setCurrentPage(1);
|
||||
resetFilters();
|
||||
onTabChange(tab.tab);
|
||||
}}>
|
||||
{tab.label}
|
||||
{getTabCount(tab.index)}
|
||||
@ -433,10 +481,14 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
setFilters(filterObject);
|
||||
setSearchText(searchQuery || '');
|
||||
setCurrentPage(1);
|
||||
setFilters(filterObject);
|
||||
}, [searchQuery]);
|
||||
setCurrentTab(getCurrentTab(tab));
|
||||
setSearchIndex(tabsInfo[getCurrentTab(tab) - 1].index);
|
||||
setFieldList(tabsInfo[getCurrentTab(tab) - 1].sortingFields);
|
||||
setSortField(tabsInfo[getCurrentTab(tab) - 1].sortField);
|
||||
}, [searchQuery, tab]);
|
||||
|
||||
useEffect(() => {
|
||||
if (getFilterString(filters)) {
|
||||
@ -456,7 +508,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
|
||||
|
||||
useEffect(() => {
|
||||
fetchCounts();
|
||||
}, [searchText, filters]);
|
||||
}, [searchText]);
|
||||
|
||||
// alwyas Keep this useEffect at the end...
|
||||
useEffect(() => {
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
import { AxiosError } from 'axios';
|
||||
import { isEmpty } from 'lodash';
|
||||
import { observer } from 'mobx-react';
|
||||
import { FormatedTableData, SearchResponse } from 'Models';
|
||||
import { Bucket, FormatedTableData, SearchResponse, Sterm } from 'Models';
|
||||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import AppState from '../../AppState';
|
||||
import { searchData } from '../../axiosAPIs/miscAPI';
|
||||
@ -31,7 +31,10 @@ import { Ownership } from '../../enums/mydata.enum';
|
||||
import useToastContext from '../../hooks/useToastContext';
|
||||
import { formatDataResponse } from '../../utils/APIUtils';
|
||||
import { getCurrentUserId } from '../../utils/CommonUtils';
|
||||
import { getAllServices } from '../../utils/ServiceUtils';
|
||||
import {
|
||||
getAllServices,
|
||||
getEntityCountByService,
|
||||
} from '../../utils/ServiceUtils';
|
||||
|
||||
const MyDataPage: React.FC = (): React.ReactElement => {
|
||||
const showToast = useToastContext();
|
||||
@ -42,6 +45,7 @@ const MyDataPage: React.FC = (): React.ReactElement => {
|
||||
const [currentTab, setCurrentTab] = useState<number>(1);
|
||||
const [error, setError] = useState<string>('');
|
||||
const [filter, setFilter] = useState<string>('');
|
||||
const [aggregations, setAggregations] = useState<Record<string, Sterm>>();
|
||||
const [searchIndex] = useState<string>(
|
||||
'dashboard_search_index,topic_search_index,table_search_index'
|
||||
);
|
||||
@ -85,6 +89,7 @@ const MyDataPage: React.FC = (): React.ReactElement => {
|
||||
setData(formatDataResponse(hits));
|
||||
if (setAssetCount) {
|
||||
setCountAssets(total);
|
||||
setAggregations(res.data.aggregations);
|
||||
}
|
||||
setIsLoading(false);
|
||||
} else {
|
||||
@ -175,6 +180,9 @@ const MyDataPage: React.FC = (): React.ReactElement => {
|
||||
<MyDataHeader
|
||||
countAssets={countAssets}
|
||||
countServices={countServices}
|
||||
entityCounts={getEntityCountByService(
|
||||
aggregations?.['sterms#Service']?.buckets as Bucket[]
|
||||
)}
|
||||
/>
|
||||
{getTabs()}
|
||||
</>
|
||||
|
||||
@ -35,6 +35,7 @@ import FormModal from '../../components/Modals/FormModal';
|
||||
import { ModalWithMarkdownEditor } from '../../components/Modals/ModalWithMarkdownEditor/ModalWithMarkdownEditor';
|
||||
import TagsContainer from '../../components/tags-container/tags-container';
|
||||
import Tags from '../../components/tags/tags';
|
||||
import { getExplorePathWithSearch } from '../../constants/constants';
|
||||
import { isEven } from '../../utils/CommonUtils';
|
||||
import SVGIcons from '../../utils/SvgUtils';
|
||||
import { getTagCategories, getTaglist } from '../../utils/TagsUtils';
|
||||
@ -155,6 +156,14 @@ const TagsPage = () => {
|
||||
setEditTag(undefined);
|
||||
};
|
||||
|
||||
const getUsageCountLink = (tagFQN: string) => {
|
||||
if (tagFQN.startsWith('Tier')) {
|
||||
return `${getExplorePathWithSearch()}?tier=${tagFQN}`;
|
||||
} else {
|
||||
return `${getExplorePathWithSearch()}?tags=${tagFQN}`;
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
fetchCategories();
|
||||
}, []);
|
||||
@ -333,7 +342,9 @@ const TagsPage = () => {
|
||||
{tag.usageCount ? (
|
||||
<Link
|
||||
className="link-text tw-align-middle"
|
||||
to={`/explore?tags=${tag.fullyQualifiedName}`}>
|
||||
to={getUsageCountLink(
|
||||
tag.fullyQualifiedName
|
||||
)}>
|
||||
{tag.usageCount}
|
||||
</Link>
|
||||
) : (
|
||||
|
||||
@ -47,6 +47,7 @@ const AuthenticatedAppRouter: FunctionComponent = () => {
|
||||
<Route exact component={ReportsPage} path={ROUTES.REPORTS} />
|
||||
<Route exact component={ExplorePage} path={ROUTES.EXPLORE} />
|
||||
<Route component={ExplorePage} path={ROUTES.EXPLORE_WITH_SEARCH} />
|
||||
<Route component={ExplorePage} path={ROUTES.EXPLORE_WITH_TAB} />
|
||||
<Route exact component={WorkflowsPage} path={ROUTES.WORKFLOWS} />
|
||||
<Route exact component={SQLBuilderPage} path={ROUTES.SQL_BUILDER} />
|
||||
<Route exact component={TeamsPage} path={ROUTES.TEAMS} />
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { ServiceCollection, ServiceData, ServiceTypes } from 'Models';
|
||||
import { Bucket, ServiceCollection, ServiceData, ServiceTypes } from 'Models';
|
||||
import { getServiceDetails, getServices } from '../axiosAPIs/serviceAPI';
|
||||
import { ServiceDataObj } from '../components/Modals/AddServiceModal/AddServiceModal';
|
||||
import {
|
||||
@ -166,3 +166,37 @@ export const getServiceCategoryFromType = (
|
||||
|
||||
return serviceCategory;
|
||||
};
|
||||
|
||||
export const getEntityCountByService = (buckets: Array<Bucket>) => {
|
||||
const entityCounts = { tableCount: 0, topicCount: 0, dashboardCount: 0 };
|
||||
buckets?.forEach((bucket) => {
|
||||
switch (bucket.key) {
|
||||
case DatabaseServiceType.ATHENA:
|
||||
case DatabaseServiceType.BIGQUERY:
|
||||
case DatabaseServiceType.HIVE:
|
||||
case DatabaseServiceType.MSSQL:
|
||||
case DatabaseServiceType.MYSQL:
|
||||
case DatabaseServiceType.ORACLE:
|
||||
case DatabaseServiceType.POSTGRES:
|
||||
case DatabaseServiceType.PRESTO:
|
||||
case DatabaseServiceType.REDSHIFT:
|
||||
case DatabaseServiceType.SNOWFLAKE:
|
||||
entityCounts.tableCount += bucket.doc_count;
|
||||
|
||||
break;
|
||||
case MessagingServiceType.KAFKA:
|
||||
case MessagingServiceType.PULSAR:
|
||||
entityCounts.topicCount += bucket.doc_count;
|
||||
|
||||
break;
|
||||
case DashboardServiceType.SUPERSET:
|
||||
entityCounts.dashboardCount += bucket.doc_count;
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
return entityCounts;
|
||||
};
|
||||
|
||||
@ -3,6 +3,7 @@ import IconGoogle from '../assets/img/google-icon.png';
|
||||
import IconWelcomePopper from '../assets/img/welcome-popper-icon.png';
|
||||
import IconAPI from '../assets/svg/api.svg';
|
||||
import IconSuccess from '../assets/svg/check.svg';
|
||||
import IconDashboardGrey from '../assets/svg/dashboard-grey.svg';
|
||||
import IconDashboard from '../assets/svg/dashboard.svg';
|
||||
import IconAsstest from '../assets/svg/data-assets.svg';
|
||||
import IconDoc from '../assets/svg/doc.svg';
|
||||
@ -46,8 +47,10 @@ import IconInfo from '../assets/svg/info.svg';
|
||||
import LogoMonogram from '../assets/svg/logo-monogram.svg';
|
||||
import Logo from '../assets/svg/logo.svg';
|
||||
import IconSetting from '../assets/svg/service.svg';
|
||||
import IconTableGrey from '../assets/svg/table-grey.svg';
|
||||
import IconTable from '../assets/svg/table.svg';
|
||||
import IconTerns from '../assets/svg/terms.svg';
|
||||
import IconTopicGrey from '../assets/svg/topic-grey.svg';
|
||||
import IconTopic from '../assets/svg/topic.svg';
|
||||
import IconUser from '../assets/svg/user.svg';
|
||||
import IconWarning from '../assets/svg/warning.svg';
|
||||
@ -112,6 +115,9 @@ export const Icons = {
|
||||
TABLE: 'table',
|
||||
TOPIC: 'topic',
|
||||
DASHBOARD: 'dashboard',
|
||||
TABLE_GREY: 'table-grey',
|
||||
TOPIC_GREY: 'topic-grey',
|
||||
DASHBOARD_GREY: 'dashboard-grey',
|
||||
};
|
||||
|
||||
const SVGIcons: FunctionComponent<Props> = ({
|
||||
@ -333,6 +339,18 @@ const SVGIcons: FunctionComponent<Props> = ({
|
||||
case Icons.DASHBOARD:
|
||||
IconComponent = IconDashboard;
|
||||
|
||||
break;
|
||||
case Icons.TABLE_GREY:
|
||||
IconComponent = IconTableGrey;
|
||||
|
||||
break;
|
||||
case Icons.TOPIC_GREY:
|
||||
IconComponent = IconTopicGrey;
|
||||
|
||||
break;
|
||||
case Icons.DASHBOARD_GREY:
|
||||
IconComponent = IconDashboardGrey;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||