import Worker from '../worker.js'; import { unitConvert } from '../utils.js'; // Add hyperlink functionality to the PDF creation. // Main link array, and refs to original functions. var linkInfo = []; var orig = { toContainer: Worker.prototype.toContainer, toPdf: Worker.prototype.toPdf, }; Worker.prototype.toContainer = function toContainer() { return orig.toContainer.call(this).then(function toContainer_hyperlink() { // Retrieve hyperlink info if the option is enabled. if (this.opt.enableLinks) { // Find all anchor tags and get the container's bounds for reference. var container = this.prop.container; var links = container.querySelectorAll('a'); var containerRect = unitConvert(container.getBoundingClientRect(), this.prop.pageSize.k); linkInfo = []; // Loop through each anchor tag. Array.prototype.forEach.call(links, function(link) { // Treat each client rect as a separate link (for text-wrapping). var clientRects = link.getClientRects(); for (var i=0; i