correct sdt objects of table of contents

This commit is contained in:
Sergio Mendonça
2018-09-20 10:47:10 -03:00
parent 4805efad2e
commit 1cff104bae
4 changed files with 73 additions and 45 deletions

View File

@ -1,9 +1,9 @@
import { Paragraph } from "file/paragraph"; import { Paragraph } from "file/paragraph";
import { XmlComponent } from "file/xml-components"; import { XmlComponent } from "file/xml-components";
export class StdContent extends XmlComponent { export class SdtContent extends XmlComponent {
constructor() { constructor() {
super("w:stdContent"); super("w:sdtContent");
} }
public addGeneratedContent(paragraph: Paragraph): void { public addGeneratedContent(paragraph: Paragraph): void {

View File

@ -1,9 +1,9 @@
import { XmlComponent } from "file/xml-components"; import { XmlComponent } from "file/xml-components";
import { Alias } from "./alias"; import { Alias } from "./alias";
export class StdProperties extends XmlComponent { export class SdtProperties extends XmlComponent {
constructor(alias: string) { constructor(alias: string) {
super("w:stdPr"); super("w:sdtPr");
this.root.push(new Alias(alias)); this.root.push(new Alias(alias));
} }
} }

View File

@ -4,39 +4,14 @@ import { Formatter } from "../../export/formatter";
import { TableOfContents } from "./"; import { TableOfContents } from "./";
const DEFAULT_TOC = { const DEFAULT_TOC = {
"w:p": [ "w:sdt": [
{ {
"w:pPr": [], "w:sdtPr": [
},
{
"w:r": [
{ {
"w:rPr": [], "w:alias": [
},
{
"w:fldChar": [
{ {
_attr: { _attr: {
"w:fldCharType": "begin", "w:val": "Table of Contents",
},
},
],
},
{
"w:instrText": [
{
_attr: {
"xml:space": "preserve",
},
},
'TOC \\o "1-6"',
],
},
{
"w:fldChar": [
{
_attr: {
"w:fldCharType": "separate",
}, },
}, },
], ],
@ -44,16 +19,69 @@ const DEFAULT_TOC = {
], ],
}, },
{ {
"w:r": [ "w:sdtContent": [
{ {
"w:rPr": [], "w:p": [
{
"w:pPr": [],
},
{
"w:r": [
{
"w:rPr": [],
},
{
"w:fldChar": [
{
_attr: {
"w:fldCharType": "begin",
},
},
],
},
{
"w:instrText": [
{
_attr: {
"xml:space": "preserve",
},
},
'TOC \\o "1-6"',
],
},
{
"w:fldChar": [
{
_attr: {
"w:fldCharType": "separate",
},
},
],
},
],
},
],
}, },
{ {
"w:fldChar": [ "w:p": [
{ {
_attr: { "w:pPr": [],
"w:fldCharType": "end", },
}, {
"w:r": [
{
"w:rPr": [],
},
{
"w:fldChar": [
{
_attr: {
"w:fldCharType": "end",
},
},
],
},
],
}, },
], ],
}, },

View File

@ -3,22 +3,22 @@ import { Paragraph } from "file/paragraph";
import { Run } from "file/paragraph/run"; import { Run } from "file/paragraph/run";
import { Begin, End, Separate } from "file/paragraph/run/field"; import { Begin, End, Separate } from "file/paragraph/run/field";
import { XmlComponent } from "file/xml-components"; import { XmlComponent } from "file/xml-components";
import { StdContent } from "./std-content"; import { SdtContent } from "./sdt-content";
import { StdProperties } from "./std-properties"; import { SdtProperties } from "./sdt-properties";
import { TableOfContentsInstruction } from "./table-of-contents-instruction"; import { TableOfContentsInstruction } from "./table-of-contents-instruction";
export class TableOfContents extends XmlComponent { export class TableOfContents extends XmlComponent {
// private readonly tocProperties: TableOfContentsProperties; // private readonly tocProperties: TableOfContentsProperties;
private readonly properties: StdProperties; private readonly properties: SdtProperties;
private readonly content: StdContent; private readonly content: SdtContent;
private readonly instruction: TableOfContentsInstruction; private readonly instruction: TableOfContentsInstruction;
constructor(/*tocProperties?: TableOfContentsProperties*/) { constructor(/*tocProperties?: TableOfContentsProperties*/) {
super("w:sdt"); super("w:sdt");
this.properties = new StdProperties("Table of Contents"); this.properties = new SdtProperties("Table of Contents");
this.content = new StdContent(); this.content = new SdtContent();
this.instruction = new TableOfContentsInstruction(); this.instruction = new TableOfContentsInstruction();
this.root.push(this.properties); this.root.push(this.properties);
this.root.push(this.content); this.root.push(this.content);