/** * @licstart The following is the entire license notice for the * Javascript code in this page * * Copyright 2017 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 = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _pdf = require('../pdf'); var _ui_utils = require('./ui_utils'); var _pdf_link_service = require('./pdf_link_service'); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var AnnotationLayerBuilder = function () { function AnnotationLayerBuilder(_ref) { var pageDiv = _ref.pageDiv, pdfPage = _ref.pdfPage, linkService = _ref.linkService, downloadManager = _ref.downloadManager, _ref$imageResourcesPa = _ref.imageResourcesPath, imageResourcesPath = _ref$imageResourcesPa === undefined ? '' : _ref$imageResourcesPa, _ref$renderInteractiv = _ref.renderInteractiveForms, renderInteractiveForms = _ref$renderInteractiv === undefined ? false : _ref$renderInteractiv, _ref$l10n = _ref.l10n, l10n = _ref$l10n === undefined ? _ui_utils.NullL10n : _ref$l10n; _classCallCheck(this, AnnotationLayerBuilder); this.pageDiv = pageDiv; this.pdfPage = pdfPage; this.linkService = linkService; this.downloadManager = downloadManager; this.imageResourcesPath = imageResourcesPath; this.renderInteractiveForms = renderInteractiveForms; this.l10n = l10n; this.div = null; this._cancelled = false; } _createClass(AnnotationLayerBuilder, [{ key: 'render', value: function render(viewport) { var _this = this; var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'display'; this.pdfPage.getAnnotations({ intent: intent }).then(function (annotations) { if (_this._cancelled) { return; } var parameters = { viewport: viewport.clone({ dontFlip: true }), div: _this.div, annotations: annotations, page: _this.pdfPage, imageResourcesPath: _this.imageResourcesPath, renderInteractiveForms: _this.renderInteractiveForms, linkService: _this.linkService, downloadManager: _this.downloadManager }; if (_this.div) { _pdf.AnnotationLayer.update(parameters); } else { if (annotations.length === 0) { return; } _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); } }); } }, { key: 'cancel', value: function cancel() { this._cancelled = true; } }, { key: 'hide', value: function hide() { if (!this.div) { return; } this.div.setAttribute('hidden', 'true'); } }]); return AnnotationLayerBuilder; }(); var DefaultAnnotationLayerFactory = function () { function DefaultAnnotationLayerFactory() { _classCallCheck(this, DefaultAnnotationLayerFactory); } _createClass(DefaultAnnotationLayerFactory, [{ key: 'createAnnotationLayerBuilder', value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { var imageResourcesPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; var renderInteractiveForms = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var l10n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _ui_utils.NullL10n; return new AnnotationLayerBuilder({ pageDiv: pageDiv, pdfPage: pdfPage, imageResourcesPath: imageResourcesPath, renderInteractiveForms: renderInteractiveForms, linkService: new _pdf_link_service.SimpleLinkService(), l10n: l10n }); } }]); return DefaultAnnotationLayerFactory; }(); exports.AnnotationLayerBuilder = AnnotationLayerBuilder; exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;