diff --git a/openmetadata-ui/src/main/resources/ui/src/components/GlossaryDetails/GlossaryDetails.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/GlossaryDetails/GlossaryDetails.component.tsx index 80614c70a2a..783f719efaa 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/GlossaryDetails/GlossaryDetails.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/GlossaryDetails/GlossaryDetails.component.tsx @@ -29,7 +29,6 @@ import { getTagCategories, getTaglist } from '../../utils/TagsUtils'; import { Button } from '../buttons/Button/Button'; import Avatar from '../common/avatar/Avatar'; import Description from '../common/description/Description'; -import ErrorPlaceHolder from '../common/error-with-placeholder/ErrorPlaceHolder'; import NonAdminAction from '../common/non-admin-action/NonAdminAction'; import PopOver from '../common/popover/PopOver'; import TabsPane from '../common/TabsPane/TabsPane'; @@ -181,7 +180,7 @@ const GlossaryDetails = ({ isHasAccess, glossary, updateGlossary }: props) => { } }, [glossary.reviewers]); - const rightPosButton = () => { + const AddReviewerButton = () => { return ( + + ); + }; + const getReviewerTabData = () => { return glossaryTerm.reviewers && glossaryTerm.reviewers.length > 0 ? (
@@ -306,13 +346,26 @@ const GlossaryTermsV1 = ({ ))}
) : ( - -

No Reviewers.

-

{rightPosButton()}

-
+
+

No reviewers assigned

+

{AddReviewerButton()}

+
); }; + const getTabPaneButton = () => { + switch (activeTab) { + case 1: { + return relatedTerms.length ? AddRelatedTermButton() : undefined; + } + case 3: { + return glossaryTerm.reviewers?.length ? AddReviewerButton() : undefined; + } + default: + return; + } + }; + return (
@@ -551,19 +604,18 @@ const GlossaryTermsV1 = ({ 0 && - activeTab === 3 - ? rightPosButton() - : undefined - } + rightPosButton={getTabPaneButton()} setActiveTab={activeTabHandler} tabs={tabs} />
- {activeTab === 1 && } + {activeTab === 1 && ( + {AddRelatedTermButton()}} + data={relatedTerms} + /> + )} {activeTab === 2 && ( + {showRelatedTermsModal && ( + + )} {showRevieweModal && ( { - return data?.length ? ( +const RelationshipTab = ({ data, addButton }: Props) => { + return (
- + - {data.map((row, index) => { - return ( - - - - - ); - })} + {data?.length ? ( + data.map((row, index) => { + return ( + + + + + ); + }) + ) : ( + + + + )}
TermsTerms Description
- {row.relatedTerms} - -
- {row.description.trim() ? ( - - ) : ( - No description - )} -
-
+ {row.displayName || row.name} + +
+ {row.description?.trim() ? ( + + ) : ( + + No description + + )} +
+
+

No related terms available.

+ {addButton} +
- ) : ( - -

No related terms.

-
); }; diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Modals/RelatedTermsModal/RelatedTermsModal.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Modals/RelatedTermsModal/RelatedTermsModal.tsx index dbaed7876de..2ff2b3b5945 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Modals/RelatedTermsModal/RelatedTermsModal.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Modals/RelatedTermsModal/RelatedTermsModal.tsx @@ -44,7 +44,7 @@ const RelatedTermsModal = ({ >(relatedTerms ?? []); const getSearchedTerms = (searchedData: FormatedGlossaryTermData[]) => { - const currOptions = selectedOption.map((item) => item.fqdn); + const currOptions = selectedOption.map((item) => item.fqdn || item.name); const data = searchedData.filter((item: FormatedGlossaryTermData) => { return !currOptions.includes(item.fqdn); }); diff --git a/openmetadata-ui/src/main/resources/ui/src/interface/types.d.ts b/openmetadata-ui/src/main/resources/ui/src/interface/types.d.ts index 2f7e2bef5f6..9e9d2eeb00b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/interface/types.d.ts +++ b/openmetadata-ui/src/main/resources/ui/src/interface/types.d.ts @@ -223,6 +223,7 @@ declare module 'Models' { fqdn: string; type: string; id: string; + description?: string; }; export interface FormatedGlossarySuggestion {