Change the XfaLayerBuilder.render
method to be asynchronous
This is consistent with the `render` methods of the other layers, and reduces overall indentation in the method. Furthermore, don't "swallow" errors since the `PDFPageView._renderXfaLayer` method is already able to deal with that.
This commit is contained in:
parent
879a7432b5
commit
828efd9d00
@ -57,7 +57,7 @@ class XfaLayerBuilder {
|
|||||||
* of the XFA layer is complete. The first rendering will return an object
|
* of the XFA layer is complete. The first rendering will return an object
|
||||||
* with a `textDivs` property that can be used with the TextHighlighter.
|
* with a `textDivs` property that can be used with the TextHighlighter.
|
||||||
*/
|
*/
|
||||||
render(viewport, intent = "display") {
|
async render(viewport, intent = "display") {
|
||||||
if (intent === "print") {
|
if (intent === "print") {
|
||||||
const parameters = {
|
const parameters = {
|
||||||
viewport: viewport.clone({ dontFlip: true }),
|
viewport: viewport.clone({ dontFlip: true }),
|
||||||
@ -73,14 +73,11 @@ class XfaLayerBuilder {
|
|||||||
this.pageDiv.append(div);
|
this.pageDiv.append(div);
|
||||||
parameters.div = div;
|
parameters.div = div;
|
||||||
|
|
||||||
const result = XfaLayer.render(parameters);
|
return XfaLayer.render(parameters);
|
||||||
return Promise.resolve(result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// intent === "display"
|
// intent === "display"
|
||||||
return this.pdfPage
|
const xfaHtml = await this.pdfPage.getXfa();
|
||||||
.getXfa()
|
|
||||||
.then(xfaHtml => {
|
|
||||||
if (this._cancelled || !xfaHtml) {
|
if (this._cancelled || !xfaHtml) {
|
||||||
return { textDivs: [] };
|
return { textDivs: [] };
|
||||||
}
|
}
|
||||||
@ -101,11 +98,8 @@ class XfaLayerBuilder {
|
|||||||
this.div = document.createElement("div");
|
this.div = document.createElement("div");
|
||||||
this.pageDiv.append(this.div);
|
this.pageDiv.append(this.div);
|
||||||
parameters.div = this.div;
|
parameters.div = this.div;
|
||||||
|
|
||||||
return XfaLayer.render(parameters);
|
return XfaLayer.render(parameters);
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
console.error(error);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cancel() {
|
cancel() {
|
||||||
|
Loading…
Reference in New Issue
Block a user