add settings option to add trackRevisions

This commit is contained in:
Thomas Jansen
2020-09-23 11:23:00 +02:00
parent 6b9467393e
commit 6cbe40cecb
3 changed files with 34 additions and 0 deletions

View File

@ -1,6 +1,7 @@
import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; import { XmlAttributeComponent, XmlComponent } from "file/xml-components";
import { Compatibility } from "./compatibility"; import { Compatibility } from "./compatibility";
import { UpdateFields } from "./update-fields"; import { UpdateFields } from "./update-fields";
import { TrackRevisions } from "./track-revisions";
export interface ISettingsAttributesProperties { export interface ISettingsAttributesProperties {
readonly wpc?: string; readonly wpc?: string;
@ -46,6 +47,7 @@ export class SettingsAttributes extends XmlAttributeComponent<ISettingsAttribute
export class Settings extends XmlComponent { export class Settings extends XmlComponent {
private readonly compatibility; private readonly compatibility;
private readonly trackRevisions;
constructor() { constructor() {
super("w:settings"); super("w:settings");
@ -71,6 +73,7 @@ export class Settings extends XmlComponent {
}), }),
); );
this.compatibility = new Compatibility(); this.compatibility = new Compatibility();
this.trackRevisions = new TrackRevisions();
} }
public addUpdateFields(): void { public addUpdateFields(): void {
@ -86,4 +89,12 @@ export class Settings extends XmlComponent {
return this.compatibility; return this.compatibility;
} }
public addTrackRevisions(): TrackRevisions {
if (!this.root.find((child) => child instanceof TrackRevisions)) {
this.addChildElement(this.trackRevisions);
}
return this.trackRevisions;
}
} }

View File

@ -0,0 +1,16 @@
import { expect } from "chai";
import { Formatter } from "export/formatter";
import { TrackRevisions } from "file/settings/track-revisions";
import { EMPTY_OBJECT } from "file/xml-components";
describe("TrackRevisions", () => {
describe("#constructor", () => {
it("creates an initially empty property object", () => {
const trackRevisions = new TrackRevisions();
const tree = new Formatter().format(trackRevisions);
expect(tree).to.deep.equal({ "w:trackRevisions": EMPTY_OBJECT });
});
});
});

View File

@ -0,0 +1,7 @@
import { XmlComponent } from "file/xml-components";
export class TrackRevisions extends XmlComponent {
constructor() {
super("w:trackRevisions");
}
}