From 0eb36be0539ec9b06c8455d3494a080f815cb97f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Mendon=C3=A7a?= Date: Mon, 17 Sep 2018 22:09:05 -0300 Subject: [PATCH] there is no need for the settings.xml file anymore --- src/export/packer/next-compiler.spec.ts | 5 +- src/export/packer/next-compiler.ts | 5 -- src/file/file.ts | 8 +-- src/file/settings/index.ts | 2 - src/file/settings/settings.spec.ts | 78 ------------------------- src/file/settings/settings.ts | 77 ------------------------ src/file/settings/update-fields.spec.ts | 46 --------------- src/file/settings/update-fields.ts | 22 ------- 8 files changed, 4 insertions(+), 239 deletions(-) delete mode 100644 src/file/settings/index.ts delete mode 100644 src/file/settings/settings.spec.ts delete mode 100644 src/file/settings/settings.ts delete mode 100644 src/file/settings/update-fields.spec.ts delete mode 100644 src/file/settings/update-fields.ts diff --git a/src/export/packer/next-compiler.spec.ts b/src/export/packer/next-compiler.spec.ts index 6398fa8b46..fc02d4a814 100644 --- a/src/export/packer/next-compiler.spec.ts +++ b/src/export/packer/next-compiler.spec.ts @@ -19,7 +19,7 @@ describe("Compiler", () => { const fileNames = Object.keys(zipFile.files).map((f) => zipFile.files[f].name); expect(fileNames).is.an.instanceof(Array); - expect(fileNames).has.length(18); + expect(fileNames).has.length(17); expect(fileNames).to.include("word/document.xml"); expect(fileNames).to.include("word/styles.xml"); expect(fileNames).to.include("docProps/core.xml"); @@ -31,7 +31,6 @@ describe("Compiler", () => { expect(fileNames).to.include("word/footnotes.xml"); expect(fileNames).to.include("word/_rels/footer1.xml.rels"); expect(fileNames).to.include("word/_rels/document.xml.rels"); - expect(fileNames).to.include("word/settings.xml"); expect(fileNames).to.include("[Content_Types].xml"); expect(fileNames).to.include("_rels/.rels"); }); @@ -48,7 +47,7 @@ describe("Compiler", () => { const fileNames = Object.keys(zipFile.files).map((f) => zipFile.files[f].name); expect(fileNames).is.an.instanceof(Array); - expect(fileNames).has.length(26); + expect(fileNames).has.length(25); expect(fileNames).to.include("word/header1.xml"); expect(fileNames).to.include("word/_rels/header1.xml.rels"); diff --git a/src/export/packer/next-compiler.ts b/src/export/packer/next-compiler.ts index 6ee989d33e..f06c09e196 100644 --- a/src/export/packer/next-compiler.ts +++ b/src/export/packer/next-compiler.ts @@ -23,7 +23,6 @@ interface IXmlifyedFileMapping { ContentTypes: IXmlifyedFile; AppProperties: IXmlifyedFile; FootNotes: IXmlifyedFile; - Settings: IXmlifyedFile; } export class Compiler { @@ -121,10 +120,6 @@ export class Compiler { data: xml(this.formatter.format(file.FootNotes)), path: "word/footnotes.xml", }, - Settings: { - data: xml(this.formatter.format(file.Settings)), - path: "word/settings.xml", - }, }; } } diff --git a/src/file/file.ts b/src/file/file.ts index baff385317..69a2f53a2c 100644 --- a/src/file/file.ts +++ b/src/file/file.ts @@ -10,7 +10,6 @@ import { Image, Media } from "./media"; import { Numbering } from "./numbering"; import { Bookmark, Hyperlink, Paragraph } from "./paragraph"; import { Relationships } from "./relationships"; -import { Settings } from "./settings"; import { Styles } from "./styles"; import { ExternalStylesFactory } from "./styles/external-styles-factory"; import { DefaultStylesFactory } from "./styles/factory"; @@ -28,7 +27,6 @@ export class File { private readonly headerWrapper: HeaderWrapper[] = []; private readonly footerWrapper: FooterWrapper[] = []; private readonly footNotes: FootNotes; - private readonly settings: Settings; private readonly contentTypes: ContentTypes; private readonly appProperties: AppProperties; @@ -108,12 +106,10 @@ export class File { sectionPropertiesOptions.footerId = footer.Footer.ReferenceId; } this.document = new Document(sectionPropertiesOptions); - this.settings = new Settings(); } public addTableOfContents(toc: TableOfContents): void { this.document.addTableOfContents(toc); - this.settings.addUpdateFields(); } public addParagraph(paragraph: Paragraph): void { @@ -287,7 +283,7 @@ export class File { return this.footNotes; } - public get Settings(): Settings { - return this.settings; + public generateTablesOfContents(): void { + } } diff --git a/src/file/settings/index.ts b/src/file/settings/index.ts deleted file mode 100644 index d750485a16..0000000000 --- a/src/file/settings/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./settings"; -export * from "./update-fields"; diff --git a/src/file/settings/settings.spec.ts b/src/file/settings/settings.spec.ts deleted file mode 100644 index 9b29e04d69..0000000000 --- a/src/file/settings/settings.spec.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { expect } from "chai"; - -import { Formatter } from "../../export/formatter"; -import { Settings } from "./"; - -describe("Settings", () => { - describe("#constructor", () => { - it("should create a empty Settings with correct rootKey", () => { - const settings = new Settings(); - const tree = new Formatter().format(settings); - let keys = Object.keys(tree); - - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("w:settings"); - - expect(tree["w:settings"]).is.an.instanceof(Array); - expect(tree["w:settings"]).has.length(1); - - keys = Object.keys(tree["w:settings"][0]); - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("_attr"); - }); - }); - - describe("#addUpdateFields", () => { - const assertSettingsWithUpdateFields = (settings: Settings) => { - const tree = new Formatter().format(settings); - let keys = Object.keys(tree); - - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("w:settings"); - - const rootArray = tree["w:settings"]; - expect(rootArray).is.an.instanceof(Array); - expect(rootArray).has.length(2); - - keys = Object.keys(rootArray[0]); - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("_attr"); - - keys = Object.keys(rootArray[1]); - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("w:updateFields"); - - const updateFieldsArray = rootArray[1]["w:updateFields"]; - keys = Object.keys(updateFieldsArray[0]); - expect(keys).is.an.instanceof(Array); - expect(keys).has.length(1); - expect(keys[0]).to.be.equal("_attr"); - - const updateFieldsAttr = updateFieldsArray[0]._attr; - expect(updateFieldsAttr["w:val"]).to.be.equal(true); - }; - - it("should add a UpdateFields with value true", () => { - const settings = new Settings(); - settings.addUpdateFields(); - - assertSettingsWithUpdateFields(settings); - }); - - it("should add a UpdateFields with value true only once", () => { - const settings = new Settings(); - settings.addUpdateFields(); - - assertSettingsWithUpdateFields(settings); - - settings.addUpdateFields(); - - assertSettingsWithUpdateFields(settings); - }); - }); -}); diff --git a/src/file/settings/settings.ts b/src/file/settings/settings.ts deleted file mode 100644 index 15e473efc9..0000000000 --- a/src/file/settings/settings.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; -import { UpdateFields } from "./update-fields"; - -export interface ISettingsAttributesProperties { - wpc?: string; - mc?: string; - o?: string; - r?: string; - m?: string; - v?: string; - wp14?: string; - wp?: string; - w10?: string; - w?: string; - w14?: string; - w15?: string; - wpg?: string; - wpi?: string; - wne?: string; - wps?: string; - Ignorable?: string; -} - -export class SettingsAttributes extends XmlAttributeComponent { - protected xmlKeys = { - wpc: "xmlns:wpc", - mc: "xmlns:mc", - o: "xmlns:o", - r: "xmlns:r", - m: "xmlns:m", - v: "xmlns:v", - wp14: "xmlns:wp14", - wp: "xmlns:wp", - w10: "xmlns:w10", - w: "xmlns:w", - w14: "xmlns:w14", - w15: "xmlns:w15", - wpg: "xmlns:wpg", - wpi: "xmlns:wpi", - wne: "xmlns:wne", - wps: "xmlns:wps", - Ignorable: "mc:Ignorable", - }; -} - -export class Settings extends XmlComponent { - constructor() { - super("w:settings"); - this.root.push( - new SettingsAttributes({ - wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas", - mc: "http://schemas.openxmlformats.org/markup-compatibility/2006", - o: "urn:schemas-microsoft-com:office:office", - r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships", - m: "http://schemas.openxmlformats.org/officeDocument/2006/math", - v: "urn:schemas-microsoft-com:vml", - wp14: "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing", - wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", - w10: "urn:schemas-microsoft-com:office:word", - w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - w14: "http://schemas.microsoft.com/office/word/2010/wordml", - w15: "http://schemas.microsoft.com/office/word/2012/wordml", - wpg: "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup", - wpi: "http://schemas.microsoft.com/office/word/2010/wordprocessingInk", - wne: "http://schemas.microsoft.com/office/word/2006/wordml", - wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape", - Ignorable: "w14 w15 wp14", - }), - ); - } - - public addUpdateFields(): void { - if (!this.root.find((child) => child instanceof UpdateFields)) { - this.addChildElement(new UpdateFields()); - } - } -} diff --git a/src/file/settings/update-fields.spec.ts b/src/file/settings/update-fields.spec.ts deleted file mode 100644 index 0e0ed1ed4b..0000000000 --- a/src/file/settings/update-fields.spec.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { expect } from "chai"; - -import { Formatter } from "../../export/formatter"; -import { UpdateFields } from "./"; - -const UF_TRUE = { - "w:updateFields": [ - { - _attr: { - "w:val": true, - }, - }, - ], -}; - -const UF_FALSE = { - "w:updateFields": [ - { - _attr: { - "w:val": false, - }, - }, - ], -}; - -describe("Update Fields", () => { - describe("#constructor", () => { - it("should construct a Update Fields with TRUE value by default", () => { - const uf = new UpdateFields(); - const tree = new Formatter().format(uf); - expect(tree).to.be.deep.equal(UF_TRUE); - }); - - it("should construct a Update Fields with TRUE value", () => { - const uf = new UpdateFields(true); - const tree = new Formatter().format(uf); - expect(tree).to.be.deep.equal(UF_TRUE); - }); - - it("should construct a Update Fields with FALSE value", () => { - const uf = new UpdateFields(false); - const tree = new Formatter().format(uf); - expect(tree).to.be.deep.equal(UF_FALSE); - }); - }); -}); diff --git a/src/file/settings/update-fields.ts b/src/file/settings/update-fields.ts deleted file mode 100644 index fdb3208f58..0000000000 --- a/src/file/settings/update-fields.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; - -export interface IUpdateFieldsAttributesProperties { - enabled: boolean; -} - -export class UpdateFieldsAttributes extends XmlAttributeComponent { - protected xmlKeys = { - enabled: "w:val", - }; -} - -export class UpdateFields extends XmlComponent { - constructor(enabled: boolean = true) { - super("w:updateFields"); - this.root.push( - new UpdateFieldsAttributes({ - enabled, - }), - ); - } -}