64 lines
2.0 KiB
TypeScript
64 lines
2.0 KiB
TypeScript
// http://officeopenxml.com/WPborders.php
|
|
import { Attributes, XmlComponent } from "file/xml-components";
|
|
|
|
class BorderProperty extends XmlComponent {
|
|
public setProperties(color: string, space: string, value: string, size: string): XmlComponent {
|
|
const attrs = new Attributes({
|
|
color: color,
|
|
space: space,
|
|
val: value,
|
|
sz: size,
|
|
});
|
|
this.root.push(attrs);
|
|
|
|
return this;
|
|
}
|
|
}
|
|
|
|
export class Border extends XmlComponent {
|
|
constructor() {
|
|
super("w:pBdr");
|
|
}
|
|
|
|
public addTopBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent {
|
|
const top = new BorderProperty("w:top");
|
|
top.setProperties(color, space, value, size);
|
|
this.root.push(top);
|
|
|
|
return this;
|
|
}
|
|
|
|
public addBottomBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent {
|
|
const bottom = new BorderProperty("w:bottom");
|
|
bottom.setProperties(color, space, value, size);
|
|
this.root.push(bottom);
|
|
|
|
return this;
|
|
}
|
|
|
|
public addLeftBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent {
|
|
const left = new BorderProperty("w:left");
|
|
left.setProperties(color, space, value, size);
|
|
this.root.push(left);
|
|
|
|
return this;
|
|
}
|
|
|
|
public addRightBorder(color: string = "auto", space: string = "1", value: string = "single", size: string = "6"): XmlComponent {
|
|
const right = new BorderProperty("w:right");
|
|
right.setProperties(color, space, value, size);
|
|
this.root.push(right);
|
|
|
|
return this;
|
|
}
|
|
}
|
|
|
|
export class ThematicBreak extends XmlComponent {
|
|
constructor() {
|
|
super("w:pBdr");
|
|
const bottom = new BorderProperty("w:bottom");
|
|
bottom.setProperties("auto", "1", "single", "6");
|
|
this.root.push(bottom);
|
|
}
|
|
}
|