update table-row-properties, table-cell-properties, table-cell-borders to declarative style
This commit is contained in:
@ -1,41 +1,19 @@
|
||||
import { HeightRule } from "file/table/table-row/table-row-height";
|
||||
import { XmlComponent } from "file/xml-components";
|
||||
import { TableCell } from "../table-cell";
|
||||
import { TableRowProperties } from "./table-row-properties";
|
||||
import { ITableRowPropertiesOptions, TableRowProperties } from "./table-row-properties";
|
||||
|
||||
export interface ITableRowOptions {
|
||||
readonly cantSplit?: boolean;
|
||||
readonly tableHeader?: boolean;
|
||||
readonly height?: {
|
||||
readonly value: number;
|
||||
readonly rule: HeightRule;
|
||||
};
|
||||
export interface ITableRowOptions extends ITableRowPropertiesOptions {
|
||||
readonly children: TableCell[];
|
||||
}
|
||||
|
||||
export class TableRow extends XmlComponent {
|
||||
private readonly properties: TableRowProperties;
|
||||
|
||||
constructor(private readonly options: ITableRowOptions) {
|
||||
super("w:tr");
|
||||
this.properties = new TableRowProperties();
|
||||
this.root.push(this.properties);
|
||||
this.root.push(new TableRowProperties(options));
|
||||
|
||||
for (const child of options.children) {
|
||||
this.root.push(child);
|
||||
}
|
||||
|
||||
if (options.cantSplit) {
|
||||
this.properties.setCantSplit();
|
||||
}
|
||||
|
||||
if (options.tableHeader) {
|
||||
this.properties.setTableHeader();
|
||||
}
|
||||
|
||||
if (options.height) {
|
||||
this.properties.setHeight(options.height.value, options.height.rule);
|
||||
}
|
||||
}
|
||||
|
||||
public get CellCount(): number {
|
||||
|
Reference in New Issue
Block a user