diff --git a/extensions/dacpac/images/folder.svg b/extensions/dacpac/images/folder.svg new file mode 100644 index 0000000000..62d542038f --- /dev/null +++ b/extensions/dacpac/images/folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/extensions/dacpac/src/extension.ts b/extensions/dacpac/src/extension.ts index a50d81cb63..c66cffec83 100644 --- a/extensions/dacpac/src/extension.ts +++ b/extensions/dacpac/src/extension.ts @@ -8,7 +8,7 @@ import * as vscode from 'vscode'; import { DataTierApplicationWizard } from './wizard/dataTierApplicationWizard'; export async function activate(context: vscode.ExtensionContext) { - vscode.commands.registerCommand('dacFx.start', (profile: azdata.IConnectionProfile, ...args: any[]) => new DataTierApplicationWizard().start(profile, args)); + vscode.commands.registerCommand('dacFx.start', (profile: azdata.IConnectionProfile) => new DataTierApplicationWizard(undefined, context).start(profile)); } export function deactivate(): void { diff --git a/extensions/dacpac/src/test/testContext.ts b/extensions/dacpac/src/test/testContext.ts index 1dbe2e0b56..635ec4f793 100644 --- a/extensions/dacpac/src/test/testContext.ts +++ b/extensions/dacpac/src/test/testContext.ts @@ -118,15 +118,13 @@ export function createViewContext(): ViewTestContext { let buttonBuilder: azdata.ComponentBuilder = { component: () => button, withProperties: (properties: any) => { - if ((properties as any).label === '•••') { - button.label = '•••'; + if ((properties as any).title === loc.selectFile) { button.onDidClick = fileButtonOnClick.event; } return buttonBuilder; }, withProps: (properties) => { - if ((properties as any).label === '•••') { - button.label = '•••'; + if ((properties as any).title === loc.selectFile) { button.onDidClick = fileButtonOnClick.event; } return buttonBuilder; diff --git a/extensions/dacpac/src/wizard/api/dacFxConfigPage.ts b/extensions/dacpac/src/wizard/api/dacFxConfigPage.ts index f9e0f45ee3..5c11e34f9c 100644 --- a/extensions/dacpac/src/wizard/api/dacFxConfigPage.ts +++ b/extensions/dacpac/src/wizard/api/dacFxConfigPage.ts @@ -182,10 +182,9 @@ export abstract class DacFxConfigPage extends BasePage { this.fileTextBox.ariaLabel = loc.fileLocation; this.fileButton = this.view.modelBuilder.button().withProps({ - label: '•••', title: loc.selectFile, ariaLabel: loc.selectFile, - secondary: true + iconPath: path.join(this.instance.extensionContextExtensionPath, 'images', 'folder.svg'), }).component(); } diff --git a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts index 3413ebdb1a..c341e8b96d 100644 --- a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts +++ b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts @@ -85,13 +85,15 @@ export class DataTierApplicationWizard { public model: DacFxDataModel; public pages: Map = new Map(); public selectedOperation: Operation; + public extensionContextExtensionPath: string; - constructor(dacfxInputService?: mssql.IDacFxService) { + constructor(dacfxInputService?: mssql.IDacFxService, extensionContext?: vscode.ExtensionContext) { this.wizard = azdata.window.createWizard(loc.wizardTitle, 'Data Tier Application Wizard'); this.dacfxService = dacfxInputService; + this.extensionContextExtensionPath = extensionContext?.extensionPath ?? ''; } - public async start(p: any, ...args: any[]): Promise { + public async start(p: any): Promise { this.model = {}; let profile = p ? p.connectionProfile : undefined;