Skip to content

Commit

Permalink
add run options to ParagraphPropertiesOptions (#2457)
Browse files Browse the repository at this point in the history
  • Loading branch information
yuanliwei authored Dec 22, 2023
1 parent 33715cc commit d83e089
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/file/paragraph/properties.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,5 +158,37 @@ describe("ParagraphProperties", () => {
],
});
});

it("should create with the run property", () => {
const properties = new ParagraphProperties({
run: {
size: "10pt",
},
});
const tree = new Formatter().format(properties);

expect(tree).to.deep.equal({
"w:pPr": [
{
"w:rPr": [
{
"w:sz": {
_attr: {
"w:val": "10pt",
},
},
},
{
"w:szCs": {
_attr: {
"w:val": "10pt",
},
},
},
],
},
],
});
});
});
});
9 changes: 9 additions & 0 deletions src/file/paragraph/properties.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { NumberProperties } from "./formatting/unordered-list";
import { WordWrap } from "./formatting/word-wrap";
import { FrameProperties, IFrameOptions } from "./frame/frame-properties";
import { OutlineLevel } from "./links";
import { IRunOptions, RunProperties } from ".";

export interface ILevelParagraphStylePropertiesOptions {
readonly alignment?: AlignmentType;
Expand Down Expand Up @@ -65,6 +66,10 @@ export interface IParagraphPropertiesOptions extends IParagraphStylePropertiesOp
* This only works in Microsoft Word. It is not part of the ECMA-376 OOXML standard.
*/
readonly autoSpaceEastAsianText?: boolean;
/**
* Reference: ECMA-376, 3rd Edition (June, 2011), Fundamentals and Markup Language Reference § 17.3.1.29.
*/
readonly run?: IRunOptions;
}

export class ParagraphProperties extends IgnoreIfEmptyXmlComponent {
Expand Down Expand Up @@ -195,6 +200,10 @@ export class ParagraphProperties extends IgnoreIfEmptyXmlComponent {
if (options.autoSpaceEastAsianText !== undefined) {
this.push(new OnOffElement("w:autoSpaceDN", options.autoSpaceEastAsianText));
}

if (options.run) {
this.push(new RunProperties(options.run));
}
}

public push(item: XmlComponent): void {
Expand Down

0 comments on commit d83e089

Please sign in to comment.