allow NumberProperties to specify custom id/level

This change allows callers to create custom numbering styles and
attach them to paragraphs
This commit is contained in:
felipe
2017-03-07 19:14:57 +01:00
parent 9ced196678
commit 52c4e3cabd
3 changed files with 7 additions and 5 deletions

View File

@ -106,7 +106,7 @@ export class Paragraph extends XmlComponent {
bullet(): Paragraph { bullet(): Paragraph {
this.properties.push(new Style("ListParagraph")); this.properties.push(new Style("ListParagraph"));
this.properties.push(new NumberProperties()); this.properties.push(new NumberProperties(1, 0));
return this; return this;
} }
} }

View File

@ -3,10 +3,10 @@ import {Style} from "./style";
export class NumberProperties extends XmlComponent { export class NumberProperties extends XmlComponent {
constructor() { constructor(numberId: number, indentLevel: number) {
super("w:numPr"); super("w:numPr");
this.root.push(new IndentLevel(0)); this.root.push(new IndentLevel(indentLevel));
this.root.push(new NumberId(1)); this.root.push(new NumberId(numberId));
} }
} }

View File

@ -10,7 +10,7 @@ describe("NumberProperties", () => {
let numberProperties: NumberProperties; let numberProperties: NumberProperties;
beforeEach(() => { beforeEach(() => {
numberProperties = new NumberProperties(); numberProperties = new NumberProperties(5, 10);
}); });
describe("#constructor()", () => { describe("#constructor()", () => {
@ -22,11 +22,13 @@ describe("NumberProperties", () => {
it("should create a Page Break with a Indent Level inside", () => { it("should create a Page Break with a Indent Level inside", () => {
let newJson = jsonify(numberProperties); let newJson = jsonify(numberProperties);
assert.equal(newJson.root[0].rootKey, "w:ilvl"); assert.equal(newJson.root[0].rootKey, "w:ilvl");
assert.equal(newJson.root[0].root[0].root.val, 10);
}); });
it("should create a Page Break with a Number Id inside", () => { it("should create a Page Break with a Number Id inside", () => {
let newJson = jsonify(numberProperties); let newJson = jsonify(numberProperties);
assert.equal(newJson.root[1].rootKey, "w:numId"); assert.equal(newJson.root[1].rootKey, "w:numId");
assert.equal(newJson.root[1].root[0].root.val, 5);
}); });
}); });
}); });