paragraph: add support for page break before format property (#7)
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import { assert } from "chai";
|
||||
|
||||
import { Utility } from "../../../tests/utility";
|
||||
import { PageBreak } from "./page-break";
|
||||
import { PageBreak, PageBreakBefore } from "./page-break";
|
||||
|
||||
describe("PageBreak", () => {
|
||||
let pageBreak: PageBreak;
|
||||
@ -30,3 +30,11 @@ describe("PageBreak", () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("PageBreakBefore", () => {
|
||||
it("should create page break before", () => {
|
||||
const pageBreakBefore = new PageBreakBefore();
|
||||
const newJson = Utility.jsonify(pageBreakBefore);
|
||||
assert.equal(newJson.rootKey, "w:pageBreakBefore");
|
||||
});
|
||||
});
|
||||
|
@ -19,3 +19,12 @@ export class PageBreak extends Run {
|
||||
this.root.push(new Break());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add page break before the paragraph if there is no one added before.
|
||||
*/
|
||||
export class PageBreakBefore extends XmlComponent {
|
||||
constructor() {
|
||||
super("w:pageBreakBefore");
|
||||
}
|
||||
}
|
||||
|
@ -161,6 +161,22 @@ describe("Paragraph", () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe("#pageBreakBefore()", () => {
|
||||
it("should add page break before to JSON", () => {
|
||||
paragraph.pageBreakBefore();
|
||||
const tree = new Formatter().format(paragraph);
|
||||
expect(tree).to.deep.equal({
|
||||
"w:p": [
|
||||
{
|
||||
"w:pPr": [{
|
||||
"w:pageBreakBefore": []
|
||||
}],
|
||||
}
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("#bullet()", () => {
|
||||
it("should add list paragraph style to JSON", () => {
|
||||
paragraph.bullet();
|
||||
|
@ -8,7 +8,7 @@ import { Alignment } from "./formatting/alignment";
|
||||
import { ThematicBreak } from "./formatting/border";
|
||||
import { Indent } from "./formatting/indent";
|
||||
import { KeepLines, KeepNext } from "./formatting/keep";
|
||||
import { PageBreak } from "./formatting/page-break";
|
||||
import { PageBreak, PageBreakBefore } from "./formatting/page-break";
|
||||
import { ISpacingProperties, Spacing } from "./formatting/spacing";
|
||||
import { Style } from "./formatting/style";
|
||||
import { CenterTabStop, LeftTabStop, MaxRightTabStop, RightTabStop } from "./formatting/tab-stop";
|
||||
@ -104,6 +104,11 @@ export class Paragraph extends XmlComponent {
|
||||
return this;
|
||||
}
|
||||
|
||||
public pageBreakBefore(): Paragraph {
|
||||
this.properties.push(new PageBreakBefore());
|
||||
return this;
|
||||
}
|
||||
|
||||
public maxRightTabStop(): Paragraph {
|
||||
this.properties.push(new MaxRightTabStop());
|
||||
return this;
|
||||
|
Reference in New Issue
Block a user