1/** 2 * @licstart The following is the entire license notice for the 3 * Javascript code in this page 4 * 5 * Copyright 2021 Mozilla Foundation 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 * @licend The above is the entire license notice for the 20 * Javascript code in this page 21 */ 22 23/******/ (() => { // webpackBootstrap 24/******/ "use strict"; 25/******/ var __webpack_modules__ = ([ 26/* 0 */, 27/* 1 */ 28/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 29 30 31 32Object.defineProperty(exports, "__esModule", ({ 33 value: true 34})); 35exports.OptionKind = exports.AppOptions = void 0; 36 37var _viewer_compatibility = __webpack_require__(2); 38 39function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 40 41function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 42 43function _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); } } 44 45function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 46 47var OptionKind = { 48 VIEWER: 0x02, 49 API: 0x04, 50 WORKER: 0x08, 51 PREFERENCE: 0x80 52}; 53exports.OptionKind = OptionKind; 54var defaultOptions = { 55 cursorToolOnLoad: { 56 value: 0, 57 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 58 }, 59 defaultUrl: { 60 value: "document.pdf", 61 kind: OptionKind.VIEWER 62 }, 63 defaultZoomValue: { 64 value: "", 65 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 66 }, 67 disableHistory: { 68 value: false, 69 kind: OptionKind.VIEWER 70 }, 71 disablePageLabels: { 72 value: false, 73 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 74 }, 75 enablePermissions: { 76 value: false, 77 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 78 }, 79 enablePrintAutoRotate: { 80 value: true, 81 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 82 }, 83 enableScripting: { 84 value: true, 85 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 86 }, 87 externalLinkRel: { 88 value: "noopener noreferrer nofollow", 89 kind: OptionKind.VIEWER 90 }, 91 externalLinkTarget: { 92 value: 0, 93 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 94 }, 95 historyUpdateUrl: { 96 value: false, 97 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 98 }, 99 ignoreDestinationZoom: { 100 value: false, 101 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 102 }, 103 imageResourcesPath: { 104 value: "./images/", 105 kind: OptionKind.VIEWER 106 }, 107 maxCanvasPixels: { 108 value: 16777216, 109 compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels, 110 kind: OptionKind.VIEWER 111 }, 112 pdfBugEnabled: { 113 value: false, 114 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 115 }, 116 printResolution: { 117 value: 150, 118 kind: OptionKind.VIEWER 119 }, 120 renderer: { 121 value: "canvas", 122 kind: OptionKind.VIEWER 123 }, 124 renderInteractiveForms: { 125 value: true, 126 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 127 }, 128 sidebarViewOnLoad: { 129 value: -1, 130 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 131 }, 132 scrollModeOnLoad: { 133 value: -1, 134 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 135 }, 136 spreadModeOnLoad: { 137 value: -1, 138 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 139 }, 140 textLayerMode: { 141 value: 1, 142 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 143 }, 144 useOnlyCssZoom: { 145 value: false, 146 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 147 }, 148 viewerCssTheme: { 149 value: 0, 150 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 151 }, 152 viewOnLoad: { 153 value: 0, 154 kind: OptionKind.VIEWER + OptionKind.PREFERENCE 155 }, 156 cMapPacked: { 157 value: true, 158 kind: OptionKind.API 159 }, 160 cMapUrl: { 161 value: "../web/cmaps/", 162 kind: OptionKind.API 163 }, 164 disableAutoFetch: { 165 value: false, 166 kind: OptionKind.API + OptionKind.PREFERENCE 167 }, 168 disableFontFace: { 169 value: false, 170 kind: OptionKind.API + OptionKind.PREFERENCE 171 }, 172 disableRange: { 173 value: false, 174 kind: OptionKind.API + OptionKind.PREFERENCE 175 }, 176 disableStream: { 177 value: false, 178 kind: OptionKind.API + OptionKind.PREFERENCE 179 }, 180 docBaseUrl: { 181 value: "",
182 kind: OptionKind.API 183 }, 184 enableXfa: { 185 value: false, 186 kind: OptionKind.API + OptionKind.PREFERENCE 187 }, 188 fontExtraProperties: { 189 value: false, 190 kind: OptionKind.API 191 }, 192 isEvalSupported: { 193 value: true, 194 kind: OptionKind.API 195 }, 196 maxImageSize: { 197 value: -1, 198 kind: OptionKind.API 199 }, 200 pdfBug: { 201 value: false, 202 kind: OptionKind.API 203 }, 204 standardFontDataUrl: { 205 value: "../web/standard_fonts/", 206 kind: OptionKind.API 207 }, 208 verbosity: { 209 value: 1, 210 kind: OptionKind.API 211 }, 212 workerPort: { 213 value: null, 214 kind: OptionKind.WORKER 215 }, 216 workerSrc: { 217 value: "../build/pdf.worker.js", 218 kind: OptionKind.WORKER 219 } 220}; 221{ 222 defaultOptions.disablePreferences = { 223 value: false, 224 kind: OptionKind.VIEWER 225 }; 226 defaultOptions.locale = { 227 value: typeof navigator !== "undefined" ? navigator.language : "en-US", 228 kind: OptionKind.VIEWER 229 }; 230 defaultOptions.sandboxBundleSrc = { 231 value: "../build/pdf.sandbox.js", 232 kind: OptionKind.VIEWER 233 }; 234 defaultOptions.renderer.kind += OptionKind.PREFERENCE; 235} 236var userOptions = Object.create(null); 237 238var AppOptions = /*#__PURE__*/function () { 239 function AppOptions() { 240 _classCallCheck(this, AppOptions); 241 242 throw new Error("Cannot initialize AppOptions."); 243 } 244 245 _createClass(AppOptions, null, [{ 246 key: "get", 247 value: function get(name) { 248 var userOption = userOptions[name]; 249 250 if (userOption !== undefined) { 251 return userOption; 252 } 253 254 var defaultOption = defaultOptions[name]; 255 256 if (defaultOption !== undefined) { 257 var _defaultOption$compat; 258 259 return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value; 260 } 261 262 return undefined; 263 } 264 }, { 265 key: "getAll", 266 value: function getAll() { 267 var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 268 var options = Object.create(null); 269 270 for (var name in defaultOptions) { 271 var _defaultOption$compat2; 272 273 var defaultOption = defaultOptions[name]; 274 275 if (kind) { 276 if ((kind & defaultOption.kind) === 0) { 277 continue; 278 } 279 280 if (kind === OptionKind.PREFERENCE) { 281 var value = defaultOption.value, 282 valueType = _typeof(value); 283 284 if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) { 285 options[name] = value; 286 continue; 287 } 288 289 throw new Error("Invalid type for preference: ".concat(name)); 290 } 291 } 292 293 var userOption = userOptions[name]; 294 options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value; 295 } 296 297 return options; 298 } 299 }, { 300 key: "set", 301 value: function set(name, value) { 302 userOptions[name] = value; 303 } 304 }, { 305 key: "setAll", 306 value: function setAll(options) { 307 for (var name in options) { 308 userOptions[name] = options[name]; 309 } 310 } 311 }, { 312 key: "remove", 313 value: function remove(name) { 314 delete userOptions[name]; 315 } 316 }]); 317 318 return AppOptions; 319}(); 320 321exports.AppOptions = AppOptions; 322 323/***/ }), 324/* 2 */ 325/***/ ((__unused_webpack_module, exports) => { 326 327 328 329Object.defineProperty(exports, "__esModule", ({ 330 value: true 331})); 332exports.viewerCompatibilityParams = void 0; 333var compatibilityParams = Object.create(null); 334{ 335 var userAgent = typeof navigator !== "undefined" && navigator.userAgent || ""; 336 var platform = typeof navigator !== "undefined" && navigator.platform || ""; 337 var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1; 338 var isAndroid = /Android/.test(userAgent); 339 var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1; 340 var isIOSChrome = /CriOS/.test(userAgent); 341 342 (function checkOnBlobSupport() { 343 if (isIOSChrome) { 344 compatibilityParams.disableCreateObjectURL = true; 345 } 346 })(); 347 348 (function checkCanvasSizeLimitation() {
vendor: 5,617 bytes, lines 349-442
349 if (isIOS || isAndroid) { 350 compatibilityParams.maxCanvasPixels = 5242880; 351 } 352 })(); 353} 354var viewerCompatibilityParams = Object.freeze(compatibilityParams); 355exports.viewerCompatibilityParams = viewerCompatibilityParams; 356 357/***/ }), 358/* 3 */ 359/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 360 361 362 363Object.defineProperty(exports, "__esModule", ({ 364 value: true 365})); 366exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0; 367 368var _regenerator = _interopRequireDefault(__webpack_require__(4)); 369 370var _ui_utils = __webpack_require__(6); 371 372var _app_options = __webpack_require__(1); 373 374var _pdfjsLib = __webpack_require__(7); 375 376var _pdf_cursor_tools = __webpack_require__(8); 377 378var _pdf_rendering_queue = __webpack_require__(10); 379 380var _overlay_manager = __webpack_require__(11); 381 382var _password_prompt = __webpack_require__(12); 383 384var _pdf_attachment_viewer = __webpack_require__(13); 385 386var _pdf_document_properties = __webpack_require__(15); 387 388var _pdf_find_bar = __webpack_require__(16); 389 390var _pdf_find_controller = __webpack_require__(17); 391 392var _pdf_history = __webpack_require__(19); 393 394var _pdf_layer_viewer = __webpack_require__(20); 395 396var _pdf_link_service = __webpack_require__(21); 397 398var _pdf_outline_viewer = __webpack_require__(22); 399 400var _pdf_presentation_mode = __webpack_require__(23); 401 402var _pdf_scripting_manager = __webpack_require__(24); 403 404var _pdf_sidebar = __webpack_require__(25); 405 406var _pdf_sidebar_resizer = __webpack_require__(26); 407 408var _pdf_thumbnail_viewer = __webpack_require__(27); 409 410var _pdf_viewer = __webpack_require__(29); 411 412var _secondary_toolbar = __webpack_require__(37); 413 414var _toolbar = __webpack_require__(39); 415 416var _viewer_compatibility = __webpack_require__(2); 417 418var _view_history = __webpack_require__(40); 419 420function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 421 422function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } 423 424function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 425 426function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 427 428function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 429 430function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 431 432function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 433 434function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 435 436function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 437 438function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 439 440function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 441 442function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
442y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 443 444function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 445 446function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 447 448function _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); } } 449 450function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 451 452var DEFAULT_SCALE_DELTA = 1.1; 453var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; 454var FORCE_PAGES_LOADED_TIMEOUT = 10000; 455var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; 456var ENABLE_PERMISSIONS_CLASS = "enablePermissions"; 457var ViewOnLoad = { 458 UNKNOWN: -1, 459 PREVIOUS: 0, 460 INITIAL: 1 461}; 462var ViewerCssTheme = { 463 AUTOMATIC: 0, 464 LIGHT: 1, 465 DARK: 2 466}; 467var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"]; 468var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"]; 469 470var DefaultExternalServices = /*#__PURE__*/function () { 471 function DefaultExternalServices() { 472 _classCallCheck(this, DefaultExternalServices); 473 474 throw new Error("Cannot initialize DefaultExternalServices."); 475 } 476 477 _createClass(DefaultExternalServices, null, [{ 478 key: "updateFindControlState", 479 value: function updateFindControlState(data) {} 480 }, { 481 key: "updateFindMatchesCount", 482 value: function updateFindMatchesCount(data) {} 483 }, { 484 key: "initPassiveLoading", 485 value: function initPassiveLoading(callbacks) {} 486 }, { 487 key: "fallback", 488 value: function () { 489 var _fallback = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) { 490 return _regenerator["default"].wrap(function _callee$(_context) { 491 while (1) { 492 switch (_context.prev = _context.next) { 493 case 0: 494 case "end": 495 return _context.stop(); 496 } 497 } 498 }, _callee); 499 })); 500 501 function fallback(_x) { 502 return _fallback.apply(this, arguments); 503 } 504 505 return fallback; 506 }() 507 }, { 508 key: "reportTelemetry", 509 value: function reportTelemetry(data) {} 510 }, { 511 key: "createDownloadManager", 512 value: function createDownloadManager(options) { 513 throw new Error("Not implemented: createDownloadManager"); 514 } 515 }, { 516 key: "createPreferences", 517 value: function createPreferences() { 518 throw new Error("Not implemented: createPreferences"); 519 } 520 }, { 521 key: "createL10n", 522 value: function createL10n(options) { 523 throw new Error("Not implemented: createL10n"); 524 } 525 }, { 526 key: "createScripting", 527 value: function createScripting(options) { 528 throw new Error("Not implemented: createScripting"); 529 } 530 }, { 531 key: "supportsIntegratedFind", 532 get: function get() { 533 return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false); 534 } 535 }, { 536 key: "supportsDocumentFonts", 537 get: function get() { 538 return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true); 539 } 540 }, {
541 key: "supportedMouseWheelZoomModifierKeys", 542 get: function get() { 543 return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", { 544 ctrlKey: true, 545 metaKey: true 546 }); 547 } 548 }, { 549 key: "isInAutomation", 550 get: function get() { 551 return (0, _pdfjsLib.shadow)(this, "isInAutomation", false); 552 } 553 }]); 554 555 return DefaultExternalServices; 556}(); 557 558exports.DefaultExternalServices = DefaultExternalServices; 559var PDFViewerApplication = { 560 initialBookmark: document.location.hash.substring(1), 561 _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(), 562 _fellback: false, 563 appConfig: null, 564 pdfDocument: null, 565 pdfLoadingTask: null, 566 printService: null, 567 pdfViewer: null, 568 pdfThumbnailViewer: null, 569 pdfRenderingQueue: null, 570 pdfPresentationMode: null, 571 pdfDocumentProperties: null, 572 pdfLinkService: null, 573 pdfHistory: null, 574 pdfSidebar: null, 575 pdfSidebarResizer: null, 576 pdfOutlineViewer: null, 577 pdfAttachmentViewer: null, 578 pdfLayerViewer: null, 579 pdfCursorTools: null, 580 pdfScriptingManager: null, 581 store: null, 582 downloadManager: null, 583 overlayManager: null, 584 preferences: null, 585 toolbar: null, 586 secondaryToolbar: null, 587 eventBus: null, 588 l10n: null, 589 isInitialViewSet: false, 590 downloadComplete: false, 591 isViewerEmbedded: window.parent !== window, 592 url: "", 593 baseUrl: "", 594 externalServices: DefaultExternalServices, 595 _boundEvents: Object.create(null), 596 documentInfo: null, 597 metadata: null, 598 _contentDispositionFilename: null, 599 _contentLength: null, 600 _saveInProgress: false, 601 _wheelUnusedTicks: 0,
602 _idleCallbacks: new Set(), 603 initialize: function initialize(appConfig) { 604 var _this = this; 605 606 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 607 var appContainer; 608 return _regenerator["default"].wrap(function _callee2$(_context2) { 609 while (1) { 610 switch (_context2.prev = _context2.next) { 611 case 0: 612 _this.preferences = _this.externalServices.createPreferences(); 613 _this.appConfig = appConfig; 614 _context2.next = 4; 615 return _this._readPreferences(); 616 617 case 4: 618 _context2.next = 6; 619 return _this._parseHashParameters(); 620 621 case 6: 622 _this._forceCssTheme(); 623 624 _context2.next = 9; 625 return _this._initializeL10n(); 626 627 case 9: 628 if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdfjsLib.LinkTarget.NONE) { 629 _app_options.AppOptions.set("externalLinkTarget", _pdfjsLib.LinkTarget.TOP); 630 } 631 632 _context2.next = 12; 633 return _this._initializeViewerComponents(); 634 635 case 12: 636 _this.bindEvents(); 637 638 _this.bindWindowEvents(); 639 640 appContainer = appConfig.appContainer || document.documentElement; 641 642 _this.l10n.translate(appContainer).then(function () { 643 _this.eventBus.dispatch("localized", { 644 source: _this 645 }); 646 }); 647 648 _this._initializedCapability.resolve(); 649 650 case 17: 651 case "end": 652 return _context2.stop(); 653 } 654 } 655 }, _callee2); 656 }))(); 657 }, 658 _readPreferences: function _readPreferences() { 659 var _this2 = this; 660 661 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { 662 return _regenerator["default"].wrap(function _callee3$(_context3) { 663 while (1) { 664 switch (_context3.prev = _context3.next) { 665 case 0: 666 if (!_app_options.AppOptions.get("disablePreferences")) { 667 _context3.next = 2; 668 break; 669 } 670 671 return _context3.abrupt("return"); 672 673 case 2: 674 _context3.prev = 2; 675 _context3.t0 = _app_options.AppOptions; 676 _context3.next = 6; 677 return _this2.preferences.getAll(); 678 679 case 6: 680 _context3.t1 = _context3.sent; 681 682 _context3.t0.setAll.call(_context3.t0, _context3.t1); 683 684 _context3.next = 13; 685 break; 686 687 case 10: 688 _context3.prev = 10; 689 _context3.t2 = _context3["catch"](2); 690 console.error("_readPreferences: \"".concat(_context3.t2 === null || _context3.t2 === void 0 ? void 0 : _context3.t2.message, "\".")); 691 692 case 13: 693 case "end": 694 return _context3.stop(); 695 } 696 } 697 }, _callee3, null, [[2, 10]]); 698 }))(); 699 }, 700 _parseHashParameters: function _parseHashParameters() { 701 var _this3 = this; 702 703 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { 704 var hash, hashParams, waitOn, viewer, enabled; 705 return _regenerator["default"].wrap(function _callee4$(_context4) { 706 while (1) { 707 switch (_context4.prev = _context4.next) { 708 case 0: 709 if (_app_options.AppOptions.get("pdfBugEnabled")) { 710 _context4.next = 2; 711 break; 712 } 713 714 return _context4.abrupt("return", undefined); 715 716 case 2: 717 hash = document.location.hash.substring(1); 718 719 if (hash) { 720 _context4.next = 5; 721 break; 722 } 723 724 return _context4.abrupt("return", undefined); 725 726 case 5: 727 hashParams = (0, _ui_utils.parseQueryString)(hash), waitOn = []; 728 729 if ("disableworker" in hashParams && hashParams.disableworker === "true") { 730 waitOn.push(loadFakeWorker()); 731 } 732 733 if ("disablerange" in hashParams) { 734 _app_options.AppOptions.set("disableRange", hashParams.disablerange === "true"); 735 } 736 737 if ("disablestream" in hashParams) { 738 _app_options.AppOptions.set("disableStream", hashParams.disablestream === "true"); 739 } 740 741 if ("disableautofetch" in hashParams) { 742 _app_options.AppOptions.set("disableAutoFetch", hashParams.disableautofetch === "true"); 743 } 744 745 if ("disablefontface" in hashParams) { 746 _app_options.AppOptions.set("disableFontFace", hashParams.disablefontface === "true"); 747 } 748 749 if ("disablehistory" in hashParams) { 750 _app_options.AppOptions.set("disableHistory", hashParams.disablehistory === "true"); 751 } 752 753 if ("verbosity" in hashParams) { 754 _app_options.AppOptions.set("verbosity", hashParams.verbosity | 0); 755 } 756 757 if (!("textlayer" in hashParams)) { 758 _context4.next = 22; 759 break; 760 } 761 762 _context4.t0 = hashParams.textlayer; 763 _context4.next = _context4.t0 === "off" ? 17 : _context4.t0 === "visible" ? 19 : _context4.t0 === "shadow" ? 19 : _context4.t0 === "hover" ? 19 : 22; 764 break; 765 766 case 17: 767 _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE); 768 769 return _context4.abrupt("break", 22); 770 771 case 19: 772 viewer = _this3.appConfig.viewerContainer; 773 viewer.classList.add("textLayer-" + hashParams.textlayer); 774 return _context4.abrupt("break", 22); 775 776 case 22: 777 if ("pdfbug" in hashParams) { 778 _app_options.AppOptions.set("pdfBug", true); 779 780 _app_options.AppOptions.set("fontExtraProperties", true); 781 782 enabled = hashParams.pdfbug.split(","); 783 waitOn.push(loadAndEnablePDFBug(enabled)); 784 } 785 786 if ("locale" in hashParams) { 787 _app_options.AppOptions.set("locale", hashParams.locale); 788 } 789 790 if (!(waitOn.length === 0)) { 791 _context4.next = 26; 792 break; 793 } 794 795 return _context4.abrupt("return", undefined); 796 797 case 26: 798 return _context4.abrupt("return", Promise.all(waitOn)["catch"](function (reason) { 799 console.error("_parseHashParameters: \"".concat(reason.message, "\".")); 800 })); 801 802 case 27: 803 case "end": 804 return _context4.stop(); 805 } 806 } 807 }, _callee4); 808 }))(); 809 }, 810 _initializeL10n: function _initializeL10n() { 811 var _this4 = this; 812 813 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { 814 var dir; 815 return _regenerator["default"].wrap(function _callee5$(_context5) { 816 while (1) { 817 switch (_context5.prev = _context5.next) { 818 case 0: 819 _this4.l10n = _this4.externalServices.createL10n({ 820 locale: _app_options.AppOptions.get("locale") 821 }); 822 _context5.next = 3; 823 return _this4.l10n.getDirection(); 824 825 case 3: 826 dir = _context5.sent; 827 document.getElementsByTagName("html")[0].dir = dir; 828 829 case 5: 830 case "end": 831 return _context5.stop(); 832 } 833 } 834 }, _callee5); 835 }))(); 836 }, 837 _forceCssTheme: function _forceCssTheme() { 838 var cssTheme = _app_options.AppOptions.get("viewerCssTheme"); 839 840 if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) { 841 return; 842 } 843 844 try { 845 var styleSheet = document.styleSheets[0]; 846 var cssRules = (styleSheet === null || styleSheet === void 0 ? void 0 : styleSheet.cssRules) || []; 847 var mediaMatcher = "prefers-color-scheme"; 848 var mediaRule = "(".concat(mediaMatcher, ": dark)"); 849 var mediaRegex = new RegExp("^@media \\(".concat(mediaMatcher, ": dark\\) {\\n\\s*([\\w\\s-.,:;/\\\\{}()]+)\\n}$")); 850 851 for (var i = 0, ii = cssRules.length; i < ii; i++) { 852 var _rule$media; 853 854 var rule = cssRules[i]; 855 856 if (rule instanceof CSSMediaRule && ((_rule$media = rule.media) === null || _rule$media === void 0 ? void 0 : _rule$media[0]) === mediaRule) { 857 if (cssTheme === ViewerCssTheme.LIGHT) { 858 styleSheet.deleteRule(i); 859 return; 860 } 861 862 var darkRules = mediaRegex.exec(rule.cssText); 863 864 if (darkRules !== null && darkRules !== void 0 && darkRules[1]) { 865 styleSheet.deleteRule(i); 866 styleSheet.insertRule(darkRules[1], i); 867 } 868 869 return; 870 } 871 } 872 } catch (reason) { 873 console.error("_forceCssTheme: \"".concat(reason === null || reason === void 0 ? void 0 : reason.message, "\".")); 874 } 875 }, 876 _initializeViewerComponents: function _initializeViewerComponents() { 877 var _this5 = this; 878 879 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { 880 var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, pdfScriptingManager, container, viewer; 881 return _regenerator["default"].wrap(function _callee6$(_context6) { 882 while (1) { 883 switch (_context6.prev = _context6.next) { 884 case 0: 885 appConfig = _this5.appConfig; 886 eventBus = appConfig.eventBus || new _ui_utils.EventBus({ 887 isInAutomation: _this5.externalServices.isInAutomation 888 }); 889 _this5.eventBus = eventBus; 890 _this5.overlayManager = new _overlay_manager.OverlayManager(); 891 pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); 892 pdfRenderingQueue.onIdle = _this5._cleanup.bind(_this5); 893 _this5.pdfRenderingQueue = pdfRenderingQueue; 894 pdfLinkService = new _pdf_link_service.PDFLinkService({ 895 eventBus: eventBus, 896 externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"), 897 externalLinkRel: _app_options.AppOptions.get("externalLinkRel"), 898 ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom") 899 }); 900 _this5.pdfLinkService = pdfLinkService; 901 downloadManager = _this5.externalServices.createDownloadManager(); 902 _this5.downloadManager = downloadManager; 903 findController = new _pdf_find_controller.PDFFindController({ 904 linkService: pdfLinkService, 905 eventBus: eventBus 906 }); 907 _this5.findController = findController; 908 pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({ 909 eventBus: eventBus, 910 sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"), 911 scriptingFactory: _this5.externalServices, 912 docPropertiesLookup: _this5._scriptingDocProperties.bind(_this5) 913 }); 914 _this5.pdfScriptingManager = pdfScriptingManager; 915 container = appConfig.mainContainer; 916 viewer = appConfig.viewerContainer; 917 _this5.pdfViewer = new _pdf_viewer.PDFViewer({ 918 container: container, 919 viewer: viewer, 920 eventBus: eventBus, 921 renderingQueue: pdfRenderingQueue, 922 linkService: pdfLinkService, 923 downloadManager: downloadManager, 924 findController: findController, 925 scriptingManager: pdfScriptingManager, 926 renderer: _app_options.AppOptions.get("renderer"), 927 l10n: _this5.l10n, 928 textLayerMode: _app_options.AppOptions.get("textLayerMode"), 929 imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"), 930 renderInteractiveForms: _app_options.AppOptions.get("renderInteractiveForms"), 931 enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"), 932 useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"), 933 maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"), 934 enableScripting: _app_options.AppOptions.get("enableScripting") 935 }); 936 pdfRenderingQueue.setViewer(_this5.pdfViewer); 937 pdfLinkService.setViewer(_this5.pdfViewer); 938 pdfScriptingManager.setViewer(_this5.pdfViewer);
939 _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({ 940 container: appConfig.sidebar.thumbnailView, 941 eventBus: eventBus, 942 renderingQueue: pdfRenderingQueue, 943 linkService: pdfLinkService, 944 l10n: _this5.l10n 945 }); 946 pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer); 947 _this5.pdfHistory = new _pdf_history.PDFHistory({ 948 linkService: pdfLinkService, 949 eventBus: eventBus 950 }); 951 pdfLinkService.setHistory(_this5.pdfHistory); 952 953 if (!_this5.supportsIntegratedFind) { 954 _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n); 955 } 956 957 _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n); 958 _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({ 959 container: container, 960 eventBus: eventBus, 961 cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad") 962 }); 963 _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n); 964 _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus); 965 966 if (_this5.supportsFullscreen) { 967 _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({ 968 container: container, 969 pdfViewer: _this5.pdfViewer, 970 eventBus: eventBus 971 }); 972 } 973 974 _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n, _this5.isViewerEmbedded); 975 _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({ 976 container: appConfig.sidebar.outlineView, 977 eventBus: eventBus, 978 linkService: pdfLinkService 979 }); 980 _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({ 981 container: appConfig.sidebar.attachmentsView, 982 eventBus: eventBus, 983 downloadManager: downloadManager 984 }); 985 _this5.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({ 986 container: appConfig.sidebar.layersView, 987 eventBus: eventBus, 988 l10n: _this5.l10n 989 }); 990 _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({ 991 elements: appConfig.sidebar, 992 pdfViewer: _this5.pdfViewer, 993 pdfThumbnailViewer: _this5.pdfThumbnailViewer, 994 eventBus: eventBus, 995 l10n: _this5.l10n 996 }); 997 _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5); 998 _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n); 999 1000 case 38: 1001 case "end": 1002 return _context6.stop(); 1003 } 1004 } 1005 }, _callee6); 1006 }))(); 1007 }, 1008 run: function run(config) { 1009 this.initialize(config).then(webViewerInitialized); 1010 }, 1011 1012 get initialized() { 1013 return this._initializedCapability.settled; 1014 }, 1015 1016 get initializedPromise() { 1017 return this._initializedCapability.promise; 1018 }, 1019 1020 zoomIn: function zoomIn(ticks) { 1021 if (this.pdfViewer.isInPresentationMode) { 1022 return; 1023 } 1024 1025 var newScale = this.pdfViewer.currentScale; 1026 1027 do { 1028 newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2); 1029 newScale = Math.ceil(newScale * 10) / 10; 1030 newScale = Math.min(_ui_utils.MAX_SCALE, newScale); 1031 } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE); 1032 1033 this.pdfViewer.currentScaleValue = newScale; 1034 }, 1035 zoomOut: function zoomOut(ticks) { 1036 if (this.pdfViewer.isInPresentationMode) { 1037 return; 1038 } 1039 1040 var newScale = this.pdfViewer.currentScale; 1041 1042 do { 1043 newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2); 1044 newScale = Math.floor(newScale * 10) / 10; 1045 newScale = Math.max(_ui_utils.MIN_SCALE, newScale); 1046 } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE); 1047 1048 this.pdfViewer.currentScaleValue = newScale; 1049 }, 1050 zoomReset: function zoomReset() { 1051 if (this.pdfViewer.isInPresentationMode) { 1052 return; 1053 } 1054 1055 this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; 1056 }, 1057 1058 get pagesCount() { 1059 return this.pdfDocument ? this.pdfDocument.numPages : 0; 1060 }, 1061 1062 get page() { 1063 return this.pdfViewer.currentPageNumber; 1064 }, 1065 1066 set page(val) { 1067 this.pdfViewer.currentPageNumber = val; 1068 }, 1069 1070 get supportsPrinting() { 1071 return PDFPrintServiceFactory.instance.supportsPrinting; 1072 }, 1073 1074 get supportsFullscreen() { 1075 var doc = document.documentElement; 1076 var support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen); 1077 1078 if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false) { 1079 support = false;
1080 } 1081 1082 return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", support); 1083 }, 1084 1085 get supportsIntegratedFind() { 1086 return this.externalServices.supportsIntegratedFind; 1087 }, 1088 1089 get supportsDocumentFonts() { 1090 return this.externalServices.supportsDocumentFonts; 1091 }, 1092 1093 get loadingBar() { 1094 var bar = new _ui_utils.ProgressBar("#loadingBar"); 1095 return (0, _pdfjsLib.shadow)(this, "loadingBar", bar); 1096 }, 1097 1098 get supportedMouseWheelZoomModifierKeys() { 1099 return this.externalServices.supportedMouseWheelZoomModifierKeys; 1100 }, 1101 1102 initPassiveLoading: function initPassiveLoading() { 1103 throw new Error("Not implemented: initPassiveLoading"); 1104 }, 1105 setTitleUsingUrl: function setTitleUsingUrl() { 1106 var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; 1107 this.url = url; 1108 this.baseUrl = url.split("#")[0]; 1109 var title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, ""); 1110 1111 if (!title) { 1112 try { 1113 title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url; 1114 } catch (ex) { 1115 title = url; 1116 } 1117 } 1118 1119 this.setTitle(title); 1120 }, 1121 setTitle: function setTitle(title) { 1122 if (this.isViewerEmbedded) { 1123 return; 1124 } 1125 1126 document.title = title; 1127 }, 1128 1129 get _docFilename() { 1130 return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url); 1131 }, 1132 1133 _cancelIdleCallbacks: function _cancelIdleCallbacks() { 1134 if (!this._idleCallbacks.size) { 1135 return; 1136 } 1137 1138 var _iterator = _createForOfIteratorHelper(this._idleCallbacks), 1139 _step; 1140 1141 try { 1142 for (_iterator.s(); !(_step = _iterator.n()).done;) { 1143 var callback = _step.value; 1144 window.cancelIdleCallback(callback); 1145 } 1146 } catch (err) { 1147 _iterator.e(err); 1148 } finally { 1149 _iterator.f(); 1150 } 1151 1152 this._idleCallbacks.clear(); 1153 }, 1154 close: function close() { 1155 var _this6 = this; 1156 1157 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() { 1158 var _this6$pdfDocument; 1159 1160 var container, promises; 1161 return _regenerator["default"].wrap(function _callee7$(_context7) { 1162 while (1) { 1163 switch (_context7.prev = _context7.next) { 1164 case 0: 1165 _this6._unblockDocumentLoadEvent(); 1166 1167 container = _this6.appConfig.errorWrapper.container; 1168 container.hidden = true; 1169 1170 if (_this6.pdfLoadingTask) { 1171 _context7.next = 5; 1172 break; 1173 } 1174 1175 return _context7.abrupt("return"); 1176 1177 case 5: 1178 if (!(((_this6$pdfDocument = _this6.pdfDocument) === null || _this6$pdfDocument === void 0 ? void 0 : _this6$pdfDocument.annotationStorage.size) > 0 && _this6._annotationStorageModified)) { 1179 _context7.next = 13; 1180 break; 1181 } 1182 1183 _context7.prev = 6; 1184 _context7.next = 9; 1185 return _this6.save({ 1186 sourceEventType: "save" 1187 }); 1188 1189 case 9: 1190 _context7.next = 13; 1191 break; 1192 1193 case 11: 1194 _context7.prev = 11; 1195 _context7.t0 = _context7["catch"](6); 1196 1197 case 13: 1198 promises = []; 1199 promises.push(_this6.pdfLoadingTask.destroy()); 1200 _this6.pdfLoadingTask = null; 1201 1202 if (_this6.pdfDocument) { 1203 _this6.pdfDocument = null; 1204 1205 _this6.pdfThumbnailViewer.setDocument(null); 1206 1207 _this6.pdfViewer.setDocument(null); 1208 1209 _this6.pdfLinkService.setDocument(null); 1210 1211 _this6.pdfDocumentProperties.setDocument(null); 1212 } 1213 1214 webViewerResetPermissions(); 1215 _this6.pdfLinkService.externalLinkEnabled = true; 1216 _this6._fellback = false; 1217 _this6.store = null; 1218 _this6.isInitialViewSet = false; 1219 _this6.downloadComplete = false; 1220 _this6.url = ""; 1221 _this6.baseUrl = ""; 1222 _this6.documentInfo = null; 1223 _this6.metadata = null; 1224 _this6._contentDispositionFilename = null; 1225 _this6._contentLength = null; 1226 _this6._saveInProgress = false;
1227 1228 _this6._cancelIdleCallbacks(); 1229 1230 promises.push(_this6.pdfScriptingManager.destroyPromise); 1231 1232 _this6.pdfSidebar.reset(); 1233 1234 _this6.pdfOutlineViewer.reset(); 1235 1236 _this6.pdfAttachmentViewer.reset(); 1237 1238 _this6.pdfLayerViewer.reset(); 1239 1240 if (_this6.pdfHistory) { 1241 _this6.pdfHistory.reset(); 1242 } 1243 1244 if (_this6.findBar) { 1245 _this6.findBar.reset(); 1246 } 1247 1248 _this6.toolbar.reset(); 1249 1250 _this6.secondaryToolbar.reset(); 1251 1252 if (typeof PDFBug !== "undefined") { 1253 PDFBug.cleanup(); 1254 } 1255 1256 _context7.next = 43; 1257 return Promise.all(promises); 1258 1259 case 43: 1260 case "end": 1261 return _context7.stop(); 1262 } 1263 } 1264 }, _callee7, null, [[6, 11]]); 1265 }))(); 1266 }, 1267 open: function open(file, args) { 1268 var _this7 = this; 1269 1270 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { 1271 var workerParameters, key, parameters, apiParameters, _key, value, _key2, loadingTask; 1272 1273 return _regenerator["default"].wrap(function _callee8$(_context8) { 1274 while (1) { 1275 switch (_context8.prev = _context8.next) { 1276 case 0: 1277 if (!_this7.pdfLoadingTask) { 1278 _context8.next = 3; 1279 break; 1280 } 1281 1282 _context8.next = 3; 1283 return _this7.close(); 1284 1285 case 3: 1286 workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER); 1287 1288 for (key in workerParameters) { 1289 _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key]; 1290 } 1291 1292 parameters = Object.create(null); 1293 1294 if (typeof file === "string") { 1295 _this7.setTitleUsingUrl(file); 1296 1297 parameters.url = file; 1298 } else if (file && "byteLength" in file) { 1299 parameters.data = file; 1300 } else if (file.url && file.originalUrl) { 1301 _this7.setTitleUsingUrl(file.originalUrl); 1302 1303 parameters.url = file.url; 1304 } 1305 1306 apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API); 1307 1308 for (_key in apiParameters) { 1309 value = apiParameters[_key]; 1310 1311 if (_key === "docBaseUrl" && !value) {} 1312 1313 parameters[_key] = value; 1314 } 1315 1316 if (args) { 1317 for (_key2 in args) { 1318 parameters[_key2] = args[_key2]; 1319 } 1320 } 1321 1322 loadingTask = (0, _pdfjsLib.getDocument)(parameters); 1323 _this7.pdfLoadingTask = loadingTask; 1324 1325 loadingTask.onPassword = function (updateCallback, reason) { 1326 _this7.pdfLinkService.externalLinkEnabled = false; 1327 1328 _this7.passwordPrompt.setUpdateCallback(updateCallback, reason); 1329 1330 _this7.passwordPrompt.open(); 1331 }; 1332 1333 loadingTask.onProgress = function (_ref) { 1334 var loaded = _ref.loaded, 1335 total = _ref.total; 1336 1337 _this7.progress(loaded / total); 1338 }; 1339 1340 loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7); 1341 return _context8.abrupt("return", loadingTask.promise.then(function (pdfDocument) { 1342 _this7.load(pdfDocument); 1343 }, function (exception) { 1344 if (loadingTask !== _this7.pdfLoadingTask) { 1345 return undefined; 1346 } 1347 1348 var key = "loading_error"; 1349 1350 if (exception instanceof _pdfjsLib.InvalidPDFException) { 1351 key = "invalid_file_error"; 1352 } else if (exception instanceof _pdfjsLib.MissingPDFException) { 1353 key = "missing_file_error"; 1354 } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) { 1355 key = "unexpected_response_error"; 1356 } 1357 1358 return _this7.l10n.get(key).then(function (msg) { 1359 _this7._documentError(msg, { 1360 message: exception === null || exception === void 0 ? void 0 : exception.message 1361 }); 1362 1363 throw exception; 1364 }); 1365 })); 1366 1367 case 16: 1368 case "end": 1369 return _context8.stop(); 1370 } 1371 } 1372 }, _callee8); 1373 }))(); 1374 }, 1375 _ensureDownloadComplete: function _ensureDownloadComplete() { 1376 if (this.pdfDocument && this.downloadComplete) { 1377 return; 1378 } 1379 1380 throw new Error("PDF document not downloaded."); 1381 }, 1382 download: function download() { 1383 var _arguments = arguments, 1384 _this8 = this; 1385 1386 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() { 1387 var _ref2, _ref2$sourceEventType, sourceEventType, url, filename, data, blob; 1388 1389 return _regenerator["default"].wrap(function _callee9$(_context9) { 1390 while (1) { 1391 switch (_context9.prev = _context9.next) { 1392 case 0: 1393 _ref2 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref2$sourceEventType = _ref2.sourceEventType, sourceEventType = _ref2$sourceEventType === void 0 ? "download" : _ref2$sourceEventType; 1394 url = _this8.baseUrl, filename = _this8._docFilename; 1395 _context9.prev = 2; 1396 1397 _this8._ensureDownloadComplete(); 1398 1399 _context9.next = 6; 1400 return _this8.pdfDocument.getData(); 1401 1402 case 6: 1403 data = _context9.sent; 1404 blob = new Blob([data], { 1405 type: "application/pdf" 1406 }); 1407 _context9.next = 10; 1408 return _this8.downloadManager.download(blob, url, filename, sourceEventType); 1409 1410 case 10: 1411 _context9.next = 16; 1412 break; 1413 1414 case 12: 1415 _context9.prev = 12; 1416 _context9.t0 = _context9["catch"](2); 1417 _context9.next = 16; 1418 return _this8.downloadManager.downloadUrl(url, filename); 1419 1420 case 16: 1421 case "end": 1422 return _context9.stop(); 1423 } 1424 } 1425 }, _callee9, null, [[2, 12]]); 1426 }))(); 1427 }, 1428 save: function save() { 1429 var _arguments2 = arguments, 1430 _this9 = this; 1431 1432 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10() { 1433 var _ref3, _ref3$sourceEventType, sourceEventType, url, filename, data, blob; 1434 1435 return _regenerator["default"].wrap(function _callee10$(_context10) { 1436 while (1) { 1437 switch (_context10.prev = _context10.next) { 1438 case 0: 1439 _ref3 = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {}, _ref3$sourceEventType = _ref3.sourceEventType, sourceEventType = _ref3$s
1439ourceEventType === void 0 ? "download" : _ref3$sourceEventType; 1440 1441 if (!_this9._saveInProgress) { 1442 _context10.next = 3; 1443 break; 1444 } 1445 1446 return _context10.abrupt("return"); 1447 1448 case 3: 1449 _this9._saveInProgress = true; 1450 _context10.next = 6; 1451 return _this9.pdfScriptingManager.dispatchWillSave(); 1452 1453 case 6: 1454 url = _this9.baseUrl, filename = _this9._docFilename; 1455 _context10.prev = 7; 1456 1457 _this9._ensureDownloadComplete(); 1458 1459 _context10.next = 11; 1460 return _this9.pdfDocument.saveDocument(); 1461 1462 case 11: 1463 data = _context10.sent; 1464 blob = new Blob([data], { 1465 type: "application/pdf" 1466 }); 1467 _context10.next = 15; 1468 return _this9.downloadManager.download(blob, url, filename, sourceEventType); 1469 1470 case 15: 1471 _context10.next = 21; 1472 break; 1473 1474 case 17: 1475 _context10.prev = 17; 1476 _context10.t0 = _context10["catch"](7); 1477 _context10.next = 21; 1478 return _this9.download({ 1479 sourceEventType: sourceEventType 1480 }); 1481 1482 case 21: 1483 _context10.prev = 21; 1484 _context10.next = 24; 1485 return _this9.pdfScriptingManager.dispatchDidSave(); 1486 1487 case 24: 1488 _this9._saveInProgress = false; 1489 return _context10.finish(21); 1490 1491 case 26: 1492 case "end": 1493 return _context10.stop(); 1494 } 1495 } 1496 }, _callee10, null, [[7, 17, 21, 26]]); 1497 }))(); 1498 }, 1499 downloadOrSave: function downloadOrSave(options) { 1500 var _this$pdfDocument; 1501 1502 if (((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage.size) > 0) { 1503 this.save(options); 1504 } else { 1505 this.download(options); 1506 } 1507 }, 1508 fallback: function fallback(featureId) { 1509 var _this10 = this; 1510 1511 this.externalServices.reportTelemetry({ 1512 type: "unsupportedFeature", 1513 featureId: featureId 1514 }); 1515 1516 if (this._fellback) { 1517 return; 1518 } 1519 1520 this._fellback = true; 1521 this.externalServices.fallback({ 1522 featureId: featureId, 1523 url: this.baseUrl 1524 }).then(function (download) { 1525 if (!download) { 1526 return; 1527 } 1528 1529 _this10.download({ 1530 sourceEventType: "download" 1531 }); 1532 }); 1533 }, 1534 _documentError: function _documentError(message) { 1535 var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 1536 1537 this._unblockDocumentLoadEvent(); 1538 1539 this._otherError(message, moreInfo); 1540 }, 1541 _otherError: function _otherError(message) { 1542 var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 1543 var moreInfoText = [this.l10n.get("error_version_info", { 1544 version: _pdfjsLib.version || "?", 1545 build: _pdfjsLib.build || "?" 1546 })]; 1547 1548 if (moreInfo) { 1549 moreInfoText.push(this.l10n.get("error_message", { 1550 message: moreInfo.message 1551 })); 1552 1553 if (moreInfo.stack) { 1554 moreInfoText.push(this.l10n.get("error_stack", { 1555 stack: moreInfo.stack 1556 })); 1557 } else { 1558 if (moreInfo.filename) { 1559 moreInfoText.push(this.l10n.get("error_file", { 1560 file: moreInfo.filename 1561 })); 1562 } 1563 1564 if (moreInfo.lineNumber) { 1565 moreInfoText.push(this.l10n.get("error_line", { 1566 line: moreInfo.lineNumber 1567 })); 1568 } 1569 } 1570 } 1571 1572 var errorWrapperConfig = this.appConfig.errorWrapper; 1573 var errorWrapper = errorWrapperConfig.container; 1574 errorWrapper.hidden = false; 1575 var errorMessage = errorWrapperConfig.errorMessage; 1576 errorMessage.textContent = message; 1577 var closeButton = errorWrapperConfig.closeButton; 1578 1579 closeButton.onclick = function () { 1580 errorWrapper.hidden = true; 1581 }; 1582 1583 var errorMoreInfo = errorWrapperConfig.errorMoreInfo; 1584 var moreInfoButton = errorWrapperConfig.moreInfoButton; 1585 var lessInfoButton = errorWrapperConfig.lessInfoButton; 1586 1587 moreInfoButton.onclick = function () { 1588 errorMoreInfo.hidden = false;
1589 moreInfoButton.hidden = true; 1590 lessInfoButton.hidden = false; 1591 errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px"; 1592 }; 1593 1594 lessInfoButton.onclick = function () { 1595 errorMoreInfo.hidden = true; 1596 moreInfoButton.hidden = false; 1597 lessInfoButton.hidden = true; 1598 }; 1599 1600 moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; 1601 lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; 1602 closeButton.oncontextmenu = _ui_utils.noContextMenuHandler; 1603 moreInfoButton.hidden = false; 1604 lessInfoButton.hidden = true; 1605 Promise.all(moreInfoText).then(function (parts) { 1606 errorMoreInfo.value = parts.join("\n"); 1607 }); 1608 }, 1609 progress: function progress(level) { 1610 var _this11 = this; 1611 1612 if (this.downloadComplete) { 1613 return; 1614 } 1615 1616 var percent = Math.round(level * 100); 1617 1618 if (percent > this.loadingBar.percent || isNaN(percent)) { 1619 this.loadingBar.percent = percent; 1620 var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams.disableAutoFetch : _app_options.AppOptions.get("disableAutoFetch"); 1621 1622 if (disableAutoFetch && percent) { 1623 if (this.disableAutoFetchLoadingBarTimeout) { 1624 clearTimeout(this.disableAutoFetchLoadingBarTimeout); 1625 this.disableAutoFetchLoadingBarTimeout = null; 1626 } 1627 1628 this.loadingBar.show(); 1629 this.disableAutoFetchLoadingBarTimeout = setTimeout(function () { 1630 _this11.loadingBar.hide(); 1631 1632 _this11.disableAutoFetchLoadingBarTimeout = null; 1633 }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT); 1634 } 1635 } 1636 }, 1637 load: function load(pdfDocument) { 1638 var _this12 = this; 1639 1640 this.pdfDocument = pdfDocument; 1641 pdfDocument.getDownloadInfo().then(function (_ref4) { 1642 var length = _ref4.length; 1643 _this12._contentLength = length; 1644 _this12.downloadComplete = true; 1645 1646 _this12.loadingBar.hide(); 1647 1648 firstPagePromise.then(function () { 1649 _this12.eventBus.dispatch("documentloaded", { 1650 source: _this12 1651 }); 1652 }); 1653 }); 1654 var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {}); 1655 var pageModePromise = pdfDocument.getPageMode()["catch"](function () {}); 1656 var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {}); 1657 this.toolbar.setPagesCount(pdfDocument.numPages, false); 1658 this.secondaryToolbar.setPagesCount(pdfDocument.numPages); 1659 var baseDocumentUrl; 1660 baseDocumentUrl = null; 1661 this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl); 1662 this.pdfDocumentProperties.setDocument(pdfDocument, this.url); 1663 var pdfViewer = this.pdfViewer; 1664 pdfViewer.setDocument(pdfDocument); 1665 var firstPagePromise = pdfViewer.firstPagePromise, 1666 onePageRendered = pdfViewer.onePageRendered, 1667 pagesPromise = pdfViewer.pagesPromise; 1668 var pdfThumbnailViewer = this.pdfThumbnailViewer; 1669 pdfThumbnailViewer.setDocument(pdfDocument); 1670 var storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({ 1671 page: null, 1672 zoom: _ui_utils.DEFAULT_SCALE_VALUE, 1673 scrollLeft: "0", 1674 scrollTop: "0", 1675 rotation: null, 1676 sidebarView: _ui_utils.SidebarView.UNKNOWN, 1677 scrollMode: _ui_utils.ScrollMode.UNKNOWN, 1678 spreadMode: _ui_utils.SpreadMode.UNKNOWN 1679 })["catch"](function () { 1680 return Object.create(null); 1681 }); 1682 firstPagePromise.then(function (pdfPage) { 1683 _this12.loadingBar.setWidth(_this12.appConfig.viewerContainer); 1684 1685 _this12._initializeAnnotationStorageCallbacks(pdfDocument); 1686 1687 Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () { 1688 var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref5) { 1689 var _ref7, timeStamp, stored, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode; 1690 1691 return _regenerator["default"].wrap(function _callee11$(_context11) { 1692 while (1) { 1693 switch (_context11.prev = _context11.next) { 1694 case 0: 1695 _ref7 = _slicedToArray(_ref5, 5), timeStamp = _ref7[0], stored = _ref7[1], pageLayout = _ref7[2], pageMode = _ref7[3], openAction = _ref7[4]; 1696 viewOnLoad = _app_options.AppOptions.get("viewOnLoad"); 1697 1698 _this12._initializePdfHistory({ 1699 fingerprint: pdfDocument.fingerprints[0], 1700 viewOnLoad: viewOnLoad, 1701 initialDest: openAction === null || openAction === void 0 ? void 0 : openAction.dest
1702 }); 1703 1704 initialBookmark = _this12.initialBookmark; 1705 zoom = _app_options.AppOptions.get("defaultZoomValue"); 1706 hash = zoom ? "zoom=".concat(zoom) : null; 1707 rotation = null; 1708 sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad"); 1709 scrollMode = _app_options.AppOptions.get("scrollModeOnLoad"); 1710 spreadMode = _app_options.AppOptions.get("spreadModeOnLoad"); 1711 1712 if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) { 1713 hash = "page=".concat(stored.page, "&zoom=").concat(zoom || stored.zoom, ",") + "".concat(stored.scrollLeft, ",").concat(stored.scrollTop); 1714 rotation = parseInt(stored.rotation, 10); 1715 1716 if (sidebarView === _ui_utils.SidebarView.UNKNOWN) { 1717 sidebarView = stored.sidebarView | 0; 1718 } 1719 1720 if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) { 1721 scrollMode = stored.scrollMode | 0; 1722 } 1723 1724 if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) { 1725 spreadMode = stored.spreadMode | 0; 1726 } 1727 } 1728 1729 if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) { 1730 sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode); 1731 } 1732 1733 if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) { 1734 spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(pageLayout); 1735 } 1736 1737 _this12.setInitialView(hash, { 1738 rotation: rotation, 1739 sidebarView: sidebarView, 1740 scrollMode: scrollMode, 1741 spreadMode: spreadMode 1742 }); 1743 1744 _this12.eventBus.dispatch("documentinit", { 1745 source: _this12 1746 }); 1747 1748 if (!_this12.isViewerEmbedded) {
1749 pdfViewer.focus(); 1750 } 1751 1752 _this12._initializePermissions(pdfDocument); 1753 1754 _context11.next = 19; 1755 return Promise.race([pagesPromise, new Promise(function (resolve) { 1756 setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT); 1757 })]); 1758 1759 case 19: 1760 if (!(!initialBookmark && !hash)) { 1761 _context11.next = 21; 1762 break; 1763 } 1764 1765 return _context11.abrupt("return"); 1766 1767 case 21: 1768 if (!pdfViewer.hasEqualPageSizes) { 1769 _context11.next = 23; 1770 break; 1771 } 1772 1773 return _context11.abrupt("return"); 1774 1775 case 23: 1776 _this12.initialBookmark = initialBookmark; 1777 pdfViewer.currentScaleValue = pdfViewer.currentScaleValue; 1778 1779 _this12.setInitialView(hash); 1780 1781 case 26: 1782 case "end": 1783 return _context11.stop(); 1784 } 1785 } 1786 }, _callee11); 1787 })); 1788 1789 return function (_x2) { 1790 return _ref6.apply(this, arguments); 1791 }; 1792 }())["catch"](function () { 1793 _this12.setInitialView(); 1794 }).then(function () { 1795 pdfViewer.update(); 1796 }); 1797 }); 1798 pagesPromise.then(function () { 1799 _this12._unblockDocumentLoadEvent(); 1800 1801 _this12._initializeAutoPrint(pdfDocument, openActionPromise); 1802 }); 1803 onePageRendered.then(function () { 1804 pdfDocument.getOutline().then(function (outline) { 1805 if (pdfDocument !== _this12.pdfDocument) { 1806 return; 1807 } 1808 1809 _this12.pdfOutlineViewer.render({ 1810 outline: outline, 1811 pdfDocument: pdfDocument 1812 }); 1813 }); 1814 pdfDocument.getAttachments().then(function (attachments) { 1815 if (pdfDocument !== _this12.pdfDocument) { 1816 return; 1817 } 1818 1819 _this12.pdfAttachmentViewer.render({ 1820 attachments: attachments 1821 }); 1822 }); 1823 pdfViewer.optionalContentConfigPromise.then(function (optionalContentConfig) { 1824 if (pdfDocument !== _this12.pdfDocument) { 1825 return; 1826 } 1827 1828 _this12.pdfLayerViewer.render({ 1829 optionalContentConfig: optionalContentConfig, 1830 pdfDocument: pdfDocument 1831 }); 1832 }); 1833 1834 if ("requestIdleCallback" in window) { 1835 var callback = window.requestIdleCallback(function () { 1836 _this12._collectTelemetry(pdfDocument); 1837 1838 _this12._idleCallbacks["delete"](callback); 1839 }, { 1840 timeout: 1000 1841 }); 1842 1843 _this12._idleCallbacks.add(callback); 1844 } 1845 }); 1846 1847 this._initializePageLabels(pdfDocument); 1848 1849 this._initializeMetadata(pdfDocument); 1850 }, 1851 _scriptingDocProperties: function _scriptingDocProperties(pdfDocument) { 1852 var _this13 = this; 1853 1854 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { 1855 var _this13$metadata, _this13$metadata2; 1856 1857 return _regenerator["default"].wrap(function _callee12$(_context12) { 1858 while (1) { 1859 switch (_context12.prev = _context12.next) { 1860 case 0: 1861 if (_this13.documentInfo) { 1862 _context12.next = 5; 1863 break; 1864 } 1865 1866 _context12.next = 3; 1867 return new Promise(function (resolve) { 1868 _this13.eventBus._on("metadataloaded", resolve, { 1869 once: true 1870 }); 1871 }); 1872 1873 case 3: 1874 if (!(pdfDocument !== _this13.pdfDocument)) { 1875 _context12.next = 5; 1876 break; 1877 } 1878 1879 return _context12.abrupt("return", null); 1880 1881 case 5: 1882 if (_this13._contentLength) { 1883 _context12.next = 10; 1884 break; 1885 } 1886 1887 _context12.next = 8; 1888 return new Promise(function (resolve) { 1889 _this13.eventBus._on("documentloaded", resolve, { 1890 once: true 1891 }); 1892 }); 1893 1894 case 8: 1895 if (!(pdfDocument !== _this13.pdfDocument)) { 1896 _context12.next = 10; 1897 break; 1898 } 1899 1900 return _context12.abrupt("return", null); 1901 1902 case 10: 1903 return _context12.abrupt("return", _objectSpread(_objectSpread({}, _this13.documentInfo), {}, { 1904 baseURL: _this13.baseUrl, 1905 filesize: _this13._contentLength, 1906 filename: _this13._docFilename, 1907 metadata: (_this13$metadata = _this13.metadata) === null || _this13$metadata === void 0 ? void 0 : _this13$metadata.getRaw(), 1908 authors: (_this13$metadata2 = _this13.metadata) === null || _this13$metadata2 === void 0 ? void 0 : _this13$metadata2.get("dc:creator"), 1909 numPages: _this13.pagesCount, 1910 URL: _this13.url 1911 })); 1912 1913 case 11: 1914 case "end": 1915 return _context12.stop(); 1916 } 1917 } 1918 }, _callee12); 1919 }))(); 1920 }, 1921 _collectTelemetry: function _collectTelemetry(pdfDocument) { 1922 var _this14 = this; 1923 1924 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee13() { 1925 var markInfo, tagged; 1926 return _regenerator["default"].wrap(function _callee13$(_context13) { 1927 while (1) { 1928 switch (_context13.prev = _context13.next) { 1929 case 0: 1930 _context13.next = 2; 1931 return _this14.pdfDocument.getMarkInfo(); 1932 1933 case 2: 1934 markInfo = _context13.sent; 1935 1936 if (!(pdfDocument !== _this14.pdfDocument)) { 1937 _context13.next = 5; 1938 break; 1939 } 1940 1941 return _context13.abrupt("return"); 1942 1943 case 5: 1944 tagged = (markInfo === null || markInfo === void 0 ? void 0 : markInfo.Marked) || false; 1945 1946 _this14.externalServices.reportTelemetry({ 1947 type: "tagged", 1948 tagged: tagged 1949 }); 1950 1951 case 7: 1952 case "end": 1953 return _context13.stop(); 1954 } 1955 } 1956 }, _callee13); 1957 }))(); 1958 }, 1959 _initializeAutoPrint: function _initializeAutoPrint(pdfDocument, openActionPromise) { 1960 var _this15 = this; 1961 1962 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee14() { 1963 var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator2, _step2, js; 1964 1965 return _regenerator["default"].wrap(function _callee14$(_context14) { 1966 while (1) { 1967 switch (_context14.prev = _context14.next) { 1968 case 0: 1969 _context14.next = 2; 1970 return Promise.all([openActionPromise, !_this15.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]); 1971 1972 case 2: 1973 _yield$Promise$all = _context14.sent; 1974 _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2); 1975 openAction = _yield$Promise$all2[0]; 1976 javaScript = _yield$Promise$all2[1]; 1977 1978 if (!(pdfDocument !== _this15.pdfDocument)) { 1979 _context14.next = 8; 1980 break; 1981 } 1982 1983 return _context14.abrupt("return"); 1984 1985 case 8: 1986 triggerAutoPrint = false;
1987 1988 if ((openAction === null || openAction === void 0 ? void 0 : openAction.action) === "Print") { 1989 triggerAutoPrint = true; 1990 } 1991 1992 if (!javaScript) { 1993 _context14.next = 31; 1994 break; 1995 } 1996 1997 javaScript.some(function (js) { 1998 if (!js) { 1999 return false; 2000 } 2001 2002 console.warn("Warning: JavaScript support is not enabled"); 2003 2004 _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript); 2005 2006 return true; 2007 }); 2008 2009 if (triggerAutoPrint) { 2010 _context14.next = 31; 2011 break; 2012 } 2013 2014 _iterator2 = _createForOfIteratorHelper(javaScript); 2015 _context14.prev = 14; 2016 2017 _iterator2.s(); 2018 2019 case 16: 2020 if ((_step2 = _iterator2.n()).done) { 2021 _context14.next = 23; 2022 break; 2023 } 2024 2025 js = _step2.value; 2026 2027 if (!(js && _ui_utils.AutoPrintRegExp.test(js))) { 2028 _context14.next = 21; 2029 break; 2030 } 2031 2032 triggerAutoPrint = true; 2033 return _context14.abrupt("break", 23); 2034 2035 case 21: 2036 _context14.next = 16; 2037 break; 2038 2039 case 23: 2040 _context14.next = 28; 2041 break; 2042 2043 case 25: 2044 _context14.prev = 25; 2045 _context14.t0 = _context14["catch"](14); 2046 2047 _iterator2.e(_context14.t0); 2048 2049 case 28: 2050 _context14.prev = 28; 2051 2052 _iterator2.f(); 2053 2054 return _context14.finish(28); 2055 2056 case 31: 2057 if (triggerAutoPrint) { 2058 _this15.triggerPrinting(); 2059 } 2060 2061 case 32: 2062 case "end": 2063 return _context14.stop(); 2064 } 2065 } 2066 }, _callee14, null, [[14, 25, 28, 31]]); 2067 }))(); 2068 }, 2069 _initializeMetadata: function _initializeMetadata(pdfDocument) { 2070 var _this16 = this; 2071 2072 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee15() { 2073 var _this16$_contentDispo, _this16$_contentLengt; 2074 2075 var _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, pdfTitle, metadataTitle, versionId, generatorId, producer, formType; 2076 2077 return _regenerator["default"].wrap(function _callee15$(_context15) { 2078 while (1) { 2079 switch (_context15.prev = _context15.next) { 2080 case 0: 2081 _context15.next = 2; 2082 return pdfDocument.getMetadata(); 2083 2084 case 2: 2085 _yield$pdfDocument$ge = _context15.sent; 2086 info = _yield$pdfDocument$ge.info; 2087 metadata = _yield$pdfDocument$ge.metadata; 2088 contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; 2089 contentLength = _yield$pdfDocument$ge.contentLength; 2090 2091 if (!(pdfDocument !== _this16.pdfDocument)) { 2092 _context15.next = 9; 2093 break; 2094 } 2095 2096 return _context15.abrupt("return"); 2097 2098 case 9: 2099 _this16.documentInfo = info; 2100 _this16.metadata = metadata; 2101 (_this16$_contentDispo = _this16._contentDispositionFilename) !== null && _this16$_contentDispo !== void 0 ? _this16$_contentDispo : _this16._contentDispositionFilename = contentDispositionFilename; 2102 (_this16$_contentLengt = _this16._contentLength) !== null && _this16$_contentLengt !== void 0 ? _this16$_contentLengt : _this16._contentLength = contentLength; 2103 console.log("PDF ".concat(pdfDocument.fingerprints[0], " [").concat(info.PDFFormatVersion, " ") + "".concat((info.Producer || "-").trim(), " / ").concat((info.Creator || "-").trim(), "] ") + "(PDF.js: ".concat(_pdfjsLib.version || "-", ")")); 2104 pdfTitle = info === null || info === void 0 ? void 0 : info.Title; 2105 metadataTitle = metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:title"); 2106 2107 if (metadataTitle) { 2108 if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) { 2109 pdfTitle = metadataTitle; 2110 } 2111 } 2112 2113 if (pdfTitle) { 2114 _this16.setTitle(pdfTitle); 2115 } else if (contentDispositionFilename) { 2116 _this16.setTitle(contentDispositionFilename); 2117 } 2118 2119 if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) { 2120 console.warn("Warning: XFA support is not enabled"); 2121 2122 _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); 2123 } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !_this16.pdfViewer.renderInteractiveForms) { 2124 console.warn("Warning: Interactive form support is not enabled"); 2125 2126 _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); 2127 } 2128 2129 if (info.IsSignaturesPresent) { 2130 console.warn("Warning: Digital signatures validation is not supported"); 2131 2132 _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures); 2133 } 2134 2135 versionId = "other"; 2136 2137 if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) { 2138 versionId = "v".concat(info.PDFFormatVersion.replace(".", "_")); 2139 } 2140 2141 generatorId = "other"; 2142 2143 if (info.Producer) { 2144 producer = info.Producer.toLowerCase(); 2145 KNOWN_GENERATORS.some(function (generator) { 2146 if (!producer.includes(generator)) { 2147 return false;
2148 } 2149 2150 generatorId = generator.replace(/[ .-]/g, "_"); 2151 return true; 2152 }); 2153 } 2154 2155 formType = null; 2156 2157 if (info.IsXFAPresent) { 2158 formType = "xfa"; 2159 } else if (info.IsAcroFormPresent) { 2160 formType = "acroform"; 2161 } 2162 2163 _this16.externalServices.reportTelemetry({ 2164 type: "documentInfo", 2165 version: versionId, 2166 generator: generatorId, 2167 formType: formType 2168 }); 2169 2170 _this16.eventBus.dispatch("metadataloaded", { 2171 source: _this16 2172 }); 2173 2174 case 28: 2175 case "end": 2176 return _context15.stop(); 2177 } 2178 } 2179 }, _callee15); 2180 }))(); 2181 }, 2182 _initializePageLabels: function _initializePageLabels(pdfDocument) { 2183 var _this17 = this; 2184 2185 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee16() { 2186 var labels, numLabels, i, pdfViewer, pdfThumbnailViewer, toolbar; 2187 return _regenerator["default"].wrap(function _callee16$(_context16) { 2188 while (1) { 2189 switch (_context16.prev = _context16.next) { 2190 case 0: 2191 _context16.next = 2; 2192 return pdfDocument.getPageLabels(); 2193 2194 case 2: 2195 labels = _context16.sent; 2196 2197 if (!(pdfDocument !== _this17.pdfDocument)) { 2198 _context16.next = 5; 2199 break; 2200 } 2201 2202 return _context16.abrupt("return"); 2203 2204 case 5: 2205 if (!(!labels || _app_options.AppOptions.get("disablePageLabels"))) { 2206 _context16.next = 7; 2207 break; 2208 } 2209 2210 return _context16.abrupt("return"); 2211 2212 case 7: 2213 numLabels = labels.length; 2214 2215 if (!(numLabels !== _this17.pagesCount)) { 2216 _context16.next = 11; 2217 break; 2218 } 2219 2220 console.error("The number of Page Labels does not match the number of pages in the document."); 2221 return _context16.abrupt("return"); 2222 2223 case 11: 2224 i = 0; 2225 2226 while (i < numLabels && labels[i] === (i + 1).toString()) { 2227 i++; 2228 } 2229 2230 if (!(i === numLabels)) { 2231 _context16.next = 15; 2232 break; 2233 } 2234 2235 return _context16.abrupt("return"); 2236 2237 case 15: 2238 pdfViewer = _this17.pdfViewer, pdfThumbnailViewer = _this17.pdfThumbnailViewer, toolbar = _this17.toolbar; 2239 pdfViewer.setPageLabels(labels); 2240 pdfThumbnailViewer.setPageLabels(labels); 2241 toolbar.setPagesCount(numLabels, true); 2242 toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); 2243 2244 case 20: 2245 case "end": 2246 return _context16.stop(); 2247 } 2248 } 2249 }, _callee16); 2250 }))(); 2251 }, 2252 _initializePdfHistory: function _initializePdfHistory(_ref8) { 2253 var fingerprint = _ref8.fingerprint, 2254 viewOnLoad = _ref8.viewOnLoad, 2255 _ref8$initialDest = _ref8.initialDest, 2256 initialDest = _ref8$initialDest === void 0 ? null : _ref8$initialDest; 2257 2258 if (this.isViewerEmbedded || _app_options.AppOptions.get("disableHistory")) { 2259 return; 2260 } 2261 2262 this.pdfHistory.initialize({ 2263 fingerprint: fingerprint, 2264 resetHistory: viewOnLoad === ViewOnLoad.INITIAL, 2265 updateUrl: _app_options.AppOptions.get("historyUpdateUrl") 2266 }); 2267 2268 if (this.pdfHistory.initialBookmark) { 2269 this.initialBookmark = this.pdfHistory.initialBookmark; 2270 this.initialRotation = this.pdfHistory.initialRotation; 2271 } 2272 2273 if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) { 2274 this.initialBookmark = JSON.stringify(initialDest); 2275 this.pdfHistory.push({ 2276 explicitDest: initialDest, 2277 pageNumber: null 2278 }); 2279 } 2280 }, 2281 _initializePermissions: function _initializePermissions(pdfDocument) { 2282 var _this18 = this; 2283 2284 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee17() { 2285 var permissions; 2286 return _regenerator["default"].wrap(function _callee17$(_context17) { 2287 while (1) { 2288 switch (_context17.prev = _context17.next) { 2289 case 0: 2290 _context17.next = 2; 2291 return pdfDocument.getPermissions(); 2292 2293 case 2: 2294 permissions = _context17.sent; 2295 2296 if (!(pdfDocument !== _this18.pdfDocument)) { 2297 _context17.next = 5; 2298 break; 2299 } 2300 2301 return _context17.abrupt("return"); 2302 2303 case 5: 2304 if (!(!permissions || !_app_options.AppOptions.get("enablePermissions"))) { 2305 _context17.next = 7; 2306 break; 2307 } 2308 2309 return _context17.abrupt("return"); 2310 2311 case 7: 2312 if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) { 2313 _this18.appConfig.viewerContainer.classList.add(ENABLE_PERMISSIONS_CLASS); 2314 } 2315 2316 case 8: 2317 case "end": 2318 return _context17.stop(); 2319 } 2320 } 2321 }, _callee17); 2322 }))(); 2323 }, 2324 _initializeAnnotationStorageCallbacks: function _initializeAnnotationStorageCallbacks(pdfDocument) { 2325 var _this19 = this; 2326 2327 if (pdfDocument !== this.pdfDocument) { 2328 return; 2329 } 2330 2331 var annotationStorage = pdfDocument.annotationStorage; 2332 2333 annotationStorage.onSetModified = function () { 2334 window.addEventListener("beforeunload", beforeUnload); 2335 _this19._annotationStorageModified = true; 2336 }; 2337 2338 annotationStorage.onResetModified = function () { 2339 window.removeEventListener("beforeunload", beforeUnload); 2340 delete _this19._annotationStorageModified; 2341 }; 2342 }, 2343 setInitialView: function setInitialView(storedHash) { 2344 var _this20 = this; 2345 2346 var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, 2347 rotation = _ref9.rotation, 2348 sidebarView = _ref9.sidebarView, 2349 scrollMode = _ref9.scrollMode, 2350 spreadMode = _ref9.spreadMode;
2351 2352 var setRotation = function setRotation(angle) { 2353 if ((0, _ui_utils.isValidRotation)(angle)) { 2354 _this20.pdfViewer.pagesRotation = angle; 2355 } 2356 }; 2357 2358 var setViewerModes = function setViewerModes(scroll, spread) { 2359 if ((0, _ui_utils.isValidScrollMode)(scroll)) { 2360 _this20.pdfViewer.scrollMode = scroll; 2361 } 2362 2363 if ((0, _ui_utils.isValidSpreadMode)(spread)) { 2364 _this20.pdfViewer.spreadMode = spread; 2365 } 2366 }; 2367 2368 this.isInitialViewSet = true; 2369 this.pdfSidebar.setInitialView(sidebarView); 2370 setViewerModes(scrollMode, spreadMode); 2371 2372 if (this.initialBookmark) { 2373 setRotation(this.initialRotation); 2374 delete this.initialRotation; 2375 this.pdfLinkService.setHash(this.initialBookmark); 2376 this.initialBookmark = null; 2377 } else if (storedHash) { 2378 setRotation(rotation); 2379 this.pdfLinkService.setHash(storedHash); 2380 } 2381 2382 this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel); 2383 this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber); 2384 2385 if (!this.pdfViewer.currentScaleValue) { 2386 this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; 2387 } 2388 }, 2389 _cleanup: function _cleanup() { 2390 if (!this.pdfDocument) { 2391 return; 2392 } 2393 2394 this.pdfViewer.cleanup(); 2395 this.pdfThumbnailViewer.cleanup(); 2396 this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG); 2397 }, 2398 forceRendering: function forceRendering() { 2399 this.pdfRenderingQueue.printing = !!this.printService; 2400 this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible; 2401 this.pdfRenderingQueue.renderHighestPriority(); 2402 }, 2403 beforePrint: function beforePrint() { 2404 var _this21 = this; 2405 2406 this.pdfScriptingManager.dispatchWillPrint(); 2407 2408 if (this.printService) { 2409 return; 2410 } 2411 2412 if (!this.supportsPrinting) { 2413 this.l10n.get("printing_not_supported").then(function (msg) { 2414 _this21._otherError(msg); 2415 }); 2416 return; 2417 } 2418 2419 if (!this.pdfViewer.pageViewsReady) { 2420 this.l10n.get("printing_not_ready").then(function (msg) { 2421 window.alert(msg); 2422 }); 2423 return; 2424 } 2425 2426 var pagesOverview = this.pdfViewer.getPagesOverview(); 2427 var printContainer = this.appConfig.printContainer; 2428 2429 var printResolution = _app_options.AppOptions.get("printResolution"); 2430 2431 var optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise; 2432 var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this.l10n); 2433 this.printService = printService; 2434 this.forceRendering(); 2435 printService.layout(); 2436 this.externalServices.reportTelemetry({ 2437 type: "print" 2438 }); 2439 }, 2440 afterPrint: function afterPrint() { 2441 this.pdfScriptingManager.dispatchDidPrint(); 2442 2443 if (this.printService) { 2444 this.printService.destroy(); 2445 this.printService = null; 2446 2447 if (this.pdfDocument) { 2448 this.pdfDocument.annotationStorage.resetModified(); 2449 } 2450 } 2451 2452 this.forceRendering(); 2453 }, 2454 rotatePages: function rotatePages(delta) { 2455 this.pdfViewer.pagesRotation += delta; 2456 }, 2457 requestPresentationMode: function requestPresentationMode() { 2458 if (!this.pdfPresentationMode) { 2459 return; 2460 } 2461 2462 this.pdfPresentationMode.request(); 2463 }, 2464 triggerPrinting: function triggerPrinting() { 2465 if (!this.supportsPrinting) { 2466 return; 2467 } 2468 2469 window.print(); 2470 }, 2471 bindEvents: function bindEvents() { 2472 var eventBus = this.eventBus, 2473 _boundEvents = this._boundEvents; 2474 _boundEvents.beforePrint = this.beforePrint.bind(this); 2475 _boundEvents.afterPrint = this.afterPrint.bind(this); 2476 2477 eventBus._on("resize", webViewerResize); 2478 2479 eventBus._on("hashchange", webViewerHashchange); 2480 2481 eventBus._on("beforeprint", _boundEvents.beforePrint); 2482 2483 eventBus._on("afterprint", _boundEvents.afterPrint); 2484 2485 eventBus._on("pagerendered", webViewerPageRendered); 2486 2487 eventBus._on("updateviewarea", webViewerUpdateViewarea); 2488 2489 eventBus._on("pagechanging", webViewerPageChanging); 2490 2491 eventBus._on("scalechanging", webViewerScaleChanging); 2492 2493 eventBus._on("rotationchanging", webViewerRotationChanging); 2494 2495 eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged); 2496 2497 eventBus._on("pagemode", webViewerPageMode); 2498 2499 eventBus._on("namedaction", webViewerNamedAction); 2500 2501 eventBus._on("presentationmodechanged", webViewerPresentationModeChanged); 2502 2503 eventBus._on("presentationmode", webViewerPresentationMode); 2504 2505 eventBus._on("print", webViewerPrint); 2506 2507 eventBus._on("download", webViewerDownload); 2508 2509 eventBus._on("save", webViewerSave); 2510 2511 eventBus._on("firstpage", webViewerFirstPage); 2512 2513 eventBus._on("lastpage", webViewerLastPage); 2514 2515 eventBus._on("nextpage", webViewerNextPage); 2516 2517 eventBus._on("previouspage", webViewerPreviousPage); 2518 2519 eventBus._on("zoomin", webViewerZoomIn); 2520 2521 eventBus._on("zoomout", webViewerZoomOut); 2522 2523 eventBus._on("zoomreset", webViewerZoomReset); 2524 2525 eventBus._on("pagenumberchanged", webViewerPageNumberChanged); 2526 2527 eventBus._on("scalechanged", webViewerScaleChanged); 2528 2529 eventBus._on("rotatecw", webViewerRotateCw); 2530 2531 eventBus._on("rotateccw", webViewerRotateCcw); 2532 2533 eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig); 2534 2535 eventBus._on("switchscrollmode", webViewerSwitchScrollMode); 2536 2537 eventBus._on("scrollmodechanged", webViewerScrollModeChanged); 2538 2539 eventBus._on("switchspreadmode", webViewerSwitchSpreadMode); 2540 2541 eventBus._on("spreadmodechanged", webViewerSpreadModeChanged); 2542 2543 eventBus._on("documentproperties", webViewerDocumentProperties); 2544 2545 eventBus._on("find", webViewerFind); 2546 2547 eventBus._on("findfromurlhash", webViewerFindFromUrlHash); 2548
2549 eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount); 2550 2551 eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState); 2552 2553 if (_app_options.AppOptions.get("pdfBug")) { 2554 _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug; 2555 2556 eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug); 2557 2558 eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug); 2559 } 2560 2561 eventBus._on("fileinputchange", webViewerFileInputChange); 2562 2563 eventBus._on("openfile", webViewerOpenFile); 2564 }, 2565 bindWindowEvents: function bindWindowEvents() { 2566 var eventBus = this.eventBus, 2567 _boundEvents = this._boundEvents; 2568 2569 _boundEvents.windowResize = function () { 2570 eventBus.dispatch("resize", { 2571 source: window 2572 }); 2573 }; 2574 2575 _boundEvents.windowHashChange = function () { 2576 eventBus.dispatch("hashchange", { 2577 source: window, 2578 hash: document.location.hash.substring(1) 2579 }); 2580 }; 2581 2582 _boundEvents.windowBeforePrint = function () { 2583 eventBus.dispatch("beforeprint", { 2584 source: window 2585 }); 2586 }; 2587 2588 _boundEvents.windowAfterPrint = function () { 2589 eventBus.dispatch("afterprint", { 2590 source: window 2591 }); 2592 }; 2593 2594 _boundEvents.windowUpdateFromSandbox = function (event) { 2595 eventBus.dispatch("updatefromsandbox", { 2596 source: window, 2597 detail: event.detail 2598 }); 2599 }; 2600 2601 window.addEventListener("visibilitychange", webViewerVisibilityChange); 2602 window.addEventListener("wheel", webViewerWheel, { 2603 passive: false 2604 }); 2605 window.addEventListener("touchstart", webViewerTouchStart, { 2606 passive: false 2607 }); 2608 window.addEventListener("click", webViewerClick); 2609 window.addEventListener("keydown", webViewerKeyDown); 2610 window.addEventListener("resize", _boundEvents.windowResize); 2611 window.addEventListener("hashchange", _boundEvents.windowHashChange); 2612 window.addEventListener("beforeprint", _boundEvents.windowBeforePrint); 2613 window.addEventListener("afterprint", _boundEvents.windowAfterPrint); 2614 window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); 2615 }, 2616 unbindEvents: function unbindEvents() { 2617 var eventBus = this.eventBus, 2618 _boundEvents = this._boundEvents; 2619 2620 eventBus._off("resize", webViewerResize); 2621 2622 eventBus._off("hashchange", webViewerHashchange); 2623 2624 eventBus._off("beforeprint", _boundEvents.beforePrint); 2625 2626 eventBus._off("afterprint", _boundEvents.afterPrint); 2627 2628 eventBus._off("pagerendered", webViewerPageRendered); 2629 2630 eventBus._off("updateviewarea", webViewerUpdateViewarea); 2631 2632 eventBus._off("pagechanging", webViewerPageChanging); 2633 2634 eventBus._off("scalechanging", webViewerScaleChanging); 2635 2636 eventBus._off("rotationchanging", webViewerRotationChanging); 2637 2638 eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged); 2639 2640 eventBus._off("pagemode", webViewerPageMode); 2641 2642 eventBus._off("namedaction", webViewerNamedAction); 2643 2644 eventBus._off("presentationmodechanged", webViewerPresentationModeChanged); 2645 2646 eventBus._off("presentationmode", webViewerPresentationMode); 2647 2648 eventBus._off("print", webViewerPrint); 2649 2650 eventBus._off("download", webViewerDownload); 2651 2652 eventBus._off("save", webViewerSave); 2653 2654 eventBus._off("firstpage", webViewerFirstPage); 2655 2656 eventBus._off("lastpage", webViewerLastPage); 2657 2658 eventBus._off("nextpage", webViewerNextPage); 2659 2660 eventBus._off("previouspage", webViewerPreviousPage); 2661 2662 eventBus._off("zoomin", webViewerZoomIn); 2663 2664 eventBus._off("zoomout", webViewerZoomOut); 2665 2666 eventBus._off("zoomreset", webViewerZoomReset); 2667 2668 eventBus._off("pagenumberchanged", webViewerPageNumberChanged); 2669 2670 eventBus._off("scalechanged", webViewerScaleChanged); 2671 2672 eventBus._off("rotatecw", webViewerRotateCw); 2673 2674 eventBus._off("rotateccw", webViewerRotateCcw); 2675 2676 eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig); 2677 2678 eventBus._off("switchscrollmode", webViewerSwitchScrollMode); 2679 2680 eventBus._off("scrollmodechanged", webViewerScrollModeChanged); 2681 2682 eventBus._off("switchspreadmode", webViewerSwitchSpreadMode); 2683 2684 eventBus._off("spreadmodechanged", webViewerSpreadModeChanged); 2685 2686 eventBus._off("documentproperties", webViewerDocumentProperties); 2687 2688 eventBus._off("find", webViewerFind); 2689 2690 eventBus._off("findfromurlhash", webViewerFindFromUrlHash); 2691
2692 eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount); 2693 2694 eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState); 2695 2696 if (_boundEvents.reportPageStatsPDFBug) { 2697 eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug); 2698 2699 eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug); 2700 2701 _boundEvents.reportPageStatsPDFBug = null; 2702 } 2703 2704 eventBus._off("fileinputchange", webViewerFileInputChange); 2705 2706 eventBus._off("openfile", webViewerOpenFile); 2707 2708 _boundEvents.beforePrint = null; 2709 _boundEvents.afterPrint = null; 2710 }, 2711 unbindWindowEvents: function unbindWindowEvents() { 2712 var _boundEvents = this._boundEvents; 2713 window.removeEventListener("visibilitychange", webViewerVisibilityChange); 2714 window.removeEventListener("wheel", webViewerWheel, { 2715 passive: false 2716 }); 2717 window.removeEventListener("touchstart", webViewerTouchStart, { 2718 passive: false 2719 }); 2720 window.removeEventListener("click", webViewerClick); 2721 window.removeEventListener("keydown", webViewerKeyDown); 2722 window.removeEventListener("resize", _boundEvents.windowResize); 2723 window.removeEventListener("hashchange", _boundEvents.windowHashChange); 2724 window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint); 2725 window.removeEventListener("afterprint", _boundEvents.windowAfterPrint); 2726 window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); 2727 _boundEvents.windowResize = null; 2728 _boundEvents.windowHashChange = null; 2729 _boundEvents.windowBeforePrint = null; 2730 _boundEvents.windowAfterPrint = null; 2731 _boundEvents.windowUpdateFromSandbox = null; 2732 }, 2733 accumulateWheelTicks: function accumulateWheelTicks(ticks) { 2734 if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) { 2735 this._wheelUnusedTicks = 0; 2736 } 2737 2738 this._wheelUnusedTicks += ticks; 2739 var wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks)); 2740 this._wheelUnusedTicks -= wholeTicks; 2741 return wholeTicks; 2742 }, 2743 _unblockDocumentLoadEvent: function _unblockDocumentLoadEvent() { 2744 if (document.blockUnblockOnload) { 2745 document.blockUnblockOnload(false); 2746 } 2747 2748 this._unblockDocumentLoadEvent = function () {}; 2749 }, 2750 2751 get scriptingReady() { 2752 return this.pdfScriptingManager.ready; 2753 } 2754 2755}; 2756exports.PDFViewerApplication = PDFViewerApplication; 2757var validateFileURL; 2758{ 2759 var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"]; 2760 2761 validateFileURL = function validateFileURL(file) { 2762 if (file === undefined) { 2763 return; 2764 } 2765 2766 try { 2767 var viewerOrigin = new URL(window.location.href).origin || "null"; 2768 2769 if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) { 2770 return; 2771 } 2772 2773 var _URL = new URL(file, window.location.href), 2774 origin = _URL.origin, 2775 protocol = _URL.protocol; 2776 2777 if (origin !== viewerOrigin && protocol !== "blob:") { 2778 throw new Error("file origin does not match viewer's"); 2779 } 2780 } catch (ex) { 2781 PDFViewerApplication.l10n.get("loading_error").then(function (msg) { 2782 PDFViewerApplication._documentError(msg, { 2783 message: ex === null || ex === void 0 ? void 0 : ex.message 2784 }); 2785 }); 2786 throw ex; 2787 } 2788 }; 2789} 2790 2791function loadFakeWorker() { 2792 return _loadFakeWorker.apply(this, arguments); 2793} 2794 2795function _loadFakeWorker() { 2796 _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee18() { 2797 return _regenerator["default"].wrap(function _callee18$(_context18) { 2798 while (1) { 2799 switch (_context18.prev = _context18.next) { 2800 case 0: 2801 if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) { 2802 _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc"); 2803 } 2804 2805 return _context18.abrupt("return", (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc())); 2806 2807 case 2: 2808 case "end": 2809 return _context18.stop(); 2810 } 2811 } 2812 }, _callee18); 2813 })); 2814 return _loadFakeWorker.apply(this, arguments); 2815} 2816 2817function loadAndEnablePDFBug(enabledTabs) { 2818 var appConfig = PDFViewerApplication.appConfig; 2819 return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () { 2820 PDFBug.enable(enabledTabs); 2821 PDFBug.init({ 2822 OPS: _pdfjsLib.OPS 2823 }, appConfig.mainContainer); 2824 }); 2825} 2826 2827function reportPageStatsPDFBug(_ref10) { 2828 var _pageView$pdfPage; 2829 2830 var pageNumber = _ref10.pageNumber; 2831 2832 if (typeof Stats === "undefined" || !Stats.enabled) { 2833 return; 2834 } 2835 2836 var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); 2837 var pageStats = pageView === null || pageView === void 0 ? void 0 : (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.stats; 2838 2839 if (!pageStats) { 2840 return; 2841 } 2842 2843 Stats.add(pageNumber, pageStats); 2844} 2845 2846function webViewerInitialized() { 2847 var appConfig = PDFViewerApplication.appConfig; 2848 var file; 2849 var queryString = document.location.search.substring(1); 2850 var params = (0, _ui_utils.parseQueryString)(queryString); 2851 file = "file" in params ? params.file : _app_options.AppOptions.get("defaultUrl"); 2852 validateFileURL(file); 2853 var fileInput = document.createElement("input"); 2854 fileInput.id = appConfig.openFileInputName; 2855 fileInput.className = "fileInput"; 2856 fileInput.setAttribute("type", "file"); 2857 fileInput.oncontextmenu = _ui_utils.noContextMenuHandler; 2858 document.body.appendChild(fileInput); 2859 2860 if (!window.File || !window.FileReader || !window.FileList || !window.Blob) { 2861 appConfig.toolbar.openFile.hidden = true; 2862 appConfig.secondaryToolbar.openFileButton.hidden = true; 2863 } else { 2864 fileInput.value = null; 2865 } 2866 2867 fileInput.addEventListener("change", function (evt) { 2868 var files = evt.target.files; 2869 2870 if (!files || files.length === 0) { 2871 return; 2872 } 2873 2874 PDFViewerApplication.eventBus.dispatch("fileinputchange", { 2875 source: this, 2876 fileInput: evt.target 2877 }); 2878 }); 2879 appConfig.mainContainer.addEventListener("dragover", function (evt) { 2880 evt.preventDefault(); 2881 evt.dataTransfer.dropEffect = "move"; 2882 }); 2883 appConfig.mainContainer.addEventListener("drop", function (evt) { 2884 evt.preventDefault(); 2885 var files = evt.dataTransfer.files; 2886 2887 if (!files || files.length === 0) { 2888 return; 2889 } 2890 2891 PDFViewerApplication.eventBus.dispatch("fileinputchange", { 2892 source: this, 2893 fileInput: evt.dataTransfer 2894 }); 2895 }); 2896 2897 if (!PDFViewerApplication.supportsDocumentFonts) { 2898 _app_options.AppOptions.set("disableFontFace", true); 2899 2900 PDFViewerApplication.l10n.get("web_fonts_disabled").then(function (msg) { 2901 console.warn(msg); 2902 }); 2903 } 2904 2905 if (!PDFViewerApplication.supportsPrinting) { 2906 appConfig.toolbar.print.classList.add("hidden"); 2907 appConfig.secondaryToolbar.printButton.classList.add("hidden"); 2908 } 2909 2910 if (!PDFViewerApplication.supportsFullscreen) { 2911 appConfig.toolbar.presentationModeButton.classList.add("hidden"); 2912 appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden"); 2913 } 2914 2915 if (PDFViewerApplication.supportsIntegratedFind) { 2916 appConfig.toolbar.viewFind.classList.add("hidden"); 2917 } 2918 2919 appConfig.mainContainer.addEventListener("transitionend", function (evt) { 2920 if (evt.target === this) { 2921 PDFViewerApplication.eventBus.dispatch("resize", { 2922 source: this 2923 }); 2924 } 2925 }, true); 2926 2927 try { 2928 webViewerOpenFileViaURL(file); 2929 } catch (reason) { 2930 PDFViewerApplication.l10n.get("loading_error").then(function (msg) { 2931 PDFViewerApplication._documentError(msg, reason); 2932 }); 2933 } 2934} 2935 2936function webViewerOpenFileViaURL(file) { 2937 if (file) { 2938 PDFViewerApplication.open(file); 2939 } 2940} 2941 2942function webViewerResetPermissions() { 2943 var appConfig = PDFViewerApplication.appConfig; 2944 2945 if (!appConfig) { 2946 return; 2947 } 2948 2949 appConfig.viewerContainer.classList.remove(ENABLE_PERMISSIONS_CLASS); 2950} 2951 2952function webViewerPageRendered(_ref11) { 2953 var pageNumber = _ref11.pageNumber, 2954 timestamp = _ref11.timestamp, 2955 error = _ref11.error; 2956 2957 if (pageNumber === PDFViewerApplication.page) { 2958 PDFViewerApplication.toolbar.updateLoadingIndicatorState(false); 2959 } 2960 2961 if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { 2962 var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1);
2963 var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1); 2964 2965 if (pageView && thumbnailView) { 2966 thumbnailView.setImage(pageView); 2967 } 2968 } 2969 2970 if (error) { 2971 PDFViewerApplication.l10n.get("rendering_error").then(function (msg) { 2972 PDFViewerApplication._otherError(msg, error); 2973 }); 2974 } 2975 2976 PDFViewerApplication.externalServices.reportTelemetry({ 2977 type: "pageInfo", 2978 timestamp: timestamp 2979 }); 2980 PDFViewerApplication.pdfDocument.getStats().then(function (stats) { 2981 PDFViewerApplication.externalServices.reportTelemetry({ 2982 type: "documentStats", 2983 stats: stats 2984 }); 2985 }); 2986} 2987 2988function webViewerPageMode(_ref12) { 2989 var mode = _ref12.mode; 2990 var view; 2991 2992 switch (mode) { 2993 case "thumbs": 2994 view = _ui_utils.SidebarView.THUMBS; 2995 break; 2996 2997 case "bookmarks": 2998 case "outline": 2999 view = _ui_utils.SidebarView.OUTLINE; 3000 break; 3001 3002 case "attachments": 3003 view = _ui_utils.SidebarView.ATTACHMENTS; 3004 break; 3005 3006 case "layers": 3007 view = _ui_utils.SidebarView.LAYERS; 3008 break; 3009 3010 case "none": 3011 view = _ui_utils.SidebarView.NONE; 3012 break; 3013 3014 default: 3015 console.error('Invalid "pagemode" hash parameter: ' + mode); 3016 return; 3017 } 3018 3019 PDFViewerApplication.pdfSidebar.switchView(view, true); 3020} 3021 3022function webViewerNamedAction(evt) { 3023 switch (evt.action) { 3024 case "GoToPage": 3025 PDFViewerApplication.appConfig.toolbar.pageNumber.select(); 3026 break; 3027 3028 case "Find": 3029 if (!PDFViewerApplication.supportsIntegratedFind) { 3030 PDFViewerApplication.findBar.toggle(); 3031 } 3032 3033 break; 3034 3035 case "Print": 3036 PDFViewerApplication.triggerPrinting(); 3037 break; 3038 3039 case "SaveAs": 3040 webViewerSave(); 3041 break; 3042 } 3043} 3044 3045function webViewerPresentationModeChanged(evt) { 3046 PDFViewerApplication.pdfViewer.presentationModeState = evt.state; 3047} 3048 3049function webViewerSidebarViewChanged(evt) { 3050 PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; 3051 var store = PDFViewerApplication.store; 3052 3053 if (store && PDFViewerApplication.isInitialViewSet) { 3054 store.set("sidebarView", evt.view)["catch"](function () {}); 3055 } 3056} 3057 3058function webViewerUpdateViewarea(evt) { 3059 var location = evt.location, 3060 store = PDFViewerApplication.store; 3061 3062 if (store && PDFViewerApplication.isInitialViewSet) { 3063 store.setMultiple({ 3064 page: location.pageNumber, 3065 zoom: location.scale, 3066 scrollLeft: location.left, 3067 scrollTop: location.top, 3068 rotation: location.rotation 3069 })["catch"](function () {}); 3070 } 3071 3072 var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); 3073 PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href; 3074 PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href; 3075 var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1); 3076 var loading = (currentPage === null || currentPage === void 0 ? void 0 : currentPage.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED; 3077 PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading); 3078} 3079 3080function webViewerScrollModeChanged(evt) { 3081 var store = PDFViewerApplication.store; 3082 3083 if (store && PDFViewerApplication.isInitialViewSet) { 3084 store.set("scrollMode", evt.mode)["catch"](function () {}); 3085 } 3086} 3087 3088function webViewerSpreadModeChanged(evt) { 3089 var store = PDFViewerApplication.store; 3090 3091 if (store && PDFViewerApplication.isInitialViewSet) { 3092 store.set("spreadMode", evt.mode)["catch"](function () {}); 3093 } 3094} 3095 3096function webViewerResize() { 3097 var pdfDocument = PDFViewerApplication.pdfDocument, 3098 pdfViewer = PDFViewerApplication.pdfViewer; 3099 3100 if (!pdfDocument) { 3101 return; 3102 } 3103 3104 var currentScaleValue = pdfViewer.currentScaleValue; 3105 3106 if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") { 3107 pdfViewer.currentScaleValue = currentScaleValue; 3108 } 3109 3110 pdfViewer.update(); 3111} 3112 3113function webViewerHashchange(evt) { 3114 var hash = evt.hash; 3115 3116 if (!hash) { 3117 return; 3118 } 3119 3120 if (!PDFViewerApplication.isInitialViewSet) { 3121 PDFViewerApplication.initialBookmark = hash; 3122 } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) { 3123 PDFViewerApplication.pdfLinkService.setHash(hash); 3124 } 3125} 3126 3127var webViewerFileInputChange, webViewerOpenFile; 3128{ 3129 webViewerFileInputChange = function webViewerFileInputChange(evt) { 3130 var _PDFViewerApplication; 3131 3132 if ((_PDFViewerApplication = PDFViewerApplication.pdfViewer) !== null && _PDFViewerApplication !== void 0 && _PDFViewerApplication.isInPresentationMode) { 3133 return; 3134 } 3135 3136 var file = evt.fileInput.files[0]; 3137 3138 if (!_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { 3139 var url = URL.createObjectURL(file); 3140 3141 if (file.name) { 3142 url = { 3143 url: url, 3144 originalUrl: file.name 3145 }; 3146 } 3147 3148 PDFViewerApplication.open(url); 3149 } else { 3150 PDFViewerApplication.setTitleUsingUrl(file.name); 3151 var fileReader = new FileReader(); 3152 3153 fileReader.onload = function webViewerChangeFileReaderOnload(event) { 3154 var buffer = event.target.result; 3155 PDFViewerApplication.open(new Uint8Array(buffer)); 3156 }; 3157 3158 fileReader.readAsArrayBuffer(file); 3159 } 3160 3161 var appConfig = PDFViewerApplication.appConfig; 3162 appConfig.toolbar.viewBookmark.hidden = true; 3163 appConfig.secondaryToolbar.viewBookmarkButton.hidden = true; 3164 appConfig.toolbar.download.hidden = true; 3165 appConfig.secondaryToolbar.downloadButton.hidden = true; 3166 }; 3167 3168 webViewerOpenFile = function webViewerOpenFile(evt) { 3169 var openFileInputName = PDFViewerApplication.appConfig.openFileInputName; 3170 document.getElementById(openFileInputName).click(); 3171 }; 3172} 3173 3174function webViewerPresentationMode() { 3175 PDFViewerApplication.requestPresentationMode(); 3176} 3177 3178function webViewerPrint() { 3179 PDFViewerApplication.triggerPrinting(); 3180} 3181 3182function webViewerDownload() { 3183 PDFViewerApplication.downloadOrSave({ 3184 sourceEventType: "download" 3185 }); 3186} 3187 3188function webViewerSave() { 3189 PDFViewerApplication.downloadOrSave({ 3190 sourceEventType: "save" 3191 }); 3192} 3193 3194function webViewerFirstPage() { 3195 if (PDFViewerApplication.pdfDocument) { 3196 PDFViewerApplication.page = 1; 3197 } 3198} 3199 3200function webViewerLastPage() { 3201 if (PDFViewerApplication.pdfDocument) { 3202 PDFViewerApplication.page = PDFViewerApplication.pagesCount; 3203 } 3204} 3205 3206function webViewerNextPage() { 3207 PDFViewerApplication.pdfViewer.nextPage(); 3208} 3209 3210function webViewerPreviousPage() { 3211 PDFViewerApplication.pdfViewer.previousPage(); 3212} 3213 3214function webViewerZoomIn() { 3215 PDFViewerApplication.zoomIn(); 3216} 3217 3218function webViewerZoomOut() { 3219 PDFViewerApplication.zoomOut(); 3220} 3221 3222function webViewerZoomReset() { 3223 PDFViewerApplication.zoomReset(); 3224} 3225 3226function webViewerPageNumberChanged(evt) { 3227 var pdfViewer = PDFViewerApplication.pdfViewer; 3228 3229 if (evt.value !== "") { 3230 PDFViewerApplication.pdfLinkService.goToPage(evt.value); 3231 } 3232 3233 if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) { 3234 PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); 3235 } 3236} 3237 3238function webViewerScaleChanged(evt) { 3239 PDFViewerApplication.pdfViewer.currentScaleValue = evt.value; 3240} 3241 3242function webViewerRotateCw() { 3243 PDFViewerApplication.rotatePages(90); 3244} 3245 3246function webViewerRotateCcw() { 3247 PDFViewerApplication.rotatePages(-90); 3248} 3249 3250function webViewerOptionalContentConfig(evt) { 3251 PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise; 3252} 3253 3254function webViewerSwitchScrollMode(evt) { 3255 PDFViewerApplication.pdfViewer.scrollMode = evt.mode; 3256} 3257 3258function webViewerSwitchSpreadMode(evt) { 3259 PDFViewerApplication.pdfViewer.spreadMode = evt.mode; 3260} 3261 3262function webViewerDocumentProperties() { 3263 PDFViewerApplication.pdfDocumentProperties.open(); 3264} 3265 3266function webViewerFind(evt) { 3267 PDFViewerApplication.findController.executeCommand("find" + evt.type, { 3268 query: evt.query, 3269 phraseSearch: evt.phraseSearch, 3270 caseSensitive: evt.caseSensitive, 3271 entireWord: evt.entireWord, 3272 highlightAll: evt.highlightAll, 3273 findPrevious: evt.findPrevious 3274 }); 3275} 3276 3277function webViewerFindFromUrlHash(evt) { 3278 PDFViewerApplication.findController.executeCommand("find", { 3279 query: evt.query, 3280 phraseSearch: evt.phraseSearch, 3281 caseSensitive: false, 3282 entireWord: false, 3283 highlightAll: true, 3284 findPrevious: false 3285 }); 3286} 3287
3288function webViewerUpdateFindMatchesCount(_ref13) { 3289 var matchesCount = _ref13.matchesCount; 3290 3291 if (PDFViewerApplication.supportsIntegratedFind) { 3292 PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); 3293 } else { 3294 PDFViewerApplication.findBar.updateResultsCount(matchesCount); 3295 } 3296} 3297 3298function webViewerUpdateFindControlState(_ref14) { 3299 var state = _ref14.state, 3300 previous = _ref14.previous, 3301 matchesCount = _ref14.matchesCount, 3302 rawQuery = _ref14.rawQuery; 3303 3304 if (PDFViewerApplication.supportsIntegratedFind) { 3305 PDFViewerApplication.externalServices.updateFindControlState({ 3306 result: state, 3307 findPrevious: previous, 3308 matchesCount: matchesCount, 3309 rawQuery: rawQuery 3310 }); 3311 } else { 3312 PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount); 3313 } 3314} 3315 3316function webViewerScaleChanging(evt) { 3317 PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale); 3318 PDFViewerApplication.pdfViewer.update(); 3319} 3320 3321function webViewerRotationChanging(evt) { 3322 PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation; 3323 PDFViewerApplication.forceRendering(); 3324 PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber; 3325} 3326 3327function webViewerPageChanging(_ref15) { 3328 var pageNumber = _ref15.pageNumber, 3329 pageLabel = _ref15.pageLabel; 3330 PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel); 3331 PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber); 3332 3333 if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { 3334 PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber); 3335 } 3336} 3337 3338function webViewerVisibilityChange(evt) { 3339 if (document.visibilityState === "visible") { 3340 setZoomDisabledTimeout(); 3341 } 3342} 3343 3344var zoomDisabledTimeout = null; 3345 3346function setZoomDisabledTimeout() { 3347 if (zoomDisabledTimeout) { 3348 clearTimeout(zoomDisabledTimeout); 3349 } 3350 3351 zoomDisabledTimeout = setTimeout(function () { 3352 zoomDisabledTimeout = null; 3353 }, WHEEL_ZOOM_DISABLED_TIMEOUT); 3354} 3355 3356function webViewerWheel(evt) { 3357 var pdfViewer = PDFViewerApplication.pdfViewer, 3358 supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys; 3359 3360 if (pdfViewer.isInPresentationMode) { 3361 return; 3362 } 3363 3364 if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) { 3365 evt.preventDefault(); 3366 3367 if (zoomDisabledTimeout || document.visibilityState === "hidden") { 3368 return; 3369 } 3370 3371 var previousScale = pdfViewer.currentScale; 3372 var delta = (0, _ui_utils.normalizeWheelEventDirection)(evt); 3373 var ticks = 0; 3374 3375 if (evt.deltaMode === WheelEvent.DOM_DELTA_LINE || evt.deltaMode === WheelEvent.DOM_DELTA_PAGE) { 3376 if (Math.abs(delta) >= 1) { 3377 ticks = Math.sign(delta); 3378 } else { 3379 ticks = PDFViewerApplication.accumulateWheelTicks(delta); 3380 } 3381 } else { 3382 var PIXELS_PER_LINE_SCALE = 30; 3383 ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE); 3384 } 3385 3386 if (ticks < 0) { 3387 PDFViewerApplication.zoomOut(-ticks); 3388 } else if (ticks > 0) { 3389 PDFViewerApplication.zoomIn(ticks); 3390 } 3391 3392 var currentScale = pdfViewer.currentScale; 3393 3394 if (previousScale !== currentScale) { 3395 var scaleCorrectionFactor = currentScale / previousScale - 1; 3396 var rect = pdfViewer.container.getBoundingClientRect(); 3397 var dx = evt.clientX - rect.left; 3398 var dy = evt.clientY - rect.top; 3399 pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor; 3400 pdfViewer.container.scrollTop += dy * scaleCorrectionFactor; 3401 } 3402 } else { 3403 setZoomDisabledTimeout(); 3404 } 3405} 3406 3407function webViewerTouchStart(evt) { 3408 if (evt.touches.length > 1) { 3409 evt.preventDefault(); 3410 } 3411} 3412 3413function webViewerClick(evt) { 3414 if (!PDFViewerApplication.secondaryToolbar.isOpen) { 3415 return; 3416 } 3417 3418 var appConfig = PDFViewerApplication.appConfig; 3419 3420 if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) { 3421 PDFViewerApplication.secondaryToolbar.close(); 3422 } 3423} 3424 3425function webViewerKeyDown(evt) { 3426 if (PDFViewerApplication.overlayManager.active) { 3427 return; 3428 } 3429 3430 var handled = false, 3431 ensureViewerFocused = false;
3432 var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0); 3433 var pdfViewer = PDFViewerApplication.pdfViewer; 3434 var isViewerInPresentationMode = pdfViewer === null || pdfViewer === void 0 ? void 0 : pdfViewer.isInPresentationMode; 3435 3436 if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) { 3437 switch (evt.keyCode) { 3438 case 70: 3439 if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) { 3440 PDFViewerApplication.findBar.open(); 3441 handled = true; 3442 } 3443 3444 break; 3445 3446 case 71: 3447 if (!PDFViewerApplication.supportsIntegratedFind) { 3448 var findState = PDFViewerApplication.findController.state; 3449 3450 if (findState) { 3451 PDFViewerApplication.findController.executeCommand("findagain", { 3452 query: findState.query, 3453 phraseSearch: findState.phraseSearch, 3454 caseSensitive: findState.caseSensitive, 3455 entireWord: findState.entireWord, 3456 highlightAll: findState.highlightAll, 3457 findPrevious: cmd === 5 || cmd === 12 3458 }); 3459 } 3460 3461 handled = true; 3462 } 3463 3464 break; 3465 3466 case 61: 3467 case 107: 3468 case 187: 3469 case 171: 3470 if (!isViewerInPresentationMode) { 3471 PDFViewerApplication.zoomIn(); 3472 } 3473 3474 handled = true; 3475 break; 3476 3477 case 173: 3478 case 109: 3479 case 189: 3480 if (!isViewerInPresentationMode) { 3481 PDFViewerApplication.zoomOut(); 3482 } 3483 3484 handled = true; 3485 break; 3486 3487 case 48: 3488 case 96: 3489 if (!isViewerInPresentationMode) { 3490 setTimeout(function () { 3491 PDFViewerApplication.zoomReset(); 3492 }); 3493 handled = false; 3494 } 3495 3496 break; 3497 3498 case 38: 3499 if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { 3500 PDFViewerApplication.page = 1; 3501 handled = true; 3502 ensureViewerFocused = true; 3503 } 3504 3505 break; 3506 3507 case 40: 3508 if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { 3509 PDFViewerApplication.page = PDFViewerApplication.pagesCount; 3510 handled = true; 3511 ensureViewerFocused = true; 3512 } 3513 3514 break; 3515 } 3516 } 3517 3518 var eventBus = PDFViewerApplication.eventBus; 3519 3520 if (cmd === 1 || cmd === 8) { 3521 switch (evt.keyCode) { 3522 case 83: 3523 eventBus.dispatch("download", { 3524 source: window 3525 }); 3526 handled = true; 3527 break; 3528 3529 case 79: 3530 { 3531 eventBus.dispatch("openfile", { 3532 source: window 3533 }); 3534 handled = true; 3535 } 3536 break; 3537 } 3538 } 3539 3540 if (cmd === 3 || cmd === 10) { 3541 switch (evt.keyCode) { 3542 case 80: 3543 PDFViewerApplication.requestPresentationMode(); 3544 handled = true; 3545 break; 3546 3547 case 71: 3548 PDFViewerApplication.appConfig.toolbar.pageNumber.select(); 3549 handled = true; 3550 break; 3551 } 3552 } 3553 3554 if (handled) { 3555 if (ensureViewerFocused && !isViewerInPresentationMode) {
3556 pdfViewer.focus(); 3557 } 3558 3559 evt.preventDefault(); 3560 return; 3561 } 3562 3563 var curElement = (0, _ui_utils.getActiveOrFocusedElement)(); 3564 var curElementTagName = curElement === null || curElement === void 0 ? void 0 : curElement.tagName.toUpperCase(); 3565 3566 if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement !== null && curElement !== void 0 && curElement.isContentEditable) { 3567 if (evt.keyCode !== 27) { 3568 return; 3569 } 3570 } 3571 3572 if (cmd === 0) { 3573 var turnPage = 0, 3574 turnOnlyIfPageFit = false; 3575 3576 switch (evt.keyCode) { 3577 case 38: 3578 case 33: 3579 if (pdfViewer.isVerticalScrollbarEnabled) { 3580 turnOnlyIfPageFit = true; 3581 } 3582 3583 turnPage = -1; 3584 break; 3585 3586 case 8: 3587 if (!isViewerInPresentationMode) { 3588 turnOnlyIfPageFit = true; 3589 } 3590 3591 turnPage = -1; 3592 break; 3593 3594 case 37: 3595 if (pdfViewer.isHorizontalScrollbarEnabled) { 3596 turnOnlyIfPageFit = true; 3597 } 3598 3599 case 75: 3600 case 80: 3601 turnPage = -1; 3602 break; 3603 3604 case 27: 3605 if (PDFViewerApplication.secondaryToolbar.isOpen) { 3606 PDFViewerApplication.secondaryToolbar.close(); 3607 handled = true; 3608 } 3609 3610 if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) { 3611 PDFViewerApplication.findBar.close(); 3612 handled = true; 3613 } 3614 3615 break; 3616 3617 case 40: 3618 case 34: 3619 if (pdfViewer.isVerticalScrollbarEnabled) { 3620 turnOnlyIfPageFit = true; 3621 } 3622 3623 turnPage = 1; 3624 break; 3625 3626 case 13: 3627 case 32: 3628 if (!isViewerInPresentationMode) { 3629 turnOnlyIfPageFit = true; 3630 } 3631 3632 turnPage = 1; 3633 break; 3634 3635 case 39: 3636 if (pdfViewer.isHorizontalScrollbarEnabled) { 3637 turnOnlyIfPageFit = true; 3638 } 3639 3640 case 74: 3641 case 78: 3642 turnPage = 1; 3643 break; 3644 3645 case 36: 3646 if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { 3647 PDFViewerApplication.page = 1; 3648 handled = true; 3649 ensureViewerFocused = true; 3650 } 3651 3652 break; 3653 3654 case 35: 3655 if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { 3656 PDFViewerApplication.page = PDFViewerApplication.pagesCount; 3657 handled = true; 3658 ensureViewerFocused = true; 3659 } 3660 3661 break; 3662 3663 case 83: 3664 PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT); 3665 break; 3666 3667 case 72: 3668 PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND); 3669 break; 3670 3671 case 82: 3672 PDFViewerApplication.rotatePages(90); 3673 break; 3674 3675 case 115: 3676 PDFViewerApplication.pdfSidebar.toggle(); 3677 break; 3678 } 3679 3680 if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) { 3681 if (turnPage > 0) { 3682 pdfViewer.nextPage(); 3683 } else { 3684 pdfViewer.previousPage(); 3685 } 3686 3687 handled = true; 3688 } 3689 } 3690 3691 if (cmd === 4) { 3692 switch (evt.keyCode) { 3693 case 13: 3694 case 32: 3695 if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") { 3696 break; 3697 } 3698 3699 if (PDFViewerApplication.page > 1) { 3700 PDFViewerApplication.page--; 3701 } 3702 3703 handled = true; 3704 break; 3705 3706 case 82: 3707 PDFViewerApplication.rotatePages(-90); 3708 break; 3709 } 3710 } 3711 3712 if (!handled && !isViewerInPresentationMode) { 3713 if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") { 3714 ensureViewerFocused = true; 3715 } 3716 } 3717 3718 if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) {
vendor: 9,779 bytes, lines 3719-4063
3719 pdfViewer.focus(); 3720 } 3721 3722 if (handled) { 3723 evt.preventDefault(); 3724 } 3725} 3726 3727function beforeUnload(evt) { 3728 evt.preventDefault(); 3729 evt.returnValue = ""; 3730 return false; 3731} 3732 3733var PDFPrintServiceFactory = { 3734 instance: { 3735 supportsPrinting: false, 3736 createPrintService: function createPrintService() { 3737 throw new Error("Not implemented: createPrintService"); 3738 } 3739 } 3740}; 3741exports.PDFPrintServiceFactory = PDFPrintServiceFactory; 3742 3743/***/ }), 3744/* 4 */ 3745/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 3746 3747 3748 3749module.exports = __webpack_require__(5); 3750 3751/***/ }), 3752/* 5 */ 3753/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 3754 3755/* module decorator */ module = __webpack_require__.nmd(module); 3756 3757 3758function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 3759 3760var runtime = function (exports) { 3761 "use strict"; 3762 3763 var Op = Object.prototype; 3764 var hasOwn = Op.hasOwnProperty; 3765 var undefined; 3766 var $Symbol = typeof Symbol === "function" ? Symbol : {}; 3767 var iteratorSymbol = $Symbol.iterator || "@@iterator"; 3768 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; 3769 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; 3770 3771 function define(obj, key, value) { 3772 Object.defineProperty(obj, key, { 3773 value: value, 3774 enumerable: true, 3775 configurable: true, 3776 writable: true 3777 }); 3778 return obj[key]; 3779 } 3780 3781 try { 3782 define({}, ""); 3783 } catch (err) { 3784 define = function define(obj, key, value) { 3785 return obj[key] = value; 3786 }; 3787 } 3788 3789 function wrap(innerFn, outerFn, self, tryLocsList) { 3790 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; 3791 var generator = Object.create(protoGenerator.prototype); 3792 var context = new Context(tryLocsList || []); 3793 generator._invoke = makeInvokeMethod(innerFn, self, context); 3794 return generator; 3795 } 3796 3797 exports.wrap = wrap; 3798 3799 function tryCatch(fn, obj, arg) { 3800 try { 3801 return { 3802 type: "normal", 3803 arg: fn.call(obj, arg) 3804 }; 3805 } catch (err) { 3806 return { 3807 type: "throw", 3808 arg: err 3809 }; 3810 } 3811 } 3812 3813 var GenStateSuspendedStart = "suspendedStart"; 3814 var GenStateSuspendedYield = "suspendedYield"; 3815 var GenStateExecuting = "executing"; 3816 var GenStateCompleted = "completed"; 3817 var ContinueSentinel = {}; 3818 3819 function Generator() {} 3820 3821 function GeneratorFunction() {} 3822 3823 function GeneratorFunctionPrototype() {} 3824 3825 var IteratorPrototype = {}; 3826 define(IteratorPrototype, iteratorSymbol, function () { 3827 return this; 3828 }); 3829 var getProto = Object.getPrototypeOf; 3830 var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); 3831 3832 if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { 3833 IteratorPrototype = NativeIteratorPrototype; 3834 } 3835 3836 var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); 3837 GeneratorFunction.prototype = GeneratorFunctionPrototype; 3838 define(Gp, "constructor", GeneratorFunctionPrototype); 3839 define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); 3840 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); 3841 3842 function defineIteratorMethods(prototype) { 3843 ["next", "throw", "return"].forEach(function (method) { 3844 define(prototype, method, function (arg) { 3845 return this._invoke(method, arg); 3846 }); 3847 }); 3848 } 3849 3850 exports.isGeneratorFunction = function (genFun) { 3851 var ctor = typeof genFun === "function" && genFun.constructor; 3852 return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; 3853 }; 3854 3855 exports.mark = function (genFun) { 3856 if (Object.setPrototypeOf) { 3857 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); 3858 } else { 3859 genFun.__proto__ = GeneratorFunctionPrototype; 3860 define(genFun, toStringTagSymbol, "GeneratorFunction"); 3861 } 3862 3863 genFun.prototype = Object.create(Gp); 3864 return genFun; 3865 }; 3866 3867 exports.awrap = function (arg) { 3868 return { 3869 __await: arg 3870 }; 3871 }; 3872 3873 function AsyncIterator(generator, PromiseImpl) { 3874 function invoke(method, arg, resolve, reject) { 3875 var record = tryCatch(generator[method], generator, arg); 3876 3877 if (record.type === "throw") { 3878 reject(record.arg); 3879 } else { 3880 var result = record.arg; 3881 var value = result.value; 3882 3883 if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { 3884 return PromiseImpl.resolve(value.__await).then(function (value) { 3885 invoke("next", value, resolve, reject); 3886 }, function (err) { 3887 invoke("throw", err, resolve, reject); 3888 }); 3889 } 3890 3891 return PromiseImpl.resolve(value).then(function (unwrapped) { 3892 result.value = unwrapped; 3893 resolve(result); 3894 }, function (error) { 3895 return invoke("throw", error, resolve, reject); 3896 }); 3897 } 3898 } 3899 3900 var previousPromise; 3901 3902 function enqueue(method, arg) { 3903 function callInvokeWithMethodAndArg() { 3904 return new PromiseImpl(function (resolve, reject) { 3905 invoke(method, arg, resolve, reject); 3906 }); 3907 } 3908 3909 return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); 3910 } 3911 3912 this._invoke = enqueue; 3913 } 3914 3915 defineIteratorMethods(AsyncIterator.prototype); 3916 define(AsyncIterator.prototype, asyncIteratorSymbol, function () { 3917 return this; 3918 }); 3919 exports.AsyncIterator = AsyncIterator; 3920 3921 exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { 3922 if (PromiseImpl === void 0) PromiseImpl = Promise; 3923 var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); 3924 return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { 3925 return result.done ? result.value : iter.next(); 3926 }); 3927 }; 3928 3929 function makeInvokeMethod(innerFn, self, context) { 3930 var state = GenStateSuspendedStart; 3931 return function invoke(method, arg) { 3932 if (state === GenStateExecuting) { 3933 throw new Error("Generator is already running"); 3934 } 3935 3936 if (state === GenStateCompleted) { 3937 if (method === "throw") { 3938 throw arg; 3939 } 3940 3941 return doneResult(); 3942 } 3943 3944 context.method = method; 3945 context.arg = arg; 3946 3947 while (true) { 3948 var delegate = context.delegate; 3949 3950 if (delegate) { 3951 var delegateResult = maybeInvokeDelegate(delegate, context); 3952 3953 if (delegateResult) { 3954 if (delegateResult === ContinueSentinel) continue; 3955 return delegateResult; 3956 } 3957 } 3958 3959 if (context.method === "next") { 3960 context.sent = context._sent = context.arg; 3961 } else if (context.method === "throw") { 3962 if (state === GenStateSuspendedStart) { 3963 state = GenStateCompleted; 3964 throw context.arg; 3965 } 3966 3967 context.dispatchException(context.arg); 3968 } else if (context.method === "return") { 3969 context.abrupt("return", context.arg); 3970 } 3971 3972 state = GenStateExecuting; 3973 var record = tryCatch(innerFn, self, context); 3974 3975 if (record.type === "normal") { 3976 state = context.done ? GenStateCompleted : GenStateSuspendedYield; 3977 3978 if (record.arg === ContinueSentinel) { 3979 continue; 3980 } 3981 3982 return { 3983 value: record.arg, 3984 done: context.done 3985 }; 3986 } else if (record.type === "throw") { 3987 state = GenStateCompleted; 3988 context.method = "throw"; 3989 context.arg = record.arg; 3990 } 3991 } 3992 }; 3993 } 3994 3995 function maybeInvokeDelegate(delegate, context) { 3996 var method = delegate.iterator[context.method]; 3997 3998 if (method === undefined) { 3999 context.delegate = null; 4000 4001 if (context.method === "throw") { 4002 if (delegate.iterator["return"]) { 4003 context.method = "return"; 4004 context.arg = undefined; 4005 maybeInvokeDelegate(delegate, context); 4006 4007 if (context.method === "throw") { 4008 return ContinueSentinel; 4009 } 4010 } 4011 4012 context.method = "throw"; 4013 context.arg = new TypeError("The iterator does not provide a 'throw' method"); 4014 } 4015 4016 return ContinueSentinel; 4017 } 4018 4019 var record = tryCatch(method, delegate.iterator, context.arg); 4020 4021 if (record.type === "throw") { 4022 context.method = "throw"; 4023 context.arg = record.arg; 4024 context.delegate = null; 4025 return ContinueSentinel; 4026 } 4027 4028 var info = record.arg; 4029 4030 if (!info) { 4031 context.method = "throw"; 4032 context.arg = new TypeError("iterator result is not an object"); 4033 context.delegate = null; 4034 return ContinueSentinel; 4035 } 4036 4037 if (info.done) { 4038 context[delegate.resultName] = info.value; 4039 context.next = delegate.nextLoc; 4040 4041 if (context.method !== "return") { 4042 context.method = "next"; 4043 context.arg = undefined; 4044 } 4045 } else { 4046 return info; 4047 } 4048 4049 context.delegate = null; 4050 return ContinueSentinel; 4051 } 4052 4053 defineIteratorMethods(Gp); 4054 define(Gp, toStringTagSymbol, "Generator"); 4055 define(Gp, iteratorSymbol, function () { 4056 return this; 4057 }); 4058 define(Gp, "toString", function () { 4059 return "[object Generator]"; 4060 }); 4061 4062 function pushTryEntry(locs) { 4063 var entry = {
vendor: 7,737 bytes, lines 4064-4367
4064 tryLoc: locs[0] 4065 }; 4066 4067 if (1 in locs) { 4068 entry.catchLoc = locs[1]; 4069 } 4070 4071 if (2 in locs) { 4072 entry.finallyLoc = locs[2]; 4073 entry.afterLoc = locs[3]; 4074 } 4075 4076 this.tryEntries.push(entry); 4077 } 4078 4079 function resetTryEntry(entry) { 4080 var record = entry.completion || {}; 4081 record.type = "normal"; 4082 delete record.arg; 4083 entry.completion = record; 4084 } 4085 4086 function Context(tryLocsList) { 4087 this.tryEntries = [{ 4088 tryLoc: "root" 4089 }]; 4090 tryLocsList.forEach(pushTryEntry, this); 4091 this.reset(true); 4092 } 4093 4094 exports.keys = function (object) { 4095 var keys = []; 4096 4097 for (var key in object) { 4098 keys.push(key); 4099 } 4100 4101 keys.reverse(); 4102 return function next() { 4103 while (keys.length) { 4104 var key = keys.pop(); 4105 4106 if (key in object) { 4107 next.value = key; 4108 next.done = false; 4109 return next; 4110 } 4111 } 4112 4113 next.done = true; 4114 return next; 4115 }; 4116 }; 4117 4118 function values(iterable) { 4119 if (iterable) { 4120 var iteratorMethod = iterable[iteratorSymbol]; 4121 4122 if (iteratorMethod) { 4123 return iteratorMethod.call(iterable); 4124 } 4125 4126 if (typeof iterable.next === "function") { 4127 return iterable; 4128 } 4129 4130 if (!isNaN(iterable.length)) { 4131 var i = -1, 4132 next = function next() { 4133 while (++i < iterable.length) { 4134 if (hasOwn.call(iterable, i)) { 4135 next.value = iterable[i]; 4136 next.done = false; 4137 return next; 4138 } 4139 } 4140 4141 next.value = undefined; 4142 next.done = true; 4143 return next; 4144 }; 4145 4146 return next.next = next; 4147 } 4148 } 4149 4150 return { 4151 next: doneResult 4152 }; 4153 } 4154 4155 exports.values = values; 4156 4157 function doneResult() { 4158 return { 4159 value: undefined, 4160 done: true 4161 }; 4162 } 4163 4164 Context.prototype = { 4165 constructor: Context, 4166 reset: function reset(skipTempReset) { 4167 this.prev = 0; 4168 this.next = 0; 4169 this.sent = this._sent = undefined; 4170 this.done = false; 4171 this.delegate = null; 4172 this.method = "next"; 4173 this.arg = undefined; 4174 this.tryEntries.forEach(resetTryEntry); 4175 4176 if (!skipTempReset) { 4177 for (var name in this) { 4178 if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { 4179 this[name] = undefined; 4180 } 4181 } 4182 } 4183 }, 4184 stop: function stop() { 4185 this.done = true; 4186 var rootEntry = this.tryEntries[0]; 4187 var rootRecord = rootEntry.completion; 4188 4189 if (rootRecord.type === "throw") { 4190 throw rootRecord.arg; 4191 } 4192 4193 return this.rval; 4194 }, 4195 dispatchException: function dispatchException(exception) { 4196 if (this.done) { 4197 throw exception; 4198 } 4199 4200 var context = this; 4201 4202 function handle(loc, caught) { 4203 record.type = "throw"; 4204 record.arg = exception; 4205 context.next = loc; 4206 4207 if (caught) { 4208 context.method = "next"; 4209 context.arg = undefined; 4210 } 4211 4212 return !!caught; 4213 } 4214 4215 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4216 var entry = this.tryEntries[i]; 4217 var record = entry.completion; 4218 4219 if (entry.tryLoc === "root") { 4220 return handle("end"); 4221 } 4222 4223 if (entry.tryLoc <= this.prev) { 4224 var hasCatch = hasOwn.call(entry, "catchLoc"); 4225 var hasFinally = hasOwn.call(entry, "finallyLoc"); 4226 4227 if (hasCatch && hasFinally) { 4228 if (this.prev < entry.catchLoc) { 4229 return handle(entry.catchLoc, true); 4230 } else if (this.prev < entry.finallyLoc) { 4231 return handle(entry.finallyLoc); 4232 } 4233 } else if (hasCatch) { 4234 if (this.prev < entry.catchLoc) { 4235 return handle(entry.catchLoc, true); 4236 } 4237 } else if (hasFinally) { 4238 if (this.prev < entry.finallyLoc) { 4239 return handle(entry.finallyLoc); 4240 } 4241 } else { 4242 throw new Error("try statement without catch or finally"); 4243 } 4244 } 4245 } 4246 }, 4247 abrupt: function abrupt(type, arg) { 4248 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4249 var entry = this.tryEntries[i]; 4250 4251 if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { 4252 var finallyEntry = entry; 4253 break; 4254 } 4255 } 4256 4257 if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { 4258 finallyEntry = null; 4259 } 4260 4261 var record = finallyEntry ? finallyEntry.completion : {}; 4262 record.type = type; 4263 record.arg = arg; 4264 4265 if (finallyEntry) { 4266 this.method = "next"; 4267 this.next = finallyEntry.finallyLoc; 4268 return ContinueSentinel; 4269 } 4270 4271 return this.complete(record); 4272 }, 4273 complete: function complete(record, afterLoc) { 4274 if (record.type === "throw") { 4275 throw record.arg; 4276 } 4277 4278 if (record.type === "break" || record.type === "continue") { 4279 this.next = record.arg; 4280 } else if (record.type === "return") { 4281 this.rval = this.arg = record.arg; 4282 this.method = "return"; 4283 this.next = "end"; 4284 } else if (record.type === "normal" && afterLoc) { 4285 this.next = afterLoc; 4286 } 4287 4288 return ContinueSentinel; 4289 }, 4290 finish: function finish(finallyLoc) { 4291 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4292 var entry = this.tryEntries[i]; 4293 4294 if (entry.finallyLoc === finallyLoc) { 4295 this.complete(entry.completion, entry.afterLoc); 4296 resetTryEntry(entry); 4297 return ContinueSentinel; 4298 } 4299 } 4300 }, 4301 "catch": function _catch(tryLoc) { 4302 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 4303 var entry = this.tryEntries[i]; 4304 4305 if (entry.tryLoc === tryLoc) { 4306 var record = entry.completion; 4307 4308 if (record.type === "throw") { 4309 var thrown = record.arg; 4310 resetTryEntry(entry); 4311 } 4312 4313 return thrown; 4314 } 4315 } 4316 4317 throw new Error("illegal catch attempt"); 4318 }, 4319 delegateYield: function delegateYield(iterable, resultName, nextLoc) { 4320 this.delegate = { 4321 iterator: values(iterable), 4322 resultName: resultName, 4323 nextLoc: nextLoc 4324 }; 4325 4326 if (this.method === "next") { 4327 this.arg = undefined; 4328 } 4329 4330 return ContinueSentinel; 4331 } 4332 }; 4333 return exports; 4334}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); 4335 4336try { 4337 regeneratorRuntime = runtime; 4338} catch (accidentalStrictMode) { 4339 if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { 4340 globalThis.regeneratorRuntime = runtime; 4341 } else { 4342 Function("r", "regeneratorRuntime = r")(runtime); 4343 } 4344} 4345 4346/***/ }), 4347/* 6 */ 4348/***/ ((__unused_webpack_module, exports) => { 4349 4350 4351 4352Object.defineProperty(exports, "__esModule", ({ 4353 value: true 4354})); 4355exports.apiPageLayoutToSpreadMode = apiPageLayoutToSpreadMode; 4356exports.apiPageModeToSidebarView = apiPageModeToSidebarView; 4357exports.approximateFraction = approximateFraction; 4358exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements; 4359exports.binarySearchFirstItem = binarySearchFirstItem; 4360exports.getActiveOrFocusedElement = getActiveOrFocusedElement; 4361exports.getOutputScale = getOutputScale; 4362exports.getPageSizeInches = getPageSizeInches; 4363exports.getVisibleElements = getVisibleElements; 4364exports.isPortraitOrientation = isPortraitOrientation; 4365exports.isValidRotation = isValidRotation; 4366exports.isValidScrollMode = isValidScrollMode; 4367exports.isValidSpreadMode = isValidSpreadMode;
vendor: 5,417 bytes, lines 4368-4431
4368exports.moveToEndOfArray = moveToEndOfArray; 4369exports.noContextMenuHandler = noContextMenuHandler; 4370exports.normalizeWheelEventDelta = normalizeWheelEventDelta; 4371exports.normalizeWheelEventDirection = normalizeWheelEventDirection; 4372exports.parseQueryString = parseQueryString; 4373exports.roundToDivide = roundToDivide; 4374exports.scrollIntoView = scrollIntoView; 4375exports.waitOnEventOrTimeout = waitOnEventOrTimeout; 4376exports.watchScroll = watchScroll; 4377exports.WaitOnType = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.EventBus = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE = exports.CSS_UNITS = exports.AutoPrintRegExp = exports.animationStarted = void 0; 4378 4379function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 4380 4381function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 4382 4383function _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); } } 4384 4385function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 4386 4387function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 4388 4389function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 4390 4391function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 4392 4393function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 4394 4395function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 4396 4397function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 4398 4399function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 4400 4401var CSS_UNITS = 96.0 / 72.0; 4402exports.CSS_UNITS = CSS_UNITS; 4403var DEFAULT_SCALE_VALUE = "auto"; 4404exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE; 4405var DEFAULT_SCALE = 1.0; 4406exports.DEFAULT_SCALE = DEFAULT_SCALE; 4407var MIN_SCALE = 0.1; 4408exports.MIN_SCALE = MIN_SCALE; 4409var MAX_SCALE = 10.0; 4410exports.MAX_SCALE = MAX_SCALE; 4411var UNKNOWN_SCALE = 0; 4412exports.UNKNOWN_SCALE = UNKNOWN_SCALE; 4413var MAX_AUTO_SCALE = 1.25; 4414exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE; 4415var SCROLLBAR_PADDING = 40; 4416exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING; 4417var VERTICAL_PADDING = 5; 4418exports.VERTICAL_PADDING = VERTICAL_PADDING; 4419var LOADINGBAR_END_OFFSET_VAR = "--loadingBar-end-offset"; 4420var PresentationModeState = { 4421 UNKNOWN: 0, 4422 NORMAL: 1, 4423 CHANGING: 2, 4424 FULLSCREEN: 3 4425}; 4426exports.PresentationModeState = PresentationModeState; 4427var SidebarView = { 4428 UNKNOWN: -1, 4429 NONE: 0, 4430 THUMBS: 1, 4431 OUTLINE: 2,
4432 ATTACHMENTS: 3, 4433 LAYERS: 4 4434}; 4435exports.SidebarView = SidebarView; 4436var RendererType = { 4437 CANVAS: "canvas", 4438 SVG: "svg" 4439}; 4440exports.RendererType = RendererType; 4441var TextLayerMode = { 4442 DISABLE: 0, 4443 ENABLE: 1, 4444 ENABLE_ENHANCE: 2 4445}; 4446exports.TextLayerMode = TextLayerMode; 4447var ScrollMode = { 4448 UNKNOWN: -1, 4449 VERTICAL: 0, 4450 HORIZONTAL: 1, 4451 WRAPPED: 2 4452}; 4453exports.ScrollMode = ScrollMode; 4454var SpreadMode = { 4455 UNKNOWN: -1, 4456 NONE: 0, 4457 ODD: 1, 4458 EVEN: 2 4459}; 4460exports.SpreadMode = SpreadMode; 4461var AutoPrintRegExp = /\bprint\s*\(/; 4462exports.AutoPrintRegExp = AutoPrintRegExp; 4463 4464function getOutputScale(ctx) { 4465 var devicePixelRatio = window.devicePixelRatio || 1; 4466 var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.backingStorePixelRatio || 1; 4467 var pixelRatio = devicePixelRatio / backingStoreRatio; 4468 return { 4469 sx: pixelRatio, 4470 sy: pixelRatio, 4471 scaled: pixelRatio !== 1 4472 }; 4473} 4474 4475function scrollIntoView(element, spot) { 4476 var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 4477 var parent = element.offsetParent; 4478 4479 if (!parent) { 4480 console.error("offsetParent is not set -- cannot scroll"); 4481 return; 4482 } 4483 4484 var offsetY = element.offsetTop + element.clientTop; 4485 var offsetX = element.offsetLeft + element.clientLeft; 4486 4487 while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) { 4488 offsetY += parent.offsetTop; 4489 offsetX += parent.offsetLeft; 4490 parent = parent.offsetParent; 4491 4492 if (!parent) { 4493 return; 4494 } 4495 } 4496 4497 if (spot) { 4498 if (spot.top !== undefined) { 4499 offsetY += spot.top; 4500 } 4501 4502 if (spot.left !== undefined) { 4503 offsetX += spot.left; 4504 parent.scrollLeft = offsetX; 4505 } 4506 } 4507 4508 parent.scrollTop = offsetY; 4509} 4510 4511function watchScroll(viewAreaElement, callback) { 4512 var debounceScroll = function debounceScroll(evt) { 4513 if (rAF) { 4514 return; 4515 } 4516 4517 rAF = window.requestAnimationFrame(function viewAreaElementScrolled() { 4518 rAF = null; 4519 var currentX = viewAreaElement.scrollLeft; 4520 var lastX = state.lastX; 4521 4522 if (currentX !== lastX) { 4523 state.right = currentX > lastX; 4524 } 4525 4526 state.lastX = currentX; 4527 var currentY = viewAreaElement.scrollTop; 4528 var lastY = state.lastY; 4529 4530 if (currentY !== lastY) { 4531 state.down = currentY > lastY; 4532 } 4533 4534 state.lastY = currentY; 4535 callback(state); 4536 }); 4537 }; 4538 4539 var state = { 4540 right: true, 4541 down: true, 4542 lastX: viewAreaElement.scrollLeft, 4543 lastY: viewAreaElement.scrollTop, 4544 _eventHandler: debounceScroll 4545 }; 4546 var rAF = null; 4547 viewAreaElement.addEventListener("scroll", debounceScroll, true); 4548 return state; 4549} 4550 4551function parseQueryString(query) { 4552 var parts = query.split("&"); 4553 var params = Object.create(null); 4554 4555 for (var i = 0, ii = parts.length; i < ii; ++i) { 4556 var param = parts[i].split("="); 4557 var key = param[0].toLowerCase(); 4558 var value = param.length > 1 ? param[1] : null; 4559 params[decodeURIComponent(key)] = decodeURIComponent(value); 4560 } 4561 4562 return params; 4563} 4564 4565function binarySearchFirstItem(items, condition) { 4566 var minIndex = 0; 4567 var maxIndex = items.length - 1; 4568 4569 if (maxIndex < 0 || !condition(items[maxIndex])) { 4570 return items.length; 4571 } 4572 4573 if (condition(items[minIndex])) { 4574 return minIndex; 4575 } 4576 4577 while (minIndex < maxIndex) { 4578 var currentIndex = minIndex + maxIndex >> 1; 4579 var currentItem = items[currentIndex]; 4580 4581 if (condition(currentItem)) { 4582 maxIndex = currentIndex; 4583 } else { 4584 minIndex = currentIndex + 1; 4585 } 4586 } 4587 4588 return minIndex; 4589} 4590 4591function approximateFraction(x) { 4592 if (Math.floor(x) === x) { 4593 return [x, 1]; 4594 } 4595 4596 var xinv = 1 / x; 4597 var limit = 8; 4598 4599 if (xinv > limit) { 4600 return [1, limit]; 4601 } else if (Math.floor(xinv) === xinv) { 4602 return [1, xinv]; 4603 } 4604 4605 var x_ = x > 1 ? xinv : x; 4606 var a = 0, 4607 b = 1, 4608 c = 1, 4609 d = 1; 4610 4611 while (true) { 4612 var p = a + c, 4613 q = b + d; 4614 4615 if (q > limit) { 4616 break; 4617 } 4618 4619 if (x_ <= p / q) { 4620 c = p; 4621 d = q; 4622 } else { 4623 a = p; 4624 b = q; 4625 } 4626 } 4627 4628 var result; 4629 4630 if (x_ - a / b < c / d - x_) { 4631 result = x_ === x ? [a, b] : [b, a]; 4632 } else { 4633 result = x_ === x ? [c, d] : [d, c]; 4634 } 4635 4636 return result; 4637} 4638 4639function roundToDivide(x, div) { 4640 var r = x % div; 4641 return r === 0 ? x : Math.round(x - r + div); 4642} 4643 4644function getPageSizeInches(_ref) { 4645 var view = _ref.view, 4646 userUnit = _ref.userUnit, 4647 rotate = _ref.rotate; 4648 4649 var _view = _slicedToArray(view, 4), 4650 x1 = _view[0], 4651 y1 = _view[1], 4652 x2 = _view[2], 4653 y2 = _view[3]; 4654 4655 var changeOrientation = rotate % 180 !== 0; 4656 var width = (x2 - x1) / 72 * userUnit; 4657 var height = (y2 - y1) / 72 * userUnit; 4658 return { 4659 width: changeOrientation ? height : width, 4660 height: changeOrientation ? width : height 4661 }; 4662} 4663 4664function backtrackBeforeAllVisibleElements(index, views, top) { 4665 if (index < 2) { 4666 return index; 4667 } 4668 4669 var elt = views[index].div; 4670 var pageTop = elt.offsetTop + elt.clientTop; 4671 4672 if (pageTop >= top) { 4673 elt = views[index - 1].div; 4674 pageTop = elt.offsetTop + elt.clientTop; 4675 } 4676 4677 for (var i = index - 2; i >= 0; --i) { 4678 elt = views[i].div; 4679 4680 if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) { 4681 break; 4682 } 4683 4684 index = i; 4685 } 4686 4687 return index; 4688} 4689 4690function getVisibleElements(_ref2) { 4691 var scrollEl = _ref2.scrollEl, 4692 views = _ref2.views, 4693 _ref2$sortByVisibilit = _ref2.sortByVisibility, 4694 sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit, 4695 _ref2$horizontal = _ref2.horizontal, 4696 horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal, 4697 _ref2$rtl = _ref2.rtl, 4698 rtl = _ref2$rtl === void 0 ? false : _ref2$rtl; 4699 var top = scrollEl.scrollTop, 4700 bottom = top + scrollEl.clientHeight; 4701 var left = scrollEl.scrollLeft, 4702 right = left + scrollEl.clientWidth; 4703 4704 function isElementBottomAfterViewTop(view) { 4705 var element = view.div; 4706 var elementBottom = element.offsetTop + element.clientTop + element.clientHeight; 4707 return elementBottom > top; 4708 } 4709 4710 function isElementNextAfterViewHorizontally(view) { 4711 var element = view.div; 4712 var elementLeft = element.offsetLeft + element.clientLeft; 4713 var elementRight = elementLeft + element.clientWidth; 4714 return rtl ? elementLeft < right : elementRight > left; 4715 } 4716 4717 var visible = [], 4718 numViews = views.length; 4719 var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop); 4720 4721 if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) { 4722 firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top); 4723 } 4724 4725 var lastEdge = horizontal ? right : -1; 4726 4727 for (var i = firstVisibleElementInd; i < numViews; i++) { 4728 var view = views[i], 4729 element = view.div; 4730 var currentWidth = element.offsetLeft + element.clientLeft; 4731 var currentHeight = element.offsetTop + element.clientTop; 4732 var viewWidth = element.clientWidth, 4733 viewHeight = element.clientHeight; 4734 var viewRight = currentWidth + viewWidth; 4735 var viewBottom = currentHeight + viewHeight; 4736 4737 if (lastEdge === -1) { 4738 if (viewBottom >= bottom) { 4739 lastEdge = viewBottom; 4740 } 4741 } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) { 4742 break; 4743 } 4744 4745 if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) { 4746 continue; 4747 } 4748 4749 var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom); 4750 var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right); 4751 var fractionHeight = (viewHeight - hiddenHeight) / viewHeight, 4752 fractionWidth = (viewWidth - hiddenWidth) / viewWidth; 4753 var percent = fractionHeight * fractionWidth * 100 | 0; 4754 visible.push({ 4755 id: view.id, 4756 x: currentWidth, 4757 y: currentHeight, 4758 view: view, 4759 percent: percent, 4760 widthPercent: fractionWidth * 100 | 0 4761 }); 4762 } 4763 4764 var first = visible[0], 4765 last = visible[visible.length - 1]; 4766 4767 if (sortByVisibility) { 4768 visible.sort(function (a, b) { 4769 var pc = a.percent - b.percent; 4770 4771 if (Math.abs(pc) > 0.001) { 4772 return -pc; 4773 } 4774 4775 return a.id - b.id; 4776 }); 4777 } 4778 4779 return { 4780 first: first, 4781 last: last, 4782 views: visible 4783 }; 4784} 4785 4786function noContextMenuHandler(evt) { 4787 evt.preventDefault(); 4788} 4789 4790function normalizeWheelEventDirection(evt) { 4791 var delta = Math.hypot(evt.deltaX, evt.deltaY); 4792 var angle = Math.atan2(evt.deltaY, evt.deltaX); 4793 4794 if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { 4795 delta = -delta; 4796 } 4797 4798 return delta; 4799} 4800 4801function normalizeWheelEventDelta(evt) { 4802 var delta = normalizeWheelEventDirection(evt); 4803 var MOUSE_DOM_DELTA_PIXEL_MODE = 0; 4804 var MOUSE_DOM_DELTA_LINE_MODE = 1; 4805 var MOUSE_PIXELS_PER_LINE = 30; 4806 var MOUSE_LINES_PER_PAGE = 30; 4807 4808 if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) { 4809 delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE; 4810 } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) { 4811 delta /= MOUSE_LINES_PER_PAGE; 4812 } 4813 4814 return delta; 4815} 4816 4817function isValidRotation(angle) { 4818 return Number.isInteger(angle) && angle % 90 === 0; 4819} 4820 4821function isValidScrollMode(mode) { 4822 return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN; 4823} 4824 4825function isValidSpreadMode(mode) { 4826 return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN; 4827} 4828 4829function isPortraitOrientation(size) { 4830 return size.width <= size.height; 4831} 4832 4833var WaitOnType = { 4834 EVENT: "event", 4835 TIMEOUT: "timeout" 4836}; 4837exports.WaitOnType = WaitOnType; 4838 4839function waitOnEventOrTimeout(_ref3) { 4840 var target = _ref3.target, 4841 name = _ref3.name, 4842 _ref3$delay = _ref3.delay,
4843 delay = _ref3$delay === void 0 ? 0 : _ref3$delay; 4844 return new Promise(function (resolve, reject) { 4845 if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) { 4846 throw new Error("waitOnEventOrTimeout - invalid parameters."); 4847 } 4848 4849 function handler(type) { 4850 if (target instanceof EventBus) { 4851 target._off(name, eventHandler); 4852 } else { 4853 target.removeEventListener(name, eventHandler); 4854 } 4855 4856 if (timeout) { 4857 clearTimeout(timeout); 4858 } 4859 4860 resolve(type); 4861 } 4862 4863 var eventHandler = handler.bind(null, WaitOnType.EVENT); 4864 4865 if (target instanceof EventBus) { 4866 target._on(name, eventHandler); 4867 } else { 4868 target.addEventListener(name, eventHandler); 4869 } 4870 4871 var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT); 4872 var timeout = setTimeout(timeoutHandler, delay); 4873 }); 4874} 4875 4876var animationStarted = new Promise(function (resolve) { 4877 window.requestAnimationFrame(resolve); 4878}); 4879exports.animationStarted = animationStarted; 4880 4881function dispatchDOMEvent(eventName) { 4882 var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 4883 throw new Error("Not implemented: dispatchDOMEvent"); 4884} 4885 4886var EventBus = /*#__PURE__*/function () { 4887 function EventBus(options) { 4888 _classCallCheck(this, EventBus); 4889 4890 this._listeners = Object.create(null); 4891 } 4892 4893 _createClass(EventBus, [{ 4894 key: "on", 4895 value: function on(eventName, listener) { 4896 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 4897 4898 this._on(eventName, listener, { 4899 external: true, 4900 once: options === null || options === void 0 ? void 0 : options.once 4901 }); 4902 } 4903 }, { 4904 key: "off", 4905 value: function off(eventName, listener) { 4906 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 4907 4908 this._off(eventName, listener, { 4909 external: true, 4910 once: options === null || options === void 0 ? void 0 : options.once 4911 }); 4912 } 4913 }, { 4914 key: "dispatch", 4915 value: function dispatch(eventName) { 4916 var eventListeners = this._listeners[eventName]; 4917 4918 if (!eventListeners || eventListeners.length === 0) { 4919 return; 4920 } 4921 4922 var args = Array.prototype.slice.call(arguments, 1); 4923 var externalListeners; 4924 4925 var _iterator = _createForOfIteratorHelper(eventListeners.slice(0)), 4926 _step; 4927 4928 try { 4929 for (_iterator.s(); !(_step = _iterator.n()).done;) { 4930 var _step$value = _step.value, 4931 _listener = _step$value.listener, 4932 external = _step$value.external, 4933 once = _step$value.once; 4934 4935 if (once) { 4936 this._off(eventName, _listener); 4937 } 4938 4939 if (external) { 4940 (externalListeners || (externalListeners = [])).push(_listener); 4941 continue; 4942 } 4943 4944 _listener.apply(null, args); 4945 } 4946 } catch (err) { 4947 _iterator.e(err); 4948 } finally { 4949 _iterator.f(); 4950 } 4951 4952 if (externalListeners) { 4953 var _iterator2 = _createForOfIteratorHelper(externalListeners), 4954 _step2; 4955 4956 try { 4957 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 4958 var listener = _step2.value; 4959 listener.apply(null, args); 4960 } 4961 } catch (err) { 4962 _iterator2.e(err); 4963 } finally { 4964 _iterator2.f(); 4965 } 4966 4967 externalListeners = null; 4968 } 4969 } 4970 }, { 4971 key: "_on", 4972 value: function _on(eventName, listener) { 4973 var _this$_listeners; 4974 4975 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 4976 var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []); 4977 eventListeners.push({ 4978 listener: listener, 4979 external: (options === null || options === void 0 ? void 0 : options.external) === true, 4980 once: (options === null || options === void 0 ? void 0 : options.once) === true 4981 }); 4982 } 4983 }, { 4984 key: "_off", 4985 value: function _off(eventName, listener) { 4986 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 4987 var eventListeners = this._listeners[eventName]; 4988 4989 if (!eventListeners) { 4990 return; 4991 } 4992 4993 for (var i = 0, ii = eventListeners.length; i < ii; i++) { 4994 if (eventListeners[i].listener === listener) { 4995 eventListeners.splice(i, 1); 4996 return; 4997 } 4998 } 4999 } 5000 }]); 5001 5002 return EventBus; 5003}(); 5004 5005exports.EventBus = EventBus; 5006 5007function clamp(v, min, max) { 5008 return Math.min(Math.max(v, min), max); 5009} 5010 5011var ProgressBar = /*#__PURE__*/function () { 5012 function ProgressBar(id) { 5013 var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, 5014 height = _ref4.height, 5015 width = _ref4.width, 5016 units = _ref4.units; 5017 5018 _classCallCheck(this, ProgressBar); 5019 5020 this.visible = true; 5021 this.div = document.querySelector(id + " .progress"); 5022 this.bar = this.div.parentNode; 5023 this.height = height || 100; 5024 this.width = width || 100; 5025 this.units = units || "%"; 5026 this.div.style.height = this.height + this.units; 5027 this.percent = 0; 5028 } 5029 5030 _createClass(ProgressBar, [{ 5031 key: "_updateBar", 5032 value: function _updateBar() { 5033 if (this._indeterminate) { 5034 this.div.classList.add("indeterminate"); 5035 this.div.style.width = this.width + this.units; 5036 return; 5037 } 5038 5039 this.div.classList.remove("indeterminate"); 5040 var progressSize = this.width * this._percent / 100; 5041 this.div.style.width = progressSize + this.units; 5042 } 5043 }, { 5044 key: "percent", 5045 get: function get() { 5046 return this._percent; 5047 }, 5048 set: function set(val) { 5049 this._indeterminate = isNaN(val); 5050 this._percent = clamp(val, 0, 100); 5051 5052 this._updateBar(); 5053 } 5054 }, { 5055 key: "setWidth", 5056 value: function setWidth(viewer) { 5057 if (!viewer) { 5058 return; 5059 } 5060 5061 var container = viewer.parentNode; 5062 var scrollbarWidth = container.offsetWidth - viewer.offsetWidth; 5063 5064 if (scrollbarWidth > 0) { 5065 var doc = document.documentElement; 5066 doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, "".concat(scrollbarWidth, "px")); 5067 } 5068 } 5069 }, { 5070 key: "hide", 5071 value: function hide() { 5072 if (!this.visible) { 5073 return; 5074 } 5075 5076 this.visible = false;
5077 this.bar.classList.add("hidden"); 5078 } 5079 }, { 5080 key: "show", 5081 value: function show() { 5082 if (this.visible) { 5083 return; 5084 } 5085 5086 this.visible = true; 5087 this.bar.classList.remove("hidden"); 5088 } 5089 }]); 5090 5091 return ProgressBar; 5092}(); 5093 5094exports.ProgressBar = ProgressBar; 5095 5096function moveToEndOfArray(arr, condition) { 5097 var moved = [], 5098 len = arr.length; 5099 var write = 0; 5100 5101 for (var read = 0; read < len; ++read) { 5102 if (condition(arr[read])) { 5103 moved.push(arr[read]); 5104 } else { 5105 arr[write] = arr[read]; 5106 ++write; 5107 } 5108 } 5109 5110 for (var _read = 0; write < len; ++_read, ++write) { 5111 arr[write] = moved[_read]; 5112 } 5113} 5114 5115function getActiveOrFocusedElement() { 5116 var curRoot = document; 5117 var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); 5118 5119 while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) { 5120 var _curActiveOrFocused; 5121 5122 curRoot = curActiveOrFocused.shadowRoot; 5123 curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); 5124 } 5125 5126 return curActiveOrFocused; 5127} 5128 5129function apiPageLayoutToSpreadMode(layout) { 5130 switch (layout) { 5131 case "SinglePage": 5132 case "OneColumn": 5133 return SpreadMode.NONE; 5134 5135 case "TwoColumnLeft": 5136 case "TwoPageLeft": 5137 return SpreadMode.ODD; 5138 5139 case "TwoColumnRight": 5140 case "TwoPageRight": 5141 return SpreadMode.EVEN; 5142 } 5143 5144 return SpreadMode.NONE; 5145} 5146 5147function apiPageModeToSidebarView(mode) { 5148 switch (mode) { 5149 case "UseNone": 5150 return SidebarView.NONE; 5151 5152 case "UseThumbs": 5153 return SidebarView.THUMBS; 5154 5155 case "UseOutlines": 5156 return SidebarView.OUTLINE; 5157 5158 case "UseAttachments": 5159 return SidebarView.ATTACHMENTS; 5160 5161 case "UseOC": 5162 return SidebarView.LAYERS; 5163 } 5164 5165 return SidebarView.NONE; 5166} 5167 5168/***/ }), 5169/* 7 */ 5170/***/ ((module) => { 5171 5172 5173 5174var pdfjsLib; 5175 5176if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) { 5177 pdfjsLib = window["pdfjs-dist/build/pdf"]; 5178} else { 5179 pdfjsLib = require("./build/pdf.js"); 5180} 5181 5182module.exports = pdfjsLib; 5183 5184/***/ }), 5185/* 8 */ 5186/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 5187 5188 5189 5190Object.defineProperty(exports, "__esModule", ({ 5191 value: true 5192})); 5193exports.PDFCursorTools = exports.CursorTool = void 0; 5194 5195var _grab_to_pan = __webpack_require__(9); 5196 5197var _ui_utils = __webpack_require__(6); 5198 5199function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 5200 5201function _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); } } 5202 5203function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 5204 5205var CursorTool = { 5206 SELECT: 0, 5207 HAND: 1, 5208 ZOOM: 2 5209}; 5210exports.CursorTool = CursorTool; 5211 5212var PDFCursorTools = /*#__PURE__*/function () { 5213 function PDFCursorTools(_ref) { 5214 var _this = this; 5215 5216 var container = _ref.container, 5217 eventBus = _ref.eventBus, 5218 _ref$cursorToolOnLoad = _ref.cursorToolOnLoad, 5219 cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad; 5220 5221 _classCallCheck(this, PDFCursorTools); 5222 5223 this.container = container; 5224 this.eventBus = eventBus; 5225 this.active = CursorTool.SELECT; 5226 this.activeBeforePresentationMode = null; 5227 this.handTool = new _grab_to_pan.GrabToPan({ 5228 element: this.container 5229 }); 5230 5231 this._addEventListeners(); 5232 5233 Promise.resolve().then(function () { 5234 _this.switchTool(cursorToolOnLoad); 5235 }); 5236 } 5237 5238 _createClass(PDFCursorTools, [{ 5239 key: "activeTool", 5240 get: function get() { 5241 return this.active; 5242 } 5243 }, { 5244 key: "switchTool", 5245 value: function switchTool(tool) { 5246 var _this2 = this; 5247 5248 if (this.activeBeforePresentationMode !== null) { 5249 return; 5250 } 5251 5252 if (tool === this.active) { 5253 return; 5254 } 5255 5256 var disableActiveTool = function disableActiveTool() { 5257 switch (_this2.active) { 5258 case CursorTool.SELECT: 5259 break; 5260 5261 case CursorTool.HAND: 5262 _this2.handTool.deactivate(); 5263 5264 break; 5265 5266 case CursorTool.ZOOM: 5267 } 5268 }; 5269 5270 switch (tool) { 5271 case CursorTool.SELECT: 5272 disableActiveTool(); 5273 break; 5274 5275 case CursorTool.HAND: 5276 disableActiveTool(); 5277 this.handTool.activate(); 5278 break; 5279 5280 case CursorTool.ZOOM: 5281 default: 5282 console.error("switchTool: \"".concat(tool, "\" is an unsupported value.")); 5283 return; 5284 } 5285 5286 this.active = tool; 5287 5288 this._dispatchEvent(); 5289 } 5290 }, { 5291 key: "_dispatchEvent", 5292 value: function _dispatchEvent() { 5293 this.eventBus.dispatch("cursortoolchanged", { 5294 source: this, 5295 tool: this.active 5296 }); 5297 } 5298 }, { 5299 key: "_addEventListeners", 5300 value: function _addEventListeners() { 5301 var _this3 = this; 5302 5303 this.eventBus._on("switchcursortool", function (evt) { 5304 _this3.switchTool(evt.tool); 5305 }); 5306 5307 this.eventBus._on("presentationmodechanged", function (evt) { 5308 switch (evt.state) { 5309 case _ui_utils.PresentationModeState.FULLSCREEN: 5310 { 5311 var previouslyActive = _this3.active; 5312 5313 _this3.switchTool(CursorTool.SELECT); 5314 5315 _this3.activeBeforePresentationMode = previouslyActive; 5316 break; 5317 } 5318 5319 case _ui_utils.PresentationModeState.NORMAL: 5320 { 5321 var _previouslyActive = _this3.activeBeforePresentationMode; 5322 _this3.activeBeforePresentationMode = null; 5323 5324 _this3.switchTool(_previouslyActive); 5325 5326 break; 5327 } 5328 } 5329 }); 5330 } 5331 }]); 5332 5333 return PDFCursorTools; 5334}(); 5335 5336exports.PDFCursorTools = PDFCursorTools; 5337 5338/***/ }), 5339/* 9 */
5340/***/ ((__unused_webpack_module, exports) => { 5341 5342 5343 5344Object.defineProperty(exports, "__esModule", ({ 5345 value: true 5346})); 5347exports.GrabToPan = GrabToPan; 5348 5349function GrabToPan(options) { 5350 this.element = options.element; 5351 this.document = options.element.ownerDocument; 5352 5353 if (typeof options.ignoreTarget === "function") { 5354 this.ignoreTarget = options.ignoreTarget; 5355 } 5356 5357 this.onActiveChanged = options.onActiveChanged; 5358 this.activate = this.activate.bind(this); 5359 this.deactivate = this.deactivate.bind(this); 5360 this.toggle = this.toggle.bind(this); 5361 this._onmousedown = this._onmousedown.bind(this); 5362 this._onmousemove = this._onmousemove.bind(this); 5363 this._endPan = this._endPan.bind(this); 5364 var overlay = this.overlay = document.createElement("div"); 5365 overlay.className = "grab-to-pan-grabbing"; 5366} 5367 5368GrabToPan.prototype = { 5369 CSS_CLASS_GRAB: "grab-to-pan-grab", 5370 activate: function GrabToPan_activate() { 5371 if (!this.active) { 5372 this.active = true; 5373 this.element.addEventListener("mousedown", this._onmousedown, true); 5374 this.element.classList.add(this.CSS_CLASS_GRAB); 5375 5376 if (this.onActiveChanged) { 5377 this.onActiveChanged(true); 5378 } 5379 } 5380 }, 5381 deactivate: function GrabToPan_deactivate() { 5382 if (this.active) { 5383 this.active = false; 5384 this.element.removeEventListener("mousedown", this._onmousedown, true); 5385 5386 this._endPan(); 5387 5388 this.element.classList.remove(this.CSS_CLASS_GRAB); 5389 5390 if (this.onActiveChanged) { 5391 this.onActiveChanged(false); 5392 } 5393 } 5394 }, 5395 toggle: function GrabToPan_toggle() { 5396 if (this.active) { 5397 this.deactivate(); 5398 } else { 5399 this.activate(); 5400 } 5401 }, 5402 ignoreTarget: function GrabToPan_ignoreTarget(node) { 5403 return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option"); 5404 }, 5405 _onmousedown: function GrabToPan__onmousedown(event) { 5406 if (event.button !== 0 || this.ignoreTarget(event.target)) { 5407 return; 5408 } 5409 5410 if (event.originalTarget) { 5411 try { 5412 event.originalTarget.tagName; 5413 } catch (e) { 5414 return; 5415 } 5416 } 5417 5418 this.scrollLeftStart = this.element.scrollLeft; 5419 this.scrollTopStart = this.element.scrollTop; 5420 this.clientXStart = event.clientX; 5421 this.clientYStart = event.clientY; 5422 this.document.addEventListener("mousemove", this._onmousemove, true); 5423 this.document.addEventListener("mouseup", this._endPan, true); 5424 this.element.addEventListener("scroll", this._endPan, true); 5425 event.preventDefault(); 5426 event.stopPropagation(); 5427 var focusedElement = document.activeElement; 5428 5429 if (focusedElement && !focusedElement.contains(event.target)) { 5430 focusedElement.blur(); 5431 } 5432 }, 5433 _onmousemove: function GrabToPan__onmousemove(event) { 5434 this.element.removeEventListener("scroll", this._endPan, true); 5435 5436 if (isLeftMouseReleased(event)) { 5437 this._endPan(); 5438 5439 return; 5440 } 5441 5442 var xDiff = event.clientX - this.clientXStart; 5443 var yDiff = event.clientY - this.clientYStart; 5444 var scrollTop = this.scrollTopStart - yDiff; 5445 var scrollLeft = this.scrollLeftStart - xDiff; 5446 5447 if (this.element.scrollTo) { 5448 this.element.scrollTo({ 5449 top: scrollTop, 5450 left: scrollLeft, 5451 behavior: "instant" 5452 }); 5453 } else { 5454 this.element.scrollTop = scrollTop; 5455 this.element.scrollLeft = scrollLeft; 5456 } 5457 5458 if (!this.overlay.parentNode) { 5459 document.body.appendChild(this.overlay); 5460 } 5461 }, 5462 _endPan: function GrabToPan__endPan() { 5463 this.element.removeEventListener("scroll", this._endPan, true); 5464 this.document.removeEventListener("mousemove", this._onmousemove, true); 5465 this.document.removeEventListener("mouseup", this._endPan, true); 5466 this.overlay.remove(); 5467 } 5468}; 5469 5470function isLeftMouseReleased(event) { 5471 if ("buttons" in event) { 5472 return !(event.buttons & 1); 5473 } 5474 5475 var chrome = window.chrome; 5476 var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app); 5477 var isSafari6plus = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent); 5478 5479 if (isChrome15OrOpera15plus || isSafari6plus) { 5480 return event.which === 0; 5481 } 5482 5483 return false;
5484} 5485 5486/***/ }), 5487/* 10 */ 5488/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 5489 5490 5491 5492Object.defineProperty(exports, "__esModule", ({ 5493 value: true 5494})); 5495exports.RenderingStates = exports.PDFRenderingQueue = void 0; 5496 5497var _pdfjsLib = __webpack_require__(7); 5498 5499function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 5500 5501function _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); } } 5502 5503function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 5504 5505var CLEANUP_TIMEOUT = 30000; 5506var RenderingStates = { 5507 INITIAL: 0, 5508 RUNNING: 1, 5509 PAUSED: 2, 5510 FINISHED: 3 5511}; 5512exports.RenderingStates = RenderingStates; 5513 5514var PDFRenderingQueue = /*#__PURE__*/function () { 5515 function PDFRenderingQueue() { 5516 _classCallCheck(this, PDFRenderingQueue); 5517 5518 this.pdfViewer = null; 5519 this.pdfThumbnailViewer = null; 5520 this.onIdle = null; 5521 this.highestPriorityPage = null; 5522 this.idleTimeout = null; 5523 this.printing = false; 5524 this.isThumbnailViewEnabled = false; 5525 } 5526 5527 _createClass(PDFRenderingQueue, [{ 5528 key: "setViewer", 5529 value: function setViewer(pdfViewer) { 5530 this.pdfViewer = pdfViewer; 5531 } 5532 }, { 5533 key: "setThumbnailViewer", 5534 value: function setThumbnailViewer(pdfThumbnailViewer) { 5535 this.pdfThumbnailViewer = pdfThumbnailViewer; 5536 } 5537 }, { 5538 key: "isHighestPriority", 5539 value: function isHighestPriority(view) { 5540 return this.highestPriorityPage === view.renderingId; 5541 } 5542 }, { 5543 key: "renderHighestPriority", 5544 value: function renderHighestPriority(currentlyVisiblePages) { 5545 if (this.idleTimeout) { 5546 clearTimeout(this.idleTimeout); 5547 this.idleTimeout = null; 5548 } 5549 5550 if (this.pdfViewer.forceRendering(currentlyVisiblePages)) { 5551 return; 5552 } 5553 5554 if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) { 5555 if (this.pdfThumbnailViewer.forceRendering()) { 5556 return; 5557 } 5558 } 5559 5560 if (this.printing) { 5561 return; 5562 } 5563 5564 if (this.onIdle) { 5565 this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT); 5566 } 5567 } 5568 }, { 5569 key: "getHighestPriority", 5570 value: function getHighestPriority(visible, views, scrolledDown) { 5571 var visibleViews = visible.views; 5572 var numVisible = visibleViews.length; 5573 5574 if (numVisible === 0) { 5575 return null; 5576 } 5577 5578 for (var i = 0; i < numVisible; ++i) { 5579 var view = visibleViews[i].view; 5580 5581 if (!this.isViewFinished(view)) { 5582 return view; 5583 } 5584 } 5585 5586 if (scrolledDown) { 5587 var nextPageIndex = visible.last.id; 5588 5589 if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) { 5590 return views[nextPageIndex]; 5591 } 5592 } else { 5593 var previousPageIndex = visible.first.id - 2; 5594 5595 if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) { 5596 return views[previousPageIndex]; 5597 } 5598 } 5599 5600 return null; 5601 } 5602 }, { 5603 key: "isViewFinished", 5604 value: function isViewFinished(view) { 5605 return view.renderingState === RenderingStates.FINISHED; 5606 } 5607 }, { 5608 key: "renderView", 5609 value: function renderView(view) { 5610 var _this = this; 5611 5612 switch (view.renderingState) { 5613 case RenderingStates.FINISHED: 5614 return false; 5615 5616 case RenderingStates.PAUSED: 5617 this.highestPriorityPage = view.renderingId; 5618 view.resume(); 5619 break; 5620 5621 case RenderingStates.RUNNING: 5622 this.highestPriorityPage = view.renderingId; 5623 break; 5624 5625 case RenderingStates.INITIAL: 5626 this.highestPriorityPage = view.renderingId; 5627 view.draw()["finally"](function () { 5628 _this.renderHighestPriority(); 5629 })["catch"](function (reason) { 5630 if (reason instanceof _pdfjsLib.RenderingCancelledException) { 5631 return; 5632 } 5633 5634 console.error("renderView: \"".concat(reason, "\"")); 5635 }); 5636 break; 5637 } 5638 5639 return true; 5640 } 5641 }]); 5642 5643 return PDFRenderingQueue; 5644}(); 5645 5646exports.PDFRenderingQueue = PDFRenderingQueue; 5647 5648/***/ }), 5649/* 11 */ 5650/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 5651 5652 5653 5654Object.defineProperty(exports, "__esModule", ({ 5655 value: true 5656})); 5657exports.OverlayManager = void 0; 5658 5659var _regenerator = _interopRequireDefault(__webpack_require__(4)); 5660 5661function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 5662 5663function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
5663y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 5664 5665function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 5666 5667function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 5668 5669function _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); } } 5670 5671function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 5672 5673var OverlayManager = /*#__PURE__*/function () { 5674 function OverlayManager() { 5675 _classCallCheck(this, OverlayManager); 5676 5677 this._overlays = {}; 5678 this._active = null; 5679 this._keyDownBound = this._keyDown.bind(this); 5680 } 5681 5682 _createClass(OverlayManager, [{ 5683 key: "active", 5684 get: function get() { 5685 return this._active; 5686 } 5687 }, { 5688 key: "register", 5689 value: function () { 5690 var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, element) { 5691 var callerCloseMethod, 5692 canForceClose, 5693 container, 5694 _args = arguments; 5695 return _regenerator["default"].wrap(function _callee$(_context) { 5696 while (1) { 5697 switch (_context.prev = _context.next) { 5698 case 0: 5699 callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null; 5700 canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false; 5701 5702 if (!(!name || !element || !(container = element.parentNode))) { 5703 _context.next = 6; 5704 break; 5705 } 5706 5707 throw new Error("Not enough parameters."); 5708 5709 case 6: 5710 if (!this._overlays[name]) { 5711 _context.next = 8; 5712 break; 5713 } 5714 5715 throw new Error("The overlay is already registered."); 5716 5717 case 8: 5718 this._overlays[name] = { 5719 element: element, 5720 container: container, 5721 callerCloseMethod: callerCloseMethod, 5722 canForceClose: canForceClose 5723 }; 5724 5725 case 9: 5726 case "end": 5727 return _context.stop(); 5728 } 5729 } 5730 }, _callee, this); 5731 })); 5732 5733 function register(_x, _x2) { 5734 return _register.apply(this, arguments); 5735 } 5736 5737 return register; 5738 }() 5739 }, { 5740 key: "unregister", 5741 value: function () { 5742 var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) { 5743 return _regenerator["default"].wrap(function _callee2$(_context2) { 5744 while (1) { 5745 switch (_context2.prev = _context2.next) { 5746 case 0: 5747 if (this._overlays[name]) { 5748 _context2.next = 4; 5749 break; 5750 } 5751 5752 throw new Error("The overlay does not exist."); 5753 5754 case 4: 5755 if (!(this._active === name)) { 5756 _context2.next = 6; 5757 break; 5758 } 5759 5760 throw new Error("The overlay cannot be removed while it is active."); 5761 5762 case 6: 5763 delete this._overlays[name]; 5764 5765 case 7: 5766 case "end": 5767 return _context2.stop(); 5768 } 5769 } 5770 }, _callee2, this); 5771 })); 5772 5773 function unregister(_x3) { 5774 return _unregister.apply(this, arguments); 5775 } 5776 5777 return unregister; 5778 }() 5779 }, { 5780 key: "open", 5781 value: function () { 5782 var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) { 5783 return _regenerator["default"].wrap(function _callee3$(_context3) { 5784 while (1) { 5785 switch (_context3.prev = _context3.next) { 5786 case 0: 5787 if (this._overlays[name]) { 5788 _context3.next = 4; 5789 break; 5790 } 5791 5792 throw new Error("The overlay does not exist."); 5793 5794 case 4: 5795 if (!this._active) { 5796 _context3.next = 14; 5797 break; 5798 } 5799
5800 if (!this._overlays[name].canForceClose) { 5801 _context3.next = 9; 5802 break; 5803 } 5804 5805 this._closeThroughCaller(); 5806 5807 _context3.next = 14; 5808 break; 5809 5810 case 9: 5811 if (!(this._active === name)) { 5812 _context3.next = 13; 5813 break; 5814 } 5815 5816 throw new Error("The overlay is already active."); 5817 5818 case 13: 5819 throw new Error("Another overlay is currently active."); 5820 5821 case 14: 5822 this._active = name; 5823 5824 this._overlays[this._active].element.classList.remove("hidden"); 5825 5826 this._overlays[this._active].container.classList.remove("hidden"); 5827 5828 window.addEventListener("keydown", this._keyDownBound); 5829 5830 case 18: 5831 case "end": 5832 return _context3.stop(); 5833 } 5834 } 5835 }, _callee3, this); 5836 })); 5837 5838 function open(_x4) { 5839 return _open.apply(this, arguments); 5840 } 5841 5842 return open; 5843 }() 5844 }, { 5845 key: "close", 5846 value: function () { 5847 var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) { 5848 return _regenerator["default"].wrap(function _callee4$(_context4) { 5849 while (1) { 5850 switch (_context4.prev = _context4.next) { 5851 case 0: 5852 if (this._overlays[name]) { 5853 _context4.next = 4; 5854 break; 5855 } 5856 5857 throw new Error("The overlay does not exist."); 5858 5859 case 4: 5860 if (this._active) { 5861 _context4.next = 8; 5862 break; 5863 } 5864 5865 throw new Error("The overlay is currently not active."); 5866 5867 case 8: 5868 if (!(this._active !== name)) { 5869 _context4.next = 10; 5870 break; 5871 } 5872 5873 throw new Error("Another overlay is currently active."); 5874 5875 case 10: 5876 this._overlays[this._active].container.classList.add("hidden"); 5877 5878 this._overlays[this._active].element.classList.add("hidden"); 5879 5880 this._active = null; 5881 window.removeEventListener("keydown", this._keyDownBound); 5882 5883 case 14: 5884 case "end": 5885 return _context4.stop(); 5886 } 5887 } 5888 }, _callee4, this); 5889 })); 5890 5891 function close(_x5) { 5892 return _close.apply(this, arguments); 5893 } 5894 5895 return close; 5896 }() 5897 }, { 5898 key: "_keyDown", 5899 value: function _keyDown(evt) { 5900 if (this._active && evt.keyCode === 27) { 5901 this._closeThroughCaller(); 5902 5903 evt.preventDefault(); 5904 } 5905 } 5906 }, { 5907 key: "_closeThroughCaller", 5908 value: function _closeThroughCaller() { 5909 if (this._overlays[this._active].callerCloseMethod) { 5910 this._overlays[this._active].callerCloseMethod(); 5911 } 5912 5913 if (this._active) { 5914 this.close(this._active); 5915 } 5916 } 5917 }]); 5918 5919 return OverlayManager; 5920}(); 5921 5922exports.OverlayManager = OverlayManager; 5923 5924/***/ }), 5925/* 12 */ 5926/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 5927 5928 5929 5930Object.defineProperty(exports, "__esModule", ({ 5931 value: true 5932})); 5933exports.PasswordPrompt = void 0; 5934 5935var _regenerator = _interopRequireDefault(__webpack_require__(4)); 5936 5937var _pdfjsLib = __webpack_require__(7); 5938 5939function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 5940 5941function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 5942 5943function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 5944 5945function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 5946 5947function _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); } } 5948 5949function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 5950 5951var PasswordPrompt = /*#__PURE__*/function () { 5952 function PasswordPrompt(options, overlayManager, l10n) { 5953 var _this = this; 5954 5955 var isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
5956 5957 _classCallCheck(this, PasswordPrompt); 5958 5959 this.overlayName = options.overlayName; 5960 this.container = options.container; 5961 this.label = options.label; 5962 this.input = options.input; 5963 this.submitButton = options.submitButton; 5964 this.cancelButton = options.cancelButton; 5965 this.overlayManager = overlayManager; 5966 this.l10n = l10n; 5967 this._isViewerEmbedded = isViewerEmbedded; 5968 this.updateCallback = null; 5969 this.reason = null; 5970 this.submitButton.addEventListener("click", this.verify.bind(this)); 5971 this.cancelButton.addEventListener("click", this.close.bind(this)); 5972 this.input.addEventListener("keydown", function (e) { 5973 if (e.keyCode === 13) { 5974 _this.verify(); 5975 } 5976 }); 5977 this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true); 5978 } 5979 5980 _createClass(PasswordPrompt, [{ 5981 key: "open", 5982 value: function () { 5983 var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 5984 var passwordIncorrect; 5985 return _regenerator["default"].wrap(function _callee$(_context) { 5986 while (1) { 5987 switch (_context.prev = _context.next) { 5988 case 0: 5989 _context.next = 2; 5990 return this.overlayManager.open(this.overlayName); 5991 5992 case 2: 5993 passwordIncorrect = this.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD; 5994 5995 if (!this._isViewerEmbedded || passwordIncorrect) { 5996 this.input.focus(); 5997 } 5998 5999 _context.next = 6; 6000 return this.l10n.get("password_".concat(passwordIncorrect ? "invalid" : "label")); 6001 6002 case 6: 6003 this.label.textContent = _context.sent; 6004 6005 case 7: 6006 case "end": 6007 return _context.stop(); 6008 } 6009 } 6010 }, _callee, this); 6011 })); 6012 6013 function open() { 6014 return _open.apply(this, arguments); 6015 } 6016 6017 return open; 6018 }() 6019 }, { 6020 key: "close", 6021 value: function close() { 6022 var _this2 = this; 6023 6024 this.overlayManager.close(this.overlayName).then(function () { 6025 _this2.input.value = ""; 6026 }); 6027 } 6028 }, { 6029 key: "verify", 6030 value: function verify() { 6031 var password = this.input.value; 6032 6033 if ((password === null || password === void 0 ? void 0 : password.length) > 0) { 6034 this.close(); 6035 this.updateCallback(password); 6036 } 6037 } 6038 }, { 6039 key: "setUpdateCallback", 6040 value: function setUpdateCallback(updateCallback, reason) { 6041 this.updateCallback = updateCallback; 6042 this.reason = reason; 6043 } 6044 }]); 6045 6046 return PasswordPrompt; 6047}(); 6048 6049exports.PasswordPrompt = PasswordPrompt; 6050 6051/***/ }), 6052/* 13 */ 6053/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 6054 6055 6056 6057function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 6058 6059Object.defineProperty(exports, "__esModule", ({ 6060 value: true 6061})); 6062exports.PDFAttachmentViewer = void 0; 6063 6064var _pdfjsLib = __webpack_require__(7); 6065 6066var _base_tree_viewer = __webpack_require__(14); 6067 6068function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 6069 6070function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 6071 6072function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 6073 6074function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6075 6076function _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); } } 6077 6078function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 6079 6080function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } 6081 6082function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } 6083 6084function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
6084onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 6085 6086function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 6087 6088function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 6089 6090function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 6091 6092function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 6093 6094function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 6095 6096function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 6097 6098var PDFAttachmentViewer = /*#__PURE__*/function (_BaseTreeViewer) { 6099 _inherits(PDFAttachmentViewer, _BaseTreeViewer); 6100 6101 var _super = _createSuper(PDFAttachmentViewer); 6102 6103 function PDFAttachmentViewer(options) { 6104 var _this; 6105 6106 _classCallCheck(this, PDFAttachmentViewer); 6107 6108 _this = _super.call(this, options); 6109 _this.downloadManager = options.downloadManager; 6110 6111 _this.eventBus._on("fileattachmentannotation", _this._appendAttachment.bind(_assertThisInitialized(_this))); 6112 6113 return _this; 6114 } 6115 6116 _createClass(PDFAttachmentViewer, [{ 6117 key: "reset", 6118 value: function reset() { 6119 var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 6120 6121 _get(_getPrototypeOf(PDFAttachmentViewer.prototype), "reset", this).call(this); 6122 6123 this._attachments = null; 6124 6125 if (!keepRenderedCapability) { 6126 this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)(); 6127 } 6128 6129 if (this._pendingDispatchEvent) { 6130 clearTimeout(this._pendingDispatchEvent); 6131 } 6132 6133 this._pendingDispatchEvent = null; 6134 } 6135 }, { 6136 key: "_dispatchEvent", 6137 value: function _dispatchEvent(attachmentsCount) { 6138 var _this2 = this; 6139 6140 this._renderedCapability.resolve(); 6141 6142 if (this._pendingDispatchEvent) { 6143 clearTimeout(this._pendingDispatchEvent); 6144 this._pendingDispatchEvent = null; 6145 } 6146 6147 if (attachmentsCount === 0) { 6148 this._pendingDispatchEvent = setTimeout(function () { 6149 _this2.eventBus.dispatch("attachmentsloaded", { 6150 source: _this2, 6151 attachmentsCount: 0 6152 }); 6153 6154 _this2._pendingDispatchEvent = null; 6155 }); 6156 return; 6157 } 6158 6159 this.eventBus.dispatch("attachmentsloaded", { 6160 source: this, 6161 attachmentsCount: attachmentsCount 6162 }); 6163 } 6164 }, { 6165 key: "_bindLink", 6166 value: function _bindLink(element, _ref) { 6167 var _this3 = this; 6168 6169 var content = _ref.content, 6170 filename = _ref.filename; 6171 6172 element.onclick = function () { 6173 _this3.downloadManager.openOrDownloadData(element, content, filename); 6174 6175 return false; 6176 }; 6177 } 6178 }, { 6179 key: "render", 6180 value: function render(_ref2) { 6181 var attachments = _ref2.attachments, 6182 _ref2$keepRenderedCap = _ref2.keepRenderedCapability, 6183 keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap; 6184 6185 if (this._attachments) { 6186 this.reset(keepRenderedCapability); 6187 } 6188 6189 this._attachments = attachments || null; 6190 6191 if (!attachments) { 6192 this._dispatchEvent(0); 6193 6194 return; 6195 } 6196 6197 var names = Object.keys(attachments).sort(function (a, b) { 6198 return a.toLowerCase().localeCompare(b.toLowerCase()); 6199 }); 6200 var fragment = document.createDocumentFragment(); 6201 var attachmentsCount = 0; 6202 6203 var _iterator = _createForOfIteratorHelper(names), 6204 _step; 6205
6206 try { 6207 for (_iterator.s(); !(_step = _iterator.n()).done;) { 6208 var name = _step.value; 6209 var item = attachments[name]; 6210 var content = item.content, 6211 filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename); 6212 var div = document.createElement("div"); 6213 div.className = "treeItem"; 6214 var element = document.createElement("a"); 6215 6216 this._bindLink(element, { 6217 content: content, 6218 filename: filename 6219 }); 6220 6221 element.textContent = this._normalizeTextContent(filename); 6222 div.appendChild(element); 6223 fragment.appendChild(div); 6224 attachmentsCount++; 6225 } 6226 } catch (err) { 6227 _iterator.e(err); 6228 } finally { 6229 _iterator.f(); 6230 } 6231 6232 this._finishRendering(fragment, attachmentsCount); 6233 } 6234 }, { 6235 key: "_appendAttachment", 6236 value: function _appendAttachment(_ref3) { 6237 var _this4 = this; 6238 6239 var id = _ref3.id, 6240 filename = _ref3.filename, 6241 content = _ref3.content; 6242 var renderedPromise = this._renderedCapability.promise; 6243 renderedPromise.then(function () { 6244 if (renderedPromise !== _this4._renderedCapability.promise) { 6245 return; 6246 } 6247 6248 var attachments = _this4._attachments; 6249 6250 if (!attachments) { 6251 attachments = Object.create(null); 6252 } else { 6253 for (var name in attachments) { 6254 if (id === name) { 6255 return; 6256 } 6257 } 6258 } 6259 6260 attachments[id] = { 6261 filename: filename, 6262 content: content 6263 }; 6264 6265 _this4.render({ 6266 attachments: attachments, 6267 keepRenderedCapability: true 6268 }); 6269 }); 6270 } 6271 }]); 6272 6273 return PDFAttachmentViewer; 6274}(_base_tree_viewer.BaseTreeViewer); 6275 6276exports.PDFAttachmentViewer = PDFAttachmentViewer; 6277 6278/***/ }), 6279/* 14 */ 6280/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 6281 6282 6283 6284Object.defineProperty(exports, "__esModule", ({ 6285 value: true 6286})); 6287exports.BaseTreeViewer = void 0; 6288 6289var _pdfjsLib = __webpack_require__(7); 6290 6291function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 6292 6293function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 6294 6295function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 6296 6297function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6298 6299function _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); } } 6300 6301function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 6302 6303var TREEITEM_OFFSET_TOP = -100; 6304var TREEITEM_SELECTED_CLASS = "selected"; 6305 6306var BaseTreeViewer = /*#__PURE__*/function () { 6307 function BaseTreeViewer(options) { 6308 _classCallCheck(this, BaseTreeViewer); 6309 6310 if (this.constructor === BaseTreeViewer) { 6311 throw new Error("Cannot initialize BaseTreeViewer."); 6312 } 6313 6314 this.container = options.container; 6315 this.eventBus = options.eventBus; 6316 this.reset(); 6317 } 6318 6319 _createClass(BaseTreeViewer, [{ 6320 key: "reset", 6321 value: function reset() { 6322 this._pdfDocument = null; 6323 this._lastToggleIsShow = true; 6324 this._currentTreeItem = null; 6325 this.container.textContent = ""; 6326 this.container.classList.remove("treeWithDeepNesting"); 6327 } 6328 }, { 6329 key: "_dispatchEvent", 6330 value: function _dispatchEvent(count) { 6331 throw new Error("Not implemented: _dispatchEvent"); 6332 } 6333 }, { 6334 key: "_bindLink", 6335 value: function _bindLink(element, params) { 6336 throw new Error("Not implemented: _bindLink"); 6337 } 6338 }, { 6339 key: "_normalizeTextContent", 6340 value: function _normalizeTextContent(str) { 6341 return (0, _pdfjsLib.removeNullCharacters)(str) || "\u2013"; 6342 } 6343 }, { 6344 key: "_addToggleButton", 6345 value: function _addToggleButton(div) { 6346 var _this = this; 6347 6348 var hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6349 var toggler = document.createElement("div"); 6350 toggler.className = "treeItemToggler"; 6351 6352 if (hidden) { 6353 toggler.classList.add("treeItemsHidden"); 6354 } 6355 6356 toggler.onclick = function (evt) { 6357 evt.stopPropagation(); 6358 toggler.classList.toggle("treeItemsHidden"); 6359 6360 if (evt.shiftKey) { 6361 var shouldShowAll = !toggler.classList.contains("treeItemsHidden"); 6362 6363 _this._toggleTreeItem(div, shouldShowAll); 6364 } 6365 }; 6366 6367 div.insertBefore(toggler, div.firstChild); 6368 } 6369 }, { 6370 key: "_toggleTreeItem", 6371 value: function _toggleTreeItem(root) { 6372 var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 6373 this._lastToggleIsShow = show; 6374 6375 var _iterator = _createForOfIteratorHelper(root.querySelectorAll(".treeItemToggler")), 6376 _step; 6377 6378 try { 6379 for (_iterator.s(); !(_step = _iterator.n()).done;) { 6380 var toggler = _step.value; 6381 toggler.classList.toggle("treeItemsHidden", !show); 6382 } 6383 } catch (err) { 6384 _iterator.e(err); 6385 } finally { 6386 _iterator.f(); 6387 } 6388 } 6389 }, { 6390 key: "_toggleAllTreeItems", 6391 value: function _toggleAllTreeItems() { 6392 this._toggleTreeItem(this.container, !this._lastToggleIsShow); 6393 } 6394 }, { 6395 key: "_finishRendering", 6396 value: function _finishRendering(fragment, count) { 6397 var hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 6398 6399 if (hasAnyNesting) { 6400 this.container.classList.add("treeWithDeepNesting"); 6401 this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden"); 6402 } 6403 6404 this.container.appendChild(fragment); 6405 6406 this._dispatchEvent(count); 6407 } 6408 }, { 6409 key: "render", 6410 value: function render(params) { 6411 throw new Error("Not implemented: render"); 6412 } 6413 }, { 6414 key: "_updateCurrentTreeItem", 6415 value: function _updateCurrentTreeItem() { 6416 var treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 6417 6418 if (this._currentTreeItem) { 6419 this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS); 6420 6421 this._currentTreeItem = null; 6422 } 6423 6424 if (treeItem) { 6425 treeItem.classList.add(TREEITEM_SELECTED_CLASS); 6426 this._currentTreeItem = treeItem; 6427 } 6428 } 6429 }, { 6430 key: "_scrollToCurrentTreeItem", 6431 value: function _scrollToCurrentTreeItem(treeItem) { 6432 if (!treeItem) { 6433 return; 6434 } 6435 6436 var currentNode = treeItem.parentNode; 6437 6438 while (currentNode && currentNode !== this.container) { 6439 if (currentNode.classList.contains("treeItem")) { 6440 var toggler = currentNode.firstElementChild; 6441 toggler === null || toggler === void 0 ? void 0 : toggler.classList.remove("treeItemsHidden"); 6442 } 6443 6444 currentNode = currentNode.parentNode; 6445 } 6446 6447 this._updateCurrentTreeItem(treeItem); 6448 6449 this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP); 6450 } 6451 }]); 6452 6453 return BaseTreeViewer; 6454}(); 6455 6456exports.BaseTreeViewer = BaseTreeViewer; 6457 6458/***/ }), 6459/* 15 */ 6460/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 6461 6462 6463 6464Object.defineProperty(exports, "__esModule", ({ 6465 value: true 6466})); 6467exports.PDFDocumentProperties = void 0; 6468 6469var _regenerator = _interopRequireDefault(__webpack_require__(4)); 6470 6471var _pdfjsLib = __webpack_require__(7); 6472 6473var _ui_utils = __webpack_require__(6); 6474 6475function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 6476 6477function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 6478 6479function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 6480 6481function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 6482 6483function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 6484 6485function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 6486 6487function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 6488 6489function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
6489y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 6490 6491function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 6492 6493function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6494 6495function _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); } } 6496 6497function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 6498 6499var DEFAULT_FIELD_CONTENT = "-"; 6500var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"]; 6501var US_PAGE_NAMES = { 6502 "8.5x11": "Letter", 6503 "8.5x14": "Legal" 6504}; 6505var METRIC_PAGE_NAMES = { 6506 "297x420": "A3", 6507 "210x297": "A4" 6508}; 6509 6510function getPageName(size, isPortrait, pageNames) { 6511 var width = isPortrait ? size.width : size.height; 6512 var height = isPortrait ? size.height : size.width; 6513 return pageNames["".concat(width, "x").concat(height)]; 6514} 6515 6516var PDFDocumentProperties = /*#__PURE__*/function () { 6517 function PDFDocumentProperties(_ref, overlayManager, eventBus, l10n) { 6518 var _this = this; 6519 6520 var overlayName = _ref.overlayName, 6521 fields = _ref.fields, 6522 container = _ref.container, 6523 closeButton = _ref.closeButton; 6524 6525 _classCallCheck(this, PDFDocumentProperties); 6526 6527 this.overlayName = overlayName; 6528 this.fields = fields; 6529 this.container = container; 6530 this.overlayManager = overlayManager; 6531 this.l10n = l10n; 6532 6533 this._reset(); 6534 6535 closeButton.addEventListener("click", this.close.bind(this)); 6536 this.overlayManager.register(this.overlayName, this.container, this.close.bind(this)); 6537 6538 eventBus._on("pagechanging", function (evt) { 6539 _this._currentPageNumber = evt.pageNumber; 6540 }); 6541 6542 eventBus._on("rotationchanging", function (evt) { 6543 _this._pagesRotation = evt.pagesRotation; 6544 }); 6545 6546 this._isNonMetricLocale = true; 6547 l10n.getLanguage().then(function (locale) { 6548 _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale); 6549 }); 6550 } 6551 6552 _createClass(PDFDocumentProperties, [{ 6553 key: "open", 6554 value: function () { 6555 var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 6556 var _this2 = this; 6557 6558 var freezeFieldData, currentPageNumber, pagesRotation, _yield$this$pdfDocume, info, contentDispositionFilename, contentLength, _yield$Promise$all, _yield$Promise$all2, fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized, _yield$this$pdfDocume2, length, data; 6559 6560 return _regenerator["default"].wrap(function _callee$(_context) { 6561 while (1) { 6562 switch (_context.prev = _context.next) { 6563 case 0: 6564 freezeFieldData = function freezeFieldData(data) { 6565 Object.defineProperty(_this2, "fieldData", { 6566 value: Object.freeze(data), 6567 writable: false, 6568 enumerable: true, 6569 configurable: true 6570 }); 6571 }; 6572 6573 _context.next = 3; 6574 return Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]); 6575 6576 case 3: 6577 currentPageNumber = this._currentPageNumber; 6578 pagesRotation = this._pagesRotation; 6579 6580 if (!(this.fieldData && currentPageNumber === this.fieldData._currentPageNumber && pagesRotation === this.fieldData._pagesRotation)) { 6581 _context.next = 8; 6582 break; 6583 } 6584 6585 this._updateUI(); 6586 6587 return _context.abrupt("return"); 6588 6589 case 8: 6590 _context.next = 10; 6591 return this.pdfDocument.getMetadata(); 6592 6593 case 10: 6594 _yield$this$pdfDocume = _context.sent; 6595 info = _yield$this$pdfDocume.info; 6596 contentDispositionFilename = _yield$this$pdfDocume.contentDispositionFilename; 6597 contentLength = _yield$this$pdfDocume.contentLength; 6598 _context.next = 16; 6599 return Promise.all([contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url), this._parseFileSize(contentLength), this._parseDate(info.CreationDate), this._parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) { 6600 return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation); 6601 }), this._parseLinearization(info.IsLinearized)]); 6602 6603 case 16: 6604 _yield$Promise$all = _context.sent; 6605 _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6); 6606 fileName = _yield$Promise$all2[0]; 6607 fileSize = _yield$Promise$all2[1]; 6608 creationDate = _yield$Promise$all2[2]; 6609 modificationDate = _yield$Promise$all2[3]; 6610 pageSize = _yield$Promise$all2[4]; 6611 isLinearized = _yield$Promise$all2[5]; 6612 freezeFieldData({ 6613 fileName: fileName, 6614 fileSize: fileSize, 6615 title: info.Title, 6616 author: info.Author, 6617 subject: info.Subject, 6618 keywords: info.Keywords, 6619 creationDate: creationDate, 6620 modificationDate: modificationDate, 6621 creator: info.Creator, 6622 producer: info.Producer, 6623 version: info.PDFFormatVersion, 6624 pageCount: this.pdfDocument.numPages, 6625 pageSize: pageSize, 6626 linearized: isLinearized, 6627 _currentPageNumber: currentPageNumber,
6628 _pagesRotation: pagesRotation 6629 }); 6630 6631 this._updateUI(); 6632 6633 _context.next = 28; 6634 return this.pdfDocument.getDownloadInfo(); 6635 6636 case 28: 6637 _yield$this$pdfDocume2 = _context.sent; 6638 length = _yield$this$pdfDocume2.length; 6639 6640 if (!(contentLength === length)) { 6641 _context.next = 32; 6642 break; 6643 } 6644 6645 return _context.abrupt("return"); 6646 6647 case 32: 6648 data = Object.assign(Object.create(null), this.fieldData); 6649 _context.next = 35; 6650 return this._parseFileSize(length); 6651 6652 case 35: 6653 data.fileSize = _context.sent; 6654 freezeFieldData(data); 6655 6656 this._updateUI(); 6657 6658 case 38: 6659 case "end": 6660 return _context.stop(); 6661 } 6662 } 6663 }, _callee, this); 6664 })); 6665 6666 function open() { 6667 return _open.apply(this, arguments); 6668 } 6669 6670 return open; 6671 }() 6672 }, { 6673 key: "close", 6674 value: function close() { 6675 this.overlayManager.close(this.overlayName); 6676 } 6677 }, { 6678 key: "setDocument", 6679 value: function setDocument(pdfDocument) { 6680 var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 6681 6682 if (this.pdfDocument) { 6683 this._reset(); 6684 6685 this._updateUI(true); 6686 } 6687 6688 if (!pdfDocument) { 6689 return; 6690 } 6691 6692 this.pdfDocument = pdfDocument; 6693 this.url = url; 6694 6695 this._dataAvailableCapability.resolve(); 6696 } 6697 }, { 6698 key: "_reset", 6699 value: function _reset() { 6700 this.pdfDocument = null; 6701 this.url = null; 6702 delete this.fieldData; 6703 this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)(); 6704 this._currentPageNumber = 1; 6705 this._pagesRotation = 0; 6706 } 6707 }, { 6708 key: "_updateUI", 6709 value: function _updateUI() { 6710 var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 6711 6712 if (reset || !this.fieldData) { 6713 for (var id in this.fields) { 6714 this.fields[id].textContent = DEFAULT_FIELD_CONTENT; 6715 } 6716 6717 return; 6718 } 6719 6720 if (this.overlayManager.active !== this.overlayName) { 6721 return; 6722 } 6723 6724 for (var _id in this.fields) { 6725 var content = this.fieldData[_id]; 6726 this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT; 6727 } 6728 } 6729 }, { 6730 key: "_parseFileSize", 6731 value: function () { 6732 var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 6733 var fileSize, 6734 kb, 6735 mb, 6736 _args2 = arguments; 6737 return _regenerator["default"].wrap(function _callee2$(_context2) { 6738 while (1) { 6739 switch (_context2.prev = _context2.next) { 6740 case 0: 6741 fileSize = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0; 6742 kb = fileSize / 1024, mb = kb / 1024; 6743 6744 if (kb) { 6745 _context2.next = 4; 6746 break; 6747 } 6748 6749 return _context2.abrupt("return", undefined); 6750 6751 case 4: 6752 return _context2.abrupt("return", this.l10n.get("document_properties_".concat(mb >= 1 ? "mb" : "kb"), { 6753 size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(), 6754 size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(), 6755 size_b: fileSize.toLocaleString() 6756 })); 6757 6758 case 5: 6759 case "end": 6760 return _context2.stop(); 6761 } 6762 } 6763 }, _callee2, this); 6764 })); 6765 6766 function _parseFileSize() { 6767 return _parseFileSize2.apply(this, arguments); 6768 } 6769 6770 return _parseFileSize; 6771 }() 6772 }, { 6773 key: "_parsePageSize", 6774 value: function () { 6775 var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(pageSizeInches, pagesRotation) { 6776 var isPortrait, sizeInches, sizeMillimeters, rawName, exactMillimeters, intMillimeters, _yield$Promise$all3, _yield$Promise$all4, _yield$Promise$all4$, width, height, unit, name, orientation; 6777 6778 return _regenerator["default"].wrap(function _callee3$(_context3) { 6779 while (1) { 6780 switch (_context3.prev = _context3.next) { 6781 case 0: 6782 if (pageSizeInches) { 6783 _context3.next = 2; 6784 break; 6785 } 6786 6787 return _context3.abrupt("return", undefined); 6788 6789 case 2: 6790 if (pagesRotation % 180 !== 0) { 6791 pageSizeInches = { 6792 width: pageSizeInches.height, 6793 height: pageSizeInches.width 6794 }; 6795 } 6796 6797 isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches); 6798 sizeInches = { 6799 width: Math.round(pageSizeInches.width * 100) / 100, 6800 height: Math.round(pageSizeInches.height * 100) / 100 6801 }; 6802 sizeMillimeters = { 6803 width: Math.round(pageSizeInches.width * 25.4 * 10) / 10, 6804 height: Math.round(pageSizeInches.height * 25.4 * 10) / 10 6805 }; 6806 rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES); 6807 6808 if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) { 6809 exactMillimeters = { 6810 width: pageSizeInches.width * 25.4, 6811 height: pageSizeInches.height * 25.4 6812 }; 6813 intMillimeters = { 6814 width: Math.round(sizeMillimeters.width), 6815 height: Math.round(sizeMillimeters.height) 6816 }; 6817 6818 if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) { 6819 rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES); 6820 6821 if (rawName) { 6822 sizeInches = { 6823 width: Math.round(intMillimeters.width / 25.4 * 100) / 100, 6824 height: Math.round(intMillimeters.height / 25.4 * 100) / 100 6825 }; 6826 sizeMillimeters = intMillimeters; 6827 } 6828 } 6829 } 6830 6831 _context3.next = 10; 6832 return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_".concat(this._isNonMetricLocale ? "inches" : "millimeters")), rawName && this.l10n.get("document_properties_page_size_name_".concat(rawName.toLowerCase())), this.l10n.get("document_properties_page_size_orientation_".concat(isPortrait ? "portrait" : "landscape"))]); 6833 6834 case 10: 6835 _yield$Promise$all3 = _context3.sent; 6836 _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 4); 6837 _yield$Promise$all4$ = _yield$Promise$all4[0]; 6838 width = _yield$Promise$all4$.width; 6839 height = _yield$Promise$all4$.height; 6840 unit = _yield$Promise$all4[1]; 6841 name = _yield$Promise$all4[2]; 6842 orientation = _yield$Promise$all4[3]; 6843 return _context3.abrupt("return", this.l10n.get("document_properties_page_size_dimension_".concat(name ? "name_" : "", "string"), {
6844 width: width.toLocaleString(), 6845 height: height.toLocaleString(), 6846 unit: unit, 6847 name: name, 6848 orientation: orientation 6849 })); 6850 6851 case 19: 6852 case "end": 6853 return _context3.stop(); 6854 } 6855 } 6856 }, _callee3, this); 6857 })); 6858 6859 function _parsePageSize(_x, _x2) { 6860 return _parsePageSize2.apply(this, arguments); 6861 } 6862 6863 return _parsePageSize; 6864 }() 6865 }, { 6866 key: "_parseDate", 6867 value: function () { 6868 var _parseDate2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(inputDate) { 6869 var dateObject; 6870 return _regenerator["default"].wrap(function _callee4$(_context4) { 6871 while (1) { 6872 switch (_context4.prev = _context4.next) { 6873 case 0: 6874 dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate); 6875 6876 if (dateObject) { 6877 _context4.next = 3; 6878 break; 6879 } 6880 6881 return _context4.abrupt("return", undefined); 6882 6883 case 3: 6884 return _context4.abrupt("return", this.l10n.get("document_properties_date_string", { 6885 date: dateObject.toLocaleDateString(), 6886 time: dateObject.toLocaleTimeString() 6887 })); 6888 6889 case 4: 6890 case "end": 6891 return _context4.stop(); 6892 } 6893 } 6894 }, _callee4, this); 6895 })); 6896 6897 function _parseDate(_x3) { 6898 return _parseDate2.apply(this, arguments); 6899 } 6900 6901 return _parseDate; 6902 }() 6903 }, { 6904 key: "_parseLinearization", 6905 value: function _parseLinearization(isLinearized) { 6906 return this.l10n.get("document_properties_linearized_".concat(isLinearized ? "yes" : "no")); 6907 } 6908 }]); 6909 6910 return PDFDocumentProperties; 6911}(); 6912 6913exports.PDFDocumentProperties = PDFDocumentProperties; 6914 6915/***/ }), 6916/* 16 */ 6917/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 6918 6919 6920 6921Object.defineProperty(exports, "__esModule", ({ 6922 value: true 6923})); 6924exports.PDFFindBar = void 0; 6925 6926var _pdf_find_controller = __webpack_require__(17); 6927 6928function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 6929 6930function _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); } } 6931 6932function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 6933 6934var MATCHES_COUNT_LIMIT = 1000; 6935 6936var PDFFindBar = /*#__PURE__*/function () { 6937 function PDFFindBar(options, eventBus, l10n) { 6938 var _this = this; 6939 6940 _classCallCheck(this, PDFFindBar); 6941 6942 this.opened = false; 6943 this.bar = options.bar; 6944 this.toggleButton = options.toggleButton; 6945 this.findField = options.findField; 6946 this.highlightAll = options.highlightAllCheckbox; 6947 this.caseSensitive = options.caseSensitiveCheckbox; 6948 this.entireWord = options.entireWordCheckbox; 6949 this.findMsg = options.findMsg; 6950 this.findResultsCount = options.findResultsCount; 6951 this.findPreviousButton = options.findPreviousButton; 6952 this.findNextButton = options.findNextButton; 6953 this.eventBus = eventBus; 6954 this.l10n = l10n; 6955 this.toggleButton.addEventListener("click", function () { 6956 _this.toggle(); 6957 }); 6958 this.findField.addEventListener("input", function () { 6959 _this.dispatchEvent(""); 6960 }); 6961 this.bar.addEventListener("keydown", function (e) { 6962 switch (e.keyCode) { 6963 case 13: 6964 if (e.target === _this.findField) { 6965 _this.dispatchEvent("again", e.shiftKey); 6966 } 6967 6968 break; 6969 6970 case 27: 6971 _this.close(); 6972 6973 break; 6974 } 6975 }); 6976 this.findPreviousButton.addEventListener("click", function () { 6977 _this.dispatchEvent("again", true); 6978 }); 6979 this.findNextButton.addEventListener("click", function () { 6980 _this.dispatchEvent("again", false); 6981 }); 6982 this.highlightAll.addEventListener("click", function () { 6983 _this.dispatchEvent("highlightallchange"); 6984 }); 6985 this.caseSensitive.addEventListener("click", function () { 6986 _this.dispatchEvent("casesensitivitychange"); 6987 }); 6988 this.entireWord.addEventListener("click", function () { 6989 _this.dispatchEvent("entirewordchange"); 6990 }); 6991 6992 this.eventBus._on("resize", this._adjustWidth.bind(this)); 6993 } 6994 6995 _createClass(PDFFindBar, [{ 6996 key: "reset", 6997 value: function reset() { 6998 this.updateUIState(); 6999 } 7000 }, { 7001 key: "dispatchEvent", 7002 value: function dispatchEvent(type, findPrev) { 7003 this.eventBus.dispatch("find", { 7004 source: this, 7005 type: type, 7006 query: this.findField.value, 7007 phraseSearch: true, 7008 caseSensitive: this.caseSensitive.checked, 7009 entireWord: this.entireWord.checked, 7010 highlightAll: this.highlightAll.checked, 7011 findPrevious: findPrev 7012 }); 7013 } 7014 }, { 7015 key: "updateUIState", 7016 value: function updateUIState(state, previous, matchesCount) { 7017 var _this2 = this; 7018 7019 var findMsg = Promise.resolve(""); 7020 var status = ""; 7021 7022 switch (state) { 7023 case _pdf_find_controller.FindState.FOUND: 7024 break; 7025 7026 case _pdf_find_controller.FindState.PENDING: 7027 status = "pending"; 7028 break; 7029 7030 case _pdf_find_controller.FindState.NOT_FOUND: 7031 findMsg = this.l10n.get("find_not_found"); 7032 status = "notFound"; 7033 break; 7034 7035 case _pdf_find_controller.FindState.WRAPPED: 7036 findMsg = this.l10n.get("find_reached_".concat(previous ? "top" : "bottom")); 7037 break; 7038 } 7039 7040 this.findField.setAttribute("data-status", status); 7041 findMsg.then(function (msg) { 7042 _this2.findMsg.textContent = msg; 7043 7044 _this2._adjustWidth(); 7045 }); 7046 this.updateResultsCount(matchesCount); 7047 } 7048 }, { 7049 key: "updateResultsCount", 7050 value: function updateResultsCount() { 7051 var _this3 = this; 7052 7053 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 7054 _ref$current = _ref.current, 7055 current = _ref$current === void 0 ? 0 : _ref$current, 7056 _ref$total = _ref.total, 7057 total = _ref$total === void 0 ? 0 : _ref$total; 7058 7059 var limit = MATCHES_COUNT_LIMIT; 7060 var matchCountMsg = Promise.resolve(""); 7061 7062 if (total > 0) { 7063 if (total > limit) { 7064 var key = "find_match_count_limit"; 7065 matchCountMsg = this.l10n.get(key, { 7066 limit: limit 7067 }); 7068 } else { 7069 var _key = "find_match_count"; 7070 matchCountMsg = this.l10n.get(_key, { 7071 current: current, 7072 total: total 7073 }); 7074 } 7075 } 7076 7077 matchCountMsg.then(function (msg) { 7078 _this3.findResultsCount.textContent = msg; 7079 7080 _this3.findResultsCount.classList.toggle("hidden", !total); 7081 7082 _this3._adjustWidth(); 7083 }); 7084 } 7085 }, { 7086 key: "open", 7087 value: function open() { 7088 if (!this.opened) { 7089 this.opened = true; 7090 this.toggleButton.classList.add("toggled"); 7091 this.toggleButton.setAttribute("aria-expanded", "true"); 7092 this.bar.classList.remove("hidden"); 7093 } 7094 7095 this.findField.select(); 7096 this.findField.focus(); 7097 7098 this._adjustWidth(); 7099 } 7100 }, { 7101 key: "close", 7102 value: function close() { 7103 if (!this.opened) { 7104 return; 7105 } 7106 7107 this.opened = false;
7108 this.toggleButton.classList.remove("toggled"); 7109 this.toggleButton.setAttribute("aria-expanded", "false"); 7110 this.bar.classList.add("hidden"); 7111 this.eventBus.dispatch("findbarclose", { 7112 source: this 7113 }); 7114 } 7115 }, { 7116 key: "toggle", 7117 value: function toggle() { 7118 if (this.opened) { 7119 this.close(); 7120 } else { 7121 this.open(); 7122 } 7123 } 7124 }, { 7125 key: "_adjustWidth", 7126 value: function _adjustWidth() { 7127 if (!this.opened) { 7128 return; 7129 } 7130 7131 this.bar.classList.remove("wrapContainers"); 7132 var findbarHeight = this.bar.clientHeight; 7133 var inputContainerHeight = this.bar.firstElementChild.clientHeight; 7134 7135 if (findbarHeight > inputContainerHeight) { 7136 this.bar.classList.add("wrapContainers"); 7137 } 7138 } 7139 }]); 7140 7141 return PDFFindBar; 7142}(); 7143 7144exports.PDFFindBar = PDFFindBar; 7145 7146/***/ }), 7147/* 17 */ 7148/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 7149 7150 7151 7152Object.defineProperty(exports, "__esModule", ({ 7153 value: true 7154})); 7155exports.PDFFindController = exports.FindState = void 0; 7156 7157var _pdfjsLib = __webpack_require__(7); 7158 7159var _pdf_find_utils = __webpack_require__(18); 7160 7161var _ui_utils = __webpack_require__(6); 7162 7163function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 7164 7165function _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); } } 7166 7167function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 7168 7169function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 7170 7171function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 7172 7173function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 7174 7175function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 7176 7177function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 7178 7179function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 7180 7181function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 7182 7183var FindState = { 7184 FOUND: 0, 7185 NOT_FOUND: 1, 7186 WRAPPED: 2, 7187 PENDING: 3 7188}; 7189exports.FindState = FindState; 7190var FIND_TIMEOUT = 250; 7191var MATCH_SCROLL_OFFSET_TOP = -50; 7192var MATCH_SCROLL_OFFSET_LEFT = -400; 7193var CHARACTERS_TO_NORMALIZE = { 7194 "\u2010": "-", 7195 "\u2018": "'", 7196 "\u2019": "'", 7197 "\u201A": "'", 7198 "\u201B": "'", 7199 "\u201C": '"', 7200 "\u201D": '"', 7201 "\u201E": '"', 7202 "\u201F": '"', 7203 "\xBC": "1/4", 7204 "\xBD": "1/2", 7205 "\xBE": "3/4" 7206}; 7207var normalizationRegex = null; 7208 7209function normalize(text) { 7210 if (!normalizationRegex) { 7211 var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(""); 7212 normalizationRegex = new RegExp("[".concat(replace, "]"), "g"); 7213 } 7214 7215 var diffs = null; 7216 var normalizedText = text.replace(normalizationRegex, function (ch, index) { 7217 var normalizedCh = CHARACTERS_TO_NORMALIZE[ch], 7218 diff = normalizedCh.length - ch.length; 7219 7220 if (diff !== 0) { 7221 (diffs || (diffs = [])).push([index, diff]); 7222 } 7223 7224 return normalizedCh; 7225 }); 7226 return [normalizedText, diffs]; 7227} 7228 7229function getOriginalIndex(matchIndex) { 7230 var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 7231 7232 if (!diffs) { 7233 return matchIndex; 7234 } 7235 7236 var totalDiff = 0; 7237 7238 var _iterator = _createForOfIteratorHelper(diffs), 7239 _step; 7240 7241 try { 7242 for (_iterator.s();
7242 !(_step = _iterator.n()).done;) { 7243 var _step$value = _slicedToArray(_step.value, 2), 7244 index = _step$value[0], 7245 diff = _step$value[1]; 7246 7247 var currentIndex = index + totalDiff; 7248 7249 if (currentIndex >= matchIndex) { 7250 break; 7251 } 7252 7253 if (currentIndex + diff > matchIndex) { 7254 totalDiff += matchIndex - currentIndex; 7255 break; 7256 } 7257 7258 totalDiff += diff; 7259 } 7260 } catch (err) { 7261 _iterator.e(err); 7262 } finally { 7263 _iterator.f(); 7264 } 7265 7266 return matchIndex - totalDiff; 7267} 7268 7269var PDFFindController = /*#__PURE__*/function () { 7270 function PDFFindController(_ref) { 7271 var linkService = _ref.linkService, 7272 eventBus = _ref.eventBus; 7273 7274 _classCallCheck(this, PDFFindController); 7275 7276 this._linkService = linkService; 7277 this._eventBus = eventBus; 7278 7279 this._reset(); 7280 7281 eventBus._on("findbarclose", this._onFindBarClose.bind(this)); 7282 } 7283 7284 _createClass(PDFFindController, [{ 7285 key: "highlightMatches", 7286 get: function get() { 7287 return this._highlightMatches; 7288 } 7289 }, { 7290 key: "pageMatches", 7291 get: function get() { 7292 return this._pageMatches; 7293 } 7294 }, { 7295 key: "pageMatchesLength", 7296 get: function get() { 7297 return this._pageMatchesLength; 7298 } 7299 }, { 7300 key: "selected", 7301 get: function get() { 7302 return this._selected; 7303 } 7304 }, { 7305 key: "state", 7306 get: function get() { 7307 return this._state; 7308 } 7309 }, { 7310 key: "setDocument", 7311 value: function setDocument(pdfDocument) { 7312 if (this._pdfDocument) { 7313 this._reset(); 7314 } 7315 7316 if (!pdfDocument) { 7317 return; 7318 } 7319 7320 this._pdfDocument = pdfDocument; 7321 7322 this._firstPageCapability.resolve(); 7323 } 7324 }, { 7325 key: "executeCommand", 7326 value: function executeCommand(cmd, state) { 7327 var _this = this; 7328 7329 if (!state) { 7330 return; 7331 } 7332 7333 var pdfDocument = this._pdfDocument; 7334 7335 if (this._state === null || this._shouldDirtyMatch(cmd, state)) { 7336 this._dirtyMatch = true; 7337 } 7338 7339 this._state = state; 7340 7341 if (cmd !== "findhighlightallchange") { 7342 this._updateUIState(FindState.PENDING); 7343 } 7344 7345 this._firstPageCapability.promise.then(function () { 7346 if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) { 7347 return; 7348 } 7349 7350 _this._extractText(); 7351 7352 var findbarClosed = !_this._highlightMatches; 7353 var pendingTimeout = !!_this._findTimeout; 7354 7355 if (_this._findTimeout) { 7356 clearTimeout(_this._findTimeout); 7357 _this._findTimeout = null; 7358 } 7359 7360 if (cmd === "find") { 7361 _this._findTimeout = setTimeout(function () { 7362 _this._nextMatch(); 7363 7364 _this._findTimeout = null; 7365 }, FIND_TIMEOUT); 7366 } else if (_this._dirtyMatch) { 7367 _this._nextMatch(); 7368 } else if (cmd === "findagain") { 7369 _this._nextMatch(); 7370 7371 if (findbarClosed && _this._state.highlightAll) { 7372 _this._updateAllPages(); 7373 } 7374 } else if (cmd === "findhighlightallchange") { 7375 if (pendingTimeout) { 7376 _this._nextMatch(); 7377 } else { 7378 _this._highlightMatches = true; 7379 } 7380 7381 _this._updateAllPages(); 7382 } else { 7383 _this._nextMatch(); 7384 } 7385 }); 7386 } 7387 }, { 7388 key: "scrollMatchIntoView", 7389 value: function scrollMatchIntoView(_ref2) { 7390 var _ref2$element = _ref2.element, 7391 element = _ref2$element === void 0 ? null : _ref2$element, 7392 _ref2$selectedLeft = _ref2.selectedLeft, 7393 selectedLeft = _ref2$selectedLeft === void 0 ? 0 : _ref2$selectedLeft, 7394 _ref2$pageIndex = _ref2.pageIndex, 7395 pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex, 7396 _ref2$matchIndex = _ref2.matchIndex, 7397 matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex; 7398 7399 if (!this._scrollMatches || !element) { 7400 return; 7401 } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) { 7402 return; 7403 } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) { 7404 return; 7405 } 7406 7407 this._scrollMatches = false;
7408 var spot = { 7409 top: MATCH_SCROLL_OFFSET_TOP, 7410 left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT 7411 }; 7412 (0, _ui_utils.scrollIntoView)(element, spot, true); 7413 } 7414 }, { 7415 key: "_reset", 7416 value: function _reset() { 7417 this._highlightMatches = false; 7418 this._scrollMatches = false; 7419 this._pdfDocument = null; 7420 this._pageMatches = []; 7421 this._pageMatchesLength = []; 7422 this._state = null; 7423 this._selected = { 7424 pageIdx: -1, 7425 matchIdx: -1 7426 }; 7427 this._offset = { 7428 pageIdx: null, 7429 matchIdx: null, 7430 wrapped: false 7431 }; 7432 this._extractTextPromises = []; 7433 this._pageContents = []; 7434 this._pageDiffs = []; 7435 this._matchesCountTotal = 0; 7436 this._pagesToSearch = null; 7437 this._pendingFindMatches = new Set(); 7438 this._resumePageIdx = null; 7439 this._dirtyMatch = false; 7440 clearTimeout(this._findTimeout); 7441 this._findTimeout = null; 7442 this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); 7443 } 7444 }, { 7445 key: "_query", 7446 get: function get() { 7447 if (this._state.query !== this._rawQuery) { 7448 this._rawQuery = this._state.query; 7449 7450 var _normalize = normalize(this._state.query); 7451 7452 var _normalize2 = _slicedToArray(_normalize, 1); 7453 7454 this._normalizedQuery = _normalize2[0]; 7455 } 7456 7457 return this._normalizedQuery; 7458 } 7459 }, { 7460 key: "_shouldDirtyMatch", 7461 value: function _shouldDirtyMatch(cmd, state) { 7462 if (state.query !== this._state.query) { 7463 return true; 7464 } 7465 7466 switch (cmd) { 7467 case "findagain": 7468 var pageNumber = this._selected.pageIdx + 1; 7469 var linkService = this._linkService; 7470 7471 if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) { 7472 return true; 7473 } 7474 7475 return false; 7476 7477 case "findhighlightallchange": 7478 return false; 7479 } 7480 7481 return true; 7482 } 7483 }, { 7484 key: "_prepareMatches", 7485 value: function _prepareMatches(matchesWithLength, matches, matchesLength) { 7486 function isSubTerm(currentIndex) { 7487 var currentElem = matchesWithLength[currentIndex]; 7488 var nextElem = matchesWithLength[currentIndex + 1]; 7489 7490 if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) { 7491 currentElem.skipped = true; 7492 return true; 7493 } 7494 7495 for (var i = currentIndex - 1; i >= 0; i--) { 7496 var prevElem = matchesWithLength[i]; 7497 7498 if (prevElem.skipped) { 7499 continue; 7500 } 7501 7502 if (prevElem.match + prevElem.matchLength < currentElem.match) { 7503 break; 7504 } 7505 7506 if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) { 7507 currentElem.skipped = true; 7508 return true; 7509 } 7510 } 7511 7512 return false; 7513 } 7514 7515 matchesWithLength.sort(function (a, b) { 7516 return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match; 7517 }); 7518 7519 for (var i = 0, len = matchesWithLength.length; i < len; i++) { 7520 if (isSubTerm(i)) { 7521 continue; 7522 } 7523 7524 matches.push(matchesWithLength[i].match); 7525 matchesLength.push(matchesWithLength[i].matchLength); 7526 } 7527 } 7528 }, { 7529 key: "_isEntireWord", 7530 value: function _isEntireWord(content, startIdx, length) { 7531 if (startIdx > 0) { 7532 var first = content.charCodeAt(startIdx); 7533 var limit = content.charCodeAt(startIdx - 1); 7534 7535 if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) { 7536 return false; 7537 } 7538 } 7539 7540 var endIdx = startIdx + length - 1; 7541 7542 if (endIdx < content.length - 1) { 7543 var last = content.charCodeAt(endIdx); 7544 7545 var _limit = content.charCodeAt(endIdx + 1); 7546 7547 if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) { 7548 return false; 7549 } 7550 } 7551 7552 return true; 7553 } 7554 }, { 7555 key: "_calculatePhraseMatch", 7556 value: function _calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord) { 7557 var matches = [], 7558 matchesLength = []; 7559 var queryLen = query.length; 7560 var matchIdx = -queryLen; 7561 7562 while (true) {
7563 matchIdx = pageContent.indexOf(query, matchIdx + queryLen); 7564 7565 if (matchIdx === -1) { 7566 break; 7567 } 7568 7569 if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) { 7570 continue; 7571 } 7572 7573 var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs), 7574 matchEnd = matchIdx + queryLen - 1, 7575 originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1; 7576 matches.push(originalMatchIdx); 7577 matchesLength.push(originalQueryLen); 7578 } 7579 7580 this._pageMatches[pageIndex] = matches; 7581 this._pageMatchesLength[pageIndex] = matchesLength; 7582 } 7583 }, { 7584 key: "_calculateWordMatch", 7585 value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord) { 7586 var matchesWithLength = []; 7587 var queryArray = query.match(/\S+/g); 7588 7589 for (var i = 0, len = queryArray.length; i < len; i++) { 7590 var subquery = queryArray[i]; 7591 var subqueryLen = subquery.length; 7592 var matchIdx = -subqueryLen; 7593 7594 while (true) { 7595 matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen); 7596 7597 if (matchIdx === -1) { 7598 break; 7599 } 7600 7601 if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) { 7602 continue; 7603 } 7604 7605 var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs), 7606 matchEnd = matchIdx + subqueryLen - 1, 7607 originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1; 7608 matchesWithLength.push({ 7609 match: originalMatchIdx, 7610 matchLength: originalQueryLen, 7611 skipped: false 7612 }); 7613 } 7614 } 7615 7616 this._pageMatchesLength[pageIndex] = []; 7617 this._pageMatches[pageIndex] = []; 7618 7619 this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]); 7620 } 7621 }, { 7622 key: "_calculateMatch", 7623 value: function _calculateMatch(pageIndex) { 7624 var pageContent = this._pageContents[pageIndex]; 7625 var pageDiffs = this._pageDiffs[pageIndex]; 7626 var query = this._query; 7627 var _this$_state = this._state, 7628 caseSensitive = _this$_state.caseSensitive, 7629 entireWord = _this$_state.entireWord, 7630 phraseSearch = _this$_state.phraseSearch; 7631 7632 if (query.length === 0) { 7633 return; 7634 } 7635 7636 if (!caseSensitive) { 7637 pageContent = pageContent.toLowerCase(); 7638 query = query.toLowerCase(); 7639 } 7640 7641 if (phraseSearch) { 7642 this._calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord); 7643 } else { 7644 this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord); 7645 } 7646 7647 if (this._state.highlightAll) { 7648 this._updatePage(pageIndex); 7649 } 7650 7651 if (this._resumePageIdx === pageIndex) { 7652 this._resumePageIdx = null; 7653 7654 this._nextPageMatch(); 7655 } 7656 7657 var pageMatchesCount = this._pageMatches[pageIndex].length; 7658 7659 if (pageMatchesCount > 0) { 7660 this._matchesCountTotal += pageMatchesCount; 7661 7662 this._updateUIResultsCount(); 7663 } 7664 } 7665 }, { 7666 key: "_extractText", 7667 value: function _extractText() { 7668 var _this2 = this; 7669 7670 if (this._extractTextPromises.length > 0) { 7671 return; 7672 } 7673 7674 var promise = Promise.resolve(); 7675 7676 var _loop = function _loop(i, ii) { 7677 var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)(); 7678 _this2._extractTextPromises[i] = extractTextCapability.promise; 7679 promise = promise.then(function () { 7680 return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) { 7681 return pdfPage.getTextContent({ 7682 normalizeWhitespace: true 7683 }); 7684 }).then(function (textContent) { 7685 var textItems = textContent.items; 7686 var strBuf = []; 7687 7688 for (var j = 0, jj = textItems.length; j < jj; j++) { 7689 strBuf.push(textItems[j].str); 7690 } 7691 7692 var _normalize3 = normalize(strBuf.join("")); 7693 7694 var _normalize4 = _slicedToArray(_normalize3, 2); 7695 7696 _this2._pageContents[i] = _normalize4[0]; 7697 _this2._pageDiffs[i] = _normalize4[1]; 7698 extractTextCapability.resolve(i); 7699 }, function (reason) { 7700 console.error("Unable to get text content for page ".concat(i + 1), reason); 7701 _this2._pageContents[i] = ""; 7702 _this2._pageDiffs[i] = null; 7703 extractTextCapability.resolve(i); 7704 }); 7705 }); 7706 }; 7707 7708 for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) { 7709 _loop(i, ii); 7710 } 7711 } 7712 }, { 7713 key: "_updatePage", 7714 value: function _updatePage(index) { 7715 if (this._scrollMatches && this._selected.pageIdx === index) { 7716 this._linkService.page = index + 1; 7717 } 7718 7719 this._eventBus.dispatch("updatetextlayermatches", { 7720 source: this, 7721 pageIndex: index 7722 }); 7723 } 7724 }, { 7725 key: "_updateAllPages", 7726 value: function _updateAllPages() { 7727 this._eventBus.dispatch("updatetextlayermatches", { 7728 source: this, 7729 pageIndex: -1 7730 }); 7731 } 7732 }, { 7733 key: "_nextMatch", 7734 value: function _nextMatch() { 7735 var _this3 = this; 7736 7737 var previous = this._state.findPrevious; 7738 var currentPageIndex = this._linkService.page - 1; 7739 var numPages = this._linkService.pagesCount; 7740 this._highlightMatches = true; 7741 7742 if (this._dirtyMatch) { 7743 this._dirtyMatch = false;
7744 this._selected.pageIdx = this._selected.matchIdx = -1; 7745 this._offset.pageIdx = currentPageIndex; 7746 this._offset.matchIdx = null; 7747 this._offset.wrapped = false; 7748 this._resumePageIdx = null; 7749 this._pageMatches.length = 0; 7750 this._pageMatchesLength.length = 0; 7751 this._matchesCountTotal = 0; 7752 7753 this._updateAllPages(); 7754 7755 for (var i = 0; i < numPages; i++) { 7756 if (this._pendingFindMatches.has(i)) { 7757 continue; 7758 } 7759 7760 this._pendingFindMatches.add(i); 7761 7762 this._extractTextPromises[i].then(function (pageIdx) { 7763 _this3._pendingFindMatches["delete"](pageIdx); 7764 7765 _this3._calculateMatch(pageIdx); 7766 }); 7767 } 7768 } 7769 7770 if (this._query === "") { 7771 this._updateUIState(FindState.FOUND); 7772 7773 return; 7774 } 7775 7776 if (this._resumePageIdx) { 7777 return; 7778 } 7779 7780 var offset = this._offset; 7781 this._pagesToSearch = numPages; 7782 7783 if (offset.matchIdx !== null) { 7784 var numPageMatches = this._pageMatches[offset.pageIdx].length; 7785 7786 if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) { 7787 offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1; 7788 7789 this._updateMatch(true); 7790 7791 return; 7792 } 7793 7794 this._advanceOffsetPage(previous); 7795 } 7796 7797 this._nextPageMatch(); 7798 } 7799 }, { 7800 key: "_matchesReady", 7801 value: function _matchesReady(matches) { 7802 var offset = this._offset; 7803 var numMatches = matches.length; 7804 var previous = this._state.findPrevious; 7805 7806 if (numMatches) { 7807 offset.matchIdx = previous ? numMatches - 1 : 0; 7808 7809 this._updateMatch(true); 7810 7811 return true; 7812 } 7813 7814 this._advanceOffsetPage(previous); 7815 7816 if (offset.wrapped) { 7817 offset.matchIdx = null; 7818 7819 if (this._pagesToSearch < 0) { 7820 this._updateMatch(false); 7821 7822 return true; 7823 } 7824 } 7825 7826 return false; 7827 } 7828 }, { 7829 key: "_nextPageMatch", 7830 value: function _nextPageMatch() { 7831 if (this._resumePageIdx !== null) { 7832 console.error("There can only be one pending page."); 7833 } 7834 7835 var matches = null; 7836 7837 do { 7838 var pageIdx = this._offset.pageIdx; 7839 matches = this._pageMatches[pageIdx]; 7840 7841 if (!matches) { 7842 this._resumePageIdx = pageIdx; 7843 break; 7844 } 7845 } while (!this._matchesReady(matches)); 7846 } 7847 }, { 7848 key: "_advanceOffsetPage", 7849 value: function _advanceOffsetPage(previous) { 7850 var offset = this._offset; 7851 var numPages = this._linkService.pagesCount; 7852 offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1; 7853 offset.matchIdx = null; 7854 this._pagesToSearch--; 7855 7856 if (offset.pageIdx >= numPages || offset.pageIdx < 0) { 7857 offset.pageIdx = previous ? numPages - 1 : 0; 7858 offset.wrapped = true; 7859 } 7860 } 7861 }, { 7862 key: "_updateMatch", 7863 value: function _updateMatch() { 7864 var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 7865 var state = FindState.NOT_FOUND; 7866 var wrapped = this._offset.wrapped; 7867 this._offset.wrapped = false; 7868 7869 if (found) { 7870 var previousPage = this._selected.pageIdx; 7871 this._selected.pageIdx = this._offset.pageIdx; 7872 this._selected.matchIdx = this._offset.matchIdx; 7873 state = wrapped ? FindState.WRAPPED : FindState.FOUND; 7874 7875 if (previousPage !== -1 && previousPage !== this._selected.pageIdx) { 7876 this._updatePage(previousPage); 7877 } 7878 } 7879 7880 this._updateUIState(state, this._state.findPrevious); 7881 7882 if (this._selected.pageIdx !== -1) { 7883 this._scrollMatches = true; 7884 7885 this._updatePage(this._selected.pageIdx); 7886 } 7887 } 7888 }, { 7889 key: "_onFindBarClose", 7890 value: function _onFindBarClose(evt) { 7891 var _this4 = this; 7892 7893 var pdfDocument = this._pdfDocument; 7894 7895 this._firstPageCapability.promise.then(function () { 7896 if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) { 7897 return; 7898 } 7899 7900 if (_this4._findTimeout) { 7901 clearTimeout(_this4._findTimeout); 7902 _this4._findTimeout = null; 7903 } 7904 7905 if (_this4._resumePageIdx) { 7906 _this4._resumePageIdx = null; 7907 _this4._dirtyMatch = true; 7908 } 7909 7910 _this4._updateUIState(FindState.FOUND); 7911 7912 _this4._highlightMatches = false;
7913 7914 _this4._updateAllPages(); 7915 }); 7916 } 7917 }, { 7918 key: "_requestMatchesCount", 7919 value: function _requestMatchesCount() { 7920 var _this$_selected = this._selected, 7921 pageIdx = _this$_selected.pageIdx, 7922 matchIdx = _this$_selected.matchIdx; 7923 var current = 0, 7924 total = this._matchesCountTotal; 7925 7926 if (matchIdx !== -1) { 7927 for (var i = 0; i < pageIdx; i++) { 7928 var _this$_pageMatches$i; 7929 7930 current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0; 7931 } 7932 7933 current += matchIdx + 1; 7934 } 7935 7936 if (current < 1 || current > total) { 7937 current = total = 0; 7938 } 7939 7940 return { 7941 current: current, 7942 total: total 7943 }; 7944 } 7945 }, { 7946 key: "_updateUIResultsCount", 7947 value: function _updateUIResultsCount() { 7948 this._eventBus.dispatch("updatefindmatchescount", { 7949 source: this, 7950 matchesCount: this._requestMatchesCount() 7951 }); 7952 } 7953 }, { 7954 key: "_updateUIState", 7955 value: function _updateUIState(state, previous) { 7956 var _this$_state$query, _this$_state2; 7957 7958 this._eventBus.dispatch("updatefindcontrolstate", { 7959 source: this, 7960 state: state, 7961 previous: previous, 7962 matchesCount: this._requestMatchesCount(), 7963 rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null 7964 }); 7965 } 7966 }]); 7967 7968 return PDFFindController; 7969}(); 7970 7971exports.PDFFindController = PDFFindController; 7972 7973/***/ }), 7974/* 18 */ 7975/***/ ((__unused_webpack_module, exports) => { 7976 7977 7978 7979Object.defineProperty(exports, "__esModule", ({ 7980 value: true 7981})); 7982exports.getCharacterType = getCharacterType; 7983exports.CharacterType = void 0; 7984var CharacterType = { 7985 SPACE: 0, 7986 ALPHA_LETTER: 1, 7987 PUNCT: 2, 7988 HAN_LETTER: 3, 7989 KATAKANA_LETTER: 4, 7990 HIRAGANA_LETTER: 5, 7991 HALFWIDTH_KATAKANA_LETTER: 6, 7992 THAI_LETTER: 7 7993}; 7994exports.CharacterType = CharacterType; 7995 7996function isAlphabeticalScript(charCode) { 7997 return charCode < 0x2e80; 7998} 7999 8000function isAscii(charCode) { 8001 return (charCode & 0xff80) === 0; 8002} 8003 8004function isAsciiAlpha(charCode) { 8005 return charCode >= 0x61 && charCode <= 0x7a || charCode >
8005= 0x41 && charCode <= 0x5a; 8006} 8007 8008function isAsciiDigit(charCode) { 8009 return charCode >= 0x30 && charCode <= 0x39; 8010} 8011 8012function isAsciiSpace(charCode) { 8013 return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a; 8014} 8015 8016function isHan(charCode) { 8017 return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff; 8018} 8019 8020function isKatakana(charCode) { 8021 return charCode >= 0x30a0 && charCode <= 0x30ff; 8022} 8023 8024function isHiragana(charCode) { 8025 return charCode >= 0x3040 && charCode <= 0x309f; 8026} 8027 8028function isHalfwidthKatakana(charCode) { 8029 return charCode >= 0xff60 && charCode <= 0xff9f; 8030} 8031 8032function isThai(charCode) { 8033 return (charCode & 0xff80) === 0x0e00; 8034} 8035 8036function getCharacterType(charCode) { 8037 if (isAlphabeticalScript(charCode)) { 8038 if (isAscii(charCode)) { 8039 if (isAsciiSpace(charCode)) { 8040 return CharacterType.SPACE; 8041 } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) { 8042 return CharacterType.ALPHA_LETTER; 8043 } 8044 8045 return CharacterType.PUNCT; 8046 } else if (isThai(charCode)) { 8047 return CharacterType.THAI_LETTER; 8048 } else if (charCode === 0xa0) { 8049 return CharacterType.SPACE; 8050 } 8051 8052 return CharacterType.ALPHA_LETTER; 8053 } 8054 8055 if (isHan(charCode)) { 8056 return CharacterType.HAN_LETTER; 8057 } else if (isKatakana(charCode)) { 8058 return CharacterType.KATAKANA_LETTER; 8059 } else if (isHiragana(charCode)) { 8060 return CharacterType.HIRAGANA_LETTER; 8061 } else if (isHalfwidthKatakana(charCode)) { 8062 return CharacterType.HALFWIDTH_KATAKANA_LETTER; 8063 } 8064 8065 return CharacterType.ALPHA_LETTER; 8066} 8067 8068/***/ }), 8069/* 19 */ 8070/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 8071 8072 8073 8074Object.defineProperty(exports, "__esModule", ({ 8075 value: true 8076})); 8077exports.isDestArraysEqual = isDestArraysEqual; 8078exports.isDestHashesEqual = isDestHashesEqual; 8079exports.PDFHistory = void 0; 8080 8081var _ui_utils = __webpack_require__(6); 8082 8083function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 8084 8085function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 8086 8087function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 8088 8089function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 8090 8091function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 8092 8093function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 8094 8095function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 8096 8097function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 8098 8099function _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); } } 8100 8101function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 8102 8103var HASH_CHANGE_TIMEOUT = 1000; 8104var POSITION_UPDATED_THRESHOLD = 50; 8105var UPDATE_VIEWAREA_TIMEOUT = 1000; 8106 8107function getCurrentHash() { 8108 return document.location.hash; 8109} 8110 8111var PDFHistory = /*#__PURE__*/function () { 8112 function PDFHistory(_ref) { 8113 var _this = this; 8114 8115 var linkService = _ref.linkService, 8116 eventBus = _ref.eventBus; 8117 8118 _classCallCheck(this, PDFHistory); 8119 8120 this.linkService = linkService; 8121 this.eventBus = eventBus; 8122 this._initialized = false;
8123 this._fingerprint = ""; 8124 this.reset(); 8125 this._boundEvents = null; 8126 this._isViewerInPresentationMode = false; 8127 8128 this.eventBus._on("presentationmodechanged", function (evt) { 8129 _this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL; 8130 }); 8131 8132 this.eventBus._on("pagesinit", function () { 8133 _this._isPagesLoaded = false; 8134 8135 _this.eventBus._on("pagesloaded", function (evt) { 8136 _this._isPagesLoaded = !!evt.pagesCount; 8137 }, { 8138 once: true 8139 }); 8140 }); 8141 } 8142 8143 _createClass(PDFHistory, [{ 8144 key: "initialize", 8145 value: function initialize(_ref2) { 8146 var fingerprint = _ref2.fingerprint, 8147 _ref2$resetHistory = _ref2.resetHistory, 8148 resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory, 8149 _ref2$updateUrl = _ref2.updateUrl, 8150 updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl; 8151 8152 if (!fingerprint || typeof fingerprint !== "string") { 8153 console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.'); 8154 return; 8155 } 8156 8157 if (this._initialized) { 8158 this.reset(); 8159 } 8160 8161 var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint; 8162 this._fingerprint = fingerprint; 8163 this._updateUrl = updateUrl === true; 8164 this._initialized = true; 8165 8166 this._bindEvents(); 8167 8168 var state = window.history.state; 8169 this._popStateInProgress = false; 8170 this._blockHashChange = 0; 8171 this._currentHash = getCurrentHash(); 8172 this._numPositionUpdates = 0; 8173 this._uid = this._maxUid = 0; 8174 this._destination = null; 8175 this._position = null; 8176 8177 if (!this._isValidState(state, true) || resetHistory) { 8178 var _this$_parseCurrentHa = this._parseCurrentHash(true), 8179 hash = _this$_parseCurrentHa.hash, 8180 page = _this$_parseCurrentHa.page, 8181 rotation = _this$_parseCurrentHa.rotation; 8182 8183 if (!hash || reInitialized || resetHistory) { 8184 this._pushOrReplaceState(null, true); 8185 8186 return; 8187 } 8188 8189 this._pushOrReplaceState({ 8190 hash: hash, 8191 page: page, 8192 rotation: rotation 8193 }, true); 8194 8195 return; 8196 } 8197 8198 var destination = state.destination; 8199 8200 this._updateInternalState(destination, state.uid, true); 8201 8202 if (destination.rotation !== undefined) { 8203 this._initialRotation = destination.rotation; 8204 } 8205 8206 if (destination.dest) { 8207 this._initialBookmark = JSON.stringify(destination.dest); 8208 this._destination.page = null; 8209 } else if (destination.hash) { 8210 this._initialBookmark = destination.hash; 8211 } else if (destination.page) { 8212 this._initialBookmark = "page=".concat(destination.page); 8213 } 8214 } 8215 }, { 8216 key: "reset", 8217 value: function reset() { 8218 if (this._initialized) { 8219 this._pageHide(); 8220 8221 this._initialized = false; 8222 8223 this._unbindEvents(); 8224 } 8225 8226 if (this._updateViewareaTimeout) { 8227 clearTimeout(this._updateViewareaTimeout); 8228 this._updateViewareaTimeout = null; 8229 } 8230 8231 this._initialBookmark = null; 8232 this._initialRotation = null; 8233 } 8234 }, { 8235 key: "push", 8236 value: function push(_ref3) { 8237 var _this2 = this; 8238 8239 var _ref3$namedDest = _ref3.namedDest, 8240 namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest, 8241 explicitDest = _ref3.explicitDest, 8242 pageNumber = _ref3.pageNumber; 8243 8244 if (!this._initialized) { 8245 return; 8246 } 8247 8248 if (namedDest && typeof namedDest !== "string") { 8249 console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter.")); 8250 return; 8251 } else if (!Array.isArray(explicitDest)) { 8252 console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter.")); 8253 return; 8254 } else if (!this._isValidPage(pageNumber)) { 8255 if (pageNumber !== null || this._destination) { 8256 console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); 8257 return; 8258 } 8259 } 8260
8261 var hash = namedDest || JSON.stringify(explicitDest); 8262 8263 if (!hash) { 8264 return; 8265 } 8266 8267 var forceReplace = false; 8268 8269 if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) { 8270 if (this._destination.page) { 8271 return; 8272 } 8273 8274 forceReplace = true; 8275 } 8276 8277 if (this._popStateInProgress && !forceReplace) { 8278 return; 8279 } 8280 8281 this._pushOrReplaceState({ 8282 dest: explicitDest, 8283 hash: hash, 8284 page: pageNumber, 8285 rotation: this.linkService.rotation 8286 }, forceReplace); 8287 8288 if (!this._popStateInProgress) { 8289 this._popStateInProgress = true; 8290 Promise.resolve().then(function () { 8291 _this2._popStateInProgress = false; 8292 }); 8293 } 8294 } 8295 }, { 8296 key: "pushPage", 8297 value: function pushPage(pageNumber) { 8298 var _this$_destination, 8299 _this3 = this; 8300 8301 if (!this._initialized) { 8302 return; 8303 } 8304 8305 if (!this._isValidPage(pageNumber)) { 8306 console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number.")); 8307 return; 8308 } 8309 8310 if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) { 8311 return; 8312 } 8313 8314 if (this._popStateInProgress) { 8315 return; 8316 } 8317 8318 this._pushOrReplaceState({ 8319 dest: null, 8320 hash: "page=".concat(pageNumber), 8321 page: pageNumber, 8322 rotation: this.linkService.rotation 8323 }); 8324 8325 if (!this._popStateInProgress) { 8326 this._popStateInProgress = true; 8327 Promise.resolve().then(function () { 8328 _this3._popStateInProgress = false; 8329 }); 8330 } 8331 } 8332 }, { 8333 key: "pushCurrentPosition", 8334 value: function pushCurrentPosition() { 8335 if (!this._initialized || this._popStateInProgress) { 8336 return; 8337 } 8338 8339 this._tryPushCurrentPosition(); 8340 } 8341 }, { 8342 key: "back", 8343 value: function back() { 8344 if (!this._initialized || this._popStateInProgress) { 8345 return; 8346 } 8347 8348 var state = window.history.state; 8349 8350 if (this._isValidState(state) && state.uid > 0) { 8351 window.history.back(); 8352 } 8353 } 8354 }, { 8355 key: "forward", 8356 value: function forward() { 8357 if (!this._initialized || this._popStateInProgress) { 8358 return; 8359 } 8360 8361 var state = window.history.state; 8362 8363 if (this._isValidState(state) && state.uid < this._maxUid) { 8364 window.history.forward(); 8365 } 8366 } 8367 }, { 8368 key: "popStateInProgress", 8369 get: function get() { 8370 return this._initialized && (this._popStateInProgress || this._blockHashChange > 0); 8371 } 8372 }, { 8373 key: "initialBookmark", 8374 get: function get() { 8375 return this._initialized ? this._initialBookmark : null; 8376 } 8377 }, { 8378 key: "initialRotation", 8379 get: function get() { 8380 return this._initialized ? this._initialRotation : null; 8381 } 8382 }, { 8383 key: "_pushOrReplaceState", 8384 value: function _pushOrReplaceState(destination) { 8385 var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 8386 var shouldReplace = forceReplace || !this._destination; 8387 var newState = { 8388 fingerprint: this._fingerprint, 8389 uid: shouldReplace ? this._uid : this._uid + 1, 8390 destination: destination 8391 }; 8392 8393 this._updateInternalState(destination, newState.uid); 8394 8395 var newUrl; 8396 8397 if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) { 8398 var baseUrl = document.location.href.split("#")[0]; 8399 8400 if (!baseUrl.startsWith("file://")) { 8401 newUrl = "".concat(baseUrl, "#").concat(destination.hash); 8402 } 8403 } 8404 8405 if (shouldReplace) { 8406 window.history.replaceState(newState, "", newUrl); 8407 } else { 8408 window.history.pushState(newState, "", newUrl); 8409 } 8410 } 8411 }, { 8412 key: "_tryPushCurrentPosition", 8413 value: function _tryPushCurrentPosition() { 8414 var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
8415 8416 if (!this._position) { 8417 return; 8418 } 8419 8420 var position = this._position; 8421 8422 if (temporary) { 8423 position = Object.assign(Object.create(null), this._position); 8424 position.temporary = true; 8425 } 8426 8427 if (!this._destination) { 8428 this._pushOrReplaceState(position); 8429 8430 return; 8431 } 8432 8433 if (this._destination.temporary) { 8434 this._pushOrReplaceState(position, true); 8435 8436 return; 8437 } 8438 8439 if (this._destination.hash === position.hash) { 8440 return; 8441 } 8442 8443 if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) { 8444 return; 8445 } 8446 8447 var forceReplace = false; 8448 8449 if (this._destination.page >= position.first && this._destination.page <= position.page) { 8450 if (this._destination.dest !== undefined || !this._destination.first) { 8451 return; 8452 } 8453 8454 forceReplace = true; 8455 } 8456 8457 this._pushOrReplaceState(position, forceReplace); 8458 } 8459 }, { 8460 key: "_isValidPage", 8461 value: function _isValidPage(val) { 8462 return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount; 8463 } 8464 }, { 8465 key: "_isValidState", 8466 value: function _isValidState(state) { 8467 var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 8468 8469 if (!state) { 8470 return false; 8471 } 8472 8473 if (state.fingerprint !== this._fingerprint) { 8474 if (checkReload) { 8475 if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) { 8476 return false; 8477 } 8478 8479 var _performance$getEntri = performance.getEntriesByType("navigation"), 8480 _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1), 8481 perfEntry = _performance$getEntri2[0]; 8482 8483 if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") { 8484 return false; 8485 } 8486 } else { 8487 return false; 8488 } 8489 } 8490 8491 if (!Number.isInteger(state.uid) || state.uid < 0) { 8492 return false; 8493 } 8494 8495 if (state.destination === null || _typeof(state.destination) !== "object") { 8496 return false; 8497 } 8498 8499 return true; 8500 } 8501 }, { 8502 key: "_updateInternalState", 8503 value: function _updateInternalState(destination, uid) { 8504 var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 8505 8506 if (this._updateViewareaTimeout) { 8507 clearTimeout(this._updateViewareaTimeout); 8508 this._updateViewareaTimeout = null; 8509 } 8510 8511 if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) { 8512 delete destination.temporary; 8513 } 8514 8515 this._destination = destination; 8516 this._uid = uid; 8517 this._maxUid = Math.max(this._maxUid, uid); 8518 this._numPositionUpdates = 0; 8519 } 8520 }, { 8521 key: "_parseCurrentHash", 8522 value: function _parseCurrentHash() { 8523 var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 8524 var hash = unescape(getCurrentHash()).substring(1); 8525 var params = (0, _ui_utils.parseQueryString)(hash); 8526 var nameddest = params.nameddest || ""; 8527 var page = params.page | 0; 8528 8529 if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) { 8530 page = null; 8531 } 8532 8533 return { 8534 hash: hash, 8535 page: page, 8536 rotation: this.linkService.rotation 8537 }; 8538 } 8539 }, { 8540 key: "_updateViewarea", 8541 value: function _updateViewarea(_ref4) { 8542 var _this4 = this; 8543 8544 var location = _ref4.location; 8545 8546 if (this._updateViewareaTimeout) { 8547 clearTimeout(this._updateViewareaTimeout); 8548 this._updateViewareaTimeout = null; 8549 } 8550 8551 this._position = { 8552 hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1), 8553 page: this.linkService.page, 8554 first: location.pageNumber, 8555 rotation: location.rotation 8556 }; 8557 8558 if (this._popStateInProgress) { 8559 return; 8560 } 8561 8562 if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) { 8563 this._numPositionUpdates++; 8564 } 8565 8566 if (UPDATE_VIEWAREA_TIMEOUT > 0) { 8567 this._updateViewareaTimeout = setTimeout(function () { 8568 if (!_this4._popStateInProgress) { 8569 _this4._tryPushCurrentPosition(true); 8570 } 8571 8572 _this4._updateViewareaTimeout = null; 8573 }, UPDATE_VIEWAREA_TIMEOUT); 8574 } 8575 } 8576 }, { 8577 key: "_popState", 8578 value: function _popState(_ref5) { 8579 var _this5 = this; 8580 8581 var state = _ref5.state; 8582 var newHash = getCurrentHash(), 8583 hashChanged = this._currentHash !== newHash; 8584 this._currentHash = newHash; 8585 8586 if (!state) { 8587 this._uid++; 8588 8589 var _this$_parseCurrentHa2 = this._parseCurrentHash(), 8590 hash = _this$_parseCurrentHa2.hash, 8591 page = _this$_parseCurrentHa2.page, 8592 rotation = _this$_parseCurrentHa2.rotation; 8593 8594 this._pushOrReplaceState({ 8595 hash: hash, 8596 page: page, 8597 rotation: rotation 8598 }, true); 8599 8600 return; 8601 } 8602 8603 if (!this._isValidState(state)) { 8604 return; 8605 } 8606 8607 this._popStateInProgress = true; 8608 8609 if (hashChanged) { 8610 this._blockHashChange++; 8611 (0, _ui_utils.waitOnEventOrTimeout)({ 8612 target: window,
8613 name: "hashchange", 8614 delay: HASH_CHANGE_TIMEOUT 8615 }).then(function () { 8616 _this5._blockHashChange--; 8617 }); 8618 } 8619 8620 var destination = state.destination; 8621 8622 this._updateInternalState(destination, state.uid, true); 8623 8624 if ((0, _ui_utils.isValidRotation)(destination.rotation)) { 8625 this.linkService.rotation = destination.rotation; 8626 } 8627 8628 if (destination.dest) { 8629 this.linkService.goToDestination(destination.dest); 8630 } else if (destination.hash) { 8631 this.linkService.setHash(destination.hash); 8632 } else if (destination.page) { 8633 this.linkService.page = destination.page; 8634 } 8635 8636 Promise.resolve().then(function () { 8637 _this5._popStateInProgress = false; 8638 }); 8639 } 8640 }, { 8641 key: "_pageHide", 8642 value: function _pageHide() { 8643 if (!this._destination || this._destination.temporary) { 8644 this._tryPushCurrentPosition(); 8645 } 8646 } 8647 }, { 8648 key: "_bindEvents", 8649 value: function _bindEvents() { 8650 if (this._boundEvents) { 8651 return; 8652 } 8653 8654 this._boundEvents = { 8655 updateViewarea: this._updateViewarea.bind(this), 8656 popState: this._popState.bind(this), 8657 pageHide: this._pageHide.bind(this) 8658 }; 8659 8660 this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea); 8661 8662 window.addEventListener("popstate", this._boundEvents.popState); 8663 window.addEventListener("pagehide", this._boundEvents.pageHide); 8664 } 8665 }, { 8666 key: "_unbindEvents", 8667 value: function _unbindEvents() { 8668 if (!this._boundEvents) { 8669 return; 8670 } 8671 8672 this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea); 8673 8674 window.removeEventListener("popstate", this._boundEvents.popState); 8675 window.removeEventListener("pagehide", this._boundEvents.pageHide); 8676 this._boundEvents = null; 8677 } 8678 }]); 8679 8680 return PDFHistory; 8681}(); 8682 8683exports.PDFHistory = PDFHistory; 8684 8685function isDestHashesEqual(destHash, pushHash) { 8686 if (typeof destHash !== "string" || typeof pushHash !== "string") { 8687 return false; 8688 } 8689 8690 if (destHash === pushHash) { 8691 return true; 8692 } 8693 8694 var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash), 8695 nameddest = _parseQueryString.nameddest; 8696 8697 if (nameddest === pushHash) { 8698 return true; 8699 } 8700 8701 return false; 8702} 8703 8704function isDestArraysEqual(firstDest, secondDest) { 8705 function isEntryEqual(first, second) { 8706 if (_typeof(first) !== _typeof(second)) { 8707 return false; 8708 } 8709 8710 if (Array.isArray(first) || Array.isArray(second)) { 8711 return false; 8712 } 8713 8714 if (first !== null && _typeof(first) === "object" && second !== null) { 8715 if (Object.keys(first).length !== Object.keys(second).length) { 8716 return false; 8717 } 8718 8719 for (var key in first) { 8720 if (!isEntryEqual(first[key], second[key])) { 8721 return false; 8722 } 8723 } 8724 8725 return true; 8726 } 8727 8728 return first === second || Number.isNaN(first) && Number.isNaN(second); 8729 } 8730 8731 if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) { 8732 return false; 8733 } 8734 8735 if (firstDest.length !== secondDest.length) { 8736 return false; 8737 } 8738 8739 for (var i = 0, ii = firstDest.length; i < ii; i++) { 8740 if (!isEntryEqual(firstDest[i], secondDest[i])) { 8741 return false; 8742 } 8743 } 8744 8745 return true; 8746} 8747 8748/***/ }), 8749/* 20 */ 8750/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 8751 8752 8753 8754Object.defineProperty(exports, "__esModule", ({ 8755 value: true 8756})); 8757exports.PDFLayerViewer = void 0; 8758 8759var _regenerator = _interopRequireDefault(__webpack_require__(4)); 8760 8761var _base_tree_viewer = __webpack_require__(14); 8762 8763function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 8764 8765function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 8766 8767function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 8768 8769function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 8770 8771function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 8772 8773function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
8773y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 8774 8775function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 8776 8777function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 8778 8779function _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); } } 8780 8781function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 8782 8783function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } 8784 8785function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } 8786 8787function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 8788 8789function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 8790 8791function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 8792 8793function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 8794 8795function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 8796 8797function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 8798 8799function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 8800 8801var PDFLayerViewer = /*#__PURE__*/function (_BaseTreeViewer) { 8802 _inherits(PDFLayerViewer, _BaseTreeViewer); 8803 8804 var _super = _createSuper(PDFLayerViewer); 8805 8806 function PDFLayerViewer(options) { 8807 var _this; 8808 8809 _classCallCheck(this, PDFLayerViewer); 8810 8811 _this = _super.call(this, options); 8812 _this.l10n = options.l10n; 8813 8814 _this.eventBus._on("resetlayers", _this._resetLayers.bind(_assertThisInitialized(_this))); 8815 8816 _this.eventBus._on("togglelayerstree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); 8817 8818 return _this; 8819 } 8820 8821 _createClass(PDFLayerViewer, [{ 8822 key: "reset", 8823 value: function reset() { 8824 _get(_getPrototypeOf(PDFLayerViewer.prototype), "reset", this).call(this); 8825 8826 this._optionalContentConfig = null; 8827 } 8828 }, { 8829 key: "_dispatchEvent", 8830 value: function _dispatchEvent(layersCount) { 8831 this.eventBus.dispatch("layersloaded", { 8832 source: this, 8833 layersCount: layersCount 8834 }); 8835 } 8836 }, { 8837 key: "_bindLink", 8838 value: function _bindLink(element, _ref) { 8839 var _this2 = this; 8840 8841 var groupId = _ref.groupId, 8842 input = _ref.input; 8843 8844 var setVisibility = function setVisibility() { 8845 _this2._optionalContentConfig.setVisibility(groupId, input.checked); 8846 8847 _this2.eventBus.dispatch("optionalcontentconfig", { 8848 source: _this2, 8849 promise: Promise.resolve(_this2._optionalContentConfig) 8850 }); 8851 }; 8852 8853 element.onclick = function (evt) { 8854 if (evt.target === input) { 8855 setVisibility(); 8856 return true; 8857 } else if (evt.target !== element) { 8858 return true; 8859 } 8860 8861 input.checked = !input.checked; 8862 setVisibility(); 8863 return false;
8864 }; 8865 } 8866 }, { 8867 key: "_setNestedName", 8868 value: function () { 8869 var _setNestedName2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(element, _ref2) { 8870 var _ref2$name, name; 8871 8872 return _regenerator["default"].wrap(function _callee$(_context) { 8873 while (1) { 8874 switch (_context.prev = _context.next) { 8875 case 0: 8876 _ref2$name = _ref2.name, name = _ref2$name === void 0 ? null : _ref2$name; 8877 8878 if (!(typeof name === "string")) { 8879 _context.next = 4; 8880 break; 8881 } 8882 8883 element.textContent = this._normalizeTextContent(name); 8884 return _context.abrupt("return"); 8885 8886 case 4: 8887 _context.next = 6; 8888 return this.l10n.get("additional_layers"); 8889 8890 case 6: 8891 element.textContent = _context.sent; 8892 element.style.fontStyle = "italic"; 8893 8894 case 8: 8895 case "end": 8896 return _context.stop(); 8897 } 8898 } 8899 }, _callee, this); 8900 })); 8901 8902 function _setNestedName(_x, _x2) { 8903 return _setNestedName2.apply(this, arguments); 8904 } 8905 8906 return _setNestedName; 8907 }() 8908 }, { 8909 key: "_addToggleButton", 8910 value: function _addToggleButton(div, _ref3) { 8911 var _ref3$name = _ref3.name, 8912 name = _ref3$name === void 0 ? null : _ref3$name; 8913 8914 _get(_getPrototypeOf(PDFLayerViewer.prototype), "_addToggleButton", this).call(this, div, name === null); 8915 } 8916 }, { 8917 key: "_toggleAllTreeItems", 8918 value: function _toggleAllTreeItems() { 8919 if (!this._optionalContentConfig) { 8920 return; 8921 } 8922 8923 _get(_getPrototypeOf(PDFLayerViewer.prototype), "_toggleAllTreeItems", this).call(this); 8924 } 8925 }, { 8926 key: "render", 8927 value: function render(_ref4) { 8928 var optionalContentConfig = _ref4.optionalContentConfig, 8929 pdfDocument = _ref4.pdfDocument; 8930 8931 if (this._optionalContentConfig) { 8932 this.reset(); 8933 } 8934 8935 this._optionalContentConfig = optionalContentConfig || null; 8936 this._pdfDocument = pdfDocument || null; 8937 var groups = optionalContentConfig === null || optionalContentConfig === void 0 ? void 0 : optionalContentConfig.getOrder(); 8938 8939 if (!groups) { 8940 this._dispatchEvent(0); 8941 8942 return; 8943 } 8944 8945 var fragment = document.createDocumentFragment(), 8946 queue = [{ 8947 parent: fragment, 8948 groups: groups 8949 }]; 8950 var layersCount = 0, 8951 hasAnyNesting = false; 8952 8953 while (queue.length > 0) { 8954 var levelData = queue.shift(); 8955 8956 var _iterator = _createForOfIteratorHelper(levelData.groups), 8957 _step; 8958 8959 try { 8960 for (_iterator.s(); !(_step = _iterator.n()).done;) { 8961 var groupId = _step.value; 8962 var div = document.createElement("div"); 8963 div.className = "treeItem"; 8964 var element = document.createElement("a"); 8965 div.appendChild(element); 8966 8967 if (_typeof(groupId) === "object") { 8968 hasAnyNesting = true; 8969 8970 this._addToggleButton(div, groupId); 8971 8972 this._setNestedName(element, groupId); 8973 8974 var itemsDiv = document.createElement("div"); 8975 itemsDiv.className = "treeItems"; 8976 div.appendChild(itemsDiv); 8977 queue.push({ 8978 parent: itemsDiv, 8979 groups: groupId.order 8980 }); 8981 } else { 8982 var group = optionalContentConfig.getGroup(groupId); 8983 var input = document.createElement("input"); 8984 8985 this._bindLink(element, { 8986 groupId: groupId, 8987 input: input 8988 }); 8989 8990 input.type = "checkbox"; 8991 input.id = groupId; 8992 input.checked = group.visible; 8993 var label = document.createElement("label"); 8994 label.setAttribute("for", groupId); 8995 label.textContent = this._normalizeTextContent(group.name); 8996 element.appendChild(input); 8997 element.appendChild(label); 8998 layersCount++; 8999 } 9000 9001 levelData.parent.appendChild(div); 9002 } 9003 } catch (err) { 9004 _iterator.e(err); 9005 } finally { 9006 _iterator.f(); 9007 } 9008 } 9009 9010 this._finishRendering(fragment, layersCount, hasAnyNesting); 9011 } 9012 }, { 9013 key: "_resetLayers", 9014 value: function () { 9015 var _resetLayers2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 9016 var optionalContentConfig; 9017 return _regenerator["default"].wrap(function _callee2$(_context2) { 9018 while (1) { 9019 switch (_context2.prev = _context2.next) { 9020 case 0: 9021 if (this._optionalContentConfig) { 9022 _context2.next = 2; 9023 break; 9024 } 9025 9026 return _context2.abrupt("return"); 9027 9028 case 2: 9029 _context2.next = 4; 9030 return this._pdfDocument.getOptionalContentConfig(); 9031 9032 case 4: 9033 optionalContentConfig = _context2.sent; 9034 this.eventBus.dispatch("optionalcontentconfig", { 9035 source: this, 9036 promise: Promise.resolve(optionalContentConfig) 9037 }); 9038 this.render({ 9039 optionalContentConfig: optionalContentConfig, 9040 pdfDocument: this._pdfDocument 9041 }); 9042 9043 case 7: 9044 case "end": 9045 return _context2.stop(); 9046 } 9047 } 9048 }, _callee2, this); 9049 })); 9050 9051 function _resetLayers() { 9052 return _resetLayers2.apply(this, arguments); 9053 } 9054 9055 return _resetLayers; 9056 }() 9057 }]); 9058 9059 return PDFLayerViewer; 9060}(_base_tree_viewer.BaseTreeViewer); 9061 9062exports.PDFLayerViewer = PDFLayerViewer; 9063 9064/***/ }), 9065/* 21 */ 9066/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 9067 9068 9069 9070Object.defineProperty(exports, "__esModule", ({ 9071 value: true 9072})); 9073exports.SimpleLinkService = exports.PDFLinkService = void 0; 9074 9075var _regenerator = _interopRequireDefault(__webpack_require__(4)); 9076 9077var _ui_utils = __webpack_require__(6); 9078 9079function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 9080 9081function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
9081y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 9082 9083function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 9084 9085function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 9086 9087function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 9088 9089function _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); } } 9090 9091function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 9092 9093var PDFLinkService = /*#__PURE__*/function () { 9094 function PDFLinkService() { 9095 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 9096 eventBus = _ref.eventBus, 9097 _ref$externalLinkTarg = _ref.externalLinkTarget, 9098 externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg, 9099 _ref$externalLinkRel = _ref.externalLinkRel, 9100 externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel, 9101 _ref$ignoreDestinatio = _ref.ignoreDestinationZoom, 9102 ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio; 9103 9104 _classCallCheck(this, PDFLinkService); 9105 9106 this.eventBus = eventBus; 9107 this.externalLinkTarget = externalLinkTarget; 9108 this.externalLinkRel = externalLinkRel; 9109 this.externalLinkEnabled = true; 9110 this._ignoreDestinationZoom = ignoreDestinationZoom; 9111 this.baseUrl = null; 9112 this.pdfDocument = null; 9113 this.pdfViewer = null; 9114 this.pdfHistory = null; 9115 this._pagesRefCache = null; 9116 } 9117 9118 _createClass(PDFLinkService, [{ 9119 key: "setDocument", 9120 value: function setDocument(pdfDocument) { 9121 var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 9122 this.baseUrl = baseUrl; 9123 this.pdfDocument = pdfDocument; 9124 this._pagesRefCache = Object.create(null); 9125 } 9126 }, { 9127 key: "setViewer", 9128 value: function setViewer(pdfViewer) { 9129 this.pdfViewer = pdfViewer; 9130 } 9131 }, { 9132 key: "setHistory", 9133 value: function setHistory(pdfHistory) { 9134 this.pdfHistory = pdfHistory; 9135 } 9136 }, { 9137 key: "pagesCount", 9138 get: function get() { 9139 return this.pdfDocument ? this.pdfDocument.numPages : 0; 9140 } 9141 }, { 9142 key: "page", 9143 get: function get() { 9144 return this.pdfViewer.currentPageNumber; 9145 }, 9146 set: function set(value) { 9147 this.pdfViewer.currentPageNumber = value; 9148 } 9149 }, { 9150 key: "rotation", 9151 get: function get() { 9152 return this.pdfViewer.pagesRotation; 9153 }, 9154 set: function set(value) { 9155 this.pdfViewer.pagesRotation = value; 9156 } 9157 }, { 9158 key: "_goToDestinationHelper", 9159 value: function _goToDestinationHelper(rawDest) { 9160 var _this = this; 9161 9162 var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; 9163 var explicitDest = arguments.length > 2 ? arguments[2] : undefined; 9164 var destRef = explicitDest[0]; 9165 var pageNumber; 9166 9167 if (_typeof(destRef) === "object" && destRef !== null) { 9168 pageNumber = this._cachedPageNumber(destRef); 9169 9170 if (pageNumber === null) { 9171 this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) { 9172 _this.cachePageRef(pageIndex + 1, destRef); 9173 9174 _this._goToDestinationHelper(rawDest, namedDest, explicitDest); 9175 })["catch"](function () { 9176 console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\".")); 9177 }); 9178 return; 9179 } 9180 } else if (Number.isInteger(destRef)) { 9181 pageNumber = destRef + 1; 9182 } else { 9183 console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\".")); 9184 return; 9185 } 9186 9187 if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) { 9188 console.error("PDFLinkService._goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\".")); 9189 return; 9190 } 9191 9192 if (this.pdfHistory) { 9193 this.pdfHistory.pushCurrentPosition(); 9194 this.pdfHistory.push({ 9195 namedDest: namedDest, 9196 explicitDest: explicitDest, 9197 pageNumber: pageNumber 9198 }); 9199 } 9200 9201 this.pdfViewer.scrollPageIntoView({ 9202 pageNumber: pageNumber, 9203 destArray: explicitDest, 9204 ignoreDestinationZoom: this._ignoreDestinationZoom 9205 }); 9206 } 9207 }, { 9208 key: "goToDestination", 9209 value: function () { 9210 var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) { 9211 var namedDest, explicitDest; 9212 return _regenerator["default"].wrap(function _callee$(_context) { 9213 while (1) { 9214 switch (_context.prev = _context.next) { 9215 case 0: 9216 if (this.pdfDocument) { 9217 _context.next = 2; 9218 break; 9219 } 9220 9221 return _context.abrupt("return"); 9222 9223 case 2: 9224 if (!(typeof dest === "string")) { 9225 _context.next = 9; 9226 break; 9227 } 9228 9229 namedDest = dest; 9230 _context.next = 6; 9231 return this.pdfDocument.getDestination(dest); 9232 9233 case 6: 9234 explicitDest = _context.sent; 9235 _context.next = 13; 9236 break; 9237 9238 case 9: 9239 namedDest = null; 9240 _context.next = 12; 9241 return dest; 9242 9243 case 12: 9244 explicitDest = _context.sent; 9245 9246 case 13: 9247 if (Array.isArray(explicitDest)) { 9248 _context.next = 16; 9249 break; 9250 } 9251 9252 console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\".")); 9253 return _context.abrupt("return"); 9254 9255 case 16: 9256 this._goToDestinationHelper(dest, namedDest, explicitDest); 9257 9258 case 17: 9259 case "end": 9260 return _context.stop(); 9261 } 9262 } 9263 }, _callee, this); 9264 })); 9265 9266 function goToDestination(_x) { 9267 return _goToDestination.apply(this, arguments); 9268 } 9269 9270 return goToDestination; 9271 }() 9272 }, { 9273 key: "goToPage", 9274 value: function goToPage(val) { 9275 if (!this.pdfDocument) { 9276 return; 9277 } 9278 9279 var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0; 9280 9281 if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { 9282 console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page.")); 9283 return; 9284 } 9285 9286 if (this.pdfHistory) { 9287 this.pdfHistory.pushCurrentPosition(); 9288 this.pdfHistory.pushPage(pageNumber); 9289 } 9290 9291 this.pdfViewer.scrollPageIntoView({ 9292 pageNumber: pageNumber 9293 }); 9294 } 9295 }, { 9296 key: "getDestinationHash", 9297 value: function getDestinationHash(dest) { 9298 if (typeof dest === "string") { 9299 if (dest.length > 0) { 9300 return this.getAnchorUrl("#" + escape(dest)); 9301 } 9302 } else if (Array.isArray(dest)) { 9303 var str = JSON.stringify(dest); 9304 9305 if (str.length > 0) { 9306 return this.getAnchorUrl("#" + escape(str)); 9307 } 9308 } 9309 9310 return this.getAnchorUrl(""); 9311 } 9312 }, { 9313 key: "getAnchorUrl", 9314 value: function getAnchorUrl(anchor) { 9315 return (this.baseUrl || "") + anchor; 9316 } 9317 }, { 9318 key: "setHash", 9319 value: function setHash(hash) { 9320 if (!this.pdfDocument) { 9321 return; 9322 } 9323 9324 var pageNumber, dest; 9325 9326 if (hash.includes("=")) {
9327 var params = (0, _ui_utils.parseQueryString)(hash); 9328 9329 if ("search" in params) { 9330 this.eventBus.dispatch("findfromurlhash", { 9331 source: this, 9332 query: params.search.replace(/"/g, ""), 9333 phraseSearch: params.phrase === "true" 9334 }); 9335 } 9336 9337 if ("page" in params) { 9338 pageNumber = params.page | 0 || 1; 9339 } 9340 9341 if ("zoom" in params) { 9342 var zoomArgs = params.zoom.split(","); 9343 var zoomArg = zoomArgs[0]; 9344 var zoomArgNumber = parseFloat(zoomArg); 9345 9346 if (!zoomArg.includes("Fit")) { 9347 dest = [null, { 9348 name: "XYZ" 9349 }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg]; 9350 } else { 9351 if (zoomArg === "Fit" || zoomArg === "FitB") { 9352 dest = [null, { 9353 name: zoomArg 9354 }]; 9355 } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") { 9356 dest = [null, { 9357 name: zoomArg 9358 }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null]; 9359 } else if (zoomArg === "FitR") { 9360 if (zoomArgs.length !== 5) { 9361 console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'); 9362 } else { 9363 dest = [null, { 9364 name: zoomArg 9365 }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0]; 9366 } 9367 } else { 9368 console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value."); 9369 } 9370 } 9371 } 9372 9373 if (dest) { 9374 this.pdfViewer.scrollPageIntoView({ 9375 pageNumber: pageNumber || this.page, 9376 destArray: dest, 9377 allowNegativeOffset: true 9378 }); 9379 } else if (pageNumber) { 9380 this.page = pageNumber; 9381 } 9382 9383 if ("pagemode" in params) { 9384 this.eventBus.dispatch("pagemode", { 9385 source: this, 9386 mode: params.pagemode 9387 }); 9388 } 9389 9390 if ("nameddest" in params) { 9391 this.goToDestination(params.nameddest); 9392 } 9393 } else { 9394 dest = unescape(hash); 9395 9396 try { 9397 dest = JSON.parse(dest); 9398 9399 if (!Array.isArray(dest)) { 9400 dest = dest.toString(); 9401 } 9402 } catch (ex) {} 9403 9404 if (typeof dest === "string" || isValidExplicitDestination(dest)) { 9405 this.goToDestination(dest); 9406 return; 9407 } 9408 9409 console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination."); 9410 } 9411 } 9412 }, { 9413 key: "executeNamedAction", 9414 value: function executeNamedAction(action) { 9415 switch (action) { 9416 case "GoBack": 9417 if (this.pdfHistory) { 9418 this.pdfHistory.back(); 9419 } 9420 9421 break; 9422 9423 case "GoForward": 9424 if (this.pdfHistory) { 9425 this.pdfHistory.forward(); 9426 } 9427 9428 break; 9429 9430 case "NextPage": 9431 this.pdfViewer.nextPage(); 9432 break; 9433 9434 case "PrevPage": 9435 this.pdfViewer.previousPage(); 9436 break; 9437 9438 case "LastPage": 9439 this.page = this.pagesCount; 9440 break; 9441 9442 case "FirstPage": 9443 this.page = 1; 9444 break; 9445 9446 default: 9447 break; 9448 } 9449 9450 this.eventBus.dispatch("namedaction", { 9451 source: this, 9452 action: action 9453 }); 9454 } 9455 }, { 9456 key: "cachePageRef", 9457 value: function cachePageRef(pageNum, pageRef) { 9458 if (!pageRef) { 9459 return; 9460 } 9461 9462 var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); 9463 this._pagesRefCache[refStr] = pageNum; 9464 } 9465 }, { 9466 key: "_cachedPageNumber", 9467 value: function _cachedPageNumber(pageRef) { 9468 var _this$_pagesRefCache; 9469 9470 var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); 9471 return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null; 9472 } 9473 }, { 9474 key: "isPageVisible", 9475 value: function isPageVisible(pageNumber) { 9476 return this.pdfViewer.isPageVisible(pageNumber); 9477 } 9478 }, { 9479 key: "isPageCached", 9480 value: function isPageCached(pageNumber) { 9481 return this.pdfViewer.isPageCached(pageNumber); 9482 } 9483 }]); 9484 9485 return PDFLinkService; 9486}(); 9487 9488exports.PDFLinkService = PDFLinkService; 9489 9490function isValidExplicitDestination(dest) { 9491 if (!Array.isArray(dest)) { 9492 return false;
9493 } 9494 9495 var destLength = dest.length; 9496 9497 if (destLength < 2) { 9498 return false; 9499 } 9500 9501 var page = dest[0]; 9502 9503 if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) { 9504 return false; 9505 } 9506 9507 var zoom = dest[1]; 9508 9509 if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) { 9510 return false; 9511 } 9512 9513 var allowNull = true; 9514 9515 switch (zoom.name) { 9516 case "XYZ": 9517 if (destLength !== 5) { 9518 return false; 9519 } 9520 9521 break; 9522 9523 case "Fit": 9524 case "FitB": 9525 return destLength === 2; 9526 9527 case "FitH": 9528 case "FitBH": 9529 case "FitV": 9530 case "FitBV": 9531 if (destLength !== 3) { 9532 return false; 9533 } 9534 9535 break; 9536 9537 case "FitR": 9538 if (destLength !== 6) { 9539 return false; 9540 } 9541 9542 allowNull = false; 9543 break; 9544 9545 default: 9546 return false; 9547 } 9548 9549 for (var i = 2; i < destLength; i++) { 9550 var param = dest[i]; 9551 9552 if (!(typeof param === "number" || allowNull && param === null)) { 9553 return false; 9554 } 9555 } 9556 9557 return true; 9558} 9559 9560var SimpleLinkService = /*#__PURE__*/function () { 9561 function SimpleLinkService() { 9562 _classCallCheck(this, SimpleLinkService); 9563 9564 this.externalLinkTarget = null; 9565 this.externalLinkRel = null; 9566 this.externalLinkEnabled = true; 9567 this._ignoreDestinationZoom = false;
vendor: 8,008 bytes, lines 9568-9706
9568 } 9569 9570 _createClass(SimpleLinkService, [{ 9571 key: "pagesCount", 9572 get: function get() { 9573 return 0; 9574 } 9575 }, { 9576 key: "page", 9577 get: function get() { 9578 return 0; 9579 }, 9580 set: function set(value) {} 9581 }, { 9582 key: "rotation", 9583 get: function get() { 9584 return 0; 9585 }, 9586 set: function set(value) {} 9587 }, { 9588 key: "goToDestination", 9589 value: function () { 9590 var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) { 9591 return _regenerator["default"].wrap(function _callee2$(_context2) { 9592 while (1) { 9593 switch (_context2.prev = _context2.next) { 9594 case 0: 9595 case "end": 9596 return _context2.stop(); 9597 } 9598 } 9599 }, _callee2); 9600 })); 9601 9602 function goToDestination(_x2) { 9603 return _goToDestination2.apply(this, arguments); 9604 } 9605 9606 return goToDestination; 9607 }() 9608 }, { 9609 key: "goToPage", 9610 value: function goToPage(val) {} 9611 }, { 9612 key: "getDestinationHash", 9613 value: function getDestinationHash(dest) { 9614 return "#"; 9615 } 9616 }, { 9617 key: "getAnchorUrl", 9618 value: function getAnchorUrl(hash) { 9619 return "#"; 9620 } 9621 }, { 9622 key: "setHash", 9623 value: function setHash(hash) {} 9624 }, { 9625 key: "executeNamedAction", 9626 value: function executeNamedAction(action) {} 9627 }, { 9628 key: "cachePageRef", 9629 value: function cachePageRef(pageNum, pageRef) {} 9630 }, { 9631 key: "isPageVisible", 9632 value: function isPageVisible(pageNumber) { 9633 return true; 9634 } 9635 }, { 9636 key: "isPageCached", 9637 value: function isPageCached(pageNumber) { 9638 return true; 9639 } 9640 }]); 9641 9642 return SimpleLinkService; 9643}(); 9644 9645exports.SimpleLinkService = SimpleLinkService; 9646 9647/***/ }), 9648/* 22 */ 9649/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 9650 9651 9652 9653Object.defineProperty(exports, "__esModule", ({ 9654 value: true 9655})); 9656exports.PDFOutlineViewer = void 0; 9657 9658var _regenerator = _interopRequireDefault(__webpack_require__(4)); 9659 9660var _pdfjsLib = __webpack_require__(7); 9661 9662var _base_tree_viewer = __webpack_require__(14); 9663 9664var _ui_utils = __webpack_require__(6); 9665 9666function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 9667 9668function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 9669 9670function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 9671 9672function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 9673 9674function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 9675 9676function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 9677 9678function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 9679 9680function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 9681 9682function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 9683 9684function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } 9685 9686function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 9687 9688function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 9689 9690function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } 9691 9692function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } 9693 9694function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 9695 9696function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 9697 9698function _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); } } 9699 9700function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 9701 9702function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } 9703 9704function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } 9705 9706function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
9706onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 9707 9708function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 9709 9710function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 9711 9712function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 9713 9714function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 9715 9716function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 9717 9718function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 9719 9720var PDFOutlineViewer = /*#__PURE__*/function (_BaseTreeViewer) { 9721 _inherits(PDFOutlineViewer, _BaseTreeViewer); 9722 9723 var _super = _createSuper(PDFOutlineViewer); 9724 9725 function PDFOutlineViewer(options) { 9726 var _this; 9727 9728 _classCallCheck(this, PDFOutlineViewer); 9729 9730 _this = _super.call(this, options); 9731 _this.linkService = options.linkService; 9732 9733 _this.eventBus._on("toggleoutlinetree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); 9734 9735 _this.eventBus._on("currentoutlineitem", _this._currentOutlineItem.bind(_assertThisInitialized(_this))); 9736 9737 _this.eventBus._on("pagechanging", function (evt) { 9738 _this._currentPageNumber = evt.pageNumber; 9739 }); 9740 9741 _this.eventBus._on("pagesloaded", function (evt) { 9742 _this._isPagesLoaded = !!evt.pagesCount; 9743 9744 if (_this._currentOutlineItemCapability && !_this._currentOutlineItemCapability.settled) { 9745 _this._currentOutlineItemCapability.resolve(_this._isPagesLoaded); 9746 } 9747 }); 9748 9749 _this.eventBus._on("sidebarviewchanged", function (evt) { 9750 _this._sidebarView = evt.view; 9751 }); 9752 9753 return _this; 9754 } 9755 9756 _createClass(PDFOutlineViewer, [{ 9757 key: "reset", 9758 value: function reset() { 9759 _get(_getPrototypeOf(PDFOutlineViewer.prototype), "reset", this).call(this); 9760 9761 this._outline = null; 9762 this._pageNumberToDestHashCapability = null; 9763 this._currentPageNumber = 1; 9764 this._isPagesLoaded = false; 9765 9766 if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) { 9767 this._currentOutlineItemCapability.resolve(false); 9768 } 9769 9770 this._currentOutlineItemCapability = null; 9771 } 9772 }, { 9773 key: "_dispatchEvent", 9774 value: function _dispatchEvent(outlineCount) { 9775 var _this$_pdfDocument; 9776 9777 this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)(); 9778 9779 if (outlineCount === 0 || (_this$_pdfDocument = this._pdfDocument) !== null && _this$_pdfDocument !== void 0 && _this$_pdfDocument.loadingParams.disableAutoFetch) { 9780 this._currentOutlineItemCapability.resolve(false); 9781 } else if (this._isPagesLoaded) { 9782 this._currentOutlineItemCapability.resolve(true); 9783 } 9784 9785 this.eventBus.dispatch("outlineloaded", { 9786 source: this, 9787 outlineCount: outlineCount, 9788 currentOutlineItemPromise: this._currentOutlineItemCapability.promise 9789 }); 9790 } 9791 }, { 9792 key: "_bindLink", 9793 value: function _bindLink(element, _ref) { 9794 var _this2 = this; 9795 9796 var url = _ref.url, 9797 newWindow = _ref.newWindow, 9798 dest = _ref.dest; 9799 var linkService = this.linkService; 9800 9801 if (url) { 9802 (0, _pdfjsLib.addLinkAttributes)(element, { 9803 url: url, 9804 target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget, 9805 rel: linkService.externalLinkRel, 9806 enabled: linkService.externalLinkEnabled 9807 }); 9808 return; 9809 } 9810 9811 element.href = linkService.getDestinationHash(dest); 9812 9813 element.onclick = function (evt) { 9814 _this2._updateCurrentTreeItem(evt.target.parentNode); 9815 9816 if (dest) { 9817 linkService.goToDestination(dest); 9818 } 9819 9820 return false;
9821 }; 9822 } 9823 }, { 9824 key: "_setStyles", 9825 value: function _setStyles(element, _ref2) { 9826 var bold = _ref2.bold, 9827 italic = _ref2.italic; 9828 9829 if (bold) { 9830 element.style.fontWeight = "bold"; 9831 } 9832 9833 if (italic) { 9834 element.style.fontStyle = "italic"; 9835 } 9836 } 9837 }, { 9838 key: "_addToggleButton", 9839 value: function _addToggleButton(div, _ref3) { 9840 var count = _ref3.count, 9841 items = _ref3.items; 9842 var hidden = false; 9843 9844 if (count < 0) { 9845 var totalCount = items.length; 9846 9847 if (totalCount > 0) { 9848 var queue = _toConsumableArray(items); 9849 9850 while (queue.length > 0) { 9851 var _queue$shift = queue.shift(), 9852 nestedCount = _queue$shift.count, 9853 nestedItems = _queue$shift.items; 9854 9855 if (nestedCount > 0 && nestedItems.length > 0) { 9856 totalCount += nestedItems.length; 9857 queue.push.apply(queue, _toConsumableArray(nestedItems)); 9858 } 9859 } 9860 } 9861 9862 if (Math.abs(count) === totalCount) { 9863 hidden = true; 9864 } 9865 } 9866 9867 _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_addToggleButton", this).call(this, div, hidden); 9868 } 9869 }, { 9870 key: "_toggleAllTreeItems", 9871 value: function _toggleAllTreeItems() { 9872 if (!this._outline) { 9873 return; 9874 } 9875 9876 _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_toggleAllTreeItems", this).call(this); 9877 } 9878 }, { 9879 key: "render", 9880 value: function render(_ref4) { 9881 var outline = _ref4.outline, 9882 pdfDocument = _ref4.pdfDocument; 9883 9884 if (this._outline) { 9885 this.reset(); 9886 } 9887 9888 this._outline = outline || null; 9889 this._pdfDocument = pdfDocument || null; 9890 9891 if (!outline) { 9892 this._dispatchEvent(0); 9893 9894 return; 9895 } 9896 9897 var fragment = document.createDocumentFragment(); 9898 var queue = [{ 9899 parent: fragment, 9900 items: outline 9901 }]; 9902 var outlineCount = 0, 9903 hasAnyNesting = false; 9904 9905 while (queue.length > 0) { 9906 var levelData = queue.shift(); 9907 9908 var _iterator = _createForOfIteratorHelper(levelData.items), 9909 _step; 9910 9911 try { 9912 for (_iterator.s(); !(_step = _iterator.n()).done;) { 9913 var item = _step.value; 9914 var div = document.createElement("div"); 9915 div.className = "treeItem"; 9916 var element = document.createElement("a"); 9917 9918 this._bindLink(element, item); 9919 9920 this._setStyles(element, item); 9921 9922 element.textContent = this._normalizeTextContent(item.title); 9923 div.appendChild(element); 9924 9925 if (item.items.length > 0) { 9926 hasAnyNesting = true; 9927 9928 this._addToggleButton(div, item); 9929 9930 var itemsDiv = document.createElement("div"); 9931 itemsDiv.className = "treeItems"; 9932 div.appendChild(itemsDiv); 9933 queue.push({ 9934 parent: itemsDiv, 9935 items: item.items 9936 }); 9937 } 9938 9939 levelData.parent.appendChild(div); 9940 outlineCount++; 9941 } 9942 } catch (err) { 9943 _iterator.e(err); 9944 } finally { 9945 _iterator.f(); 9946 } 9947 } 9948 9949 this._finishRendering(fragment, outlineCount, hasAnyNesting); 9950 } 9951 }, { 9952 key: "_currentOutlineItem", 9953 value: function () { 9954 var _currentOutlineItem2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 9955 var pageNumberToDestHash, i, destHash, linkElement; 9956 return _regenerator["default"].wrap(function _callee$(_context) { 9957 while (1) { 9958 switch (_context.prev = _context.next) { 9959 case 0: 9960 if (this._isPagesLoaded) { 9961 _context.next = 2; 9962 break; 9963 } 9964 9965 throw new Error("_currentOutlineItem: All pages have not been loaded."); 9966 9967 case 2: 9968 if (!(!this._outline || !this._pdfDocument)) { 9969 _context.next = 4; 9970 break; 9971 } 9972 9973 return _context.abrupt("return"); 9974 9975 case 4: 9976 _context.next = 6; 9977 return this._getPageNumberToDestHash(this._pdfDocument); 9978 9979 case 6:
9980 pageNumberToDestHash = _context.sent; 9981 9982 if (pageNumberToDestHash) { 9983 _context.next = 9; 9984 break; 9985 } 9986 9987 return _context.abrupt("return"); 9988 9989 case 9: 9990 this._updateCurrentTreeItem(null); 9991 9992 if (!(this._sidebarView !== _ui_utils.SidebarView.OUTLINE)) { 9993 _context.next = 12; 9994 break; 9995 } 9996 9997 return _context.abrupt("return"); 9998 9999 case 12: 10000 i = this._currentPageNumber; 10001 10002 case 13: 10003 if (!(i > 0)) { 10004 _context.next = 25; 10005 break; 10006 } 10007 10008 destHash = pageNumberToDestHash.get(i); 10009 10010 if (destHash) { 10011 _context.next = 17; 10012 break; 10013 } 10014 10015 return _context.abrupt("continue", 22); 10016 10017 case 17: 10018 linkElement = this.container.querySelector("a[href=\"".concat(destHash, "\"]")); 10019 10020 if (linkElement) { 10021 _context.next = 20; 10022 break; 10023 } 10024 10025 return _context.abrupt("continue", 22); 10026 10027 case 20: 10028 this._scrollToCurrentTreeItem(linkElement.parentNode); 10029 10030 return _context.abrupt("break", 25); 10031 10032 case 22: 10033 i--; 10034 _context.next = 13; 10035 break; 10036 10037 case 25: 10038 case "end": 10039 return _context.stop(); 10040 } 10041 } 10042 }, _callee, this); 10043 })); 10044 10045 function _currentOutlineItem() { 10046 return _currentOutlineItem2.apply(this, arguments); 10047 } 10048 10049 return _currentOutlineItem; 10050 }() 10051 }, { 10052 key: "_getPageNumberToDestHash", 10053 value: function () { 10054 var _getPageNumberToDestHash2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { 10055 var pageNumberToDestHash, pageNumberNesting, queue, levelData, currentNesting, _iterator2, _step2, _step2$value, dest, items, explicitDest, pageNumber, _explicitDest, _explicitDest2, destRef, destHash; 10056 10057 return _regenerator["default"].wrap(function _callee2$(_context2) { 10058 while (1) { 10059 switch (_context2.prev = _context2.next) { 10060 case 0: 10061 if (!this._pageNumberToDestHashCapability) { 10062 _context2.next = 2; 10063 break; 10064 } 10065 10066 return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); 10067 10068 case 2: 10069 this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)(); 10070 pageNumberToDestHash = new Map(), pageNumberNesting = new Map(); 10071 queue = [{ 10072 nesting: 0, 10073 items: this._outline 10074 }]; 10075 10076 case 5: 10077 if (!(queue.length > 0)) { 10078 _context2.next = 56; 10079 break; 10080 } 10081 10082 levelData = queue.shift(), currentNesting = levelData.nesting; 10083 _iterator2 = _createForOfIteratorHelper(levelData.items); 10084 _context2.prev = 8; 10085 10086 _iterator2.s(); 10087 10088 case 10: 10089 if ((_step2 = _iterator2.n()).done) { 10090 _context2.next = 46; 10091 break; 10092 } 10093 10094 _step2$value = _step2.value, dest = _step2$value.dest, items = _step2$value.items; 10095 explicitDest = void 0, pageNumber = void 0; 10096 10097 if (!(typeof dest === "string")) { 10098 _context2.next = 21; 10099 break; 10100 } 10101 10102 _context2.next = 16; 10103 return pdfDocument.getDestination(dest); 10104 10105 case 16: 10106 explicitDest = _context2.sent; 10107 10108 if (!(pdfDocument !== this._pdfDocument)) { 10109 _context2.next = 19; 10110 break; 10111 } 10112 10113 return _context2.abrupt("return", null); 10114 10115 case 19: 10116 _context2.next = 22; 10117 break; 10118 10119 case 21: 10120 explicitDest = dest; 10121 10122 case 22: 10123 if (!Array.isArray(explicitDest)) { 10124 _context2.next = 43; 10125 break; 10126 } 10127 10128 _explicitDest = explicitDest, _explicitDest2 = _slicedToArray(_explicitDest, 1), destRef = _explicitDest2[0]; 10129 10130 if (!(_typeof(destRef) === "object" && destRef !== null)) { 10131 _context2.next = 41; 10132 break; 10133 } 10134 10135 pageNumber = this.linkService._cachedPageNumber(destRef); 10136 10137 if (pageNumber) { 10138 _context2.next = 39; 10139 break; 10140 } 10141 10142 _context2.prev = 27; 10143 _context2.next = 30; 10144 return pdfDocument.getPageIndex(destRef); 10145 10146 case 30: 10147 _context2.t0 = _context2.sent; 10148 pageNumber = _context2.t0 + 1; 10149 10150 if (!(pdfDocument !== this._pdfDocument)) { 10151 _context2.next = 34; 10152 break; 10153 } 10154 10155 return _context2.abrupt("return", null); 10156 10157 case 34: 10158 this.linkService.cachePageRef(pageNumber, destRef); 10159 _context2.next = 39; 10160 break; 10161 10162 case 37: 10163 _context2.prev = 37; 10164 _context2.t1 = _context2["catch"](27); 10165 10166 case 39: 10167 _context2.next = 42; 10168 break; 10169 10170 case 41: 10171 if (Number.isInteger(destRef)) { 10172 pageNumber = destRef + 1; 10173 } 10174 10175 case 42: 10176 if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) { 10177 destHash = this.linkService.getDestinationHash(dest); 10178 pageNumberToDestHash.set(pageNumber, destHash);
10179 pageNumberNesting.set(pageNumber, currentNesting); 10180 } 10181 10182 case 43: 10183 if (items.length > 0) { 10184 queue.push({ 10185 nesting: currentNesting + 1, 10186 items: items 10187 }); 10188 } 10189 10190 case 44: 10191 _context2.next = 10; 10192 break; 10193 10194 case 46: 10195 _context2.next = 51; 10196 break; 10197 10198 case 48: 10199 _context2.prev = 48; 10200 _context2.t2 = _context2["catch"](8); 10201 10202 _iterator2.e(_context2.t2); 10203 10204 case 51: 10205 _context2.prev = 51; 10206 10207 _iterator2.f(); 10208 10209 return _context2.finish(51); 10210 10211 case 54: 10212 _context2.next = 5; 10213 break; 10214 10215 case 56: 10216 this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null); 10217 10218 return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); 10219 10220 case 58: 10221 case "end": 10222 return _context2.stop(); 10223 } 10224 } 10225 }, _callee2, this, [[8, 48, 51, 54], [27, 37]]); 10226 })); 10227 10228 function _getPageNumberToDestHash(_x) { 10229 return _getPageNumberToDestHash2.apply(this, arguments); 10230 } 10231 10232 return _getPageNumberToDestHash; 10233 }() 10234 }]); 10235 10236 return PDFOutlineViewer; 10237}(_base_tree_viewer.BaseTreeViewer); 10238 10239exports.PDFOutlineViewer = PDFOutlineViewer; 10240 10241/***/ }), 10242/* 23 */ 10243/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 10244 10245 10246 10247Object.defineProperty(exports, "__esModule", ({ 10248 value: true 10249})); 10250exports.PDFPresentationMode = void 0; 10251 10252var _ui_utils = __webpack_require__(6); 10253 10254function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 10255 10256function _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); } } 10257 10258function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 10259 10260var DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500; 10261var DELAY_BEFORE_HIDING_CONTROLS = 3000; 10262var ACTIVE_SELECTOR = "pdfPresentationMode"; 10263var CONTROLS_SELECTOR = "pdfPresentationModeControls"; 10264var MOUSE_SCROLL_COOLDOWN_TIME = 50; 10265var PAGE_SWITCH_THRESHOLD = 0.1; 10266var SWIPE_MIN_DISTANCE_THRESHOLD = 50; 10267var SWIPE_ANGLE_THRESHOLD = Math.PI / 6; 10268 10269var PDFPresentationMode = /*#__PURE__*/function () { 10270 function PDFPresentationMode(_ref) { 10271 var container = _ref.container, 10272 pdfViewer = _ref.pdfViewer, 10273 eventBus = _ref.eventBus; 10274 10275 _classCallCheck(this, PDFPresentationMode); 10276 10277 this.container = container; 10278 this.pdfViewer = pdfViewer; 10279 this.eventBus = eventBus; 10280 this.active = false; 10281 this.args = null; 10282 this.contextMenuOpen = false; 10283 this.mouseScrollTimeStamp = 0; 10284 this.mouseScrollDelta = 0; 10285 this.touchSwipeState = null; 10286 } 10287 10288 _createClass(PDFPresentationMode, [{ 10289 key: "request", 10290 value: function request() { 10291 if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) { 10292 return false; 10293 } 10294 10295 this._addFullscreenChangeListeners(); 10296 10297 this._setSwitchInProgress(); 10298 10299 this._notifyStateChange(); 10300 10301 if (this.container.requestFullscreen) { 10302 this.container.requestFullscreen(); 10303 } else if (this.container.mozRequestFullScreen) { 10304 this.container.mozRequestFullScreen(); 10305 } else if (this.container.webkitRequestFullscreen) { 10306 this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); 10307 } else { 10308 return false; 10309 } 10310 10311 this.args = { 10312 page: this.pdfViewer.currentPageNumber, 10313 previousScale: this.pdfViewer.currentScaleValue 10314 }; 10315 return true; 10316 } 10317 }, { 10318 key: "_mouseWheel", 10319 value: function _mouseWheel(evt) { 10320 if (!this.active) { 10321 return; 10322 } 10323 10324 evt.preventDefault(); 10325 var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); 10326 var currentTime = Date.now(); 10327 var storedTime = this.mouseScrollTimeStamp; 10328 10329 if (currentTime >
10329 storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) { 10330 return; 10331 } 10332 10333 if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) { 10334 this._resetMouseScrollState(); 10335 } 10336 10337 this.mouseScrollDelta += delta; 10338 10339 if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) { 10340 var totalDelta = this.mouseScrollDelta; 10341 10342 this._resetMouseScrollState(); 10343 10344 var success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage(); 10345 10346 if (success) { 10347 this.mouseScrollTimeStamp = currentTime; 10348 } 10349 } 10350 } 10351 }, { 10352 key: "isFullscreen", 10353 get: function get() { 10354 return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen); 10355 } 10356 }, { 10357 key: "_notifyStateChange", 10358 value: function _notifyStateChange() { 10359 var state = _ui_utils.PresentationModeState.NORMAL; 10360 10361 if (this.switchInProgress) { 10362 state = _ui_utils.PresentationModeState.CHANGING; 10363 } else if (this.active) { 10364 state = _ui_utils.PresentationModeState.FULLSCREEN; 10365 } 10366 10367 this.eventBus.dispatch("presentationmodechanged", { 10368 source: this, 10369 state: state 10370 }); 10371 } 10372 }, { 10373 key: "_setSwitchInProgress", 10374 value: function _setSwitchInProgress() { 10375 var _this = this; 10376 10377 if (this.switchInProgress) { 10378 clearTimeout(this.switchInProgress); 10379 } 10380 10381 this.switchInProgress = setTimeout(function () { 10382 _this._removeFullscreenChangeListeners(); 10383 10384 delete _this.switchInProgress; 10385 10386 _this._notifyStateChange(); 10387 }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS); 10388 } 10389 }, { 10390 key: "_resetSwitchInProgress", 10391 value: function _resetSwitchInProgress() { 10392 if (this.switchInProgress) { 10393 clearTimeout(this.switchInProgress); 10394 delete this.switchInProgress; 10395 } 10396 } 10397 }, { 10398 key: "_enter", 10399 value: function _enter() { 10400 var _this2 = this; 10401 10402 this.active = true; 10403 10404 this._resetSwitchInProgress(); 10405 10406 this._notifyStateChange(); 10407 10408 this.container.classList.add(ACTIVE_SELECTOR); 10409 setTimeout(function () { 10410 _this2.pdfViewer.currentPageNumber = _this2.args.page; 10411 _this2.pdfViewer.currentScaleValue = "page-fit"; 10412 }, 0); 10413 10414 this._addWindowListeners(); 10415 10416 this._showControls(); 10417 10418 this.contextMenuOpen = false; 10419 window.getSelection().removeAllRanges(); 10420 } 10421 }, { 10422 key: "_exit", 10423 value: function _exit() { 10424 var _this3 = this; 10425 10426 var page = this.pdfViewer.currentPageNumber; 10427 this.container.classList.remove(ACTIVE_SELECTOR); 10428 setTimeout(function () { 10429 _this3.active = false; 10430 10431 _this3._removeFullscreenChangeListeners(); 10432 10433 _this3._notifyStateChange(); 10434 10435 _this3.pdfViewer.currentScaleValue = _this3.args.previousScale; 10436 _this3.pdfViewer.currentPageNumber = page; 10437 _this3.args = null; 10438 }, 0); 10439 10440 this._removeWindowListeners(); 10441 10442 this._hideControls(); 10443 10444 this._resetMouseScrollState(); 10445 10446 this.contextMenuOpen = false; 10447 } 10448 }, { 10449 key: "_mouseDown", 10450 value: function _mouseDown(evt) { 10451 if (this.contextMenuOpen) { 10452 this.contextMenuOpen = false; 10453 evt.preventDefault(); 10454 return; 10455 } 10456 10457 if (evt.button === 0) { 10458 var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink"); 10459 10460 if (!isInternalLink) { 10461 evt.preventDefault(); 10462 10463 if (evt.shiftKey) { 10464 this.pdfViewer.previousPage(); 10465 } else { 10466 this.pdfViewer.nextPage(); 10467 } 10468 } 10469 } 10470 } 10471 }, { 10472 key: "_contextMenu", 10473 value: function _contextMenu() { 10474 this.contextMenuOpen = true; 10475 } 10476 }, { 10477 key: "_showControls", 10478 value: function _showControls() { 10479 var _this4 = this; 10480 10481 if (this.controlsTimeout) { 10482 clearTimeout(this.controlsTimeout); 10483 } else { 10484 this.container.classList.add(CONTROLS_SELECTOR); 10485 } 10486 10487 this.controlsTimeout = setTimeout(function () { 10488 _this4.container.classList.remove(CONTROLS_SELECTOR); 10489 10490 delete _this4.controlsTimeout; 10491 }, DELAY_BEFORE_HIDING_CONTROLS); 10492 } 10493 }, { 10494 key: "_hideControls", 10495 value: function _hideControls() { 10496 if (!this.controlsTimeout) { 10497 return; 10498 } 10499 10500 clearTimeout(this.controlsTimeout); 10501 this.container.classList.remove(CONTROLS_SELECTOR); 10502 delete this.controlsTimeout; 10503 } 10504 }, { 10505 key: "_resetMouseScrollState", 10506 value: function _resetMouseScrollState() { 10507 this.mouseScrollTimeStamp = 0; 10508 this.mouseScrollDelta = 0; 10509 } 10510 }, { 10511 key: "_touchSwipe", 10512 value: function _touchSwipe(evt) { 10513 if (!this.active) { 10514 return; 10515 } 10516 10517 if (evt.touches.length > 1) { 10518 this.touchSwipeState = null; 10519 return; 10520 } 10521 10522 switch (evt.type) { 10523 case "touchstart": 10524 this.touchSwipeState = { 10525 startX: evt.touches[0].pageX, 10526 startY: evt.touches[0].pageY, 10527 endX: evt.touches[0].pageX, 10528 endY: evt.touches[0].pageY 10529 }; 10530 break; 10531 10532 case "touchmove": 10533 if (this.touchSwipeState === null) { 10534 return; 10535 } 10536 10537 this.touchSwipeState.endX = evt.touches[0].pageX; 10538 this.touchSwipeState.endY = evt.touches[0].pageY; 10539 evt.preventDefault(); 10540 break; 10541 10542 case "touchend": 10543 if (this.touchSwipeState === null) { 10544 return; 10545 } 10546 10547 var delta = 0; 10548 var dx = this.touchSwipeState.endX - this.touchSwipeState.startX; 10549 var dy = this.touchSwipeState.endY - this.touchSwipeState.startY; 10550 var absAngle = Math.abs(Math.atan2(dy, dx)); 10551 10552 if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) { 10553 delta = dx; 10554 } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) { 10555 delta = dy; 10556 } 10557 10558 if (delta > 0) { 10559 this.pdfViewer.previousPage(); 10560 } else if (delta < 0) { 10561 this.pdfViewer.nextPage(); 10562 } 10563 10564 break; 10565 } 10566 } 10567 }, { 10568 key: "_addWindowListeners", 10569 value: function _addWindowListeners() { 10570 this.showControlsBind = this._showControls.bind(this); 10571 this.mouseDownBind = this._mouseDown.bind(this); 10572 this.mouseWheelBind = this._mouseWheel.bind(this); 10573 this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this); 10574 this.contextMenuBind = this._contextMenu.bind(this); 10575 this.touchSwipeBind = this._touchSwipe.bind(this); 10576 window.addEventListener("mousemove", this.showControlsBind); 10577 window.addEventListener("mousedown", this.mouseDownBind); 10578 window.addEventListener("wheel", this.mouseWheelBind, { 10579 passive: false 10580 }); 10581 window.addEventListener("keydown", this.resetMouseScrollStateBind); 10582 window.addEventListener("contextmenu", this.contextMenuBind); 10583 window.addEventListener("touchstart", this.touchSwipeBind); 10584 window.addEventListener("touchmove", this.touchSwipeBind); 10585 window.addEventListener("touchend", this.touchSwipeBind); 10586 } 10587 }, { 10588 key: "_removeWindowListeners", 10589 value: function _removeWindowListeners() { 10590 window.removeEventListener("mousemove", this.showControlsBind); 10591 window.removeEventListener("mousedown", this.mouseDownBind); 10592 window.removeEventListener("wheel", this.mouseWheelBind, { 10593 passive: false 10594 }); 10595 window.removeEventListener("keydown", this.resetMouseScrollStateBind); 10596 window.removeEventListener("contextmenu", this.contextMenuBind); 10597 window.removeEventListener("touchstart", this.touchSwipeBind); 10598 window.removeEventListener("touchmove", this.touchSwipeBind); 10599 window.removeEventListener("touchend", this.touchSwipeBind); 10600 delete this.showControlsBind; 10601 delete this.mouseDownBind; 10602 delete this.mouseWheelBind; 10603 delete this.resetMouseScrollStateBind; 10604 delete this.contextMenuBind; 10605 delete this.touchSwipeBind; 10606 } 10607 }, { 10608 key: "_fullscreenChange", 10609 value: function _fullscreenChange() { 10610 if (this.isFullscreen) { 10611 this._enter(); 10612 } else { 10613 this._exit(); 10614 } 10615 } 10616 }, { 10617 key: "_addFullscreenChangeListeners", 10618 value: function _addFullscreenChangeListeners() { 10619 this.fullscreenChangeBind = this._fullscreenChange.bind(this); 10620 window.addEventListener("fullscreenchange", this.fullscreenChangeBind); 10621 window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind); 10622 window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind); 10623 } 10624 }, { 10625 key: "_removeFullscreenChangeListeners", 10626 value: function _removeFullscreenChangeListeners() { 10627 window.removeEventListener("fullscreenchange", this.fullscreenChangeBind); 10628 window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind); 10629 window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind); 10630 delete this.fullscreenChangeBind; 10631 } 10632 }]); 10633 10634 return PDFPresentationMode; 10635}(); 10636 10637exports.PDFPresentationMode = PDFPresentationMode; 10638 10639/***/ }), 10640/* 24 */ 10641/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 10642 10643 10644 10645Object.defineProperty(exports, "__esModule", ({ 10646 value: true 10647})); 10648exports.PDFScriptingManager = void 0; 10649 10650var _regenerator = _interopRequireDefault(__webpack_require__(4)); 10651 10652var _pdfjsLib = __webpack_require__(7); 10653 10654var _ui_utils = __webpack_require__(6); 10655 10656var _pdf_rendering_queue = __webpack_require__(10); 10657 10658function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 10659 10660function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } 10661 10662function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 10663 10664function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } 10665 10666function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } 10667 10668function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } 10669 10670function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
vendor: 5,125 bytes, lines 10670-10716
10670 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 10671 10672function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 10673 10674function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 10675 10676function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 10677 10678function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 10679 10680function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 10681 10682function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 10683 10684function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 10685 10686function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 10687 10688function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 10689 10690function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 10691 10692function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 10693 10694function _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); } } 10695 10696function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 10697 10698var PDFScriptingManager = /*#__PURE__*/function () { 10699 function PDFScriptingManager(_ref) { 10700 var eventBus = _ref.eventBus, 10701 _ref$sandboxBundleSrc = _ref.sandboxBundleSrc, 10702 sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc, 10703 _ref$scriptingFactory = _ref.scriptingFactory, 10704 scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory, 10705 _ref$docPropertiesLoo = _ref.docPropertiesLookup, 10706 docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo; 10707 10708 _classCallCheck(this, PDFScriptingManager); 10709 10710 this._pdfDocument = null; 10711 this._pdfViewer = null; 10712 this._closeCapability = null; 10713 this._destroyCapability = null; 10714 this._scripting = null; 10715 this._mouseState = Object.create(null); 10716 this._ready = false;
10717 this._eventBus = eventBus; 10718 this._sandboxBundleSrc = sandboxBundleSrc; 10719 this._scriptingFactory = scriptingFactory; 10720 this._docPropertiesLookup = docPropertiesLookup; 10721 } 10722 10723 _createClass(PDFScriptingManager, [{ 10724 key: "setViewer", 10725 value: function setViewer(pdfViewer) { 10726 this._pdfViewer = pdfViewer; 10727 } 10728 }, { 10729 key: "setDocument", 10730 value: function () { 10731 var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { 10732 var _this = this, 10733 _this$_scripting3; 10734 10735 var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties; 10736 10737 return _regenerator["default"].wrap(function _callee2$(_context2) { 10738 while (1) { 10739 switch (_context2.prev = _context2.next) { 10740 case 0: 10741 if (!this._pdfDocument) { 10742 _context2.next = 3; 10743 break; 10744 } 10745 10746 _context2.next = 3; 10747 return this._destroyScripting(); 10748 10749 case 3: 10750 this._pdfDocument = pdfDocument; 10751 10752 if (pdfDocument) { 10753 _context2.next = 6; 10754 break; 10755 } 10756 10757 return _context2.abrupt("return"); 10758 10759 case 6: 10760 _context2.next = 8; 10761 return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]); 10762 10763 case 8: 10764 _yield$Promise$all = _context2.sent; 10765 _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3); 10766 objects = _yield$Promise$all2[0]; 10767 calculationOrder = _yield$Promise$all2[1]; 10768 docActions = _yield$Promise$all2[2]; 10769 10770 if (!(!objects && !docActions)) { 10771 _context2.next = 17; 10772 break; 10773 } 10774 10775 _context2.next = 16; 10776 return this._destroyScripting(); 10777 10778 case 16: 10779 return _context2.abrupt("return"); 10780 10781 case 17: 10782 if (!(pdfDocument !== this._pdfDocument)) { 10783 _context2.next = 19; 10784 break; 10785 } 10786 10787 return _context2.abrupt("return"); 10788 10789 case 19: 10790 _context2.prev = 19; 10791 this._scripting = this._createScripting(); 10792 _context2.next = 29; 10793 break; 10794 10795 case 23: 10796 _context2.prev = 23; 10797 _context2.t0 = _context2["catch"](19); 10798 console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, "\".")); 10799 _context2.next = 28; 10800 return this._destroyScripting(); 10801 10802 case 28: 10803 return _context2.abrupt("return"); 10804 10805 case 29: 10806 this._internalEvents.set("updatefromsandbox", function (event) { 10807 if ((event === null || event === void 0 ? void 0 : event.source) !== window) { 10808 return; 10809 } 10810 10811 _this._updateFromSandbox(event.detail); 10812 }); 10813 10814 this._internalEvents.set("dispatcheventinsandbox", function (event) { 10815 var _this$_scripting; 10816 10817 (_this$_scripting = _this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox(event.detail); 10818 }); 10819 10820 this._internalEvents.set("pagechanging", function (_ref2) { 10821 var pageNumber = _ref2.pageNumber, 10822 previous = _ref2.previous; 10823 10824 if (pageNumber === previous) { 10825 return; 10826 } 10827 10828 _this._dispatchPageClose(previous); 10829 10830 _this._dispatchPageOpen(pageNumber); 10831 }); 10832 10833 this._internalEvents.set("pagerendered", function (_ref3) { 10834 var pageNumber = _ref3.pageNumber; 10835
10836 if (!_this._pageOpenPending.has(pageNumber)) { 10837 return; 10838 } 10839 10840 if (pageNumber !== _this._pdfViewer.currentPageNumber) { 10841 return; 10842 } 10843 10844 _this._dispatchPageOpen(pageNumber); 10845 }); 10846 10847 this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () { 10848 var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) { 10849 var _this$_scripting2, _this$_closeCapabilit; 10850 10851 return _regenerator["default"].wrap(function _callee$(_context) { 10852 while (1) { 10853 switch (_context.prev = _context.next) { 10854 case 0: 10855 _context.next = 2; 10856 return _this._dispatchPageClose(_this._pdfViewer.currentPageNumber); 10857 10858 case 2: 10859 _context.next = 4; 10860 return (_this$_scripting2 = _this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({ 10861 id: "doc", 10862 name: "WillClose" 10863 }); 10864 10865 case 4: 10866 (_this$_closeCapabilit = _this._closeCapability) === null || _this$_closeCapabilit === void 0 ? void 0 : _this$_closeCapabilit.resolve(); 10867 10868 case 5: 10869 case "end": 10870 return _context.stop(); 10871 } 10872 } 10873 }, _callee); 10874 })); 10875 10876 return function (_x2) { 10877 return _ref4.apply(this, arguments); 10878 }; 10879 }()); 10880 10881 this._domEvents.set("mousedown", function (event) { 10882 _this._mouseState.isDown = true; 10883 }); 10884 10885 this._domEvents.set("mouseup", function (event) { 10886 _this._mouseState.isDown = false; 10887 }); 10888 10889 _iterator = _createForOfIteratorHelper(this._internalEvents); 10890 10891 try { 10892 for (_iterator.s(); !(_step = _iterator.n()).done;) { 10893 _step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1]; 10894 10895 this._eventBus._on(name, listener); 10896 } 10897 } catch (err) { 10898 _iterator.e(err); 10899 } finally { 10900 _iterator.f(); 10901 } 10902 10903 _iterator2 = _createForOfIteratorHelper(this._domEvents); 10904 10905 try { 10906 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 10907 _step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1]; 10908 window.addEventListener(_name, _listener); 10909 } 10910 } catch (err) { 10911 _iterator2.e(err); 10912 } finally { 10913 _iterator2.f(); 10914 } 10915 10916 _context2.prev = 40; 10917 _context2.next = 43; 10918 return this._getDocProperties(); 10919 10920 case 43: 10921 docProperties = _context2.sent; 10922 10923 if (!(pdfDocument !== this._pdfDocument)) { 10924 _context2.next = 46; 10925 break; 10926 } 10927 10928 return _context2.abrupt("return"); 10929 10930 case 46: 10931 _context2.next = 48; 10932 return this._scripting.createSandbox({ 10933 objects: objects, 10934 calculationOrder: calculationOrder, 10935 appInfo: { 10936 platform: navigator.platform, 10937 language: navigator.language 10938 }, 10939 docInfo: _objectSpread(_objectSpread({}, docProperties), {}, { 10940 actions: docActions 10941 }) 10942 }); 10943 10944 case 48: 10945 this._eventBus.dispatch("sandboxcreated", { 10946 source: this 10947 }); 10948 10949 _context2.next = 57; 10950 break; 10951 10952 case 51: 10953 _context2.prev = 51; 10954 _context2.t1 = _context2["catch"](40); 10955 console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t1 === null || _context2.t1 === void 0 ? void 0 : _context2.t1.message, "\".")); 10956 _context2.next = 56; 10957 return this._destroyScripting(); 10958 10959 case 56: 10960 return _context2.abrupt("return"); 10961 10962 case 57: 10963 _context2.next = 59; 10964 return (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({ 10965 id: "doc", 10966 name: "Open" 10967 }); 10968 10969 case 59: 10970 _context2.next = 61; 10971 return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true); 10972 10973 case 61: 10974 Promise.resolve().then(function () { 10975 if (pdfDocument === _this._pdfDocument) { 10976 _this._ready = true; 10977 } 10978 }); 10979 10980 case 62: 10981 case "end": 10982 return _context2.stop(); 10983 } 10984 } 10985 }, _callee2, this, [[19, 23], [40, 51]]); 10986 })); 10987 10988 function setDocument(_x) { 10989 return _setDocument.apply(this, arguments); 10990 } 10991 10992 return setDocument; 10993 }() 10994 }, { 10995 key: "dispatchWillSave", 10996 value: function () { 10997 var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(detail) { 10998 var _this$_scripting4; 10999 11000 return _regenerator["default"].wrap(function _callee3$(_context3) { 11001 while (1) { 11002 switch (_context3.prev = _context3.next) { 11003 case 0: 11004 return _context3.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({ 11005 id: "doc", 11006 name: "WillSave" 11007 })); 11008 11009 case 1: 11010 case "end": 11011 return _context3.stop(); 11012 } 11013 } 11014 }, _callee3, this); 11015 })); 11016 11017 function dispatchWillSave(_x3) { 11018 return _dispatchWillSave.apply(this, arguments); 11019 } 11020
11021 return dispatchWillSave; 11022 }() 11023 }, { 11024 key: "dispatchDidSave", 11025 value: function () { 11026 var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(detail) { 11027 var _this$_scripting5; 11028 11029 return _regenerator["default"].wrap(function _callee4$(_context4) { 11030 while (1) { 11031 switch (_context4.prev = _context4.next) { 11032 case 0: 11033 return _context4.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({ 11034 id: "doc", 11035 name: "DidSave" 11036 })); 11037 11038 case 1: 11039 case "end": 11040 return _context4.stop(); 11041 } 11042 } 11043 }, _callee4, this); 11044 })); 11045 11046 function dispatchDidSave(_x4) { 11047 return _dispatchDidSave.apply(this, arguments); 11048 } 11049 11050 return dispatchDidSave; 11051 }() 11052 }, { 11053 key: "dispatchWillPrint", 11054 value: function () { 11055 var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(detail) { 11056 var _this$_scripting6; 11057 11058 return _regenerator["default"].wrap(function _callee5$(_context5) { 11059 while (1) { 11060 switch (_context5.prev = _context5.next) { 11061 case 0: 11062 return _context5.abrupt("return", (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({ 11063 id: "doc", 11064 name: "WillPrint" 11065 })); 11066 11067 case 1: 11068 case "end": 11069 return _context5.stop(); 11070 } 11071 } 11072 }, _callee5, this); 11073 })); 11074 11075 function dispatchWillPrint(_x5) { 11076 return _dispatchWillPrint.apply(this, arguments); 11077 } 11078 11079 return dispatchWillPrint; 11080 }() 11081 }, { 11082 key: "dispatchDidPrint", 11083 value: function () { 11084 var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(detail) { 11085 var _this$_scripting7; 11086 11087 return _regenerator["default"].wrap(function _callee6$(_context6) { 11088 while (1) { 11089 switch (_context6.prev = _context6.next) { 11090 case 0: 11091 return _context6.abrupt("return", (_this$_scripting7 = this._scripting) === null || _this$_scripting7 === void 0 ? void 0 : _this$_scripting7.dispatchEventInSandbox({ 11092 id: "doc", 11093 name: "DidPrint" 11094 })); 11095 11096 case 1: 11097 case "end": 11098 return _context6.stop(); 11099 } 11100 } 11101 }, _callee6, this); 11102 })); 11103 11104 function dispatchDidPrint(_x6) { 11105 return _dispatchDidPrint.apply(this, arguments); 11106 } 11107 11108 return dispatchDidPrint; 11109 }() 11110 }, { 11111 key: "mouseState", 11112 get: function get() { 11113 return this._mouseState; 11114 } 11115 }, { 11116 key: "destroyPromise", 11117 get: function get() { 11118 var _this$_destroyCapabil; 11119 11120 return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null; 11121 } 11122 }, { 11123 key: "ready", 11124 get: function get() { 11125 return this._ready; 11126 } 11127 }, { 11128 key: "_internalEvents", 11129 get: function get() { 11130 return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map()); 11131 } 11132 }, { 11133 key: "_domEvents", 11134 get: function get() { 11135 return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map()); 11136 } 11137 }, { 11138 key: "_pageOpenPending", 11139 get: function get() { 11140 return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set()); 11141 } 11142 }, { 11143 key: "_visitedPages", 11144 get: function get() { 11145 return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map()); 11146 } 11147 }, { 11148 key: "_updateFromSandbox", 11149 value: function () { 11150 var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(detail) { 11151 var isInPresentationMode, id, siblings, command, value, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument; 11152 11153 return _regenerator["default"].wrap(function _callee7$(_context7) { 11154 while (1) { 11155 switch (_context7.prev = _context7.next) { 11156 case 0: 11157 isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode; 11158 id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value; 11159 11160 if (id) { 11161 _context7.next = 25; 11162 break; 11163 } 11164 11165 _context7.t0 = command; 11166 _context7.next = _context7.t0 === "clear" ? 6 : _
11166context7.t0 === "error" ? 8 : _context7.t0 === "layout" ? 10 : _context7.t0 === "page-num" ? 12 : _context7.t0 === "print" ? 14 : _context7.t0 === "println" ? 18 : _context7.t0 === "zoom" ? 20 : 24; 11167 break; 11168 11169 case 6: 11170 console.clear(); 11171 return _context7.abrupt("break", 24); 11172 11173 case 8: 11174 console.error(value); 11175 return _context7.abrupt("break", 24); 11176 11177 case 10: 11178 this._pdfViewer.spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(value); 11179 return _context7.abrupt("break", 24); 11180 11181 case 12: 11182 this._pdfViewer.currentPageNumber = value + 1; 11183 return _context7.abrupt("break", 24); 11184 11185 case 14: 11186 _context7.next = 16; 11187 return this._pdfViewer.pagesPromise; 11188 11189 case 16: 11190 this._eventBus.dispatch("print", { 11191 source: this 11192 }); 11193 11194 return _context7.abrupt("break", 24); 11195 11196 case 18: 11197 console.log(value); 11198 return _context7.abrupt("break", 24); 11199 11200 case 20: 11201 if (!isInPresentationMode) { 11202 _context7.next = 22; 11203 break; 11204 } 11205 11206 return _context7.abrupt("return"); 11207 11208 case 22: 11209 this._pdfViewer.currentScaleValue = value; 11210 return _context7.abrupt("break", 24); 11211 11212 case 24: 11213 return _context7.abrupt("return"); 11214 11215 case 25: 11216 if (!isInPresentationMode) { 11217 _context7.next = 28; 11218 break; 11219 } 11220 11221 if (!detail.focus) { 11222 _context7.next = 28; 11223 break; 11224 } 11225 11226 return _context7.abrupt("return"); 11227 11228 case 28: 11229 delete detail.id; 11230 delete detail.siblings; 11231 ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id]; 11232 _iterator3 = _createForOfIteratorHelper(ids); 11233 11234 try { 11235 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { 11236 elementId = _step3.value; 11237 element = document.getElementById(elementId); 11238 11239 if (element) { 11240 element.dispatchEvent(new CustomEvent("updatefromsandbox", { 11241 detail: detail 11242 })); 11243 } else { 11244 (_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail); 11245 } 11246 } 11247 } catch (err) { 11248 _iterator3.e(err); 11249 } finally { 11250 _iterator3.f(); 11251 } 11252 11253 case 33: 11254 case "end": 11255 return _context7.stop(); 11256 } 11257 } 11258 }, _callee7, this); 11259 })); 11260 11261 function _updateFromSandbox(_x7) { 11262 return _updateFromSandbox2.apply(this, arguments); 11263 } 11264 11265 return _updateFromSandbox; 11266 }() 11267 }, { 11268 key: "_dispatchPageOpen", 11269 value: function () { 11270 var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9(pageNumber) { 11271 var _this2 = this; 11272 11273 var initialize, 11274 pdfDocument, 11275 visitedPages, 11276 pageView, 11277 actionsPromise, 11278 _args9 = arguments; 11279 return _regenerator["default"].wrap(function _callee9$(_context9) { 11280 while (1) { 11281 switch (_context9.prev = _context9.next) { 11282 case 0: 11283 initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false; 11284 pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; 11285 11286 if (initialize) { 11287 this._closeCapability = (0, _pdfjsLib.createPromiseCapability)(); 11288 } 11289 11290 if (this._closeCapability) { 11291 _context9.next = 5; 11292 break; 11293 } 11294 11295 return _context9.abrupt("return"); 11296 11297 case 5: 11298 pageView = this._pdfViewer.getPageView(pageNumber - 1); 11299 11300 if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED)) { 11301 _context9.next = 9; 11302 break; 11303 } 11304 11305 this._pageOpenPending.add(pageNumber); 11306 11307 return _context9.abrupt("return"); 11308 11309 case 9: 11310 this._pageOpenPending["delete"](pageNumber); 11311
11312 actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { 11313 var _pageView$pdfPage, _this2$_scripting; 11314 11315 var actions; 11316 return _regenerator["default"].wrap(function _callee8$(_context8) { 11317 while (1) { 11318 switch (_context8.prev = _context8.next) { 11319 case 0: 11320 _context8.next = 2; 11321 return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null; 11322 11323 case 2: 11324 actions = _context8.sent; 11325 11326 if (!(pdfDocument !== _this2._pdfDocument)) { 11327 _context8.next = 5; 11328 break; 11329 } 11330 11331 return _context8.abrupt("return"); 11332 11333 case 5: 11334 _context8.next = 7; 11335 return (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox({ 11336 id: "page", 11337 name: "PageOpen", 11338 pageNumber: pageNumber, 11339 actions: actions 11340 }); 11341 11342 case 7: 11343 case "end": 11344 return _context8.stop(); 11345 } 11346 } 11347 }, _callee8); 11348 }))(); 11349 visitedPages.set(pageNumber, actionsPromise); 11350 11351 case 12: 11352 case "end": 11353 return _context9.stop(); 11354 } 11355 } 11356 }, _callee9, this); 11357 })); 11358 11359 function _dispatchPageOpen(_x8) { 11360 return _dispatchPageOpen2.apply(this, arguments); 11361 } 11362 11363 return _dispatchPageOpen; 11364 }() 11365 }, { 11366 key: "_dispatchPageClose", 11367 value: function () { 11368 var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(pageNumber) { 11369 var _this$_scripting8; 11370 11371 var pdfDocument, visitedPages, actionsPromise; 11372 return _regenerator["default"].wrap(function _callee10$(_context10) { 11373 while (1) { 11374 switch (_context10.prev = _context10.next) { 11375 case 0: 11376 pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; 11377 11378 if (this._closeCapability) { 11379 _context10.next = 3; 11380 break; 11381 } 11382 11383 return _context10.abrupt("return"); 11384 11385 case 3: 11386 if (!this._pageOpenPending.has(pageNumber)) { 11387 _context10.next = 5; 11388 break; 11389 } 11390 11391 return _context10.abrupt("return"); 11392 11393 case 5: 11394 actionsPromise = visitedPages.get(pageNumber); 11395 11396 if (actionsPromise) { 11397 _context10.next = 8; 11398 break; 11399 } 11400 11401 return _context10.abrupt("return"); 11402 11403 case 8: 11404 visitedPages.set(pageNumber, null); 11405 _context10.next = 11; 11406 return actionsPromise; 11407 11408 case 11: 11409 if (!(pdfDocument !== this._pdfDocument)) { 11410 _context10.next = 13; 11411 break; 11412 } 11413 11414 return _context10.abrupt("return"); 11415 11416 case 13: 11417 _context10.next = 15; 11418 return (_this$_scripting8 = this._scripting) === null || _this$_scripting8 === void 0 ? void 0 : _this$_scripting8.dispatchEventInSandbox({ 11419 id: "page", 11420 name: "PageClose", 11421 pageNumber: pageNumber 11422 }); 11423 11424 case 15: 11425 case "end": 11426 return _context10.stop(); 11427 } 11428 } 11429 }, _callee10, this); 11430 })); 11431 11432 function _dispatchPageClose(_x9) { 11433 return _dispatchPageClose2.apply(this, arguments); 11434 } 11435 11436 return _dispatchPageClose; 11437 }() 11438 }, { 11439 key: "_getDocProperties", 11440 value: function () { 11441 var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() { 11442 return _regenerator["default"].wrap(function _callee11$(_context11) { 11443 while (1) { 11444 switch (_context11.prev = _context11.next) { 11445 case 0: 11446 if (!this._docPropertiesLookup) { 11447 _context11.next = 2; 11448 break; 11449 } 11450 11451 return _context11.abrupt("return", this._docPropertiesLookup(this._pdfDocument)); 11452 11453 case 2: 11454 throw new Error("_getDocProperties: Unable to lookup properties."); 11455 11456 case 3: 11457 case "end": 11458 return _context11.stop(); 11459 } 11460 } 11461 }, _callee11, this); 11462 })); 11463 11464 function _getDocProperties() { 11465 return _getDocProperties2.apply(this, arguments); 11466 } 11467 11468 return _getDocProperties; 11469 }() 11470 }, { 11471 key: "_createScripting", 11472 value: function _createScripting() { 11473 this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)(); 11474 11475 if (this._scripting) { 11476 throw new Error("_createScripting: Scripting already exists."); 11477 } 11478 11479 if (this._scriptingFactory) { 11480 return this._scriptingFactory.createScripting({ 11481 sandboxBundleSrc: this._sandboxBundleSrc 11482 }); 11483 } 11484 11485 throw new Error("_createScripting: Cannot create scripting."); 11486 } 11487 }, { 11488 key: "_destroyScripting", 11489 value: function () { 11490 var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { 11491 var _this$_destroyCapabil3; 11492 11493 var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2; 11494 11495 return _regenerator["default"].wrap(function _callee12$(_context12) { 11496 while (1) { 11497 switch (_context12.prev = _context12.next) { 11498 case 0: 11499 if (this._scripting) { 11500 _context12.next = 4; 11501 break; 11502 } 11503 11504 this._pdfDocument = null; 11505 (_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve(); 11506 return _context12.abrupt("return"); 11507 11508 case 4: 11509 if (!this._closeCapability) { 11510 _context12.next = 8; 11511 break; 11512 } 11513 11514 _context12.next = 7; 11515 return Promise.race([this._closeCapability.promise, new Promise(function (resolve) { 11516 setTimeout(resolve, 1000); 11517 })])["catch"](function (reason) {}); 11518 11519 case 7: 11520 this._closeCapability = null; 11521 11522 case 8: 11523 this._pdfDocument = null; 11524 _context12.prev = 9; 11525 _context12.next = 12; 11526 return this._scripting.destroySandbox(); 11527 11528 case 12: 11529 _context12.next = 16; 11530 break; 11531 11532 case 14: 11533 _context12.prev = 14; 11534 _context12.t0 = _context12["catch"](9); 11535 11536 case 16: 11537 _iterator4 = _createForOfIteratorHelper(this._internalEvents); 11538 11539 try { 11540 for (_iterator4.s();
11540 !(_step4 = _iterator4.n()).done;) { 11541 _step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1]; 11542 11543 this._eventBus._off(name, listener); 11544 } 11545 } catch (err) { 11546 _iterator4.e(err); 11547 } finally { 11548 _iterator4.f(); 11549 } 11550 11551 this._internalEvents.clear(); 11552 11553 _iterator5 = _createForOfIteratorHelper(this._domEvents); 11554 11555 try { 11556 for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { 11557 _step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1]; 11558 window.removeEventListener(_name2, _listener2); 11559 } 11560 } catch (err) { 11561 _iterator5.e(err); 11562 } finally { 11563 _iterator5.f(); 11564 } 11565 11566 this._domEvents.clear(); 11567 11568 this._pageOpenPending.clear(); 11569 11570 this._visitedPages.clear(); 11571 11572 this._scripting = null; 11573 delete this._mouseState.isDown; 11574 this._ready = false; 11575 (_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve(); 11576 11577 case 28: 11578 case "end": 11579 return _context12.stop(); 11580 } 11581 } 11582 }, _callee12, this, [[9, 14]]); 11583 })); 11584 11585 function _destroyScripting() { 11586 return _destroyScripting2.apply(this, arguments); 11587 } 11588 11589 return _destroyScripting; 11590 }() 11591 }]); 11592 11593 return PDFScriptingManager; 11594}(); 11595 11596exports.PDFScriptingManager = PDFScriptingManager; 11597 11598/***/ }), 11599/* 25 */ 11600/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 11601 11602 11603 11604Object.defineProperty(exports, "__esModule", ({ 11605 value: true 11606})); 11607exports.PDFSidebar = void 0; 11608 11609var _ui_utils = __webpack_require__(6); 11610 11611var _pdf_rendering_queue = __webpack_require__(10); 11612 11613function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 11614 11615function _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); } } 11616 11617function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 11618 11619var UI_NOTIFICATION_CLASS = "pdfSidebarNotification"; 11620 11621var PDFSidebar = /*#__PURE__*/function () { 11622 function PDFSidebar(_ref) { 11623 var elements = _ref.elements, 11624 pdfViewer = _ref.pdfViewer, 11625 pdfThumbnailViewer = _ref.pdfThumbnailViewer, 11626 eventBus = _ref.eventBus, 11627 l10n = _ref.l10n; 11628 11629 _classCallCheck(this, PDFSidebar); 11630 11631 this.isOpen = false; 11632 this.active = _ui_utils.SidebarView.THUMBS; 11633 this.isInitialViewSet = false; 11634 this.onToggled = null; 11635 this.pdfViewer = pdfViewer; 11636 this.pdfThumbnailViewer = pdfThumbnailViewer; 11637 this.outerContainer = elements.outerContainer; 11638 this.viewerContainer = elements.viewerContainer; 11639 this.toggleButton = elements.toggleButton; 11640 this.thumbnailButton = elements.thumbnailButton; 11641 this.outlineButton = elements.outlineButton; 11642 this.attachmentsButton = elements.attachmentsButton; 11643 this.layersButton = elements.layersButton; 11644 this.thumbnailView = elements.thumbnailView; 11645 this.outlineView = elements.outlineView; 11646 this.attachmentsView = elements.attachmentsView; 11647 this.layersView = elements.layersView; 11648 this._outlineOptionsContainer = elements.outlineOptionsContainer; 11649 this._currentOutlineItemButton = elements.currentOutlineItemButton; 11650 this.eventBus = eventBus; 11651 this.l10n = l10n; 11652 11653 this._addEventListeners(); 11654 } 11655 11656 _createClass(PDFSidebar, [{ 11657 key: "reset", 11658 value: function reset() { 11659 this.isInitialViewSet = false;
11660 11661 this._hideUINotification(true); 11662 11663 this.switchView(_ui_utils.SidebarView.THUMBS); 11664 this.outlineButton.disabled = false; 11665 this.attachmentsButton.disabled = false; 11666 this.layersButton.disabled = false; 11667 this._currentOutlineItemButton.disabled = true; 11668 } 11669 }, { 11670 key: "visibleView", 11671 get: function get() { 11672 return this.isOpen ? this.active : _ui_utils.SidebarView.NONE; 11673 } 11674 }, { 11675 key: "isThumbnailViewVisible", 11676 get: function get() { 11677 return this.isOpen && this.active === _ui_utils.SidebarView.THUMBS; 11678 } 11679 }, { 11680 key: "isOutlineViewVisible", 11681 get: function get() { 11682 return this.isOpen && this.active === _ui_utils.SidebarView.OUTLINE; 11683 } 11684 }, { 11685 key: "isAttachmentsViewVisible", 11686 get: function get() { 11687 return this.isOpen && this.active === _ui_utils.SidebarView.ATTACHMENTS; 11688 } 11689 }, { 11690 key: "isLayersViewVisible", 11691 get: function get() { 11692 return this.isOpen && this.active === _ui_utils.SidebarView.LAYERS; 11693 } 11694 }, { 11695 key: "setInitialView", 11696 value: function setInitialView() { 11697 var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE; 11698 11699 if (this.isInitialViewSet) { 11700 return; 11701 } 11702 11703 this.isInitialViewSet = true; 11704 11705 if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) { 11706 this._dispatchEvent(); 11707 11708 return; 11709 } 11710 11711 if (!this._switchView(view, true)) { 11712 this._dispatchEvent(); 11713 } 11714 } 11715 }, { 11716 key: "switchView", 11717 value: function switchView(view) { 11718 var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 11719 11720 this._switchView(view, forceOpen); 11721 } 11722 }, { 11723 key: "_switchView", 11724 value: function _switchView(view) { 11725 var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 11726 var isViewChanged = view !== this.active; 11727 var shouldForceRendering = false; 11728 11729 switch (view) { 11730 case _ui_utils.SidebarView.NONE: 11731 if (this.isOpen) { 11732 this.close(); 11733 return true; 11734 } 11735 11736 return false; 11737 11738 case _ui_utils.SidebarView.THUMBS: 11739 if (this.isOpen && isViewChanged) { 11740 shouldForceRendering = true; 11741 } 11742 11743 break; 11744 11745 case _ui_utils.SidebarView.OUTLINE: 11746 if (this.outlineButton.disabled) { 11747 return false; 11748 } 11749 11750 break; 11751 11752 case _ui_utils.SidebarView.ATTACHMENTS: 11753 if (this.attachmentsButton.disabled) { 11754 return false; 11755 } 11756 11757 break; 11758 11759 case _ui_utils.SidebarView.LAYERS: 11760 if (this.layersButton.disabled) { 11761 return false; 11762 } 11763 11764 break; 11765 11766 default: 11767 console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view.")); 11768 return false; 11769 } 11770 11771 this.active = view; 11772 this.thumbnailButton.classList.toggle("toggled", view === _ui_utils.SidebarView.THUMBS); 11773 this.outlineButton.classList.toggle("toggled", view === _ui_utils.SidebarView.OUTLINE); 11774 this.attachmentsButton.classList.toggle("toggled", view === _ui_utils.SidebarView.ATTACHMENTS); 11775 this.layersButton.classList.toggle("toggled", view === _ui_utils.SidebarView.LAYERS); 11776 this.thumbnailView.classList.toggle("hidden", view !== _ui_utils.SidebarView.THUMBS); 11777 this.outlineView.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE); 11778 this.attachmentsView.classList.toggle("hidden", view !== _ui_utils.SidebarView.ATTACHMENTS); 11779 this.layersView.classList.toggle("hidden", view !== _ui_utils.SidebarView.LAYERS); 11780 11781 this._outlineOptionsContainer.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE); 11782 11783 if (forceOpen && !this.isOpen) { 11784 this.open(); 11785 return true; 11786 } 11787 11788 if (shouldForceRendering) { 11789 this._updateThumbnailViewer(); 11790 11791 this._forceRendering(); 11792 } 11793 11794 if (isViewChanged) { 11795 this._dispatchEvent(); 11796 } 11797 11798 return isViewChanged; 11799 } 11800 }, { 11801 key: "open", 11802 value: function open() { 11803 if (this.isOpen) { 11804 return; 11805 } 11806 11807 this.isOpen = true; 11808 this.toggleButton.classList.add("toggled"); 11809 this.toggleButton.setAttribute("aria-expanded", "true"); 11810 this.outerContainer.classList.add("sidebarMoving", "sidebarOpen"); 11811 11812 if (this.active === _ui_utils.SidebarView.THUMBS) { 11813 this._updateThumbnailViewer(); 11814 } 11815 11816 this._forceRendering(); 11817 11818 this._dispatchEvent(); 11819 11820 this._hideUINotification(); 11821 } 11822 }, { 11823 key: "close", 11824 value: function close() { 11825 if (!this.isOpen) { 11826 return; 11827 } 11828 11829 this.isOpen = false;
11830 this.toggleButton.classList.remove("toggled"); 11831 this.toggleButton.setAttribute("aria-expanded", "false"); 11832 this.outerContainer.classList.add("sidebarMoving"); 11833 this.outerContainer.classList.remove("sidebarOpen"); 11834 11835 this._forceRendering(); 11836 11837 this._dispatchEvent(); 11838 } 11839 }, { 11840 key: "toggle", 11841 value: function toggle() { 11842 if (this.isOpen) { 11843 this.close(); 11844 } else { 11845 this.open(); 11846 } 11847 } 11848 }, { 11849 key: "_dispatchEvent", 11850 value: function _dispatchEvent() { 11851 this.eventBus.dispatch("sidebarviewchanged", { 11852 source: this, 11853 view: this.visibleView 11854 }); 11855 } 11856 }, { 11857 key: "_forceRendering", 11858 value: function _forceRendering() { 11859 if (this.onToggled) { 11860 this.onToggled(); 11861 } else { 11862 this.pdfViewer.forceRendering(); 11863 this.pdfThumbnailViewer.forceRendering(); 11864 } 11865 } 11866 }, { 11867 key: "_updateThumbnailViewer", 11868 value: function _updateThumbnailViewer() { 11869 var pdfViewer = this.pdfViewer, 11870 pdfThumbnailViewer = this.pdfThumbnailViewer; 11871 var pagesCount = pdfViewer.pagesCount; 11872 11873 for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) { 11874 var pageView = pdfViewer.getPageView(pageIndex); 11875 11876 if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _pdf_rendering_queue.RenderingStates.FINISHED) { 11877 var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex); 11878 thumbnailView.setImage(pageView); 11879 } 11880 } 11881 11882 pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); 11883 } 11884 }, { 11885 key: "_showUINotification", 11886 value: function _showUINotification() { 11887 var _this = this; 11888 11889 this.l10n.get("toggle_sidebar_notification2.title").then(function (msg) { 11890 _this.toggleButton.title = msg; 11891 }); 11892 11893 if (!this.isOpen) { 11894 this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); 11895 } 11896 } 11897 }, { 11898 key: "_hideUINotification", 11899 value: function _hideUINotification() { 11900 var _this2 = this; 11901 11902 var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 11903 11904 if (this.isOpen || reset) { 11905 this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); 11906 } 11907 11908 if (reset) { 11909 this.l10n.get("toggle_sidebar.title").then(function (msg) { 11910 _this2.toggleButton.title = msg; 11911 }); 11912 } 11913 } 11914 }, { 11915 key: "_addEventListeners", 11916 value: function _addEventListeners() { 11917 var _this3 = this; 11918 11919 this.viewerContainer.addEventListener("transitionend", function (evt) { 11920 if (evt.target === _this3.viewerContainer) { 11921 _this3.outerContainer.classList.remove("sidebarMoving"); 11922 } 11923 }); 11924 this.toggleButton.addEventListener("click", function () {
11925 _this3.toggle(); 11926 }); 11927 this.thumbnailButton.addEventListener("click", function () { 11928 _this3.switchView(_ui_utils.SidebarView.THUMBS); 11929 }); 11930 this.outlineButton.addEventListener("click", function () { 11931 _this3.switchView(_ui_utils.SidebarView.OUTLINE); 11932 }); 11933 this.outlineButton.addEventListener("dblclick", function () { 11934 _this3.eventBus.dispatch("toggleoutlinetree", { 11935 source: _this3 11936 }); 11937 }); 11938 this.attachmentsButton.addEventListener("click", function () { 11939 _this3.switchView(_ui_utils.SidebarView.ATTACHMENTS); 11940 }); 11941 this.layersButton.addEventListener("click", function () { 11942 _this3.switchView(_ui_utils.SidebarView.LAYERS); 11943 }); 11944 this.layersButton.addEventListener("dblclick", function () { 11945 _this3.eventBus.dispatch("resetlayers", { 11946 source: _this3 11947 }); 11948 }); 11949 11950 this._currentOutlineItemButton.addEventListener("click", function () { 11951 _this3.eventBus.dispatch("currentoutlineitem", { 11952 source: _this3 11953 }); 11954 }); 11955 11956 var onTreeLoaded = function onTreeLoaded(count, button, view) { 11957 button.disabled = !count; 11958 11959 if (count) { 11960 _this3._showUINotification(); 11961 } else if (_this3.active === view) { 11962 _this3.switchView(_ui_utils.SidebarView.THUMBS); 11963 } 11964 }; 11965 11966 this.eventBus._on("outlineloaded", function (evt) { 11967 onTreeLoaded(evt.outlineCount, _this3.outlineButton, _ui_utils.SidebarView.OUTLINE); 11968 evt.currentOutlineItemPromise.then(function (enabled) { 11969 if (!_this3.isInitialViewSet) { 11970 return; 11971 } 11972 11973 _this3._currentOutlineItemButton.disabled = !enabled; 11974 }); 11975 }); 11976 11977 this.eventBus._on("attachmentsloaded", function (evt) { 11978 onTreeLoaded(evt.attachmentsCount, _this3.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS); 11979 }); 11980 11981 this.eventBus._on("layersloaded", function (evt) { 11982 onTreeLoaded(evt.layersCount, _this3.layersButton, _ui_utils.SidebarView.LAYERS); 11983 }); 11984 11985 this.eventBus._on("presentationmodechanged", function (evt) { 11986 if (evt.state === _ui_utils.PresentationModeState.NORMAL && _this3.isThumbnailViewVisible) { 11987 _this3._updateThumbnailViewer(); 11988 } 11989 }); 11990 } 11991 }]); 11992 11993 return PDFSidebar; 11994}(); 11995 11996exports.PDFSidebar = PDFSidebar; 11997 11998/***/ }), 11999/* 26 */ 12000/***/ ((__unused_webpack_module, exports) => { 12001 12002 12003 12004Object.defineProperty(exports, "__esModule", ({ 12005 value: true 12006})); 12007exports.PDFSidebarResizer = void 0; 12008 12009function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 12010 12011function _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); } } 12012 12013function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 12014 12015var SIDEBAR_WIDTH_VAR = "--sidebar-width"; 12016var SIDEBAR_MIN_WIDTH = 200; 12017var SIDEBAR_RESIZING_CLASS = "sidebarResizing"; 12018 12019var PDFSidebarResizer = /*#__PURE__*/function () { 12020 function PDFSidebarResizer(options, eventBus, l10n) { 12021 var _this = this; 12022 12023 _classCallCheck(this, PDFSidebarResizer); 12024 12025 this.isRTL = false; 12026 this.sidebarOpen = false; 12027 this.doc = document.documentElement; 12028 this._width = null; 12029 this._outerContainerWidth = null; 12030 this._boundEvents = Object.create(null); 12031 this.outerContainer = options.outerContainer; 12032 this.resizer = options.resizer; 12033 this.eventBus = eventBus; 12034 l10n.getDirection().then(function (dir) { 12035 _this.isRTL = dir === "rtl"; 12036 }); 12037 12038 this._addEventListeners(); 12039 } 12040 12041 _createClass(PDFSidebarResizer, [{ 12042 key: "outerContainerWidth", 12043 get: function get() { 12044 return this._outerContainerWidth || (this._outerContainerWidth = this.outerContainer.clientWidth); 12045 } 12046 }, { 12047 key: "_updateWidth", 12048 value: function _updateWidth() { 12049 var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 12050 var maxWidth = Math.floor(this.outerContainerWidth / 2); 12051 12052 if (width > maxWidth) { 12053 width = maxWidth; 12054 } 12055 12056 if (width < SIDEBAR_MIN_WIDTH) { 12057 width = SIDEBAR_MIN_WIDTH; 12058 } 12059 12060 if (width === this._width) { 12061 return false;
12062 } 12063 12064 this._width = width; 12065 this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px")); 12066 return true; 12067 } 12068 }, { 12069 key: "_mouseMove", 12070 value: function _mouseMove(evt) { 12071 var width = evt.clientX; 12072 12073 if (this.isRTL) { 12074 width = this.outerContainerWidth - width; 12075 } 12076 12077 this._updateWidth(width); 12078 } 12079 }, { 12080 key: "_mouseUp", 12081 value: function _mouseUp(evt) { 12082 this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); 12083 this.eventBus.dispatch("resize", { 12084 source: this 12085 }); 12086 var _boundEvents = this._boundEvents; 12087 window.removeEventListener("mousemove", _boundEvents.mouseMove); 12088 window.removeEventListener("mouseup", _boundEvents.mouseUp); 12089 } 12090 }, { 12091 key: "_addEventListeners", 12092 value: function _addEventListeners() { 12093 var _this2 = this; 12094 12095 var _boundEvents = this._boundEvents; 12096 _boundEvents.mouseMove = this._mouseMove.bind(this); 12097 _boundEvents.mouseUp = this._mouseUp.bind(this); 12098 this.resizer.addEventListener("mousedown", function (evt) { 12099 if (evt.button !== 0) { 12100 return; 12101 } 12102 12103 _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); 12104 12105 window.addEventListener("mousemove", _boundEvents.mouseMove); 12106 window.addEventListener("mouseup", _boundEvents.mouseUp); 12107 }); 12108 12109 this.eventBus._on("sidebarviewchanged", function (evt) { 12110 _this2.sidebarOpen = !!(evt !== null && evt !== void 0 && evt.view); 12111 }); 12112 12113 this.eventBus._on("resize", function (evt) { 12114 if ((evt === null || evt === void 0 ? void 0 : evt.source) !== window) { 12115 return; 12116 } 12117 12118 _this2._outerContainerWidth = null; 12119 12120 if (!_this2._width) { 12121 return; 12122 } 12123 12124 if (!_this2.sidebarOpen) { 12125 _this2._updateWidth(_this2._width); 12126 12127 return; 12128 } 12129 12130 _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); 12131 12132 var updated = _this2._updateWidth(_this2._width); 12133 12134 Promise.resolve().then(function () { 12135 _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); 12136 12137 if (updated) { 12138 _this2.eventBus.dispatch("resize", { 12139 source: _this2 12140 }); 12141 } 12142 }); 12143 }); 12144 } 12145 }]); 12146 12147 return PDFSidebarResizer; 12148}(); 12149 12150exports.PDFSidebarResizer = PDFSidebarResizer; 12151 12152/***/ }), 12153/* 27 */ 12154/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 12155 12156 12157 12158Object.defineProperty(exports, "__esModule", ({ 12159 value: true 12160})); 12161exports.PDFThumbnailViewer = void 0; 12162 12163var _ui_utils = __webpack_require__(6); 12164 12165var _pdf_thumbnail_view = __webpack_require__(28); 12166 12167var _pdf_rendering_queue = __webpack_require__(10); 12168 12169function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 12170 12171function _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); } } 12172 12173function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 12174 12175var THUMBNAIL_SCROLL_MARGIN = -19; 12176var THUMBNAIL_SELECTED_CLASS = "selected"; 12177 12178var PDFThumbnailViewer = /*#__PURE__*/function () { 12179 function PDFThumbnailViewer(_ref) { 12180 var _this = this; 12181 12182 var container = _ref.container, 12183 eventBus = _ref.eventBus, 12184 linkService = _ref.linkService, 12185 renderingQueue = _ref.renderingQueue, 12186 l10n = _ref.l10n; 12187 12188 _classCallCheck(this, PDFThumbnailViewer); 12189 12190 this.container = container; 12191 this.linkService = linkService; 12192 this.renderingQueue = renderingQueue; 12193 this.l10n = l10n; 12194 this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this)); 12195 12196 this._resetView(); 12197 12198 eventBus._on("optionalcontentconfigchanged", function () { 12199 _this._setImageDisabled = true; 12200 }); 12201 } 12202 12203 _createClass(PDFThumbnailViewer, [{ 12204 key: "_scrollUpdated", 12205 value: function _scrollUpdated() { 12206 this.renderingQueue.renderHighestPriority(); 12207 } 12208 }, { 12209 key: "getThumbnail", 12210 value: function getThumbnail(index) { 12211 return this._thumbnails[index]; 12212 } 12213 }, { 12214 key: "_getVisibleThumbs", 12215 value: function _getVisibleThumbs() { 12216 return (0, _ui_utils.getVisibleElements)({ 12217 scrollEl: this.container, 12218 views: this._thumbnails 12219 }); 12220 } 12221 }, {
12222 key: "scrollThumbnailIntoView", 12223 value: function scrollThumbnailIntoView(pageNumber) { 12224 if (!this.pdfDocument) { 12225 return; 12226 } 12227 12228 var thumbnailView = this._thumbnails[pageNumber - 1]; 12229 12230 if (!thumbnailView) { 12231 console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.'); 12232 return; 12233 } 12234 12235 if (pageNumber !== this._currentPageNumber) { 12236 var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1]; 12237 prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS); 12238 thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); 12239 } 12240 12241 var visibleThumbs = this._getVisibleThumbs(); 12242 12243 var numVisibleThumbs = visibleThumbs.views.length; 12244 12245 if (numVisibleThumbs > 0) { 12246 var first = visibleThumbs.first.id; 12247 var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first; 12248 var shouldScroll = false; 12249 12250 if (pageNumber <= first || pageNumber >= last) { 12251 shouldScroll = true; 12252 } else { 12253 visibleThumbs.views.some(function (view) { 12254 if (view.id !== pageNumber) { 12255 return false; 12256 } 12257 12258 shouldScroll = view.percent < 100; 12259 return true; 12260 }); 12261 } 12262 12263 if (shouldScroll) { 12264 (0, _ui_utils.scrollIntoView)(thumbnailView.div, { 12265 top: THUMBNAIL_SCROLL_MARGIN 12266 }); 12267 } 12268 } 12269 12270 this._currentPageNumber = pageNumber; 12271 } 12272 }, { 12273 key: "pagesRotation", 12274 get: function get() { 12275 return this._pagesRotation; 12276 }, 12277 set: function set(rotation) { 12278 if (!(0, _ui_utils.isValidRotation)(rotation)) { 12279 throw new Error("Invalid thumbnails rotation angle."); 12280 } 12281 12282 if (!this.pdfDocument) { 12283 return; 12284 } 12285 12286 if (this._pagesRotation === rotation) { 12287 return; 12288 } 12289 12290 this._pagesRotation = rotation; 12291 12292 for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { 12293 this._thumbnails[i].update(rotation); 12294 } 12295 } 12296 }, { 12297 key: "cleanup", 12298 value: function cleanup() { 12299 for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { 12300 if (this._thumbnails[i] && this._thumbnails[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { 12301 this._thumbnails[i].reset(); 12302 } 12303 } 12304 12305 _pdf_thumbnail_view.TempImageFactory.destroyCanvas(); 12306 } 12307 }, { 12308 key: "_resetView", 12309 value: function _resetView() { 12310 this._thumbnails = []; 12311 this._currentPageNumber = 1; 12312 this._pageLabels = null; 12313 this._pagesRotation = 0; 12314 this._optionalContentConfigPromise = null; 12315 this._pagesRequests = new WeakMap(); 12316 this._setImageDisabled = false; 12317 this.container.textContent = ""; 12318 } 12319 }, { 12320 key: "setDocument", 12321 value: function setDocument(pdfDocument) { 12322 var _this2 = this; 12323 12324 if (this.pdfDocument) { 12325 this._cancelRendering(); 12326 12327 this._resetView(); 12328 } 12329 12330 this.pdfDocument = pdfDocument; 12331 12332 if (!pdfDocument) { 12333 return; 12334 } 12335 12336 var firstPagePromise = pdfDocument.getPage(1); 12337 var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); 12338 firstPagePromise.then(function (firstPdfPage) { 12339 _this2._optionalContentConfigPromise = optionalContentConfigPromise; 12340 var pagesCount = pdfDocument.numPages; 12341 var viewport = firstPdfPage.getViewport({ 12342 scale: 1 12343 }); 12344 12345 var checkSetImageDisabled = function checkSetImageDisabled() { 12346 return _this2._setImageDisabled; 12347 }; 12348 12349 for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { 12350 var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({ 12351 container: _this2.container, 12352 id: pageNum, 12353 defaultViewport: viewport.clone(), 12354 optionalContentConfigPromise: optionalContentConfigPromise, 12355 linkService: _this2.linkService, 12356 renderingQueue: _this2.renderingQueue, 12357 checkSetImageDisabled: checkSetImageDisabled, 12358 l10n: _this2.l10n 12359 }); 12360 12361 _this2._thumbnails.push(thumbnail); 12362 } 12363
12364 var firstThumbnailView = _this2._thumbnails[0]; 12365 12366 if (firstThumbnailView) { 12367 firstThumbnailView.setPdfPage(firstPdfPage); 12368 } 12369 12370 var thumbnailView = _this2._thumbnails[_this2._currentPageNumber - 1]; 12371 thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); 12372 })["catch"](function (reason) { 12373 console.error("Unable to initialize thumbnail viewer", reason); 12374 }); 12375 } 12376 }, { 12377 key: "_cancelRendering", 12378 value: function _cancelRendering() { 12379 for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { 12380 if (this._thumbnails[i]) { 12381 this._thumbnails[i].cancelRendering(); 12382 } 12383 } 12384 } 12385 }, { 12386 key: "setPageLabels", 12387 value: function setPageLabels(labels) { 12388 if (!this.pdfDocument) { 12389 return; 12390 } 12391 12392 if (!labels) { 12393 this._pageLabels = null; 12394 } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { 12395 this._pageLabels = null; 12396 console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels."); 12397 } else { 12398 this._pageLabels = labels; 12399 } 12400 12401 for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { 12402 var _this$_pageLabels$i, _this$_pageLabels; 12403 12404 this._thumbnails[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels = this._pageLabels) === null || _this$_pageLabels === void 0 ? void 0 : _this$_pageLabels[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); 12405 } 12406 } 12407 }, { 12408 key: "_ensurePdfPageLoaded", 12409 value: function _ensurePdfPageLoaded(thumbView) { 12410 var _this3 = this; 12411 12412 if (thumbView.pdfPage) { 12413 return Promise.resolve(thumbView.pdfPage); 12414 } 12415 12416 if (this._pagesRequests.has(thumbView)) { 12417 return this._pagesRequests.get(thumbView); 12418 } 12419 12420 var promise = this.pdfDocument.getPage(thumbView.id).then(function (pdfPage) { 12421 if (!thumbView.pdfPage) { 12422 thumbView.setPdfPage(pdfPage); 12423 } 12424 12425 _this3._pagesRequests["delete"](thumbView); 12426 12427 return pdfPage; 12428 })["catch"](function (reason) { 12429 console.error("Unable to get page for thumb view", reason); 12430 12431 _this3._pagesRequests["delete"](thumbView); 12432 }); 12433 12434 this._pagesRequests.set(thumbView, promise); 12435 12436 return promise; 12437 } 12438 }, { 12439 key: "forceRendering", 12440 value: function forceRendering() { 12441 var _this4 = this; 12442 12443 var visibleThumbs = this._getVisibleThumbs(); 12444 12445 var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down); 12446 12447 if (thumbView) { 12448 this._ensurePdfPageLoaded(thumbView).then(function () { 12449 _this4.renderingQueue.renderView(thumbView); 12450 }); 12451 12452 return true; 12453 } 12454 12455 return false; 12456 } 12457 }]); 12458 12459 return PDFThumbnailViewer; 12460}(); 12461 12462exports.PDFThumbnailViewer = PDFThumbnailViewer; 12463 12464/***/ }), 12465/* 28 */ 12466/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 12467 12468 12469 12470Object.defineProperty(exports, "__esModule", ({ 12471 value: true 12472})); 12473exports.TempImageFactory = exports.PDFThumbnailView = void 0; 12474 12475var _regenerator = _interopRequireDefault(__webpack_require__(4)); 12476 12477var _ui_utils = __webpack_require__(6); 12478 12479var _pdfjsLib = __webpack_require__(7); 12480 12481var _pdf_rendering_queue = __webpack_require__(10); 12482 12483function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 12484 12485function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 12486 12487function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 12488 12489function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 12490 12491function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 12492 12493function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 12494 12495function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 12496 12497function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
12497y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 12498 12499function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 12500 12501function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 12502 12503function _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); } } 12504 12505function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 12506 12507var DRAW_UPSCALE_FACTOR = 2; 12508var MAX_NUM_SCALING_STEPS = 3; 12509var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; 12510var THUMBNAIL_WIDTH = 98; 12511 12512var TempImageFactory = function TempImageFactoryClosure() { 12513 var tempCanvasCache = null; 12514 return { 12515 getCanvas: function getCanvas(width, height) { 12516 var tempCanvas = tempCanvasCache; 12517 12518 if (!tempCanvas) { 12519 tempCanvas = document.createElement("canvas"); 12520 tempCanvasCache = tempCanvas; 12521 } 12522 12523 tempCanvas.width = width; 12524 tempCanvas.height = height; 12525 tempCanvas.mozOpaque = true; 12526 var ctx = tempCanvas.getContext("2d", { 12527 alpha: false 12528 }); 12529 ctx.save(); 12530 ctx.fillStyle = "rgb(255, 255, 255)"; 12531 ctx.fillRect(0, 0, width, height); 12532 ctx.restore(); 12533 return [tempCanvas, tempCanvas.getContext("2d")]; 12534 }, 12535 destroyCanvas: function destroyCanvas() { 12536 var tempCanvas = tempCanvasCache; 12537 12538 if (tempCanvas) { 12539 tempCanvas.width = 0; 12540 tempCanvas.height = 0; 12541 } 12542 12543 tempCanvasCache = null; 12544 } 12545 }; 12546}(); 12547 12548exports.TempImageFactory = TempImageFactory; 12549 12550var PDFThumbnailView = /*#__PURE__*/function () { 12551 function PDFThumbnailView(_ref) { 12552 var container = _ref.container, 12553 id = _ref.id, 12554 defaultViewport = _ref.defaultViewport, 12555 optionalContentConfigPromise = _ref.optionalContentConfigPromise, 12556 linkService = _ref.linkService, 12557 renderingQueue = _ref.renderingQueue, 12558 checkSetImageDisabled = _ref.checkSetImageDisabled, 12559 l10n = _ref.l10n; 12560 12561 _classCallCheck(this, PDFThumbnailView); 12562 12563 this.id = id; 12564 this.renderingId = "thumbnail" + id; 12565 this.pageLabel = null; 12566 this.pdfPage = null; 12567 this.rotation = 0; 12568 this.viewport = defaultViewport; 12569 this.pdfPageRotate = defaultViewport.rotation; 12570 this._optionalContentConfigPromise = optionalContentConfigPromise || null; 12571 this.linkService = linkService; 12572 this.renderingQueue = renderingQueue; 12573 this.renderTask = null; 12574 this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; 12575 this.resume = null; 12576 12577 this._checkSetImageDisabled = checkSetImageDisabled || function () { 12578 return false; 12579 }; 12580 12581 var pageWidth = this.viewport.width, 12582 pageHeight = this.viewport.height, 12583 pageRatio = pageWidth / pageHeight; 12584 this.canvasWidth = THUMBNAIL_WIDTH; 12585 this.canvasHeight = this.canvasWidth / pageRatio | 0; 12586 this.scale = this.canvasWidth / pageWidth; 12587 this.l10n = l10n; 12588 var anchor = document.createElement("a"); 12589 anchor.href = linkService.getAnchorUrl("#page=" + id); 12590 12591 this._thumbPageTitle.then(function (msg) { 12592 anchor.title = msg; 12593 }); 12594 12595 anchor.onclick = function () { 12596 linkService.goToPage(id); 12597 return false; 12598 }; 12599 12600 this.anchor = anchor; 12601 var div = document.createElement("div"); 12602 div.className = "thumbnail"; 12603 div.setAttribute("data-page-number", this.id); 12604 this.div = div; 12605 var ring = document.createElement("div"); 12606 ring.className = "thumbnailSelectionRing"; 12607 var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; 12608 ring.style.width = this.canvasWidth + borderAdjustment + "px"; 12609 ring.style.height = this.canvasHeight + borderAdjustment + "px"; 12610 this.ring = ring; 12611 div.appendChild(ring); 12612 anchor.appendChild(div); 12613 container.appendChild(anchor); 12614 } 12615 12616 _createClass(PDFThumbnailView, [{ 12617 key: "setPdfPage", 12618 value: function setPdfPage(pdfPage) { 12619 this.pdfPage = pdfPage; 12620 this.pdfPageRotate = pdfPage.rotate; 12621 var totalRotation = (this.rotation + this.pdfPageRotate) % 360; 12622 this.viewport = pdfPage.getViewport({ 12623 scale: 1, 12624 rotation: totalRotation 12625 }); 12626 this.reset(); 12627 } 12628 }, { 12629 key: "reset", 12630 value: function reset() { 12631 this.cancelRendering(); 12632 this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; 12633 var pageWidth = this.viewport.width, 12634 pageHeight = this.viewport.height, 12635 pageRatio = pageWidth / pageHeight; 12636 this.canvasHeight = this.canvasWidth / pageRatio | 0; 12637 this.scale = this.canvasWidth / pageWidth; 12638 this.div.removeAttribute("data-loaded"); 12639 var ring = this.ring; 12640 ring.textContent = ""; 12641 var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; 12642 ring.style.width = this.canvasWidth + borderAdjustment + "px"; 12643 ring.style.height = this.canvasHeight + borderAdjustment + "px"; 12644 12645 if (this.canvas) { 12646 this.canvas.width = 0; 12647 this.canvas.height = 0; 12648 delete this.canvas; 12649 } 12650 12651 if (this.image) { 12652 this.image.removeAttribute("src"); 12653 delete this.image; 12654 } 12655 } 12656 }, { 12657 key: "update", 12658 value: function update(rotation) { 12659 if (typeof rotation !== "undefined") { 12660 this.rotation = rotation; 12661 } 12662 12663 var totalRotation = (this.rotation + this.pdfPageRotate) % 360; 12664 this.viewport = this.viewport.clone({ 12665 scale: 1, 12666 rotation: totalRotation 12667 }); 12668 this.reset(); 12669 } 12670 }, { 12671 key: "cancelRendering", 12672 value: function cancelRendering() { 12673 if (this.renderTask) { 12674 this.renderTask.cancel(); 12675 this.renderTask = null; 12676 } 12677 12678 this.resume = null; 12679 } 12680 }, { 12681 key: "_getPageDrawContext", 12682 value: function _getPageDrawContext() { 12683 var upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; 12684 var canvas = document.createElement("canvas"); 12685 canvas.mozOpaque = true; 12686 var ctx = canvas.getContext("2d", { 12687 alpha: false 12688 }); 12689 var outputScale = (0, _ui_utils.getOutputScale)(ctx); 12690 canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0; 12691 canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0; 12692 var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; 12693 return { 12694 ctx: ctx, 12695 canvas: canvas, 12696 transform: transform 12697 }; 12698 } 12699 }, { 12700 key: "_convertCanvasToImage", 12701 value: function _convertCanvasToImage(canvas) { 12702 if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
12703 throw new Error("_convertCanvasToImage: Rendering has not finished."); 12704 } 12705 12706 var reducedCanvas = this._reduceImage(canvas); 12707 12708 var image = document.createElement("img"); 12709 image.className = "thumbnailImage"; 12710 12711 this._thumbPageCanvas.then(function (msg) { 12712 image.setAttribute("aria-label", msg); 12713 }); 12714 12715 image.style.width = this.canvasWidth + "px"; 12716 image.style.height = this.canvasHeight + "px"; 12717 image.src = reducedCanvas.toDataURL(); 12718 this.image = image; 12719 this.div.setAttribute("data-loaded", true); 12720 this.ring.appendChild(image); 12721 reducedCanvas.width = 0; 12722 reducedCanvas.height = 0; 12723 } 12724 }, { 12725 key: "draw", 12726 value: function draw() { 12727 var _this = this; 12728 12729 if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { 12730 console.error("Must be in new state before drawing"); 12731 return Promise.resolve(undefined); 12732 } 12733 12734 var pdfPage = this.pdfPage; 12735 12736 if (!pdfPage) { 12737 this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 12738 return Promise.reject(new Error("pdfPage is not loaded")); 12739 } 12740 12741 this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; 12742 12743 var finishRenderTask = /*#__PURE__*/function () { 12744 var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 12745 var error, 12746 _args = arguments; 12747 return _regenerator["default"].wrap(function _callee$(_context) { 12748 while (1) { 12749 switch (_context.prev = _context.next) { 12750 case 0: 12751 error = _args.length > 0 && _args[0] !== undefined ? _args[0] : null; 12752 12753 if (renderTask === _this.renderTask) { 12754 _this.renderTask = null; 12755 } 12756 12757 if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { 12758 _context.next = 4; 12759 break; 12760 } 12761 12762 return _context.abrupt("return"); 12763 12764 case 4: 12765 _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 12766 12767 _this._convertCanvasToImage(canvas); 12768 12769 if (!error) { 12770 _context.next = 8; 12771 break; 12772 } 12773 12774 throw error; 12775 12776 case 8: 12777 case "end": 12778 return _context.stop(); 12779 } 12780 } 12781 }, _callee); 12782 })); 12783 12784 return function finishRenderTask() { 12785 return _ref2.apply(this, arguments); 12786 }; 12787 }(); 12788 12789 var _this$_getPageDrawCon = this._getPageDrawContext(DRAW_UPSCALE_FACTOR), 12790 ctx = _this$_getPageDrawCon.ctx, 12791 canvas = _this$_getPageDrawCon.canvas, 12792 transform = _this$_getPageDrawCon.transform; 12793 12794 var drawViewport = this.viewport.clone({ 12795 scale: DRAW_UPSCALE_FACTOR * this.scale 12796 }); 12797 12798 var renderContinueCallback = function renderContinueCallback(cont) { 12799 if (!_this.renderingQueue.isHighestPriority(_this)) { 12800 _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; 12801 12802 _this.resume = function () { 12803 _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; 12804 cont(); 12805 }; 12806 12807 return; 12808 } 12809 12810 cont(); 12811 }; 12812 12813 var renderContext = { 12814 canvasContext: ctx, 12815 transform: transform, 12816 viewport: drawViewport, 12817 optionalContentConfigPromise: this._optionalContentConfigPromise 12818 }; 12819 var renderTask = this.renderTask = pdfPage.render(renderContext); 12820 renderTask.onContinue = renderContinueCallback; 12821 var resultPromise = renderTask.promise.then(function () { 12822 return finishRenderTask(null); 12823 }, function (error) { 12824 return finishRenderTask(error); 12825 }); 12826 resultPromise["finally"](function () { 12827 canvas.width = 0; 12828 canvas.height = 0; 12829 12830 var pageCached = _this.linkService.isPageCached(_this.id); 12831 12832 if (!pageCached) { 12833 var _this$pdfPage; 12834 12835 (_this$pdfPage = _this.pdfPage) === null || _this$pdfPage === void 0 ? void 0 : _this$pdfPage.cleanup(); 12836 } 12837 }); 12838 return resultPromise; 12839 } 12840 }, { 12841 key: "setImage", 12842 value: function setImage(pageView) { 12843 if (this._checkSetImageDisabled()) { 12844 return; 12845 } 12846 12847 if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { 12848 return; 12849 } 12850 12851 var canvas = pageView.canvas, 12852 pdfPage = pageView.pdfPage; 12853 12854 if (!canvas) { 12855 return; 12856 } 12857 12858 if (!this.pdfPage) { 12859 this.setPdfPage(pdfPage); 12860 } 12861 12862 this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 12863 12864 this._convertCanvasToImage(canvas); 12865 } 12866 }, { 12867 key: "_reduceImage", 12868 value: function _reduceImage(img) { 12869 var _this$_getPageDrawCon2 = this._getPageDrawContext(), 12870 ctx = _this$_getPageDrawCon2.ctx, 12871 canvas = _this$_getPageDrawCon2.canvas; 12872 12873 if (img.width <= 2 * canvas.width) { 12874 ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height); 12875 return canvas; 12876 } 12877 12878 var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; 12879 var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; 12880 12881 var _TempImageFactory$get = TempImageFactory.getCanvas(reducedWidth, reducedHeight),
12882 _TempImageFactory$get2 = _slicedToArray(_TempImageFactory$get, 2), 12883 reducedImage = _TempImageFactory$get2[0], 12884 reducedImageCtx = _TempImageFactory$get2[1]; 12885 12886 while (reducedWidth > img.width || reducedHeight > img.height) { 12887 reducedWidth >>= 1; 12888 reducedHeight >>= 1; 12889 } 12890 12891 reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight); 12892 12893 while (reducedWidth > 2 * canvas.width) { 12894 reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1); 12895 reducedWidth >>= 1; 12896 reducedHeight >>= 1; 12897 } 12898 12899 ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height); 12900 return canvas; 12901 } 12902 }, { 12903 key: "_thumbPageTitle", 12904 get: function get() { 12905 var _this$pageLabel; 12906 12907 return this.l10n.get("thumb_page_title", { 12908 page: (_this$pageLabel = this.pageLabel) !== null && _this$pageLabel !== void 0 ? _this$pageLabel : this.id 12909 }); 12910 } 12911 }, { 12912 key: "_thumbPageCanvas", 12913 get: function get() { 12914 var _this$pageLabel2; 12915 12916 return this.l10n.get("thumb_page_canvas", { 12917 page: (_this$pageLabel2 = this.pageLabel) !== null && _this$pageLabel2 !== void 0 ? _this$pageLabel2 : this.id 12918 }); 12919 } 12920 }, { 12921 key: "setPageLabel", 12922 value: function setPageLabel(label) { 12923 var _this2 = this; 12924 12925 this.pageLabel = typeof label === "string" ? label : null; 12926 12927 this._thumbPageTitle.then(function (msg) { 12928 _this2.anchor.title = msg; 12929 }); 12930 12931 if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { 12932 return; 12933 } 12934 12935 this._thumbPageCanvas.then(function (msg) { 12936 var _this2$image; 12937 12938 (_this2$image = _this2.image) === null || _this2$image === void 0 ? void 0 : _this2$image.setAttribute("aria-label", msg); 12939 }); 12940 } 12941 }]); 12942 12943 return PDFThumbnailView; 12944}(); 12945 12946exports.PDFThumbnailView = PDFThumbnailView; 12947 12948/***/ }), 12949/* 29 */ 12950/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 12951 12952 12953 12954function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 12955 12956Object.defineProperty(exports, "__esModule", ({ 12957 value: true 12958})); 12959exports.PDFViewer = void 0; 12960 12961var _ui_utils = __webpack_require__(6); 12962 12963var _base_viewer = __webpack_require__(30); 12964 12965var _pdfjsLib = __webpack_require__(7); 12966 12967function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 12968 12969function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 12970 12971function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 12972 12973function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 12974 12975function _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); } } 12976 12977function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 12978 12979function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } 12980 12981function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } 12982 12983function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
12983onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 12984 12985function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 12986 12987function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 12988 12989function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 12990 12991function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 12992 12993function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 12994 12995function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 12996 12997var PDFViewer = /*#__PURE__*/function (_BaseViewer) { 12998 _inherits(PDFViewer, _BaseViewer); 12999 13000 var _super = _createSuper(PDFViewer); 13001 13002 function PDFViewer() { 13003 _classCallCheck(this, PDFViewer); 13004 13005 return _super.apply(this, arguments); 13006 } 13007 13008 _createClass(PDFViewer, [{ 13009 key: "_viewerElement", 13010 get: function get() { 13011 return (0, _pdfjsLib.shadow)(this, "_viewerElement", this.viewer); 13012 } 13013 }, { 13014 key: "_scrollIntoView", 13015 value: function _scrollIntoView(_ref) { 13016 var pageDiv = _ref.pageDiv, 13017 _ref$pageSpot = _ref.pageSpot, 13018 pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, 13019 _ref$pageNumber = _ref.pageNumber, 13020 pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; 13021 13022 if (!pageSpot && !this.isInPresentationMode) { 13023 var left = pageDiv.offsetLeft + pageDiv.clientLeft; 13024 var right = left + pageDiv.clientWidth; 13025 var _this$container = this.container, 13026 scrollLeft = _this$container.scrollLeft, 13027 clientWidth = _this$container.clientWidth; 13028 13029 if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) { 13030 pageSpot = { 13031 left: 0, 13032 top: 0 13033 }; 13034 } 13035 } 13036 13037 _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, { 13038 pageDiv: pageDiv, 13039 pageSpot: pageSpot, 13040 pageNumber: pageNumber 13041 }); 13042 } 13043 }, { 13044 key: "_getVisiblePages", 13045 value: function _getVisiblePages() { 13046 if (this.isInPresentationMode) { 13047 return this._getCurrentVisiblePage(); 13048 } 13049 13050 return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this); 13051 } 13052 }, { 13053 key: "_updateHelper", 13054 value: function _updateHelper(visiblePages) { 13055 if (this.isInPresentationMode) { 13056 return; 13057 } 13058 13059 var currentId = this._currentPageNumber; 13060 var stillFullyVisible = false; 13061 13062 var _iterator = _createForOfIteratorHelper(visiblePages), 13063 _step; 13064 13065 try { 13066 for (_iterator.s(); !(_step = _iterator.n()).done;) { 13067 var page = _step.value; 13068 13069 if (page.percent < 100) { 13070 break; 13071 } 13072 13073 if (page.id === currentId && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) { 13074 stillFullyVisible = true; 13075 break; 13076 } 13077 } 13078 } catch (err) { 13079 _iterator.e(err); 13080 } finally { 13081 _iterator.f(); 13082 } 13083 13084 if (!stillFullyVisible) { 13085 currentId = visiblePages[0].id; 13086 } 13087 13088 this._setCurrentPageNumber(currentId); 13089 } 13090 }]); 13091 13092 return PDFViewer; 13093}(_base_viewer.BaseViewer); 13094 13095exports.PDFViewer = PDFViewer; 13096 13097/***/ }), 13098/* 30 */ 13099/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 13100 13101 13102 13103Object.defineProperty(exports, "__esModule", ({ 13104 value: true 13105})); 13106exports.BaseViewer = void 0; 13107 13108var _pdfjsLib = __webpack_require__(7); 13109 13110var _ui_utils = __webpack_require__(6); 13111 13112var _pdf_rendering_queue = __webpack_require__(10); 13113 13114var _annotation_layer_builder = __webpack_require__(31); 13115 13116var _l10n_utils = __webpack_require__(32); 13117 13118var _pdf_page_view = __webpack_require__(33); 13119 13120var _pdf_link_service = __webpack_require__(21); 13121 13122var _struct_tree_layer_builder = __webpack_require__(34); 13123 13124var _text_layer_builder = __webpack_require__(35); 13125 13126var _xfa_layer_builder = __webpack_require__(36); 13127 13128function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 13129 13130function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 13131 13132function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 13133 13134function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 13135 13136function _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); } } 13137 13138function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 13139 13140var DEFAULT_CACHE_SIZE = 10; 13141 13142function PDFPageViewBuffer(size) { 13143 var data = []; 13144 13145 this.push = function (view) { 13146 var i = data.indexOf(view); 13147 13148 if (i >= 0) { 13149 data.splice(i, 1); 13150 } 13151 13152 data.push(view); 13153 13154 if (data.length > size) { 13155 data.shift().destroy(); 13156 } 13157 }; 13158 13159 this.resize = function (newSize, pagesToKeep) { 13160 size = newSize; 13161 13162 if (pagesToKeep) { 13163 var pageIdsToKeep = new Set(); 13164
13165 for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) { 13166 pageIdsToKeep.add(pagesToKeep[i].id); 13167 } 13168 13169 (0, _ui_utils.moveToEndOfArray)(data, function (page) { 13170 return pageIdsToKeep.has(page.id); 13171 }); 13172 } 13173 13174 while (data.length > size) { 13175 data.shift().destroy(); 13176 } 13177 }; 13178 13179 this.has = function (view) { 13180 return data.includes(view); 13181 }; 13182} 13183 13184function isSameScale(oldScale, newScale) { 13185 if (newScale === oldScale) { 13186 return true; 13187 } 13188 13189 if (Math.abs(newScale - oldScale) < 1e-15) { 13190 return true; 13191 } 13192 13193 return false; 13194} 13195 13196var BaseViewer = /*#__PURE__*/function () { 13197 function BaseViewer(options) { 13198 var _this$container, 13199 _this$viewer, 13200 _this = this; 13201 13202 _classCallCheck(this, BaseViewer); 13203 13204 if (this.constructor === BaseViewer) { 13205 throw new Error("Cannot initialize BaseViewer."); 13206 } 13207 13208 var viewerVersion = '2.10.377'; 13209 13210 if (_pdfjsLib.version !== viewerVersion) { 13211 throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\".")); 13212 } 13213 13214 this._name = this.constructor.name; 13215 this.container = options.container; 13216 this.viewer = options.viewer || options.container.firstElementChild; 13217 13218 if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === "DIV" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === "DIV")) { 13219 throw new Error("Invalid `container` and/or `viewer` option."); 13220 } 13221 13222 if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") { 13223 throw new Error("The `container` must be absolutely positioned."); 13224 } 13225 13226 this.eventBus = options.eventBus; 13227 this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService(); 13228 this.downloadManager = options.downloadManager || null; 13229 this.findController = options.findController || null; 13230 this._scriptingManager = options.scriptingManager || null; 13231 this.removePageBorders = options.removePageBorders || false; 13232 this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE; 13233 this.imageResourcesPath = options.imageResourcesPath || ""; 13234 this.renderInteractiveForms = options.renderInteractiveForms !== false; 13235 this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; 13236 this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; 13237 this.useOnlyCssZoom = options.useOnlyCssZoom || false; 13238 this.maxCanvasPixels = options.maxCanvasPixels; 13239 this.l10n = options.l10n || _l10n_utils.NullL10n; 13240 this.enableScripting = options.enableScripting === true && !!this._scriptingManager; 13241 this.defaultRenderingQueue = !options.renderingQueue; 13242 13243 if (this.defaultRenderingQueue) { 13244 this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); 13245 this.renderingQueue.setViewer(this); 13246 } else { 13247 this.renderingQueue = options.renderingQueue; 13248 } 13249 13250 this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this)); 13251 this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN; 13252 this._onBeforeDraw = this._onAfterDraw = null; 13253 13254 this._resetView(); 13255 13256 if (this.removePageBorders) { 13257 this.viewer.classList.add("removePageBorders"); 13258 } 13259 13260 Promise.resolve().then(function () { 13261 _this.eventBus.dispatch("baseviewerinit", { 13262 source: _this 13263 }); 13264 }); 13265 } 13266 13267 _createClass(BaseViewer, [{ 13268 key: "pagesCount", 13269 get: function get() { 13270 return this._pages.length; 13271 } 13272 }, { 13273 key: "getPageView", 13274 value: function getPageView(index) { 13275 return this._pages[index]; 13276 } 13277 }, { 13278 key: "pageViewsReady", 13279 get: function get() { 13280 if (!this._pagesCapability.settled) { 13281 return false; 13282 } 13283 13284 return this._pages.every(function (pageView) { 13285 return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage; 13286 }); 13287 } 13288 }, { 13289 key: "currentPageNumber", 13290 get: function get() { 13291 return this._currentPageNumber; 13292 }, 13293 set: function set(val) { 13294 if (!Number.isInteger(val)) { 13295 throw new Error("Invalid page number."); 13296 } 13297 13298 if (!this.pdfDocument) { 13299 return; 13300 } 13301 13302 if (!this._setCurrentPageNumber(val, true)) { 13303 console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page.")); 13304 } 13305 } 13306 }, { 13307 key: "_setCurrentPageNumber", 13308 value: function _setCurrentPageNumber(val) { 13309 var _this$_pageLabels, _this$_pageLabels2; 13310 13311 var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
13312 13313 if (this._currentPageNumber === val) { 13314 if (resetCurrentPageView) { 13315 this._resetCurrentPageView(); 13316 } 13317 13318 return true; 13319 } 13320 13321 if (!(0 < val && val <= this.pagesCount)) { 13322 return false; 13323 } 13324 13325 var previous = this._currentPageNumber; 13326 this._currentPageNumber = val; 13327 this.eventBus.dispatch("pagechanging", { 13328 source: this, 13329 pageNumber: val, 13330 pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null, 13331 previous: previous 13332 }); 13333 13334 if (resetCurrentPageView) { 13335 this._resetCurrentPageView(); 13336 } 13337 13338 return true; 13339 } 13340 }, { 13341 key: "currentPageLabel", 13342 get: function get() { 13343 var _this$_pageLabels3, _this$_pageLabels4; 13344 13345 return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null; 13346 }, 13347 set: function set(val) { 13348 if (!this.pdfDocument) { 13349 return; 13350 } 13351 13352 var page = val | 0; 13353 13354 if (this._pageLabels) { 13355 var i = this._pageLabels.indexOf(val); 13356 13357 if (i >= 0) { 13358 page = i + 1; 13359 } 13360 } 13361 13362 if (!this._setCurrentPageNumber(page, true)) { 13363 console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page.")); 13364 } 13365 } 13366 }, { 13367 key: "currentScale", 13368 get: function get() { 13369 return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE; 13370 }, 13371 set: function set(val) { 13372 if (isNaN(val)) { 13373 throw new Error("Invalid numeric scale."); 13374 } 13375 13376 if (!this.pdfDocument) { 13377 return; 13378 } 13379 13380 this._setScale(val, false); 13381 } 13382 }, { 13383 key: "currentScaleValue", 13384 get: function get() { 13385 return this._currentScaleValue; 13386 }, 13387 set: function set(val) { 13388 if (!this.pdfDocument) { 13389 return; 13390 } 13391 13392 this._setScale(val, false); 13393 } 13394 }, { 13395 key: "pagesRotation", 13396 get: function get() { 13397 return this._pagesRotation; 13398 }, 13399 set: function set(rotation) { 13400 if (!(0, _ui_utils.isValidRotation)(rotation)) { 13401 throw new Error("Invalid pages rotation angle."); 13402 } 13403 13404 if (!this.pdfDocument) { 13405 return; 13406 } 13407 13408 rotation %= 360; 13409 13410 if (rotation < 0) { 13411 rotation += 360; 13412 } 13413 13414 if (this._pagesRotation === rotation) { 13415 return; 13416 } 13417 13418 this._pagesRotation = rotation; 13419 var pageNumber = this._currentPageNumber; 13420 13421 for (var i = 0, ii = this._pages.length; i < ii; i++) { 13422 var pageView = this._pages[i]; 13423 pageView.update(pageView.scale, rotation); 13424 } 13425 13426 if (this._currentScaleValue) { 13427 this._setScale(this._currentScaleValue, true); 13428 } 13429 13430 this.eventBus.dispatch("rotationchanging", { 13431 source: this, 13432 pagesRotation: rotation, 13433 pageNumber: pageNumber 13434 }); 13435 13436 if (this.defaultRenderingQueue) { 13437 this.update(); 13438 } 13439 } 13440 }, { 13441 key: "firstPagePromise", 13442 get: function get() { 13443 return this.pdfDocument ? this._firstPageCapability.promise : null; 13444 } 13445 }, { 13446 key: "onePageRendered", 13447 get: function get() { 13448 return this.pdfDocument ? this._onePageRenderedCapability.promise : null; 13449 } 13450 }, { 13451 key: "pagesPromise", 13452 get: function get() { 13453 return this.pdfDocument ? this._pagesCapability.promise : null; 13454 } 13455 }, { 13456 key: "_viewerElement", 13457 get: function get() { 13458 throw new Error("Not implemented: _viewerElement"); 13459 } 13460 }, { 13461 key: "_onePageRenderedOrForceFetch", 13462 value: function _onePageRenderedOrForceFetch() { 13463 if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) { 13464 return Promise.resolve(); 13465 } 13466 13467 return this._onePageRenderedCapability.promise; 13468 } 13469 }, { 13470 key: "setDocument", 13471 value: function setDocument(pdfDocument) { 13472 var _this2 = this; 13473 13474 if (this.pdfDocument) { 13475 this.eventBus.dispatch("pagesdestroy", { 13476 source: this 13477 }); 13478 13479 this._cancelRendering(); 13480 13481 this._resetView(); 13482 13483 if (this.findController) { 13484 this.findController.setDocument(null); 13485 } 13486 13487 if (this._scriptingManager) { 13488 this._scriptingManager.setDocument(null); 13489 } 13490 } 13491 13492 this.pdfDocument = pdfDocument; 13493 13494 if (!pdfDocument) { 13495 return; 13496 } 13497 13498 var isPureXfa = pdfDocument.isPureXfa; 13499 var pagesCount = pdfDocument.numPages; 13500 var firstPagePromise = pdfDocument.getPage(1); 13501 var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); 13502 13503 this._pagesCapability.promise.then(function () { 13504 _this2.eventBus.dispatch("pagesloaded", { 13505 source: _this2, 13506 pagesCount: pagesCount 13507 }); 13508 }); 13509 13510 this._onBeforeDraw = function (evt) { 13511 var pageView = _this2._pages[evt.pageNumber - 1]; 13512 13513 if (!pageView) { 13514 return; 13515 } 13516 13517 _this2._buffer.push(pageView); 13518 }; 13519 13520 this.eventBus._on("pagerender", this._onBeforeDraw); 13521 13522 this._onAfterDraw = function (evt) { 13523 if (evt.cssTransform || _this2._onePageRenderedCapability.settled) { 13524 return; 13525 } 13526 13527 _this2._onePageRenderedCapability.resolve(); 13528 13529 _this2.eventBus._off("pagerendered", _this2._onAfterDraw); 13530 13531 _this2._onAfterDraw = null; 13532 }; 13533 13534 this.eventBus._on("pagerendered", this._onAfterDraw); 13535 13536 firstPagePromise.then(function (firstPdfPage) { 13537 _this2._firstPageCapability.resolve(firstPdfPage); 13538 13539 _this2._optionalContentConfigPromise = optionalContentConfigPromise; 13540 var scale = _this2.currentScale; 13541 var viewport = firstPdfPage.getViewport({ 13542 scale: scale * _ui_utils.CSS_UNITS 13543 }); 13544 var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null; 13545 var xfaLayerFactory = isPureXfa ? _this2 : null; 13546 13547 for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { 13548 var pageView = new _pdf_page_view.PDFPageView({ 13549 container: _this2._viewerElement, 13550 eventBus: _this2.eventBus, 13551 id: pageNum, 13552 scale: scale, 13553 defaultViewport: viewport.clone(), 13554 optionalContentConfigPromise: optionalContentConfigPromise, 13555 renderingQueue: _this2.renderingQueue, 13556 textLayerFactory: textLayerFactory, 13557 textLayerMode: _this2.textLayerMode, 13558 annotationLayerFactory: _this2, 13559 xfaLayerFactory: xfaLayerFactory, 13560 structTreeLayerFactory: _this2, 13561 imageResourcesPath: _this2.imageResourcesPath, 13562 renderInteractiveForms: _this2.renderInteractiveForms, 13563 renderer: _this2.renderer, 13564 useOnlyCssZoom: _this2.useOnlyCssZoom, 13565 maxCanvasPixels: _this2.maxCanvasPixels, 13566 l10n: _this2.l10n 13567 }); 13568 13569 _this2._pages.push(pageView); 13570 } 13571 13572 var firstPageView = _this2._pages[0]; 13573 13574 if (firstPageView) { 13575 firstPageView.setPdfPage(firstPdfPage); 13576 13577 _this2.linkService.cachePageRef(1, firstPdfPage.ref); 13578 } 13579 13580 if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) { 13581 _this2._updateSpreadMode(); 13582 } 13583 13584 _this2._onePageRenderedOrForceFetch().then(function () { 13585 if (_this2.findController) { 13586 _this2.findController.setDocument(pdfDocument); 13587 } 13588 13589 if (_this2.enableScripting) { 13590 _this2._scriptingManager.setDocument(pdfDocument); 13591 } 13592 13593 if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) { 13594 _this2._pagesCapability.resolve(); 13595 13596 return; 13597 } 13598 13599 var getPagesLeft = pagesCount - 1; 13600 13601 if (getPagesLeft <= 0) { 13602 _this2._pagesCapability.resolve(); 13603 13604 return; 13605 } 13606 13607 var _loop = function _loop(_pageNum) { 13608 pdfDocument.getPage(_pageNum).then(function (pdfPage) { 13609 var pageView = _this2._pages[_pageNum - 1]; 13610 13611 if (!pageView.pdfPage) { 13612 pageView.setPdfPage(pdfPage); 13613 } 13614 13615 _this2.linkService.cachePageRef(_pageNum, pdfPage.ref); 13616 13617 if (--getPagesLeft === 0) { 13618 _this2._pagesCapability.resolve(); 13619 } 13620 }, function (reason) { 13621 console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason); 13622 13623 if (--getPagesLeft === 0) { 13624 _this2._pagesCapability.resolve(); 13625 } 13626 }); 13627 }; 13628 13629 for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) { 13630 _loop(_pageNum); 13631 } 13632 }); 13633 13634 _this2.eventBus.dispatch("pagesinit", { 13635 source: _this2 13636 }); 13637 13638 if (_this2.defaultRenderingQueue) {
13639 _this2.update(); 13640 } 13641 })["catch"](function (reason) { 13642 console.error("Unable to initialize viewer", reason); 13643 }); 13644 } 13645 }, { 13646 key: "setPageLabels", 13647 value: function setPageLabels(labels) { 13648 if (!this.pdfDocument) { 13649 return; 13650 } 13651 13652 if (!labels) { 13653 this._pageLabels = null; 13654 } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { 13655 this._pageLabels = null; 13656 console.error("".concat(this._name, ".setPageLabels: Invalid page labels.")); 13657 } else { 13658 this._pageLabels = labels; 13659 } 13660 13661 for (var i = 0, ii = this._pages.length; i < ii; i++) { 13662 var _this$_pageLabels$i, _this$_pageLabels5; 13663 13664 this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); 13665 } 13666 } 13667 }, { 13668 key: "_resetView", 13669 value: function _resetView() { 13670 this._pages = []; 13671 this._currentPageNumber = 1; 13672 this._currentScale = _ui_utils.UNKNOWN_SCALE; 13673 this._currentScaleValue = null; 13674 this._pageLabels = null; 13675 this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE); 13676 this._location = null; 13677 this._pagesRotation = 0; 13678 this._optionalContentConfigPromise = null; 13679 this._pagesRequests = new WeakMap(); 13680 this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); 13681 this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)(); 13682 this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)(); 13683 this._scrollMode = _ui_utils.ScrollMode.VERTICAL; 13684 this._spreadMode = _ui_utils.SpreadMode.NONE; 13685 13686 if (this._onBeforeDraw) { 13687 this.eventBus._off("pagerender", this._onBeforeDraw); 13688 13689 this._onBeforeDraw = null; 13690 } 13691 13692 if (this._onAfterDraw) { 13693 this.eventBus._off("pagerendered", this._onAfterDraw); 13694 13695 this._onAfterDraw = null; 13696 } 13697 13698 this.viewer.textContent = ""; 13699 13700 this._updateScrollMode(); 13701 } 13702 }, { 13703 key: "_scrollUpdate", 13704 value: function _scrollUpdate() { 13705 if (this.pagesCount === 0) { 13706 return; 13707 } 13708 13709 this.update(); 13710 } 13711 }, { 13712 key: "_scrollIntoView", 13713 value: function _scrollIntoView(_ref) { 13714 var pageDiv = _ref.pageDiv, 13715 _ref$pageSpot = _ref.pageSpot, 13716 pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, 13717 _ref$pageNumber = _ref.pageNumber, 13718 pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; 13719 (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot); 13720 } 13721 }, { 13722 key: "_setScaleUpdatePages", 13723 value: function _setScaleUpdatePages(newScale, newValue) { 13724 var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 13725 var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 13726 this._currentScaleValue = newValue.toString(); 13727 13728 if (isSameScale(this._currentScale, newScale)) { 13729 if (preset) { 13730 this.eventBus.dispatch("scalechanging", { 13731 source: this, 13732 scale: newScale, 13733 presetValue: newValue 13734 }); 13735 } 13736 13737 return; 13738 } 13739 13740 for (var i = 0, ii = this._pages.length; i < ii; i++) { 13741 this._pages[i].update(newScale); 13742 } 13743 13744 this._currentScale = newScale; 13745 13746 if (!noScroll) { 13747 var page = this._currentPageNumber, 13748 dest; 13749 13750 if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) { 13751 page = this._location.pageNumber; 13752 dest = [null, { 13753 name: "XYZ" 13754 }, this._location.left, this._location.top, null]; 13755 } 13756 13757 this.scrollPageIntoView({ 13758 pageNumber: page, 13759 destArray: dest, 13760 allowNegativeOffset: true 13761 }); 13762 } 13763 13764 this.eventBus.dispatch("scalechanging", { 13765 source: this, 13766 scale: newScale, 13767 presetValue: preset ? newValue : undefined 13768 }); 13769 13770 if (this.defaultRenderingQueue) { 13771 this.update(); 13772 } 13773 } 13774 }, { 13775 key: "_pageWidthScaleFactor", 13776 get: function get() { 13777 if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) { 13778 return 2; 13779 } 13780 13781 return 1; 13782 } 13783 }, { 13784 key: "_setScale", 13785 value: function _setScale(value) { 13786 var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
13787 var scale = parseFloat(value); 13788 13789 if (scale > 0) { 13790 this._setScaleUpdatePages(scale, value, noScroll, false); 13791 } else { 13792 var currentPage = this._pages[this._currentPageNumber - 1]; 13793 13794 if (!currentPage) { 13795 return; 13796 } 13797 13798 var noPadding = this.isInPresentationMode || this.removePageBorders; 13799 var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING; 13800 var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING; 13801 13802 if (!noPadding && this._isScrollModeHorizontal) { 13803 var _ref2 = [vPadding, hPadding]; 13804 hPadding = _ref2[0]; 13805 vPadding = _ref2[1]; 13806 } 13807 13808 var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor; 13809 var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale; 13810 13811 switch (value) { 13812 case "page-actual": 13813 scale = 1; 13814 break; 13815 13816 case "page-width": 13817 scale = pageWidthScale; 13818 break; 13819 13820 case "page-height": 13821 scale = pageHeightScale; 13822 break; 13823 13824 case "page-fit": 13825 scale = Math.min(pageWidthScale, pageHeightScale); 13826 break; 13827 13828 case "auto": 13829 var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); 13830 scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale); 13831 break; 13832 13833 default: 13834 console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value.")); 13835 return; 13836 } 13837 13838 this._setScaleUpdatePages(scale, value, noScroll, true); 13839 } 13840 } 13841 }, { 13842 key: "_resetCurrentPageView", 13843 value: function _resetCurrentPageView() { 13844 if (this.isInPresentationMode) { 13845 this._setScale(this._currentScaleValue, true); 13846 } 13847 13848 var pageView = this._pages[this._currentPageNumber - 1]; 13849 13850 this._scrollIntoView({ 13851 pageDiv: pageView.div 13852 }); 13853 } 13854 }, { 13855 key: "pageLabelToPageNumber", 13856 value: function pageLabelToPageNumber(label) { 13857 if (!this._pageLabels) { 13858 return null; 13859 } 13860 13861 var i = this._pageLabels.indexOf(label); 13862 13863 if (i < 0) { 13864 return null; 13865 } 13866 13867 return i + 1; 13868 } 13869 }, { 13870 key: "scrollPageIntoView", 13871 value: function scrollPageIntoView(_ref3) { 13872 var pageNumber = _ref3.pageNumber, 13873 _ref3$destArray = _ref3.destArray, 13874 destArray = _ref3$destArray === void 0 ? null : _ref3$destArray, 13875 _ref3$allowNegativeOf = _ref3.allowNegativeOffset, 13876 allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf, 13877 _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom, 13878 ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati; 13879 13880 if (!this.pdfDocument) { 13881 return; 13882 } 13883 13884 var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1]; 13885 13886 if (!pageView) { 13887 console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); 13888 return; 13889 } 13890 13891 if (this.isInPresentationMode || !destArray) { 13892 this._setCurrentPageNumber(pageNumber, true); 13893 13894 return; 13895 } 13896 13897 var x = 0, 13898 y = 0; 13899 var width = 0, 13900 height = 0, 13901 widthScale, 13902 heightScale; 13903 var changeOrientation = pageView.rotation % 180 !== 0; 13904 var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS; 13905 var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS; 13906 var scale = 0; 13907 13908 switch (destArray[1].name) { 13909 case "XYZ": 13910 x = destArray[2]; 13911 y = destArray[3]; 13912 scale = destArray[4]; 13913 x = x !== null ? x : 0; 13914 y = y !== null ? y : pageHeight; 13915 break; 13916 13917 case "Fit": 13918 case "FitB": 13919 scale = "page-fit"; 13920 break; 13921 13922 case "FitH": 13923 case "FitBH": 13924 y = destArray[2]; 13925 scale = "page-width"; 13926 13927 if (y === null && this._location) { 13928 x = this._location.left; 13929 y = this._location.top; 13930 } else if (typeof y !== "number") { 13931 y = pageHeight; 13932 } 13933 13934 break; 13935 13936 case "FitV": 13937 case "FitBV": 13938 x = destArray[2]; 13939 width = pageWidth; 13940 height = pageHeight; 13941 scale = "page-height"; 13942 break; 13943 13944 case "FitR": 13945 x = destArray[2]; 13946 y = destArray[3]; 13947 width = destArray[4] - x; 13948 height = destArray[5] - y; 13949 var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING; 13950 var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING; 13951 widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS; 13952 heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS; 13953 scale = Math.min(Math.abs(widthScale), Math.abs(heightScale)); 13954 break; 13955 13956 default: 13957 console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type.")); 13958 return; 13959 } 13960 13961 if (!ignoreDestinationZoom) { 13962 if (scale && scale !== this._currentScale) { 13963 this.currentScaleValue = scale; 13964 } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) { 13965 this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; 13966 } 13967 } 13968 13969 if (scale === "page-fit" && !destArray[4]) { 13970 this._scrollIntoView({ 13971 pageDiv: pageView.div, 13972 pageNumber: pageNumber 13973 }); 13974 13975 return; 13976 } 13977 13978 var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)]; 13979 var left = Math.min(boundingRect[0][0], boundingRect[1][0]); 13980 var top = Math.min(boundingRect[0][1], boundingRect[1][1]); 13981 13982 if (!allowNegativeOffset) { 13983 left = Math.max(left, 0); 13984 top = Math.max(top, 0); 13985 } 13986 13987 this._scrollIntoView({ 13988 pageDiv: pageView.div, 13989 pageSpot: { 13990 left: left, 13991 top: top 13992 }, 13993 pageNumber: pageNumber 13994 }); 13995 } 13996 }, { 13997 key: "_updateLocation", 13998 value: function _updateLocation(firstPage) { 13999 var currentScale = this._currentScale; 14000 var currentScaleValue = this._currentScaleValue; 14001 var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue; 14002 var pageNumber = firstPage.id; 14003 var pdfOpenParams = "#page=" + pageNumber; 14004 pdfOpenParams += "&zoom=" + normalizedScaleValue; 14005 var currentPageView = this._pages[pageNumber - 1]; 14006 var container = this.container; 14007 var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y); 14008 var intLeft = Math.round(topLeft[0]); 14009 var intTop = Math.round(topLeft[1]); 14010 pdfOpenParams += "," + intLeft + "," + intTop; 14011 this._location = { 14012 pageNumber: pageNumber, 14013 scale: normalizedScaleValue, 14014 top: intTop, 14015 left: intLeft, 14016 rotation: this._pagesRotation, 14017 pdfOpenParams: pdfOpenParams 14018 }; 14019 } 14020 }, { 14021 key: "_updateHelper", 14022 value: function _updateHelper(visiblePages) { 14023 throw new Error("Not implemented: _updateHelper"); 14024 } 14025 }, { 14026 key: "update",
14027 value: function update() { 14028 var visible = this._getVisiblePages(); 14029 14030 var visiblePages = visible.views, 14031 numVisiblePages = visiblePages.length; 14032 14033 if (numVisiblePages === 0) { 14034 return; 14035 } 14036 14037 var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1); 14038 14039 this._buffer.resize(newCacheSize, visiblePages); 14040 14041 this.renderingQueue.renderHighestPriority(visible); 14042 14043 this._updateHelper(visiblePages); 14044 14045 this._updateLocation(visible.first); 14046 14047 this.eventBus.dispatch("updateviewarea", { 14048 source: this, 14049 location: this._location 14050 }); 14051 } 14052 }, { 14053 key: "containsElement", 14054 value: function containsElement(element) { 14055 return this.container.contains(element); 14056 } 14057 }, { 14058 key: "focus", 14059 value: function focus() { 14060 this.container.focus(); 14061 } 14062 }, { 14063 key: "_isScrollModeHorizontal", 14064 get: function get() { 14065 return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL; 14066 } 14067 }, { 14068 key: "_isContainerRtl", 14069 get: function get() { 14070 return getComputedStyle(this.container).direction === "rtl"; 14071 } 14072 }, { 14073 key: "isInPresentationMode", 14074 get: function get() { 14075 return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN; 14076 } 14077 }, { 14078 key: "isChangingPresentationMode", 14079 get: function get() { 14080 return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING; 14081 } 14082 }, { 14083 key: "isHorizontalScrollbarEnabled", 14084 get: function get() { 14085 return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth; 14086 } 14087 }, { 14088 key: "isVerticalScrollbarEnabled", 14089 get: function get() { 14090 return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight; 14091 } 14092 }, { 14093 key: "_getCurrentVisiblePage", 14094 value: function _getCurrentVisiblePage() { 14095 if (!this.pagesCount) { 14096 return { 14097 views: [] 14098 }; 14099 } 14100 14101 var pageView = this._pages[this._currentPageNumber - 1]; 14102 var element = pageView.div; 14103 var view = { 14104 id: pageView.id, 14105 x: element.offsetLeft + element.clientLeft, 14106 y: element.offsetTop + element.clientTop, 14107 view: pageView 14108 }; 14109 return { 14110 first: view, 14111 last: view, 14112 views: [view] 14113 }; 14114 } 14115 }, { 14116 key: "_getVisiblePages", 14117 value: function _getVisiblePages() { 14118 return (0, _ui_utils.getVisibleElements)({ 14119 scrollEl: this.container, 14120 views: this._pages, 14121 sortByVisibility: true, 14122 horizontal: this._isScrollModeHorizontal, 14123 rtl: this._isScrollModeHorizontal && this._isContainerRtl 14124 }); 14125 } 14126 }, { 14127 key: "isPageVisible", 14128 value: function isPageVisible(pageNumber) { 14129 if (!this.pdfDocument) { 14130 return false; 14131 } 14132 14133 if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { 14134 console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is not a valid page.")); 14135 return false; 14136 } 14137 14138 return this._getVisiblePages().views.some(function (view) { 14139 return view.id === pageNumber; 14140 }); 14141 } 14142 }, { 14143 key: "isPageCached", 14144 value: function isPageCached(pageNumber) { 14145 if (!this.pdfDocument || !this._buffer) { 14146 return false; 14147 } 14148 14149 if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { 14150 console.error("".concat(this._name, ".isPageCached: \"").concat(pageNumber, "\" is not a valid page.")); 14151 return false; 14152 } 14153 14154 var pageView = this._pages[pageNumber - 1]; 14155 14156 if (!pageView) { 14157 return false; 14158 } 14159 14160 return this._buffer.has(pageView); 14161 } 14162 }, { 14163 key: "cleanup", 14164 value: function cleanup() { 14165 for (var i = 0, ii = this._pages.length; i < ii; i++) { 14166 if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { 14167 this._pages[i].reset(); 14168 } 14169 } 14170 } 14171 }, { 14172 key: "_cancelRendering", 14173 value: function _cancelRendering() { 14174 for (var i = 0, ii = this._pages.length; i < ii; i++) { 14175 if (this._pages[i]) { 14176 this._pages[i].cancelRendering(); 14177 } 14178 } 14179 } 14180 }, { 14181 key: "_ensurePdfPageLoaded", 14182 value: function _ensurePdfPageLoaded(pageView) { 14183 var _this3 = this; 14184 14185 if (pageView.pdfPage) { 14186 return Promise.resolve(pageView.pdfPage); 14187 } 14188 14189 if (this._pagesRequests.has(pageView)) { 14190 return this._pagesRequests.get(pageView); 14191 } 14192 14193 var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) { 14194 if (!pageView.pdfPage) { 14195 pageView.setPdfPage(pdfPage); 14196 } 14197 14198 _this3._pagesRequests["delete"](pageView); 14199 14200 return pdfPage; 14201 })["catch"](function (reason) { 14202 console.error("Unable to get page for page view", reason); 14203 14204 _this3._pagesRequests["delete"](pageView); 14205 }); 14206 14207 this._pagesRequests.set(pageView, promise); 14208 14209 return promise; 14210 } 14211 }, { 14212 key: "forceRendering", 14213 value: function forceRendering(currentlyVisiblePages) { 14214 var _this4 = this; 14215 14216 var visiblePages = currentlyVisiblePages || this._getVisiblePages(); 14217 14218 var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down; 14219 var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead); 14220 14221 if (pageView) { 14222 this._ensurePdfPageLoaded(pageView).then(function () { 14223 _this4.renderingQueue.renderView(pageView); 14224 }); 14225 14226 return true; 14227 } 14228 14229 return false;
14230 } 14231 }, { 14232 key: "createTextLayerBuilder", 14233 value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { 14234 var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 14235 var eventBus = arguments.length > 4 ? arguments[4] : undefined; 14236 return new _text_layer_builder.TextLayerBuilder({ 14237 textLayerDiv: textLayerDiv, 14238 eventBus: eventBus, 14239 pageIndex: pageIndex, 14240 viewport: viewport, 14241 findController: this.isInPresentationMode ? null : this.findController, 14242 enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection 14243 }); 14244 } 14245 }, { 14246 key: "createAnnotationLayerBuilder", 14247 value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { 14248 var _this$pdfDocument, _this$pdfDocument2, _this$_scriptingManag; 14249 14250 var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 14251 var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ""; 14252 var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; 14253 var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n; 14254 var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; 14255 var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; 14256 var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; 14257 return new _annotation_layer_builder.AnnotationLayerBuilder({ 14258 pageDiv: pageDiv, 14259 pdfPage: pdfPage, 14260 annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage), 14261 imageResourcesPath: imageResourcesPath, 14262 renderInteractiveForms: renderInteractiveForms, 14263 linkService: this.linkService, 14264 downloadManager: this.downloadManager, 14265 l10n: l10n, 14266 enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting, 14267 hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()), 14268 mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState) 14269 }); 14270 } 14271 }, { 14272 key: "createXfaLayerBuilder", 14273 value: function createXfaLayerBuilder(pageDiv, pdfPage) { 14274 var _this$pdfDocument3; 14275 14276 var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 14277 return new _xfa_layer_builder.XfaLayerBuilder({ 14278 pageDiv: pageDiv, 14279 pdfPage: pdfPage, 14280 annotationStorage: annotationStorage || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.annotationStorage) 14281 }); 14282 } 14283 }, { 14284 key: "createStructTreeLayerBuilder", 14285 value: function createStructTreeLayerBuilder(pdfPage) { 14286 return new _struct_tree_layer_builder.StructTreeLayerBuilder({ 14287 pdfPage: pdfPage 14288 }); 14289 } 14290 }, { 14291 key: "hasEqualPageSizes", 14292 get: function get() { 14293 var firstPageView = this._pages[0]; 14294 14295 for (var i = 1, ii = this._pages.length; i < ii; ++i) { 14296 var pageView = this._pages[i]; 14297 14298 if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) { 14299 return false; 14300 } 14301 } 14302 14303 return true; 14304 } 14305 }, { 14306 key: "getPagesOverview", 14307 value: function getPagesOverview() { 14308 var _this5 = this; 14309 14310 return this._pages.map(function (pageView) { 14311 var viewport = pageView.pdfPage.getViewport({ 14312 scale: 1 14313 }); 14314 14315 if (!_this5.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) { 14316 return { 14317 width: viewport.width, 14318 height: viewport.height, 14319 rotation: viewport.rotation 14320 }; 14321 } 14322 14323 return { 14324 width: viewport.height, 14325 height: viewport.width, 14326 rotation: (viewport.rotation - 90) % 360 14327 }; 14328 }); 14329 } 14330 }, { 14331 key: "optionalContentConfigPromise", 14332 get: function get() { 14333 if (!this.pdfDocument) { 14334 return Promise.resolve(null); 14335 } 14336 14337 if (!this._optionalContentConfigPromise) { 14338 return this.pdfDocument.getOptionalContentConfig(); 14339 } 14340 14341 return this._optionalContentConfigPromise; 14342 }, 14343 set: function set(promise) { 14344 if (!(promise instanceof Promise)) { 14345 throw new Error("Invalid optionalContentConfigPromise: ".concat(promise)); 14346 } 14347 14348 if (!this.pdfDocument) { 14349 return; 14350 } 14351 14352 if (!this._optionalContentConfigPromise) { 14353 return; 14354 } 14355 14356 this._optionalContentConfigPromise = promise; 14357 14358 var _iterator = _createForOfIteratorHelper(this._pages), 14359 _step; 14360
14361 try { 14362 for (_iterator.s(); !(_step = _iterator.n()).done;) { 14363 var pageView = _step.value; 14364 pageView.update(pageView.scale, pageView.rotation, promise); 14365 } 14366 } catch (err) { 14367 _iterator.e(err); 14368 } finally { 14369 _iterator.f(); 14370 } 14371 14372 this.update(); 14373 this.eventBus.dispatch("optionalcontentconfigchanged", { 14374 source: this, 14375 promise: promise 14376 }); 14377 } 14378 }, { 14379 key: "scrollMode", 14380 get: function get() { 14381 return this._scrollMode; 14382 }, 14383 set: function set(mode) { 14384 if (this._scrollMode === mode) { 14385 return; 14386 } 14387 14388 if (!(0, _ui_utils.isValidScrollMode)(mode)) { 14389 throw new Error("Invalid scroll mode: ".concat(mode)); 14390 } 14391 14392 this._scrollMode = mode; 14393 this.eventBus.dispatch("scrollmodechanged", { 14394 source: this, 14395 mode: mode 14396 }); 14397 14398 this._updateScrollMode(this._currentPageNumber); 14399 } 14400 }, { 14401 key: "_updateScrollMode", 14402 value: function _updateScrollMode() { 14403 var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 14404 var scrollMode = this._scrollMode, 14405 viewer = this.viewer; 14406 viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL); 14407 viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED); 14408 14409 if (!this.pdfDocument || !pageNumber) { 14410 return; 14411 } 14412 14413 if (this._currentScaleValue && isNaN(this._currentScaleValue)) { 14414 this._setScale(this._currentScaleValue, true); 14415 } 14416 14417 this._setCurrentPageNumber(pageNumber, true); 14418 14419 this.update(); 14420 } 14421 }, { 14422 key: "spreadMode", 14423 get: function get() { 14424 return this._spreadMode; 14425 }, 14426 set: function set(mode) { 14427 if (this._spreadMode === mode) { 14428 return; 14429 } 14430 14431 if (!(0, _ui_utils.isValidSpreadMode)(mode)) { 14432 throw new Error("Invalid spread mode: ".concat(mode)); 14433 } 14434 14435 this._spreadMode = mode; 14436 this.eventBus.dispatch("spreadmodechanged", { 14437 source: this, 14438 mode: mode 14439 }); 14440 14441 this._updateSpreadMode(this._currentPageNumber); 14442 } 14443 }, { 14444 key: "_updateSpreadMode", 14445 value: function _updateSpreadMode() { 14446 var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; 14447 14448 if (!this.pdfDocument) { 14449 return; 14450 } 14451 14452 var viewer = this.viewer, 14453 pages = this._pages; 14454 viewer.textContent = ""; 14455 14456 if (this._spreadMode === _ui_utils.SpreadMode.NONE) { 14457 for (var i = 0, iMax = pages.length; i < iMax; ++i) { 14458 viewer.appendChild(pages[i].div); 14459 } 14460 } else { 14461 var parity = this._spreadMode - 1; 14462 var spread = null; 14463 14464 for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) { 14465 if (spread === null) { 14466 spread = document.createElement("div"); 14467 spread.className = "spread"; 14468 viewer.appendChild(spread); 14469 } else if (_i % 2 === parity) { 14470 spread = spread.cloneNode(false); 14471 viewer.appendChild(spread); 14472 } 14473 14474 spread.appendChild(pages[_i].div); 14475 } 14476 } 14477 14478 if (!pageNumber) { 14479 return; 14480 } 14481 14482 if (this._currentScaleValue && isNaN(this._currentScaleValue)) { 14483 this._setScale(this._currentScaleValue, true); 14484 } 14485 14486 this._setCurrentPageNumber(pageNumber, true); 14487 14488 this.update(); 14489 } 14490 }, { 14491 key: "_getPageAdvance", 14492 value: function _getPageAdvance(currentPageNumber) { 14493 var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 14494 14495 if (this.isInPresentationMode) { 14496 return 1; 14497 } 14498 14499 switch (this._scrollMode) { 14500 case _ui_utils.ScrollMode.WRAPPED: 14501 { 14502 var _this$_getVisiblePage = this._getVisiblePages(), 14503 views = _this$_getVisiblePage.views, 14504 pageLayout = new Map(); 14505 14506 var _iterator2 = _createForOfIteratorHelper(views), 14507 _step2; 14508 14509 try { 14510 for (_iterator2.s();
14510 !(_step2 = _iterator2.n()).done;) { 14511 var _step2$value = _step2.value, 14512 id = _step2$value.id, 14513 y = _step2$value.y, 14514 percent = _step2$value.percent, 14515 widthPercent = _step2$value.widthPercent; 14516 14517 if (percent === 0 || widthPercent < 100) { 14518 continue; 14519 } 14520 14521 var yArray = pageLayout.get(y); 14522 14523 if (!yArray) { 14524 pageLayout.set(y, yArray || (yArray = [])); 14525 } 14526 14527 yArray.push(id); 14528 } 14529 } catch (err) { 14530 _iterator2.e(err); 14531 } finally { 14532 _iterator2.f(); 14533 } 14534 14535 var _iterator3 = _createForOfIteratorHelper(pageLayout.values()), 14536 _step3; 14537 14538 try { 14539 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { 14540 var _yArray = _step3.value; 14541 14542 var currentIndex = _yArray.indexOf(currentPageNumber); 14543 14544 if (currentIndex === -1) { 14545 continue; 14546 } 14547 14548 var numPages = _yArray.length; 14549 14550 if (numPages === 1) { 14551 break; 14552 } 14553 14554 if (previous) { 14555 for (var i = currentIndex - 1, ii = 0; i >= ii; i--) { 14556 var currentId = _yArray[i], 14557 expectedId = _yArray[i + 1] - 1; 14558 14559 if (currentId < expectedId) { 14560 return currentPageNumber - expectedId; 14561 } 14562 } 14563 } else { 14564 for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) { 14565 var _currentId = _yArray[_i2], 14566 _expectedId = _yArray[_i2 - 1] + 1; 14567 14568 if (_currentId > _expectedId) { 14569 return _expectedId - currentPageNumber; 14570 } 14571 } 14572 } 14573 14574 if (previous) { 14575 var firstId = _yArray[0]; 14576 14577 if (firstId < currentPageNumber) { 14578 return currentPageNumber - firstId + 1; 14579 } 14580 } else { 14581 var lastId = _yArray[numPages - 1]; 14582 14583 if (lastId > currentPageNumber) { 14584 return lastId - currentPageNumber + 1; 14585 } 14586 } 14587 14588 break; 14589 } 14590 } catch (err) { 14591 _iterator3.e(err); 14592 } finally { 14593 _iterator3.f(); 14594 } 14595 14596 break; 14597 } 14598 14599 case _ui_utils.ScrollMode.HORIZONTAL: 14600 { 14601 break; 14602 } 14603 14604 case _ui_utils.ScrollMode.VERTICAL: 14605 { 14606 if (this._spreadMode === _ui_utils.SpreadMode.NONE) { 14607 break; 14608 } 14609 14610 var parity = this._spreadMode - 1; 14611 14612 if (previous && currentPageNumber % 2 !== parity) { 14613 break; 14614 } else if (!previous && currentPageNumber % 2 === parity) { 14615 break; 14616 } 14617 14618 var _this$_getVisiblePage2 = this._getVisiblePages(), 14619 _views = _this$_getVisiblePage2.views, 14620 _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1; 14621 14622 var _iterator4 = _createForOfIteratorHelper(_views), 14623 _step4; 14624 14625 try { 14626 for (_iterator4.s();
14626 !(_step4 = _iterator4.n()).done;) { 14627 var _step4$value = _step4.value, 14628 _id = _step4$value.id, 14629 _percent = _step4$value.percent, 14630 _widthPercent = _step4$value.widthPercent; 14631 14632 if (_id !== _expectedId2) { 14633 continue; 14634 } 14635 14636 if (_percent > 0 && _widthPercent === 100) { 14637 return 2; 14638 } 14639 14640 break; 14641 } 14642 } catch (err) { 14643 _iterator4.e(err); 14644 } finally { 14645 _iterator4.f(); 14646 } 14647 14648 break; 14649 } 14650 } 14651 14652 return 1; 14653 } 14654 }, { 14655 key: "nextPage", 14656 value: function nextPage() { 14657 var currentPageNumber = this._currentPageNumber, 14658 pagesCount = this.pagesCount; 14659 14660 if (currentPageNumber >= pagesCount) { 14661 return false; 14662 } 14663 14664 var advance = this._getPageAdvance(currentPageNumber, false) || 1; 14665 this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount); 14666 return true; 14667 } 14668 }, { 14669 key: "previousPage", 14670 value: function previousPage() { 14671 var currentPageNumber = this._currentPageNumber; 14672 14673 if (currentPageNumber <= 1) { 14674 return false; 14675 } 14676 14677 var advance = this._getPageAdvance(currentPageNumber, true) || 1; 14678 this.currentPageNumber = Math.max(currentPageNumber - advance, 1); 14679 return true; 14680 } 14681 }]); 14682 14683 return BaseViewer; 14684}(); 14685 14686exports.BaseViewer = BaseViewer; 14687 14688/***/ }), 14689/* 31 */ 14690/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 14691 14692 14693 14694Object.defineProperty(exports, "__esModule", ({ 14695 value: true 14696})); 14697exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0; 14698 14699var _pdfjsLib = __webpack_require__(7); 14700 14701var _l10n_utils = __webpack_require__(32); 14702 14703var _pdf_link_service = __webpack_require__(21); 14704 14705function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } 14706 14707function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 14708 14709function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 14710 14711function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 14712 14713function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } 14714 14715function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } 14716 14717function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 14718 14719function _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); } } 14720 14721function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 14722 14723var AnnotationLayerBuilder = /*#__PURE__*/function () { 14724 function AnnotationLayerBuilder(_ref) { 14725 var pageDiv = _ref.pageDiv, 14726 pdfPage = _ref.pdfPage, 14727 linkService = _ref.linkService, 14728 downloadManager = _ref.downloadManager, 14729 _ref$annotationStorag = _ref.annotationStorage, 14730 annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag, 14731 _ref$imageResourcesPa = _ref.imageResourcesPath, 14732 imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa, 14733 _ref$renderInteractiv = _ref.renderInteractiveForms, 14734 renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv, 14735 _ref$l10n = _ref.l10n, 14736 l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n, 14737 _ref$enableScripting = _ref.enableScripting, 14738 enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,
14739 _ref$hasJSActionsProm = _ref.hasJSActionsPromise, 14740 hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm, 14741 _ref$mouseState = _ref.mouseState, 14742 mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState; 14743 14744 _classCallCheck(this, AnnotationLayerBuilder); 14745 14746 this.pageDiv = pageDiv; 14747 this.pdfPage = pdfPage; 14748 this.linkService = linkService; 14749 this.downloadManager = downloadManager; 14750 this.imageResourcesPath = imageResourcesPath; 14751 this.renderInteractiveForms = renderInteractiveForms; 14752 this.l10n = l10n; 14753 this.annotationStorage = annotationStorage; 14754 this.enableScripting = enableScripting; 14755 this._hasJSActionsPromise = hasJSActionsPromise; 14756 this._mouseState = mouseState; 14757 this.div = null; 14758 this._cancelled = false; 14759 } 14760 14761 _createClass(AnnotationLayerBuilder, [{ 14762 key: "render", 14763 value: function render(viewport) { 14764 var _this = this; 14765 14766 var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; 14767 return Promise.all([this.pdfPage.getAnnotations({ 14768 intent: intent 14769 }), this._hasJSActionsPromise]).then(function (_ref2) { 14770 var _ref3 = _slicedToArray(_ref2, 2), 14771 annotations = _ref3[0], 14772 _ref3$ = _ref3[1], 14773 hasJSActions = _ref3$ === void 0 ? false : _ref3$; 14774 14775 if (_this._cancelled) { 14776 return; 14777 } 14778 14779 if (annotations.length === 0) { 14780 return; 14781 } 14782 14783 var parameters = { 14784 viewport: viewport.clone({ 14785 dontFlip: true 14786 }), 14787 div: _this.div, 14788 annotations: annotations, 14789 page: _this.pdfPage, 14790 imageResourcesPath: _this.imageResourcesPath, 14791 renderInteractiveForms: _this.renderInteractiveForms, 14792 linkService: _this.linkService, 14793 downloadManager: _this.downloadManager, 14794 annotationStorage: _this.annotationStorage, 14795 enableScripting: _this.enableScripting, 14796 hasJSActions: hasJSActions, 14797 mouseState: _this._mouseState 14798 }; 14799 14800 if (_this.div) { 14801 _pdfjsLib.AnnotationLayer.update(parameters); 14802 } else { 14803 _this.div = document.createElement("div"); 14804 _this.div.className = "annotationLayer"; 14805 14806 _this.pageDiv.appendChild(_this.div); 14807 14808 parameters.div = _this.div; 14809 14810 _pdfjsLib.AnnotationLayer.render(parameters); 14811 14812 _this.l10n.translate(_this.div); 14813 } 14814 }); 14815 } 14816 }, { 14817 key: "cancel", 14818 value: function cancel() { 14819 this._cancelled = true; 14820 } 14821 }, { 14822 key: "hide", 14823 value: function hide() { 14824 if (!this.div) { 14825 return; 14826 } 14827 14828 this.div.hidden = true; 14829 } 14830 }]); 14831 14832 return AnnotationLayerBuilder; 14833}(); 14834 14835exports.AnnotationLayerBuilder = AnnotationLayerBuilder; 14836 14837var DefaultAnnotationLayerFactory = /*#__PURE__*/function () { 14838 function DefaultAnnotationLayerFactory() { 14839 _classCallCheck(this, DefaultAnnotationLayerFactory); 14840 } 14841 14842 _createClass(DefaultAnnotationLayerFactory, [{ 14843 key: "createAnnotationLayerBuilder", 14844 value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { 14845 var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 14846 var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ""; 14847 var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; 14848 var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n; 14849 var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; 14850 var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; 14851 var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; 14852 return new AnnotationLayerBuilder({ 14853 pageDiv: pageDiv, 14854 pdfPage: pdfPage, 14855 imageResourcesPath: imageResourcesPath, 14856 renderInteractiveForms: renderInteractiveForms, 14857 linkService: new _pdf_link_service.SimpleLinkService(), 14858 l10n: l10n, 14859 annotationStorage: annotationStorage, 14860 enableScripting: enableScripting,
14861 hasJSActionsPromise: hasJSActionsPromise, 14862 mouseState: mouseState 14863 }); 14864 } 14865 }]); 14866 14867 return DefaultAnnotationLayerFactory; 14868}(); 14869 14870exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; 14871 14872/***/ }), 14873/* 32 */ 14874/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 14875 14876 14877 14878Object.defineProperty(exports, "__esModule", ({ 14879 value: true 14880})); 14881exports.fixupLangCode = fixupLangCode; 14882exports.getL10nFallback = getL10nFallback; 14883exports.NullL10n = void 0; 14884 14885var _regenerator = _interopRequireDefault(__webpack_require__(4)); 14886 14887function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 14888 14889function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 14890 14891function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 14892 14893var DEFAULT_L10N_STRINGS = { 14894 of_pages: "of {{pagesCount}}", 14895 page_of_pages: "({{pageNumber}} of {{pagesCount}})", 14896 document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", 14897 document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", 14898 document_properties_date_string: "{{date}}, {{time}}", 14899 document_properties_page_size_unit_inches: "in", 14900 document_properties_page_size_unit_millimeters: "mm", 14901 document_properties_page_size_orientation_portrait: "portrait", 14902 document_properties_page_size_orientation_landscape: "landscape", 14903 document_properties_page_size_name_a3: "A3", 14904 document_properties_page_size_name_a4: "A4", 14905 document_properties_page_size_name_letter: "Letter", 14906 document_properties_page_size_name_legal: "Legal", 14907 document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", 14908 document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", 14909 document_properties_linearized_yes: "Yes", 14910 document_properties_linearized_no: "No", 14911 print_progress_percent: "{{progress}}%", 14912 "toggle_sidebar.title": "Toggle Sidebar", 14913 "toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)", 14914 additional_layers: "Additional Layers", 14915 page_landmark: "Page {{page}}", 14916 thumb_page_title: "Page {{page}}", 14917 thumb_page_canvas: "Thumbnail of Page {{page}}", 14918 find_reached_top: "Reached top of document, continued from bottom", 14919 find_reached_bottom: "Reached end of document, continued from top", 14920 "find_match_count[one]": "{{current}} of {{total}} match", 14921 "find_match_count[other]": "{{current}} of {{total}} matches", 14922 "find_match_count_limit[one]": "More than {{limit}} match", 14923 "find_match_count_limit[other]": "More than {{limit}} matches", 14924 find_not_found: "Phrase not found", 14925 error_version_info: "PDF.js v{{version}} (build: {{build}})", 14926 error_message: "Message: {{message}}", 14927 error_stack: "Stack: {{stack}}", 14928 error_file: "File: {{file}}", 14929 error_line: "Line: {{line}}", 14930 rendering_error: "An error occurred while rendering the page.", 14931 page_scale_width: "Page Width", 14932 page_scale_fit: "Page Fit", 14933 page_scale_auto: "Automatic Zoom", 14934 page_scale_actual: "Actual Size", 14935 page_scale_percent: "{{scale}}%", 14936 loading: "Loading…", 14937 loading_error: "An error occurred while loading the PDF.", 14938 invalid_file_error: "Invalid or corrupted PDF file.", 14939 missing_file_error: "Missing PDF file.", 14940 unexpected_response_error: "Unexpected server response.", 14941 printing_not_supported: "Warning: Printing is not fully supported by this browser.", 14942 printing_not_ready: "Warning: The PDF is not fully loaded for printing.", 14943 web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts." 14944}; 14945 14946function getL10nFallback(key, args) { 14947 switch (key) { 14948 case "find_match_count": 14949 key = "find_match_count[".concat(args.total === 1 ? "one" : "other", "]"); 14950 break; 14951 14952 case "find_match_count_limit": 14953 key = "find_match_count_limit[".concat(args.limit === 1 ? "one" : "other", "]"); 14954 break; 14955 } 14956 14957 return DEFAULT_L10N_STRINGS[key] || ""; 14958} 14959 14960var PARTIAL_LANG_CODES = { 14961 en: "en-US", 14962 es: "es-ES", 14963 fy: "fy-NL", 14964 ga: "ga-IE", 14965 gu: "gu-IN", 14966 hi: "hi-IN", 14967 hy: "hy-AM", 14968 nb: "nb-NO", 14969 ne: "ne-NP", 14970 nn: "nn-NO", 14971 pa: "pa-IN", 14972 pt: "pt-PT", 14973 sv: "sv-SE", 14974 zh: "zh-CN" 14975}; 14976 14977function fixupLangCode(langCode) { 14978 return PARTIAL_LANG_CODES[langCode === null || langCode === void 0 ? void 0 : langCode.toLowerCase()] || langCode;
14979} 14980 14981function formatL10nValue(text, args) { 14982 if (!args) { 14983 return text; 14984 } 14985 14986 return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) { 14987 return name in args ? args[name] : "{{" + name + "}}"; 14988 }); 14989} 14990 14991var NullL10n = { 14992 getLanguage: function getLanguage() { 14993 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 14994 return _regenerator["default"].wrap(function _callee$(_context) { 14995 while (1) { 14996 switch (_context.prev = _context.next) { 14997 case 0: 14998 return _context.abrupt("return", "en-us"); 14999 15000 case 1: 15001 case "end": 15002 return _context.stop(); 15003 } 15004 } 15005 }, _callee); 15006 }))(); 15007 }, 15008 getDirection: function getDirection() { 15009 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 15010 return _regenerator["default"].wrap(function _callee2$(_context2) { 15011 while (1) { 15012 switch (_context2.prev = _context2.next) { 15013 case 0: 15014 return _context2.abrupt("return", "ltr"); 15015 15016 case 1: 15017 case "end": 15018 return _context2.stop(); 15019 } 15020 } 15021 }, _callee2); 15022 }))(); 15023 }, 15024 get: function get(key) { 15025 var _arguments = arguments; 15026 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { 15027 var args, fallback; 15028 return _regenerator["default"].wrap(function _callee3$(_context3) { 15029 while (1) { 15030 switch (_context3.prev = _context3.next) { 15031 case 0: 15032 args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null; 15033 fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args); 15034 return _context3.abrupt("return", formatL10nValue(fallback, args)); 15035 15036 case 3: 15037 case "end": 15038 return _context3.stop(); 15039 } 15040 } 15041 }, _callee3); 15042 }))(); 15043 }, 15044 translate: function translate(element) { 15045 return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { 15046 return _regenerator["default"].wrap(function _callee4$(_context4) { 15047 while (1) { 15048 switch (_context4.prev = _context4.next) { 15049 case 0: 15050 case "end": 15051 return _context4.stop(); 15052 } 15053 } 15054 }, _callee4); 15055 }))(); 15056 } 15057}; 15058exports.NullL10n = NullL10n; 15059 15060/***/ }), 15061/* 33 */ 15062/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 15063 15064 15065 15066Object.defineProperty(exports, "__esModule", ({ 15067 value: true 15068})); 15069exports.PDFPageView = void 0; 15070 15071var _regenerator = _interopRequireDefault(__webpack_require__(4)); 15072 15073var _ui_utils = __webpack_require__(6); 15074 15075var _pdfjsLib = __webpack_require__(7); 15076 15077var _l10n_utils = __webpack_require__(32); 15078 15079var _pdf_rendering_queue = __webpack_require__(10); 15080 15081var _viewer_compatibility = __webpack_require__(2); 15082 15083function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 15084 15085function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 15086 15087function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 15088 15089function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15090 15091function _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); } } 15092 15093function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 15094 15095var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216; 15096 15097var PDFPageView = /*#__PURE__*/function () { 15098 function PDFPageView(options) { 15099 _classCallCheck(this, PDFPageView); 15100 15101 var container = options.container; 15102 var defaultViewport = options.defaultViewport; 15103 this.id = options.id; 15104 this.renderingId = "page" + this.id; 15105 this.pdfPage = null; 15106 this.pageLabel = null; 15107 this.rotation = 0; 15108 this.scale = options.scale || _ui_utils.DEFAULT_SCALE; 15109 this.viewport = defaultViewport; 15110 this.pdfPageRotate = defaultViewport.rotation; 15111 this._optionalContentConfigPromise = options.optionalContentConfigPromise || null; 15112 this.hasRestrictedScaling = false;
15113 this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE; 15114 this.imageResourcesPath = options.imageResourcesPath || ""; 15115 this.renderInteractiveForms = options.renderInteractiveForms !== false; 15116 this.useOnlyCssZoom = options.useOnlyCssZoom || false; 15117 this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS; 15118 this.eventBus = options.eventBus; 15119 this.renderingQueue = options.renderingQueue; 15120 this.textLayerFactory = options.textLayerFactory; 15121 this.annotationLayerFactory = options.annotationLayerFactory; 15122 this.xfaLayerFactory = options.xfaLayerFactory; 15123 this.structTreeLayerFactory = options.structTreeLayerFactory; 15124 this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; 15125 this.l10n = options.l10n || _l10n_utils.NullL10n; 15126 this.paintTask = null; 15127 this.paintedViewportMap = new WeakMap(); 15128 this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; 15129 this.resume = null; 15130 this._renderError = null; 15131 this.annotationLayer = null; 15132 this.textLayer = null; 15133 this.zoomLayer = null; 15134 this.xfaLayer = null; 15135 this.structTreeLayer = null; 15136 var div = document.createElement("div"); 15137 div.className = "page"; 15138 div.style.width = Math.floor(this.viewport.width) + "px"; 15139 div.style.height = Math.floor(this.viewport.height) + "px"; 15140 div.setAttribute("data-page-number", this.id); 15141 div.setAttribute("role", "region"); 15142 this.l10n.get("page_landmark", { 15143 page: this.id 15144 }).then(function (msg) { 15145 div.setAttribute("aria-label", msg); 15146 }); 15147 this.div = div; 15148 container.appendChild(div); 15149 } 15150 15151 _createClass(PDFPageView, [{ 15152 key: "setPdfPage", 15153 value: function setPdfPage(pdfPage) { 15154 this.pdfPage = pdfPage; 15155 this.pdfPageRotate = pdfPage.rotate; 15156 var totalRotation = (this.rotation + this.pdfPageRotate) % 360; 15157 this.viewport = pdfPage.getViewport({ 15158 scale: this.scale * _ui_utils.CSS_UNITS, 15159 rotation: totalRotation 15160 }); 15161 this.reset(); 15162 } 15163 }, { 15164 key: "destroy", 15165 value: function destroy() { 15166 this.reset(); 15167 15168 if (this.pdfPage) { 15169 this.pdfPage.cleanup(); 15170 } 15171 } 15172 }, { 15173 key: "_renderAnnotationLayer", 15174 value: function () { 15175 var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 15176 var error; 15177 return _regenerator["default"].wrap(function _callee$(_context) { 15178 while (1) { 15179 switch (_context.prev = _context.next) { 15180 case 0: 15181 error = null; 15182 _context.prev = 1; 15183 _context.next = 4; 15184 return this.annotationLayer.render(this.viewport, "display"); 15185 15186 case 4: 15187 _context.next = 9; 15188 break; 15189 15190 case 6: 15191 _context.prev = 6; 15192 _context.t0 = _context["catch"](1); 15193 error = _context.t0; 15194 15195 case 9: 15196 _context.prev = 9; 15197 this.eventBus.dispatch("annotationlayerrendered", { 15198 source: this, 15199 pageNumber: this.id, 15200 error: error 15201 }); 15202 return _context.finish(9); 15203 15204 case 12: 15205 case "end": 15206 return _context.stop(); 15207 } 15208 } 15209 }, _callee, this, [[1, 6, 9, 12]]); 15210 })); 15211 15212 function _renderAnnotationLayer() { 15213 return _renderAnnotationLayer2.apply(this, arguments); 15214 } 15215 15216 return _renderAnnotationLayer; 15217 }() 15218 }, { 15219 key: "_renderXfaLayer", 15220 value: function () { 15221 var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 15222 var error; 15223 return _regenerator["default"].wrap(function _callee2$(_context2) { 15224 while (1) { 15225 switch (_context2.prev = _context2.next) { 15226 case 0: 15227 error = null; 15228 _context2.prev = 1; 15229 _context2.next = 4; 15230 return this.xfaLayer.render(this.viewport, "display"); 15231 15232 case 4: 15233 _context2.next = 9; 15234 break; 15235 15236 case 6: 15237 _context2.prev = 6; 15238 _context2.t0 = _context2["catch"](1); 15239 error = _context2.t0; 15240 15241 case 9: 15242 _context2.prev = 9; 15243 this.eventBus.dispatch("xfalayerrendered", { 15244 source: this, 15245 pageNumber: this.id, 15246 error: error 15247 }); 15248 return _context2.finish(9); 15249 15250 case 12: 15251 case "end": 15252 return _context2.stop(); 15253 } 15254 } 15255 }, _callee2, this, [[1, 6, 9, 12]]); 15256 })); 15257 15258 function _renderXfaLayer() { 15259 return _renderXfaLayer2.apply(this, arguments); 15260 } 15261 15262 return _renderXfaLayer; 15263 }() 15264 }, { 15265 key: "_resetZoomLayer", 15266 value: function _resetZoomLayer() { 15267 var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
15268 15269 if (!this.zoomLayer) { 15270 return; 15271 } 15272 15273 var zoomLayerCanvas = this.zoomLayer.firstChild; 15274 this.paintedViewportMap["delete"](zoomLayerCanvas); 15275 zoomLayerCanvas.width = 0; 15276 zoomLayerCanvas.height = 0; 15277 15278 if (removeFromDOM) { 15279 this.zoomLayer.remove(); 15280 } 15281 15282 this.zoomLayer = null; 15283 } 15284 }, { 15285 key: "reset", 15286 value: function reset() { 15287 var _this$annotationLayer, 15288 _this$xfaLayer, 15289 _this = this; 15290 15291 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 15292 _ref$keepZoomLayer = _ref.keepZoomLayer, 15293 keepZoomLayer = _ref$keepZoomLayer === void 0 ? false : _ref$keepZoomLayer, 15294 _ref$keepAnnotationLa = _ref.keepAnnotationLayer, 15295 keepAnnotationLayer = _ref$keepAnnotationLa === void 0 ? false : _ref$keepAnnotationLa, 15296 _ref$keepXfaLayer = _ref.keepXfaLayer, 15297 keepXfaLayer = _ref$keepXfaLayer === void 0 ? false : _ref$keepXfaLayer; 15298 15299 this.cancelRendering({ 15300 keepAnnotationLayer: keepAnnotationLayer, 15301 keepXfaLayer: keepXfaLayer 15302 }); 15303 this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; 15304 var div = this.div; 15305 div.style.width = Math.floor(this.viewport.width) + "px"; 15306 div.style.height = Math.floor(this.viewport.height) + "px"; 15307 var childNodes = div.childNodes,
15308 zoomLayerNode = keepZoomLayer && this.zoomLayer || null, 15309 annotationLayerNode = keepAnnotationLayer && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null, 15310 xfaLayerNode = keepXfaLayer && ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null; 15311 15312 for (var i = childNodes.length - 1; i >= 0; i--) { 15313 var node = childNodes[i]; 15314 15315 switch (node) { 15316 case zoomLayerNode: 15317 case annotationLayerNode: 15318 case xfaLayerNode: 15319 continue; 15320 } 15321 15322 div.removeChild(node); 15323 } 15324 15325 div.removeAttribute("data-loaded"); 15326 15327 if (annotationLayerNode) { 15328 this.annotationLayer.hide(); 15329 } 15330 15331 if (xfaLayerNode) { 15332 this.xfaLayer.hide(); 15333 } 15334 15335 if (!zoomLayerNode) { 15336 if (this.canvas) { 15337 this.paintedViewportMap["delete"](this.canvas); 15338 this.canvas.width = 0; 15339 this.canvas.height = 0; 15340 delete this.canvas; 15341 } 15342 15343 this._resetZoomLayer(); 15344 } 15345 15346 if (this.svg) { 15347 this.paintedViewportMap["delete"](this.svg); 15348 delete this.svg; 15349 } 15350 15351 this.loadingIconDiv = document.createElement("div"); 15352 this.loadingIconDiv.className = "loadingIcon"; 15353 this.loadingIconDiv.setAttribute("role", "img"); 15354 this.l10n.get("loading").then(function (msg) { 15355 var _this$loadingIconDiv; 15356 15357 (_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute("aria-label", msg); 15358 }); 15359 div.appendChild(this.loadingIconDiv); 15360 } 15361 }, { 15362 key: "update", 15363 value: function update(scale, rotation) { 15364 var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 15365 this.scale = scale || this.scale; 15366 15367 if (typeof rotation !== "undefined") { 15368 this.rotation = rotation; 15369 } 15370 15371 if (optionalContentConfigPromise instanceof Promise) { 15372 this._optionalContentConfigPromise = optionalContentConfigPromise; 15373 } 15374 15375 var totalRotation = (this.rotation + this.pdfPageRotate) % 360; 15376 this.viewport = this.viewport.clone({ 15377 scale: this.scale * _ui_utils.CSS_UNITS, 15378 rotation: totalRotation 15379 }); 15380 15381 if (this.svg) { 15382 this.cssTransform({ 15383 target: this.svg, 15384 redrawAnnotationLayer: true, 15385 redrawXfaLayer: true 15386 }); 15387 this.eventBus.dispatch("pagerendered", { 15388 source: this, 15389 pageNumber: this.id, 15390 cssTransform: true, 15391 timestamp: performance.now(), 15392 error: this._renderError 15393 }); 15394 return; 15395 } 15396 15397 var isScalingRestricted = false; 15398 15399 if (this.canvas && this.maxCanvasPixels > 0) { 15400 var outputScale = this.outputScale; 15401 15402 if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) { 15403 isScalingRestricted = true; 15404 } 15405 } 15406 15407 if (this.canvas) { 15408 if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) { 15409 this.cssTransform({ 15410 target: this.canvas, 15411 redrawAnnotationLayer: true, 15412 redrawXfaLayer: true 15413 }); 15414 this.eventBus.dispatch("pagerendered", { 15415 source: this, 15416 pageNumber: this.id, 15417 cssTransform: true, 15418 timestamp: performance.now(), 15419 error: this._renderError 15420 }); 15421 return; 15422 } 15423 15424 if (!this.zoomLayer && !this.canvas.hidden) { 15425 this.zoomLayer = this.canvas.parentNode; 15426 this.zoomLayer.style.position = "absolute"; 15427 } 15428 } 15429 15430 if (this.zoomLayer) { 15431 this.cssTransform({ 15432 target: this.zoomLayer.firstChild 15433 }); 15434 } 15435 15436 this.reset({ 15437 keepZoomLayer: true, 15438 keepAnnotationLayer: true, 15439 keepXfaLayer: true 15440 }); 15441 } 15442 }, { 15443 key: "cancelRendering", 15444 value: function cancelRendering() { 15445 var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 15446 _ref2$keepAnnotationL = _ref2.keepAnnotationLayer, 15447 keepAnnotationLayer = _ref2$keepAnnotationL === void 0 ? false : _ref2$keepAnnotationL, 15448 _ref2$keepXfaLayer = _ref2.keepXfaLayer, 15449 keepXfaLayer = _ref2$keepXfaLayer === void 0 ? false : _ref2$keepXfaLayer; 15450 15451 if (this.paintTask) { 15452 this.paintTask.cancel(); 15453 this.paintTask = null; 15454 } 15455 15456 this.resume = null; 15457 15458 if (this.textLayer) { 15459 this.textLayer.cancel(); 15460 this.textLayer = null; 15461 } 15462 15463 if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) { 15464 this.annotationLayer.cancel(); 15465 this.annotationLayer = null; 15466 } 15467 15468 if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) { 15469 this.xfaLayer.cancel(); 15470 this.xfaLayer = null; 15471 } 15472 15473 if (this._onTextLayerRendered) { 15474 this.eventBus._off("textlayerrendered", this._onTextLayerRendered); 15475 15476 this._onTextLayerRendered = null; 15477 } 15478 } 15479 }, { 15480 key: "cssTransform", 15481 value: function cssTransform(_ref3) { 15482 var target = _ref3.target, 15483 _ref3$redrawAnnotatio = _ref3.redrawAnnotationLayer, 15484 redrawAnnotationLayer = _ref3$redrawAnnotatio === void 0 ? false : _ref3$redrawAnnotatio, 15485 _ref3$redrawXfaLayer = _ref3.redrawXfaLayer, 15486 redrawXfaLayer = _ref3$redrawXfaLayer === void 0 ? false : _ref3$redrawXfaLayer; 15487 var width = this.viewport.width; 15488 var height = this.viewport.height; 15489 var div = this.div; 15490 target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px"; 15491 target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px"; 15492 var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
15493 var absRotation = Math.abs(relativeRotation); 15494 var scaleX = 1, 15495 scaleY = 1; 15496 15497 if (absRotation === 90 || absRotation === 270) { 15498 scaleX = height / width; 15499 scaleY = width / height; 15500 } 15501 15502 target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")"); 15503 15504 if (this.textLayer) { 15505 var textLayerViewport = this.textLayer.viewport; 15506 var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation; 15507 var textAbsRotation = Math.abs(textRelativeRotation); 15508 var scale = width / textLayerViewport.width; 15509 15510 if (textAbsRotation === 90 || textAbsRotation === 270) { 15511 scale = width / textLayerViewport.height; 15512 } 15513 15514 var textLayerDiv = this.textLayer.textLayerDiv; 15515 var transX, transY; 15516 15517 switch (textAbsRotation) { 15518 case 0: 15519 transX = transY = 0; 15520 break; 15521 15522 case 90: 15523 transX = 0; 15524 transY = "-" + textLayerDiv.style.height; 15525 break; 15526 15527 case 180: 15528 transX = "-" + textLayerDiv.style.width; 15529 transY = "-" + textLayerDiv.style.height; 15530 break; 15531 15532 case 270: 15533 transX = "-" + textLayerDiv.style.width; 15534 transY = 0; 15535 break; 15536 15537 default: 15538 console.error("Bad rotation value."); 15539 break; 15540 } 15541 15542 textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")"); 15543 textLayerDiv.style.transformOrigin = "0% 0%"; 15544 } 15545 15546 if (redrawAnnotationLayer && this.annotationLayer) { 15547 this._renderAnnotationLayer(); 15548 } 15549 15550 if (redrawXfaLayer && this.xfaLayer) { 15551 this._renderXfaLayer(); 15552 } 15553 } 15554 }, { 15555 key: "width", 15556 get: function get() { 15557 return this.viewport.width; 15558 } 15559 }, { 15560 key: "height", 15561 get: function get() { 15562 return this.viewport.height; 15563 } 15564 }, { 15565 key: "getPagePoint", 15566 value: function getPagePoint(x, y) { 15567 return this.viewport.convertToPdfPoint(x, y); 15568 } 15569 }, { 15570 key: "draw", 15571 value: function draw() { 15572 var _this$annotationLayer2, 15573 _this$xfaLayer2, 15574 _this2 = this; 15575 15576 if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { 15577 console.error("Must be in new state before drawing"); 15578 this.reset(); 15579 } 15580 15581 var div = this.div, 15582 pdfPage = this.pdfPage; 15583 15584 if (!pdfPage) { 15585 this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 15586 15587 if (this.loadingIconDiv) { 15588 div.removeChild(this.loadingIconDiv); 15589 delete this.loadingIconDiv; 15590 } 15591 15592 return Promise.reject(new Error("pdfPage is not loaded")); 15593 } 15594 15595 this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; 15596 var canvasWrapper = document.createElement("div"); 15597 canvasWrapper.style.width = div.style.width; 15598 canvasWrapper.style.height = div.style.height; 15599 canvasWrapper.classList.add("canvasWrapper"); 15600 15601 if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) { 15602 div.insertBefore(canvasWrapper, this.annotationLayer.div); 15603 } else { 15604 div.appendChild(canvasWrapper); 15605 } 15606 15607 var textLayer = null; 15608 15609 if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) { 15610 var _this$annotationLayer3; 15611 15612 var textLayerDiv = document.createElement("div"); 15613 textLayerDiv.className = "textLayer"; 15614 textLayerDiv.style.width = canvasWrapper.style.width; 15615 textLayerDiv.style.height = canvasWrapper.style.height; 15616 15617 if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) { 15618 div.insertBefore(textLayerDiv, this.annotationLayer.div); 15619 } else { 15620 div.appendChild(textLayerDiv); 15621 } 15622 15623 textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus); 15624 } 15625 15626 this.textLayer = textLayer; 15627 15628 if ((_this$xfaLayer2 = this.xfaLayer) !== null && _this$xfaLayer2 !== void 0 && _this$xfaLayer2.div) { 15629 div.appendChild(this.xfaLayer.div); 15630 } 15631 15632 var renderContinueCallback = null; 15633 15634 if (this.renderingQueue) { 15635 renderContinueCallback = function renderContinueCallback(cont) { 15636 if (!_this2.renderingQueue.isHighestPriority(_this2)) { 15637 _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; 15638 15639 _this2.resume = function () { 15640 _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; 15641 cont(); 15642 }; 15643 15644 return; 15645 } 15646 15647 cont(); 15648 }; 15649 } 15650 15651 var finishPaintTask = /*#__PURE__*/function () { 15652 var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { 15653 var error, 15654 _args3 = arguments; 15655 return _regenerator["default"].wrap(function _callee3$(_context3) { 15656 while (1) { 15657 switch (_context3.prev = _context3.next) { 15658 case 0: 15659 error = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : null; 15660 15661 if (paintTask === _this2.paintTask) { 15662 _this2.paintTask = null; 15663 } 15664 15665 if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { 15666 _context3.next = 5; 15667 break; 15668 } 15669 15670 _this2._renderError = null; 15671 return _context3.abrupt("return"); 15672 15673 case 5: 15674 _this2._renderError = error; 15675 _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 15676 15677 if (_this2.loadingIconDiv) { 15678 div.removeChild(_this2.loadingIconDiv); 15679 delete _this2.loadingIconDiv; 15680 } 15681 15682 _this2._resetZoomLayer(true); 15683 15684 _this2.eventBus.dispatch("pagerendered", { 15685 source: _this2, 15686 pageNumber: _this2.id, 15687 cssTransform: false, 15688 timestamp: performance.now(), 15689 error: _this2._renderError 15690 }); 15691 15692 if (!error) { 15693 _context3.next = 12; 15694 break; 15695 } 15696 15697 throw error; 15698 15699 case 12: 15700 case "end": 15701 return _context3.stop(); 15702 } 15703 } 15704 }, _callee3); 15705 })); 15706 15707 return function finishPaintTask() { 15708 return _ref4.apply(this, arguments); 15709 }; 15710 }(); 15711 15712 var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); 15713 paintTask.onRenderContinue = renderContinueCallback; 15714 this.paintTask = paintTask; 15715 var resultPromise = paintTask.promise.then(function () { 15716 return finishPaintTask(null).then(function () { 15717 if (textLayer) { 15718 var readableStream = pdfPage.streamTextContent({ 15719 normalizeWhitespace: true, 15720 includeMarkedContent: true 15721 }); 15722 textLayer.setTextContentStream(readableStream); 15723 textLayer.render(); 15724 } 15725 }); 15726 }, function (reason) { 15727 return finishPaintTask(reason); 15728 }); 15729 15730 if (this.annotationLayerFactory) { 15731 if (!this.annotationLayer) { 15732 this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.renderInteractiveForms, this.l10n, null, null, null); 15733 } 15734 15735 this._renderAnnotationLayer(); 15736 } 15737 15738 if (this.xfaLayerFactory) { 15739 if (!this.xfaLayer) { 15740 this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null); 15741 } 15742 15743 this._renderXfaLayer(); 15744 } 15745 15746 if (this.structTreeLayerFactory && this.textLayer && this.canvas) { 15747 this._onTextLayerRendered = function (event) { 15748 if (event.pageNumber !== _this2.id) { 15749 return; 15750 } 15751 15752 _this2.eventBus._off("textlayerrendered", _this2._onTextLayerRendered); 15753 15754 _this2._onTextLayerRendered = null; 15755 15756 if (!_this2.canvas) { 15757 return; 15758 } 15759 15760 _this2.pdfPage.getStructTree().then(function (tree) { 15761 if (!tree) { 15762 return; 15763 } 15764 15765 if (!_this2.canvas) { 15766 return; 15767 } 15768 15769 var treeDom = _this2.structTreeLayer.render(tree); 15770 15771 treeDom.classList.add("structTree"); 15772 15773 _this2.canvas.appendChild(treeDom); 15774 }); 15775 }; 15776 15777 this.eventBus._on("textlayerrendered", this._onTextLayerRendered); 15778 15779 this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage); 15780 } 15781 15782 div.setAttribute("data-loaded", true); 15783 this.eventBus.dispatch("pagerender", { 15784 source: this, 15785 pageNumber: this.id 15786 }); 15787 return resultPromise; 15788 } 15789 }, { 15790 key: "paintOnCanvas", 15791 value: function paintOnCanvas(canvasWrapper) { 15792 var renderCapability = (0, _pdfjsLib.createPromiseCapability)(); 15793 var result = { 15794 promise: renderCapability.promise, 15795 onRenderContinue: function onRenderContinue(cont) { 15796 cont(); 15797 }, 15798 cancel: function cancel() { 15799 renderTask.cancel(); 15800 } 15801 }; 15802 var viewport = this.viewport; 15803 var canvas = document.createElement("canvas"); 15804 canvas.hidden = true; 15805 var isCanvasHidden = true; 15806 15807 var showCanvas = function showCanvas() {
15808 if (isCanvasHidden) { 15809 canvas.hidden = false; 15810 isCanvasHidden = false; 15811 } 15812 }; 15813 15814 canvasWrapper.appendChild(canvas); 15815 this.canvas = canvas; 15816 canvas.mozOpaque = true; 15817 var ctx = canvas.getContext("2d", { 15818 alpha: false 15819 }); 15820 var outputScale = (0, _ui_utils.getOutputScale)(ctx); 15821 this.outputScale = outputScale; 15822 15823 if (this.useOnlyCssZoom) { 15824 var actualSizeViewport = viewport.clone({ 15825 scale: _ui_utils.CSS_UNITS 15826 }); 15827 outputScale.sx *= actualSizeViewport.width / viewport.width; 15828 outputScale.sy *= actualSizeViewport.height / viewport.height; 15829 outputScale.scaled = true; 15830 } 15831 15832 if (this.maxCanvasPixels > 0) { 15833 var pixelsInViewport = viewport.width * viewport.height; 15834 var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport); 15835 15836 if (outputScale.sx > maxScale || outputScale.sy > maxScale) { 15837 outputScale.sx = maxScale; 15838 outputScale.sy = maxScale; 15839 outputScale.scaled = true; 15840 this.hasRestrictedScaling = true; 15841 } else { 15842 this.hasRestrictedScaling = false; 15843 } 15844 } 15845 15846 var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx); 15847 var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy); 15848 canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]); 15849 canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]); 15850 canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px"; 15851 canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px"; 15852 this.paintedViewportMap.set(canvas, viewport); 15853 var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0]; 15854 var renderContext = { 15855 canvasContext: ctx, 15856 transform: transform, 15857 viewport: this.viewport, 15858 renderInteractiveForms: this.renderInteractiveForms, 15859 optionalContentConfigPromise: this._optionalContentConfigPromise 15860 }; 15861 var renderTask = this.pdfPage.render(renderContext); 15862 15863 renderTask.onContinue = function (cont) { 15864 showCanvas(); 15865 15866 if (result.onRenderContinue) { 15867 result.onRenderContinue(cont); 15868 } else { 15869 cont(); 15870 } 15871 }; 15872 15873 renderTask.promise.then(function () { 15874 showCanvas(); 15875 renderCapability.resolve(undefined); 15876 }, function (error) { 15877 showCanvas(); 15878 renderCapability.reject(error); 15879 }); 15880 return result; 15881 } 15882 }, { 15883 key: "paintOnSvg", 15884 value: function paintOnSvg(wrapper) { 15885 var _this3 = this; 15886 15887 var cancelled = false; 15888 15889 var ensureNotCancelled = function ensureNotCancelled() { 15890 if (cancelled) { 15891 throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this3.id), "svg"); 15892 } 15893 }; 15894 15895 var pdfPage = this.pdfPage; 15896 var actualSizeViewport = this.viewport.clone({ 15897 scale: _ui_utils.CSS_UNITS 15898 }); 15899 var promise = pdfPage.getOperatorList().then(function (opList) { 15900 ensureNotCancelled(); 15901 var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL); 15902 return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) { 15903 ensureNotCancelled(); 15904 _this3.svg = svg; 15905 15906 _this3.paintedViewportMap.set(svg, actualSizeViewport); 15907 15908 svg.style.width = wrapper.style.width; 15909 svg.style.height = wrapper.style.height; 15910 _this3.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; 15911 wrapper.appendChild(svg); 15912 }); 15913 }); 15914 return { 15915 promise: promise, 15916 onRenderContinue: function onRenderContinue(cont) { 15917 cont(); 15918 }, 15919 cancel: function cancel() { 15920 cancelled = true; 15921 } 15922 }; 15923 } 15924 }, { 15925 key: "setPageLabel", 15926 value: function setPageLabel(label) { 15927 this.pageLabel = typeof label === "string" ? label : null; 15928 15929 if (this.pageLabel !== null) { 15930 this.div.setAttribute("data-page-label", this.pageLabel); 15931 } else { 15932 this.div.removeAttribute("data-page-label"); 15933 } 15934 } 15935 }]); 15936 15937 return PDFPageView; 15938}(); 15939 15940exports.PDFPageView = PDFPageView; 15941 15942/***/ }), 15943/* 34 */
15944/***/ ((__unused_webpack_module, exports) => { 15945 15946 15947 15948Object.defineProperty(exports, "__esModule", ({ 15949 value: true 15950})); 15951exports.StructTreeLayerBuilder = exports.DefaultStructTreeLayerFactory = void 0; 15952 15953function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 15954 15955function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 15956 15957function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 15958 15959function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15960 15961function _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); } } 15962 15963function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 15964 15965var PDF_ROLE_TO_HTML_ROLE = { 15966 Document: null, 15967 DocumentFragment: null, 15968 Part: "group", 15969 Sect: "group", 15970 Div: "group", 15971 Aside: "note", 15972 NonStruct: "none", 15973 P: null, 15974 H: "heading", 15975 Title: null, 15976 FENote: "note", 15977 Sub: "group", 15978 Lbl: null, 15979 Span: null, 15980 Em: null, 15981 Strong: null, 15982 Link: "link", 15983 Annot: "note", 15984 Form: "form", 15985 Ruby: null, 15986 RB: null, 15987 RT: null, 15988 RP: null, 15989 Warichu: null, 15990 WT: null, 15991 WP: null, 15992 L: "list", 15993 LI: "listitem", 15994 LBody: null, 15995 Table: "table", 15996 TR: "row", 15997 TH: "columnheader", 15998 TD: "cell", 15999 THead: "columnheader", 16000 TBody: null, 16001 TFoot: null, 16002 Caption: null, 16003 Figure: "figure", 16004 Formula: null, 16005 Artifact: null 16006}; 16007var HEADING_PATTERN = /^H(\d+)$/; 16008 16009var StructTreeLayerBuilder = /*#__PURE__*/function () { 16010 function StructTreeLayerBuilder(_ref) { 16011 var pdfPage = _ref.pdfPage; 16012 16013 _classCallCheck(this, StructTreeLayerBuilder); 16014 16015 this.pdfPage = pdfPage; 16016 } 16017 16018 _createClass(StructTreeLayerBuilder, [{ 16019 key: "render", 16020 value: function render(structTree) { 16021 return this._walk(structTree); 16022 } 16023 }, { 16024 key: "_setAttributes", 16025 value: function _setAttributes(structElement, htmlElement) { 16026 if (structElement.alt !== undefined) { 16027 htmlElement.setAttribute("aria-label", structElement.alt); 16028 } 16029 16030 if (structElement.id !== undefined) { 16031 htmlElement.setAttribute("aria-owns", structElement.id); 16032 } 16033 } 16034 }, { 16035 key: "_walk", 16036 value: function _walk(node) { 16037 if (!node) { 16038 return null; 16039 } 16040 16041 var element = document.createElement("span"); 16042 16043 if ("role" in node) { 16044 var role = node.role; 16045 var match = role.match(HEADING_PATTERN); 16046 16047 if (match) { 16048 element.setAttribute("role", "heading"); 16049 element.setAttribute("aria-level", match[1]); 16050 } else if (PDF_ROLE_TO_HTML_ROLE[role]) { 16051 element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]); 16052 } 16053 } 16054 16055 this._setAttributes(node, element); 16056 16057 if (node.children) { 16058 if (node.children.length === 1 && "id" in node.children[0]) { 16059 this._setAttributes(node.children[0], element); 16060 } else { 16061 var _iterator = _createForOfIteratorHelper(node.children), 16062 _step; 16063 16064 try { 16065 for (_iterator.s();
16065 !(_step = _iterator.n()).done;) { 16066 var kid = _step.value; 16067 element.appendChild(this._walk(kid)); 16068 } 16069 } catch (err) { 16070 _iterator.e(err); 16071 } finally { 16072 _iterator.f(); 16073 } 16074 } 16075 } 16076 16077 return element; 16078 } 16079 }]); 16080 16081 return StructTreeLayerBuilder; 16082}(); 16083 16084exports.StructTreeLayerBuilder = StructTreeLayerBuilder; 16085 16086var DefaultStructTreeLayerFactory = /*#__PURE__*/function () { 16087 function DefaultStructTreeLayerFactory() { 16088 _classCallCheck(this, DefaultStructTreeLayerFactory); 16089 } 16090 16091 _createClass(DefaultStructTreeLayerFactory, [{ 16092 key: "createStructTreeLayerBuilder", 16093 value: function createStructTreeLayerBuilder(pdfPage) { 16094 return new StructTreeLayerBuilder({ 16095 pdfPage: pdfPage 16096 }); 16097 } 16098 }]); 16099 16100 return DefaultStructTreeLayerFactory; 16101}(); 16102 16103exports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory; 16104 16105/***/ }), 16106/* 35 */ 16107/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 16108 16109 16110 16111Object.defineProperty(exports, "__esModule", ({ 16112 value: true 16113})); 16114exports.TextLayerBuilder = exports.DefaultTextLayerFactory = void 0; 16115 16116var _pdfjsLib = __webpack_require__(7); 16117 16118function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16119 16120function _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); } } 16121 16122function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 16123 16124var EXPAND_DIVS_TIMEOUT = 300; 16125 16126var TextLayerBuilder = /*#__PURE__*/function () { 16127 function TextLayerBuilder(_ref) { 16128 var textLayerDiv = _ref.textLayerDiv, 16129 eventBus = _ref.eventBus, 16130 pageIndex = _ref.pageIndex, 16131 viewport = _ref.viewport, 16132 _ref$findController = _ref.findController, 16133 findController = _ref$findController === void 0 ? null : _ref$findController, 16134 _ref$enhanceTextSelec = _ref.enhanceTextSelection, 16135 enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec; 16136 16137 _classCallCheck(this, TextLayerBuilder); 16138 16139 this.textLayerDiv = textLayerDiv; 16140 this.eventBus = eventBus; 16141 this.textContent = null; 16142 this.textContentItemsStr = []; 16143 this.textContentStream = null; 16144 this.renderingDone = false; 16145 this.pageIdx = pageIndex; 16146 this.pageNumber = this.pageIdx + 1; 16147 this.matches = []; 16148 this.viewport = viewport; 16149 this.textDivs = []; 16150 this.findController = findController; 16151 this.textLayerRenderTask = null; 16152 this.enhanceTextSelection = enhanceTextSelection; 16153 this._onUpdateTextLayerMatches = null; 16154 16155 this._bindMouse(); 16156 } 16157 16158 _createClass(TextLayerBuilder, [{ 16159 key: "_finishRendering", 16160 value: function _finishRendering() { 16161 this.renderingDone = true; 16162 16163 if (!this.enhanceTextSelection) { 16164 var endOfContent = document.createElement("div"); 16165 endOfContent.className = "endOfContent"; 16166 this.textLayerDiv.appendChild(endOfContent); 16167 } 16168 16169 this.eventBus.dispatch("textlayerrendered", { 16170 source: this, 16171 pageNumber: this.pageNumber, 16172 numTextDivs: this.textDivs.length 16173 }); 16174 } 16175 }, { 16176 key: "render", 16177 value: function render() { 16178 var _this = this; 16179 16180 var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 16181 16182 if (!(this.textContent || this.textContentStream) || this.renderingDone) { 16183 return; 16184 } 16185 16186 this.cancel(); 16187 this.textDivs = []; 16188 var textLayerFrag = document.createDocumentFragment(); 16189 this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({ 16190 textContent: this.textContent, 16191 textContentStream: this.textContentStream, 16192 container: textLayerFrag, 16193 viewport: this.viewport, 16194 textDivs: this.textDivs, 16195 textContentItemsStr: this.textContentItemsStr, 16196 timeout: timeout, 16197 enhanceTextSelection: this.enhanceTextSelection 16198 }); 16199 this.textLayerRenderTask.promise.then(function () { 16200 _this.textLayerDiv.appendChild(textLayerFrag); 16201 16202 _this._finishRendering(); 16203 16204 _this._updateMatches(); 16205 }, function (reason) {}); 16206 16207 if (!this._onUpdateTextLayerMatches) { 16208 this._onUpdateTextLayerMatches = function (evt) { 16209 if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) { 16210 _this._updateMatches(); 16211 } 16212 }; 16213 16214 this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches); 16215 } 16216 } 16217 }, { 16218 key: "cancel", 16219 value: function cancel() { 16220 if (this.textLayerRenderTask) { 16221 this.textLayerRenderTask.cancel(); 16222 this.textLayerRenderTask = null; 16223 } 16224 16225 if (this._onUpdateTextLayerMatches) { 16226 this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches); 16227 16228 this._onUpdateTextLayerMatches = null; 16229 } 16230 } 16231 }, { 16232 key: "setTextContentStream", 16233 value: function setTextContentStream(readableStream) { 16234 this.cancel(); 16235 this.textContentStream = readableStream; 16236 } 16237 }, { 16238 key: "setTextContent", 16239 value: function setTextContent(textContent) { 16240 this.cancel(); 16241 this.textContent = textContent; 16242 } 16243 }, { 16244 key: "_convertMatches", 16245 value: function _convertMatches(matches, matchesLength) { 16246 if (!matches) { 16247 return []; 16248 } 16249 16250 var textContentItemsStr = this.textContentItemsStr; 16251 var i = 0, 16252 iIndex = 0; 16253 var end = textContentItemsStr.length - 1; 16254 var result = []; 16255 16256 for (var m = 0, mm = matches.length; m < mm; m++) { 16257 var matchIdx = matches[m]; 16258 16259 while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) { 16260 iIndex += textContentItemsStr[i].length; 16261 i++; 16262 } 16263 16264 if (i === textContentItemsStr.length) { 16265 console.error("Could not find a matching mapping"); 16266 } 16267 16268 var match = { 16269 begin: { 16270 divIdx: i,
16271 offset: matchIdx - iIndex 16272 } 16273 }; 16274 matchIdx += matchesLength[m]; 16275 16276 while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) { 16277 iIndex += textContentItemsStr[i].length; 16278 i++; 16279 } 16280 16281 match.end = { 16282 divIdx: i, 16283 offset: matchIdx - iIndex 16284 }; 16285 result.push(match); 16286 } 16287 16288 return result; 16289 } 16290 }, { 16291 key: "_renderMatches", 16292 value: function _renderMatches(matches) { 16293 if (matches.length === 0) { 16294 return; 16295 } 16296 16297 var findController = this.findController, 16298 pageIdx = this.pageIdx, 16299 textContentItemsStr = this.textContentItemsStr, 16300 textDivs = this.textDivs; 16301 var isSelectedPage = pageIdx === findController.selected.pageIdx; 16302 var selectedMatchIdx = findController.selected.matchIdx; 16303 var highlightAll = findController.state.highlightAll; 16304 var prevEnd = null; 16305 var infinity = { 16306 divIdx: -1, 16307 offset: undefined 16308 }; 16309 16310 function beginText(begin, className) { 16311 var divIdx = begin.divIdx; 16312 textDivs[divIdx].textContent = ""; 16313 return appendTextToDiv(divIdx, 0, begin.offset, className); 16314 } 16315 16316 function appendTextToDiv(divIdx, fromOffset, toOffset, className) { 16317 var div = textDivs[divIdx]; 16318 var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset); 16319 var node = document.createTextNode(content); 16320 16321 if (className) { 16322 var span = document.createElement("span"); 16323 span.className = "".concat(className, " appended"); 16324 span.appendChild(node); 16325 div.appendChild(span); 16326 return className.includes("selected") ? span.offsetLeft : 0; 16327 } 16328 16329 div.appendChild(node); 16330 return 0; 16331 } 16332 16333 var i0 = selectedMatchIdx, 16334 i1 = i0 + 1; 16335 16336 if (highlightAll) { 16337 i0 = 0; 16338 i1 = matches.length; 16339 } else if (!isSelectedPage) { 16340 return; 16341 } 16342 16343 for (var i = i0; i < i1; i++) { 16344 var match = matches[i]; 16345 var begin = match.begin; 16346 var end = match.end; 16347 var isSelected = isSelectedPage && i === selectedMatchIdx; 16348 var highlightSuffix = isSelected ? " selected" : ""; 16349 var selectedLeft = 0; 16350 16351 if (!prevEnd || begin.divIdx !== prevEnd.divIdx) { 16352 if (prevEnd !== null) { 16353 appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); 16354 } 16355 16356 beginText(begin); 16357 } else { 16358 appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset); 16359 } 16360 16361 if (begin.divIdx === end.divIdx) { 16362 selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix); 16363 } else { 16364 selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix); 16365 16366 for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) { 16367 textDivs[n0].className = "highlight middle" + highlightSuffix; 16368 } 16369 16370 beginText(end, "highlight end" + highlightSuffix); 16371 } 16372 16373 prevEnd = end; 16374 16375 if (isSelected) { 16376 findController.scrollMatchIntoView({ 16377 element: textDivs[begin.divIdx], 16378 selectedLeft: selectedLeft, 16379 pageIndex: pageIdx, 16380 matchIndex: selectedMatchIdx 16381 }); 16382 } 16383 } 16384 16385 if (prevEnd) { 16386 appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); 16387 } 16388 } 16389 }, { 16390 key: "_updateMatches", 16391 value: function _updateMatches() { 16392 if (!this.renderingDone) { 16393 return; 16394 } 16395 16396 var findController = this.findController, 16397 matches = this.matches, 16398 pageIdx = this.pageIdx, 16399 textContentItemsStr = this.textContentItemsStr, 16400 textDivs = this.textDivs; 16401 var clearedUntilDivIdx = -1; 16402 16403 for (var i = 0, ii = matches.length; i < ii; i++) { 16404 var match = matches[i]; 16405 var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx); 16406 16407 for (var n = begin, end = match.end.divIdx; n <= end; n++) { 16408 var div = textDivs[n]; 16409 div.textContent = textContentItemsStr[n]; 16410 div.className = ""; 16411 } 16412 16413 clearedUntilDivIdx = match.end.divIdx + 1; 16414 } 16415 16416 if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) { 16417 return; 16418 } 16419 16420 var pageMatches = findController.pageMatches[pageIdx] || null; 16421 var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null; 16422 this.matches = this._convertMatches(pageMatches, pageMatchesLength); 16423 16424 this._renderMatches(this.matches); 16425 } 16426 }, { 16427 key: "_bindMouse", 16428 value: function _bindMouse() { 16429 var _this2 = this; 16430 16431 var div = this.textLayerDiv; 16432 var expandDivsTimer = null; 16433 div.addEventListener("mousedown", function (evt) { 16434 if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { 16435 _this2.textLayerRenderTask.expandTextDivs(true); 16436 16437 if (expandDivsTimer) { 16438 clearTimeout(expandDivsTimer); 16439 expandDivsTimer = null; 16440 } 16441 16442 return; 16443 } 16444 16445 var end = div.querySelector(".endOfContent"); 16446 16447 if (!end) { 16448 return; 16449 } 16450 16451 var adjustTop = evt.target !== div; 16452 adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none"; 16453 16454 if (adjustTop) { 16455 var divBounds = div.getBoundingClientRect(); 16456 var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height); 16457 end.style.top = (r * 100).toFixed(2) + "%"; 16458 } 16459 16460 end.classList.add("active"); 16461 }); 16462 div.addEventListener("mouseup", function () { 16463 if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { 16464 expandDivsTimer = setTimeout(function () { 16465 if (_this2.textLayerRenderTask) { 16466 _this2.textLayerRenderTask.expandTextDivs(false); 16467 } 16468 16469 expandDivsTimer = null; 16470 }, EXPAND_DIVS_TIMEOUT); 16471 return; 16472 } 16473 16474 var end = div.querySelector(".endOfContent"); 16475 16476 if (!end) { 16477 return; 16478 } 16479 16480 end.style.top = ""; 16481 end.classList.remove("active"); 16482 }); 16483 } 16484 }]); 16485 16486 return TextLayerBuilder; 16487}(); 16488 16489exports.TextLayerBuilder = TextLayerBuilder; 16490 16491var DefaultTextLayerFactory = /*#__PURE__*/function () { 16492 function DefaultTextLayerFactory() { 16493 _classCallCheck(this, DefaultTextLayerFactory); 16494 } 16495 16496 _createClass(DefaultTextLayerFactory, [{ 16497 key: "createTextLayerBuilder", 16498 value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { 16499 var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
16500 var eventBus = arguments.length > 4 ? arguments[4] : undefined; 16501 return new TextLayerBuilder({ 16502 textLayerDiv: textLayerDiv, 16503 pageIndex: pageIndex, 16504 viewport: viewport, 16505 enhanceTextSelection: enhanceTextSelection, 16506 eventBus: eventBus 16507 }); 16508 } 16509 }]); 16510 16511 return DefaultTextLayerFactory; 16512}(); 16513 16514exports.DefaultTextLayerFactory = DefaultTextLayerFactory; 16515 16516/***/ }), 16517/* 36 */ 16518/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 16519 16520 16521 16522Object.defineProperty(exports, "__esModule", ({ 16523 value: true 16524})); 16525exports.XfaLayerBuilder = exports.DefaultXfaLayerFactory = void 0; 16526 16527var _pdfjsLib = __webpack_require__(7); 16528 16529function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16530 16531function _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); } } 16532 16533function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 16534 16535var XfaLayerBuilder = /*#__PURE__*/function () { 16536 function XfaLayerBuilder(_ref) { 16537 var pageDiv = _ref.pageDiv, 16538 pdfPage = _ref.pdfPage, 16539 xfaHtml = _ref.xfaHtml, 16540 annotationStorage = _ref.annotationStorage; 16541 16542 _classCallCheck(this, XfaLayerBuilder); 16543 16544 this.pageDiv = pageDiv; 16545 this.pdfPage = pdfPage; 16546 this.xfaHtml = xfaHtml; 16547 this.annotationStorage = annotationStorage; 16548 this.div = null; 16549 this._cancelled = false; 16550 } 16551 16552 _createClass(XfaLayerBuilder, [{ 16553 key: "render", 16554 value: function render(viewport) { 16555 var _this = this; 16556 16557 var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; 16558 16559 if (intent === "print") { 16560 var parameters = { 16561 viewport: viewport.clone({ 16562 dontFlip: true 16563 }), 16564 div: this.div, 16565 xfa: this.xfaHtml, 16566 page: null, 16567 annotationStorage: this.annotationStorage, 16568 intent: intent 16569 }; 16570 var div = document.createElement("div"); 16571 this.pageDiv.appendChild(div); 16572 parameters.div = div; 16573 16574 _pdfjsLib.XfaLayer.render(parameters); 16575 16576 return Promise.resolve(); 16577 } 16578 16579 return this.pdfPage.getXfa().then(function (xfa) { 16580 if (_this._cancelled) { 16581 return; 16582 } 16583 16584 var parameters = { 16585 viewport: viewport.clone({ 16586 dontFlip: true 16587 }), 16588 div: _this.div, 16589 xfa: xfa, 16590 page: _this.pdfPage, 16591 annotationStorage: _this.annotationStorage, 16592 intent: intent 16593 }; 16594 16595 if (_this.div) { 16596 _pdfjsLib.XfaLayer.update(parameters); 16597 } else { 16598 _this.div = document.createElement("div"); 16599 16600 _this.pageDiv.appendChild(_this.div); 16601 16602 parameters.div = _this.div; 16603 16604 _pdfjsLib.XfaLayer.render(parameters); 16605 } 16606 })["catch"](function (error) { 16607 console.error(error); 16608 }); 16609 } 16610 }, { 16611 key: "cancel", 16612 value: function cancel() { 16613 this._cancelled = true; 16614 } 16615 }, { 16616 key: "hide", 16617 value: function hide() { 16618 if (!this.div) { 16619 return; 16620 } 16621 16622 this.div.hidden = true; 16623 } 16624 }]); 16625 16626 return XfaLayerBuilder; 16627}(); 16628 16629exports.XfaLayerBuilder = XfaLayerBuilder; 16630 16631var DefaultXfaLayerFactory = /*#__PURE__*/function () { 16632 function DefaultXfaLayerFactory() { 16633 _classCallCheck(this, DefaultXfaLayerFactory); 16634 } 16635 16636 _createClass(DefaultXfaLayerFactory, [{ 16637 key: "createXfaLayerBuilder", 16638 value: function createXfaLayerBuilder(pageDiv, pdfPage) { 16639 var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; 16640 var xfaHtml = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; 16641 return new XfaLayerBuilder({ 16642 pageDiv: pageDiv, 16643 pdfPage: pdfPage, 16644 annotationStorage: annotationStorage, 16645 xfaHtml: xfaHtml 16646 }); 16647 } 16648 }]); 16649 16650 return DefaultXfaLayerFactory; 16651}(); 16652 16653exports.DefaultXfaLayerFactory = DefaultXfaLayerFactory; 16654 16655/***/ }), 16656/* 37 */ 16657/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 16658 16659 16660 16661Object.defineProperty(exports, "__esModule", ({ 16662 value: true 16663})); 16664exports.SecondaryToolbar = void 0; 16665 16666var _ui_utils = __webpack_require__(6); 16667 16668var _pdf_cursor_tools = __webpack_require__(8); 16669 16670var _pdf_single_page_viewer = __webpack_require__(38); 16671 16672function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 16673 16674function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 16675 16676function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 16677 16678function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16679 16680function _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); } } 16681 16682function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 16683 16684var SecondaryToolbar = /*#__PURE__*/function () { 16685 function SecondaryToolbar(options, mainContainer, eventBus) { 16686 var _this = this; 16687 16688 _classCallCheck(this, SecondaryToolbar); 16689 16690 this.toolbar = options.toolbar; 16691 this.toggleButton = options.toggleButton; 16692 this.toolbarButtonContainer = options.toolbarButtonContainer; 16693 this.buttons = [{ 16694 element: options.presentationModeButton, 16695 eventName: "presentationmode", 16696 close: true 16697 }, {
16698 element: options.openFileButton, 16699 eventName: "openfile", 16700 close: true 16701 }, { 16702 element: options.printButton, 16703 eventName: "print", 16704 close: true 16705 }, { 16706 element: options.downloadButton, 16707 eventName: "download", 16708 close: true 16709 }, { 16710 element: options.viewBookmarkButton, 16711 eventName: null, 16712 close: true 16713 }, { 16714 element: options.firstPageButton, 16715 eventName: "firstpage", 16716 close: true 16717 }, { 16718 element: options.lastPageButton, 16719 eventName: "lastpage", 16720 close: true 16721 }, { 16722 element: options.pageRotateCwButton, 16723 eventName: "rotatecw", 16724 close: false 16725 }, { 16726 element: options.pageRotateCcwButton, 16727 eventName: "rotateccw", 16728 close: false 16729 }, { 16730 element: options.cursorSelectToolButton, 16731 eventName: "switchcursortool", 16732 eventDetails: { 16733 tool: _pdf_cursor_tools.CursorTool.SELECT 16734 }, 16735 close: true 16736 }, { 16737 element: options.cursorHandToolButton, 16738 eventName: "switchcursortool", 16739 eventDetails: { 16740 tool: _pdf_cursor_tools.CursorTool.HAND 16741 }, 16742 close: true 16743 }, { 16744 element: options.scrollVerticalButton, 16745 eventName: "switchscrollmode", 16746 eventDetails: { 16747 mode: _ui_utils.ScrollMode.VERTICAL 16748 }, 16749 close: true 16750 }, { 16751 element: options.scrollHorizontalButton, 16752 eventName: "switchscrollmode", 16753 eventDetails: { 16754 mode: _ui_utils.ScrollMode.HORIZONTAL 16755 }, 16756 close: true 16757 }, { 16758 element: options.scrollWrappedButton, 16759 eventName: "switchscrollmode", 16760 eventDetails: { 16761 mode: _ui_utils.ScrollMode.WRAPPED 16762 }, 16763 close: true 16764 }, { 16765 element: options.spreadNoneButton, 16766 eventName: "switchspreadmode", 16767 eventDetails: { 16768 mode: _ui_utils.SpreadMode.NONE 16769 }, 16770 close: true 16771 }, { 16772 element: options.spreadOddButton, 16773 eventName: "switchspreadmode", 16774 eventDetails: { 16775 mode: _ui_utils.SpreadMode.ODD 16776 }, 16777 close: true 16778 }, { 16779 element: options.spreadEvenButton, 16780 eventName: "switchspreadmode", 16781 eventDetails: { 16782 mode: _ui_utils.SpreadMode.EVEN 16783 }, 16784 close: true 16785 }, { 16786 element: options.documentPropertiesButton, 16787 eventName: "documentproperties", 16788 close: true 16789 }]; 16790 this.items = { 16791 firstPage: options.firstPageButton, 16792 lastPage: options.lastPageButton, 16793 pageRotateCw: options.pageRotateCwButton, 16794 pageRotateCcw: options.pageRotateCcwButton 16795 }; 16796 this.mainContainer = mainContainer; 16797 this.eventBus = eventBus; 16798 this.opened = false; 16799 this.containerHeight = null; 16800 this.previousContainerHeight = null; 16801 this.reset(); 16802 16803 this._bindClickListeners(); 16804 16805 this._bindCursorToolsListener(options); 16806 16807 this._bindScrollModeListener(options); 16808 16809 this._bindSpreadModeListener(options); 16810 16811 this.eventBus._on("resize", this._setMaxHeight.bind(this)); 16812 16813 this.eventBus._on("baseviewerinit", function (evt) { 16814 if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) { 16815 _this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons"); 16816 } else { 16817 _this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons"); 16818 } 16819 }); 16820 } 16821 16822 _createClass(SecondaryToolbar, [{ 16823 key: "isOpen", 16824 get: function get() { 16825 return this.opened; 16826 } 16827 }, { 16828 key: "setPageNumber", 16829 value: function setPageNumber(pageNumber) { 16830 this.pageNumber = pageNumber; 16831 16832 this._updateUIState(); 16833 } 16834 }, { 16835 key: "setPagesCount", 16836 value: function setPagesCount(pagesCount) { 16837 this.pagesCount = pagesCount; 16838 16839 this._updateUIState(); 16840 } 16841 }, { 16842 key: "reset", 16843 value: function reset() { 16844 this.pageNumber = 0; 16845 this.pagesCount = 0; 16846 16847 this._updateUIState(); 16848 16849 this.eventBus.dispatch("secondarytoolbarreset", { 16850 source: this 16851 }); 16852 } 16853 }, { 16854 key: "_updateUIState", 16855 value: function _updateUIState() { 16856 this.items.firstPage.disabled = this.pageNumber <= 1; 16857 this.items.lastPage.disabled = this.pageNumber >= this.pagesCount; 16858 this.items.pageRotateCw.disabled = this.pagesCount === 0; 16859 this.items.pageRotateCcw.disabled = this.pagesCount === 0; 16860 } 16861 }, { 16862 key: "_bindClickListeners", 16863 value: function _bindClickListeners() { 16864 var _this2 = this; 16865 16866 this.toggleButton.addEventListener("click", this.toggle.bind(this)); 16867 16868 var _iterator = _createForOfIteratorHelper(this.buttons), 16869 _step; 16870
16871 try { 16872 var _loop = function _loop() { 16873 var _step$value = _step.value, 16874 element = _step$value.element, 16875 eventName = _step$value.eventName, 16876 close = _step$value.close, 16877 eventDetails = _step$value.eventDetails; 16878 element.addEventListener("click", function (evt) { 16879 if (eventName !== null) { 16880 var details = { 16881 source: _this2 16882 }; 16883 16884 for (var property in eventDetails) { 16885 details[property] = eventDetails[property]; 16886 } 16887 16888 _this2.eventBus.dispatch(eventName, details); 16889 } 16890 16891 if (close) { 16892 _this2.close(); 16893 } 16894 }); 16895 }; 16896 16897 for (_iterator.s(); !(_step = _iterator.n()).done;) { 16898 _loop(); 16899 } 16900 } catch (err) { 16901 _iterator.e(err); 16902 } finally { 16903 _iterator.f(); 16904 } 16905 } 16906 }, { 16907 key: "_bindCursorToolsListener", 16908 value: function _bindCursorToolsListener(buttons) { 16909 this.eventBus._on("cursortoolchanged", function (_ref) { 16910 var tool = _ref.tool; 16911 buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT); 16912 buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND); 16913 }); 16914 } 16915 }, { 16916 key: "_bindScrollModeListener", 16917 value: function _bindScrollModeListener(buttons) { 16918 var _this3 = this; 16919 16920 function scrollModeChanged(_ref2) { 16921 var mode = _ref2.mode; 16922 buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL); 16923 buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL); 16924 buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED); 16925 var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL; 16926 buttons.spreadNoneButton.disabled = isScrollModeHorizontal; 16927 buttons.spreadOddButton.disabled = isScrollModeHorizontal; 16928 buttons.spreadEvenButton.disabled = isScrollModeHorizontal; 16929 } 16930 16931 this.eventBus._on("scrollmodechanged", scrollModeChanged); 16932 16933 this.eventBus._on("secondarytoolbarreset", function (evt) { 16934 if (evt.source === _this3) { 16935 scrollModeChanged({ 16936 mode: _ui_utils.ScrollMode.VERTICAL 16937 }); 16938 } 16939 }); 16940 } 16941 }, { 16942 key: "_bindSpreadModeListener", 16943 value: function _bindSpreadModeListener(buttons) { 16944 var _this4 = this; 16945 16946 function spreadModeChanged(_ref3) { 16947 var mode = _ref3.mode; 16948 buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE); 16949 buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD); 16950 buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN); 16951 } 16952 16953 this.eventBus._on("spreadmodechanged", spreadModeChanged); 16954 16955 this.eventBus._on("secondarytoolbarreset", function (evt) { 16956 if (evt.source === _this4) { 16957 spreadModeChanged({ 16958 mode: _ui_utils.SpreadMode.NONE 16959 }); 16960 } 16961 }); 16962 } 16963 }, { 16964 key: "open", 16965 value: function open() { 16966 if (this.opened) { 16967 return; 16968 } 16969 16970 this.opened = true; 16971 16972 this._setMaxHeight(); 16973 16974 this.toggleButton.classList.add("toggled"); 16975 this.toggleButton.setAttribute("aria-expanded", "true"); 16976 this.toolbar.classList.remove("hidden"); 16977 } 16978 }, { 16979 key: "close", 16980 value: function close() { 16981 if (!this.opened) { 16982 return; 16983 } 16984 16985 this.opened = false; 16986 this.toolbar.classList.add("hidden"); 16987 this.toggleButton.classList.remove("toggled"); 16988 this.toggleButton.setAttribute("aria-expanded", "false"); 16989 } 16990 }, { 16991 key: "toggle", 16992 value: function toggle() { 16993 if (this.opened) { 16994 this.close(); 16995 } else { 16996 this.open(); 16997 } 16998 } 16999 }, { 17000 key: "_setMaxHeight", 17001 value: function _setMaxHeight() { 17002 if (!this.opened) { 17003 return; 17004 } 17005 17006 this.containerHeight = this.mainContainer.clientHeight; 17007 17008 if (this.containerHeight === this.previousContainerHeight) { 17009 return; 17010 } 17011 17012 this.toolbarButtonContainer.style.maxHeight = "".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, "px"); 17013 this.previousContainerHeight = this.containerHeight; 17014 } 17015 }]); 17016 17017 return SecondaryToolbar; 17018}(); 17019 17020exports.SecondaryToolbar = SecondaryToolbar; 17021 17022/***/ }), 17023/* 38 */ 17024/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 17025 17026 17027 17028function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 17029 17030Object.defineProperty(exports, "__esModule", ({ 17031 value: true 17032})); 17033exports.PDFSinglePageViewer = void 0; 17034 17035var _base_viewer = __webpack_require__(30); 17036 17037var _pdfjsLib = __webpack_require__(7); 17038 17039function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 17040 17041function _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); } } 17042 17043function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 17044 17045function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } 17046 17047function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } 17048 17049function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { c
17049onstructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 17050 17051function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 17052 17053function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 17054 17055function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 17056 17057function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 17058 17059function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 17060 17061function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 17062 17063var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) { 17064 _inherits(PDFSinglePageViewer, _BaseViewer); 17065 17066 var _super = _createSuper(PDFSinglePageViewer); 17067 17068 function PDFSinglePageViewer(options) { 17069 var _this; 17070 17071 _classCallCheck(this, PDFSinglePageViewer); 17072 17073 _this = _super.call(this, options); 17074 17075 _this.eventBus._on("pagesinit", function (evt) { 17076 _this._ensurePageViewVisible(); 17077 }); 17078 17079 return _this; 17080 } 17081 17082 _createClass(PDFSinglePageViewer, [{ 17083 key: "_viewerElement", 17084 get: function get() { 17085 return (0, _pdfjsLib.shadow)(this, "_viewerElement", this._shadowViewer); 17086 } 17087 }, { 17088 key: "_pageWidthScaleFactor", 17089 get: function get() { 17090 return 1; 17091 } 17092 }, { 17093 key: "_resetView", 17094 value: function _resetView() { 17095 _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this); 17096 17097 this._previousPageNumber = 1; 17098 this._shadowViewer = document.createDocumentFragment(); 17099 this._updateScrollDown = null; 17100 } 17101 }, { 17102 key: "_ensurePageViewVisible", 17103 value: function _ensurePageViewVisible() { 17104 var pageView = this._pages[this._currentPageNumber - 1]; 17105 var previousPageView = this._pages[this._previousPageNumber - 1]; 17106 var viewerNodes = this.viewer.childNodes; 17107 17108 switch (viewerNodes.length) { 17109 case 0: 17110 this.viewer.appendChild(pageView.div); 17111 break; 17112 17113 case 1: 17114 if (viewerNodes[0] !== previousPageView.div) { 17115 throw new Error("_ensurePageViewVisible: Unexpected previously visible page."); 17116 } 17117 17118 if (pageView === previousPageView) { 17119 break; 17120 } 17121 17122 this._shadowViewer.appendChild(previousPageView.div); 17123 17124 this.viewer.appendChild(pageView.div); 17125 this.container.scrollTop = 0; 17126 break; 17127 17128 default: 17129 throw new Error("_ensurePageViewVisible: Only one page should be visible at a time."); 17130 } 17131 17132 this._previousPageNumber = this._currentPageNumber; 17133 } 17134 }, { 17135 key: "_scrollUpdate", 17136 value: function _scrollUpdate() { 17137 if (this._updateScrollDown) { 17138 this._updateScrollDown(); 17139 } 17140 17141 _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this); 17142 } 17143 }, { 17144 key: "_scrollIntoView", 17145 value: function _scrollIntoView(_ref) { 17146 var _this2 = this; 17147 17148 var pageDiv = _ref.pageDiv, 17149 _ref$pageSpot = _ref.pageSpot, 17150 pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, 17151 _ref$pageNumber = _ref.pageNumber, 17152 pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; 17153 17154 if (pageNumber) { 17155 this._setCurrentPageNumber(pageNumber); 17156 } 17157 17158 var scrolledDown = this._currentPageNumber >= this._previousPageNumber; 17159 17160 this._ensurePageViewVisible(); 17161 17162 this.update(); 17163 17164 _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, { 17165 pageDiv: pageDiv, 17166 pageSpot: pageSpot, 17167 pageNumber: pageNumber 17168 }); 17169 17170 this._updateScrollDown = function () { 17171 _this2.scroll.down = scrolledDown; 17172 _this2._updateScrollDown = null; 17173 }; 17174 } 17175 }, { 17176 key: "_getVisiblePages", 17177 value: function _getVisiblePages() { 17178 return this._getCurrentVisiblePage(); 17179 } 17180 }, { 17181 key: "_updateHelper", 17182 value: function _updateHelper(visiblePages) {} 17183 }, { 17184 key: "_isScrollModeHorizontal", 17185 get: function get() { 17186 return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false); 17187 } 17188 }, { 17189 key: "_updateScrollMode", 17190 value: function _updateScrollMode() {} 17191 }, { 17192 key: "_updateSpreadMode", 17193 value: function _updateSpreadMode() {} 17194 }, { 17195 key: "_getPageAdvance", 17196 value: function _getPageAdvance() { 17197 return 1; 17198 } 17199 }]); 17200 17201 return PDFSinglePageViewer; 17202}(_base_viewer.BaseViewer); 17203 17204exports.PDFSinglePageViewer = PDFSinglePageViewer; 17205 17206/***/ }), 17207/* 39 */ 17208/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 17209 17210 17211 17212Object.defineProperty(exports, "__esModule", ({ 17213 value: true 17214})); 17215exports.Toolbar = void 0; 17216 17217var _regenerator = _interopRequireDefault(__webpack_require__(4)); 17218 17219var _ui_utils = __webpack_require__(6); 17220 17221function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 17222 17223function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
vendor: 3,590 bytes, lines 17223-17265
17223y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 17224 17225function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 17226 17227function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 17228 17229function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 17230 17231function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 17232 17233function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 17234 17235function _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); } } 17236 17237function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 17238 17239var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading"; 17240var SCALE_SELECT_CONTAINER_WIDTH = 140; 17241var SCALE_SELECT_WIDTH = 162; 17242 17243var Toolbar = /*#__PURE__*/function () { 17244 function Toolbar(options, eventBus, l10n) { 17245 _classCallCheck(this, Toolbar); 17246 17247 this.toolbar = options.container; 17248 this.eventBus = eventBus; 17249 this.l10n = l10n; 17250 this.buttons = [{ 17251 element: options.previous, 17252 eventName: "previouspage" 17253 }, { 17254 element: options.next, 17255 eventName: "nextpage" 17256 }, { 17257 element: options.zoomIn, 17258 eventName: "zoomin" 17259 }, { 17260 element: options.zoomOut, 17261 eventName: "zoomout" 17262 }, { 17263 element: options.openFile, 17264 eventName: "openfile" 17265 }, {
17266 element: options.print, 17267 eventName: "print" 17268 }, { 17269 element: options.presentationModeButton, 17270 eventName: "presentationmode" 17271 }, { 17272 element: options.download, 17273 eventName: "download" 17274 }, { 17275 element: options.viewBookmark, 17276 eventName: null 17277 }]; 17278 this.items = { 17279 numPages: options.numPages, 17280 pageNumber: options.pageNumber, 17281 scaleSelectContainer: options.scaleSelectContainer, 17282 scaleSelect: options.scaleSelect, 17283 customScaleOption: options.customScaleOption, 17284 previous: options.previous, 17285 next: options.next, 17286 zoomIn: options.zoomIn, 17287 zoomOut: options.zoomOut 17288 }; 17289 this._wasLocalized = false; 17290 this.reset(); 17291 17292 this._bindListeners(); 17293 } 17294 17295 _createClass(Toolbar, [{ 17296 key: "setPageNumber", 17297 value: function setPageNumber(pageNumber, pageLabel) { 17298 this.pageNumber = pageNumber; 17299 this.pageLabel = pageLabel; 17300 17301 this._updateUIState(false); 17302 } 17303 }, { 17304 key: "setPagesCount", 17305 value: function setPagesCount(pagesCount, hasPageLabels) { 17306 this.pagesCount = pagesCount; 17307 this.hasPageLabels = hasPageLabels; 17308 17309 this._updateUIState(true); 17310 } 17311 }, { 17312 key: "setPageScale", 17313 value: function setPageScale(pageScaleValue, pageScale) { 17314 this.pageScaleValue = (pageScaleValue || pageScale).toString(); 17315 this.pageScale = pageScale; 17316 17317 this._updateUIState(false); 17318 } 17319 }, { 17320 key: "reset", 17321 value: function reset() { 17322 this.pageNumber = 0; 17323 this.pageLabel = null; 17324 this.hasPageLabels = false; 17325 this.pagesCount = 0; 17326 this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; 17327 this.pageScale = _ui_utils.DEFAULT_SCALE; 17328 17329 this._updateUIState(true); 17330 17331 this.updateLoadingIndicatorState(); 17332 } 17333 }, { 17334 key: "_bindListeners", 17335 value: function _bindListeners() { 17336 var _this = this; 17337 17338 var _this$items = this.items, 17339 pageNumber = _this$items.pageNumber, 17340 scaleSelect = _this$items.scaleSelect; 17341 var self = this; 17342 17343 var _iterator = _createForOfIteratorHelper(this.buttons), 17344 _step; 17345 17346 try { 17347 var _loop = function _loop() { 17348 var _step$value = _step.value, 17349 element = _step$value.element, 17350 eventName = _step$value.eventName; 17351 element.addEventListener("click", function (evt) { 17352 if (eventName !== null) { 17353 _this.eventBus.dispatch(eventName, { 17354 source: _this 17355 }); 17356 } 17357 }); 17358 }; 17359 17360 for (_iterator.s(); !(_step = _iterator.n()).done;) { 17361 _loop(); 17362 } 17363 } catch (err) { 17364 _iterator.e(err); 17365 } finally { 17366 _iterator.f(); 17367 } 17368 17369 pageNumber.addEventListener("click", function () { 17370 this.select(); 17371 }); 17372 pageNumber.addEventListener("change", function () { 17373 self.eventBus.dispatch("pagenumberchanged", { 17374 source: self, 17375 value: this.value 17376 }); 17377 }); 17378 scaleSelect.addEventListener("change", function () { 17379 if (this.value === "custom") { 17380 return; 17381 } 17382 17383 self.eventBus.dispatch("scalechanged", { 17384 source: self, 17385 value: this.value 17386 }); 17387 }); 17388 scaleSelect.addEventListener("click", function (evt) { 17389 var target = evt.target; 17390 17391 if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { 17392 this.blur(); 17393 } 17394 }); 17395 scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler; 17396 17397 this.eventBus._on("localized", function () { 17398 _this._wasLocalized = true; 17399 17400 _this._adjustScaleWidth(); 17401 17402 _this._updateUIState(true); 17403 }); 17404 } 17405 }, { 17406 key: "_updateUIState", 17407 value: function _updateUIState() { 17408 var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 17409 17410 if (!this._wasLocalized) { 17411 return; 17412 } 17413 17414 var pageNumber = this.pageNumber, 17415 pagesCount = this.pagesCount, 17416 pageScaleValue = this.pageScaleValue, 17417 pageScale = this.pageScale, 17418 items = this.items; 17419 17420 if (resetNumPages) { 17421 if (this.hasPageLabels) { 17422 items.pageNumber.type = "text"; 17423 } else { 17424 items.pageNumber.type = "number"; 17425 this.l10n.get("of_pages", { 17426 pagesCount: pagesCount 17427 }).then(function (msg) { 17428 items.numPages.textContent = msg; 17429 }); 17430 } 17431 17432 items.pageNumber.max = pagesCount; 17433 } 17434 17435 if (this.hasPageLabels) { 17436 items.pageNumber.value = this.pageLabel; 17437 this.l10n.get("page_of_pages", { 17438 pageNumber: pageNumber, 17439 pagesCount: pagesCount 17440 }).then(function (msg) { 17441 items.numPages.textContent = msg; 17442 }); 17443 } else { 17444 items.pageNumber.value = pageNumber; 17445 } 17446 17447 items.previous.disabled = pageNumber <= 1; 17448 items.next.disabled = pageNumber >= pagesCount; 17449 items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE; 17450 items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE; 17451 this.l10n.get("page_scale_percent", { 17452 scale: Math.round(pageScale * 10000) / 100 17453 }).then(function (msg) { 17454 var predefinedValueFound = false;
17455 17456 var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options), 17457 _step2; 17458 17459 try { 17460 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 17461 var option = _step2.value; 17462 17463 if (option.value !== pageScaleValue) { 17464 option.selected = false; 17465 continue; 17466 } 17467 17468 option.selected = true; 17469 predefinedValueFound = true; 17470 } 17471 } catch (err) { 17472 _iterator2.e(err); 17473 } finally { 17474 _iterator2.f(); 17475 } 17476 17477 if (!predefinedValueFound) { 17478 items.customScaleOption.textContent = msg; 17479 items.customScaleOption.selected = true; 17480 } 17481 }); 17482 } 17483 }, { 17484 key: "updateLoadingIndicatorState", 17485 value: function updateLoadingIndicatorState() { 17486 var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 17487 var pageNumberInput = this.items.pageNumber; 17488 pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading); 17489 } 17490 }, { 17491 key: "_adjustScaleWidth", 17492 value: function () { 17493 var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 17494 var items, l10n, predefinedValuesPromise, canvas, ctx, _getComputedStyle, fontSize, fontFamily, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, overflow; 17495 17496 return _regenerator["default"].wrap(function _callee$(_context) { 17497 while (1) { 17498 switch (_context.prev = _context.next) { 17499 case 0: 17500 items = this.items, l10n = this.l10n; 17501 predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]); 17502 canvas = document.createElement("canvas"); 17503 canvas.mozOpaque = true; 17504 ctx = canvas.getContext("2d", { 17505 alpha: false 17506 }); 17507 _context.next = 7; 17508 return _ui_utils.animationStarted; 17509 17510 case 7: 17511 _getComputedStyle = getComputedStyle(items.scaleSelect), fontSize = _getComputedStyle.fontSize, fontFamily = _getComputedStyle.fontFamily; 17512 ctx.font = "".concat(fontSize, " ").concat(fontFamily); 17513 maxWidth = 0; 17514 _context.t0 = _createForOfIteratorHelper; 17515 _context.next = 13; 17516 return predefinedValuesPromise; 17517 17518 case 13: 17519 _context.t1 = _context.sent; 17520 _iterator3 = (0, _context.t0)(_context.t1); 17521 17522 try { 17523 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { 17524 predefinedValue = _step3.value; 17525 _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width; 17526 17527 if (width > maxWidth) { 17528 maxWidth = width; 17529 } 17530 } 17531 } catch (err) { 17532 _iterator3.e(err); 17533 } finally { 17534 _iterator3.f(); 17535 } 17536 17537 overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH; 17538 maxWidth += 2 * overflow; 17539 17540 if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) { 17541 items.scaleSelect.style.width = "".concat(maxWidth + overflow, "px"); 17542 items.scaleSelectContainer.style.width = "".concat(maxWidth, "px"); 17543 } 17544 17545 canvas.width = 0; 17546 canvas.height = 0; 17547 canvas = ctx = null; 17548 17549 case 22: 17550 case "end": 17551 return _context.stop(); 17552 } 17553 } 17554 }, _callee, this); 17555 })); 17556 17557 function _adjustScaleWidth() { 17558 return _adjustScaleWidth2.apply(this, arguments); 17559 } 17560 17561 return _adjustScaleWidth; 17562 }() 17563 }]); 17564 17565 return Toolbar; 17566}(); 17567 17568exports.Toolbar = Toolbar; 17569 17570/***/ }), 17571/* 40 */ 17572/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 17573 17574 17575 17576Object.defineProperty(exports, "__esModule", ({ 17577 value: true 17578})); 17579exports.ViewHistory = void 0; 17580 17581var _regenerator = _interopRequireDefault(__webpack_require__(4)); 17582 17583function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 17584 17585function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
17585y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 17586 17587function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 17588 17589function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 17590 17591function _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); } } 17592 17593function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 17594 17595var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; 17596 17597var ViewHistory = /*#__PURE__*/function () { 17598 function ViewHistory(fingerprint) { 17599 var _this = this; 17600 17601 var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE; 17602 17603 _classCallCheck(this, ViewHistory); 17604 17605 this.fingerprint = fingerprint; 17606 this.cacheSize = cacheSize; 17607 this._initializedPromise = this._readFromStorage().then(function (databaseStr) { 17608 var database = JSON.parse(databaseStr || "{}"); 17609 var index = -1; 17610 17611 if (!Array.isArray(database.files)) { 17612 database.files = []; 17613 } else { 17614 while (database.files.length >= _this.cacheSize) { 17615 database.files.shift(); 17616 } 17617 17618 for (var i = 0, ii = database.files.length; i < ii; i++) { 17619 var branch = database.files[i]; 17620 17621 if (branch.fingerprint === _this.fingerprint) { 17622 index = i; 17623 break; 17624 } 17625 } 17626 } 17627 17628 if (index === -1) { 17629 index = database.files.push({ 17630 fingerprint: _this.fingerprint 17631 }) - 1; 17632 } 17633 17634 _this.file = database.files[index]; 17635 _this.database = database; 17636 }); 17637 } 17638 17639 _createClass(ViewHistory, [{ 17640 key: "_writeToStorage", 17641 value: function () { 17642 var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 17643 var databaseStr; 17644 return _regenerator["default"].wrap(function _callee$(_context) { 17645 while (1) { 17646 switch (_context.prev = _context.next) { 17647 case 0: 17648 databaseStr = JSON.stringify(this.database); 17649 localStorage.setItem("pdfjs.history", databaseStr); 17650 17651 case 2: 17652 case "end": 17653 return _context.stop(); 17654 } 17655 } 17656 }, _callee, this); 17657 })); 17658 17659 function _writeToStorage() { 17660 return _writeToStorage2.apply(this, arguments); 17661 } 17662 17663 return _writeToStorage; 17664 }() 17665 }, { 17666 key: "_readFromStorage", 17667 value: function () { 17668 var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 17669 return _regenerator["default"].wrap(function _callee2$(_context2) { 17670 while (1) { 17671 switch (_context2.prev = _context2.next) { 17672 case 0: 17673 return _context2.abrupt("return", localStorage.getItem("pdfjs.history")); 17674 17675 case 1: 17676 case "end": 17677 return _context2.stop(); 17678 } 17679 } 17680 }, _callee2); 17681 })); 17682 17683 function _readFromStorage() { 17684 return _readFromStorage2.apply(this, arguments); 17685 } 17686 17687 return _readFromStorage; 17688 }() 17689 }, { 17690 key: "set", 17691 value: function () { 17692 var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) { 17693 return _regenerator["default"].wrap(function _callee3$(_context3) { 17694 while (1) { 17695 switch (_context3.prev = _context3.next) { 17696 case 0: 17697 _context3.next = 2; 17698 return this._initializedPromise; 17699 17700 case 2: 17701 this.file[name] = val; 17702 return _context3.abrupt("return", this._writeToStorage()); 17703 17704 case 4: 17705 case "end": 17706 return _context3.stop(); 17707 } 17708 } 17709 }, _callee3, this); 17710 })); 17711 17712 function set(_x, _x2) { 17713 return _set.apply(this, arguments); 17714 } 17715 17716 return set; 17717 }() 17718 }, { 17719 key: "setMultiple", 17720 value: function () { 17721 var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) { 17722 var name; 17723 return _regenerator["default"].wrap(function _callee4$(_context4) { 17724 while (1) { 17725 switch (_context4.prev = _context4.next) { 17726 case 0: 17727 _context4.next = 2; 17728 return this._initializedPromise; 17729 17730 case 2: 17731 for (name in properties) { 17732 this.file[name] = properties[name]; 17733 } 17734 17735 return _context4.abrupt("return", this._writeToStorage()); 17736 17737 case 4: 17738 case "end": 17739 return _context4.stop(); 17740 } 17741 } 17742 }, _callee4, this); 17743 })); 17744 17745 function setMultiple(_x3) { 17746 return _setMultiple.apply(this, arguments); 17747 } 17748 17749 return setMultiple; 17750 }() 17751 }, { 17752 key: "get", 17753 value: function () { 17754 var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) { 17755 var val; 17756 return _regenerator["default"].wrap(function _callee5$(_context5) { 17757 while (1) { 17758 switch (_context5.prev = _context5.next) { 17759 case 0: 17760 _context5.next = 2; 17761 return this._initializedPromise; 17762 17763 case 2: 17764 val = this.file[name]; 17765 return _context5.abrupt("return", val !== undefined ? val : defaultValue); 17766 17767 case 4: 17768 case "end": 17769 return _context5.stop(); 17770 } 17771 } 17772 }, _callee5, this); 17773 })); 17774 17775 function get(_x4, _x5) { 17776 return _get.apply(this, arguments); 17777 } 17778 17779 return get; 17780 }() 17781 }, { 17782 key: "getMultiple", 17783 value: function () { 17784 var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) { 17785 var values, name, val; 17786 return _regenerator["default"].wrap(function _callee6$(_context6) { 17787 while (1) { 17788 switch (_context6.prev = _context6.next) { 17789 case 0: 17790 _context6.next = 2; 17791 return this._initializedPromise; 17792 17793 case 2: 17794 values = Object.create(null); 17795 17796 for (name in properties) { 17797 val = this.file[name]; 17798 values[name] = val !== undefined ? val : properties[name]; 17799 } 17800 17801 return _context6.abrupt("return", values); 17802 17803 case 5: 17804 case "end": 17805 return _context6.stop(); 17806 } 17807 } 17808 }, _callee6, this); 17809 })); 17810 17811 function getMultiple(_x6) { 17812 return _getMultiple.apply(this, arguments); 17813 } 17814 17815 return getMultiple; 17816 }() 17817 }]); 17818 17819 return ViewHistory; 17820}(); 17821 17822exports.ViewHistory = ViewHistory; 17823 17824/***/ }), 17825/* 41 */ 17826/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 17827 17828 17829 17830function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 17831 17832Object.defineProperty(exports, "__esModule", ({ 17833 value: true 17834})); 17835exports.GenericCom = void 0; 17836 17837var _regenerator = _interopRequireDefault(__webpack_require__(4)); 17838 17839var _app = __webpack_require__(3); 17840 17841var _preferences = __webpack_require__(42); 17842 17843var _download_manager = __webpack_require__(43); 17844 17845var _genericl10n = __webpack_require__(44); 17846 17847var _generic_scripting = __webpack_require__(46); 17848 17849function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 17850 17851function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
17851y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 17852 17853function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 17854 17855function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 17856 17857function _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); } } 17858 17859function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 17860 17861function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 17862 17863function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 17864 17865function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 17866 17867function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 17868 17869function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 17870 17871function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } 17872 17873function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 17874 17875; 17876var GenericCom = {}; 17877exports.GenericCom = GenericCom; 17878 17879var GenericPreferences = /*#__PURE__*/function (_BasePreferences) { 17880 _inherits(GenericPreferences, _BasePreferences); 17881 17882 var _super = _createSuper(GenericPreferences); 17883 17884 function GenericPreferences() { 17885 _classCallCheck(this, GenericPreferences); 17886 17887 return _super.apply(this, arguments); 17888 } 17889 17890 _createClass(GenericPreferences, [{ 17891 key: "_writeToStorage", 17892 value: function () { 17893 var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { 17894 return _regenerator["default"].wrap(function _callee$(_context) { 17895 while (1) { 17896 switch (_context.prev = _context.next) { 17897 case 0: 17898 localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj)); 17899 17900 case 1: 17901 case "end": 17902 return _context.stop(); 17903 } 17904 } 17905 }, _callee); 17906 })); 17907 17908 function _writeToStorage(_x) { 17909 return _writeToStorage2.apply(this, arguments); 17910 } 17911 17912 return _writeToStorage; 17913 }() 17914 }, { 17915 key: "_readFromStorage", 17916 value: function () { 17917 var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { 17918 return _regenerator["default"].wrap(function _callee2$(_context2) { 17919 while (1) { 17920 switch (_context2.prev = _context2.next) { 17921 case 0: 17922 return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences"))); 17923 17924 case 1: 17925 case "end": 17926 return _context2.stop(); 17927 } 17928 } 17929 }, _callee2); 17930 })); 17931 17932 function _readFromStorage(_x2) { 17933 return _readFromStorage2.apply(this, arguments); 17934 } 17935 17936 return _readFromStorage; 17937 }() 17938 }]); 17939 17940 return GenericPreferences; 17941}(_preferences.BasePreferences); 17942 17943var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) { 17944 _inherits(GenericExternalServices, _DefaultExternalServi); 17945 17946 var _super2 = _createSuper(GenericExternalServices); 17947 17948 function GenericExternalServices() { 17949 _classCallCheck(this, GenericExternalServices); 17950 17951 return _super2.apply(this, arguments); 17952 } 17953 17954 _createClass(GenericExternalServices, null, [{ 17955 key: "createDownloadManager", 17956 value: function createDownloadManager(options) { 17957 return new _download_manager.DownloadManager(); 17958 } 17959 }, { 17960 key: "createPreferences", 17961 value: function createPreferences() { 17962 return new GenericPreferences(); 17963 } 17964 }, { 17965 key: "createL10n", 17966 value: function createL10n(_ref) { 17967 var _ref$locale = _ref.locale, 17968 locale = _ref$locale === void 0 ? "en-US" : _ref$locale; 17969 return new _genericl10n.GenericL10n(locale); 17970 } 17971 }, { 17972 key: "createScripting", 17973 value: function createScripting(_ref2) { 17974 var sandboxBundleSrc = _ref2.sandboxBundleSrc; 17975 return new _generic_scripting.GenericScripting(sandboxBundleSrc); 17976 } 17977 }]); 17978 17979 return GenericExternalServices; 17980}(_app.DefaultExternalServices); 17981 17982_app.PDFViewerApplication.externalServices = GenericExternalServices; 17983 17984/***/ }), 17985/* 42 */ 17986/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 17987 17988 17989 17990Object.defineProperty(exports, "__esModule", ({ 17991 value: true 17992})); 17993exports.BasePreferences = void 0; 17994 17995var _regenerator = _interopRequireDefault(__webpack_require__(4)); 17996 17997var _app_options = __webpack_require__(1); 17998 17999function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 18000 18001function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { tr
18001y { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 18002 18003function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 18004 18005function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 18006 18007function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 18008 18009function _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); } } 18010 18011function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 18012 18013var BasePreferences = /*#__PURE__*/function () { 18014 function BasePreferences() { 18015 var _this = this; 18016 18017 _classCallCheck(this, BasePreferences); 18018 18019 if (this.constructor === BasePreferences) { 18020 throw new Error("Cannot initialize BasePreferences."); 18021 } 18022 18023 Object.defineProperty(this, "defaults", { 18024 value: Object.freeze({ 18025 "cursorToolOnLoad": 0, 18026 "defaultZoomValue": "", 18027 "disablePageLabels": false, 18028 "enablePermissions": false, 18029 "enablePrintAutoRotate": true, 18030 "enableScripting": true, 18031 "externalLinkTarget": 0, 18032 "historyUpdateUrl": false, 18033 "ignoreDestinationZoom": false, 18034 "pdfBugEnabled": false, 18035 "renderer": "canvas", 18036 "renderInteractiveForms": true, 18037 "sidebarViewOnLoad": -1, 18038 "scrollModeOnLoad": -1, 18039 "spreadModeOnLoad": -1, 18040 "textLayerMode": 1, 18041 "useOnlyCssZoom": false, 18042 "viewerCssTheme": 0, 18043 "viewOnLoad": 0, 18044 "disableAutoFetch": false, 18045 "disableFontFace": false, 18046 "disableRange": false, 18047 "disableStream": false, 18048 "enableXfa": false 18049 }), 18050 writable: false, 18051 enumerable: true, 18052 configurable: false 18053 }); 18054 this.prefs = Object.create(null); 18055 this._initializedPromise = this._readFromStorage(this.defaults).then(function (prefs) { 18056 for (var name in _this.defaults) { 18057 var prefValue = prefs === null || prefs === void 0 ? void 0 : prefs[name]; 18058 18059 if (_typeof(prefValue) === _typeof(_this.defaults[name])) { 18060 _this.prefs[name] = prefValue; 18061 } 18062 } 18063 }); 18064 } 18065 18066 _createClass(BasePreferences, [{ 18067 key: "_writeToStorage", 18068 value: function () { 18069 var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { 18070 return _regenerator["default"].wrap(function _callee$(_context) { 18071 while (1) { 18072 switch (_context.prev = _context.next) { 18073 case 0: 18074 throw new Error("Not implemented: _writeToStorage"); 18075 18076 case 1: 18077 case "end": 18078 return _context.stop(); 18079 } 18080 } 18081 }, _callee); 18082 })); 18083 18084 function _writeToStorage(_x) { 18085 return _writeToStorage2.apply(this, arguments); 18086 } 18087 18088 return _writeToStorage; 18089 }() 18090 }, { 18091 key: "_readFromStorage", 18092 value: function () { 18093 var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { 18094 return _regenerator["default"].wrap(function _callee2$(_context2) { 18095 while (1) { 18096 switch (_context2.prev = _context2.next) { 18097 case 0: 18098 throw new Error("Not implemented: _readFromStorage"); 18099 18100 case 1: 18101 case "end": 18102 return _context2.stop(); 18103 } 18104 } 18105 }, _callee2); 18106 })); 18107 18108 function _readFromStorage(_x2) { 18109 return _readFromStorage2.apply(this, arguments); 18110 } 18111 18112 return _readFromStorage; 18113 }() 18114 }, { 18115 key: "reset", 18116 value: function () { 18117 var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { 18118 return _regenerator["default"].wrap(function _callee3$(_context3) { 18119 while (1) { 18120 switch (_context3.prev = _context3.next) { 18121 case 0: 18122 _context3.next = 2; 18123 return this._initializedPromise; 18124 18125 case 2: 18126 this.prefs = Object.create(null); 18127 return _context3.abrupt("return", this._writeToStorage(this.defaults)); 18128 18129 case 4: 18130 case "end": 18131 return _context3.stop(); 18132 } 18133 } 18134 }, _callee3, this); 18135 })); 18136 18137 function reset() { 18138 return _reset.apply(this, arguments); 18139 } 18140 18141 return reset; 18142 }() 18143 }, { 18144 key: "set", 18145 value: function () { 18146 var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) { 18147 var defaultValue, valueType, defaultType; 18148 return _regenerator["default"].wrap(function _callee4$(_context4) { 18149 while (1) { 18150 switch (_context4.prev = _context4.next) { 18151 case 0: 18152 _context4.next = 2; 18153 return this._initializedPromise; 18154 18155 case 2: 18156 defaultValue = this.defaults[name]; 18157 18158 if (!(defaultValue === undefined)) { 18159 _context4.next = 7; 18160 break; 18161 } 18162 18163 throw new Error("Set preference: \"".concat(name, "\" is undefined.")); 18164 18165 case 7: 18166 if (!(value === undefined)) { 18167 _context4.next = 9; 18168 break; 18169 } 18170 18171 throw new Error("Set preference: no value is specified."); 18172 18173 case 9: 18174 valueType = _typeof(value); 18175 defaultType = _typeof(defaultValue); 18176 18177 if (!(valueType !== defaultType)) { 18178 _context4.next = 19; 18179 break; 18180 } 18181 18182 if (!(valueType === "number" && defaultType === "string")) { 18183 _context4.next = 16; 18184 break; 18185 } 18186 18187 value = value.toString(); 18188 _context4.next = 17; 18189 break; 18190 18191 case 16: 18192 throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", expected a ").concat(defaultType, ".")); 18193 18194 case 17: 18195 _context4.next = 21; 18196 break; 18197 18198 case 19: 18199 if (!(valueType === "number" && !Number.isInteger(value))) { 18200 _context4.next = 21; 18201 break; 18202 } 18203 18204 throw new Error("Set preference: \"".concat(value, "\" must be an integer.")); 18205 18206 case 21: 18207 this.prefs[name] = value; 18208 return _context4.abrupt("return", this._writeToStorage(this.prefs)); 18209 18210 case 23: 18211 case "end": 18212 return _context4.stop(); 18213 } 18214 } 18215 }, _callee4, this); 18216 })); 18217 18218 function set(_x3, _x4) { 18219 return _set.apply(this, arguments); 18220 } 18221 18222 return set; 18223 }() 18224 }, { 18225 key: "get", 18226 value: function () { 18227 var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) { 18228 var defaultValue, prefValue; 18229 return _regenerator["default"].wrap(function _callee5$(_context5) { 18230 while (1) { 18231 switch (_context5.prev = _context5.next) { 18232 case 0: 18233 _context5.next = 2; 18234 return this._initializedPromise; 18235 18236 case 2: 18237 defaultValue = this.defaults[name], prefValue = this.prefs[name]; 18238 18239 if (!(defaultValue === undefined)) { 18240 _context5.next = 5; 18241 break; 18242 } 18243 18244 throw new Error("Get preference: \"".concat(name, "\" is undefined.")); 18245 18246 case 5: 18247 return _context5.abrupt("return", prefValue !== undefined ? prefValue : defaultValue); 18248 18249 case 6: 18250 case "end": 18251 return _context5.stop(); 18252 } 18253 } 18254 }, _callee5, this); 18255 })); 18256 18257 function get(_x5) { 18258 return _get.apply(this, arguments); 18259 } 18260 18261 return get; 18262 }() 18263 }, { 18264 key: "getAll", 18265 value: function () { 18266 var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { 18267 var obj, name, prefValue; 18268 return _regenerator["default"].wrap(function _callee6$(_context6) { 18269 while (1) { 18270 switch (_context6.prev = _context6.next) { 18271 case 0: 18272 _context6.next = 2; 18273 return this._initializedPromise; 18274 18275 case 2: 18276 obj = Object.create(null); 18277 18278 for (name in this.defaults) { 18279 prefValue = this.prefs[name]; 18280 obj[name] = prefValue !== undefined ? prefValue : this.defaults[name]; 18281 } 18282 18283 return _context6.abrupt("return", obj); 18284 18285 case 5: 18286 case "end": 18287 return _context6.stop(); 18288 } 18289 } 18290 }, _callee6, this); 18291 })); 18292 18293 function getAll() { 18294 return _getAll.apply(this, arguments); 18295 } 18296 18297 return getAll; 18298 }() 18299 }]); 18300 18301 return BasePreferences; 18302}(); 18303 18304exports.BasePreferences = BasePreferences; 18305 18306/***/ }), 18307/* 43 */ 18308/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 18309 18310 18311 18312Object.defineProperty(exports, "__esModule", ({ 18313 value: true 18314})); 18315exports.DownloadManager = void 0; 18316 18317var _pdfjsLib = __webpack_require__(7); 18318 18319var _viewer_compatibility = __webpack_require__(2); 18320 18321function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 18322 18323function _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); } } 18324 18325function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 18326 18327; 18328 18329function _download(blobUrl, filename) { 18330 var a = document.createElement("a"); 18331 18332 if (!a.click) { 18333 throw new Error('DownloadManager: "a.click()" is not supported.'); 18334 } 18335 18336 a.href = blobUrl; 18337 a.target = "_parent"; 18338 18339 if ("download" in a) { 18340 a.download = filename; 18341 } 18342 18343 (document.body || document.documentElement).appendChild(a); 18344 a.click(); 18345 a.remove(); 18346} 18347 18348var DownloadManager = /*#__PURE__*/function () { 18349 function DownloadManager() { 18350 _classCallCheck(this, DownloadManager); 18351 18352 this._openBlobUrls = new WeakMap(); 18353 } 18354 18355 _createClass(DownloadManager, [{ 18356 key: "downloadUrl", 18357 value: function downloadUrl(url, filename) { 18358 if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) { 18359 return; 18360 } 18361 18362 _download(url + "#pdfjs.action=download", filename); 18363 } 18364 }, { 18365 key: "downloadData", 18366 value: function downloadData(data, filename, contentType) { 18367 var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL); 18368 18369 _download(blobUrl, filename); 18370 } 18371 }, { 18372 key: "openOrDownloadData", 18373 value: function openOrDownloadData(element, data, filename) { 18374 var isPdfData = (0, _pdfjsLib.isPdfFile)(filename); 18375 var contentType = isPdfData ? "application/pdf" : ""; 18376 18377 if (isPdfData && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { 18378 var blobUrl = this._openBlobUrls.get(element); 18379 18380 if (!blobUrl) { 18381 blobUrl = URL.createObjectURL(new Blob([data], { 18382 type: contentType 18383 })); 18384 18385 this._openBlobUrls.set(element, blobUrl); 18386 } 18387 18388 var viewerUrl; 18389 viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename); 18390 18391 try { 18392 window.open(viewerUrl); 18393 return true; 18394 } catch (ex) { 18395 console.error("openOrDownloadData: ".concat(ex)); 18396 URL.revokeObjectURL(blobUrl); 18397 18398 this._openBlobUrls["delete"](element); 18399 } 18400 } 18401 18402 this.downloadData(data, filename, contentType); 18403 return false;
18404 } 18405 }, { 18406 key: "download", 18407 value: function download(blob, url, filename) { 18408 var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download"; 18409 18410 if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { 18411 this.downloadUrl(url, filename); 18412 return; 18413 } 18414 18415 var blobUrl = URL.createObjectURL(blob); 18416 18417 _download(blobUrl, filename); 18418 } 18419 }]); 18420 18421 return DownloadManager; 18422}(); 18423 18424exports.DownloadManager = DownloadManager; 18425 18426/***/ }), 18427/* 44 */ 18428/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 18429 18430 18431 18432Object.defineProperty(exports, "__esModule", ({ 18433 value: true 18434})); 18435exports.GenericL10n = void 0; 18436 18437var _regenerator = _interopRequireDefault(__webpack_require__(4)); 18438 18439__webpack_require__(45); 18440 18441var _l10n_utils = __webpack_require__(32); 18442 18443function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 18444 18445function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 18446 18447function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 18448 18449function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 18450 18451function _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); } } 18452 18453function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 18454 18455var webL10n = document.webL10n; 18456 18457var GenericL10n = /*#__PURE__*/function () { 18458 function GenericL10n(lang) { 18459 _classCallCheck(this, GenericL10n); 18460 18461 this._lang = lang; 18462 this._ready = new Promise(function (resolve, reject) { 18463 webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), function () { 18464 resolve(webL10n); 18465 }); 18466 }); 18467 } 18468 18469 _createClass(GenericL10n, [{ 18470 key: "getLanguage", 18471 value: function () { 18472 var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { 18473 var l10n; 18474 return _regenerator["default"].wrap(function _callee$(_context) { 18475 while (1) { 18476 switch (_context.prev = _context.next) { 18477 case 0: 18478 _context.next = 2; 18479 return this._ready; 18480 18481 case 2: 18482 l10n = _context.sent; 18483 return _context.abrupt("return", l10n.getLanguage()); 18484 18485 case 4: 18486 case "end": 18487 return _context.stop(); 18488 } 18489 } 18490 }, _callee, this); 18491 })); 18492 18493 function getLanguage() { 18494 return _getLanguage.apply(this, arguments); 18495 } 18496 18497 return getLanguage; 18498 }() 18499 }, { 18500 key: "getDirection", 18501 value: function () { 18502 var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { 18503 var l10n; 18504 return _regenerator["default"].wrap(function _callee2$(_context2) { 18505 while (1) { 18506 switch (_context2.prev = _context2.next) { 18507 case 0: 18508 _context2.next = 2; 18509 return this._ready; 18510 18511 case 2: 18512 l10n = _context2.sent; 18513 return _context2.abrupt("return", l10n.getDirection()); 18514 18515 case 4: 18516 case "end": 18517 return _context2.stop(); 18518 } 18519 } 18520 }, _callee2, this); 18521 })); 18522 18523 function getDirection() { 18524 return _getDirection.apply(this, arguments); 18525 } 18526 18527 return getDirection; 18528 }() 18529 }, { 18530 key: "get", 18531 value: function () { 18532 var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(key) { 18533 var args, 18534 fallback, 18535 l10n, 18536 _args3 = arguments; 18537 return _regenerator["default"].wrap(function _callee3$(_context3) { 18538 while (1) { 18539 switch (_context3.prev = _context3.next) { 18540 case 0: 18541 args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null; 18542 fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args); 18543 _context3.next = 4; 18544 return this._ready; 18545 18546 case 4: 18547 l10n = _context3.sent; 18548 return _context3.abrupt("return", l10n.get(key, args, fallback)); 18549 18550 case 6: 18551 case "end": 18552 return _context3.stop(); 18553 } 18554 } 18555 }, _callee3, this); 18556 })); 18557 18558 function get(_x) { 18559 return _get.apply(this, arguments); 18560 } 18561 18562 return get; 18563 }() 18564 }, { 18565 key: "translate", 18566 value: function () { 18567 var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) { 18568 var l10n; 18569 return _regenerator["default"].wrap(function _callee4$(_context4) { 18570 while (1) { 18571 switch (_context4.prev = _context4.next) { 18572 case 0: 18573 _context4.next = 2; 18574 return this._ready; 18575 18576 case 2: 18577 l10n = _context4.sent; 18578 return _context4.abrupt("return", l10n.translate(element)); 18579 18580 case 4: 18581 case "end": 18582 return _context4.stop(); 18583 } 18584 } 18585 }, _callee4, this); 18586 })); 18587 18588 function translate(_x2) { 18589 return _translate.apply(this, arguments); 18590 } 18591 18592 return translate; 18593 }() 18594 }]); 18595 18596 return GenericL10n; 18597}(); 18598 18599exports.GenericL10n = GenericL10n; 18600 18601/***/ }), 18602/* 45 */ 18603/***/ (() => { 18604 18605 18606 18607document.webL10n = function (window, document, undefined) { 18608 var gL10nData = {}; 18609 var gTextData = ''; 18610 var gTextProp = 'textContent'; 18611 var gLanguage = ''; 18612 var gMacros = {}; 18613 var gReadyState = 'loading'; 18614 var gAsyncResourceLoading = true; 18615 18616 function getL10nResourceLinks() { 18617 return document.querySelectorAll('link[type="application/l10n"]'); 18618 } 18619 18620 function getL10nDictionary() { 18621 var script = document.querySelector('script[type="application/l10n"]'); 18622 return script ? JSON.parse(script.innerHTML) : null; 18623 } 18624 18625 function getTranslatableChildren(element) { 18626 return element ? element.querySelectorAll('*[data-l10n-id]') : []; 18627 } 18628 18629 function getL10nAttributes(element) { 18630 if (!element) return {}; 18631 var l10nId = element.getAttribute('data-l10n-id'); 18632 var l10nArgs = element.getAttribute('data-l10n-args'); 18633 var args = {}; 18634 18635 if (l10nArgs) {
vendor: 7,003 bytes, lines 18636-18931
18636 try { 18637 args = JSON.parse(l10nArgs); 18638 } catch (e) { 18639 console.warn('could not parse arguments for #' + l10nId); 18640 } 18641 } 18642 18643 return { 18644 id: l10nId, 18645 args: args 18646 }; 18647 } 18648 18649 function xhrLoadText(url, onSuccess, onFailure) { 18650 onSuccess = onSuccess || function _onSuccess(data) {}; 18651 18652 onFailure = onFailure || function _onFailure() {}; 18653 18654 var xhr = new XMLHttpRequest(); 18655 xhr.open('GET', url, gAsyncResourceLoading); 18656 18657 if (xhr.overrideMimeType) { 18658 xhr.overrideMimeType('text/plain; charset=utf-8'); 18659 } 18660 18661 xhr.onreadystatechange = function () { 18662 if (xhr.readyState == 4) { 18663 if (xhr.status == 200 || xhr.status === 0) { 18664 onSuccess(xhr.responseText); 18665 } else { 18666 onFailure(); 18667 } 18668 } 18669 }; 18670 18671 xhr.onerror = onFailure; 18672 xhr.ontimeout = onFailure; 18673 18674 try { 18675 xhr.send(null); 18676 } catch (e) { 18677 onFailure(); 18678 } 18679 } 18680 18681 function parseResource(href, lang, successCallback, failureCallback) { 18682 var baseURL = href.replace(/[^\/]*$/, '') || './'; 18683 18684 function evalString(text) { 18685 if (text.lastIndexOf('\\') < 0) return text; 18686 return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'"); 18687 } 18688 18689 function parseProperties(text, parsedPropertiesCallback) { 18690 var dictionary = {}; 18691 var reBlank = /^\s*|\s*$/; 18692 var reComment = /^\s*#|^\s*$/; 18693 var reSection = /^\s*\[(.*)\]\s*$/; 18694 var reImport = /^\s*@import\s+url\((.*)\)\s*$/i; 18695 var reSplit = /^([^=\s]*)\s*=\s*(.+)$/; 18696 18697 function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) { 18698 var entries = rawText.replace(reBlank, '').split(/[\r\n]+/); 18699 var currentLang = '*'; 18700 var genericLang = lang.split('-', 1)[0]; 18701 var skipLang = false; 18702 var match = ''; 18703 18704 function nextEntry() { 18705 while (true) { 18706 if (!entries.length) { 18707 parsedRawLinesCallback(); 18708 return; 18709 } 18710 18711 var line = entries.shift(); 18712 if (reComment.test(line)) continue; 18713 18714 if (extendedSyntax) { 18715 match = reSection.exec(line); 18716 18717 if (match) { 18718 currentLang = match[1].toLowerCase(); 18719 skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang; 18720 continue; 18721 } else if (skipLang) { 18722 continue; 18723 } 18724 18725 match = reImport.exec(line); 18726 18727 if (match) { 18728 loadImport(baseURL + match[1], nextEntry); 18729 return; 18730 } 18731 } 18732 18733 var tmp = line.match(reSplit); 18734 18735 if (tmp && tmp.length == 3) { 18736 dictionary[tmp[1]] = evalString(tmp[2]); 18737 } 18738 } 18739 } 18740 18741 nextEntry(); 18742 } 18743 18744 function loadImport(url, callback) { 18745 xhrLoadText(url, function (content) { 18746 parseRawLines(content, false, callback); 18747 }, function () { 18748 console.warn(url + ' not found.'); 18749 callback(); 18750 }); 18751 } 18752 18753 parseRawLines(text, true, function () { 18754 parsedPropertiesCallback(dictionary); 18755 }); 18756 } 18757 18758 xhrLoadText(href, function (response) { 18759 gTextData += response; 18760 parseProperties(response, function (data) { 18761 for (var key in data) { 18762 var id, 18763 prop, 18764 index = key.lastIndexOf('.'); 18765 18766 if (index > 0) { 18767 id = key.substring(0, index); 18768 prop = key.substring(index + 1); 18769 } else { 18770 id = key; 18771 prop = gTextProp; 18772 } 18773 18774 if (!gL10nData[id]) { 18775 gL10nData[id] = {}; 18776 } 18777 18778 gL10nData[id][prop] = data[key]; 18779 } 18780 18781 if (successCallback) { 18782 successCallback(); 18783 } 18784 }); 18785 }, failureCallback); 18786 } 18787 18788 function loadLocale(lang, callback) { 18789 if (lang) { 18790 lang = lang.toLowerCase(); 18791 } 18792 18793 callback = callback || function _callback() {}; 18794 18795 clear(); 18796 gLanguage = lang; 18797 var langLinks = getL10nResourceLinks(); 18798 var langCount = langLinks.length; 18799 18800 if (langCount === 0) { 18801 var dict = getL10nDictionary(); 18802 18803 if (dict && dict.locales && dict.default_locale) { 18804 console.log('using the embedded JSON directory, early way out'); 18805 gL10nData = dict.locales[lang]; 18806 18807 if (!gL10nData) { 18808 var defaultLocale = dict.default_locale.toLowerCase(); 18809 18810 for (var anyCaseLang in dict.locales) { 18811 anyCaseLang = anyCaseLang.toLowerCase(); 18812 18813 if (anyCaseLang === lang) { 18814 gL10nData = dict.locales[lang]; 18815 break; 18816 } else if (anyCaseLang === defaultLocale) { 18817 gL10nData = dict.locales[defaultLocale]; 18818 } 18819 } 18820 } 18821 18822 callback(); 18823 } else { 18824 console.log('no resource to load, early way out'); 18825 } 18826 18827 gReadyState = 'complete'; 18828 return; 18829 } 18830 18831 var onResourceLoaded = null; 18832 var gResourceCount = 0; 18833 18834 onResourceLoaded = function onResourceLoaded() { 18835 gResourceCount++; 18836 18837 if (gResourceCount >= langCount) { 18838 callback(); 18839 gReadyState = 'complete'; 18840 } 18841 }; 18842 18843 function L10nResourceLink(link) { 18844 var href = link.href; 18845 18846 this.load = function (lang, callback) { 18847 parseResource(href, lang, callback, function () { 18848 console.warn(href + ' not found.'); 18849 console.warn('"' + lang + '" resource not found'); 18850 gLanguage = ''; 18851 callback(); 18852 }); 18853 }; 18854 } 18855 18856 for (var i = 0; i < langCount; i++) { 18857 var resource = new L10nResourceLink(langLinks[i]); 18858 resource.load(lang, onResourceLoaded); 18859 } 18860 } 18861 18862 function clear() { 18863 gL10nData = {}; 18864 gTextData = ''; 18865 gLanguage = ''; 18866 } 18867 18868 function getPluralRules(lang) { 18869 var locales2rules = { 18870 'af': 3, 18871 'ak': 4, 18872 'am': 4, 18873 'ar': 1, 18874 'asa': 3, 18875 'az': 0, 18876 'be': 11, 18877 'bem': 3, 18878 'bez': 3, 18879 'bg': 3, 18880 'bh': 4, 18881 'bm': 0, 18882 'bn': 3, 18883 'bo': 0, 18884 'br': 20, 18885 'brx': 3, 18886 'bs': 11, 18887 'ca': 3, 18888 'cgg': 3, 18889 'chr': 3, 18890 'cs': 12, 18891 'cy': 17, 18892 'da': 3, 18893 'de': 3, 18894 'dv': 3, 18895 'dz': 0, 18896 'ee': 3, 18897 'el': 3, 18898 'en': 3, 18899 'eo': 3, 18900 'es': 3, 18901 'et': 3, 18902 'eu': 3, 18903 'fa': 0, 18904 'ff': 5, 18905 'fi': 3, 18906 'fil': 4, 18907 'fo': 3, 18908 'fr': 5, 18909 'fur': 3, 18910 'fy': 3, 18911 'ga': 8, 18912 'gd': 24, 18913 'gl': 3, 18914 'gsw': 3, 18915 'gu': 3, 18916 'guw': 4, 18917 'gv': 23, 18918 'ha': 3, 18919 'haw': 3, 18920 'he': 2, 18921 'hi': 4, 18922 'hr': 11, 18923 'hu': 0, 18924 'id': 0, 18925 'ig': 0, 18926 'ii': 0, 18927 'is': 3, 18928 'it': 3, 18929 'iu': 7, 18930 'ja': 0, 18931 'jmc': 3,
18932 'jv': 0, 18933 'ka': 0, 18934 'kab': 5, 18935 'kaj': 3, 18936 'kcg': 3, 18937 'kde': 0, 18938 'kea': 0, 18939 'kk': 3, 18940 'kl': 3, 18941 'km': 0, 18942 'kn': 0, 18943 'ko': 0, 18944 'ksb': 3, 18945 'ksh': 21, 18946 'ku': 3, 18947 'kw': 7, 18948 'lag': 18, 18949 'lb': 3, 18950 'lg': 3, 18951 'ln': 4, 18952 'lo': 0, 18953 'lt': 10, 18954 'lv': 6, 18955 'mas': 3, 18956 'mg': 4, 18957 'mk': 16, 18958 'ml': 3, 18959 'mn': 3, 18960 'mo': 9, 18961 'mr': 3, 18962 'ms': 0, 18963 'mt': 15, 18964 'my': 0, 18965 'nah': 3, 18966 'naq': 7, 18967 'nb': 3, 18968 'nd': 3, 18969 'ne': 3, 18970 'nl': 3, 18971 'nn': 3, 18972 'no': 3, 18973 'nr': 3, 18974 'nso': 4, 18975 'ny': 3, 18976 'nyn': 3, 18977 'om': 3, 18978 'or': 3, 18979 'pa': 3, 18980 'pap': 3, 18981 'pl': 13, 18982 'ps': 3, 18983 'pt': 3, 18984 'rm': 3, 18985 'ro': 9, 18986 'rof': 3, 18987 'ru': 11, 18988 'rwk': 3, 18989 'sah': 0, 18990 'saq': 3, 18991 'se': 7, 18992 'seh': 3, 18993 'ses': 0, 18994 'sg': 0, 18995 'sh': 11, 18996 'shi': 19, 18997 'sk': 12, 18998 'sl': 14, 18999 'sma': 7, 19000 'smi': 7, 19001 'smj': 7, 19002 'smn': 7, 19003 'sms': 7, 19004 'sn': 3, 19005 'so': 3, 19006 'sq': 3, 19007 'sr': 11, 19008 'ss': 3, 19009 'ssy': 3, 19010 'st': 3, 19011 'sv': 3, 19012 'sw': 3, 19013 'syr': 3, 19014 'ta': 3, 19015 'te': 3, 19016 'teo': 3, 19017 'th': 0, 19018 'ti': 4, 19019 'tig': 3, 19020 'tk': 3, 19021 'tl': 4, 19022 'tn': 3, 19023 'to': 0, 19024 'tr': 0, 19025 'ts': 3, 19026 'tzm': 22, 19027 'uk': 11, 19028 'ur': 3, 19029 've': 3, 19030 'vi': 0, 19031 'vun': 3, 19032 'wa': 4, 19033 'wae': 3, 19034 'wo': 0, 19035 'xh': 3, 19036 'xog': 3, 19037 'yo': 0, 19038 'zh': 0, 19039 'zu': 3 19040 }; 19041 19042 function isIn(n, list) { 19043 return list.indexOf(n) !== -1; 19044 } 19045 19046 function isBetween(n, start, end) { 19047 return start <= n && n <= end; 19048 } 19049 19050 var pluralRules = { 19051 '0': function _(n) { 19052 return 'other'; 19053 }, 19054 '1': function _(n) { 19055 if (isBetween(n % 100, 3, 10)) return 'few'; 19056 if (n === 0) return 'zero'; 19057 if (isBetween(n % 100, 11, 99)) return 'many'; 19058 if (n == 2) return 'two'; 19059 if (n == 1) return 'one'; 19060 return 'other'; 19061 }, 19062 '2': function _(n) { 19063 if (n !== 0 && n % 10 === 0) return 'many'; 19064 if (n == 2) return 'two'; 19065 if (n == 1) return 'one'; 19066 return 'other'; 19067 }, 19068 '3': function _(n) { 19069 if (n == 1) return 'one'; 19070 return 'other'; 19071 }, 19072 '4': function _(n) { 19073 if (isBetween(n, 0, 1)) return 'one'; 19074 return 'other'; 19075 }, 19076 '5': function _(n) { 19077 if (isBetween(n, 0, 2) && n != 2) return 'one'; 19078 return 'other'; 19079 }, 19080 '6': function _(n) { 19081 if (n === 0) return 'zero'; 19082 if (n % 10 == 1 && n % 100 != 11) return 'one'; 19083 return 'other'; 19084 }, 19085 '7': function _(n) { 19086 if (n == 2) return 'two'; 19087 if (n == 1) return 'one'; 19088 return 'other'; 19089 }, 19090 '8': function _(n) { 19091 if (isBetween(n, 3, 6)) return 'few'; 19092 if (isBetween(n, 7, 10)) return 'many'; 19093 if (n == 2) return 'two'; 19094 if (n == 1) return 'one'; 19095 return 'other'; 19096 }, 19097 '9': function _(n) { 19098 if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few'; 19099 if (n == 1) return 'one'; 19100 return 'other'; 19101 }, 19102 '10': function _(n) { 19103 if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few'; 19104 if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one'; 19105 return 'other'; 19106 }, 19107 '11': function _(n) { 19108 if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; 19109 if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many'; 19110 if (n % 10 == 1 && n % 100 != 11) return 'one'; 19111 return 'other'; 19112 }, 19113 '12': function _(n) { 19114 if (isBetween(n, 2, 4)) return 'few'; 19115 if (n == 1) return 'one'; 19116 return 'other'; 19117 }, 19118 '13': function _(n) { 19119 if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; 19120 if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many'; 19121 if (n == 1) return 'one'; 19122 return 'other'; 19123 }, 19124 '14': function _(n) { 19125 if (isBetween(n % 100, 3, 4)) return 'few'; 19126 if (n % 100 == 2) return 'two'; 19127 if (n % 100 == 1) return 'one'; 19128 return 'other'; 19129 }, 19130 '15': function _(n) { 19131 if (n === 0 || isBetween(n % 100, 2, 10)) return 'few'; 19132 if (isBetween(n % 100, 11, 19)) return 'many'; 19133 if (n == 1) return 'one'; 19134 return 'other'; 19135 }, 19136 '16': function _(n) { 19137 if (n % 10 == 1 && n != 11) return 'one'; 19138 return 'other'; 19139 }, 19140 '17': function _(n) { 19141 if (n == 3) return 'few'; 19142 if (n === 0) return 'zero'; 19143 if (n == 6) return 'many'; 19144 if (n == 2) return 'two'; 19145 if (n == 1) return 'one'; 19146 return 'other'; 19147 }, 19148 '18': function _(n) { 19149 if (n === 0) return 'zero'; 19150 if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one'; 19151 return 'other'; 19152 }, 19153 '19': function _(n) { 19154 if (isBetween(n, 2, 10)) return 'few'; 19155 if (isBetween(n, 0, 1)) return 'one'; 19156 return 'other'; 19157 }, 19158 '20': function _(n) { 19159 if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few'; 19160 if (n % 1000000 === 0 && n !== 0) return 'many'; 19161 if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two'; 19162 if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one'; 19163 return 'other'; 19164 }, 19165 '21': function _(n) { 19166 if (n === 0) return 'zero'; 19167 if (n == 1) return 'one'; 19168 return 'other'; 19169 }, 19170 '22': function _(n) { 19171 if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one'; 19172 return 'other'; 19173 }, 19174 '23': function _(n) { 19175 if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one'; 19176 return 'other'; 19177 }, 19178 '24': function _(n) { 19179 if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few'; 19180 if (isIn(n, [2, 12])) return 'two'; 19181 if (isIn(n, [1, 11])) return 'one'; 19182 return 'other'; 19183 } 19184 }; 19185 var index = locales2rules[lang.replace(/-.*$/, '')]; 19186 19187 if (!(index in pluralRules)) { 19188 console.warn('plural form unknown for [' + lang + ']'); 19189 return function () { 19190 return 'other'; 19191 }; 19192 } 19193 19194 return pluralRules[index]; 19195 } 19196 19197 gMacros.plural = function (str, param, key, prop) { 19198 var n = parseFloat(param); 19199 if (isNaN(n)) return str; 19200 if (prop != gTextProp) return str; 19201 19202 if (!gMacros._pluralRules) { 19203 gMacros._pluralRules = getPluralRules(gLanguage); 19204 } 19205 19206 var index = '[' + gMacros._pluralRules(n) + ']'; 19207 19208 if (n === 0 && key + '[zero]' in gL10nData) { 19209 str = gL10nData[key + '[zero]'][prop]; 19210 } else if (n == 1 && key + '[one]' in gL10nData) { 19211 str = gL10nData[key + '[one]'][prop]; 19212 } else if (n == 2 && key + '[two]' in gL10nData) { 19213 str = gL10nData[key + '[two]'][prop]; 19214 } else if (key + index in gL10nData) { 19215 str = gL10nData[key + index][prop]; 19216 } else if (key + '[other]' in gL10nData) { 19217 str = gL10nData[key + '[other]'][prop]; 19218 } 19219 19220 return str; 19221 }; 19222 19223 function getL10nData(key, args, fallback) { 19224 var data = gL10nData[key]; 19225 19226 if (!data) { 19227 console.warn('#' + key + ' is undefined.'); 19228 19229 if (!fallback) { 19230 return null; 19231 } 19232 19233 data = fallback; 19234 } 19235 19236 var rv = {}; 19237 19238 for (var prop in data) { 19239 var str = data[prop]; 19240 str = substIndexes(str, args, key, prop); 19241 str = substArguments(str, args, key); 19242 rv[prop] = str; 19243 } 19244 19245 return rv; 19246 } 19247 19248 function substIndexes(str, args, key, prop) { 19249 var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/; 19250 var reMatch = reIndex.exec(str); 19251 if (!reMatch || !reMatch.length) return str; 19252 var macroName = reMatch[1]; 19253 var paramName = reMatch[2]; 19254 var param; 19255 19256 if (args && paramName in args) { 19257 param = args[paramName]; 19258 } else if (paramName in gL10nData) { 19259 param = gL10nData[paramName]; 19260 } 19261 19262 if (macroName in gMacros) { 19263 var macro = gMacros[macroName]; 19264 str = macro(str, param, key, prop); 19265 } 19266 19267 return str; 19268 } 19269 19270 function substArguments(str, args, key) { 19271 var reArgs = /\{\{\s*(.+?)\s*\}\}/g; 19272 return str.replace(reArgs, function (matched_text, arg) { 19273 if (args && arg in args) { 19274 return args[arg]; 19275 } 19276 19277 if (arg in gL10nData) { 19278 return gL10nData[arg]; 19279 } 19280 19281 console.log('argument {{' + arg + '}} for #' + key + ' is undefined.'); 19282 return matched_text; 19283 }); 19284 } 19285 19286 function translateElement(element) { 19287 var l10n = getL10nAttributes(element); 19288 if (!l10n.id) return; 19289 var data = getL10nData(l10n.id, l10n.args); 19290 19291 if (!data) { 19292 console.warn('#' + l10n.id + ' is undefined.'); 19293 return; 19294 } 19295 19296 if (data[gTextProp]) { 19297 if (getChildElementCount(element) === 0) { 19298 element[gTextProp] = data[gTextProp]; 19299 } else { 19300 var children = element.childNodes; 19301 var found = false;
19302 19303 for (var i = 0, l = children.length; i < l; i++) { 19304 if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) { 19305 if (found) { 19306 children[i].nodeValue = ''; 19307 } else { 19308 children[i].nodeValue = data[gTextProp]; 19309 found = true; 19310 } 19311 } 19312 } 19313 19314 if (!found) { 19315 var textNode = document.createTextNode(data[gTextProp]); 19316 element.insertBefore(textNode, element.firstChild); 19317 } 19318 } 19319 19320 delete data[gTextProp]; 19321 } 19322 19323 for (var k in data) { 19324 element[k] = data[k]; 19325 } 19326 } 19327 19328 function getChildElementCount(element) { 19329 if (element.children) { 19330 return element.children.length; 19331 } 19332 19333 if (typeof element.childElementCount !== 'undefined') { 19334 return element.childElementCount; 19335 } 19336 19337 var count = 0; 19338 19339 for (var i = 0; i < element.childNodes.length; i++) { 19340 count += element.nodeType === 1 ? 1 : 0; 19341 } 19342 19343 return count; 19344 } 19345 19346 function translateFragment(element) { 19347 element = element || document.documentElement; 19348 var children = getTranslatableChildren(element); 19349 var elementCount = children.length; 19350 19351 for (var i = 0; i < elementCount; i++) { 19352 translateElement(children[i]); 19353 } 19354 19355 translateElement(element); 19356 } 19357 19358 return { 19359 get: function get(key, args, fallbackString) { 19360 var index = key.lastIndexOf('.'); 19361 var prop = gTextProp; 19362 19363 if (index > 0) { 19364 prop = key.substring(index + 1); 19365 key = key.substring(0, index); 19366 } 19367 19368 var fallback; 19369 19370 if (fallbackString) { 19371 fallback = {}; 19372 fallback[prop] = fallbackString; 19373 } 19374 19375 var data = getL10nData(key, args, fallback); 19376 19377 if (data && prop in data) { 19378 return data[prop]; 19379 } 19380 19381 return '{{' + key + '}}'; 19382 }, 19383 getData: function getData() { 19384 return gL10nData; 19385 }, 19386 getText: function getText() { 19387 return gTextData; 19388 }, 19389 getLanguage: function getLanguage() { 19390 return gLanguage; 19391 }, 19392 setLanguage: function setLanguage(lang, callback) { 19393 loadLocale(lang, function () { 19394 if (callback) callback(); 19395 }); 19396 }, 19397 getDirection: function getDirection() { 19398 var rtlList = ['ar', 'he', 'fa', 'ps', 'ur']; 19399 var shortCode = gLanguage.split('-', 1)[0]; 19400 return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr'; 19401 }, 19402 translate: translateFragment, 19403 getReadyState: function getReadyState() { 19404 return gReadyState; 19405 }, 19406 ready: function ready(callback) { 19407 if (!callback) { 19408 return; 19409 } else if (gReadyState == 'complete' || gReadyState == 'interactive') { 19410 window.setTimeout(function () { 19411 callback(); 19412 }); 19413 } else if (document.addEventListener) { 19414 document.addEventListener('localized', function once() { 19415 document.removeEventListener('localized', once); 19416 callback(); 19417 }); 19418 } 19419 } 19420 }; 19421}(window, document); 19422 19423/***/ }), 19424/* 46 */ 19425/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 19426 19427 19428 19429Object.defineProperty(exports, "__esModule", ({ 19430 value: true 19431})); 19432exports.docPropertiesLookup = docPropertiesLookup; 19433exports.GenericScripting = void 0; 19434 19435var _regenerator = _interopRequireDefault(__webpack_require__(4)); 19436 19437var _pdfjsLib = __webpack_require__(7); 19438 19439function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } 19440 19441function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } 19442 19443function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); }
19443 else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 19444 19445function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 19446 19447function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 19448 19449function _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); } } 19450 19451function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 19452 19453function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } 19454 19455function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } 19456 19457function docPropertiesLookup(_x) { 19458 return _docPropertiesLookup.apply(this, arguments); 19459} 19460 19461function _docPropertiesLookup() { 19462 _docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pdfDocument) { 19463 var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length; 19464 19465 return _regenerator["default"].wrap(function _callee4$(_context4) { 19466 while (1) { 19467 switch (_context4.prev = _context4.next) { 19468 case 0: 19469 url = "", baseUrl = url.split("#")[0]; 19470 _context4.next = 3; 19471 return pdfDocument.getMetadata(); 19472 19473 case 3: 19474 _yield$pdfDocument$ge = _context4.sent; 19475 info = _yield$pdfDocument$ge.info; 19476 metadata = _yield$pdfDocument$ge.metadata; 19477 contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; 19478 contentLength = _yield$pdfDocument$ge.contentLength; 19479 19480 if (contentLength) { 19481 _context4.next = 14; 19482 break; 19483 } 19484 19485 _context4.next = 11; 19486 return pdfDocument.getDownloadInfo(); 19487 19488 case 11: 19489 _yield$pdfDocument$ge2 = _context4.sent; 19490 length = _yield$pdfDocument$ge2.length; 19491 contentLength = length; 19492 19493 case 14: 19494 return _context4.abrupt("return", _objectSpread(_objectSpread({}, info), {}, { 19495 baseURL: baseUrl, 19496 filesize: contentLength, 19497 filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url), 19498 metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(), 19499 authors: metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:creator"), 19500 numPages: pdfDocument.numPages, 19501 URL: url 19502 })); 19503 19504 case 15: 19505 case "end": 19506 return _context4.stop(); 19507 } 19508 } 19509 }, _callee4); 19510 })); 19511 return _docPropertiesLookup.apply(this, arguments); 19512} 19513 19514var GenericScripting = /*#__PURE__*/function () { 19515 function GenericScripting(sandboxBundleSrc) { 19516 _classCallCheck(this, GenericScripting); 19517 19518 this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () { 19519 return window.pdfjsSandbox.QuickJSSandbox(); 19520 }); 19521 } 19522 19523 _createClass(GenericScripting, [{ 19524 key: "createSandbox", 19525 value: function () { 19526 var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) { 19527 var sandbox; 19528 return _regenerator["default"].wrap(function _callee$(_context) { 19529 while (1) { 19530 switch (_context.prev = _context.next) { 19531 case 0: 19532 _context.next = 2; 19533 return this._ready; 19534 19535 case 2: 19536 sandbox = _context.sent; 19537 sandbox.create(data); 19538 19539 case 4: 19540 case "end": 19541 return _context.stop(); 19542 } 19543 } 19544 }, _callee, this); 19545 })); 19546 19547 function createSandbox(_x2) { 19548 return _createSandbox.apply(this, arguments); 19549 } 19550 19551 return createSandbox; 19552 }() 19553 }, { 19554 key: "dispatchEventInSandbox", 19555 value: function () { 19556 var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(event) { 19557 var sandbox; 19558 return _regenerator["default"].wrap(function _callee2$(_context2) { 19559 while (1) { 19560 switch (_context2.prev = _context2.next) { 19561 case 0: 19562 _context2.next = 2; 19563 return this._ready; 19564 19565 case 2: 19566 sandbox = _context2.sent; 19567 sandbox.dispatchEvent(event); 19568 19569 case 4: 19570 case "end": 19571 return _context2.stop(); 19572 } 19573 } 19574 }, _callee2, this); 19575 })); 19576 19577 function dispatchEventInSandbox(_x3) { 19578 return _dispatchEventInSandbox.apply(this, arguments); 19579 } 19580
19581 return dispatchEventInSandbox; 19582 }() 19583 }, { 19584 key: "destroySandbox", 19585 value: function () { 19586 var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { 19587 var sandbox; 19588 return _regenerator["default"].wrap(function _callee3$(_context3) { 19589 while (1) { 19590 switch (_context3.prev = _context3.next) { 19591 case 0: 19592 _context3.next = 2; 19593 return this._ready; 19594 19595 case 2: 19596 sandbox = _context3.sent; 19597 sandbox.nukeSandbox(); 19598 19599 case 4: 19600 case "end": 19601 return _context3.stop(); 19602 } 19603 } 19604 }, _callee3, this); 19605 })); 19606 19607 function destroySandbox() { 19608 return _destroySandbox.apply(this, arguments); 19609 } 19610 19611 return destroySandbox; 19612 }() 19613 }]); 19614 19615 return GenericScripting; 19616}(); 19617 19618exports.GenericScripting = GenericScripting; 19619 19620/***/ }), 19621/* 47 */ 19622/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 19623 19624 19625 19626Object.defineProperty(exports, "__esModule", ({ 19627 value: true 19628})); 19629exports.PDFPrintService = PDFPrintService; 19630 19631var _app = __webpack_require__(3); 19632 19633var _print_utils = __webpack_require__(48); 19634 19635var _viewer_compatibility = __webpack_require__(2); 19636 19637var activeService = null; 19638var overlayManager = null; 19639 19640function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise) { 19641 var scratchCanvas = activeService.scratchCanvas; 19642 var PRINT_UNITS = printResolution / 72.0; 19643 scratchCanvas.width = Math.floor(size.width * PRINT_UNITS); 19644 scratchCanvas.height = Math.floor(size.height * PRINT_UNITS); 19645 var ctx = scratchCanvas.getContext("2d"); 19646 ctx.save(); 19647 ctx.fillStyle = "rgb(255, 255, 255)"; 19648 ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height); 19649 ctx.restore(); 19650 return pdfDocument.getPage(pageNumber).then(function (pdfPage) { 19651 var renderContext = { 19652 canvasContext: ctx, 19653 transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], 19654 viewport: pdfPage.getViewport({ 19655 scale: 1, 19656 rotation: size.rotation 19657 }), 19658 intent: "print", 19659 includeAnnotationStorage: true, 19660 optionalContentConfigPromise: optionalContentConfigPromise 19661 }; 19662 return pdfPage.render(renderContext).promise; 19663 }); 19664} 19665 19666function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution) { 19667 var optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; 19668 var l10n = arguments.length > 5 ? arguments[5] : undefined; 19669 this.pdfDocument = pdfDocument; 19670 this.pagesOverview = pagesOverview; 19671 this.printContainer = printContainer; 19672 this._printResolution = printResolution || 150; 19673 this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig(); 19674 this.l10n = l10n; 19675 this.currentPage = -1; 19676 this.scratchCanvas = document.createElement("canvas"); 19677} 19678 19679PDFPrintService.prototype = { 19680 layout: function layout() { 19681 this.throwIfInactive(); 19682 var body = document.querySelector("body"); 19683 body.setAttribute("data-pdfjsprinting", true); 19684 var hasEqualPageSizes = this.pagesOverview.every(function (size) { 19685 return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height; 19686 }, this); 19687 19688 if (!hasEqualPageSizes) { 19689 console.warn("Not all pages have the same size. The printed " + "result may be incorrect!"); 19690 } 19691 19692 this.pageStyleSheet = document.createElement("style"); 19693 var pageSize = this.pagesOverview[0]; 19694 this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}"; 19695 body.appendChild(this.pageStyleSheet); 19696 }, 19697 destroy: function destroy() { 19698 if (activeService !== this) { 19699 return; 19700 } 19701 19702 this.printContainer.textContent = ""; 19703 var body = document.querySelector("body"); 19704 body.removeAttribute("data-pdfjsprinting"); 19705 19706 if (this.pageStyleSheet) { 19707 this.pageStyleSheet.remove(); 19708 this.pageStyleSheet = null; 19709 } 19710 19711 this.scratchCanvas.width = this.scratchCanvas.height = 0; 19712 this.scratchCanvas = null; 19713 activeService = null; 19714 ensureOverlay().then(function () { 19715 if (overlayManager.active !== "printServiceOverlay") { 19716 return; 19717 } 19718 19719 overlayManager.close("printServiceOverlay"); 19720 }); 19721 }, 19722 renderPages: function renderPages() { 19723 var _this = this; 19724 19725 if (this.pdfDocument.isPureXfa) { 19726 (0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument); 19727 return Promise.resolve(); 19728 } 19729 19730 var pageCount = this.pagesOverview.length; 19731 19732 var renderNextPage = function renderNextPage(resolve, reject) { 19733 _this.throwIfInactive(); 19734 19735 if (++_this.currentPage >= pageCount) { 19736 renderProgress(pageCount, pageCount, _this.l10n); 19737 resolve(); 19738 return; 19739 } 19740 19741 var index = _this.currentPage; 19742 renderProgress(index, pageCount, _this.l10n); 19743 renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index], _this._printResolution, _this._optionalContentConfigPromise).then(_this.useRenderedPage.bind(_this)).then(function () { 19744 renderNextPage(resolve, reject); 19745 }, reject); 19746 }; 19747 19748 return new Promise(renderNextPage); 19749 }, 19750 useRenderedPage: function useRenderedPage() { 19751 this.throwIfInactive(); 19752 var img = document.createElement("img"); 19753 var scratchCanvas = this.scratchCanvas; 19754 19755 if ("toBlob" in scratchCanvas && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { 19756 scratchCanvas.toBlob(function (blob) { 19757 img.src = URL.createObjectURL(blob); 19758 }); 19759 } else { 19760 img.src = scratchCanvas.toDataURL(); 19761 } 19762 19763 var wrapper = document.createElement("div"); 19764 wrapper.className = "printedPage"; 19765 wrapper.appendChild(img); 19766 this.printContainer.appendChild(wrapper); 19767 return new Promise(function (resolve, reject) { 19768 img.onload = resolve; 19769 img.onerror = reject; 19770 }); 19771 }, 19772 performPrint: function performPrint() { 19773 var _this2 = this; 19774 19775 this.throwIfInactive(); 19776 return new Promise(function (resolve) { 19777 setTimeout(function () { 19778 if (!_this2.active) { 19779 resolve(); 19780 return; 19781 } 19782 19783 print.call(window); 19784 setTimeout(resolve, 20); 19785 }, 0); 19786 }); 19787 }, 19788 19789 get active() { 19790 return this === activeService; 19791 }, 19792 19793 throwIfInactive: function throwIfInactive() { 19794 if (!this.active) { 19795 throw new Error("This print request was cancelled or completed."); 19796 } 19797 } 19798}; 19799var print = window.print; 19800 19801window.print = function () { 19802 if (activeService) { 19803 console.warn("Ignored window.print() because of a pending print job."); 19804 return; 19805 } 19806 19807 ensureOverlay().then(function () { 19808 if (activeService) { 19809 overlayManager.open("printServiceOverlay"); 19810 } 19811 }); 19812 19813 try { 19814 dispatchEvent("beforeprint"); 19815 } finally { 19816 if (!activeService) { 19817 console.error("Expected print service to be initialized."); 19818 ensureOverlay().then(function () { 19819 if (overlayManager.active === "printServiceOverlay") { 19820 overlayManager.close("printServiceOverlay"); 19821 } 19822 }); 19823 return; 19824 } 19825 19826 var activeServiceOnEntry = activeService; 19827 activeService.renderPages().then(function () { 19828 return activeServiceOnEntry.performPrint(); 19829 })["catch"](function () {}).then(function () { 19830 if (activeServiceOnEntry.active) { 19831 abort(); 19832 } 19833 }); 19834 } 19835}; 19836 19837function dispatchEvent(eventType) { 19838 var event = document.createEvent("CustomEvent"); 19839 event.initCustomEvent(eventType, false, false, "custom"); 19840 window.dispatchEvent(event); 19841} 19842 19843function abort() { 19844 if (activeService) { 19845 activeService.destroy(); 19846 dispatchEvent("afterprint"); 19847 } 19848} 19849 19850function renderProgress(index, total, l10n) { 19851 var progressContainer = document.getElementById("printServiceOverlay"); 19852 var progress = Math.round(100 * index / total); 19853 var progressBar = progressContainer.querySelector("progress"); 19854 var progressPerc = progressContainer.querySelector(".relative-progress"); 19855 progressBar.value = progress; 19856 l10n.get("print_progress_percent", { 19857 progress: progress 19858 }).then(function (msg) { 19859 progressPerc.textContent = msg; 19860 }); 19861} 19862 19863window.addEventListener("keydown", function (event) { 19864 if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) { 19865 window.print(); 19866 event.preventDefault(); 19867 19868 if (event.stopImmediatePropagation) { 19869 event.stopImmediatePropagation(); 19870 } else { 19871 event.stopPropagation(); 19872 } 19873 } 19874}, true); 19875 19876if ("onbeforeprint" in window) { 19877 var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) { 19878 if (event.detail !== "custom" && event.stopImmediatePropagation) { 19879 event.stopImmediatePropagation(); 19880 } 19881 }; 19882 19883 window.addEventListener("beforeprint", stopPropagationIfNeeded); 19884 window.addEventListener("afterprint", stopPropagationIfNeeded); 19885} 19886 19887var overlayPromise; 19888 19889function ensureOverlay() { 19890 if (!overlayPromise) { 19891 overlayManager = _app.PDFViewerApplication.overlayManager; 19892 19893 if (!overlayManager) { 19894 throw new Error("The overlay manager has not yet been initialized."); 19895 } 19896 19897 overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true); 19898 document.getElementById("printCancel").onclick = abort; 19899 } 19900 19901 return overlayPromise; 19902} 19903 19904_app.PDFPrintServiceFactory.instance = { 19905 supportsPrinting: true, 19906 createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n) { 19907 if (activeService) { 19908 throw new Error("The print service is created and active."); 19909 } 19910 19911 activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n); 19912 return activeService; 19913 } 19914}; 19915 19916/***/ }), 19917/* 48 */ 19918/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 19919 19920 19921 19922Object.defineProperty(exports, "__esModule", ({ 19923 value: true 19924})); 19925exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting; 19926 19927var _ui_utils = __webpack_require__(6); 19928 19929var _xfa_layer_builder = __webpack_require__(36); 19930 19931var _pdfjsLib = __webpack_require__(7); 19932 19933function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 19934 19935function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 19936 19937function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 19938 19939function getXfaHtmlForPrinting(printContainer, pdfDocument) { 19940 var xfaHtml = pdfDocument.allXfaHtml; 19941 var factory = new _xfa_layer_builder.DefaultXfaLayerFactory(); 19942 var scale = Math.round(_ui_utils.CSS_UNITS * 100) / 100; 19943 19944 var _iterator = _createForOfIteratorHelper(xfaHtml.children), 19945 _step; 19946 19947 try { 19948 for (_iterator.s();
19948 !(_step = _iterator.n()).done;) { 19949 var xfaPage = _step.value; 19950 var page = document.createElement("div"); 19951 page.className = "xfaPrintedPage"; 19952 printContainer.appendChild(page); 19953 var builder = factory.createXfaLayerBuilder(page, null, pdfDocument.annotationStorage, xfaPage); 19954 var viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, { 19955 scale: scale 19956 }); 19957 builder.render(viewport, "print"); 19958 } 19959 } catch (err) { 19960 _iterator.e(err); 19961 } finally { 19962 _iterator.f(); 19963 } 19964} 19965 19966/***/ }) 19967/******/ ]); 19968/************************************************************************/ 19969/******/ // The module cache 19970/******/ var __webpack_module_cache__ = {}; 19971/******/ 19972/******/ // The require function 19973/******/ function __webpack_require__(moduleId) { 19974/******/ // Check if module is in cache 19975/******/ var cachedModule = __webpack_module_cache__[moduleId]; 19976/******/ if (cachedModule !== undefined) { 19977/******/ return cachedModule.exports; 19978/******/ } 19979/******/ // Create a new module (and put it into the cache) 19980/******/ var module = __webpack_module_cache__[moduleId] = { 19981/******/ id: moduleId, 19982/******/ loaded: false, 19983/******/ exports: {} 19984/******/ }; 19985/******/ 19986/******/ // Execute the module function 19987/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 19988/******/ 19989/******/ // Flag the module as loaded 19990/******/ module.loaded = true; 19991/******/ 19992/******/ // Return the exports of the module 19993/******/ return module.exports; 19994/******/ } 19995/******/ 19996/************************************************************************/ 19997/******/ /* webpack/runtime/node module decorator */ 19998/******/ (() => { 19999/******/ __webpack_require__.nmd = (module) => { 20000/******/ module.paths = []; 20001/******/ if (!module.children) module.children = []; 20002/******/ return module; 20003/******/ }; 20004/******/ })(); 20005/******/ 20006/************************************************************************/ 20007var __webpack_exports__ = {}; 20008// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. 20009(() => { 20010var exports = __webpack_exports__; 20011 20012 20013Object.defineProperty(exports, "__esModule", ({ 20014 value: true 20015})); 20016Object.defineProperty(exports, "PDFViewerApplicationOptions", ({ 20017 enumerable: true, 20018 get: function get() { 20019 return _app_options.AppOptions; 20020 } 20021})); 20022Object.defineProperty(exports, "PDFViewerApplication", ({ 20023 enumerable: true, 20024 get: function get() { 20025 return _app.PDFViewerApplication; 20026 } 20027})); 20028 20029var _app_options = __webpack_require__(1); 20030 20031var _app = __webpack_require__(3); 20032 20033var pdfjsVersion = '2.10.377'; 20034var pdfjsBuild = '156762c48'; 20035window.PDFViewerApplication = _app.PDFViewerApplication; 20036window.PDFViewerApplicationOptions = _app_options.AppOptions; 20037; 20038; 20039{ 20040 __webpack_require__(41); 20041} 20042; 20043{ 20044 __webpack_require__(47); 20045} 20046 20047function getViewerConfiguration() { 20048 var errorWrapper = null; 20049 errorWrapper = { 20050 container: document.getElementById("errorWrapper"), 20051 errorMessage: document.getElementById("errorMessage"), 20052 closeButton: document.getElementById("errorClose"), 20053 errorMoreInfo: document.getElementById("errorMoreInfo"), 20054 moreInfoButton: document.getElementById("errorShowMore"), 20055 lessInfoButton: document.getElementById("errorShowLess") 20056 }; 20057 return { 20058 appContainer: document.body, 20059 mainContainer: document.getElementById("viewerContainer"), 20060 viewerContainer: document.getElementById("viewer"), 20061 eventBus: null, 20062 toolbar: { 20063 container: document.getElementById("toolbarViewer"), 20064 numPages: document.getElementById("numPages"), 20065 pageNumber: document.getElementById("pageNumber"), 20066 scaleSelectContainer: document.getElementById("scaleSelectContainer"), 20067 scaleSelect: document.getElementById("scaleSelect"), 20068 customScaleOption: document.getElementById("customScaleOption"), 20069 previous: document.getElementById("previous"), 20070 next: document.getElementById("next"), 20071 zoomIn: document.getElementById("zoomIn"), 20072 zoomOut: document.getElementById("zoomOut"), 20073 viewFind: document.getElementById("viewFind"), 20074 openFile: document.getElementById("openFile"), 20075 print: document.getElementById("print"), 20076 presentationModeButton: document.getElementById("presentationMode"), 20077 download: document.getElementById("download"),
20078 viewBookmark: document.getElementById("viewBookmark") 20079 }, 20080 secondaryToolbar: { 20081 toolbar: document.getElementById("secondaryToolbar"), 20082 toggleButton: document.getElementById("secondaryToolbarToggle"), 20083 toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"), 20084 presentationModeButton: document.getElementById("secondaryPresentationMode"), 20085 openFileButton: document.getElementById("secondaryOpenFile"), 20086 printButton: document.getElementById("secondaryPrint"), 20087 downloadButton: document.getElementById("secondaryDownload"), 20088 viewBookmarkButton: document.getElementById("secondaryViewBookmark"), 20089 firstPageButton: document.getElementById("firstPage"), 20090 lastPageButton: document.getElementById("lastPage"), 20091 pageRotateCwButton: document.getElementById("pageRotateCw"), 20092 pageRotateCcwButton: document.getElementById("pageRotateCcw"), 20093 cursorSelectToolButton: document.getElementById("cursorSelectTool"), 20094 cursorHandToolButton: document.getElementById("cursorHandTool"), 20095 scrollVerticalButton: document.getElementById("scrollVertical"), 20096 scrollHorizontalButton: document.getElementById("scrollHorizontal"), 20097 scrollWrappedButton: document.getElementById("scrollWrapped"), 20098 spreadNoneButton: document.getElementById("spreadNone"), 20099 spreadOddButton: document.getElementById("spreadOdd"), 20100 spreadEvenButton: document.getElementById("spreadEven"), 20101 documentPropertiesButton: document.getElementById("documentProperties") 20102 }, 20103 sidebar: { 20104 outerContainer: document.getElementById("outerContainer"), 20105 viewerContainer: document.getElementById("viewerContainer"), 20106 toggleButton: document.getElementById("sidebarToggle"), 20107 thumbnailButton: document.getElementById("viewThumbnail"), 20108 outlineButton: document.getElementById("viewOutline"), 20109 attachmentsButton: document.getElementById("viewAttachments"), 20110 layersButton: document.getElementById("viewLayers"), 20111 thumbnailView: document.getElementById("thumbnailView"), 20112 outlineView: document.getElementById("outlineView"), 20113 attachmentsView: document.getElementById("attachmentsView"), 20114 layersView: document.getElementById("layersView"), 20115 outlineOptionsContainer: document.getElementById("outlineOptionsContainer"), 20116 currentOutlineItemButton: document.getElementById("currentOutlineItem") 20117 }, 20118 sidebarResizer: { 20119 outerContainer: document.getElementById("outerContainer"), 20120 resizer: document.getElementById("sidebarResizer") 20121 }, 20122 findBar: { 20123 bar: document.getElementById("findbar"), 20124 toggleButton: document.getElementById("viewFind"), 20125 findField: document.getElementById("findInput"), 20126 highlightAllCheckbox: document.getElementById("findHighlightAll"), 20127 caseSensitiveCheckbox: document.getElementById("findMatchCase"), 20128 entireWordCheckbox: document.getElementById("findEntireWord"), 20129 findMsg: document.getElementById("findMsg"), 20130 findResultsCount: document.getElementById("findResultsCount"), 20131 findPreviousButton: document.getElementById("findPrevious"), 20132 findNextButton: document.getElementById("findNext") 20133 }, 20134 passwordOverlay: { 20135 overlayName: "passwordOverlay", 20136 container: document.getElementById("passwordOverlay"), 20137 label: document.getElementById("passwordText"), 20138 input: document.getElementById("password"), 20139 submitButton: document.getElementById("passwordSubmit"), 20140 cancelButton: document.getElementById("passwordCancel") 20141 }, 20142 documentProperties: { 20143 overlayName: "documentPropertiesOverlay", 20144 container: document.getElementById("documentPropertiesOverlay"), 20145 closeButton: document.getElementById("documentPropertiesClose"), 20146 fields: { 20147 fileName: document.getElementById("fileNameField"), 20148 fileSize: document.getElementById("fileSizeField"), 20149 title: document.getElementById("titleField"), 20150 author: document.getElementById("authorField"), 20151 subject: document.getElementById("subjectField"), 20152 keywords: document.getElementById("keywordsField"), 20153 creationDate: document.getElementById("creationDateField"), 20154 modificationDate: document.getElementById("modificationDateField"), 20155 creator: document.getElementById("creatorField"), 20156 producer: document.getElementById("producerField"), 20157 version: document.getElementById("versionField"), 20158 pageCount: document.getElementById("pageCountField"), 20159 pageSize: document.getElementById("pageSizeField"), 20160 linearized: document.getElementById("linearizedField") 20161 } 20162 }, 20163 errorWrapper: errorWrapper, 20164 printContainer: document.getElementById("printContainer"), 20165 openFileInputName: "fileInput", 20166 debuggerScriptPath: "./debugger.js" 20167 }; 20168} 20169 20170function webViewerLoad() { 20171 var config = getViewerConfiguration(); 20172 var event = document.createEvent("CustomEvent"); 20173 event.initCustomEvent("webviewerloaded", true, true, { 20174 source: window 20175 }); 20176 20177 try { 20178 parent.document.dispatchEvent(event); 20179 } catch (ex) { 20180 console.error("webviewerloaded: ".concat(ex)); 20181 document.dispatchEvent(event); 20182 } 20183 20184 _app.PDFViewerApplication.run(config); 20185} 20186 20187if (document.blockUnblockOnload) { 20188 document.blockUnblockOnload(true); 20189} 20190 20191if (document.readyState === "interactive" || document.readyState === "complete") { 20192 webViewerLoad(); 20193} else { 20194 document.addEventListener("DOMContentLoaded", webViewerLoad, true); 20195} 20196}
20196)(); 20197 20198/******/ })() 20199; 20200//# sourceMappingURL=viewer.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.