diff --git a/src/file/table/table-properties/table-properties.ts b/src/file/table/table-properties/table-properties.ts index fd1f844978..245a56c444 100644 --- a/src/file/table/table-properties/table-properties.ts +++ b/src/file/table/table-properties/table-properties.ts @@ -6,6 +6,7 @@ import { TableBorders } from "./table-borders"; import { TableCellMargin } from "./table-cell-margin"; import { ITableFloatOptions, TableFloatProperties } from "./table-float-properties"; import { TableLayout, TableLayoutType } from "./table-layout"; +import { TableStyle } from "./table-style"; import { PreferredTableWidth } from "./table-width"; export class TableProperties extends IgnoreIfEmptyXmlComponent { @@ -46,4 +47,9 @@ export class TableProperties extends IgnoreIfEmptyXmlComponent { return this; } + + public setStyle(styleId: string): TableProperties { + this.root.push(new TableStyle(styleId)); + return this; + } } diff --git a/src/file/table/table-properties/table-style.ts b/src/file/table/table-properties/table-style.ts new file mode 100644 index 0000000000..b46f853802 --- /dev/null +++ b/src/file/table/table-properties/table-style.ts @@ -0,0 +1,15 @@ +import { Attributes, XmlComponent } from "file/xml-components"; + +export class TableStyle extends XmlComponent { + public readonly styleId: string; + + constructor(styleId: string) { + super("w:tblStyle"); + this.styleId = styleId; + this.root.push( + new Attributes({ + val: styleId, + }), + ); + } +} diff --git a/src/file/table/table.ts b/src/file/table/table.ts index 08bd47eda2..3872fe4df7 100644 --- a/src/file/table/table.ts +++ b/src/file/table/table.ts @@ -32,6 +32,7 @@ export interface ITableOptions { }; readonly float?: ITableFloatOptions; readonly layout?: TableLayoutType; + readonly style?: string; } export class Table extends XmlComponent { @@ -44,6 +45,7 @@ export class Table extends XmlComponent { margins: { marginUnitType, top, bottom, right, left } = { marginUnitType: WidthType.AUTO, top: 0, bottom: 0, right: 0, left: 0 }, float, layout, + style, }: ITableOptions) { super("w:tbl"); this.properties = new TableProperties(); @@ -96,5 +98,9 @@ export class Table extends XmlComponent { if (layout) { this.properties.setLayout(layout); } + + if (style) { + this.properties.setStyle(style); + } } }