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:
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
Reference in New Issue
Block a user