mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
customize loading status message (#23247)
* customize loading status message * Update extensions/mssql/src/ui/localizedConstants.ts Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> * Update extensions/mssql/src/ui/localizedConstants.ts Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> --------- Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
This commit is contained in:
@@ -181,9 +181,9 @@ export abstract class PrincipalDialogBase<ObjectInfoType extends mssql.ObjectMan
|
||||
}
|
||||
|
||||
private async searchForObjects(objectTypes: string[], schema: string = undefined): Promise<mssql.ObjectManagement.SearchResultItem[]> {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ export abstract class DialogBase<DialogResult> {
|
||||
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<DialogResult> {
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -68,8 +68,8 @@ export abstract class ScriptableDialogBase<OptionsType extends ScriptableDialogO
|
||||
await this.initializeUI();
|
||||
}
|
||||
|
||||
protected override updateLoadingStatus(isLoading: boolean): void {
|
||||
super.updateLoadingStatus(isLoading);
|
||||
protected override updateLoadingStatus(isLoading: boolean, loadingText?: string, loadingCompletedText?: string): void {
|
||||
super.updateLoadingStatus(isLoading, loadingText, loadingCompletedText);
|
||||
this._helpButton.enabled = !isLoading;
|
||||
this.dialogObject.okButton.enabled = this._scriptButton.enabled = isLoading ? false : this.isDirty;
|
||||
}
|
||||
@@ -80,7 +80,7 @@ export abstract class ScriptableDialogBase<OptionsType extends ScriptableDialogO
|
||||
protected abstract generateScript(): Promise<string>;
|
||||
|
||||
private async onScriptButtonClick(): Promise<void> {
|
||||
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<OptionsType extends ScriptableDialogO
|
||||
level: azdata.window.MessageLevel.Error
|
||||
};
|
||||
} finally {
|
||||
this.updateLoadingStatus(false);
|
||||
this.updateLoadingStatus(false, localizedConstants.GeneratingScriptText, localizedConstants.GeneratingScriptCompletedText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user