Json logic query builder fixes (#18819)

* minor workflow changes

* fix json logic fixes for extension field

* fix tests

* query builder ui changes

* minor add entity type in global search

* fix tests

* update certification ui

* update default icons

* minor add test id
This commit is contained in:
Karan Hotchandani 2024-11-28 13:12:46 +05:30 committed by GitHub
parent 609620e54f
commit b614594252
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 149 additions and 14 deletions

View File

@ -11,7 +11,7 @@
"description": "Bronze certified Data Asset.",
"style": {
"color": "#C08329",
"iconURL": "data:image/png;base64,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"
"iconURL": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjI1NzIgMS4yODE3N0w2LjMyOTMyIDQuMTIyMDVDNC45MTY3IDQuNzAwNjIgNCA2LjA3NTY3IDQgNy42MDFWMTYuNzA3OUM0IDI0Ljg5ODEgMTEuMTQ1OCAyNy40ODI5IDEzLjc1MzEgMjguMTUxN0MxNC4zNjkzIDI4LjMwOTQgMTUuMDA3OSAyOC4zMDk0IDE1LjYyNDEgMjguMTUxN0MxOC4yMzE0IDI3LjQ4MjkgMjUuMzc3MiAyNC44OTgxIDI1LjM3NzIgMTYuNzA3OVY3LjYwMUMyNS4zNzcyIDYuMDc1NjcgMjQuNDUzIDQuNzAwNjIgMjMuMDQ3OSA0LjEyMjA1TDE2LjExMjUgMS4yODE3N0MxNS4xOTU4IDAuOTA2MDc2IDE0LjE3MzkgMC45MDYwNzYgMTMuMjU3MiAxLjI4MTc3WiIgZmlsbD0iI0VFRDZCMyIvPgo8cGF0aCBkPSJNMTQuNjg0NyAyNi4zODA2QzE0LjUyNjkgMjYuMzgwNiAxNC4zNjkxIDI2LjM1OCAxNC4yMTg4IDI2LjMyMDVDMTMuMDk5MyAyNi4wMzQ5IDEwLjkzNTMgMjUuMzIxMSA5LjA5NDM0IDIzLjc5NThDNi45NjAzNyAyMi4wMjI1IDUuODcwODUgMTkuNjMzMSA1Ljg3MDg1IDE2LjcwMjZWNy41OTU3MUM1Ljg3MDg1IDYuODI5MjkgNi4zMjkyIDYuMTQ1NTIgNy4wMzU1MSA1Ljg1OTk5TDEzLjk2MzQgMy4wMTk3MkMxNC4xODg4IDIuOTI5NTUgMTQuNDI5MiAyLjg3Njk1IDE0LjY3NzIgMi44NzY5NUMxNC45MjUyIDIuODc2OTUgMTUuMTY1NiAyLjkyMjA0IDE1LjM5MSAzLjAxOTcyTDIyLjMxODkgNS44NTk5OUMyMy4wMjUyIDYuMTUzMDQgMjMuNDgzNiA2LjgyOTI5IDIzLjQ4MzYgNy41OTU3MVYxNi43MDI2QzIzLjQ4MzYgMTkuNjQwNiAyMi40MDE1IDIyLjAyMjUgMjAuMjYwMSAyMy43OTU4QzE4LjQxOTEgMjUuMzIxMSAxNi4yNjI2IDI2LjAzNDkgMTUuMTM1NiAyNi4zMjA1QzE1LjAwMDMgMjYuMzY1NiAxNC44NDI1IDI2LjM4MDYgMTQuNjg0NyAyNi4zODA2WiIgZmlsbD0iI0QwQTI1RiIvPgo8cGF0aCBkPSJNMTQuNjg1NCAyMS43NzI2QzE4LjYyNzcgMjEuNzcyNiAyMS44MjM2IDE4LjU3NjcgMjEuODIzNiAxNC42MzQzQzIxLjgyMzYgMTAuNjkyIDE4LjYyNzcgNy40OTYwOSAxNC42ODU0IDcuNDk2MDlDMTAuNzQzIDcuNDk2MDkgNy41NDcxMiAxMC42OTIgNy41NDcxMiAxNC42MzQzQzcuNTQ3MTIgMTguNTc2NyAxMC43NDMgMjEuNzcyNiAxNC42ODU0IDIxLjc3MjZaIiBmaWxsPSIjRjZFQ0RGIi8+CjxwYXRoIGQ9Ik0xNS41ODcyIDEwLjk5MzlMMTYuNDEzNyAxMi41NzkzTDE4LjE3OTUgMTIuODc5OUMxOC45OTEgMTMuMDE1MiAxOS4zMTQxIDE0LjAwNyAxOC43MzU1IDE0LjYwMDZMMTcuNDg4MiAxNS44NzhMMTcuNzUxMiAxNy42NTEzQzE3Ljg3MTQgMTguNDYyOCAxNy4wMjk4IDE5LjA3ODkgMTYuMjkzNSAxOC43MTA3TDE0LjY4NTUgMTcuOTE0M0wxMy4wODUgMTguNzEwN0MxMi4zNDg2IDE5LjA3ODkgMTEuNTA3MSAxOC40NjI4IDExLjYyNzMgMTcuNjUxM0wxMS44OTAzIDE1Ljg3OEwxMC42NDMgMTQuNjAwNkMxMC4wNjQ0IDE0LjAxNDUgMTAuMzg3NSAxMy4wMjI3IDExLjE5OSAxMi44Nzk5TDEyLjk2NDggMTIuNTc5M0wxMy43OTEzIDEwLjk5MzlDMTQuMTY3IDEwLjI2NTEgMTUuMjAzOSAxMC4yNjUxIDE1LjU4NzIgMTAuOTkzOVoiIGZpbGw9IiNEMEEyNUYiLz4KPC9zdmc+Cg=="
}
},
{
@ -19,7 +19,7 @@
"description": "Silver certified Data Asset.",
"style": {
"color": "#ADADAD",
"iconURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHgAAAADKQTcFAAAFFElEQVRIDcVWy0+bRxBfwDQ8hXEjgV1UDIQYzMtCQE0FKpVKQ1FRqnKpciHcOMIBhLgYpAalggP5C0LFKZxCOYUDLxEEBglTQAkHwEYCihSDTXg4DoXO74t3u99nE0gvHcn+Znd29rfz2Jll7H+iqP+C29XVZbu4uLBxXeJ9Op3O3dvb6+Jz131vDNzZ2VljsVgcWVlZNqPJpCdicXFxyv6BQIDt7++zA6/Xt729PbmysjLS19c3+DHwa4EBWFpa+vQru90MsJuQz+dj83Nz7oWFhZ6rDnAlcHd3t15vMDh+qKtrTU9Pvwle2BocYOT584GDg4Me2s8nL4iRB5wHaHFJyUR9ff1PN7WS68pfhCIvL8/u9/nqiouLn01OTga4PMxigObm5k782NAgkocvDrx7xzxuNzs5PmbR0dEsISGBnZ2dsRQKgffNGxYbG8vowHy5+CIH/hgZce3s7HzLLdcJaYiBe7+rrQ0DpaRhpycnjE4ukkqre3h4yFxLS8qh5APA8u/v3bP9PjjoIJ026Klc3d7e/rCpqelxUlKSak/KUmYyGuE2RtdGJZMH8fHxLDMzkyUnJ7O1tTWWlpYmxAAPBoP2L0ymqdnZWXe0kBBTXl7u0MYUoNb8fGYymeSlCr+5uckoccLmU1NTFR3oylRRUYHwPMWcsBjW/tzY+JDfTQj/XF5mBVYrw0ZaAuDAwAADuN1u14oZrNfFxLC/6H6npKQocnjr+O1bPXllSlhMsbuvtfbvi4uIoNgFrgTt7u4yxDYSwUunp6cMScnJQuGKiopyCOCMjIwaLsQX1hYXFclTKn5xcVGMZV5MhpiiwkK2TTeBUyjuNiVTyM22z2/fVpWl8/NzYS2uDDbHteC0t7fHWWE9n0BoysrKlCFc/p724oRQkmf1CjAVeXOapjoZDAa+lm1sbLDR0VEx1jJwN34yFRQUKHHG3PtgUBYpvOJqKgb6uFu3VMKjoyMxzsnJYdnZ2WJ8HVNbWytAsZZiqlJBsokYqySaAdzV0tLCsOHHCC6+yTq/3/8vsJx52JzcH4YB4IaGhrB5PkHFJ6JnPtN4E82DW+zya64E6m4k4tcokgx3OhKh1HLCvQYpwNQzUcBVbUtHwMhmmVA05M2RoXLBWV1dlZcrPHRkI0JXy8ctZm632yVroeZqS54MWlVVxegJxNra2sS1g1x7WHoMqDrWvNMJmClRMqkVekpsNlEyUd68dFrkI4o+J4/HwxobG1l1dbXSMJB44DlVVlZyVqnjSCR+VVGU8CP6TSwCMzw8vOU/OrqUfzMvX156vd7LTyXoQFfe69dHjy47Ojq2gCVcjYHT6WzGo02mIiqbr16/jtiF5HUyT/mi6ECX0/T0NKOXCCMDejAnXI0B+mT2nTup+VarXe67qK9IHBzAQHcV7o1EiO+Sy6W8UKzU1Tg55+fZ+Pg4hk8okR+DCevqnq2t7tmZmW++rqqyydWMvygQI9TxeHr2BENdh6xQMhfZazabVZm+TOvHxsaA5UpMTOwGA1LXsg9zrLW1VW80Gid+efDApg/10pDokz5jL14gfNABqHhvYULlakyA5ubmAoWFhc8WnM54qrP2FHKvfF8/rLr6H5k/NDTENqm5ED0h0Gb+yONaES3mQnzxMqGYOnLv3jXnWSzsS7hSUwKxDkm5Tjmwvr6u8HRgN5Xd5v7+/knItXQtMFfAAYi/T78ash4tVRGhR6P2hgiMC5l7FSBf+A/FoFXdoCYOlQAAAABJRU5ErkJggg=="
"iconURL": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjI1NzIgMS4yODE3N0w2LjMyOTMyIDQuMTIyMDVDNC45MTY3IDQuNzAwNjIgNCA2LjA3NTY3IDQgNy42MDFWMTYuNzA3OUM0IDI0Ljg5ODEgMTEuMTQ1OCAyNy40ODI5IDEzLjc1MzEgMjguMTUxN0MxNC4zNjkzIDI4LjMwOTQgMTUuMDA3OSAyOC4zMDk0IDE1LjYyNDEgMjguMTUxN0MxOC4yMzE0IDI3LjQ4MjkgMjUuMzc3MiAyNC44OTgxIDI1LjM3NzIgMTYuNzA3OVY3LjYwMUMyNS4zNzcyIDYuMDc1NjcgMjQuNDUzIDQuNzAwNjIgMjMuMDQ3OSA0LjEyMjA1TDE2LjExMjUgMS4yODE3N0MxNS4xOTU4IDAuOTA2MDc2IDE0LjE3MzkgMC45MDYwNzYgMTMuMjU3MiAxLjI4MTc3WiIgZmlsbD0iI0Q5RDlEOSIvPgo8cGF0aCBkPSJNMTQuNjg0NyAyNi4zODA2QzE0LjUyNjkgMjYuMzgwNiAxNC4zNjkxIDI2LjM1OCAxNC4yMTg4IDI2LjMyMDVDMTMuMDk5MyAyNi4wMzQ5IDEwLjkzNTMgMjUuMzIxMSA5LjA5NDM0IDIzLjc5NThDNi45NjAzNyAyMi4wMjI1IDUuODcwODUgMTkuNjMzMSA1Ljg3MDg1IDE2LjcwMjZWNy41OTU3MUM1Ljg3MDg1IDYuODI5MjkgNi4zMjkyIDYuMTQ1NTIgNy4wMzU1MSA1Ljg1OTk5TDEzLjk2MzQgMy4wMTk3MkMxNC4xODg4IDIuOTI5NTUgMTQuNDI5MiAyLjg3Njk1IDE0LjY3NzIgMi44NzY5NUMxNC45MjUyIDIuODc2OTUgMTUuMTY1NiAyLjkyMjA0IDE1LjM5MSAzLjAxOTcyTDIyLjMxODkgNS44NTk5OUMyMy4wMjUyIDYuMTUzMDQgMjMuNDgzNiA2LjgyOTI5IDIzLjQ4MzYgNy41OTU3MVYxNi43MDI2QzIzLjQ4MzYgMTkuNjQwNiAyMi40MDE1IDIyLjAyMjUgMjAuMjYwMSAyMy43OTU4QzE4LjQxOTEgMjUuMzIxMSAxNi4yNjI2IDI2LjAzNDkgMTUuMTM1NiAyNi4zMjA1QzE1LjAwMDMgMjYuMzY1NiAxNC44NDI1IDI2LjM4MDYgMTQuNjg0NyAyNi4zODA2WiIgZmlsbD0iIzk3OTc5NyIvPgo8cGF0aCBkPSJNMTQuNjg1NCAyMS43NzI2QzE4LjYyNzcgMjEuNzcyNiAyMS44MjM2IDE4LjU3NjcgMjEuODIzNiAxNC42MzQzQzIxLjgyMzYgMTAuNjkyIDE4LjYyNzcgNy40OTYwOSAxNC42ODU0IDcuNDk2MDlDMTAuNzQzIDcuNDk2MDkgNy41NDcxMiAxMC42OTIgNy41NDcxMiAxNC42MzQzQzcuNTQ3MTIgMTguNTc2NyAxMC43NDMgMjEuNzcyNiAxNC42ODU0IDIxLjc3MjZaIiBmaWxsPSIjRTlFQ0VGIi8+CjxwYXRoIGQ9Ik0xNS41ODcyIDEwLjk5MzlMMTYuNDEzNyAxMi41NzkzTDE4LjE3OTUgMTIuODc5OUMxOC45OTEgMTMuMDE1MiAxOS4zMTQxIDE0LjAwNyAxOC43MzU1IDE0LjYwMDZMMTcuNDg4MiAxNS44NzhMMTcuNzUxMiAxNy42NTEzQzE3Ljg3MTQgMTguNDYyOCAxNy4wMjk4IDE5LjA3ODkgMTYuMjkzNSAxOC43MTA3TDE0LjY4NTUgMTcuOTE0M0wxMy4wODUgMTguNzEwN0MxMi4zNDg2IDE5LjA3ODkgMTEuNTA3MSAxOC40NjI4IDExLjYyNzMgMTcuNjUxM0wxMS44OTAzIDE1Ljg3OEwxMC42NDMgMTQuNjAwNkMxMC4wNjQ0IDE0LjAxNDUgMTAuMzg3NSAxMy4wMjI3IDExLjE5OSAxMi44Nzk5TDEyLjk2NDggMTIuNTc5M0wxMy43OTEzIDEwLjk5MzlDMTQuMTY3IDEwLjI2NTEgMTUuMjAzOSAxMC4yNjUxIDE1LjU4NzIgMTAuOTkzOVoiIGZpbGw9IiM5Nzk3OTciLz4KPC9zdmc+Cg=="
}
},
{
@ -27,7 +27,7 @@
"description": "Gold certified Data Asset.",
"style": {
"color": "#FFCE00",
"iconURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHqADAAQAAAABAAAAHgAAAADKQTcFAAAETUlEQVRIDZ1WTW8cRRB9i8HGsUUmRrYiPscoJx9gcoEju5w4kQt38C/A/AJ7/4H9C2LuSEmk3D05wiWrHAgHS14MRA4OmzVJ7NjCLO91T+10z469Vkrq6equj9fVVd3TDbwCDW4io5maUZ9Mt7GMjk2M6xvjFExOsCYSrGKWgDPkpiiZKKSn7A/ZXqKPF8jxFHe4iM1CWtuNBXaA87iJBaQOzCz+o79B4VNzrxW85l6y7aPL1j5rAeamsCo7Aia4xAjfxwoj9BSClaoxJ4/aCS3giO03rHM3tAClY0i1wA50AVu4ym19g7raSotuaDqGkWfZyPYRc99DKwQfAXagcwT9kKCSytBI/HO2qSYwzdqa/QQ4YSATB0AvZ57Z5iivkux+J/hBCf56Vcdt73s1oEcJkHwHfLwCTJIfoVUuqgtsrwN/b8QL0Na/Q5+HTB3wvUyjiBntt1hiIU1T8q/EBb1IgaVbdJbZzPm9FtBpATPsQ9rj4LGLOrda9OJ5ruhNsuH2CjTbqgfdy32U3rr8zhY2sg1pnoMJBkYaRlwbbY8an+0wl6l0Y1JUPy76BX11P5bZqNcBfmXk032bAf4k+wStMuIruDES7dsr9aBys3vHO5NzLaKOlJqEPsIdvOwUV0vgGTRd/IPCg6K9xmI6i7Y3S8n2DyVf5eRDJ8FI9cPkuarmNmeMNonO6qVmGa2OjJyrN1KkRru3jfO9UnPtG8/rBEw3yed+rAqfRGLHKeUxii+JuaZX1HfvHvDzSjmuclpEuBDJP7hRHrupjL7zyMq2OhlecyY+TYwDrn7O1izH47hstQSV7mQaW0yWV3ssqI60XV9uMTN0eB5pi53e2nlaTFkIrMprBPon3WBQsNka8On66LzNfHGrfmdOu6bh+wC4g2POhcDHnVjZRtVCsnn1qoU6ehb40h+L5HLMv0aHP/B+BHyUx1UsbZ1X3VZGSoGaUd2iZCNfRv5o9a24dNY60XGapeb2hqn7PgRd4vn8egfQrWU3m+ThkZPVL+34h/HEubpXAvfRdi8HnTOR+r/W4mOim0hNuVSuFa1AtQAVnio/3AFF+2wTQ+qRY35Jt8OsYnAXO3gXaRT58xS4vlVG5ewu8BHo/Rbt2Bs9JHPiHoWLZcQS7mPZPVdMUb0M5UCOLkq6TKqgj2nso23LTQTMIsvxBzaiS11aAv9pkbfX8vkLUH6V0wfX40iVV/2LgQ1ibIpp6BOSe/rovbXA+9vyHSooT+4ez1gHqZfozJ8wysOcgJwK7Z5yvMvGpwHb8N01AiwNBz5F8I8IzuvtlekRLfeddQSqmWirnQo/7jV4jBYectvL3Jh4fK+zqkLyoDqTw0jNuDZiE6p3L5MJPokuI8VbnKhupSnrRvqH7YDN305dcsuubshUaSywGbgFNPhKGaDJHCbDFOiO99UqVd1+uojaZwGavwsDm4F6LiJjl7IlbEYdgimXF6L/Aeq1S9qHbqjuAAAAAElFTkSuQmCC"
"iconURL":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjI1NzIgMS4yODE3N0w2LjMyOTMyIDQuMTIyMDVDNC45MTY3IDQuNzAwNjIgNCA2LjA3NTY3IDQgNy42MDFWMTYuNzA3OUM0IDI0Ljg5ODEgMTEuMTQ1OCAyNy40ODI5IDEzLjc1MzEgMjguMTUxN0MxNC4zNjkzIDI4LjMwOTQgMTUuMDA3OSAyOC4zMDk0IDE1LjYyNDEgMjguMTUxN0MxOC4yMzE0IDI3LjQ4MjkgMjUuMzc3MiAyNC44OTgxIDI1LjM3NzIgMTYuNzA3OVY3LjYwMUMyNS4zNzcyIDYuMDc1NjcgMjQuNDUzIDQuNzAwNjIgMjMuMDQ3OSA0LjEyMjA1TDE2LjExMjUgMS4yODE3N0MxNS4xOTU4IDAuOTA2MDc2IDE0LjE3MzkgMC45MDYwNzYgMTMuMjU3MiAxLjI4MTc3WiIgZmlsbD0iI0ZGREY0MyIvPgo8cGF0aCBkPSJNMTQuNjg0NyAyNi4zODA2QzE0LjUyNjkgMjYuMzgwNiAxNC4zNjkxIDI2LjM1OCAxNC4yMTg4IDI2LjMyMDVDMTMuMDk5MyAyNi4wMzQ5IDEwLjkzNTMgMjUuMzIxMSA5LjA5NDM0IDIzLjc5NThDNi45NjAzNyAyMi4wMjI1IDUuODcwODUgMTkuNjMzMSA1Ljg3MDg1IDE2LjcwMjZWNy41OTU3MUM1Ljg3MDg1IDYuODI5MjkgNi4zMjkyIDYuMTQ1NTIgNy4wMzU1MSA1Ljg1OTk5TDEzLjk2MzQgMy4wMTk3MkMxNC4xODg4IDIuOTI5NTUgMTQuNDI5MiAyLjg3Njk1IDE0LjY3NzIgMi44NzY5NUMxNC45MjUyIDIuODc2OTUgMTUuMTY1NiAyLjkyMjA0IDE1LjM5MSAzLjAxOTcyTDIyLjMxODkgNS44NTk5OUMyMy4wMjUyIDYuMTUzMDQgMjMuNDgzNiA2LjgyOTI5IDIzLjQ4MzYgNy41OTU3MVYxNi43MDI2QzIzLjQ4MzYgMTkuNjQwNiAyMi40MDE1IDIyLjAyMjUgMjAuMjYwMSAyMy43OTU4QzE4LjQxOTEgMjUuMzIxMSAxNi4yNjI2IDI2LjAzNDkgMTUuMTM1NiAyNi4zMjA1QzE1LjAwMDMgMjYuMzY1NiAxNC44NDI1IDI2LjM4MDYgMTQuNjg0NyAyNi4zODA2WiIgZmlsbD0iI0ZGOUYwMCIvPgo8cGF0aCBkPSJNMTQuNjg1NCAyMS43NzI2QzE4LjYyNzcgMjEuNzcyNiAyMS44MjM2IDE4LjU3NjcgMjEuODIzNiAxNC42MzQzQzIxLjgyMzYgMTAuNjkyIDE4LjYyNzcgNy40OTYwOSAxNC42ODU0IDcuNDk2MDlDMTAuNzQzIDcuNDk2MDkgNy41NDcxMiAxMC42OTIgNy41NDcxMiAxNC42MzQzQzcuNTQ3MTIgMTguNTc2NyAxMC43NDMgMjEuNzcyNiAxNC42ODU0IDIxLjc3MjZaIiBmaWxsPSIjRkZGMEM1Ii8+CjxwYXRoIGQ9Ik0xNS41ODcyIDEwLjk5MzlMMTYuNDEzNyAxMi41NzkzTDE4LjE3OTUgMTIuODc5OUMxOC45OTEgMTMuMDE1MiAxOS4zMTQxIDE0LjAwNyAxOC43MzU1IDE0LjYwMDZMMTcuNDg4MiAxNS44NzhMMTcuNzUxMiAxNy42NTEzQzE3Ljg3MTQgMTguNDYyOCAxNy4wMjk4IDE5LjA3ODkgMTYuMjkzNSAxOC43MTA3TDE0LjY4NTUgMTcuOTE0M0wxMy4wODUgMTguNzEwN0MxMi4zNDg2IDE5LjA3ODkgMTEuNTA3MSAxOC40NjI4IDExLjYyNzMgMTcuNjUxM0wxMS44OTAzIDE1Ljg3OEwxMC42NDMgMTQuNjAwNkMxMC4wNjQ0IDE0LjAxNDUgMTAuMzg3NSAxMy4wMjI3IDExLjE5OSAxMi44Nzk5TDEyLjk2NDggMTIuNTc5M0wxMy43OTEzIDEwLjk5MzlDMTQuMTY3IDEwLjI2NTEgMTUuMjAzOSAxMC4yNjUxIDE1LjU4NzIgMTAuOTkzOVoiIGZpbGw9IiNGRjlGMDAiLz4KPC9zdmc+Cg=="
}
}
]

