fix null reference issue (#22113)

* fix null reference issue

* move opendialog call out of promise.
This commit is contained in:
Alan Ren
2023-03-02 14:44:10 -08:00
committed by GitHub
parent da92875fea
commit 9b6018a21e

View File

@@ -114,22 +114,26 @@ export abstract class ObjectManagementDialogBase<ObjectInfoType extends ObjectMa
public async open(): Promise<void> { public async open(): Promise<void> {
try { try {
await this.dialogObject.registerContent(async view => { const initializeViewPromise = new Promise<void>((async resolve => {
this._modelView = view; await this.dialogObject.registerContent(async view => {
this._formContainer = this.createFormContainer([]); this._modelView = view;
this._loadingComponent = view.modelBuilder.loadingComponent().withItem(this._formContainer).withProps({ resolve();
loading: true, this._formContainer = this.createFormContainer([]);
loadingText: LoadingDialogText, this._loadingComponent = view.modelBuilder.loadingComponent().withItem(this._formContainer).withProps({
showText: true, loading: true,
CSSStyles: { loadingText: LoadingDialogText,
width: "100%", showText: true,
height: "100%" CSSStyles: {
} width: "100%",
}).component(); height: "100%"
return view.initializeModel(this._loadingComponent); }
}); }).component();
await view.initializeModel(this._loadingComponent);
});
}));
azdata.window.openDialog(this.dialogObject); azdata.window.openDialog(this.dialogObject);
this._viewInfo = await this.initializeData(); this._viewInfo = await this.initializeData();
await initializeViewPromise;
await this.initializeUI(); await this.initializeUI();
this._originalObjectInfo = deepClone(this.objectInfo); this._originalObjectInfo = deepClone(this.objectInfo);
const typeDisplayName = getNodeTypeDisplayName(this.objectType); const typeDisplayName = getNodeTypeDisplayName(this.objectType);