add fluent interface for defining abstract numbering levels

This commit is contained in:
felipe
2017-03-08 18:03:39 +01:00
parent 1fe7ab90f2
commit 4b300e4def
2 changed files with 31 additions and 38 deletions

View File

@ -36,50 +36,41 @@ export class Numbering extends MultiPropertyXmlComponent {
const abstractNumbering = this.createAbstractNumbering(); const abstractNumbering = this.createAbstractNumbering();
const level0 = new Level(0, "bullet", "•", "left"); abstractNumbering.createLevel(0, "bullet", "•", "left")
level0.addParagraphProperty(new Indent(720, 360)); .addParagraphProperty(new Indent(720, 360))
level0.addRunProperty(new RunFonts("Symbol", "default")); .addRunProperty(new RunFonts("Symbol", "default"));
abstractNumbering.addLevel(level0);
const level1 = new Level(1, "bullet", "o", "left"); abstractNumbering.createLevel(1, "bullet", "o", "left")
level1.addParagraphProperty(new Indent(1440, 360)); .addParagraphProperty(new Indent(1440, 360))
level1.addRunProperty(new RunFonts("Courier New", "default")); .addRunProperty(new RunFonts("Courier New", "default"));
abstractNumbering.addLevel(level1);
const level2 = new Level(2, "bullet", "•", "left"); abstractNumbering.createLevel(2, "bullet", "•", "left")
level2.addParagraphProperty(new Indent(2160, 360)); .addParagraphProperty(new Indent(2160, 360))
level2.addRunProperty(new RunFonts("Wingdings", "default")); .addRunProperty(new RunFonts("Wingdings", "default"));
abstractNumbering.addLevel(level2);
const level3 = new Level(3, "bullet", "•", "left"); abstractNumbering.createLevel(3, "bullet", "•", "left")
level3.addParagraphProperty(new Indent(2880, 360)); .addParagraphProperty(new Indent(2880, 360))
level3.addRunProperty(new RunFonts("Symbol", "default")); .addRunProperty(new RunFonts("Symbol", "default"));
abstractNumbering.addLevel(level3);
const level4 = new Level(4, "bullet", "o", "left"); abstractNumbering.createLevel(4, "bullet", "o", "left")
level4.addParagraphProperty(new Indent(3600, 360)); .addParagraphProperty(new Indent(3600, 360))
level4.addRunProperty(new RunFonts("Courier New", "default")); .addRunProperty(new RunFonts("Courier New", "default"));
abstractNumbering.addLevel(level4);
const level5 = new Level(5, "bullet", "•", "left"); abstractNumbering.createLevel(5, "bullet", "•", "left")
level5.addParagraphProperty(new Indent(4320, 360)); .addParagraphProperty(new Indent(4320, 360))
level5.addRunProperty(new RunFonts("Wingdings", "default")); .addRunProperty(new RunFonts("Wingdings", "default"));
abstractNumbering.addLevel(level5);
const level6 = new Level(6, "bullet", "•", "left"); abstractNumbering.createLevel(6, "bullet", "•", "left")
level6.addParagraphProperty(new Indent(5040, 360)); .addParagraphProperty(new Indent(5040, 360))
level6.addRunProperty(new RunFonts("Symbol", "default")); .addRunProperty(new RunFonts("Symbol", "default"));
abstractNumbering.addLevel(level6);
const level7 = new Level(7, "bullet", "o", "left"); abstractNumbering.createLevel(7, "bullet", "o", "left")
level7.addParagraphProperty(new Indent(5760, 360)); .addParagraphProperty(new Indent(5760, 360))
level7.addRunProperty(new RunFonts("Courier New", "default")); .addRunProperty(new RunFonts("Courier New", "default"));
abstractNumbering.addLevel(level7);
const level8 = new Level(8, "bullet", "•", "left"); abstractNumbering.createLevel(8, "bullet", "•", "left")
level8.addParagraphProperty(new Indent(6480, 360)); .addParagraphProperty(new Indent(6480, 360))
level8.addRunProperty(new RunFonts("Wingdings", "default")); .addRunProperty(new RunFonts("Wingdings", "default"));
abstractNumbering.addLevel(level8);
this.createConcreteNumbering(abstractNumbering); this.createConcreteNumbering(abstractNumbering);
} }

View File

@ -88,11 +88,13 @@ export class Level extends XmlComponent {
delete this.runProperties; delete this.runProperties;
} }
public addParagraphProperty(property: XmlComponent): void { public addParagraphProperty(property: XmlComponent): Level {
this.paragraphProperties.push(property); this.paragraphProperties.push(property);
return this;
} }
public addRunProperty(property: XmlComponent): void { public addRunProperty(property: XmlComponent): Level {
this.runProperties.push(property); this.runProperties.push(property);
return this;
} }
} }