#1699 Allow images to work with Hyperlink
Add stack to IContext for prepForXml
This commit is contained in:
@ -1,6 +1,21 @@
|
||||
import { XmlComponent } from "@file/xml-components";
|
||||
import { IContext, IXmlableObject, XmlComponent } from "@file/xml-components";
|
||||
import { createHyperlinkClick } from "@file/drawing/doc-properties/doc-properties-children";
|
||||
import { ConcreteHyperlink } from "@file/paragraph";
|
||||
|
||||
import { NonVisualPropertiesAttributes } from "./non-visual-properties-attributes";
|
||||
|
||||
// <complexType name="CT_NonVisualDrawingProps">
|
||||
// <sequence>
|
||||
// <element name="hlinkClick" type="CT_Hyperlink" minOccurs="0" maxOccurs="1" />
|
||||
// <element name="hlinkHover" type="CT_Hyperlink" minOccurs="0" maxOccurs="1" />
|
||||
// <element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1" />
|
||||
// </sequence>
|
||||
// <attribute name="id" type="ST_DrawingElementId" use="required" />
|
||||
// <attribute name="name" type="xsd:string" use="required" />
|
||||
// <attribute name="descr" type="xsd:string" use="optional" default="" />
|
||||
// <attribute name="hidden" type="xsd:boolean" use="optional" default="false" />
|
||||
// </complexType>
|
||||
|
||||
export class NonVisualProperties extends XmlComponent {
|
||||
public constructor() {
|
||||
super("pic:cNvPr");
|
||||
@ -13,4 +28,19 @@ export class NonVisualProperties extends XmlComponent {
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
public prepForXml(context: IContext): IXmlableObject | undefined {
|
||||
for (let i = context.stack.length - 1; i >= 0; i--) {
|
||||
const element = context.stack[i];
|
||||
if (!(element instanceof ConcreteHyperlink)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
this.root.push(createHyperlinkClick(element.linkId, false));
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return super.prepForXml(context);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user