Merge pull request #16017 from calixteman/hide_struct_tree

Hide the struct tree layer during zooming
This commit is contained in:
calixteman 2023-02-09 11:32:28 +01:00 committed by GitHub
commit ff3b9ccf6e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 0 deletions

View File

@ -417,6 +417,7 @@ class PDFPageView {
if (treeDom) { if (treeDom) {
this.canvas?.append(treeDom); this.canvas?.append(treeDom);
} }
this.structTreeLayer?.show();
} }
async #buildXfaTextContentItems(textDivs) { async #buildXfaTextContentItems(textDivs) {
@ -505,6 +506,7 @@ class PDFPageView {
if (textLayerNode) { if (textLayerNode) {
this.textLayer.hide(); this.textLayer.hide();
} }
this.structTreeLayer?.hide();
if (!zoomLayerNode) { if (!zoomLayerNode) {
if (this.canvas) { if (this.canvas) {
@ -776,6 +778,7 @@ class PDFPageView {
if (this.textLayer) { if (this.textLayer) {
if (hideTextLayer) { if (hideTextLayer) {
this.textLayer.hide(); this.textLayer.hide();
this.structTreeLayer?.hide();
} else if (redrawTextLayer) { } else if (redrawTextLayer) {
this.#renderTextLayer(); this.#renderTextLayer();
} }

View File

@ -149,6 +149,10 @@
display: block; display: block;
} }
.pdfViewer .page canvas .structTree {
contain: strict;
}
.pdfViewer .page canvas[hidden] { .pdfViewer .page canvas[hidden] {
display: none; display: none;
} }

View File

@ -87,6 +87,18 @@ class StructTreeLayerBuilder {
return (this.#treeDom = treeDom); return (this.#treeDom = treeDom);
} }
hide() {
if (this.#treeDom && !this.#treeDom.hidden) {
this.#treeDom.hidden = true;
}
}
show() {
if (this.#treeDom?.hidden) {
this.#treeDom.hidden = false;
}
}
#setAttributes(structElement, htmlElement) { #setAttributes(structElement, htmlElement) {
if (structElement.alt !== undefined) { if (structElement.alt !== undefined) {
htmlElement.setAttribute("aria-label", structElement.alt); htmlElement.setAttribute("aria-label", structElement.alt);