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 {
this.properties.push(new Style("ListParagraph"));
this.properties.push(new NumberProperties());
this.properties.push(new NumberProperties(1, 0));
return this;
}
}

View File

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

View File

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