From 4ab5d84b9431b4a9cc23687fb2d9ecfc839f41c1 Mon Sep 17 00:00:00 2001 From: Alan Ren Date: Thu, 23 Aug 2018 17:08:54 -0700 Subject: [PATCH] hide the backup restore commands from command palette (#2317) --- .../widgets/tasks/tasksWidget.component.ts | 2 +- src/sql/platform/tasks/common/tasks.ts | 25 ++++++++++++++++--- .../workbench/common/actions.contribution.ts | 4 +-- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/sql/parts/dashboard/widgets/tasks/tasksWidget.component.ts b/src/sql/parts/dashboard/widgets/tasks/tasksWidget.component.ts index d97ae14349..cfd141d284 100644 --- a/src/sql/parts/dashboard/widgets/tasks/tasksWidget.component.ts +++ b/src/sql/parts/dashboard/widgets/tasks/tasksWidget.component.ts @@ -86,7 +86,7 @@ export class TasksWidget extends DashboardWidget implements IDashboardWidget, On }).filter(i => !!i); } - this._tasks = tasks.map(i => MenuRegistry.getCommand(i)).filter(v => !!v); + this._tasks = tasks.map(i => TaskRegistry.getCommandActionById(i)).filter(v => !!v); } ngOnInit() { diff --git a/src/sql/platform/tasks/common/tasks.ts b/src/sql/platform/tasks/common/tasks.ts index b92445f092..958ea03ebb 100644 --- a/src/sql/platform/tasks/common/tasks.ts +++ b/src/sql/platform/tasks/common/tasks.ts @@ -50,7 +50,9 @@ export abstract class Task { id: this.id, handler: (accessor, profile, args) => this.runTask(accessor, profile, args), description: this._description, - iconClass: this._iconClass + iconClass: this._iconClass, + iconPath: this.iconPath, + title: this.title }; } @@ -62,8 +64,10 @@ export abstract class Task { }; } - public registerTask(): IDisposable { - MenuRegistry.addCommand(this.toCommandAction()); + public registerTask(showInCommandPalette: boolean = true): IDisposable { + if (showInCommandPalette) { + MenuRegistry.addCommand(this.toCommandAction()); + } return TaskRegistry.registerTask(this.toITask()); } @@ -98,6 +102,8 @@ export interface ITask { precondition?: ContextKeyExpr; description?: ITaskHandlerDescription; iconClass?: string; + iconPath?: { dark: string; light?: string; }; + title?: string; } export interface ITaskRegistry { @@ -106,6 +112,7 @@ export interface ITaskRegistry { getTasks(): string[]; getOrCreateTaskIconClassName(item: ICommandAction): string; onTaskRegistered: Event; + getCommandActionById(id: string): ICommandAction; } const ids = new IdGenerator('task-icon-'); @@ -116,6 +123,7 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry { private _onTaskRegistered = new Emitter(); public readonly onTaskRegistered: Event = this._onTaskRegistered.event; private taskIdToIconClassNameMap: Map = new Map(); + private taskIdToCommandActionMap: Map = new Map(); registerTask(idOrTask: string | ITask, handler?: ITaskHandler): IDisposable { let disposable: IDisposable; @@ -127,6 +135,13 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry { if (idOrTask.iconClass) { this.taskIdToIconClassNameMap.set(idOrTask.id, idOrTask.iconClass); } + if (idOrTask.iconPath && idOrTask.title) { + this.taskIdToCommandActionMap.set(idOrTask.id, { + iconPath: idOrTask.iconPath, + id: idOrTask.id, + title: idOrTask.title + }); + } disposable = CommandsRegistry.registerCommand(idOrTask); id = idOrTask.id; } @@ -161,4 +176,8 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry { getTasks(): string[] { return this._tasks.slice(0); } + + getCommandActionById(taskId: string): ICommandAction { + return this.taskIdToCommandActionMap.get(taskId); + } }; diff --git a/src/sql/workbench/common/actions.contribution.ts b/src/sql/workbench/common/actions.contribution.ts index b5a1ba10c4..17ca6290a8 100644 --- a/src/sql/workbench/common/actions.contribution.ts +++ b/src/sql/workbench/common/actions.contribution.ts @@ -15,8 +15,8 @@ import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } fr import { ShowCurrentReleaseNotesAction } from 'sql/workbench/update/releaseNotes'; import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; -new Actions.BackupAction().registerTask(); -new Actions.RestoreAction().registerTask(); +new Actions.BackupAction().registerTask(false); +new Actions.RestoreAction().registerTask(false); new Actions.NewQueryAction().registerTask(); new Actions.ConfigureDashboardAction().registerTask();