From b3524971ace3778b0852334bec806e1ffa5fcba4 Mon Sep 17 00:00:00 2001 From: felipe Date: Sun, 12 Mar 2017 21:35:30 +0100 Subject: [PATCH] clean up imports into paragraph and paragraph style (this prep for importing it from styles) --- ts/docx/paragraph/alignment.ts | 15 +++++++++++++++ ts/docx/paragraph/formatting.ts | 9 +++++++++ ts/docx/paragraph/index.ts | 13 ++----------- ts/styles/style/index.ts | 14 ++++++-------- 4 files changed, 32 insertions(+), 19 deletions(-) create mode 100644 ts/docx/paragraph/alignment.ts create mode 100644 ts/docx/paragraph/formatting.ts diff --git a/ts/docx/paragraph/alignment.ts b/ts/docx/paragraph/alignment.ts new file mode 100644 index 0000000000..94e0568515 --- /dev/null +++ b/ts/docx/paragraph/alignment.ts @@ -0,0 +1,15 @@ +import { XmlAttributeComponent, XmlComponent } from "../xml-components"; + +type alignmentOptions = "left" | "center" | "right" | "both"; + +class AlignmentAttributes extends XmlAttributeComponent<{val: alignmentOptions}> { + protected xmlKeys = {val: "w:val"}; +} + +export class Alignment extends XmlComponent { + + constructor(type: alignmentOptions) { + super("w:jc"); + this.root.push(new AlignmentAttributes({val: type})); + } +} diff --git a/ts/docx/paragraph/formatting.ts b/ts/docx/paragraph/formatting.ts new file mode 100644 index 0000000000..8b76c0fa32 --- /dev/null +++ b/ts/docx/paragraph/formatting.ts @@ -0,0 +1,9 @@ +export { Alignment } from "./alignment"; +export { ThematicBreak } from "./border"; +export { Indent } from "./indent"; +export { PageBreak } from "./page-break"; +export { ParagraphProperties } from "./properties"; +export { ISpacingProperties, Spacing } from "./spacing"; +export { Style } from "./style"; +export { LeftTabStop, MaxRightTabStop } from "./tab-stop"; +export { NumberProperties } from "./unordered-list"; diff --git a/ts/docx/paragraph/index.ts b/ts/docx/paragraph/index.ts index 5bf0912d03..a85c014764 100644 --- a/ts/docx/paragraph/index.ts +++ b/ts/docx/paragraph/index.ts @@ -1,7 +1,8 @@ import { Num } from "../../numbering/num"; import { TextRun } from "../run/text-run"; -import { Attributes, XmlComponent } from "../xml-components"; +import { XmlComponent } from "../xml-components"; +import { Alignment } from "./alignment"; import { ThematicBreak } from "./border"; import { Indent } from "./indent"; import { PageBreak } from "./page-break"; @@ -11,16 +12,6 @@ import { Style } from "./style"; import { LeftTabStop, MaxRightTabStop } from "./tab-stop"; import { NumberProperties } from "./unordered-list"; -class Alignment extends XmlComponent { - - constructor(type: string) { - super("w:jc"); - this.root.push(new Attributes({ - val: type, - })); - } -} - export class Paragraph extends XmlComponent { private properties: ParagraphProperties; diff --git a/ts/styles/style/index.ts b/ts/styles/style/index.ts index 3cf06cefb8..db4b1c1924 100644 --- a/ts/styles/style/index.ts +++ b/ts/styles/style/index.ts @@ -1,6 +1,4 @@ -import { Indent } from "../../docx/paragraph/indent"; -import { ParagraphProperties } from "../../docx/paragraph/properties"; -import { ISpacingProperties, Spacing } from "../../docx/paragraph/spacing"; +import * as paragraph from "../../docx/paragraph/formatting"; import * as formatting from "../../docx/run/formatting"; import { RunProperties } from "../../docx/run/properties"; import { XmlAttributeComponent, XmlComponent } from "../../docx/xml-components"; @@ -40,12 +38,12 @@ export class Style extends XmlComponent { export class ParagraphStyle extends Style { - private paragraphProperties: ParagraphProperties; + private paragraphProperties: paragraph.ParagraphProperties; private runProperties: RunProperties; constructor(styleId: string, name?: string) { super({type: "paragraph", styleId: styleId}, name); - this.paragraphProperties = new ParagraphProperties(); + this.paragraphProperties = new paragraph.ParagraphProperties(); this.runProperties = new RunProperties(); this.root.push(this.paragraphProperties); this.root.push(this.runProperties); @@ -139,12 +137,12 @@ export class ParagraphStyle extends Style { // --------------------- Paragraph formatting ------------------------ // public indent(left: number, hanging?: number): ParagraphStyle { - this.addParagraphProperty(new Indent(left, hanging)); + this.addParagraphProperty(new paragraph.Indent(left, hanging)); return this; } - public spacing(params: ISpacingProperties): ParagraphStyle { - this.addParagraphProperty(new Spacing(params)); + public spacing(params: paragraph.ISpacingProperties): ParagraphStyle { + this.addParagraphProperty(new paragraph.Spacing(params)); return this; }; }