From de7ad7355734f0f2763aa15e30d95f07c1101168 Mon Sep 17 00:00:00 2001 From: Sai Avishkar Sreerama Date: Wed, 3 Dec 2025 12:27:35 -0600 Subject: [PATCH 1/6] initial commit --- .../src/reactviews/common/locConstants.ts | 3 + .../components/sqlPackageCommandDialog.tsx | 83 +++++++++++++++++++ .../components/sqlPackageCommandSection.tsx | 82 ++++++++++++++++++ .../pages/PublishProject/publishProject.tsx | 2 + 4 files changed, 170 insertions(+) create mode 100644 extensions/mssql/src/reactviews/pages/PublishProject/components/sqlPackageCommandDialog.tsx create mode 100644 extensions/mssql/src/reactviews/pages/PublishProject/components/sqlPackageCommandSection.tsx diff --git a/extensions/mssql/src/reactviews/common/locConstants.ts b/extensions/mssql/src/reactviews/common/locConstants.ts index fe9170ed9e..b53788ad88 100644 --- a/extensions/mssql/src/reactviews/common/locConstants.ts +++ b/extensions/mssql/src/reactviews/common/locConstants.ts @@ -1052,6 +1052,9 @@ export class LocConstants { SqlCmdVariableNameColumn: l10n.t("Name"), SqlCmdVariableValueColumn: l10n.t("Value"), RevertSqlCmdVariablesToDefaults: l10n.t("Revert values to project defaults"), + SqlPackageCommand: l10n.t("SqlPackage Command"), + GenerateSqlPackageCommand: l10n.t("Generate sqlpackage command"), + SqlPackageCommandTitle: l10n.t("SqlPackage Command"), }; } diff --git a/extensions/mssql/src/reactviews/pages/PublishProject/components/sqlPackageCommandDialog.tsx b/extensions/mssql/src/reactviews/pages/PublishProject/components/sqlPackageCommandDialog.tsx new file mode 100644 index 0000000000..688530a230 --- /dev/null +++ b/extensions/mssql/src/reactviews/pages/PublishProject/components/sqlPackageCommandDialog.tsx @@ -0,0 +1,83 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { + Button, + Dialog, + DialogActions, + DialogBody, + DialogContent, + DialogSurface, + DialogTitle, + Textarea, +} from "@fluentui/react-components"; +import { Copy24Regular } from "@fluentui/react-icons"; +import React, { useCallback } from "react"; +import { LocConstants } from "../../../common/locConstants"; + +interface SqlPackageCommandDialogProps { + isOpen: boolean; + onClose: () => void; + sqlPackageCommand: string; +} + +export const SqlPackageCommandDialog: React.FC = ({ + isOpen, + onClose, + sqlPackageCommand, +}) => { + const loc = LocConstants.getInstance().publishProject; + const commonLoc = LocConstants.getInstance().common; + + const handleCopy = useCallback(async () => { + try { + await navigator.clipboard.writeText(sqlPackageCommand); + } catch (error) { + console.error("Failed to copy sqlpackage command: ", error); + } + }, [sqlPackageCommand]); + + return ( + + + + + {loc.SqlPackageCommandTitle} + + +
+