View File

@ -10,10 +10,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Tag } from 'antd';
import { Tag, Tooltip } from 'antd';
import React from 'react';
import { AssetCertification } from '../../../generated/entity/data/table';
import { getEntityName } from '../../../utils/EntityUtils';
import { getTagTooltip } from '../../../utils/TagsUtils';
import './certification-tag.less';
const CertificationTag = ({
@ -21,19 +22,34 @@ const CertificationTag = ({
}: {
certification: AssetCertification;
}) => {
if (certification.tagLabel.style?.iconURL) {
const name = getEntityName(certification.tagLabel);
return (
<Tooltip
className="cursor-pointer"
title={getTagTooltip(name, certification.tagLabel.description)}
trigger="hover">
<div data-testid={`certification-${certification.tagLabel.tagFQN}`}>
<img
alt="certification"
src={certification.tagLabel.style?.iconURL}
/>
</div>
</Tooltip>
);
}
return (
<Tag
className="certification-tag"
data-testid={`certification-${certification.tagLabel.tagFQN}`}
style={{
borderColor: certification.tagLabel.style?.color,
backgroundColor: certification.tagLabel.style?.color
? `${certification.tagLabel.style.color}33`
: undefined, // Assuming 33 is the hex transparency for lighter shade
}}>
{certification.tagLabel.style?.iconURL && (
<img alt="certification" src={certification.tagLabel.style?.iconURL} />
)}
{getEntityName(certification.tagLabel)}
</Tag>
);

View File

@ -12,7 +12,16 @@
*/
import { InfoCircleOutlined } from '@ant-design/icons';
import { WidgetProps } from '@rjsf/utils';
import { Alert, Button, Card, Col, Row, Skeleton, Typography } from 'antd';
import {
Alert,
Button,
Card,
Col,
Divider,
Row,
Skeleton,
Typography,
} from 'antd';
import classNames from 'classnames';
import { t } from 'i18next';
import { debounce, isEmpty, isUndefined } from 'lodash';
@ -29,6 +38,10 @@ import {
import { getExplorePath } from '../../../../../../constants/constants';
import { EntityType } from '../../../../../../enums/entity.enum';
import { SearchIndex } from '../../../../../../enums/search.enum';
import {
EsBoolQuery,
QueryFieldInterface,
} from '../../../../../../pages/ExplorePage/ExplorePage.interface';
import { searchQuery } from '../../../../../../rest/searchAPI';
import {
elasticSearchFormat,
@ -124,6 +137,22 @@ const QueryBuilderWidget: FC<WidgetProps> = ({
query: data,
};
if (data) {
if (entityType !== EntityType.ALL) {
// Scope the search to the passed entity type
if (
Array.isArray(
((qFilter.query as QueryFieldInterface)?.bool as EsBoolQuery)
?.must
)
) {
(
(qFilter.query as QueryFieldInterface)?.bool
?.must as QueryFieldInterface[]
)?.push({
term: { entityType: entityType },
});
}
}
debouncedFetchEntityCount(qFilter);
}
@ -208,7 +237,19 @@ const QueryBuilderWidget: FC<WidgetProps> = ({
data-testid="query-builder-form-field">
<Card className={classNames('query-builder-card', outputType)}>
<Row gutter={[8, 8]}>
<Col className="p-t-sm" span={24}>
<Col
className={classNames({
'p-t-sm': outputType === SearchOutputType.ElasticSearch,
})}
span={24}>
{outputType === SearchOutputType.JSONLogic && (
<>
<Typography.Text className="query-filter-label text-grey-muted">
{props.label}
</Typography.Text>
<Divider className="m-y-sm" />
</>
)}
<Query
{...config}
renderBuilder={(props) => (

View File

@ -26,6 +26,29 @@
}
}
.query-builder-form-field
.query-builder-card.jsonlogic
.query-builder-container {
.group-or-rule-container.group-container {
& > .group.group-or-rule {
& > .group--header {
order: 0;
.action.action--ADD-RULE {
position: absolute !important;
margin-top: 0;
right: 0;
top: -48px;
}
}
}
}
}
.query-filter-label {
text-transform: capitalize;
}
.query-builder-form-field {
.hide--line.one--child {
margin-top: 0;
@ -176,6 +199,10 @@
}
}
}
.rule {
align-items: center;
}
}
.query-builder-card.elasticsearch {

View File

@ -223,7 +223,7 @@ const AppInstall = () => {
);
case 3:
return (
<div className="w-500 p-md border rounded-4">
<div className="w-3/5 p-md border rounded-4">
<Typography.Title level={5}>{t('label.schedule')}</Typography.Title>
<ScheduleInterval
defaultSchedule={defaultValue}

View File

@ -46,6 +46,7 @@ describe('AdvancedSearchClassBase', () => {
EntityFields.TIER,
'extension',
'descriptionStatus',
'entityType',
]);
});
});

View File

@ -610,6 +610,19 @@ class AdvancedSearchClassBase {
},
},
},
[EntityFields.ENTITY_TYPE]: {
label: t('label.entity-type-plural', { entity: t('label.entity') }),
type: 'select',
mainWidgetProps: this.mainWidgetProps,
fieldSettings: {
asyncFetch: this.autocomplete({
searchIndex: entitySearchIndex,
entityField: EntityFields.ENTITY_TYPE,
}),
useAsyncSearch: true,
},
},
};
}

