| /** | 
 |  * @licstart The following is the entire license notice for the | 
 |  * Javascript code in this page | 
 |  * | 
 |  * Copyright 2020 Mozilla Foundation | 
 |  * | 
 |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
 |  * you may not use this file except in compliance with the License. | 
 |  * You may obtain a copy of the License at | 
 |  * | 
 |  *     http://www.apache.org/licenses/LICENSE-2.0 | 
 |  * | 
 |  * Unless required by applicable law or agreed to in writing, software | 
 |  * distributed under the License is distributed on an "AS IS" BASIS, | 
 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 |  * See the License for the specific language governing permissions and | 
 |  * limitations under the License. | 
 |  * | 
 |  * @licend The above is the entire license notice for the | 
 |  * Javascript code in this page | 
 |  */ | 
 | "use strict"; | 
 |  | 
 | Object.defineProperty(exports, "__esModule", { | 
 |   value: true | 
 | }); | 
 | exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0; | 
 |  | 
 | var _pdf = require("../pdf"); | 
 |  | 
 | var _ui_utils = require("./ui_utils.js"); | 
 |  | 
 | var _pdf_link_service = require("./pdf_link_service.js"); | 
 |  | 
 | class AnnotationLayerBuilder { | 
 |   constructor({ | 
 |     pageDiv, | 
 |     pdfPage, | 
 |     linkService, | 
 |     downloadManager, | 
 |     annotationStorage = null, | 
 |     imageResourcesPath = "", | 
 |     renderInteractiveForms = true, | 
 |     l10n = _ui_utils.NullL10n | 
 |   }) { | 
 |     this.pageDiv = pageDiv; | 
 |     this.pdfPage = pdfPage; | 
 |     this.linkService = linkService; | 
 |     this.downloadManager = downloadManager; | 
 |     this.imageResourcesPath = imageResourcesPath; | 
 |     this.renderInteractiveForms = renderInteractiveForms; | 
 |     this.l10n = l10n; | 
 |     this.annotationStorage = annotationStorage; | 
 |     this.div = null; | 
 |     this._cancelled = false; | 
 |   } | 
 |  | 
 |   render(viewport, intent = "display") { | 
 |     return this.pdfPage.getAnnotations({ | 
 |       intent | 
 |     }).then(annotations => { | 
 |       if (this._cancelled) { | 
 |         return; | 
 |       } | 
 |  | 
 |       if (annotations.length === 0) { | 
 |         return; | 
 |       } | 
 |  | 
 |       const parameters = { | 
 |         viewport: viewport.clone({ | 
 |           dontFlip: true | 
 |         }), | 
 |         div: this.div, | 
 |         annotations, | 
 |         page: this.pdfPage, | 
 |         imageResourcesPath: this.imageResourcesPath, | 
 |         renderInteractiveForms: this.renderInteractiveForms, | 
 |         linkService: this.linkService, | 
 |         downloadManager: this.downloadManager, | 
 |         annotationStorage: this.annotationStorage | 
 |       }; | 
 |  | 
 |       if (this.div) { | 
 |         _pdf.AnnotationLayer.update(parameters); | 
 |       } else { | 
 |         this.div = document.createElement("div"); | 
 |         this.div.className = "annotationLayer"; | 
 |         this.pageDiv.appendChild(this.div); | 
 |         parameters.div = this.div; | 
 |  | 
 |         _pdf.AnnotationLayer.render(parameters); | 
 |  | 
 |         this.l10n.translate(this.div); | 
 |       } | 
 |     }); | 
 |   } | 
 |  | 
 |   cancel() { | 
 |     this._cancelled = true; | 
 |   } | 
 |  | 
 |   hide() { | 
 |     if (!this.div) { | 
 |       return; | 
 |     } | 
 |  | 
 |     this.div.setAttribute("hidden", "true"); | 
 |   } | 
 |  | 
 | } | 
 |  | 
 | exports.AnnotationLayerBuilder = AnnotationLayerBuilder; | 
 |  | 
 | class DefaultAnnotationLayerFactory { | 
 |   createAnnotationLayerBuilder(pageDiv, pdfPage, annotationStorage = null, imageResourcesPath = "", renderInteractiveForms = true, l10n = _ui_utils.NullL10n) { | 
 |     return new AnnotationLayerBuilder({ | 
 |       pageDiv, | 
 |       pdfPage, | 
 |       imageResourcesPath, | 
 |       renderInteractiveForms, | 
 |       linkService: new _pdf_link_service.SimpleLinkService(), | 
 |       l10n, | 
 |       annotationStorage | 
 |     }); | 
 |   } | 
 |  | 
 | } | 
 |  | 
 | exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; |