From d4e84888d539493824e24818d20ed13daf1c2a49 Mon Sep 17 00:00:00 2001 From: Josh Eilers Date: Wed, 21 Jun 2023 09:14:14 -0700 Subject: [PATCH] fix(browsev2): sort aggregations by display name --- .../src/app/search/sidebar/EntityNode.tsx | 7 ++--- .../app/search/sidebar/EnvironmentNode.tsx | 3 ++- .../src/app/search/sidebar/PlatformNode.tsx | 1 - .../search/sidebar/useAggregationsQuery.ts | 26 ++++++++++++------- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/datahub-web-react/src/app/search/sidebar/EntityNode.tsx b/datahub-web-react/src/app/search/sidebar/EntityNode.tsx index 3c13b8786ca56a..a8ede6a6fb1ee6 100644 --- a/datahub-web-react/src/app/search/sidebar/EntityNode.tsx +++ b/datahub-web-react/src/app/search/sidebar/EntityNode.tsx @@ -46,7 +46,8 @@ const EntityNode = () => { }); const showEnvironments = - environmentAggregations.length > 1 || (hasEnvironmentFilter && !!environmentAggregations.length); + environmentAggregations && + (environmentAggregations.length > 1 || (hasEnvironmentFilter && !!environmentAggregations.length)); const color = count > 0 ? '#000' : ANTD_GRAY[8]; return ( @@ -75,7 +76,7 @@ const EntityNode = () => { body={ {showEnvironments - ? environmentAggregations.map((environmentAggregation) => ( + ? environmentAggregations?.map((environmentAggregation) => ( { )) - : platformAggregations.map((platformAggregation) => ( + : platformAggregations?.map((platformAggregation) => ( props.color}; + padding-right: 8px; `; const EnvironmentNode = () => { @@ -64,7 +65,7 @@ const EnvironmentNode = () => { } body={ - {platformAggregations.map((platformAggregation) => ( + {platformAggregations?.map((platformAggregation) => ( { const type = aggregation.value as EntityType; return registry.getEntity(type).isBrowseEnabled() && !GLOSSARY_ENTITY_TYPES.includes(type); }) - .sort((a, b) => a.value.localeCompare(b.value)); + .sort((a, b) => { + const nameA = registry.getCollectionName(a.value as EntityType); + const nameB = registry.getCollectionName(b.value as EntityType); + return nameA.localeCompare(nameB); + }); - const environmentAggregations = - data?.aggregateAcrossEntities?.facets - ?.find((facet) => facet.field === ORIGIN_FILTER_NAME) - ?.aggregations.filter((aggregation) => aggregation.count) ?? []; + const environmentAggregations = data?.aggregateAcrossEntities?.facets + ?.find((facet) => facet.field === ORIGIN_FILTER_NAME) + ?.aggregations.filter((aggregation) => aggregation.count) + .sort((a, b) => a.value.localeCompare(b.value)); - const platformAggregations = - data?.aggregateAcrossEntities?.facets - ?.find((facet) => facet.field === PLATFORM_FILTER_NAME) - ?.aggregations.filter((aggregation) => aggregation.count) ?? []; + const platformAggregations = data?.aggregateAcrossEntities?.facets + ?.find((facet) => facet.field === PLATFORM_FILTER_NAME) + ?.aggregations.filter((aggregation) => aggregation.count) + .sort((a, b) => { + const nameA = registry.getDisplayName(EntityType.DataPlatform, a.entity); + const nameB = registry.getDisplayName(EntityType.DataPlatform, b.entity); + return nameA.localeCompare(nameB); + }); return { loading,