From eabc0e85c588f480689c0a0073d827568a6c3dcd Mon Sep 17 00:00:00 2001 From: Bikram Choudhury Date: Tue, 18 Nov 2025 15:57:04 +0530 Subject: [PATCH] set intra-account copy as the default one --- src/Explorer/ContainerCopy/ContainerCopyMessages.ts | 2 +- src/Explorer/ContainerCopy/Context/CopyJobContext.tsx | 7 +++++-- .../Screens/AssignPermissions/PointInTimeRestore.tsx | 5 +++-- .../Screens/SelectAccount/Components/AccountDropdown.tsx | 2 +- .../SelectAccount/Components/SubscriptionDropdown.tsx | 2 +- .../CreateCopyJob/Screens/SelectAccount/SelectAccount.tsx | 3 ++- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/Explorer/ContainerCopy/ContainerCopyMessages.ts b/src/Explorer/ContainerCopy/ContainerCopyMessages.ts index 526b6ffab..e71a46d41 100644 --- a/src/Explorer/ContainerCopy/ContainerCopyMessages.ts +++ b/src/Explorer/ContainerCopy/ContainerCopyMessages.ts @@ -129,7 +129,7 @@ export default { }, onlineCopyEnabled: { title: "Online copy enabled", - description: (accountName: string) => `Enable Online copy on "${accountName}".`, + description: (accountName: string) => `"To enable the online copy feature on your ${accountName} account, proceed with the action below.`, hrefText: "Learn more about online copy jobs", href: "https://learn.microsoft.com/en-us/azure/cosmos-db/container-copy?tabs=online-copy&pivots=api-nosql#enable-online-copy", buttonText: "Enable Online Copy", diff --git a/src/Explorer/ContainerCopy/Context/CopyJobContext.tsx b/src/Explorer/ContainerCopy/Context/CopyJobContext.tsx index 3501d557a..97ad0dc10 100644 --- a/src/Explorer/ContainerCopy/Context/CopyJobContext.tsx +++ b/src/Explorer/ContainerCopy/Context/CopyJobContext.tsx @@ -1,3 +1,4 @@ +import { Subscription } from "Contracts/DataModels"; import Explorer from "Explorer/Explorer"; import React from "react"; import { userContext } from "UserContext"; @@ -23,8 +24,10 @@ const getInitialCopyJobState = (): CopyJobContextState => { jobName: "", migrationType: CopyJobMigrationType.Offline, source: { - subscription: null, - account: null, + subscription: { + subscriptionId: userContext.subscriptionId || "", + } as Subscription, + account: userContext.databaseAccount || null, databaseId: "", containerId: "", }, diff --git a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/PointInTimeRestore.tsx b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/PointInTimeRestore.tsx index d1697c14b..f62331677 100644 --- a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/PointInTimeRestore.tsx +++ b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/PointInTimeRestore.tsx @@ -85,9 +85,10 @@ const PointInTimeRestore: React.FC = () => { setShowRefreshButton(true); }; - const handleRefresh = () => { + const handleRefresh = async () => { setLoading(true); - handleFetchAccount(); + await handleFetchAccount(); + setLoading(false); }; const openWindowAndMonitor = () => { diff --git a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/AccountDropdown.tsx b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/AccountDropdown.tsx index d25efc1cf..b24aed7b3 100644 --- a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/AccountDropdown.tsx +++ b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/AccountDropdown.tsx @@ -27,5 +27,5 @@ export const AccountDropdown: React.FC = React.memo( /> ), - (prev, next) => prev.options.length === next.options.length, + (prev, next) => prev.options.length === next.options.length && prev.selectedKey === next.selectedKey, ); diff --git a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/SubscriptionDropdown.tsx b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/SubscriptionDropdown.tsx index 771592006..2627918a6 100644 --- a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/SubscriptionDropdown.tsx +++ b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/Components/SubscriptionDropdown.tsx @@ -25,5 +25,5 @@ export const SubscriptionDropdown: React.FC = React.m /> ), - (prev, next) => prev.options.length === next.options.length, + (prev, next) => prev.options.length === next.options.length && prev.selectedKey === next.selectedKey, ); diff --git a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/SelectAccount.tsx b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/SelectAccount.tsx index 2932e6229..17f323413 100644 --- a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/SelectAccount.tsx +++ b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/SelectAccount/SelectAccount.tsx @@ -16,6 +16,7 @@ import { useDropdownOptions, useEventHandlers } from "./Utils/selectAccountUtils const SelectAccount = React.memo(() => { const { copyJobState, setCopyJobState } = useCopyJobContext(); const selectedSubscriptionId = copyJobState?.source?.subscription?.subscriptionId; + const selectedSourceAccountId = copyJobState?.source?.account?.id; const subscriptions: Subscription[] = useSubscriptions(); const allAccounts: DatabaseAccount[] = useDatabaseAccounts(selectedSubscriptionId); @@ -38,7 +39,7 @@ const SelectAccount = React.memo(() => { handleSelectSourceAccount("account", option?.data)} />