diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/ExploreQuickFilters.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/ExploreQuickFilters.tsx index a5140471bdb..5db2b7fc73a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/ExploreQuickFilters.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/ExploreQuickFilters.tsx @@ -94,7 +94,8 @@ const ExploreQuickFilters: FC = ({ key, '', JSON.stringify(combinedQueryFilter), - independent + independent, + showDeleted ), key === TIER_FQN_KEY ? getTags({ parent: 'Tier', limit: 50 }) @@ -159,7 +160,8 @@ const ExploreQuickFilters: FC = ({ key, value, JSON.stringify(combinedQueryFilter), - independent + independent, + showDeleted ); const buckets = res.data.aggregations[`sterms#${key}`].buckets; diff --git a/openmetadata-ui/src/main/resources/ui/src/rest/miscAPI.ts b/openmetadata-ui/src/main/resources/ui/src/rest/miscAPI.ts index 1cb7c8310d1..fa5b71f9d03 100644 --- a/openmetadata-ui/src/main/resources/ui/src/rest/miscAPI.ts +++ b/openmetadata-ui/src/main/resources/ui/src/rest/miscAPI.ts @@ -168,7 +168,8 @@ export const getAggregateFieldOptions = ( field: string, value: string, q: string, - sourceFields?: string + sourceFields?: string, + deleted = false ) => { const withWildCardValue = value ? `.*${escapeESReservedCharacters(value)}.*` @@ -179,6 +180,7 @@ export const getAggregateFieldOptions = ( value: withWildCardValue, q, sourceFields, + deleted, }; return APIClient.get>( diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ExploreUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/ExploreUtils.tsx index d3c3451e729..525bab30813 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ExploreUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ExploreUtils.tsx @@ -200,41 +200,6 @@ export const extractTermKeys = (objects: QueryFieldInterface[]): string[] => { return termKeys; }; -export const getSubLevelHierarchyKey = ( - isDatabaseHierarchy = false, - filterField?: ExploreQuickFilterField[], - key?: EntityFields, - value?: string -) => { - const queryFilter = { - query: { bool: {} }, - }; - - if ((key && value) || filterField) { - (queryFilter.query.bool as EsBoolQuery).must = isUndefined(filterField) - ? { term: { [key ?? '']: value } } - : getExploreQueryFilterMust(filterField); - } - - const bucketMapping = isDatabaseHierarchy - ? { - [EntityFields.SERVICE_TYPE]: EntityFields.SERVICE, - [EntityFields.SERVICE]: EntityFields.DATABASE_DISPLAY_NAME, - [EntityFields.DATABASE_DISPLAY_NAME]: - EntityFields.DATABASE_SCHEMA_DISPLAY_NAME, - [EntityFields.DATABASE_SCHEMA_DISPLAY_NAME]: EntityFields.ENTITY_TYPE, - } - : { - [EntityFields.SERVICE_TYPE]: EntityFields.SERVICE, - [EntityFields.SERVICE]: EntityFields.ENTITY_TYPE, - }; - - return { - bucket: bucketMapping[key as DatabaseFields] ?? EntityFields.SERVICE_TYPE, - queryFilter, - }; -}; - export const getExploreQueryFilterMust = (data: ExploreQuickFilterField[]) => { const must = [] as Array; @@ -281,6 +246,41 @@ export const getExploreQueryFilterMust = (data: ExploreQuickFilterField[]) => { return must; }; +export const getSubLevelHierarchyKey = ( + isDatabaseHierarchy = false, + filterField?: ExploreQuickFilterField[], + key?: EntityFields, + value?: string +) => { + const queryFilter = { + query: { bool: {} }, + }; + + if ((key && value) || filterField) { + (queryFilter.query.bool as EsBoolQuery).must = isUndefined(filterField) + ? { term: { [key ?? '']: value } } + : getExploreQueryFilterMust(filterField); + } + + const bucketMapping = isDatabaseHierarchy + ? { + [EntityFields.SERVICE_TYPE]: EntityFields.SERVICE, + [EntityFields.SERVICE]: EntityFields.DATABASE_DISPLAY_NAME, + [EntityFields.DATABASE_DISPLAY_NAME]: + EntityFields.DATABASE_SCHEMA_DISPLAY_NAME, + [EntityFields.DATABASE_SCHEMA_DISPLAY_NAME]: EntityFields.ENTITY_TYPE, + } + : { + [EntityFields.SERVICE_TYPE]: EntityFields.SERVICE, + [EntityFields.SERVICE]: EntityFields.ENTITY_TYPE, + }; + + return { + bucket: bucketMapping[key as DatabaseFields] ?? EntityFields.SERVICE_TYPE, + queryFilter, + }; +}; + export const updateTreeData = ( list: ExploreTreeNode[], key: React.Key, @@ -360,11 +360,12 @@ export const getAggregationOptions = async ( key: string, value: string, filter: string, - isIndependent: boolean + isIndependent: boolean, + deleted = false ) => { return isIndependent ? postAggregateFieldOptions(index, key, value, filter) - : getAggregateFieldOptions(index, key, value, filter); + : getAggregateFieldOptions(index, key, value, filter, undefined, deleted); }; export const updateTreeDataWithCounts = ( @@ -412,7 +413,7 @@ export const isElasticsearchError = (error: unknown): boolean => { return false; } - const data = axiosError.response.data as Record; + const data = axiosError.response.data as Record; const message = data.message as string; return (