pdfjs-dist 2.0.489 → 2.2.228
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/bower.json +1 -1
- package/build/pdf.js +18515 -11402
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +48266 -37137
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/external/url/url-lib.js +627 -0
- package/image_decoders/pdf.image_decoders.js +11350 -0
- package/image_decoders/pdf.image_decoders.js.map +1 -0
- package/image_decoders/pdf.image_decoders.min.js +1 -0
- package/lib/core/annotation.js +587 -242
- package/lib/core/arithmetic_decoder.js +275 -245
- package/lib/core/bidi.js +65 -6
- package/lib/core/ccitt.js +173 -18
- package/lib/core/ccitt_stream.js +15 -6
- package/lib/core/cff_parser.js +433 -61
- package/lib/core/charsets.js +5 -4
- package/lib/core/chunked_stream.js +400 -152
- package/lib/core/cmap.js +326 -87
- package/lib/core/colorspace.js +874 -594
- package/lib/core/core_utils.js +147 -0
- package/lib/core/crypto.js +290 -45
- package/lib/core/document.js +560 -268
- package/lib/core/encodings.js +19 -10
- package/lib/core/evaluator.js +1005 -360
- package/lib/core/font_renderer.js +331 -97
- package/lib/core/fonts.js +812 -195
- package/lib/core/function.js +284 -71
- package/lib/core/glyphlist.js +4 -3
- package/lib/core/image.js +169 -62
- package/lib/core/image_utils.js +111 -0
- package/lib/core/jbig2.js +479 -66
- package/lib/core/jbig2_stream.js +19 -8
- package/lib/core/jpeg_stream.js +38 -13
- package/lib/core/jpg.js +253 -29
- package/lib/core/jpx.js +396 -6
- package/lib/core/jpx_stream.js +18 -6
- package/lib/core/metrics.js +15 -15
- package/lib/core/murmurhash3.js +56 -34
- package/lib/core/obj.js +1354 -488
- package/lib/core/operator_list.js +144 -31
- package/lib/core/parser.js +539 -191
- package/lib/core/pattern.js +148 -14
- package/lib/core/pdf_manager.js +323 -133
- package/lib/core/primitives.js +111 -24
- package/lib/core/ps_parser.js +134 -45
- package/lib/core/standard_fonts.js +17 -17
- package/lib/core/stream.js +313 -34
- package/lib/core/type1_parser.js +143 -13
- package/lib/core/unicode.js +32 -5
- package/lib/core/worker.js +217 -190
- package/lib/core/worker_stream.js +277 -0
- package/lib/display/annotation_layer.js +450 -133
- package/lib/display/api.js +1597 -784
- package/lib/display/api_compatibility.js +11 -13
- package/lib/display/canvas.js +360 -44
- package/lib/display/content_disposition.js +83 -32
- package/lib/display/display_utils.js +747 -0
- package/lib/display/fetch_stream.js +221 -90
- package/lib/display/font_loader.js +468 -236
- package/lib/display/metadata.js +38 -16
- package/lib/display/network.js +635 -428
- package/lib/display/network_utils.js +32 -19
- package/lib/display/node_stream.js +367 -175
- package/lib/display/pattern_helper.js +81 -31
- package/lib/display/svg.js +1235 -519
- package/lib/display/text_layer.js +153 -29
- package/lib/display/transport_stream.js +345 -94
- package/lib/display/webgl.js +64 -18
- package/lib/display/worker_options.js +5 -4
- package/lib/display/xml_parser.js +166 -53
- package/lib/examples/node/domstubs.js +60 -4
- package/lib/pdf.js +36 -14
- package/lib/pdf.worker.js +5 -3
- package/lib/shared/compatibility.js +158 -564
- package/lib/shared/global_scope.js +2 -2
- package/lib/shared/is_node.js +4 -4
- package/lib/shared/message_handler.js +521 -0
- package/lib/shared/streams_polyfill.js +21 -17
- package/lib/shared/url_polyfill.js +56 -0
- package/lib/shared/util.js +243 -710
- package/lib/test/unit/annotation_spec.js +870 -401
- package/lib/test/unit/api_spec.js +657 -345
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +54 -11
- package/lib/test/unit/clitests_helper.js +10 -8
- package/lib/test/unit/cmap_spec.js +95 -41
- package/lib/test/unit/colorspace_spec.js +115 -63
- package/lib/test/unit/core_utils_spec.js +191 -0
- package/lib/test/unit/crypto_spec.js +17 -5
- package/lib/test/unit/custom_spec.js +43 -55
- package/lib/test/unit/display_svg_spec.js +34 -18
- package/lib/test/unit/display_utils_spec.js +273 -0
- package/lib/test/unit/document_spec.js +8 -13
- package/lib/test/unit/encodings_spec.js +25 -45
- package/lib/test/unit/evaluator_spec.js +38 -15
- package/lib/test/unit/fetch_stream_spec.js +109 -0
- package/lib/test/unit/function_spec.js +17 -5
- package/lib/test/unit/jasmine-boot.js +33 -20
- package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
- package/lib/test/unit/metadata_spec.js +71 -11
- package/lib/test/unit/murmurhash3_spec.js +3 -3
- package/lib/test/unit/network_spec.js +19 -54
- package/lib/test/unit/network_utils_spec.js +91 -14
- package/lib/test/unit/node_stream_spec.js +56 -32
- package/lib/test/unit/parser_spec.js +162 -71
- package/lib/test/unit/pdf_find_controller_spec.js +230 -0
- package/lib/test/unit/pdf_find_utils_spec.js +63 -0
- package/lib/test/unit/pdf_history_spec.js +21 -9
- package/lib/test/unit/primitives_spec.js +53 -20
- package/lib/test/unit/stream_spec.js +12 -4
- package/lib/test/unit/test_utils.js +273 -56
- package/lib/test/unit/testreporter.js +21 -3
- package/lib/test/unit/type1_parser_spec.js +8 -6
- package/lib/test/unit/ui_utils_spec.js +454 -16
- package/lib/test/unit/unicode_spec.js +18 -15
- package/lib/test/unit/util_spec.js +87 -128
- package/lib/web/annotation_layer_builder.js +39 -22
- package/lib/web/app.js +1290 -588
- package/lib/web/app_options.js +100 -62
- package/lib/web/base_viewer.js +511 -182
- package/lib/web/chromecom.js +261 -117
- package/lib/web/debugger.js +166 -22
- package/lib/web/download_manager.js +32 -13
- package/lib/web/firefox_print_service.js +20 -10
- package/lib/web/firefoxcom.js +315 -80
- package/lib/web/genericcom.js +89 -30
- package/lib/web/genericl10n.js +142 -30
- package/lib/web/grab_to_pan.js +28 -4
- package/lib/web/interfaces.js +170 -47
- package/lib/web/overlay_manager.js +235 -85
- package/lib/web/password_prompt.js +22 -14
- package/lib/web/pdf_attachment_viewer.js +38 -18
- package/lib/web/pdf_cursor_tools.js +39 -16
- package/lib/web/pdf_document_properties.js +255 -136
- package/lib/web/pdf_find_bar.js +84 -40
- package/lib/web/pdf_find_controller.js +495 -184
- package/lib/web/pdf_find_utils.js +111 -0
- package/lib/web/pdf_history.js +190 -53
- package/lib/web/pdf_link_service.js +138 -77
- package/lib/web/pdf_outline_viewer.js +122 -46
- package/lib/web/pdf_page_view.js +191 -67
- package/lib/web/pdf_presentation_mode.js +99 -34
- package/lib/web/pdf_print_service.js +61 -13
- package/lib/web/pdf_rendering_queue.js +28 -9
- package/lib/web/pdf_sidebar.js +141 -81
- package/lib/web/pdf_sidebar_resizer.js +42 -16
- package/lib/web/pdf_single_page_viewer.js +74 -66
- package/lib/web/pdf_thumbnail_view.js +104 -33
- package/lib/web/pdf_thumbnail_viewer.js +66 -26
- package/lib/web/pdf_viewer.component.js +112 -32
- package/lib/web/pdf_viewer.js +91 -52
- package/lib/web/preferences.js +284 -89
- package/lib/web/secondary_toolbar.js +165 -40
- package/lib/web/text_layer_builder.js +134 -59
- package/lib/web/toolbar.js +78 -43
- package/lib/web/ui_utils.js +462 -136
- package/lib/web/view_history.js +215 -67
- package/lib/web/viewer_compatibility.js +4 -13
- package/package.json +5 -4
- package/web/pdf_viewer.css +79 -11
- package/web/pdf_viewer.js +6107 -3748
- package/web/pdf_viewer.js.map +1 -1
- package/lib/display/dom_utils.js +0 -309
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/test/unit/fonts_spec.js +0 -81
- package/lib/web/dom_events.js +0 -137
package/lib/web/ui_utils.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2019 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -19,69 +19,215 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.
|
27
|
+
exports.isValidRotation = isValidRotation;
|
28
|
+
exports.isValidScrollMode = isValidScrollMode;
|
29
|
+
exports.isValidSpreadMode = isValidSpreadMode;
|
30
|
+
exports.isPortraitOrientation = isPortraitOrientation;
|
31
|
+
exports.getGlobalEventBus = getGlobalEventBus;
|
32
|
+
exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
|
33
|
+
exports.noContextMenuHandler = noContextMenuHandler;
|
34
|
+
exports.parseQueryString = parseQueryString;
|
35
|
+
exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
|
36
|
+
exports.getVisibleElements = getVisibleElements;
|
37
|
+
exports.roundToDivide = roundToDivide;
|
38
|
+
exports.getPageSizeInches = getPageSizeInches;
|
39
|
+
exports.approximateFraction = approximateFraction;
|
40
|
+
exports.getOutputScale = getOutputScale;
|
41
|
+
exports.scrollIntoView = scrollIntoView;
|
42
|
+
exports.watchScroll = watchScroll;
|
43
|
+
exports.binarySearchFirstItem = binarySearchFirstItem;
|
44
|
+
exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
|
45
|
+
exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
|
46
|
+
exports.moveToEndOfArray = moveToEndOfArray;
|
47
|
+
exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = void 0;
|
48
|
+
|
49
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
28
50
|
|
29
|
-
|
51
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
30
52
|
|
31
|
-
|
53
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
32
54
|
|
33
|
-
|
55
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
34
56
|
|
35
|
-
|
57
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
36
58
|
|
37
|
-
function
|
59
|
+
function _typeof(obj) { 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); }
|
60
|
+
|
61
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
62
|
+
|
63
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
64
|
+
|
65
|
+
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
|
66
|
+
|
67
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
68
|
+
|
69
|
+
function 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); } }
|
70
|
+
|
71
|
+
function _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); }); }; }
|
38
72
|
|
39
73
|
var CSS_UNITS = 96.0 / 72.0;
|
74
|
+
exports.CSS_UNITS = CSS_UNITS;
|
40
75
|
var DEFAULT_SCALE_VALUE = 'auto';
|
76
|
+
exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
|
41
77
|
var DEFAULT_SCALE = 1.0;
|
78
|
+
exports.DEFAULT_SCALE = DEFAULT_SCALE;
|
42
79
|
var MIN_SCALE = 0.10;
|
80
|
+
exports.MIN_SCALE = MIN_SCALE;
|
43
81
|
var MAX_SCALE = 10.0;
|
82
|
+
exports.MAX_SCALE = MAX_SCALE;
|
44
83
|
var UNKNOWN_SCALE = 0;
|
84
|
+
exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
|
45
85
|
var MAX_AUTO_SCALE = 1.25;
|
86
|
+
exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
|
46
87
|
var SCROLLBAR_PADDING = 40;
|
88
|
+
exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
|
47
89
|
var VERTICAL_PADDING = 5;
|
90
|
+
exports.VERTICAL_PADDING = VERTICAL_PADDING;
|
48
91
|
var PresentationModeState = {
|
49
92
|
UNKNOWN: 0,
|
50
93
|
NORMAL: 1,
|
51
94
|
CHANGING: 2,
|
52
95
|
FULLSCREEN: 3
|
53
96
|
};
|
97
|
+
exports.PresentationModeState = PresentationModeState;
|
54
98
|
var RendererType = {
|
55
99
|
CANVAS: 'canvas',
|
56
100
|
SVG: 'svg'
|
57
101
|
};
|
102
|
+
exports.RendererType = RendererType;
|
58
103
|
var TextLayerMode = {
|
59
104
|
DISABLE: 0,
|
60
105
|
ENABLE: 1,
|
61
106
|
ENABLE_ENHANCE: 2
|
62
107
|
};
|
108
|
+
exports.TextLayerMode = TextLayerMode;
|
109
|
+
var ScrollMode = {
|
110
|
+
UNKNOWN: -1,
|
111
|
+
VERTICAL: 0,
|
112
|
+
HORIZONTAL: 1,
|
113
|
+
WRAPPED: 2
|
114
|
+
};
|
115
|
+
exports.ScrollMode = ScrollMode;
|
116
|
+
var SpreadMode = {
|
117
|
+
UNKNOWN: -1,
|
118
|
+
NONE: 0,
|
119
|
+
ODD: 1,
|
120
|
+
EVEN: 2
|
121
|
+
};
|
122
|
+
exports.SpreadMode = SpreadMode;
|
123
|
+
|
63
124
|
function formatL10nValue(text, args) {
|
64
125
|
if (!args) {
|
65
126
|
return text;
|
66
127
|
}
|
128
|
+
|
67
129
|
return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
|
68
130
|
return name in args ? args[name] : '{{' + name + '}}';
|
69
131
|
});
|
70
132
|
}
|
133
|
+
|
71
134
|
var NullL10n = {
|
72
|
-
getLanguage: function
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
135
|
+
getLanguage: function () {
|
136
|
+
var _getLanguage = _asyncToGenerator(
|
137
|
+
/*#__PURE__*/
|
138
|
+
_regenerator["default"].mark(function _callee() {
|
139
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
140
|
+
while (1) {
|
141
|
+
switch (_context.prev = _context.next) {
|
142
|
+
case 0:
|
143
|
+
return _context.abrupt("return", 'en-us');
|
144
|
+
|
145
|
+
case 1:
|
146
|
+
case "end":
|
147
|
+
return _context.stop();
|
148
|
+
}
|
149
|
+
}
|
150
|
+
}, _callee);
|
151
|
+
}));
|
152
|
+
|
153
|
+
function getLanguage() {
|
154
|
+
return _getLanguage.apply(this, arguments);
|
155
|
+
}
|
156
|
+
|
157
|
+
return getLanguage;
|
158
|
+
}(),
|
159
|
+
getDirection: function () {
|
160
|
+
var _getDirection = _asyncToGenerator(
|
161
|
+
/*#__PURE__*/
|
162
|
+
_regenerator["default"].mark(function _callee2() {
|
163
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
164
|
+
while (1) {
|
165
|
+
switch (_context2.prev = _context2.next) {
|
166
|
+
case 0:
|
167
|
+
return _context2.abrupt("return", 'ltr');
|
168
|
+
|
169
|
+
case 1:
|
170
|
+
case "end":
|
171
|
+
return _context2.stop();
|
172
|
+
}
|
173
|
+
}
|
174
|
+
}, _callee2);
|
175
|
+
}));
|
176
|
+
|
177
|
+
function getDirection() {
|
178
|
+
return _getDirection.apply(this, arguments);
|
179
|
+
}
|
180
|
+
|
181
|
+
return getDirection;
|
182
|
+
}(),
|
183
|
+
get: function () {
|
184
|
+
var _get = _asyncToGenerator(
|
185
|
+
/*#__PURE__*/
|
186
|
+
_regenerator["default"].mark(function _callee3(property, args, fallback) {
|
187
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
188
|
+
while (1) {
|
189
|
+
switch (_context3.prev = _context3.next) {
|
190
|
+
case 0:
|
191
|
+
return _context3.abrupt("return", formatL10nValue(fallback, args));
|
192
|
+
|
193
|
+
case 1:
|
194
|
+
case "end":
|
195
|
+
return _context3.stop();
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}, _callee3);
|
199
|
+
}));
|
200
|
+
|
201
|
+
function get(_x, _x2, _x3) {
|
202
|
+
return _get.apply(this, arguments);
|
203
|
+
}
|
204
|
+
|
205
|
+
return get;
|
206
|
+
}(),
|
207
|
+
translate: function () {
|
208
|
+
var _translate = _asyncToGenerator(
|
209
|
+
/*#__PURE__*/
|
210
|
+
_regenerator["default"].mark(function _callee4(element) {
|
211
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
212
|
+
while (1) {
|
213
|
+
switch (_context4.prev = _context4.next) {
|
214
|
+
case 0:
|
215
|
+
case "end":
|
216
|
+
return _context4.stop();
|
217
|
+
}
|
218
|
+
}
|
219
|
+
}, _callee4);
|
220
|
+
}));
|
221
|
+
|
222
|
+
function translate(_x4) {
|
223
|
+
return _translate.apply(this, arguments);
|
224
|
+
}
|
225
|
+
|
226
|
+
return translate;
|
227
|
+
}()
|
84
228
|
};
|
229
|
+
exports.NullL10n = NullL10n;
|
230
|
+
|
85
231
|
function getOutputScale(ctx) {
|
86
232
|
var devicePixelRatio = window.devicePixelRatio || 1;
|
87
233
|
var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
|
@@ -92,57 +238,80 @@ function getOutputScale(ctx) {
|
|
92
238
|
scaled: pixelRatio !== 1
|
93
239
|
};
|
94
240
|
}
|
241
|
+
|
95
242
|
function scrollIntoView(element, spot) {
|
96
243
|
var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
97
|
-
|
98
244
|
var parent = element.offsetParent;
|
245
|
+
|
99
246
|
if (!parent) {
|
100
247
|
console.error('offsetParent is not set -- cannot scroll');
|
101
248
|
return;
|
102
249
|
}
|
250
|
+
|
103
251
|
var offsetY = element.offsetTop + element.clientTop;
|
104
252
|
var offsetX = element.offsetLeft + element.clientLeft;
|
105
|
-
|
253
|
+
|
254
|
+
while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {
|
106
255
|
if (parent.dataset._scaleY) {
|
107
256
|
offsetY /= parent.dataset._scaleY;
|
108
257
|
offsetX /= parent.dataset._scaleX;
|
109
258
|
}
|
259
|
+
|
110
260
|
offsetY += parent.offsetTop;
|
111
261
|
offsetX += parent.offsetLeft;
|
112
262
|
parent = parent.offsetParent;
|
263
|
+
|
113
264
|
if (!parent) {
|
114
265
|
return;
|
115
266
|
}
|
116
267
|
}
|
268
|
+
|
117
269
|
if (spot) {
|
118
270
|
if (spot.top !== undefined) {
|
119
271
|
offsetY += spot.top;
|
120
272
|
}
|
273
|
+
|
121
274
|
if (spot.left !== undefined) {
|
122
275
|
offsetX += spot.left;
|
123
276
|
parent.scrollLeft = offsetX;
|
124
277
|
}
|
125
278
|
}
|
279
|
+
|
126
280
|
parent.scrollTop = offsetY;
|
127
281
|
}
|
282
|
+
|
128
283
|
function watchScroll(viewAreaElement, callback) {
|
129
284
|
var debounceScroll = function debounceScroll(evt) {
|
130
285
|
if (rAF) {
|
131
286
|
return;
|
132
287
|
}
|
288
|
+
|
133
289
|
rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
|
134
290
|
rAF = null;
|
291
|
+
var currentX = viewAreaElement.scrollLeft;
|
292
|
+
var lastX = state.lastX;
|
293
|
+
|
294
|
+
if (currentX !== lastX) {
|
295
|
+
state.right = currentX > lastX;
|
296
|
+
}
|
297
|
+
|
298
|
+
state.lastX = currentX;
|
135
299
|
var currentY = viewAreaElement.scrollTop;
|
136
300
|
var lastY = state.lastY;
|
301
|
+
|
137
302
|
if (currentY !== lastY) {
|
138
303
|
state.down = currentY > lastY;
|
139
304
|
}
|
305
|
+
|
140
306
|
state.lastY = currentY;
|
141
307
|
callback(state);
|
142
308
|
});
|
143
309
|
};
|
310
|
+
|
144
311
|
var state = {
|
312
|
+
right: true,
|
145
313
|
down: true,
|
314
|
+
lastX: viewAreaElement.scrollLeft,
|
146
315
|
lastY: viewAreaElement.scrollTop,
|
147
316
|
_eventHandler: debounceScroll
|
148
317
|
};
|
@@ -150,59 +319,75 @@ function watchScroll(viewAreaElement, callback) {
|
|
150
319
|
viewAreaElement.addEventListener('scroll', debounceScroll, true);
|
151
320
|
return state;
|
152
321
|
}
|
322
|
+
|
153
323
|
function parseQueryString(query) {
|
154
324
|
var parts = query.split('&');
|
155
325
|
var params = Object.create(null);
|
326
|
+
|
156
327
|
for (var i = 0, ii = parts.length; i < ii; ++i) {
|
157
328
|
var param = parts[i].split('=');
|
158
329
|
var key = param[0].toLowerCase();
|
159
330
|
var value = param.length > 1 ? param[1] : null;
|
160
331
|
params[decodeURIComponent(key)] = decodeURIComponent(value);
|
161
332
|
}
|
333
|
+
|
162
334
|
return params;
|
163
335
|
}
|
336
|
+
|
164
337
|
function binarySearchFirstItem(items, condition) {
|
165
338
|
var minIndex = 0;
|
166
339
|
var maxIndex = items.length - 1;
|
340
|
+
|
167
341
|
if (items.length === 0 || !condition(items[maxIndex])) {
|
168
342
|
return items.length;
|
169
343
|
}
|
344
|
+
|
170
345
|
if (condition(items[minIndex])) {
|
171
346
|
return minIndex;
|
172
347
|
}
|
348
|
+
|
173
349
|
while (minIndex < maxIndex) {
|
174
350
|
var currentIndex = minIndex + maxIndex >> 1;
|
175
351
|
var currentItem = items[currentIndex];
|
352
|
+
|
176
353
|
if (condition(currentItem)) {
|
177
354
|
maxIndex = currentIndex;
|
178
355
|
} else {
|
179
356
|
minIndex = currentIndex + 1;
|
180
357
|
}
|
181
358
|
}
|
359
|
+
|
182
360
|
return minIndex;
|
183
361
|
}
|
362
|
+
|
184
363
|
function approximateFraction(x) {
|
185
364
|
if (Math.floor(x) === x) {
|
186
365
|
return [x, 1];
|
187
366
|
}
|
367
|
+
|
188
368
|
var xinv = 1 / x;
|
189
369
|
var limit = 8;
|
370
|
+
|
190
371
|
if (xinv > limit) {
|
191
372
|
return [1, limit];
|
192
373
|
} else if (Math.floor(xinv) === xinv) {
|
193
374
|
return [1, xinv];
|
194
375
|
}
|
376
|
+
|
195
377
|
var x_ = x > 1 ? xinv : x;
|
196
378
|
var a = 0,
|
197
379
|
b = 1,
|
198
380
|
c = 1,
|
199
381
|
d = 1;
|
382
|
+
|
200
383
|
while (true) {
|
201
384
|
var p = a + c,
|
202
385
|
q = b + d;
|
386
|
+
|
203
387
|
if (q > limit) {
|
204
388
|
break;
|
205
389
|
}
|
390
|
+
|
206
391
|
if (x_ <= p / q) {
|
207
392
|
c = p;
|
208
393
|
d = q;
|
@@ -211,18 +396,23 @@ function approximateFraction(x) {
|
|
211
396
|
b = q;
|
212
397
|
}
|
213
398
|
}
|
214
|
-
|
399
|
+
|
400
|
+
var result;
|
401
|
+
|
215
402
|
if (x_ - a / b < c / d - x_) {
|
216
403
|
result = x_ === x ? [a, b] : [b, a];
|
217
404
|
} else {
|
218
405
|
result = x_ === x ? [c, d] : [d, c];
|
219
406
|
}
|
407
|
+
|
220
408
|
return result;
|
221
409
|
}
|
410
|
+
|
222
411
|
function roundToDivide(x, div) {
|
223
412
|
var r = x % div;
|
224
413
|
return r === 0 ? x : Math.round(x - r + div);
|
225
414
|
}
|
415
|
+
|
226
416
|
function getPageSizeInches(_ref) {
|
227
417
|
var view = _ref.view,
|
228
418
|
userUnit = _ref.userUnit,
|
@@ -242,233 +432,377 @@ function getPageSizeInches(_ref) {
|
|
242
432
|
height: changeOrientation ? width : height
|
243
433
|
};
|
244
434
|
}
|
435
|
+
|
436
|
+
function backtrackBeforeAllVisibleElements(index, views, top) {
|
437
|
+
if (index < 2) {
|
438
|
+
return index;
|
439
|
+
}
|
440
|
+
|
441
|
+
var elt = views[index].div;
|
442
|
+
var pageTop = elt.offsetTop + elt.clientTop;
|
443
|
+
|
444
|
+
if (pageTop >= top) {
|
445
|
+
elt = views[index - 1].div;
|
446
|
+
pageTop = elt.offsetTop + elt.clientTop;
|
447
|
+
}
|
448
|
+
|
449
|
+
for (var i = index - 2; i >= 0; --i) {
|
450
|
+
elt = views[i].div;
|
451
|
+
|
452
|
+
if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
|
453
|
+
break;
|
454
|
+
}
|
455
|
+
|
456
|
+
index = i;
|
457
|
+
}
|
458
|
+
|
459
|
+
return index;
|
460
|
+
}
|
461
|
+
|
245
462
|
function getVisibleElements(scrollEl, views) {
|
246
463
|
var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
247
|
-
|
464
|
+
var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
248
465
|
var top = scrollEl.scrollTop,
|
249
466
|
bottom = top + scrollEl.clientHeight;
|
250
467
|
var left = scrollEl.scrollLeft,
|
251
468
|
right = left + scrollEl.clientWidth;
|
252
|
-
|
469
|
+
|
470
|
+
function isElementBottomAfterViewTop(view) {
|
253
471
|
var element = view.div;
|
254
472
|
var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
|
255
473
|
return elementBottom > top;
|
256
474
|
}
|
475
|
+
|
476
|
+
function isElementRightAfterViewLeft(view) {
|
477
|
+
var element = view.div;
|
478
|
+
var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;
|
479
|
+
return elementRight > left;
|
480
|
+
}
|
481
|
+
|
257
482
|
var visible = [],
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
for (var i = firstVisibleElementInd
|
268
|
-
view = views[i]
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
483
|
+
numViews = views.length;
|
484
|
+
var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);
|
485
|
+
|
486
|
+
if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
|
487
|
+
firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
|
488
|
+
}
|
489
|
+
|
490
|
+
var lastEdge = horizontal ? right : -1;
|
491
|
+
|
492
|
+
for (var i = firstVisibleElementInd; i < numViews; i++) {
|
493
|
+
var view = views[i],
|
494
|
+
element = view.div;
|
495
|
+
var currentWidth = element.offsetLeft + element.clientLeft;
|
496
|
+
var currentHeight = element.offsetTop + element.clientTop;
|
497
|
+
var viewWidth = element.clientWidth,
|
498
|
+
viewHeight = element.clientHeight;
|
499
|
+
var viewRight = currentWidth + viewWidth;
|
500
|
+
var viewBottom = currentHeight + viewHeight;
|
501
|
+
|
502
|
+
if (lastEdge === -1) {
|
503
|
+
if (viewBottom >= bottom) {
|
504
|
+
lastEdge = viewBottom;
|
505
|
+
}
|
506
|
+
} else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
|
273
507
|
break;
|
274
508
|
}
|
275
|
-
|
276
|
-
|
277
|
-
if (currentWidth + viewWidth < left || currentWidth > right) {
|
509
|
+
|
510
|
+
if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
|
278
511
|
continue;
|
279
512
|
}
|
280
|
-
|
281
|
-
|
513
|
+
|
514
|
+
var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
|
515
|
+
var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
|
516
|
+
var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;
|
282
517
|
visible.push({
|
283
518
|
id: view.id,
|
284
519
|
x: currentWidth,
|
285
520
|
y: currentHeight,
|
286
521
|
view: view,
|
287
|
-
percent:
|
522
|
+
percent: percent
|
288
523
|
});
|
289
524
|
}
|
290
|
-
|
291
|
-
var
|
525
|
+
|
526
|
+
var first = visible[0],
|
527
|
+
last = visible[visible.length - 1];
|
528
|
+
|
292
529
|
if (sortByVisibility) {
|
293
530
|
visible.sort(function (a, b) {
|
294
531
|
var pc = a.percent - b.percent;
|
532
|
+
|
295
533
|
if (Math.abs(pc) > 0.001) {
|
296
534
|
return -pc;
|
297
535
|
}
|
536
|
+
|
298
537
|
return a.id - b.id;
|
299
538
|
});
|
300
539
|
}
|
540
|
+
|
301
541
|
return {
|
302
542
|
first: first,
|
303
543
|
last: last,
|
304
544
|
views: visible
|
305
545
|
};
|
306
546
|
}
|
547
|
+
|
307
548
|
function noContextMenuHandler(evt) {
|
308
549
|
evt.preventDefault();
|
309
550
|
}
|
310
|
-
|
311
|
-
var i = 0,
|
312
|
-
ii = url.length;
|
313
|
-
while (i < ii && url[i].trim() === '') {
|
314
|
-
i++;
|
315
|
-
}
|
316
|
-
return url.substr(i, 7).toLowerCase() === 'file://';
|
317
|
-
}
|
551
|
+
|
318
552
|
function isDataSchema(url) {
|
319
553
|
var i = 0,
|
320
554
|
ii = url.length;
|
555
|
+
|
321
556
|
while (i < ii && url[i].trim() === '') {
|
322
557
|
i++;
|
323
558
|
}
|
324
|
-
|
559
|
+
|
560
|
+
return url.substring(i, i + 5).toLowerCase() === 'data:';
|
325
561
|
}
|
562
|
+
|
326
563
|
function getPDFFileNameFromURL(url) {
|
327
564
|
var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';
|
328
565
|
|
566
|
+
if (typeof url !== 'string') {
|
567
|
+
return defaultFilename;
|
568
|
+
}
|
569
|
+
|
329
570
|
if (isDataSchema(url)) {
|
330
571
|
console.warn('getPDFFileNameFromURL: ' + 'ignoring "data:" URL for performance reasons.');
|
331
572
|
return defaultFilename;
|
332
573
|
}
|
574
|
+
|
333
575
|
var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
|
334
576
|
var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
|
335
577
|
var splitURI = reURI.exec(url);
|
336
578
|
var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);
|
579
|
+
|
337
580
|
if (suggestedFilename) {
|
338
581
|
suggestedFilename = suggestedFilename[0];
|
582
|
+
|
339
583
|
if (suggestedFilename.includes('%')) {
|
340
584
|
try {
|
341
585
|
suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
|
342
586
|
} catch (ex) {}
|
343
587
|
}
|
344
588
|
}
|
589
|
+
|
345
590
|
return suggestedFilename || defaultFilename;
|
346
591
|
}
|
592
|
+
|
347
593
|
function normalizeWheelEventDelta(evt) {
|
348
594
|
var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
|
349
595
|
var angle = Math.atan2(evt.deltaY, evt.deltaX);
|
596
|
+
|
350
597
|
if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
|
351
598
|
delta = -delta;
|
352
599
|
}
|
600
|
+
|
353
601
|
var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
|
354
602
|
var MOUSE_DOM_DELTA_LINE_MODE = 1;
|
355
603
|
var MOUSE_PIXELS_PER_LINE = 30;
|
356
604
|
var MOUSE_LINES_PER_PAGE = 30;
|
605
|
+
|
357
606
|
if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
|
358
607
|
delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
|
359
608
|
} else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
|
360
609
|
delta /= MOUSE_LINES_PER_PAGE;
|
361
610
|
}
|
611
|
+
|
362
612
|
return delta;
|
363
613
|
}
|
614
|
+
|
364
615
|
function isValidRotation(angle) {
|
365
616
|
return Number.isInteger(angle) && angle % 90 === 0;
|
366
617
|
}
|
618
|
+
|
619
|
+
function isValidScrollMode(mode) {
|
620
|
+
return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
|
621
|
+
}
|
622
|
+
|
623
|
+
function isValidSpreadMode(mode) {
|
624
|
+
return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
|
625
|
+
}
|
626
|
+
|
367
627
|
function isPortraitOrientation(size) {
|
368
628
|
return size.width <= size.height;
|
369
629
|
}
|
370
|
-
|
371
|
-
var result = Object.create(null);
|
372
|
-
for (var i in obj) {
|
373
|
-
if (Object.prototype.hasOwnProperty.call(obj, i)) {
|
374
|
-
result[i] = obj[i];
|
375
|
-
}
|
376
|
-
}
|
377
|
-
return result;
|
378
|
-
}
|
630
|
+
|
379
631
|
var WaitOnType = {
|
380
632
|
EVENT: 'event',
|
381
633
|
TIMEOUT: 'timeout'
|
382
634
|
};
|
635
|
+
exports.WaitOnType = WaitOnType;
|
636
|
+
|
383
637
|
function waitOnEventOrTimeout(_ref2) {
|
384
638
|
var target = _ref2.target,
|
385
639
|
name = _ref2.name,
|
386
640
|
_ref2$delay = _ref2.delay,
|
387
|
-
delay = _ref2$delay ===
|
641
|
+
delay = _ref2$delay === void 0 ? 0 : _ref2$delay;
|
642
|
+
return new Promise(function (resolve, reject) {
|
643
|
+
if (_typeof(target) !== 'object' || !(name && typeof name === 'string') || !(Number.isInteger(delay) && delay >= 0)) {
|
644
|
+
throw new Error('waitOnEventOrTimeout - invalid parameters.');
|
645
|
+
}
|
646
|
+
|
647
|
+
function handler(type) {
|
648
|
+
if (target instanceof EventBus) {
|
649
|
+
target.off(name, eventHandler);
|
650
|
+
} else {
|
651
|
+
target.removeEventListener(name, eventHandler);
|
652
|
+
}
|
653
|
+
|
654
|
+
if (timeout) {
|
655
|
+
clearTimeout(timeout);
|
656
|
+
}
|
657
|
+
|
658
|
+
resolve(type);
|
659
|
+
}
|
660
|
+
|
661
|
+
var eventHandler = handler.bind(null, WaitOnType.EVENT);
|
388
662
|
|
389
|
-
if ((typeof target === 'undefined' ? 'undefined' : _typeof(target)) !== 'object' || !(name && typeof name === 'string') || !(Number.isInteger(delay) && delay >= 0)) {
|
390
|
-
return Promise.reject(new Error('waitOnEventOrTimeout - invalid parameters.'));
|
391
|
-
}
|
392
|
-
var capability = (0, _pdf.createPromiseCapability)();
|
393
|
-
function handler(type) {
|
394
663
|
if (target instanceof EventBus) {
|
395
|
-
target.
|
664
|
+
target.on(name, eventHandler);
|
396
665
|
} else {
|
397
|
-
target.
|
666
|
+
target.addEventListener(name, eventHandler);
|
398
667
|
}
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
}
|
404
|
-
var eventHandler = handler.bind(null, WaitOnType.EVENT);
|
405
|
-
if (target instanceof EventBus) {
|
406
|
-
target.on(name, eventHandler);
|
407
|
-
} else {
|
408
|
-
target.addEventListener(name, eventHandler);
|
409
|
-
}
|
410
|
-
var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
|
411
|
-
var timeout = setTimeout(timeoutHandler, delay);
|
412
|
-
return capability.promise;
|
668
|
+
|
669
|
+
var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
|
670
|
+
var timeout = setTimeout(timeoutHandler, delay);
|
671
|
+
});
|
413
672
|
}
|
673
|
+
|
414
674
|
var animationStarted = new Promise(function (resolve) {
|
675
|
+
if (typeof window === 'undefined') {
|
676
|
+
setTimeout(resolve, 20);
|
677
|
+
return;
|
678
|
+
}
|
679
|
+
|
415
680
|
window.requestAnimationFrame(resolve);
|
416
681
|
});
|
682
|
+
exports.animationStarted = animationStarted;
|
417
683
|
|
418
|
-
var EventBus =
|
684
|
+
var EventBus =
|
685
|
+
/*#__PURE__*/
|
686
|
+
function () {
|
419
687
|
function EventBus() {
|
688
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
689
|
+
_ref3$dispatchToDOM = _ref3.dispatchToDOM,
|
690
|
+
dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM;
|
691
|
+
|
420
692
|
_classCallCheck(this, EventBus);
|
421
693
|
|
422
694
|
this._listeners = Object.create(null);
|
695
|
+
this._dispatchToDOM = dispatchToDOM === true;
|
423
696
|
}
|
424
697
|
|
425
698
|
_createClass(EventBus, [{
|
426
|
-
key:
|
699
|
+
key: "on",
|
427
700
|
value: function on(eventName, listener) {
|
428
701
|
var eventListeners = this._listeners[eventName];
|
702
|
+
|
429
703
|
if (!eventListeners) {
|
430
704
|
eventListeners = [];
|
431
705
|
this._listeners[eventName] = eventListeners;
|
432
706
|
}
|
707
|
+
|
433
708
|
eventListeners.push(listener);
|
434
709
|
}
|
435
710
|
}, {
|
436
|
-
key:
|
711
|
+
key: "off",
|
437
712
|
value: function off(eventName, listener) {
|
438
713
|
var eventListeners = this._listeners[eventName];
|
439
|
-
var i
|
714
|
+
var i;
|
715
|
+
|
440
716
|
if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {
|
441
717
|
return;
|
442
718
|
}
|
719
|
+
|
443
720
|
eventListeners.splice(i, 1);
|
444
721
|
}
|
445
722
|
}, {
|
446
|
-
key:
|
723
|
+
key: "dispatch",
|
447
724
|
value: function dispatch(eventName) {
|
448
725
|
var eventListeners = this._listeners[eventName];
|
726
|
+
|
449
727
|
if (!eventListeners || eventListeners.length === 0) {
|
728
|
+
if (this._dispatchToDOM) {
|
729
|
+
var _args5 = Array.prototype.slice.call(arguments, 1);
|
730
|
+
|
731
|
+
this._dispatchDOMEvent(eventName, _args5);
|
732
|
+
}
|
733
|
+
|
450
734
|
return;
|
451
735
|
}
|
736
|
+
|
452
737
|
var args = Array.prototype.slice.call(arguments, 1);
|
453
738
|
eventListeners.slice(0).forEach(function (listener) {
|
454
739
|
listener.apply(null, args);
|
455
740
|
});
|
741
|
+
|
742
|
+
if (this._dispatchToDOM) {
|
743
|
+
this._dispatchDOMEvent(eventName, args);
|
744
|
+
}
|
745
|
+
}
|
746
|
+
}, {
|
747
|
+
key: "_dispatchDOMEvent",
|
748
|
+
value: function _dispatchDOMEvent(eventName) {
|
749
|
+
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
750
|
+
var details = Object.create(null);
|
751
|
+
|
752
|
+
if (args && args.length > 0) {
|
753
|
+
var obj = args[0];
|
754
|
+
|
755
|
+
for (var key in obj) {
|
756
|
+
var value = obj[key];
|
757
|
+
|
758
|
+
if (key === 'source') {
|
759
|
+
if (value === window || value === document) {
|
760
|
+
return;
|
761
|
+
}
|
762
|
+
|
763
|
+
continue;
|
764
|
+
}
|
765
|
+
|
766
|
+
details[key] = value;
|
767
|
+
}
|
768
|
+
}
|
769
|
+
|
770
|
+
var event = document.createEvent('CustomEvent');
|
771
|
+
event.initCustomEvent(eventName, true, true, details);
|
772
|
+
document.dispatchEvent(event);
|
456
773
|
}
|
457
774
|
}]);
|
458
775
|
|
459
776
|
return EventBus;
|
460
777
|
}();
|
461
778
|
|
779
|
+
exports.EventBus = EventBus;
|
780
|
+
var globalEventBus = null;
|
781
|
+
|
782
|
+
function getGlobalEventBus() {
|
783
|
+
var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
784
|
+
|
785
|
+
if (!globalEventBus) {
|
786
|
+
globalEventBus = new EventBus({
|
787
|
+
dispatchToDOM: dispatchToDOM
|
788
|
+
});
|
789
|
+
}
|
790
|
+
|
791
|
+
return globalEventBus;
|
792
|
+
}
|
793
|
+
|
462
794
|
function clamp(v, min, max) {
|
463
795
|
return Math.min(Math.max(v, min), max);
|
464
796
|
}
|
465
797
|
|
466
|
-
var ProgressBar =
|
798
|
+
var ProgressBar =
|
799
|
+
/*#__PURE__*/
|
800
|
+
function () {
|
467
801
|
function ProgressBar(id) {
|
468
|
-
var
|
469
|
-
height =
|
470
|
-
width =
|
471
|
-
units =
|
802
|
+
var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
803
|
+
height = _ref4.height,
|
804
|
+
width = _ref4.width,
|
805
|
+
units = _ref4.units;
|
472
806
|
|
473
807
|
_classCallCheck(this, ProgressBar);
|
474
808
|
|
@@ -483,57 +817,63 @@ var ProgressBar = function () {
|
|
483
817
|
}
|
484
818
|
|
485
819
|
_createClass(ProgressBar, [{
|
486
|
-
key:
|
820
|
+
key: "_updateBar",
|
487
821
|
value: function _updateBar() {
|
488
822
|
if (this._indeterminate) {
|
489
823
|
this.div.classList.add('indeterminate');
|
490
824
|
this.div.style.width = this.width + this.units;
|
491
825
|
return;
|
492
826
|
}
|
827
|
+
|
493
828
|
this.div.classList.remove('indeterminate');
|
494
829
|
var progressSize = this.width * this._percent / 100;
|
495
830
|
this.div.style.width = progressSize + this.units;
|
496
831
|
}
|
497
832
|
}, {
|
498
|
-
key:
|
833
|
+
key: "setWidth",
|
499
834
|
value: function setWidth(viewer) {
|
500
835
|
if (!viewer) {
|
501
836
|
return;
|
502
837
|
}
|
838
|
+
|
503
839
|
var container = viewer.parentNode;
|
504
840
|
var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;
|
841
|
+
|
505
842
|
if (scrollbarWidth > 0) {
|
506
843
|
this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');
|
507
844
|
}
|
508
845
|
}
|
509
846
|
}, {
|
510
|
-
key:
|
847
|
+
key: "hide",
|
511
848
|
value: function hide() {
|
512
849
|
if (!this.visible) {
|
513
850
|
return;
|
514
851
|
}
|
852
|
+
|
515
853
|
this.visible = false;
|
516
854
|
this.bar.classList.add('hidden');
|
517
855
|
document.body.classList.remove('loadingInProgress');
|
518
856
|
}
|
519
857
|
}, {
|
520
|
-
key:
|
858
|
+
key: "show",
|
521
859
|
value: function show() {
|
522
860
|
if (this.visible) {
|
523
861
|
return;
|
524
862
|
}
|
863
|
+
|
525
864
|
this.visible = true;
|
526
865
|
document.body.classList.add('loadingInProgress');
|
527
866
|
this.bar.classList.remove('hidden');
|
528
867
|
}
|
529
868
|
}, {
|
530
|
-
key:
|
869
|
+
key: "percent",
|
531
870
|
get: function get() {
|
532
871
|
return this._percent;
|
533
872
|
},
|
534
873
|
set: function set(val) {
|
535
874
|
this._indeterminate = isNaN(val);
|
536
875
|
this._percent = clamp(val, 0, 100);
|
876
|
+
|
537
877
|
this._updateBar();
|
538
878
|
}
|
539
879
|
}]);
|
@@ -541,37 +881,23 @@ var ProgressBar = function () {
|
|
541
881
|
return ProgressBar;
|
542
882
|
}();
|
543
883
|
|
544
|
-
exports.CSS_UNITS = CSS_UNITS;
|
545
|
-
exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
|
546
|
-
exports.DEFAULT_SCALE = DEFAULT_SCALE;
|
547
|
-
exports.MIN_SCALE = MIN_SCALE;
|
548
|
-
exports.MAX_SCALE = MAX_SCALE;
|
549
|
-
exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
|
550
|
-
exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
|
551
|
-
exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
|
552
|
-
exports.VERTICAL_PADDING = VERTICAL_PADDING;
|
553
|
-
exports.isValidRotation = isValidRotation;
|
554
|
-
exports.isPortraitOrientation = isPortraitOrientation;
|
555
|
-
exports.isFileSchema = isFileSchema;
|
556
|
-
exports.cloneObj = cloneObj;
|
557
|
-
exports.PresentationModeState = PresentationModeState;
|
558
|
-
exports.RendererType = RendererType;
|
559
|
-
exports.TextLayerMode = TextLayerMode;
|
560
|
-
exports.NullL10n = NullL10n;
|
561
|
-
exports.EventBus = EventBus;
|
562
884
|
exports.ProgressBar = ProgressBar;
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
885
|
+
|
886
|
+
function moveToEndOfArray(arr, condition) {
|
887
|
+
var moved = [],
|
888
|
+
len = arr.length;
|
889
|
+
var write = 0;
|
890
|
+
|
891
|
+
for (var read = 0; read < len; ++read) {
|
892
|
+
if (condition(arr[read])) {
|
893
|
+
moved.push(arr[read]);
|
894
|
+
} else {
|
895
|
+
arr[write] = arr[read];
|
896
|
+
++write;
|
897
|
+
}
|
898
|
+
}
|
899
|
+
|
900
|
+
for (var _read = 0; write < len; ++_read, ++write) {
|
901
|
+
arr[write] = moved[_read];
|
902
|
+
}
|
903
|
+
}
|