+
+
+
+
+ {t('label.schema')}
+
+ }>
+
+
+ setIsEditDescription(false)}
+ onDescriptionEdit={() => setIsEditDescription(true)}
+ onDescriptionUpdate={handleUpdateDescription}
+ />
+
+
+
+
+
+
+
+ {t('label.children')}
+
+ }>
+
+
+ {isChildrenLoading ? (
+
+ ) : (
+
+ )}
+
+
+
+
+ {t('label.lineage')}
+
+ }>
+
+ setEntityLineage(lineage)}
+ entityType={EntityType.CONTAINER}
+ hasEditAccess={hasEditLineagePermission}
+ isLoading={isLineageLoading}
+ isNodeLoading={isNodeLoading}
+ lineageLeafNodes={leafNodes}
+ loadNodeHandler={handleLoadLineageNode}
+ removeLineageHandler={handleRemoveLineage}
+ onFullScreenClick={handleFullScreenClick}
+ />
+
+
+
+ {t('label.custom-property-plural')}
+
+ }>
+
+
+
+
+
+
+
+ );
+};
+
+export default observer(ContainerPage);
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/CustomPropertiesPageV1/CustomPropertiesPageV1.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/CustomPropertiesPageV1/CustomPropertiesPageV1.tsx
index e4b2fe5e40b..6276e2682f5 100644
--- a/openmetadata-ui/src/main/resources/ui/src/pages/CustomPropertiesPageV1/CustomPropertiesPageV1.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/pages/CustomPropertiesPageV1/CustomPropertiesPageV1.tsx
@@ -164,6 +164,9 @@ const CustomEntityDetailV1 = () => {
case ENTITY_PATH.mlmodels:
return PAGE_HEADERS.ML_MODELS_CUSTOM_ATTRIBUTES;
+
+ case ENTITY_PATH.containers:
+ return PAGE_HEADERS.CONTAINER_CUSTOM_ATTRIBUTES;
default:
return PAGE_HEADERS.TABLES_CUSTOM_ATTRIBUTES;
}
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/service/index.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/service/index.tsx
index b98dd4264de..50dd65102f7 100644
--- a/openmetadata-ui/src/main/resources/ui/src/pages/service/index.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/pages/service/index.tsx
@@ -32,6 +32,7 @@ import { usePermissionProvider } from 'components/PermissionProvider/PermissionP
import { OperationPermission } from 'components/PermissionProvider/PermissionProvider.interface';
import ServiceConnectionDetails from 'components/ServiceConnectionDetails/ServiceConnectionDetails.component';
import TagsViewer from 'components/Tag/TagsViewer/tags-viewer';
+import { EntityType } from 'enums/entity.enum';
import { Container } from 'generated/entity/data/container';
import { isEmpty, isNil, isUndefined, startCase, toLower } from 'lodash';
import { ExtraInfo, ServicesUpdateRequest, ServiceTypes } from 'Models';
@@ -488,10 +489,10 @@ const ServicePage: FunctionComponent = () => {
setData(response.data);
setPaging(response.paging);
- setIsLoading(false);
} catch (error) {
setData([]);
setPaging(pagingObject);
+ } finally {
setIsLoading(false);
}
};
@@ -548,11 +549,7 @@ const ServicePage: FunctionComponent = () => {
return getEntityLink(SearchIndex.MLMODEL, fqn);
case ServiceCategory.OBJECT_STORE_SERVICES:
- /**
- * Update this when containers details page is ready
- */
-
- return '';
+ return getEntityLink(EntityType.CONTAINER, fqn);
case ServiceCategory.DATABASE_SERVICES:
default:
@@ -632,7 +629,7 @@ const ServicePage: FunctionComponent = () => {
case ServiceCategory.OBJECT_STORE_SERVICES: {
const container = data as Container;
- return container.tags && container.tags?.length > 0 ? (
+ return container.tags && container.tags.length > 0 ? (