// add page-of page number in a footer

import {
    CreateDocx,
    OptionsFooter,
    OptionsPageNumber,
    OptionsParagraph,
    WordFragment,
} from "../../../build";
import * as fs from "fs";

const docx = new CreateDocx();

// generate footer content
const footers: OptionsFooter[] = [];

// create page number
const wordFragmentPageNumber = new WordFragment();
const pageNumber: OptionsPageNumber = {
    type: "page-of",
    /* Default text strings can be translated
    stringsPageOf: {
        page: "Página",
        of: "de",
    },
    */
};
const optionsParagraph: OptionsParagraph = {
    italic: true,
};
wordFragmentPageNumber.addPageNumber(pageNumber, optionsParagraph);

const footerContentDefault: OptionsFooter = {
    text: wordFragmentPageNumber,
};
footers.push(footerContentDefault);

// add footers
docx.addFooter(footers);

// add some contents to the document
docx.addText("New content.");

docx.addBreak("page");
docx.addText("Content in a new page.");
docx.addBreak("page");
docx.addText("New content.");

docx.save().then(contents => {
    fs.writeFileSync("addPageNumber_2.docx", Buffer.from(contents));
});
