mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-01 17:23:35 -05:00
Isolate more features (#6854)
* working; new query and scripting * working; removing manage from menus and combining data explorer contributions * consolidate dashboard contributions; move manage action to dashboard contributions; make groupings the same * fix notebook actions not firing * fix notebook actions * notebooks working * move backup and restore entry points into their own file; move explorerwidget contribution into their respective files * fix tests * move extension actions to their own file * fix tests * change tests
This commit is contained in:
100
src/sql/workbench/parts/dataExplorer/common/extensionActions.ts
Normal file
100
src/sql/workbench/parts/dataExplorer/common/extensionActions.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { TreeViewItemHandleArg } from 'sql/workbench/common/views';
|
||||
import * as azdata from 'azdata';
|
||||
import { IOEShimService } from 'sql/workbench/parts/objectExplorer/common/objectExplorerViewTreeShim';
|
||||
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
|
||||
import { IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
|
||||
export const DATA_TIER_WIZARD_COMMAND_ID = 'dataExplorer.dataTierWizard';
|
||||
export const PROFILER_COMMAND_ID = 'dataExplorer.profiler';
|
||||
export const IMPORT_COMMAND_ID = 'dataExplorer.flatFileImport';
|
||||
export const SCHEMA_COMPARE_COMMAND_ID = 'dataExplorer.schemaCompare';
|
||||
export const GENERATE_SCRIPTS_COMMAND_ID = 'dataExplorer.generateScripts';
|
||||
export const PROPERTIES_COMMAND_ID = 'dataExplorer.properties';
|
||||
|
||||
|
||||
// Data Tier Wizard
|
||||
CommandsRegistry.registerCommand({
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('dacFx.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Flat File Import
|
||||
CommandsRegistry.registerCommand({
|
||||
id: IMPORT_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('flatFileImport.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Schema Compare
|
||||
CommandsRegistry.registerCommand({
|
||||
id: SCHEMA_COMPARE_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('schemaCompare.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Profiler
|
||||
CommandsRegistry.registerCommand({
|
||||
id: PROFILER_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('profiler.newProfiler', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Generate Scripts
|
||||
CommandsRegistry.registerCommand({
|
||||
id: GENERATE_SCRIPTS_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('adminToolExtWin.launchSsmsMinGswDialog', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Properties
|
||||
CommandsRegistry.registerCommand({
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
handler: async (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const capabilitiesService = accessor.get(ICapabilitiesService);
|
||||
const connectionManagementService = accessor.get(IConnectionManagementService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const profile = new ConnectionProfile(capabilitiesService, args.$treeItem.payload);
|
||||
await connectionManagementService.connectIfNotConnected(profile);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('adminToolExtWin.launchSsmsMinPropertiesDialog', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,111 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
|
||||
import { DATA_TIER_WIZARD_COMMAND_ID, PROFILER_COMMAND_ID, IMPORT_COMMAND_ID, SCHEMA_COMPARE_COMMAND_ID, GENERATE_SCRIPTS_COMMAND_ID, PROPERTIES_COMMAND_ID } from 'sql/workbench/parts/dataExplorer/common/extensionActions';
|
||||
import { ContextKeyExpr, ContextKeyRegexExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { MssqlNodeContext } from 'sql/workbench/parts/dataExplorer/common/mssqlNodeContext';
|
||||
import { mssqlProviderName } from 'sql/platform/connection/common/constants';
|
||||
import { NodeType } from 'sql/workbench/parts/objectExplorer/common/nodeType';
|
||||
import { localize } from 'vs/nls';
|
||||
|
||||
// Data-Tier Application Wizard
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 7,
|
||||
command: {
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
title: localize('dacFx', "Data-tier Application Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.IsDatabaseOrServer)
|
||||
});
|
||||
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 7,
|
||||
command: {
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
title: localize('dacFx', "Data-tier Application Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Folder),
|
||||
MssqlNodeContext.NodeLabel.isEqualTo('Databases'))
|
||||
});
|
||||
|
||||
// Profiler
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'profiler',
|
||||
order: 8,
|
||||
command: {
|
||||
id: PROFILER_COMMAND_ID,
|
||||
title: localize('profiler', "Launch Profiler")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Server))
|
||||
});
|
||||
|
||||
// Flat File Import
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'import',
|
||||
order: 10,
|
||||
command: {
|
||||
id: IMPORT_COMMAND_ID,
|
||||
title: localize('flatFileImport', "Import Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Schema Compare
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 9,
|
||||
command: {
|
||||
id: SCHEMA_COMPARE_COMMAND_ID,
|
||||
title: localize('schemaCompare', "Schema Compare")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Generate Scripts Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@1',
|
||||
order: 11,
|
||||
command: {
|
||||
id: GENERATE_SCRIPTS_COMMAND_ID,
|
||||
title: localize('generateScripts', "Generate Scripts...")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database),
|
||||
MssqlNodeContext.IsWindows)
|
||||
});
|
||||
|
||||
// Properties Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@2',
|
||||
order: 12,
|
||||
command: {
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
title: localize('properties', "Properties")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Server), ContextKeyExpr.not('isCloud'),
|
||||
MssqlNodeContext.IsWindows)
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@2',
|
||||
order: 12,
|
||||
command: {
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
title: localize('properties', "Properties")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.IsWindows,
|
||||
ContextKeyRegexExpr.create('nodeType', /^(Database|Table|Column|Index|Statistic|View|ServerLevelLogin|ServerLevelServerRole|ServerLevelCredential|ServerLevelServerAudit|ServerLevelServerAuditSpecification|StoredProcedure|ScalarValuedFunction|TableValuedFunction|AggregateFunction|Synonym|Assembly|UserDefinedDataType|UserDefinedType|UserDefinedTableType|Sequence|User|DatabaseRole|ApplicationRole|Schema|SecurityPolicy|ServerLevelLinkedServer)$/))
|
||||
});
|
||||
@@ -7,11 +7,9 @@ import { localize } from 'vs/nls';
|
||||
import { mssqlProviderName } from 'sql/platform/connection/common/constants';
|
||||
import { MenuId, MenuRegistry } from 'vs/platform/actions/common/actions';
|
||||
import {
|
||||
DISCONNECT_COMMAND_ID, MANAGE_COMMAND_ID, REFRESH_COMMAND_ID,
|
||||
NEW_NOTEBOOK_COMMAND_ID, SCHEMA_COMPARE_COMMAND_ID, DATA_TIER_WIZARD_COMMAND_ID,
|
||||
IMPORT_COMMAND_ID, BACKUP_COMMAND_ID, RESTORE_COMMAND_ID, PROFILER_COMMAND_ID, GENERATE_SCRIPTS_COMMAND_ID, PROPERTIES_COMMAND_ID
|
||||
DISCONNECT_COMMAND_ID, REFRESH_COMMAND_ID
|
||||
} from './nodeCommands.common';
|
||||
import { ContextKeyExpr, ContextKeyRegexExpr, ContextKeyNotEqualsExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { ContextKeyExpr, ContextKeyNotEqualsExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { NodeContextKey } from 'sql/workbench/parts/dataExplorer/common/nodeContext';
|
||||
import { MssqlNodeContext } from 'sql/workbench/parts/dataExplorer/common/mssqlNodeContext';
|
||||
import { NodeType } from 'sql/workbench/parts/objectExplorer/common/nodeType';
|
||||
@@ -51,140 +49,3 @@ MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
},
|
||||
when: NodeContextKey.IsConnectable
|
||||
});
|
||||
|
||||
|
||||
// New Notebook
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'connection',
|
||||
order: 3,
|
||||
command: {
|
||||
id: NEW_NOTEBOOK_COMMAND_ID,
|
||||
title: localize('newNotebook', "New Notebook")
|
||||
},
|
||||
when: ContextKeyExpr.and(NodeContextKey.IsConnectable,
|
||||
MssqlNodeContext.IsDatabaseOrServer,
|
||||
MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName))
|
||||
});
|
||||
|
||||
// Data-Tier Application Wizard
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 7,
|
||||
command: {
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
title: localize('dacFx', "Data-tier Application Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.IsDatabaseOrServer)
|
||||
});
|
||||
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 7,
|
||||
command: {
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
title: localize('dacFx', "Data-tier Application Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Folder),
|
||||
MssqlNodeContext.NodeLabel.isEqualTo('Databases'))
|
||||
});
|
||||
|
||||
// Profiler
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'profiler',
|
||||
order: 8,
|
||||
command: {
|
||||
id: PROFILER_COMMAND_ID,
|
||||
title: localize('profiler', "Launch Profiler")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Server))
|
||||
});
|
||||
|
||||
// Flat File Import
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'import',
|
||||
order: 10,
|
||||
command: {
|
||||
id: IMPORT_COMMAND_ID,
|
||||
title: localize('flatFileImport', "Import Wizard")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Schema Compare
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'export',
|
||||
order: 9,
|
||||
command: {
|
||||
id: SCHEMA_COMPARE_COMMAND_ID,
|
||||
title: localize('schemaCompare', "Schema Compare")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Backup Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'connection',
|
||||
order: 4,
|
||||
command: {
|
||||
id: BACKUP_COMMAND_ID,
|
||||
title: localize('backup', "Backup")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Restore Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'connection',
|
||||
order: 5,
|
||||
command: {
|
||||
id: RESTORE_COMMAND_ID,
|
||||
title: localize('restore', "Restore")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database))
|
||||
});
|
||||
|
||||
// Generate Scripts Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@1',
|
||||
order: 11,
|
||||
command: {
|
||||
id: GENERATE_SCRIPTS_COMMAND_ID,
|
||||
title: localize('generateScripts', "Generate Scripts...")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Database),
|
||||
MssqlNodeContext.IsWindows)
|
||||
});
|
||||
|
||||
// Properties Action
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@2',
|
||||
order: 12,
|
||||
command: {
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
title: localize('properties', "Properties")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.NodeType.isEqualTo(NodeType.Server), ContextKeyExpr.not('isCloud'),
|
||||
MssqlNodeContext.IsWindows)
|
||||
});
|
||||
|
||||
MenuRegistry.appendMenuItem(MenuId.DataExplorerContext, {
|
||||
group: 'z-AdminToolExt@2',
|
||||
order: 12,
|
||||
command: {
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
title: localize('properties', "Properties")
|
||||
},
|
||||
when: ContextKeyExpr.and(MssqlNodeContext.NodeProvider.isEqualTo(mssqlProviderName),
|
||||
MssqlNodeContext.IsWindows,
|
||||
ContextKeyRegexExpr.create('nodeType', /^(Database|Table|Column|Index|Statistic|View|ServerLevelLogin|ServerLevelServerRole|ServerLevelCredential|ServerLevelServerAudit|ServerLevelServerAuditSpecification|StoredProcedure|ScalarValuedFunction|TableValuedFunction|AggregateFunction|Synonym|Assembly|UserDefinedDataType|UserDefinedType|UserDefinedTableType|Sequence|User|DatabaseRole|ApplicationRole|Schema|SecurityPolicy|ServerLevelLinkedServer)$/))
|
||||
});
|
||||
|
||||
@@ -3,34 +3,15 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as azdata from 'azdata';
|
||||
import { IOEShimService } from 'sql/workbench/parts/objectExplorer/common/objectExplorerViewTreeShim';
|
||||
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
|
||||
import { ConnectionType, IConnectableInput, IConnectionCompletionOptions, IConnectionManagementService } from 'sql/platform/connection/common/connectionManagement';
|
||||
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
|
||||
import { generateUri } from 'sql/platform/connection/common/utils';
|
||||
import { ICustomViewDescriptor, TreeViewItemHandleArg } from 'sql/workbench/common/views';
|
||||
import { IQueryEditorService } from 'sql/workbench/services/queryEditor/common/queryEditorService';
|
||||
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
||||
import { IViewsRegistry, Extensions } from 'vs/workbench/common/views';
|
||||
import { IProgressService } from 'vs/platform/progress/common/progress';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { BackupAction, RestoreAction } from 'sql/workbench/common/actions';
|
||||
import { NewNotebookAction } from 'sql/workbench/parts/notebook/browser/notebookActions';
|
||||
|
||||
export const DISCONNECT_COMMAND_ID = 'dataExplorer.disconnect';
|
||||
export const MANAGE_COMMAND_ID = 'dataExplorer.manage';
|
||||
export const NEW_QUERY_COMMAND_ID = 'dataExplorer.newQuery';
|
||||
export const REFRESH_COMMAND_ID = 'dataExplorer.refresh';
|
||||
export const NEW_NOTEBOOK_COMMAND_ID = 'dataExplorer.newNotebook';
|
||||
export const DATA_TIER_WIZARD_COMMAND_ID = 'dataExplorer.dataTierWizard';
|
||||
export const PROFILER_COMMAND_ID = 'dataExplorer.profiler';
|
||||
export const IMPORT_COMMAND_ID = 'dataExplorer.flatFileImport';
|
||||
export const SCHEMA_COMPARE_COMMAND_ID = 'dataExplorer.schemaCompare';
|
||||
export const BACKUP_COMMAND_ID = 'dataExplorer.backup';
|
||||
export const RESTORE_COMMAND_ID = 'dataExplorer.restore';
|
||||
export const GENERATE_SCRIPTS_COMMAND_ID = 'dataExplorer.generateScripts';
|
||||
export const PROPERTIES_COMMAND_ID = 'dataExplorer.properties';
|
||||
|
||||
// Disconnect
|
||||
CommandsRegistry.registerCommand({
|
||||
@@ -49,52 +30,6 @@ CommandsRegistry.registerCommand({
|
||||
}
|
||||
});
|
||||
|
||||
// New Query
|
||||
CommandsRegistry.registerCommand({
|
||||
id: NEW_QUERY_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
if (args.$treeItem) {
|
||||
const queryEditorService = accessor.get(IQueryEditorService);
|
||||
const connectionService = accessor.get(IConnectionManagementService);
|
||||
const capabilitiesService = accessor.get(ICapabilitiesService);
|
||||
return queryEditorService.newSqlEditor().then((owner: IConnectableInput) => {
|
||||
// Connect our editor to the input connection
|
||||
let options: IConnectionCompletionOptions = {
|
||||
params: { connectionType: ConnectionType.editor, input: owner },
|
||||
saveTheConnection: false,
|
||||
showDashboard: false,
|
||||
showConnectionDialogOnError: true,
|
||||
showFirewallRuleOnError: true
|
||||
};
|
||||
return connectionService.connect(new ConnectionProfile(capabilitiesService, args.$treeItem.payload), owner.uri, options);
|
||||
});
|
||||
}
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
});
|
||||
|
||||
// Manage
|
||||
CommandsRegistry.registerCommand({
|
||||
id: MANAGE_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
if (args.$treeItem) {
|
||||
const connectionService = accessor.get(IConnectionManagementService);
|
||||
const capabilitiesService = accessor.get(ICapabilitiesService);
|
||||
let options = {
|
||||
showDashboard: true,
|
||||
saveTheConnection: false,
|
||||
params: undefined,
|
||||
showConnectionDialogOnError: true,
|
||||
showFirewallRuleOnError: true
|
||||
};
|
||||
let profile = new ConnectionProfile(capabilitiesService, args.$treeItem.payload);
|
||||
let uri = generateUri(profile, 'dashboard');
|
||||
return connectionService.connect(new ConnectionProfile(capabilitiesService, args.$treeItem.payload), uri, options);
|
||||
}
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
});
|
||||
|
||||
// Refresh
|
||||
CommandsRegistry.registerCommand({
|
||||
id: REFRESH_COMMAND_ID,
|
||||
@@ -112,115 +47,3 @@ CommandsRegistry.registerCommand({
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
});
|
||||
|
||||
// New Notebook
|
||||
CommandsRegistry.registerCommand({
|
||||
id: NEW_NOTEBOOK_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const capabilitiesService = accessor.get(ICapabilitiesService);
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let profile = new ConnectionProfile(capabilitiesService, args.$treeItem.payload);
|
||||
const connectedContext: azdata.ConnectedContext = { connectionProfile: profile };
|
||||
return commandService.executeCommand(NewNotebookAction.ID, connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Data Tier Wizard
|
||||
CommandsRegistry.registerCommand({
|
||||
id: DATA_TIER_WIZARD_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('dacFx.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Flat File Import
|
||||
CommandsRegistry.registerCommand({
|
||||
id: IMPORT_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('flatFileImport.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Schema Compare
|
||||
CommandsRegistry.registerCommand({
|
||||
id: SCHEMA_COMPARE_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand('schemaCompare.start', connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Backup
|
||||
CommandsRegistry.registerCommand({
|
||||
id: BACKUP_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand(BackupAction.ID, connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Restore
|
||||
CommandsRegistry.registerCommand({
|
||||
id: RESTORE_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
let connectedContext: azdata.ConnectedContext = { connectionProfile: args.$treeItem.payload };
|
||||
return commandService.executeCommand(RestoreAction.ID, connectedContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Profiler
|
||||
CommandsRegistry.registerCommand({
|
||||
id: PROFILER_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('profiler.newProfiler', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Generate Scripts
|
||||
CommandsRegistry.registerCommand({
|
||||
id: GENERATE_SCRIPTS_COMMAND_ID,
|
||||
handler: (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('adminToolExtWin.launchSsmsMinGswDialog', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
|
||||
// Properties
|
||||
CommandsRegistry.registerCommand({
|
||||
id: PROPERTIES_COMMAND_ID,
|
||||
handler: async (accessor, args: TreeViewItemHandleArg) => {
|
||||
const commandService = accessor.get(ICommandService);
|
||||
const capabilitiesService = accessor.get(ICapabilitiesService);
|
||||
const connectionManagementService = accessor.get(IConnectionManagementService);
|
||||
const oeShimService = accessor.get(IOEShimService);
|
||||
const profile = new ConnectionProfile(capabilitiesService, args.$treeItem.payload);
|
||||
await connectionManagementService.connectIfNotConnected(profile);
|
||||
const objectExplorerContext: azdata.ObjectExplorerContext = {
|
||||
connectionProfile: args.$treeItem.payload,
|
||||
isConnectionNode: true,
|
||||
nodeInfo: oeShimService.getNodeInfoForTreeItem(args.$treeItem)
|
||||
};
|
||||
return commandService.executeCommand('adminToolExtWin.launchSsmsMinPropertiesDialog', objectExplorerContext);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user