From ca93d96cb79e7c4f55a64a3efd21f98c477ac3de Mon Sep 17 00:00:00 2001 From: karanh37 <33024356+karanh37@users.noreply.github.com> Date: Fri, 2 Jun 2023 00:56:34 +0530 Subject: [PATCH] feat: update explore entity summary panel design (#11851) * feat: explore page new design * fix: update explore data card * fix: jest and cypress test * fix: revert lineage changes * fix: remove unused component * fix: minor css fix * fix: cypress tests * fix: code smells * fix: css issues * fix: update summary panel styling * fix: submenu highlight issue * fix: update quick filters padding * fix: sonar fixes * fix: sonar fixes * fix: update navbar style * fix: css issues * fix: jest test * fix: header styling --- .../ContainerSummary.component.tsx | 6 +- .../DashboardSummary.component.tsx | 8 +- .../DataModelSummary.component.tsx | 4 +- .../EntitySummaryPanel.component.tsx | 4 +- .../EntitySummaryPanel.style.less | 25 +--- .../EntitySummaryPanel.test.tsx | 1 + .../GlossaryTermSummary.component.tsx | 8 +- .../MlModelSummary.component.tsx | 6 +- .../PipelineSummary.component.tsx | 6 +- .../SummaryList/SummaryList.style.less | 34 +++-- .../SummaryListItems.component.tsx | 134 ++++++++--------- .../TableSummary/TableSummary.component.tsx | 138 +++++++----------- .../TableSummary/TableSummary.test.tsx | 40 +---- .../TableSummary/table-summary.less | 36 +++++ .../TagsSummary/TagsSummary.component.tsx | 2 +- .../TopicSummary/TopicSummary.component.tsx | 16 +- .../Explore/ExploreQuickFilters.tsx | 6 +- .../LeftSidebar/LeftSidebar.component.tsx | 17 ++- .../ui/src/components/nav-bar/NavBar.tsx | 6 +- .../src/main/resources/ui/src/styles/app.less | 1 + .../main/resources/ui/src/styles/x-master.css | 4 - .../ui/src/utils/EntitySummaryPanelUtils.tsx | 8 +- 22 files changed, 233 insertions(+), 277 deletions(-) create mode 100644 openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/table-summary.less diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/ContainerSummary/ContainerSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/ContainerSummary/ContainerSummary.component.tsx index 28826acb884..b389ee4d8a8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/ContainerSummary/ContainerSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/ContainerSummary/ContainerSummary.component.tsx @@ -56,7 +56,7 @@ function ContainerSummary({ <> - + {entityInfo.map((info) => { const isOwner = info.name === t('label.owner'); @@ -107,10 +107,10 @@ function ContainerSummary({ - + {t('label.schema')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DashboardSummary/DashboardSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DashboardSummary/DashboardSummary.component.tsx index e64149347a3..3049ce2afe3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DashboardSummary/DashboardSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DashboardSummary/DashboardSummary.component.tsx @@ -172,10 +172,10 @@ function DashboardSummary({ ) : null} - + {t('label.chart-plural')} @@ -187,10 +187,10 @@ function DashboardSummary({ - + {t('label.data-model-plural')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DataModelSummary/DataModelSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DataModelSummary/DataModelSummary.component.tsx index 0e2dc272c70..e7fe0f5015d 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DataModelSummary/DataModelSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/DataModelSummary/DataModelSummary.component.tsx @@ -70,7 +70,7 @@ const DataModelSummary = ({ <> - + {entityInfo.map((info) => { const isOwner = info.name === t('label.owner'); @@ -135,7 +135,7 @@ const DataModelSummary = ({ - + - {getEntityName(entityDetails.details)} + {stringToHTML(getEntityName(entityDetails.details))} } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.style.less b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.style.less index e2d8812e7c4..3355d3ccb66 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.style.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.style.less @@ -13,19 +13,13 @@ @import url('../../../styles/variables.less'); @summary-panel-offset: 80px; // (topnav height) 64px + page padding top and bottom 16px -@label-color: #6b7280; -@successColor: #28a745; -@failedColor: #cb2431; -@abortedColor: #efae2f; -@section-header-color: #6b7280; .summary-panel-container { margin-right: -8px; position: sticky; height: calc(100vh - @summary-panel-offset); - top: 2px; // To show the border properly z-index: 9; - box-shadow: @panels-shadow-color; + box-shadow: none; border: @global-border; border-top: none; font-size: 14px; @@ -35,7 +29,7 @@ scrollbar-width: none; .ant-drawer-content-wrapper { - box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.12); + box-shadow: none; } .ant-drawer-body { padding: unset; @@ -48,16 +42,6 @@ font-weight: 700; } - .success { - color: @successColor; - } - .failed { - color: @failed-color; - } - .aborted { - color: @abortedColor; - } - .entity-title { font-weight: 500; } @@ -66,11 +50,6 @@ margin: 16px 0px; } - div.ant-typography { - margin-top: 16px; - margin-bottom: 0px; - } - .close-icon { position: absolute; top: 12px; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.test.tsx index 3c79c90ab8f..4a3f3717e9a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/EntitySummaryPanel.test.tsx @@ -54,6 +54,7 @@ jest.mock('utils/EntityUtils', () => ({ })); jest.mock('utils/StringsUtils', () => ({ getEncodedFqn: jest.fn().mockImplementation((fqn) => fqn), + stringToHTML: jest.fn(), })); jest.mock('./PipelineSummary/PipelineSummary.component', () => diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/GlossaryTermSummary/GlossaryTermSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/GlossaryTermSummary/GlossaryTermSummary.component.tsx index a0b547f0768..b1e43833fab 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/GlossaryTermSummary/GlossaryTermSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/GlossaryTermSummary/GlossaryTermSummary.component.tsx @@ -77,7 +77,7 @@ function GlossaryTermSummary({ {t('label.reviewer-plural')} @@ -117,7 +117,7 @@ function GlossaryTermSummary({ {t('label.synonym-plural')} @@ -145,10 +145,10 @@ function GlossaryTermSummary({ - + {t('label.children')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/MlModelSummary/MlModelSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/MlModelSummary/MlModelSummary.component.tsx index c7952c4a796..01281c2af27 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/MlModelSummary/MlModelSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/MlModelSummary/MlModelSummary.component.tsx @@ -70,7 +70,7 @@ function MlModelSummary({ <> - + {entityInfo.map((info) => { const isOwner = info.name === t('label.owner'); @@ -133,10 +133,10 @@ function MlModelSummary({ ) : null} - + {t('label.feature-plural')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/PipelineSummary/PipelineSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/PipelineSummary/PipelineSummary.component.tsx index 681037d1496..21d2047c934 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/PipelineSummary/PipelineSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/PipelineSummary/PipelineSummary.component.tsx @@ -65,7 +65,7 @@ function PipelineSummary({ <> - + {entityInfo.map((info) => { const isOwner = info.name === t('label.owner'); @@ -137,10 +137,10 @@ function PipelineSummary({ ) : null} - + {t('label.task-plural')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryList.style.less b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryList.style.less index 1f42327ae8b..e643beb546b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryList.style.less +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryList.style.less @@ -12,19 +12,31 @@ */ .summary-list-collapse { - .ant-collapse-item { - .ant-collapse-header { - padding: 0px; - - .ant-collapse-arrow { - margin-right: 8px; + &.ant-collapse { + background-color: rgba(0, 0, 0, 0.02); + margin-bottom: 16px; + padding: 16px; + .ant-collapse-item { + .ant-collapse-header { + padding: 0; + .summary-list-item-container { + padding: 0; + margin-bottom: 0; + } } - } - .ant-collapse-content { - .ant-collapse-content-box { - padding: 0px; - padding-left: 20px; + .summary-list-item-container { + background-color: inherit; + margin-bottom: 0; } } } + .summary-list-collapse { + margin-bottom: 0; + } +} + +.summary-list-item-container { + background-color: rgba(0, 0, 0, 0.02); + margin-bottom: 16px; + padding: 16px; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryListItems/SummaryListItems.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryListItems/SummaryListItems.component.tsx index 2055b378a73..b323effe307 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryListItems/SummaryListItems.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/SummaryList/SummaryListItems/SummaryListItems.component.tsx @@ -11,7 +11,7 @@ * limitations under the License. */ -import { Col, Divider, Row, Space, Typography } from 'antd'; +import { Col, Row, Space, Typography } from 'antd'; import TagsViewer from 'components/Tag/TagsViewer/tags-viewer'; import React from 'react'; import { useTranslation } from 'react-i18next'; @@ -31,85 +31,67 @@ function SummaryListItem({ return ( - - - {isColumnsData && - prepareConstraintIcon( - entityDetails.name, - entityDetails.columnConstraint, - entityDetails.tableConstraints, - 'm-r-xss', - '14px' - )} - {entityDetails.title} - - - - - {entityDetails.type && ( - - {`${t( - 'label.type' - )}:`} - - {entityDetails.type} - - +
+ + + {isColumnsData && + prepareConstraintIcon( + entityDetails.name, + entityDetails.columnConstraint, + entityDetails.tableConstraints, + 'm-r-xss', + '14px' )} - + {entityDetails.title} - {entityDetails.algorithm && ( - <> - - - - - - {`${t( - 'label.algorithm' - )}:`} - - {entityDetails.algorithm} - - - - + {entityDetails.type && ( + {`(${entityDetails.type})`} )} - {entityDetails.tags && entityDetails.tags.length !== 0 && ( - <> - - - - - - getTagValue(tag) - )} - /> - - - )} - - - - - {entityDetails.description ? ( - + + {entityDetails.algorithm && ( + + + {`${t( + 'label.algorithm' + )}:`} + + {entityDetails.algorithm} + + + + )} + + + + {entityDetails.description ? ( + + ) : ( + t('label.no-entity', { entity: t('label.description') }) + )} + + + {entityDetails.tags && entityDetails.tags.length !== 0 && ( + + getTagValue(tag))} + type="border" /> - ) : ( - t('label.no-entity', { entity: t('label.description') }) - )} - - - - + + )} + +
); } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.component.tsx index d026df65bac..8f654be8a8b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.component.tsx @@ -47,20 +47,15 @@ import { INITIAL_TEST_RESULT_SUMMARY } from '../../../../constants/profiler.cons import { SummaryEntityType } from '../../../../enums/EntitySummary.enum'; import { Table } from '../../../../generated/entity/data/table'; import { Include } from '../../../../generated/type/include'; -import { - formatNumberWithComma, - formTwoDigitNmber as formTwoDigitNumber, -} from '../../../../utils/CommonUtils'; +import { formTwoDigitNmber as formTwoDigitNumber } from '../../../../utils/CommonUtils'; import { updateTestResults } from '../../../../utils/DataQualityAndProfilerUtils'; import { getFormattedEntityData } from '../../../../utils/EntitySummaryPanelUtils'; import { generateEntityLink } from '../../../../utils/TableUtils'; import { showErrorToast } from '../../../../utils/ToastUtils'; -import { - OverallTableSummeryType, - TableTestsType, -} from '../../../TableProfiler/TableProfiler.interface'; +import { TableTestsType } from '../../../TableProfiler/TableProfiler.interface'; import SummaryList from '../SummaryList/SummaryList.component'; import { BasicEntityInfo } from '../SummaryList/SummaryList.interface'; +import './table-summary.less'; import { TableSummaryProps } from './TableSummary.interface'; function TableSummary({ @@ -101,7 +96,9 @@ function TableSummary({ useEffect(() => { if (tableDetails.id && !isTourPage) { - fetchResourcePermission(); + fetchResourcePermission().catch(() => { + // error handled in parent + }); } if (isTourPage) { @@ -178,49 +175,6 @@ function TableSummary({ } }, [entityDetails]); - const overallSummary: OverallTableSummeryType[] | undefined = useMemo(() => { - if (isUndefined(tableDetails.profile)) { - return undefined; - } - - return [ - { - title: t('label.entity-count', { - entity: t('label.row'), - }), - value: formatNumberWithComma(tableDetails?.profile?.rowCount ?? 0), - }, - { - title: t('label.column-entity', { - entity: t('label.count'), - }), - value: - tableDetails?.profile?.columnCount ?? entityDetails.columns.length, - }, - { - title: `${t('label.table-entity-text', { - entityText: t('label.sample'), - })} %`, - value: `${tableDetails?.profile?.profileSample ?? 100}%`, - }, - { - title: `${t('label.test-plural')} ${t('label.passed')}`, - value: formTwoDigitNumber(tableTests.results.success), - className: 'success', - }, - { - title: `${t('label.test-plural')} ${t('label.aborted')}`, - value: formTwoDigitNumber(tableTests.results.aborted), - className: 'aborted', - }, - { - title: `${t('label.test-plural')} ${t('label.failed')}`, - value: formTwoDigitNumber(tableTests.results.failed), - className: 'failed', - }, - ]; - }, [tableDetails, tableTests, viewProfilerPermission]); - const profilerSummary = useMemo(() => { if (!viewProfilerPermission) { return ( @@ -232,40 +186,47 @@ function TableSummary({ ); } - return isUndefined(overallSummary) ? ( + return isUndefined(tableDetails.profile) ? ( {t('message.no-profiler-enabled-summary-message')} ) : ( - - {overallSummary.map((field) => ( - - - - - {field.title} - - - - - {field.value} - - - - - ))} - +
+
+
+ {formTwoDigitNumber(tableTests.results.success)} +
+
{`${t( + 'label.test-plural' + )} ${t('label.passed')}`}
+
+
+
+ {formTwoDigitNumber(tableTests.results.aborted)} +
+
{`${t( + 'label.test-plural' + )} ${t('label.aborted')}`}
+
+
+
+ {formTwoDigitNumber(tableTests.results.failed)} +
+
{`${t( + 'label.test-plural' + )} ${t('label.failed')}`}
+
+
); - }, [overallSummary, viewProfilerPermission]); + }, [tableDetails, tableTests, viewProfilerPermission]); const { columns } = tableDetails; @@ -307,7 +268,7 @@ function TableSummary({ <> - + {entityInfo.map((info) => { const isOwner = info.name === t('label.owner'); @@ -320,7 +281,7 @@ function TableSummary({ gutter={[16, 32]}> {!isOwner ? ( - + {info.name} @@ -343,9 +304,12 @@ function TableSummary({ ) : ( + className={classNames( + 'summary-item-value text-grey-muted', + { + 'text-grey-body': !isOwner, + } + )}> {info.value} )} @@ -373,7 +337,7 @@ function TableSummary({ {t('label.profiler-amp-data-quality')} @@ -383,10 +347,10 @@ function TableSummary({ - + {t('label.schema')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.test.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.test.tsx index 1adda2bab5e..a4c03c121f1 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.test.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/TableSummary.test.tsx @@ -162,44 +162,16 @@ describe('TableSummary component tests', () => { render(); }); - const rowCountLabel = screen.getByTestId('label.entity-count-label'); - const colCountLabel = screen.getByTestId('label.column-entity-label'); - const tableSampleLabel = screen.getByTestId( - 'label.table-entity-text %-label' - ); - const testsPassedLabel = screen.getByTestId( - 'label.test-plural label.passed-label' - ); - const testsAbortedLabel = screen.getByTestId( - 'label.test-plural label.aborted-label' - ); - const testsFailedLabel = screen.getByTestId( - 'label.test-plural label.failed-label' - ); - const rowCountValue = screen.getByTestId('label.entity-count-value'); - const colCountValue = screen.getByTestId('label.column-entity-value'); - const tableSampleValue = screen.getByTestId( - 'label.table-entity-text %-value' - ); - const testsPassedValue = screen.getByTestId( - 'label.test-plural label.passed-value' - ); - const testsAbortedValue = screen.getByTestId( - 'label.test-plural label.aborted-value' - ); - const testsFailedValue = screen.getByTestId( - 'label.test-plural label.failed-value' - ); + const testsPassedLabel = screen.getByTestId('test-passed'); + const testsAbortedLabel = screen.getByTestId('test-aborted'); + const testsFailedLabel = screen.getByTestId('test-failed'); + const testsPassedValue = screen.getByTestId('test-passed-value'); + const testsAbortedValue = screen.getByTestId('test-aborted-value'); + const testsFailedValue = screen.getByTestId('test-failed-value'); - expect(rowCountLabel).toBeInTheDocument(); - expect(colCountLabel).toBeInTheDocument(); - expect(tableSampleLabel).toBeInTheDocument(); expect(testsPassedLabel).toBeInTheDocument(); expect(testsAbortedLabel).toBeInTheDocument(); expect(testsFailedLabel).toBeInTheDocument(); - expect(rowCountValue).toContainHTML('30'); - expect(colCountValue).toContainHTML('2'); - expect(tableSampleValue).toContainHTML('100%'); expect(testsPassedValue).toContainHTML('00'); expect(testsAbortedValue).toContainHTML('00'); expect(testsFailedValue).toContainHTML('00'); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/table-summary.less b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/table-summary.less new file mode 100644 index 00000000000..c001935df67 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TableSummary/table-summary.less @@ -0,0 +1,36 @@ +/* + * Copyright 2023 Collate. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@import url('../../../../styles/variables.less'); +@green: #ebf9f4; +@amber: #fbf2db; +@red: #faf1f8; +.profiler-item { + width: 100px; + height: 80px; + text-align: center; + border: 1px solid @border-color; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + border-radius: 10px; + &.green { + background: @green; + } + &.amber { + background: @amber; + } + &.red { + background: @red; + } +} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TagsSummary/TagsSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TagsSummary/TagsSummary.component.tsx index b36e8efb45c..e474620db58 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TagsSummary/TagsSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TagsSummary/TagsSummary.component.tsx @@ -71,7 +71,7 @@ function TagsSummary({ entityDetails, isLoading }: TagsSummaryProps) { {t('label.usage')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TopicSummary/TopicSummary.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TopicSummary/TopicSummary.component.tsx index 314d8e8374f..21c5fecfef6 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TopicSummary/TopicSummary.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Explore/EntitySummaryPanel/TopicSummary/TopicSummary.component.tsx @@ -140,7 +140,7 @@ function TopicSummary({ ) : null} - + {Object.keys(topicConfig).map((fieldName) => { const value = topicConfig[fieldName as keyof TopicConfigObjectInterface]; @@ -177,23 +177,21 @@ function TopicSummary({ ) : null} - + {t('label.schema')} {isEmpty(topicDetails?.messageSchema?.schemaFields) ? ( -
- - - {t('message.no-data-available')} - + + + {t('message.no-data-available')} -
+
) : ( )} 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 fc53d5dcc22..6eb8c477dc8 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 @@ -151,7 +151,7 @@ const ExploreQuickFilters: FC = ({ }; return ( - + {fields.map((field) => ( = ({ data-testid="show-deleted" onChange={onChangeShowDeleted} /> - + {t('label.show-deleted')} {t('label.advanced-entity', { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.component.tsx index 9837e28f764..08aceb2384c 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/MyData/LeftSidebar/LeftSidebar.component.tsx @@ -21,7 +21,7 @@ import { ReactComponent as InsightsIcon } from 'assets/svg/lampcharge.svg'; import { ReactComponent as LogoutIcon } from 'assets/svg/logout.svg'; import { useAuthContext } from 'components/authentication/auth-provider/AuthProvider'; import { ROUTES } from 'constants/constants'; -import React from 'react'; +import React, { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { NavLink } from 'react-router-dom'; import './left-sidebar.less'; @@ -30,6 +30,16 @@ const LeftSidebar = () => { const { t } = useTranslation(); const { onLogoutHandler } = useAuthContext(); + const subMenuItemSelected = useMemo(() => { + if (location.pathname.startsWith('/glossary')) { + return ['glossary']; + } else if (location.pathname.startsWith('/tags')) { + return ['tags']; + } + + return []; + }, [location.pathname]); + return (
@@ -90,7 +100,10 @@ const LeftSidebar = () => {
- + -