From 53250c6bc4f61e51128de2458048b738088fe613 Mon Sep 17 00:00:00 2001 From: Alan Ren Date: Tue, 30 May 2023 13:23:38 -0700 Subject: [PATCH] customize loading status message (#23247) * customize loading status message * Update extensions/mssql/src/ui/localizedConstants.ts Co-authored-by: Charles Gagnon * Update extensions/mssql/src/ui/localizedConstants.ts Co-authored-by: Charles Gagnon --------- Co-authored-by: Charles Gagnon --- .../mssql/src/objectManagement/ui/principalDialogBase.ts | 4 ++-- extensions/mssql/src/ui/dialogBase.ts | 5 ++++- extensions/mssql/src/ui/localizedConstants.ts | 3 +++ extensions/mssql/src/ui/scriptableDialogBase.ts | 8 ++++---- .../browser/modelComponents/groupContainer.component.ts | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/extensions/mssql/src/objectManagement/ui/principalDialogBase.ts b/extensions/mssql/src/objectManagement/ui/principalDialogBase.ts index 853d589753..b70204eda0 100644 --- a/extensions/mssql/src/objectManagement/ui/principalDialogBase.ts +++ b/extensions/mssql/src/objectManagement/ui/principalDialogBase.ts @@ -181,9 +181,9 @@ export abstract class PrincipalDialogBase { - this.updateLoadingStatus(true); + this.updateLoadingStatus(true, localizedConstants.LoadingObjectsText); const result = await this.objectManagementService.search(this.contextId, objectTypes, undefined, schema); - this.updateLoadingStatus(false); + this.updateLoadingStatus(false, localizedConstants.LoadingObjectsText, localizedConstants.LoadingObjectsCompletedText(result.length)); return result; } diff --git a/extensions/mssql/src/ui/dialogBase.ts b/extensions/mssql/src/ui/dialogBase.ts index 8dc3d6d659..a347723d86 100644 --- a/extensions/mssql/src/ui/dialogBase.ts +++ b/extensions/mssql/src/ui/dialogBase.ts @@ -84,6 +84,7 @@ export abstract class DialogBase { this._loadingComponent = view.modelBuilder.loadingComponent().withItem(this._formContainer).withProps({ loading: true, loadingText: uiLoc.LoadingDialogText, + loadingCompletedText: uiLoc.LoadingDialogCompletedText, showText: true, CSSStyles: { width: "100%", @@ -338,8 +339,10 @@ export abstract class DialogBase { } } - protected updateLoadingStatus(isLoading: boolean): void { + protected updateLoadingStatus(isLoading: boolean, loadingText: string = uiLoc.LoadingDialogText, loadingCompletedText: string = uiLoc.LoadingDialogCompletedText): void { if (this._loadingComponent) { + this._loadingComponent.loadingText = loadingText; + this._loadingComponent.loadingCompletedText = loadingCompletedText; this._loadingComponent.loading = isLoading; } } diff --git a/extensions/mssql/src/ui/localizedConstants.ts b/extensions/mssql/src/ui/localizedConstants.ts index c72e132939..2ff0c53d55 100644 --- a/extensions/mssql/src/ui/localizedConstants.ts +++ b/extensions/mssql/src/ui/localizedConstants.ts @@ -10,12 +10,15 @@ export const HelpText: string = localize('mssql.ui.helpText', "Help"); export const YesText: string = localize('mssql.ui.yesText', "Yes"); export const OkText: string = localize('mssql.ui.OkText', "OK"); export const LoadingDialogText: string = localize('mssql.ui.loadingDialog', "Loading dialog..."); +export const LoadingDialogCompletedText: string = localize('mssql.ui.loadingDialog', "Loading dialog completed"); export const ScriptText: string = localize('mssql.ui.scriptText', "Script"); export const SelectText = localize('objectManagement.selectLabel', "Select"); export const AddText = localize('objectManagement.addText', "Add…"); export const RemoveText = localize('objectManagement.removeText', "Remove"); export const NoActionScriptedMessage: string = localize('mssql.ui.noActionScriptedMessage', "There is no action to be scripted."); export const ScriptGeneratedText: string = localize('mssql.ui.scriptGenerated', "Script has been generated successfully. You can close the dialog to view it in the newly opened editor.") +export const GeneratingScriptText: string = localize('mssql.ui.generatingScript', "Generating script..."); +export const GeneratingScriptCompletedText: string = localize('mssql.ui.generatingScriptCompleted', "Script generated"); export function scriptError(error: string): string { return localize('mssql.ui.scriptError', "An error occurred while generating the script. {0}", error); diff --git a/extensions/mssql/src/ui/scriptableDialogBase.ts b/extensions/mssql/src/ui/scriptableDialogBase.ts index 924d9c4a7a..e49db066e2 100644 --- a/extensions/mssql/src/ui/scriptableDialogBase.ts +++ b/extensions/mssql/src/ui/scriptableDialogBase.ts @@ -68,8 +68,8 @@ export abstract class ScriptableDialogBase; private async onScriptButtonClick(): Promise { - this.updateLoadingStatus(true); + this.updateLoadingStatus(true, localizedConstants.GeneratingScriptText, localizedConstants.GeneratingScriptCompletedText); try { const isValid = await this.runValidation(); if (!isValid) { @@ -104,7 +104,7 @@ export abstract class ScriptableDialogBase