docx
Version:
Generate .docx documents with JavaScript (formerly Office-Clippy)
36 lines (27 loc) • 923 B
text/typescript
import { IMediaData } from "file/media";
import { XmlAttributeComponent, XmlComponent } from "file/xml-components";
import { GraphicData } from "./graphic-data";
interface IGraphicProperties {
readonly a: string;
}
class GraphicAttributes extends XmlAttributeComponent<IGraphicProperties> {
protected readonly xmlKeys = {
a: "xmlns:a",
};
}
export class Graphic extends XmlComponent {
private readonly data: GraphicData;
constructor(mediaData: IMediaData, x: number, y: number) {
super("a:graphic");
this.root.push(
new GraphicAttributes({
a: "http://schemas.openxmlformats.org/drawingml/2006/main",
}),
);
this.data = new GraphicData(mediaData, x, y);
this.root.push(this.data);
}
public setXY(x: number, y: number): void {
this.data.setXY(x, y);
}
}