-
- {getEntityName(currentUser)}
-
+
+
+
+ {getEntityName(currentUser)}
+
+
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Users/UsersProfile/UserProfileTeams/UserProfileTeams.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Users/UsersProfile/UserProfileTeams/UserProfileTeams.component.tsx
index aaf52ac4c94..4f8bac01451 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/Users/UsersProfile/UserProfileTeams/UserProfileTeams.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/Users/UsersProfile/UserProfileTeams/UserProfileTeams.component.tsx
@@ -23,6 +23,7 @@ import {
DE_ACTIVE_COLOR,
ICON_DIMENSION,
} from '../../../../constants/constants';
+import { EntityReference } from '../../../../generated/entity/type';
import { useAuth } from '../../../../hooks/authHooks';
import { getNonDeletedTeams } from '../../../../utils/CommonUtils';
import { UserProfileTeamsProps } from './UserProfileTeams.interface';
@@ -35,11 +36,11 @@ const UserProfileTeams = ({
const { isAdminUser } = useAuth();
const [isTeamsEdit, setIsTeamsEdit] = useState(false);
- const [selectedTeams, setSelectedTeams] = useState([]);
+ const [selectedTeams, setSelectedTeams] = useState([]);
const handleTeamsSave = () => {
updateUserDetails({
- teams: selectedTeams.map((teamId) => ({ id: teamId, type: 'team' })),
+ teams: selectedTeams.map((teamId) => ({ id: teamId.id, type: 'team' })),
});
setIsTeamsEdit(false);
@@ -57,7 +58,7 @@ const UserProfileTeams = ({
);
useEffect(() => {
- setSelectedTeams(getNonDeletedTeams(teams ?? []).map((team) => team.id));
+ setSelectedTeams(getNonDeletedTeams(teams ?? []));
}, [teams]);
return (
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/DomainSelectableList/DomainSelectableList.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/DomainSelectableList/DomainSelectableList.component.tsx
index 51e0e1b1584..4cd615fb5e8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/common/DomainSelectableList/DomainSelectableList.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/common/DomainSelectableList/DomainSelectableList.component.tsx
@@ -113,6 +113,9 @@ const DomainSelectableList = ({
customTagRenderer={DomainListItemRenderer}
fetchOptions={fetchOptions}
multiSelect={false}
+ removeIconTooltipLabel={t('label.remove-entity', {
+ entity: t('label.domain-lowercase'),
+ })}
searchPlaceholder={t('label.search-for-type', {
type: t('label.domain'),
})}
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/common/EntitySummaryDetails/EntitySummaryDetails.tsx b/openmetadata-ui/src/main/resources/ui/src/components/common/EntitySummaryDetails/EntitySummaryDetails.tsx
index a89a220abb4..511fae173e5 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/common/EntitySummaryDetails/EntitySummaryDetails.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/common/EntitySummaryDetails/EntitySummaryDetails.tsx
@@ -20,6 +20,7 @@ import React, { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { ReactComponent as EditIcon } from '../../../assets/svg/edit-new.svg';
import { ReactComponent as IconExternalLink } from '../../../assets/svg/external-links.svg';
+import { ReactComponent as DomainIcon } from '../../../assets/svg/ic-domain.svg';
import { ReactComponent as IconTeamsGrey } from '../../../assets/svg/teams-grey.svg';
import { DE_ACTIVE_COLOR } from '../../../constants/constants';
import { Tag } from '../../../generated/entity/classification/tag';
@@ -186,6 +187,20 @@ const EntitySummaryDetails = ({
break;
+ case 'Domain':
+ {
+ retVal = (
+
+ );
+ }
+
+ break;
default:
{
retVal = (
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 592e5548c4f..eb8d3e53d90 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
@@ -38,6 +38,7 @@ export const SelectableList = ({
searchPlaceholder,
customTagRenderer,
searchBarDataTestId,
+ removeIconTooltipLabel,
}: SelectableListProps) => {
const [uniqueOptions, setUniqueOptions] = useState([]);
const [searchText, setSearchText] = useState('');
@@ -230,7 +231,10 @@ export const SelectableList = ({
) : (
selectedItemsInternal.has(item.id) && (
-
+
)
)
}
@@ -249,14 +253,23 @@ export const SelectableList = ({
);
};
-const RemoveIcon = ({ removeOwner }: { removeOwner?: () => void }) => {
+const RemoveIcon = ({
+ removeOwner,
+ removeIconTooltipLabel,
+}: {
+ removeOwner?: () => void;
+ removeIconTooltipLabel?: string;
+}) => {
const { t } = useTranslation();
return (
+ title={
+ removeIconTooltipLabel ??
+ t('label.remove-entity', {
+ entity: t('label.owner-lowercase'),
+ })
+ }>
ReactNode;
searchBarDataTestId?: string;
+ removeIconTooltipLabel?: string;
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/nav-bar/nav-bar.less b/openmetadata-ui/src/main/resources/ui/src/components/nav-bar/nav-bar.less
index 0ffb6ee060d..a27e1f12647 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/nav-bar/nav-bar.less
+++ b/openmetadata-ui/src/main/resources/ui/src/components/nav-bar/nav-bar.less
@@ -23,7 +23,7 @@
align-items: center;
cursor: pointer;
- .usename {
+ .username {
font-weight: 500;
line-height: 21px;
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/searched-data/SearchedData.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/searched-data/SearchedData.interface.ts
index d0ff6cc45c6..92b14267adb 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/searched-data/SearchedData.interface.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/components/searched-data/SearchedData.interface.ts
@@ -43,7 +43,8 @@ type Fields =
| 'serviceType'
| 'displayName'
| 'deleted'
- | 'service';
+ | 'service'
+ | 'domain';
export type SourceType = (
| Pick<
diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
index 51f2ae8de5a..ac51042c7ad 100644
--- a/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/constants/constants.ts
@@ -14,6 +14,7 @@
import { t } from 'i18next';
import { isUndefined } from 'lodash';
import Qs from 'qs';
+import { CSSProperties } from 'react';
import { COOKIE_VERSION } from '../components/Modals/WhatsNewModal/whatsNewData';
import { EntityTabs } from '../enums/entity.enum';
import { SearchIndex } from '../enums/search.enum';
@@ -835,3 +836,7 @@ export const ICON_DIMENSION = {
with: 14,
height: 14,
};
+
+export const COMMON_ICON_STYLES: CSSProperties = {
+ verticalAlign: 'middle',
+};
diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/explore.constants.ts b/openmetadata-ui/src/main/resources/ui/src/constants/explore.constants.ts
index fad7fea2a6a..61b96e11202 100644
--- a/openmetadata-ui/src/main/resources/ui/src/constants/explore.constants.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/constants/explore.constants.ts
@@ -112,6 +112,12 @@ export const tabsInfo: { [K in ExploreSearchIndex]: ExploreTabInfo } = {
sortField: INITIAL_SORT_FIELD,
path: 'containers',
},
+ [SearchIndex.SEARCH_INDEX]: {
+ label: i18n.t('label.search-index-plural'),
+ sortingFields: entitySortingFields,
+ sortField: INITIAL_SORT_FIELD,
+ path: 'searchIndexes',
+ },
[SearchIndex.GLOSSARY]: {
label: i18n.t('label.glossary-plural'),
sortingFields: entitySortingFields,
@@ -124,12 +130,6 @@ export const tabsInfo: { [K in ExploreSearchIndex]: ExploreTabInfo } = {
sortField: INITIAL_SORT_FIELD,
path: 'tags',
},
- [SearchIndex.SEARCH_INDEX]: {
- label: i18n.t('label.search-index-plural'),
- sortingFields: entitySortingFields,
- sortField: INITIAL_SORT_FIELD,
- path: 'searchIndexes',
- },
};
export const COMMON_FILTERS_FOR_DIFFERENT_TABS = [
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
index aec467607a9..3f5a9128cd8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/de-de.json
@@ -251,6 +251,7 @@
"data-model-type": "Datenmodelltyp",
"data-product": "Datenprodukt",
"data-product-plural": "Datenprodukte",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Datenverhältnisse",
"data-quality": "Datenqualität",
"data-quality-test": "Datenqualitätstest",
@@ -1362,6 +1363,7 @@
"no-data": "Keine Daten",
"no-data-available": "Keine Daten verfügbar.",
"no-data-available-for-selected-filter": "Keine Daten gefunden. Versuchen Sie, die Filter zu ändern.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "Es gibt noch keine Aktivität auf {{entity}}. Starten Sie ein Gespräch, indem Sie auf das",
"no-entity-available-with-name": "Keine {{entity}} mit dem Namen verfügbar",
"no-entity-data-available": "Keine {{entity}}-Daten verfügbar.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
index 66334b62ec2..33ab31e4fce 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json
@@ -251,6 +251,7 @@
"data-model-type": "Data Model Type",
"data-product": "Data Product",
"data-product-plural": "Data Products",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Data Proportions",
"data-quality": "Data Quality",
"data-quality-test": "Data Quality Test",
@@ -1362,6 +1363,7 @@
"no-data": "No data",
"no-data-available": "No data available.",
"no-data-available-for-selected-filter": "No data found. Try changing the filters.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "There is no activity on the {{entity}} yet. Start a conversation by clicking on the",
"no-entity-available-with-name": "No {{entity}} available with name",
"no-entity-data-available": "No {{entity}} data available.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
index 14a7a0a7832..2249d376009 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/es-es.json
@@ -251,6 +251,7 @@
"data-model-type": "Data Model Type",
"data-product": "Data Product",
"data-product-plural": "Data Products",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Data Proportions",
"data-quality": "Data Quality",
"data-quality-test": "Prueba de calidad de datos",
@@ -1362,6 +1363,7 @@
"no-data": "No hay datos",
"no-data-available": "No hay datos disponibles.",
"no-data-available-for-selected-filter": "No se encontraron datos. Intenta cambiar los filtros.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "No hay actividad en {{entity}} todavía. Comienza una conversación haciendo clic en",
"no-entity-available-with-name": "No hay {{entity}} disponible con el nombre",
"no-entity-data-available": "No hay datos disponibles de {{entity}}.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
index 20da144e3e5..dc6dc13fec3 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json
@@ -251,6 +251,7 @@
"data-model-type": "Type de Modèle de Données",
"data-product": "Produit de Données",
"data-product-plural": "Produits de Données",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Proportions des Données",
"data-quality": "Qualité des Données",
"data-quality-test": "Test de Qualité des Données",
@@ -1362,6 +1363,7 @@
"no-data": "Aucune donnée",
"no-data-available": "Aucune donnée disponible",
"no-data-available-for-selected-filter": "Aucune donnée trouvée. Essayez de modifier les filtres.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "Il n'y a aucune activité sur {{entity}} pour le moment. Démarrez une conversation en cliquant sur le bouton",
"no-entity-available-with-name": "Aucun {{entity}} disponible avec le nom",
"no-entity-data-available": "Aucun {{entity}} disponible.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
index ded7dfd1c6b..e04ddb4738b 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ja-jp.json
@@ -251,6 +251,7 @@
"data-model-type": "Data Model Type",
"data-product": "Data Product",
"data-product-plural": "Data Products",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Data Proportions",
"data-quality": "Data Quality",
"data-quality-test": "データ品質テスト",
@@ -1362,6 +1363,7 @@
"no-data": "データがありません",
"no-data-available": "利用できるデータがありません",
"no-data-available-for-selected-filter": "No data found. Try changing the filters.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "There is no activity on the {{entity}} yet. Start a conversation by clicking on the",
"no-entity-available-with-name": "No {{entity}} available with name",
"no-entity-data-available": "No {{entity}} data available.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
index 8d991af301e..ded879d8cb7 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/pt-br.json
@@ -251,6 +251,7 @@
"data-model-type": "Data Model Type",
"data-product": "Data Product",
"data-product-plural": "Data Products",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Data Proportions",
"data-quality": "Data Quality",
"data-quality-test": "Teste de qualidade de dados",
@@ -1362,6 +1363,7 @@
"no-data": "Nenhum dado",
"no-data-available": "Nenhum dado disponível.",
"no-data-available-for-selected-filter": "Nenhum dado encontrado. Tente alterar os filtros.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "Não há atividade em {{entity}} ainda. Inicie uma conversa clicando em",
"no-entity-available-with-name": "Não há {{entity}} disponível com o nome",
"no-entity-data-available": "Nenhum dado disponível para {{entity}}.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
index e90664cc53c..26b73d4f13e 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/ru-ru.json
@@ -251,6 +251,7 @@
"data-model-type": "Тип модели данных",
"data-product": "Data Product",
"data-product-plural": "Data Products",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "Распределение данных",
"data-quality": "Качество данных",
"data-quality-test": "Тест качества данных",
@@ -1362,6 +1363,7 @@
"no-data": "Нет данных",
"no-data-available": "Данные недоступны.",
"no-data-available-for-selected-filter": "Данные не найдены. Попробуйте поменять фильтры.",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "В {{entity}} пока нет активности. Начните обсуждение, нажав на кнопку",
"no-entity-available-with-name": "Нет доступного {{entity}} с именем",
"no-entity-data-available": "Данные {{entity}} недоступны.",
diff --git a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
index e7433630998..3e4e9df3465 100644
--- a/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
+++ b/openmetadata-ui/src/main/resources/ui/src/locale/languages/zh-cn.json
@@ -251,6 +251,7 @@
"data-model-type": "数据模型类型",
"data-product": "数据产品",
"data-product-plural": "数据产品",
+ "data-profiler-metrics": "Data Profiler Metrics",
"data-proportion-plural": "数据比例",
"data-quality": "数据质控",
"data-quality-test": "数据质控测试",
@@ -1362,6 +1363,7 @@
"no-data": "没有数据",
"no-data-available": "没有可用的数据",
"no-data-available-for-selected-filter": "未找到数据,请尝试更改筛选条件",
+ "no-domain-assigned-to-entity": "No Domains are Assigned to {{entity}}",
"no-entity-activity-message": "{{entity}}上还没有任何活动,单击开始对话",
"no-entity-available-with-name": "名称为{{entity}}不可用",
"no-entity-data-available": "没有可用的{{entity}}数据。",
diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/app.less b/openmetadata-ui/src/main/resources/ui/src/styles/app.less
index 8e40a89696c..8522b2765ae 100644
--- a/openmetadata-ui/src/main/resources/ui/src/styles/app.less
+++ b/openmetadata-ui/src/main/resources/ui/src/styles/app.less
@@ -738,3 +738,10 @@ a[href].link-text-grey,
padding-left: 0.25rem;
padding-right: 0.25rem;
}
+
+.app-bar-user-avatar {
+ display: inline-block;
+ height: 36px;
+ width: 36px;
+ border-radius: 50%;
+}
diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/components/button.less b/openmetadata-ui/src/main/resources/ui/src/styles/components/button.less
index 71b7d9efb4b..8223bc7d015 100644
--- a/openmetadata-ui/src/main/resources/ui/src/styles/components/button.less
+++ b/openmetadata-ui/src/main/resources/ui/src/styles/components/button.less
@@ -65,3 +65,7 @@ button {
.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {
border-right-color: #ffffff;
}
+
+.ant-btn-primary {
+ box-shadow: none;
+}
diff --git a/openmetadata-ui/src/main/resources/ui/src/styles/components/size.less b/openmetadata-ui/src/main/resources/ui/src/styles/components/size.less
index 308af9559e0..f17b5a6a398 100644
--- a/openmetadata-ui/src/main/resources/ui/src/styles/components/size.less
+++ b/openmetadata-ui/src/main/resources/ui/src/styles/components/size.less
@@ -95,6 +95,9 @@
.w-max-90 {
max-width: 90%;
}
+.w-max-112 {
+ max-width: 112px;
+}
.w-max-200 {
max-width: 200px;
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/DataInsightUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/DataInsightUtils.tsx
index 0d19a15be2f..d5d2ff9c446 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/DataInsightUtils.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/DataInsightUtils.tsx
@@ -34,15 +34,15 @@ import React from 'react';
import { ListItem } from 'react-awesome-query-builder';
import { LegendProps, Surface } from 'recharts';
import { SearchDropdownOption } from '../components/SearchDropdown/SearchDropdown.interface';
-import {
- ENTITIES_SUMMARY_LIST,
- WEB_SUMMARY_LIST,
-} from '../constants/DataInsight.constants';
import {
GRAYED_OUT_COLOR,
PLACEHOLDER_ROUTE_TAB,
ROUTES,
} from '../constants/constants';
+import {
+ ENTITIES_SUMMARY_LIST,
+ WEB_SUMMARY_LIST,
+} from '../constants/DataInsight.constants';
import { KpiTargetType } from '../generated/api/dataInsight/kpi/createKpiRequest';
import {
DataInsightChartResult,
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/GlobalSettingsUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/GlobalSettingsUtils.tsx
index 4b32afacc26..9a266dcd2f8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/GlobalSettingsUtils.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/GlobalSettingsUtils.tsx
@@ -180,15 +180,6 @@ export const getGlobalSettingsMenuWithPermission = (
key: 'services.mlModels',
icon: ,
},
- {
- label: i18next.t('label.metadata'),
- isProtected: userPermissions.hasViewPermissions(
- ResourceEntity.METADATA_SERVICE,
- permissions
- ),
- key: 'services.metadata',
- icon: ,
- },
{
label: i18next.t('label.storage-plural'),
isProtected: userPermissions.hasViewPermissions(
@@ -207,6 +198,15 @@ export const getGlobalSettingsMenuWithPermission = (
key: 'services.search',
icon: ,
},
+ {
+ label: i18next.t('label.metadata'),
+ isProtected: userPermissions.hasViewPermissions(
+ ResourceEntity.METADATA_SERVICE,
+ permissions
+ ),
+ key: 'services.metadata',
+ icon: ,
+ },
],
},