136 lines
2.7 KiB
TypeScript
136 lines
2.7 KiB
TypeScript
import { Attributes, XmlComponent } from "file/xml-components";
|
|
|
|
export enum UnderlineType {
|
|
SINGLE = "single",
|
|
WORDS = "words",
|
|
DOUBLE = "double",
|
|
THICK = "thick",
|
|
DOTTED = "dotted",
|
|
DOTTEDHEAVY = "dottedHeavy",
|
|
DASH = "dash",
|
|
DASHEDHEAVY = "dashedHeavy",
|
|
DASHLONG = "dashLong",
|
|
DASHLONGHEAVY = "dashLongHeavy",
|
|
DOTDASH = "dotDash",
|
|
DASHDOTHEAVY = "dashDotHeavy",
|
|
DOTDOTDASH = "dotDotDash",
|
|
DASHDOTDOTHEAVY = "dashDotDotHeavy",
|
|
WAVE = "wave",
|
|
WAVYHEAVY = "wavyHeavy",
|
|
WAVYDOUBLE = "wavyDouble",
|
|
}
|
|
|
|
export abstract class BaseUnderline extends XmlComponent {
|
|
constructor(underlineType: string, color?: string) {
|
|
super("w:u");
|
|
this.root.push(
|
|
new Attributes({
|
|
val: underlineType,
|
|
color: color,
|
|
}),
|
|
);
|
|
}
|
|
}
|
|
|
|
export class Underline extends BaseUnderline {
|
|
constructor(underlineType: string = "single", color?: string) {
|
|
super(underlineType, color);
|
|
}
|
|
}
|
|
|
|
export class DashUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dash");
|
|
}
|
|
}
|
|
|
|
export class DashDotDotHeavyUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dashDotDotHeavy");
|
|
}
|
|
}
|
|
|
|
export class DashDotHeavyUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dashDotHeavy");
|
|
}
|
|
}
|
|
|
|
export class DashLongUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dashLong");
|
|
}
|
|
}
|
|
|
|
export class DashLongHeavyUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dashLongHeavy");
|
|
}
|
|
}
|
|
|
|
export class DotDashUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dotDash");
|
|
}
|
|
}
|
|
|
|
export class DotDotDashUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dotDotDash");
|
|
}
|
|
}
|
|
|
|
export class DottedUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dotted");
|
|
}
|
|
}
|
|
|
|
export class DottedHeavyUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("dottedHeavy");
|
|
}
|
|
}
|
|
|
|
export class DoubleUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("double");
|
|
}
|
|
}
|
|
|
|
export class SingleUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("single");
|
|
}
|
|
}
|
|
|
|
export class ThickUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("thick");
|
|
}
|
|
}
|
|
|
|
export class WaveUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("wave");
|
|
}
|
|
}
|
|
|
|
export class WavyDoubleUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("wavyDouble");
|
|
}
|
|
}
|
|
|
|
export class WavyHeavyUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("wavyHeavy");
|
|
}
|
|
}
|
|
|
|
export class WordsUnderline extends BaseUnderline {
|
|
constructor() {
|
|
super("words");
|
|
}
|
|
}
|