Correctly mimic the proper event-format in AnnotationElement._setDefaultPropertiesFromJS
(bug 1785218)
*This is a follow-up to PR 14869.* In the old code we're accidentally "swallowing" part of the event-details, which explains why the annotationLayer didn't render. One thing that made debugging a lot harder was the lack of error messages, from the viewer, and a few `PDFPageView`-methods were updated to improve this situation.
This commit is contained in:
parent
b05010c3eb
commit
5e126032ff
@ -401,7 +401,13 @@ class AnnotationElement {
|
||||
for (const [actionName, detail] of Object.entries(storedData)) {
|
||||
const action = commonActions[actionName];
|
||||
if (action) {
|
||||
action({ detail, target: element });
|
||||
const eventProxy = {
|
||||
detail: {
|
||||
[actionName]: detail,
|
||||
},
|
||||
target: element,
|
||||
};
|
||||
action(eventProxy);
|
||||
// The action has been consumed: no need to keep it.
|
||||
delete storedData[actionName];
|
||||
}
|
||||
|
@ -235,6 +235,7 @@ class PDFPageView {
|
||||
try {
|
||||
await this.annotationLayer.render(this.viewport, "display");
|
||||
} catch (ex) {
|
||||
console.error(`_renderAnnotationLayer: "${ex}".`);
|
||||
error = ex;
|
||||
} finally {
|
||||
this.eventBus.dispatch("annotationlayerrendered", {
|
||||
@ -253,6 +254,7 @@ class PDFPageView {
|
||||
try {
|
||||
await this.annotationEditorLayer.render(this.viewport, "display");
|
||||
} catch (ex) {
|
||||
console.error(`_renderAnnotationEditorLayer: "${ex}".`);
|
||||
error = ex;
|
||||
} finally {
|
||||
this.eventBus.dispatch("annotationeditorlayerrendered", {
|
||||
@ -274,6 +276,7 @@ class PDFPageView {
|
||||
this._buildXfaTextContentItems(result.textDivs);
|
||||
}
|
||||
} catch (ex) {
|
||||
console.error(`_renderXfaLayer: "${ex}".`);
|
||||
error = ex;
|
||||
} finally {
|
||||
this.eventBus.dispatch("xfalayerrendered", {
|
||||
@ -843,12 +846,10 @@ class PDFPageView {
|
||||
);
|
||||
|
||||
if (this.xfaLayerFactory) {
|
||||
if (!this.xfaLayer) {
|
||||
this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder({
|
||||
pageDiv: div,
|
||||
pdfPage,
|
||||
});
|
||||
}
|
||||
this.xfaLayer ||= this.xfaLayerFactory.createXfaLayerBuilder({
|
||||
pageDiv: div,
|
||||
pdfPage,
|
||||
});
|
||||
this._renderXfaLayer();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user