1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 14:48:08 +02:00

Create the "hiddenCopyElement" in the PDFViewer constructor (PR 16286 follow-up)

To make this functionality work out-of-the-box in custom implementations, see e.g. the "viewer components" examples, it'd be slightly easier if we dynamically create/insert the "hiddenCopyElement" in the `PDFViewer` constructor.
Given that the "copy all text" feature still appears to work just as before with this patch, hopefully I'm not overlooking any reason why doing this would be a bad idea.
This commit is contained in:
Jonas Jenwald 2023-04-16 09:07:22 +02:00
parent 92baf14531
commit 2fbbdd68cc
6 changed files with 5 additions and 8 deletions

View file

@ -504,7 +504,6 @@ const PDFViewerApplication = {
this.pdfViewer = new PDFViewer({
container,
viewer,
hiddenCopyElement: appConfig.hiddenCopyElement,
eventBus,
renderingQueue: pdfRenderingQueue,
linkService: pdfLinkService,

View file

@ -82,8 +82,6 @@ function isValidAnnotationEditorMode(mode) {
* @typedef {Object} PDFViewerOptions
* @property {HTMLDivElement} container - The container for the viewer element.
* @property {HTMLDivElement} [viewer] - The viewer element.
* @property {HTMLDivElement} [hiddenCopyElement] - The hidden element used to
* check if all is selected.
* @property {EventBus} eventBus - The application event bus.
* @property {IPDFLinkService} linkService - The navigation/linking service.
* @property {IDownloadManager} [downloadManager] - The download manager
@ -240,7 +238,6 @@ class PDFViewer {
}
this.container = options.container;
this.viewer = options.viewer || options.container.firstElementChild;
this.#hiddenCopyElement = options.hiddenCopyElement;
if (
typeof PDFJSDev === "undefined" ||
@ -257,6 +254,11 @@ class PDFViewer {
throw new Error("The `container` must be absolutely positioned.");
}
}
const hiddenCopyElement = (this.#hiddenCopyElement =
document.createElement("div"));
hiddenCopyElement.id = "hiddenCopyElement";
this.viewer.before(hiddenCopyElement);
this.#resizeObserver.observe(this.container);
this.eventBus = options.eventBus;

View file

@ -82,7 +82,6 @@ See https://github.com/adobe-type-tools/cmap-resources
<div id="mainContainer">
<div id="viewerContainer" tabindex="0">
<div id="hiddenCopyElement"></div>
<div id="viewer" class="pdfViewer"></div>
</div>
</div> <!-- mainContainer -->

View file

@ -41,7 +41,6 @@ function getViewerConfiguration() {
appContainer: document.body,
mainContainer,
viewerContainer: document.getElementById("viewer"),
hiddenCopyElement: document.getElementById("hiddenCopyElement"),
toolbar: {
mainContainer,
container: document.getElementById("floatingToolbar"),

View file

@ -385,7 +385,6 @@ See https://github.com/adobe-type-tools/cmap-resources
</div>
<div id="viewerContainer" tabindex="0">
<div id="hiddenCopyElement"></div>
<div id="viewer" class="pdfViewer"></div>
</div>
</div> <!-- mainContainer -->

View file

@ -41,7 +41,6 @@ function getViewerConfiguration() {
appContainer: document.body,
mainContainer: document.getElementById("viewerContainer"),
viewerContainer: document.getElementById("viewer"),
hiddenCopyElement: document.getElementById("hiddenCopyElement"),
toolbar: {
container: document.getElementById("toolbarViewer"),
numPages: document.getElementById("numPages"),