paragraph: add support for page break before format property (#7)
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
import { assert } from "chai";
|
import { assert } from "chai";
|
||||||
|
|
||||||
import { Utility } from "../../../tests/utility";
|
import { Utility } from "../../../tests/utility";
|
||||||
import { PageBreak } from "./page-break";
|
import { PageBreak, PageBreakBefore } from "./page-break";
|
||||||
|
|
||||||
describe("PageBreak", () => {
|
describe("PageBreak", () => {
|
||||||
let pageBreak: 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());
|
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()", () => {
|
describe("#bullet()", () => {
|
||||||
it("should add list paragraph style to JSON", () => {
|
it("should add list paragraph style to JSON", () => {
|
||||||
paragraph.bullet();
|
paragraph.bullet();
|
||||||
|
@ -8,7 +8,7 @@ import { Alignment } from "./formatting/alignment";
|
|||||||
import { ThematicBreak } from "./formatting/border";
|
import { ThematicBreak } from "./formatting/border";
|
||||||
import { Indent } from "./formatting/indent";
|
import { Indent } from "./formatting/indent";
|
||||||
import { KeepLines, KeepNext } from "./formatting/keep";
|
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 { ISpacingProperties, Spacing } from "./formatting/spacing";
|
||||||
import { Style } from "./formatting/style";
|
import { Style } from "./formatting/style";
|
||||||
import { CenterTabStop, LeftTabStop, MaxRightTabStop, RightTabStop } from "./formatting/tab-stop";
|
import { CenterTabStop, LeftTabStop, MaxRightTabStop, RightTabStop } from "./formatting/tab-stop";
|
||||||
@ -104,6 +104,11 @@ export class Paragraph extends XmlComponent {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public pageBreakBefore(): Paragraph {
|
||||||
|
this.properties.push(new PageBreakBefore());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public maxRightTabStop(): Paragraph {
|
public maxRightTabStop(): Paragraph {
|
||||||
this.properties.push(new MaxRightTabStop());
|
this.properties.push(new MaxRightTabStop());
|
||||||
return this;
|
return this;
|
||||||
|
Reference in New Issue
Block a user