Add footnotes class
This commit is contained in:
13
src/file/footnotes/footnote/footnote-attributes.ts
Normal file
13
src/file/footnotes/footnote/footnote-attributes.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { XmlAttributeComponent } from "file/xml-components";
|
||||||
|
|
||||||
|
export interface IFootnoteAttributesProperties {
|
||||||
|
type?: string;
|
||||||
|
id: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class FootnoteAttributes extends XmlAttributeComponent<IFootnoteAttributesProperties> {
|
||||||
|
protected xmlKeys = {
|
||||||
|
type: "w:type",
|
||||||
|
id: "w:id",
|
||||||
|
};
|
||||||
|
}
|
19
src/file/footnotes/footnote/footnote.ts
Normal file
19
src/file/footnotes/footnote/footnote.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { XmlComponent } from "file/xml-components";
|
||||||
|
import { Paragraph } from "../../paragraph";
|
||||||
|
import { FootnoteAttributes } from "./footnote-attributes";
|
||||||
|
|
||||||
|
export class FootNote extends XmlComponent {
|
||||||
|
constructor(id: number, type?: string) {
|
||||||
|
super("w:footnote");
|
||||||
|
this.root.push(
|
||||||
|
new FootnoteAttributes({
|
||||||
|
type: type,
|
||||||
|
id: id,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public addParagraph(paragraph: Paragraph): void {
|
||||||
|
this.root.push(paragraph);
|
||||||
|
}
|
||||||
|
}
|
43
src/file/footnotes/footnotes-attributes.ts
Normal file
43
src/file/footnotes/footnotes-attributes.ts
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { XmlAttributeComponent } from "file/xml-components";
|
||||||
|
|
||||||
|
export interface IFootnotesAttributesProperties {
|
||||||
|
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 FootnotesAttributes extends XmlAttributeComponent<IFootnotesAttributesProperties> {
|
||||||
|
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",
|
||||||
|
};
|
||||||
|
}
|
@ -1,4 +1,54 @@
|
|||||||
export class FootNotes {
|
import { XmlComponent } from "file/xml-components";
|
||||||
|
import { FootNote } from "./footnote/footnote";
|
||||||
|
import { FootnotesAttributes } from "./footnotes-attributes";
|
||||||
|
import { Paragraph } from "../paragraph";
|
||||||
|
|
||||||
|
export class FootNotes extends XmlComponent {
|
||||||
|
constructor() {
|
||||||
|
super("w:footnotes");
|
||||||
|
this.root.push(
|
||||||
|
new FootnotesAttributes({
|
||||||
|
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",
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
const begin = new FootNote(-1);
|
||||||
|
begin.addParagraph(
|
||||||
|
new Paragraph().spacing({
|
||||||
|
after: 0,
|
||||||
|
line: 240,
|
||||||
|
lineRule: "auto",
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
this.root.push(begin);
|
||||||
|
|
||||||
|
const spacing = new FootNote(0);
|
||||||
|
spacing.addParagraph(
|
||||||
|
new Paragraph().spacing({
|
||||||
|
after: 0,
|
||||||
|
line: 240,
|
||||||
|
lineRule: "auto",
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
this.root.push(spacing);
|
||||||
|
}
|
||||||
|
|
||||||
public createFootNote(): void {
|
public createFootNote(): void {
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ export interface ISpacingProperties {
|
|||||||
after?: number;
|
after?: number;
|
||||||
before?: number;
|
before?: number;
|
||||||
line?: number;
|
line?: number;
|
||||||
|
lineRule?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
class SpacingAttributes extends XmlAttributeComponent<ISpacingProperties> {
|
class SpacingAttributes extends XmlAttributeComponent<ISpacingProperties> {
|
||||||
@ -12,6 +13,7 @@ class SpacingAttributes extends XmlAttributeComponent<ISpacingProperties> {
|
|||||||
after: "w:after",
|
after: "w:after",
|
||||||
before: "w:before",
|
before: "w:before",
|
||||||
line: "w:line",
|
line: "w:line",
|
||||||
|
lineRule: "w:lineRule",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user