diff --git a/ts/docx/xml-components/index.ts b/ts/docx/xml-components/index.ts index b31ed77147..5bd111a2a0 100644 --- a/ts/docx/xml-components/index.ts +++ b/ts/docx/xml-components/index.ts @@ -6,6 +6,19 @@ export abstract class XmlComponent { this.root = new Array(); this.rootKey = rootKey; } + + replaceKey() { + console.log(this.rootKey); + console.log(this.root); + if (this.root !== undefined) { + this.root.forEach(root => { + root.replaceKey(); + }); + } + this[this.rootKey] = this.root; + //Object(this)[this.rootKey] + delete this.root; + } } interface AttributesProperties { diff --git a/ts/export/formatter.ts b/ts/export/formatter.ts index bde53e9b6f..2d736008fd 100644 --- a/ts/export/formatter.ts +++ b/ts/export/formatter.ts @@ -1,24 +1,33 @@ import * as _ from "lodash"; +import {XmlComponent} from "../docx/xml-components"; export class Formatter { format(input: any): Object { + this.replaceKeys(input); + var newJson = this.clense(input); + + return newJson; + } + + private replaceKeys(input: XmlComponent): Object { + input.replaceKey(); this.deepTraverseJson(input, (parent, value, key) => { - if (isNaN(key) && key !== "rootKey") { + /*if (isNaN(key) && key !== "rootKey") { var newKey = parent.rootKey; console.log(key); - if (newKey !== key) { + if (newKey) { parent[newKey] = parent[key]; delete parent[key]; } else { //console.error("Key is not in dictionary:" + key); } - } + }*/ + //console.log(value); + //parent.replaceKey(); }); - - var newJson = this.clense(input); - - return newJson; + + return input; } private clense(input: any): Object {