From 4a2c6e9fb4500f11921dd3a463bd8e1b98b04f26 Mon Sep 17 00:00:00 2001 From: Sai Avishkar Sreerama <74571829+ssreerama@users.noreply.github.com> Date: Tue, 16 Aug 2022 22:21:30 -0500 Subject: [PATCH] Adding loading component to the options window before the options display (#20379) --- .../src/dialogs/schemaCompareOptionsDialog.ts | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts index efbfefbb64..b02aebb369 100644 --- a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts +++ b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts @@ -117,6 +117,23 @@ export class SchemaCompareOptionsDialog { private initializeSchemaCompareOptionsDialogTab(): void { this.generalOptionsTab.registerContent(async view => { + // create loading component + const loader = view.modelBuilder.loadingComponent() + .withProps({ + CSSStyles: { + 'margin-top': '50%' + } + }) + .component(); + + this.optionsFlexBuilder = view.modelBuilder.flexContainer() + .withLayout({ + flexFlow: 'column' + }).component(); + + // adding loading component to the flexcontainer + this.optionsFlexBuilder.addItem(loader); + await view.initializeModel(this.optionsFlexBuilder); this.descriptionHeading = view.modelBuilder.table().withProps({ data: [], @@ -159,14 +176,10 @@ export class SchemaCompareOptionsDialog { } })); - this.optionsFlexBuilder = view.modelBuilder.flexContainer() - .withLayout({ - flexFlow: 'column' - }).component(); - this.optionsFlexBuilder.addItem(this.optionsTable, { CSSStyles: { 'overflow': 'scroll', 'height': '65vh' } }); this.optionsFlexBuilder.addItem(this.descriptionHeading, { CSSStyles: { 'font-weight': 'bold', 'height': '30px' } }); this.optionsFlexBuilder.addItem(this.descriptionText, { CSSStyles: { 'padding': '4px', 'margin-right': '10px', 'overflow': 'scroll', 'height': '10vh' } }); + loader.loading = false; await view.initializeModel(this.optionsFlexBuilder); await this.optionsTable.focus(); });