diff --git a/extensions/mssql/src/objectManagement/ui/objectManagementDialogBase.ts b/extensions/mssql/src/objectManagement/ui/objectManagementDialogBase.ts index 602efd6067..576fbca789 100644 --- a/extensions/mssql/src/objectManagement/ui/objectManagementDialogBase.ts +++ b/extensions/mssql/src/objectManagement/ui/objectManagementDialogBase.ts @@ -114,22 +114,26 @@ export abstract class ObjectManagementDialogBase { try { - await this.dialogObject.registerContent(async view => { - this._modelView = view; - this._formContainer = this.createFormContainer([]); - this._loadingComponent = view.modelBuilder.loadingComponent().withItem(this._formContainer).withProps({ - loading: true, - loadingText: LoadingDialogText, - showText: true, - CSSStyles: { - width: "100%", - height: "100%" - } - }).component(); - return view.initializeModel(this._loadingComponent); - }); + const initializeViewPromise = new Promise((async resolve => { + await this.dialogObject.registerContent(async view => { + this._modelView = view; + resolve(); + this._formContainer = this.createFormContainer([]); + this._loadingComponent = view.modelBuilder.loadingComponent().withItem(this._formContainer).withProps({ + loading: true, + loadingText: LoadingDialogText, + showText: true, + CSSStyles: { + width: "100%", + height: "100%" + } + }).component(); + await view.initializeModel(this._loadingComponent); + }); + })); azdata.window.openDialog(this.dialogObject); this._viewInfo = await this.initializeData(); + await initializeViewPromise; await this.initializeUI(); this._originalObjectInfo = deepClone(this.objectInfo); const typeDisplayName = getNodeTypeDisplayName(this.objectType);