diff --git a/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts b/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts index 931e29b0c9..82a0198344 100644 --- a/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts +++ b/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts @@ -32,7 +32,9 @@ export class DacFxSummaryPage extends BasePage { } async start(): Promise { - this.table = this.view.modelBuilder.table().component(); + this.table = this.view.modelBuilder.table().withProperties({ + title: localize('dacfx.summaryTableTitle', 'Summary of settings') + }).component(); this.loader = this.view.modelBuilder.loadingComponent().withItem(this.table).component(); this.form = this.view.modelBuilder.formContainer().withFormItems( [ diff --git a/src/sql/azdata.d.ts b/src/sql/azdata.d.ts index 077ea67812..2675a60a6a 100644 --- a/src/sql/azdata.d.ts +++ b/src/sql/azdata.d.ts @@ -3239,6 +3239,7 @@ declare module 'azdata' { fontSize?: number | string; selectedRows?: number[]; forceFitColumns?: ColumnSizingMode; + title?: string; } export interface FileBrowserTreeProperties extends ComponentProperties { diff --git a/src/sql/base/browser/ui/table/table.ts b/src/sql/base/browser/ui/table/table.ts index 02a2818db1..93f3ca17c6 100644 --- a/src/sql/base/browser/ui/table/table.ts +++ b/src/sql/base/browser/ui/table/table.ts @@ -339,4 +339,8 @@ export class Table extends Widget implements IDisposa this._grid.setOptions(newOptions); this._grid.invalidate(); } + + public setTableTitle(title: string): void { + this._tableContainer.title = title; + } } diff --git a/src/sql/workbench/api/common/extHostModelView.ts b/src/sql/workbench/api/common/extHostModelView.ts index 29a82a6296..eaf1749bb0 100644 --- a/src/sql/workbench/api/common/extHostModelView.ts +++ b/src/sql/workbench/api/common/extHostModelView.ts @@ -1133,6 +1133,13 @@ class TableComponentWrapper extends ComponentWrapper implements azdata.TableComp this.setProperty('forceFitColumns', v); } + public get title(): string { + return this.properties['title']; + } + public set title(v: string) { + this.setProperty('title', v); + } + public get onRowSelected(): vscode.Event { let emitter = this._emitterMap.get(ComponentEventType.onSelectedRowChanged); return emitter && emitter.event; diff --git a/src/sql/workbench/browser/modelComponents/table.component.ts b/src/sql/workbench/browser/modelComponents/table.component.ts index a5b36ecec0..a575d96585 100644 --- a/src/sql/workbench/browser/modelComponents/table.component.ts +++ b/src/sql/workbench/browser/modelComponents/table.component.ts @@ -208,6 +208,7 @@ export default class TableComponent extends ComponentBase implements IComponent, this._tableColumns = this.transformColumns(this.columns); this._table.columns = this._tableColumns; this._table.setData(this._tableData); + this._table.setTableTitle(this.title); if (this.selectedRows) { this._table.setSelectedRows(this.selectedRows); } @@ -286,4 +287,8 @@ export default class TableComponent extends ComponentBase implements IComponent, public get forceFitColumns() { return this.getPropertyOrDefault((props) => props.forceFitColumns, ColumnSizingMode.ForceFit); } + + public get title() { + return this.getPropertyOrDefault((props) => props.title, ''); + } }