diff --git a/openmetadata-ui/src/main/resources/ui/cypress/common/common.js b/openmetadata-ui/src/main/resources/ui/cypress/common/common.js index cf33ad98fff..b5bed7df936 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/common/common.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/common/common.js @@ -902,8 +902,6 @@ export const updateOwner = () => { // Clicking on edit owner button cy.get('[data-testid="add-user"]').should('be.visible').click(); - verifyResponseStatusCode('@getUsers', 200); - cy.get('[data-testid="selectable-list"]') .find(`[title="${text.trim()}"]`) .click(); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/SelectableList/SelectableList.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/SelectableList/SelectableList.component.tsx index a0091e0c844..9094bcf7eac 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/SelectableList/SelectableList.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/SelectableList/SelectableList.component.tsx @@ -15,7 +15,7 @@ import Loader from 'components/Loader/Loader'; import { ADD_USER_CONTAINER_HEIGHT, pagingObject } from 'constants/constants'; import { EntityReference } from 'generated/entity/data/table'; import { Paging } from 'generated/type/paging'; -import { cloneDeep } from 'lodash'; +import { cloneDeep, isEmpty } from 'lodash'; import VirtualList from 'rc-virtual-list'; import React, { UIEventHandler, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -98,13 +98,21 @@ export const SelectableList = ({ fetchListOptions(); }, []); - const handleSearch = async (search: string) => { - const { data, paging } = await fetchOptions(search); + const handleSearch = useCallback( + async (search: string) => { + const { data, paging } = await fetchOptions(search); - setUniqueOptions(data); - setPagingInfo(paging); - setSearchText(search); - }; + setUniqueOptions( + isEmpty(search) + ? sortUniqueListFromSelectedList(selectedItemsInternal, data) + : data + ); + + setPagingInfo(paging); + setSearchText(search); + }, + [selectedItemsInternal] + ); const onScroll: UIEventHandler = async (e) => { if ( @@ -150,6 +158,10 @@ export const SelectableList = ({ onUpdate([]); }; + const handleClearAllClick = () => { + setSelectedItemInternal(new Map()); + }; + return ( + onClick={handleClearAllClick}> {t('label.clear-entity', { entity: t('label.all-lowercase') })} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/UserSelectableList.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/UserSelectableList.component.tsx index 10c767d9d76..6a098010b48 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/UserSelectableList.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/UserSelectableList.component.tsx @@ -46,7 +46,7 @@ export const UserSelectableList = ({ searchText, 1, PAGE_SIZE_MEDIUM, - '', + 'isBot:false', '', '', SearchIndex.USER @@ -70,7 +70,9 @@ export const UserSelectableList = ({ ? { after, } - : undefined + : undefined, + undefined, + false ); const filterData = getEntityReferenceListFromEntities( data, diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/user-select-dropdown.less b/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/user-select-dropdown.less index f006f83fd88..1778f884b74 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/user-select-dropdown.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/UserSelectableList/user-select-dropdown.less @@ -14,6 +14,7 @@ @update-btn-hover-bg: #e2e2e2; .user-select-popover { + min-width: 275px; .ant-popover-inner-content { padding: 0; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/UserTeamSelectableList.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/UserTeamSelectableList.component.tsx index 933ac3e9c6b..bd2f53fba9f 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/UserTeamSelectableList.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/UserTeamSelectableList.component.tsx @@ -54,7 +54,7 @@ export const UserTeamSelectableList = ({ searchText, 1, PAGE_SIZE_MEDIUM, - '', + 'isBot:false', '', '', SearchIndex.USER @@ -79,7 +79,9 @@ export const UserTeamSelectableList = ({ ? { after, } - : undefined + : undefined, + undefined, + false ); const filterData = getEntityReferenceListFromEntities( data, diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/user-team-selectable-list.less b/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/user-team-selectable-list.less index 71286070481..db1568cdb06 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/user-team-selectable-list.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/common/UserTeamSelectableList/user-team-selectable-list.less @@ -29,6 +29,7 @@ box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.12); border-radius: 6px; padding: 0; + min-width: 275px; .ant-popover-inner { box-shadow: none;