From c84e092473213dfde5c55691db1a0b3605c18df1 Mon Sep 17 00:00:00 2001 From: Kim Santiago <31145923+kisantia@users.noreply.github.com> Date: Tue, 16 Feb 2021 12:57:13 -0800 Subject: [PATCH] Update dacpac wizard to use folder icon (#14290) * change dacpac extension to use folder icon instead of ... on buttons * make folder icon more centered * fix tests --- extensions/dacpac/images/folder.svg | 3 +++ extensions/dacpac/src/extension.ts | 2 +- extensions/dacpac/src/test/testContext.ts | 6 ++---- extensions/dacpac/src/wizard/api/dacFxConfigPage.ts | 3 +-- extensions/dacpac/src/wizard/dataTierApplicationWizard.ts | 6 ++++-- 5 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 extensions/dacpac/images/folder.svg 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;