Simplify run format properties, removing duplicate classes. Add values functions, which check and clean up values for specific defined types from the schema

This commit is contained in:
Tom Hunkapiller
2021-05-24 08:20:08 +03:00
parent 449e1ed963
commit ee105cdb83
13 changed files with 274 additions and 265 deletions

View File

@ -18,6 +18,7 @@
// <xsd:attribute name="themeFillShade" type="ST_UcharHexNumber" use="optional"/>
// </xsd:complexType>
import { XmlAttributeComponent, XmlComponent } from "file/xml-components";
import { hexColorValue } from "../values";
export interface IShadingAttributesProperties {
readonly fill?: string;
@ -34,9 +35,15 @@ class ShadingAttributes extends XmlAttributeComponent<IShadingAttributesProperti
}
export class Shading extends XmlComponent {
constructor(attrs: IShadingAttributesProperties) {
constructor({ fill, color, val }: IShadingAttributesProperties) {
super("w:shd");
this.root.push(new ShadingAttributes(attrs));
this.root.push(
new ShadingAttributes({
fill: fill === undefined ? fill : hexColorValue(fill),
color: color === undefined ? color : hexColorValue(color),
val,
}),
);
}
}