From 36c0bf73921a61ea428b9ba3e52d1ed2e5554b49 Mon Sep 17 00:00:00 2001 From: Laurent Nguyen Date: Wed, 12 Feb 2025 14:47:03 +0100 Subject: [PATCH] For Fabric native, don't show "Delete Database" in context menu and reading databases should return the database from the context. --- src/Common/dataAccess/readDatabases.ts | 16 +++++++++++++++- src/Explorer/ContextMenuButtonFactory.tsx | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Common/dataAccess/readDatabases.ts b/src/Common/dataAccess/readDatabases.ts index 199cf6eb4..94660e906 100644 --- a/src/Common/dataAccess/readDatabases.ts +++ b/src/Common/dataAccess/readDatabases.ts @@ -1,4 +1,4 @@ -import { isFabricMirrored } from "Platform/Fabric/FabricUtil"; +import { isFabricMirrored, isFabricNative } from "Platform/Fabric/FabricUtil"; import { AuthType } from "../../AuthType"; import * as DataModels from "../../Contracts/DataModels"; import { userContext } from "../../UserContext"; @@ -46,6 +46,20 @@ export async function readDatabases(): Promise { })); clearMessage(); return databases; + } else if (isFabricNative() && userContext.fabricContext?.nativeConnectionInfo.databaseName) { + const databaseId = userContext.fabricContext.nativeConnectionInfo.databaseName; + databases = [ + { + _rid: "", + _self: "", + _etag: "", + _ts: 0, + id: databaseId, + collections: [], + }, + ]; + clearMessage(); + return databases; } try { diff --git a/src/Explorer/ContextMenuButtonFactory.tsx b/src/Explorer/ContextMenuButtonFactory.tsx index f91d2fbe6..71025ba4c 100644 --- a/src/Explorer/ContextMenuButtonFactory.tsx +++ b/src/Explorer/ContextMenuButtonFactory.tsx @@ -1,7 +1,7 @@ import { configContext, Platform } from "ConfigContext"; import { TreeNodeMenuItem } from "Explorer/Controls/TreeComponent/TreeNodeComponent"; import { useDatabases } from "Explorer/useDatabases"; -import { isFabricMirrored } from "Platform/Fabric/FabricUtil"; +import { isFabricMirrored, isFabricNative } from "Platform/Fabric/FabricUtil"; import { Action } from "Shared/Telemetry/TelemetryConstants"; import { traceOpen } from "Shared/Telemetry/TelemetryProcessor"; import { ReactTabKind, useTabs } from "hooks/useTabs"; @@ -54,7 +54,7 @@ export const createDatabaseContextMenu = (container: Explorer, databaseId: strin }, ]; - if (userContext.apiType !== "Tables" || userContext.features.enableSDKoperations) { + if (!isFabricNative() && (userContext.apiType !== "Tables" || userContext.features.enableSDKoperations)) { items.push({ iconSrc: DeleteDatabaseIcon, onClick: (lastFocusedElement?: React.RefObject) => {