diff --git a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts index f2d070a4b2..adf80e4d6b 100644 --- a/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts +++ b/extensions/resource-deployment/src/ui/resourceTypePickerDialog.ts @@ -18,7 +18,6 @@ export class ResourceTypePickerDialog extends DialogBase { private toolRefreshTimestamp: number = 0; private _selectedResourceType: ResourceType; private _view!: azdata.ModelView; - private _resourceDescriptionLabel!: azdata.TextComponent; private _optionsContainer!: azdata.FlexContainer; private _toolsTable!: azdata.TableComponent; private _cardGroup!: azdata.RadioCardGroupComponent; @@ -78,19 +77,23 @@ export class ResourceTypePickerDialog extends DialogBase { { textValue: resourceType.displayName, textStyles: { - 'font-size': '12px', - 'font-weight': 700 + 'font-size': '14px', + 'font-weight': 'bold' } + }, + { + textValue: resourceType.description, } ] }; }), - iconHeight: '50px', - iconWidth: '50px', - cardWidth: '220px', - cardHeight: '180px', + iconHeight: '35px', + iconWidth: '35px', + cardWidth: '300px', + cardHeight: '150px', ariaLabel: localize('deploymentDialog.deploymentOptions', "Deployment options"), - width: '1100px' + width: '1100px', + iconPosition: 'left' }).component(); this._toDispose.push(this._cardGroup.onSelectionChanged(({ cardId }) => { const resourceType = resourceTypes.find(rt => { return rt.name === cardId; }); @@ -98,7 +101,6 @@ export class ResourceTypePickerDialog extends DialogBase { this.selectResourceType(resourceType); } })); - this._resourceDescriptionLabel = view.modelBuilder.text().withProperties({ value: this._selectedResourceType ? this._selectedResourceType.description : undefined }).component(); this._optionsContainer = view.modelBuilder.flexContainer().withLayout({ flexFlow: 'column' }).component(); this._agreementContainer = view.modelBuilder.divContainer().component(); const toolColumn: azdata.TableColumn = { @@ -144,9 +146,6 @@ export class ResourceTypePickerDialog extends DialogBase { { component: this._cardGroup, title: '' - }, { - component: this._resourceDescriptionLabel, - title: '' }, { component: this._agreementContainer, title: '' @@ -177,7 +176,6 @@ export class ResourceTypePickerDialog extends DialogBase { private selectResourceType(resourceType: ResourceType): void { this._selectedResourceType = resourceType; - this._resourceDescriptionLabel.value = resourceType.description; this._agreementCheckboxChecked = false; this._agreementContainer.clearItems(); if (resourceType.agreement) { diff --git a/src/sql/azdata.proposed.d.ts b/src/sql/azdata.proposed.d.ts index ace915b4f7..620b9aed21 100644 --- a/src/sql/azdata.proposed.d.ts +++ b/src/sql/azdata.proposed.d.ts @@ -271,7 +271,8 @@ declare module 'azdata' { iconWidth?: string; iconHeight?: string; selectedCardId?: string; - orientation?: Orientation // Defaults to horizontal + orientation?: Orientation; // Defaults to horizontal + iconPosition?: 'top' | 'left'; // Defaults to top } export type RadioCardSelectionChangedEvent = { cardId: string; card: RadioCard }; diff --git a/src/sql/workbench/browser/modelComponents/media/card.css b/src/sql/workbench/browser/modelComponents/media/card.css index 073058e838..23c3808016 100644 --- a/src/sql/workbench/browser/modelComponents/media/card.css +++ b/src/sql/workbench/browser/modelComponents/media/card.css @@ -61,7 +61,7 @@ border-color: rgb(214, 214, 214); } -.horizontal .model-card .icon { +.horizontal .model-card .icon, .model-portal-card .cardIcon { display: inline-block; flex-grow: 1; width: 100%; @@ -221,3 +221,38 @@ text-align: right; white-space: nowrap; } + + +.horizontal .model-left-icon-card { + display: flex; + max-width: 365px; + height: calc(100% - 35px); + padding: 20px 15px 15px; +} + +.horizontal .model-left-icon-card .left-icon-container { + height: 35px; + width: 35px; + flex: 0 0 35px; +} + + +.horizontal .model-left-icon-card .detail-container { + display: flex; + flex-direction: column; + flex: 1 1 0%; + padding: 0px 15px; + width: 77%; +} + +.horizontal .model-left-icon-card .card-label { + margin-bottom: 12px; + font-weight: bold; + font-size: 14px; +} + +.horizontal .model-left-icon-card .card-description { + margin-bottom: 12px; + font-size: 100%; +} + diff --git a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.html b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.html index 6f317e6f5e..6e349c1b1b 100644 --- a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.html +++ b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.html @@ -1,13 +1,13 @@ -
- diff --git a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts index e87fb31dbb..6bd54162b2 100644 --- a/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts +++ b/src/sql/workbench/browser/modelComponents/radioCardGroup.component.ts @@ -119,6 +119,18 @@ export default class RadioCardGroup extends ComponentBase