diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-05-30 11:05:18 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-05-30 11:05:18 +0100 |
| commit | a9661689a03cdaf3590250a0bd7887f07aeafa7e (patch) | |
| tree | 57f33c9506abd51eb5867a373ae011e2d7e1c206 /lib | |
| parent | 9cc065c434b00b10ba234afa952fedf7e20a59af (diff) | |
Read target frame on hyperlinks
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/documents.js | 3 | ||||
| -rw-r--r-- | lib/docx/body-reader.js | 13 |
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; } |
