From caba5c9d2627b1e16a391caf6e352a3840e87f96 Mon Sep 17 00:00:00 2001 From: Udeesha Gautam <46980425+udeeshagautam@users.noreply.github.com> Date: Wed, 26 Jun 2019 12:16:51 -0700 Subject: [PATCH] Databases order in schema compare dialog to be same as OE (#6162) * Database order to be same as OE * changes to reset for source target buttons --- .../src/dialogs/schemaCompareDialog.ts | 2 +- .../schema-compare/src/schemaCompareResult.ts | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts index fe7382a39e..5bd25941e1 100644 --- a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts +++ b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts @@ -638,7 +638,7 @@ export class SchemaCompareDialog { let idx = -1; let count = -1; - let values = (await azdata.connection.listDatabases(connectionId)).map(db => { + let values = (await azdata.connection.listDatabases(connectionId)).sort((a, b) => a.localeCompare(b)).map(db => { count++; // put currently selected db at the top of the dropdown if there is one diff --git a/extensions/schema-compare/src/schemaCompareResult.ts b/extensions/schema-compare/src/schemaCompareResult.ts index f14a73b29e..02edb548a3 100644 --- a/extensions/schema-compare/src/schemaCompareResult.ts +++ b/extensions/schema-compare/src/schemaCompareResult.ts @@ -30,6 +30,7 @@ enum ResetButtonState { noSourceTarget, beforeCompareStart, comparing, + afterCompareComplete } export class SchemaCompareResult { @@ -340,11 +341,7 @@ export class SchemaCompareResult { this.flexModel.removeItem(this.loader); this.flexModel.removeItem(this.waitText); - this.switchButton.enabled = true; - this.compareButton.enabled = true; - this.optionsButton.enabled = true; - this.openScmpButton.enabled = true; - this.cancelCompareButton.enabled = false; + this.resetButtons(ResetButtonState.afterCompareComplete); if (this.comparisonResult.differences.length > 0) { this.flexModel.addItem(this.splitView, { CSSStyles: { 'overflow': 'hidden' } }); @@ -714,15 +711,21 @@ export class SchemaCompareResult { this.switchButton.enabled = this.sourceEndpointInfo ? true : false; // allows switching if the source is set this.openScmpButton.enabled = true; this.cancelCompareButton.enabled = false; + this.selectSourceButton.enabled = true; + this.selectTargetButton.enabled = true; break; } - case (ResetButtonState.beforeCompareStart): { + // Before start and after complete are same functionally. Adding two enum values for clarity. + case (ResetButtonState.beforeCompareStart): + case (ResetButtonState.afterCompareComplete): { this.compareButton.enabled = true; this.optionsButton.enabled = true; this.switchButton.enabled = true; this.openScmpButton.enabled = true; this.saveScmpButton.enabled = true; this.cancelCompareButton.enabled = false; + this.selectSourceButton.enabled = true; + this.selectTargetButton.enabled = true; break; } case (ResetButtonState.comparing): { @@ -731,10 +734,13 @@ export class SchemaCompareResult { this.switchButton.enabled = false; this.openScmpButton.enabled = false; this.cancelCompareButton.enabled = true; + this.selectSourceButton.enabled = false; + this.selectTargetButton.enabled = false; break; } } + // Set generate script and apply to false because specific values depend on result and are set separately this.generateScriptButton.enabled = false; this.applyButton.enabled = false; this.generateScriptButton.title = generateScriptEnabledMessage;