View File

@ -29,7 +29,7 @@ import {
import { SearchIndex } from '../enums/search.enum';
import { searchData } from '../rest/miscAPI';
import advancedSearchClassBase from './AdvancedSearchClassBase';
import { renderQueryBuilderFilterButtons } from './QueryBuilderUtils';
import { renderJSONLogicQueryBuilderButtons } from './QueryBuilderUtils';
class JSONLogicSearchClassBase {
baseConfig = AntdConfig as Config;
@ -370,7 +370,7 @@ class JSONLogicSearchClassBase {
operatorLabel: t('label.condition') + ':',
showNot: false,
valueLabel: t('label.criteria') + ':',
renderButton: renderQueryBuilderFilterButtons,
renderButton: renderJSONLogicQueryBuilderButtons,
},
};

View File

@ -10,7 +10,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { CloseOutlined } from '@ant-design/icons';
import { CloseOutlined, PlusOutlined } from '@ant-design/icons';
import { Button } from 'antd';
import { t } from 'i18next';
import { isUndefined } from 'lodash';
@ -404,6 +404,43 @@ export const renderQueryBuilderFilterButtons: RenderSettings['renderButton'] = (
return <></>;
};
export const renderJSONLogicQueryBuilderButtons: RenderSettings['renderButton'] =
(props) => {
const type = props?.type;
if (type === 'delRule') {
return (
<Button
className="action action--DELETE ant-btn-sm"
data-testid="delete-condition-button"
icon={<CloseOutlined width={14} />}
onClick={props?.onClick}
/>
);
} else if (type === 'delRuleGroup') {
return (
<Button
className="action action--DELETE-GROUP ant-btn-sm"
data-testid="delete-group-condition-button"
icon={<CloseOutlined width={14} />}
onClick={props?.onClick}
/>
);
} else if (type === 'addRule') {
return (
<Button
className="action action--ADD-RULE ant-btn-sm"
data-testid="add-condition-button"
icon={<PlusOutlined width={14} />}
type="primary"
onClick={props?.onClick}
/>
);
}
return <></>;
};
interface ElasticsearchQuery {
bool?: {
must?: ElasticsearchQuery[];