aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-05-30 11:05:18 +0100
committerMichael Williamson <mike@zwobble.org>2017-05-30 11:05:18 +0100
commita9661689a03cdaf3590250a0bd7887f07aeafa7e (patch)
tree57f33c9506abd51eb5867a373ae011e2d7e1c206 /lib
parent9cc065c434b00b10ba234afa952fedf7e20a59af (diff)
Read target frame on hyperlinks
Diffstat (limited to 'lib')
-rw-r--r--lib/documents.js3
-rw-r--r--lib/docx/body-reader.js13
2 files changed, 13 insertions, 3 deletions
diff --git a/lib/documents.js b/lib/documents.js
index 81fea00..605b1b4 100644
--- a/lib/documents.js
+++ b/lib/documents.js
@@ -81,7 +81,8 @@ function Hyperlink(children, options) {
type: types.hyperlink,
children: children,
href: options.href,
- anchor: options.anchor
+ anchor: options.anchor,
+ targetFrame: options.targetFrame
};
}
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index f035c1a..71c9855 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -208,14 +208,23 @@ function BodyReader(options) {
var relationshipId = element.attributes["r:id"];
var anchor = element.attributes["w:anchor"];
return readXmlElements(element.children).map(function(children) {
+ function create(options) {
+ var targetFrame = element.attributes["w:tgtFrame"];
+
+ return new documents.Hyperlink(
+ children,
+ _.extend({targetFrame: targetFrame}, options)
+ );
+ }
+
if (relationshipId) {
var href = relationships[relationshipId].target;
if (anchor) {
href = uris.replaceFragment(href, anchor);
}
- return new documents.Hyperlink(children, {href: href});
+ return create({href: href});
} else if (anchor) {
- return new documents.Hyperlink(children, {anchor: anchor});
+ return create({anchor: anchor});
} else {
return children;
}