diff --git a/extensions/resource-deployment/src/ui/deployClusterWizard/pages/deploymentProfilePage.ts b/extensions/resource-deployment/src/ui/deployClusterWizard/pages/deploymentProfilePage.ts index 02e7267d5a..57aa46ea07 100644 --- a/extensions/resource-deployment/src/ui/deployClusterWizard/pages/deploymentProfilePage.ts +++ b/extensions/resource-deployment/src/ui/deployClusterWizard/pages/deploymentProfilePage.ts @@ -182,6 +182,7 @@ export class DeploymentProfilePage extends WizardPageBase { const card = this.createProfileCard(profile, this._view!); if (profile.profileName === defaultProfile) { card.selected = true; + card.focus(); this.setModelValuesByProfile(profile); } this._cardContainer!.addItem(card, { flex: '0 0 auto' }); diff --git a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts index 4b4c1c436f..fd9256d6c9 100644 --- a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts +++ b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts @@ -162,6 +162,7 @@ export class ResourceTypePickerDialog extends DialogBase { this._selectedResourceType = resourceType; const card = this._cardResourceTypeMap.get(this._selectedResourceType.name)!; if (card.selected) { + card.focus(); // clear the selected state of the previously selected card this._resourceTypeCards.forEach(c => { if (c !== card) { diff --git a/src/sql/workbench/browser/modelComponents/card.component.html b/src/sql/workbench/browser/modelComponents/card.component.html index 0f03e0eeac..7722a5d535 100644 --- a/src/sql/workbench/browser/modelComponents/card.component.html +++ b/src/sql/workbench/browser/modelComponents/card.component.html @@ -1,4 +1,4 @@ -
diff --git a/src/sql/workbench/browser/modelComponents/card.component.ts b/src/sql/workbench/browser/modelComponents/card.component.ts index e7e8c39317..f0ea0e6346 100644 --- a/src/sql/workbench/browser/modelComponents/card.component.ts +++ b/src/sql/workbench/browser/modelComponents/card.component.ts @@ -5,7 +5,7 @@ import 'vs/css!./media/card'; import { - Component, Input, Inject, ChangeDetectorRef, forwardRef, ElementRef, OnDestroy + Component, Input, Inject, ChangeDetectorRef, forwardRef, ElementRef, OnDestroy, ViewChild } from '@angular/core'; import * as azdata from 'azdata'; @@ -29,6 +29,7 @@ export default class CardComponent extends ComponentWithIconBase implements ICom private backgroundColor: string; + @ViewChild('cardDiv', { read: ElementRef }) private cardDiv: ElementRef; constructor(@Inject(forwardRef(() => ChangeDetectorRef)) changeRef: ChangeDetectorRef, @Inject(forwardRef(() => ElementRef)) el: ElementRef, @Inject(IWorkbenchThemeService) private themeService: IWorkbenchThemeService @@ -53,6 +54,12 @@ export default class CardComponent extends ComponentWithIconBase implements ICom this.baseDestroy(); } + focus(): void { + if (this.cardDiv) { + this.cardDiv.nativeElement.focus(); + } + } + private _defaultBorderColor = 'rgb(214, 214, 214)'; private _hasFocus: boolean;