diff --git a/samples/sqlservices/src/controllers/mainController.ts b/samples/sqlservices/src/controllers/mainController.ts index 0e28a7ab7822..5974a55a8eb8 100644 --- a/samples/sqlservices/src/controllers/mainController.ts +++ b/samples/sqlservices/src/controllers/mainController.ts @@ -47,11 +47,16 @@ export default class MainController implements vscode.Disposable { sqlops.dashboard.registerModelViewProvider('sqlservices', async (view) => { let flexModel = view.modelBuilder.flexContainer() .withLayout({ - flexFlow: 'row' + flexFlow: 'row', + alignItems: 'center' }).withItems([ // 1st child panel with N cards view.modelBuilder.flexContainer() - .withLayout({ flexFlow: 'column' }) + .withLayout({ + flexFlow: 'column', + alignItems: 'center', + justifyContent: 'center' + }) .withItems([ view.modelBuilder.card() .withProperties({ @@ -73,7 +78,7 @@ export default class MainController implements vscode.Disposable { }) .component() ]).component() - ], { flex: '0 1 50%' }) + ], { flex: '1 1 50%' }) .component(); await view.initializeModel(flexModel); }); diff --git a/src/sql/parts/modelComponents/card.component.ts b/src/sql/parts/modelComponents/card.component.ts index fb8eea1f2195..823053866ce5 100644 --- a/src/sql/parts/modelComponents/card.component.ts +++ b/src/sql/parts/modelComponents/card.component.ts @@ -2,7 +2,7 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import 'vs/css!./flexContainer'; +import 'vs/css!./card'; import { Component, Input, Inject, ChangeDetectorRef, forwardRef, ComponentFactoryResolver, ViewChild, ViewChildren, ElementRef, Injector, OnDestroy, QueryList, @@ -16,11 +16,9 @@ import { IComponent, IComponentDescriptor, IModelStore } from 'sql/parts/modelCo @Component({ template: ` -
- -
{{label}}
-
{{value}}
-
+
+

{{label}}

+

{{value}}

` }) diff --git a/src/sql/parts/modelComponents/card.css b/src/sql/parts/modelComponents/card.css new file mode 100644 index 000000000000..29e21d6f0f8c --- /dev/null +++ b/src/sql/parts/modelComponents/card.css @@ -0,0 +1,27 @@ + +.model-card { + position: relative; + display: inline-block; + height: auto; + width: auto; + margin: 15px; + padding: 10px 45px 20px 45px; + min-height: 30px; + min-width: 30px; + border-width: 1px; + border-style: solid; + border-color: rgb(214, 214, 214); + text-align: left; + vertical-align: top; + box-shadow: rgba(120, 120, 120, 0.75) 0px 0px 6px; +} + +.model-card .card-label { + font-size: 12px; + font-weight: bold; +} + +.model-card .card-value { + font-size: 12px; + line-height: 18px; +} \ No newline at end of file diff --git a/src/sql/parts/modelComponents/flexContainer.component.ts b/src/sql/parts/modelComponents/flexContainer.component.ts index 9f5e9be91658..385640bd1632 100644 --- a/src/sql/parts/modelComponents/flexContainer.component.ts +++ b/src/sql/parts/modelComponents/flexContainer.component.ts @@ -21,7 +21,8 @@ class FlexItem { @Component({ template: ` -
+
@@ -34,6 +35,8 @@ export default class FlexContainer extends ContainerBase impleme @Input() modelStore: IModelStore; private _flexFlow: string; private _justifyContent: string; + private _alignItems: string; + private _alignContent: string; @ViewChildren(ModelComponentWrapper) private _componentWrappers: QueryList; @@ -65,6 +68,8 @@ export default class FlexContainer extends ContainerBase impleme public setLayout (layout: FlexLayout): void { this._flexFlow = layout.flexFlow ? layout.flexFlow : ''; this._justifyContent= layout.justifyContent ? layout.justifyContent : ''; + this._alignItems= layout.alignItems ? layout.alignItems : ''; + this._alignContent= layout.alignContent ? layout.alignContent : ''; this.layout(); } @@ -77,8 +82,16 @@ export default class FlexContainer extends ContainerBase impleme return this._justifyContent; } + public get alignItems(): string { + return this._alignItems; + } + + public get alignContent(): string { + return this._alignContent; + } + private getItemFlex(item: FlexItem): string { - return item.config ? item.config.flex : ''; + return item.config ? item.config.flex : '1 1 auto'; } private getItemOrder(item: FlexItem): number { return item.config ? item.config.order : 0; diff --git a/src/sql/parts/modelComponents/flexContainer.css b/src/sql/parts/modelComponents/flexContainer.css index 5f1ce1812791..3b225299af39 100644 --- a/src/sql/parts/modelComponents/flexContainer.css +++ b/src/sql/parts/modelComponents/flexContainer.css @@ -1,4 +1,5 @@ .flexContainer { - display: flex + display: flex; + padding: 5px; } \ No newline at end of file diff --git a/src/sql/sqlops.proposed.d.ts b/src/sql/sqlops.proposed.d.ts index f3b5aaa5c54f..b3762de69c66 100644 --- a/src/sql/sqlops.proposed.d.ts +++ b/src/sql/sqlops.proposed.d.ts @@ -108,6 +108,14 @@ declare module 'sqlops' { * Matches the justify-content CSS property. */ justifyContent?: string; + /** + * Matches the align-items CSS property. + */ + alignItems?: string; + /** + * Matches the align-content CSS property. + */ + alignContent?: string; } export interface FlexItemLayout { @@ -117,7 +125,7 @@ declare module 'sqlops' { order?: number; /** * Matches the flex CSS property and its available values. - * Default is "0 1 auto". + * Default is "1 1 auto". */ flex?: string; }