From eceb5c338511d069be87be40c730c7b5c8ddae69 Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Thu, 10 Apr 2025 15:46:59 +0530 Subject: [PATCH] MINOR: supported entityName in arguments of extraManageItems in entityClass (#20741) * supported entityName in arguments of extraManageItems in entityClass * supported the entityDetails in the method for future useCase * minor fixes --- .../APICollectionPage/APICollectionPage.tsx | 4 +-- .../DatabaseDetailsPage.tsx | 4 +-- .../DatabaseSchemaPage.component.tsx | 2 +- .../ServiceDetailsPage/ServiceDetailsPage.tsx | 9 ++---- .../TableDetailsPageV1/TableDetailsPageV1.tsx | 16 +++++----- .../ui/src/utils/EntityUtilClassBase.ts | 29 +++++++++++++++---- 6 files changed, 40 insertions(+), 24 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/APICollectionPage/APICollectionPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/APICollectionPage/APICollectionPage.tsx index 7a5863d00c5..953e9014a70 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/APICollectionPage/APICollectionPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/APICollectionPage/APICollectionPage.tsx @@ -107,9 +107,9 @@ const APICollectionPage: FunctionComponent = () => { EntityType.API_COLLECTION, decodedAPICollectionFQN, apiCollectionPermission, - apiCollection?.deleted ?? false + apiCollection ), - [apiCollectionPermission, decodedAPICollectionFQN, apiCollection?.deleted] + [apiCollectionPermission, decodedAPICollectionFQN, apiCollection] ); const { currentVersion, apiCollectionId } = useMemo( diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseDetailsPage/DatabaseDetailsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseDetailsPage/DatabaseDetailsPage.tsx index ffdfaf6d4b3..7950c964b40 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseDetailsPage/DatabaseDetailsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseDetailsPage/DatabaseDetailsPage.tsx @@ -127,9 +127,9 @@ const DatabaseDetails: FunctionComponent = () => { EntityType.DATABASE, decodedDatabaseFQN, databasePermission, - database?.deleted ?? false + database ), - [decodedDatabaseFQN, databasePermission, database?.deleted] + [decodedDatabaseFQN, databasePermission, database] ); const fetchDatabasePermission = async () => { setIsLoading(true); diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseSchemaPage/DatabaseSchemaPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseSchemaPage/DatabaseSchemaPage.component.tsx index 2da0dd9f4f5..4decd685570 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseSchemaPage/DatabaseSchemaPage.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/DatabaseSchemaPage/DatabaseSchemaPage.component.tsx @@ -117,7 +117,7 @@ const DatabaseSchemaPage: FunctionComponent = () => { EntityType.DATABASE_SCHEMA, decodedDatabaseSchemaFQN, databaseSchemaPermission, - databaseSchema?.deleted ?? false + databaseSchema ), [ databaseSchemaPermission, diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ServiceDetailsPage/ServiceDetailsPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ServiceDetailsPage/ServiceDetailsPage.tsx index 1599b883569..553ab8b0559 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/ServiceDetailsPage/ServiceDetailsPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ServiceDetailsPage/ServiceDetailsPage.tsx @@ -293,14 +293,9 @@ const ServiceDetailsPage: FunctionComponent = () => { getEntityTypeFromServiceCategory(serviceCategory), decodedServiceFQN, servicePermission, - serviceDetails?.deleted ?? false + serviceDetails ), - [ - servicePermission, - decodedServiceFQN, - serviceCategory, - serviceDetails?.deleted, - ] + [servicePermission, decodedServiceFQN, serviceCategory, serviceDetails] ); const handleShowDeleted = useCallback( diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableDetailsPageV1.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableDetailsPageV1.tsx index d3944fd83b2..cc4726fa7ac 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableDetailsPageV1.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/TableDetailsPageV1/TableDetailsPageV1.tsx @@ -156,13 +156,15 @@ const TableDetailsPageV1: React.FC = () => { const extraDropdownContent = useMemo( () => - entityUtilClassBase.getManageExtraOptions( - EntityType.TABLE, - tableFqn, - tablePermissions, - tableDetails?.deleted ?? false - ), - [tablePermissions, tableFqn, tableDetails?.deleted] + tableDetails + ? entityUtilClassBase.getManageExtraOptions( + EntityType.TABLE, + tableFqn, + tablePermissions, + tableDetails + ) + : [], + [tablePermissions, tableFqn, tableDetails] ); const { viewUsagePermission, viewTestCasePermission } = useMemo( diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtilClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtilClassBase.ts index 04bf983df0f..23028796543 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtilClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/EntityUtilClassBase.ts @@ -22,6 +22,10 @@ import { } from '../context/PermissionProvider/PermissionProvider.interface'; import { EntityType } from '../enums/entity.enum'; import { SearchIndex } from '../enums/search.enum'; +import { APICollection } from '../generated/entity/data/apiCollection'; +import { Database } from '../generated/entity/data/database'; +import { DatabaseSchema } from '../generated/entity/data/databaseSchema'; +import { ServicesType } from '../interface/service.interface'; import APICollectionPage from '../pages/APICollectionPage/APICollectionPage'; import APIEndpointPage from '../pages/APIEndpointPage/APIEndpointPage'; import ContainerPage from '../pages/ContainerPage/ContainerPage'; @@ -29,6 +33,7 @@ import DashboardDetailsPage from '../pages/DashboardDetailsPage/DashboardDetails import DatabaseDetailsPage from '../pages/DatabaseDetailsPage/DatabaseDetailsPage'; import DatabaseSchemaPageComponent from '../pages/DatabaseSchemaPage/DatabaseSchemaPage.component'; import DataModelsPage from '../pages/DataModelPage/DataModelPage.component'; +import { VersionData } from '../pages/EntityVersionPage/EntityVersionPage.component'; import MetricDetailsPage from '../pages/MetricsPage/MetricDetailsPage/MetricDetailsPage'; import MlModelPage from '../pages/MlModelPage/MlModelPage.component'; import PipelineDetailsPage from '../pages/PipelineDetails/PipelineDetailsPage.component'; @@ -395,25 +400,39 @@ class EntityUtilClassBase { _entityType: EntityType, _fqn: string, _permission: OperationPermission, - _deleted: boolean + _entityDetails: + | VersionData + | ServicesType + | Database + | DatabaseSchema + | APICollection ): ItemType[] { + const isEntityDeleted = _entityDetails?.deleted ?? false; // We are encoding here since we are getting the decoded fqn from the OSS code const encodedFqn = getEncodedFqn(_fqn); switch (_entityType) { case EntityType.TABLE: return [ - ...ExtraTableDropdownOptions(encodedFqn, _permission, _deleted), + ...ExtraTableDropdownOptions( + encodedFqn, + _permission, + isEntityDeleted + ), ]; case EntityType.DATABASE: return [ - ...ExtraDatabaseDropdownOptions(encodedFqn, _permission, _deleted), + ...ExtraDatabaseDropdownOptions( + encodedFqn, + _permission, + isEntityDeleted + ), ]; case EntityType.DATABASE_SCHEMA: return [ ...ExtraDatabaseSchemaDropdownOptions( encodedFqn, _permission, - _deleted + isEntityDeleted ), ]; case EntityType.DATABASE_SERVICE: @@ -421,7 +440,7 @@ class EntityUtilClassBase { ...ExtraDatabaseServiceDropdownOptions( encodedFqn, _permission, - _deleted + isEntityDeleted ), ]; default: