diff --git a/src/sql/workbench/browser/modal/modal.ts b/src/sql/workbench/browser/modal/modal.ts index 52b56a6fff..04000b5292 100644 --- a/src/sql/workbench/browser/modal/modal.ts +++ b/src/sql/workbench/browser/modal/modal.ts @@ -27,6 +27,7 @@ import { find, firstIndex } from 'vs/base/common/arrays'; import { IThemable } from 'vs/base/common/styler'; import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry'; import { ILayoutService } from 'vs/platform/layout/browser/layoutService'; +import { alert } from 'vs/base/browser/ui/aria/aria'; export enum MessageLevel { Error = 0, @@ -63,6 +64,7 @@ export interface IModalOptions { hasTitleIcon?: boolean; hasErrors?: boolean; hasSpinner?: boolean; + spinnerTitle?: string; } const defaultOptions: IModalOptions = { @@ -245,6 +247,7 @@ export abstract class Modal extends Disposable implements IThemable { this._modalFooterSection = DOM.append(this._modalContent, DOM.$('.modal-footer')); if (this._modalOptions.hasSpinner) { this._spinnerElement = DOM.append(this._modalFooterSection, DOM.$('.codicon.in-progress')); + this._spinnerElement.setAttribute('title', this._modalOptions.spinnerTitle); DOM.hide(this._spinnerElement); } this._leftFooter = DOM.append(this._modalFooterSection, DOM.$('.left-footer')); @@ -511,6 +514,9 @@ export abstract class Modal extends Disposable implements IThemable { if (this._modalOptions.hasSpinner) { if (show) { DOM.show(this._spinnerElement); + if (this._modalOptions.spinnerTitle) { + alert(this._modalOptions.spinnerTitle); + } } else { DOM.hide(this._spinnerElement); } diff --git a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts index c066289506..ae8acd83a5 100644 --- a/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts +++ b/src/sql/workbench/services/connection/browser/connectionDialogWidget.ts @@ -103,7 +103,17 @@ export class ConnectionDialogWidget extends Modal { @ILogService logService: ILogService, @ITextResourcePropertiesService textResourcePropertiesService: ITextResourcePropertiesService ) { - super(localize('connection', "Connection"), TelemetryKeys.Connection, telemetryService, layoutService, clipboardService, themeService, logService, textResourcePropertiesService, contextKeyService, { hasSpinner: true, hasErrors: true }); + super( + localize('connection', "Connection"), + TelemetryKeys.Connection, + telemetryService, + layoutService, + clipboardService, + themeService, + logService, + textResourcePropertiesService, + contextKeyService, + { hasSpinner: true, spinnerTitle: localize('connecting', "Connecting"), hasErrors: true }); } /**