Fixed Kusto change connections for previous notebooks (#12207)

* fix connection dialog for change connection on notebook

* Better way to show all connections for providers

* minor change
This commit is contained in:
Vasu Bhog
2020-09-10 13:20:35 -05:00
committed by GitHub
parent 773ff0e62a
commit ff61eae164
2 changed files with 9 additions and 2 deletions

View File

@@ -455,10 +455,15 @@ export class AttachToDropdown extends SelectBox {
**/ **/
public async openConnectionDialog(useProfile: boolean = false): Promise<boolean> { public async openConnectionDialog(useProfile: boolean = false): Promise<boolean> {
try { try {
// Get all providers to show all available connections in connection dialog
let providers = this.model.getApplicableConnectionProviderIds(this.model.clientSession.kernel.name);
for (let alias of this.model.kernelAliases) {
providers = providers.concat(this.model.getApplicableConnectionProviderIds(alias));
}
let connection = await this._connectionDialogService.openDialogAndWait(this._connectionManagementService, let connection = await this._connectionDialogService.openDialogAndWait(this._connectionManagementService,
{ {
connectionType: ConnectionType.temporary, connectionType: ConnectionType.temporary,
providers: this.model.getApplicableConnectionProviderIds(this.model.clientSession.kernel.name) providers: providers
}, },
useProfile ? this.model.connectionProfile : undefined); useProfile ? this.model.connectionProfile : undefined);

View File

@@ -593,8 +593,10 @@ export class NotebookModel extends Disposable implements INotebookModel {
let providers = this._capabilitiesService.providers; let providers = this._capabilitiesService.providers;
for (const server in providers) { for (const server in providers) {
let alias = providers[server].connection.notebookKernelAlias; let alias = providers[server].connection.notebookKernelAlias;
// Add Notebook Kernel Alias to kernelAliases
if (alias && this._kernelAliases.indexOf(alias) === -1) { if (alias && this._kernelAliases.indexOf(alias) === -1) {
this._kernelAliases.push(providers[server].connection.notebookKernelAlias); this._kernelAliases.push(providers[server].connection.notebookKernelAlias);
this._kernelDisplayNameToConnectionProviderIds.set(alias, [providers[server].connection.providerId]);
} }
} }
} }
@@ -640,7 +642,7 @@ export class NotebookModel extends Disposable implements INotebookModel {
let standardKernels = find(this._standardKernels, kernel => this._defaultKernel && kernel.displayName === this._defaultKernel.display_name); let standardKernels = find(this._standardKernels, kernel => this._defaultKernel && kernel.displayName === this._defaultKernel.display_name);
let connectionProviderIds = standardKernels ? standardKernels.connectionProviderIds : undefined; let connectionProviderIds = standardKernels ? standardKernels.connectionProviderIds : undefined;
let providerFeatures = this._capabilitiesService.getCapabilities(profile.providerName); let providerFeatures = this._capabilitiesService.getCapabilities(profile.providerName);
if (connectionProviderIds.length > 0) { if (connectionProviderIds.length > 0 && this._currentKernelAlias) {
this._currentKernelAlias = providerFeatures?.connection.notebookKernelAlias; this._currentKernelAlias = providerFeatures?.connection.notebookKernelAlias;
this._kernelDisplayNameToConnectionProviderIds.set(this._currentKernelAlias, [profile.providerName]); this._kernelDisplayNameToConnectionProviderIds.set(this._currentKernelAlias, [profile.providerName]);
} }