pdfjs-dist 2.3.200 → 2.4.456

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.

Files changed (185) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +6499 -17971
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +22 -1
  6. package/build/pdf.worker.entry.js +5 -3
  7. package/build/pdf.worker.js +19303 -29896
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +25473 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  13. package/es5/build/pdf.worker.js +57878 -0
  14. package/es5/build/pdf.worker.js.map +1 -0
  15. package/es5/web/images/annotation-check.svg +11 -0
  16. package/es5/web/images/annotation-comment.svg +16 -0
  17. package/es5/web/images/annotation-help.svg +26 -0
  18. package/es5/web/images/annotation-insert.svg +10 -0
  19. package/es5/web/images/annotation-key.svg +11 -0
  20. package/es5/web/images/annotation-newparagraph.svg +11 -0
  21. package/es5/web/images/annotation-noicon.svg +7 -0
  22. package/es5/web/images/annotation-note.svg +42 -0
  23. package/es5/web/images/annotation-paragraph.svg +16 -0
  24. package/es5/web/images/loading-icon.gif +0 -0
  25. package/es5/web/images/shadow.png +0 -0
  26. package/es5/web/images/texture.png +0 -0
  27. package/es5/web/pdf_viewer.css +407 -0
  28. package/es5/web/pdf_viewer.js +7757 -0
  29. package/es5/web/pdf_viewer.js.map +1 -0
  30. package/image_decoders/pdf.image_decoders.js +1333 -4839
  31. package/image_decoders/pdf.image_decoders.js.map +1 -1
  32. package/image_decoders/pdf.image_decoders.min.js +22 -1
  33. package/lib/README.md +7 -0
  34. package/lib/core/annotation.js +683 -1066
  35. package/lib/core/arithmetic_decoder.js +81 -97
  36. package/lib/core/bidi.js +54 -46
  37. package/lib/core/ccitt.js +88 -81
  38. package/lib/core/ccitt_stream.js +15 -14
  39. package/lib/core/cff_parser.js +196 -193
  40. package/lib/core/charsets.js +4 -4
  41. package/lib/core/chunked_stream.js +441 -569
  42. package/lib/core/cmap.js +220 -279
  43. package/lib/core/colorspace.js +699 -863
  44. package/lib/core/core_utils.js +59 -80
  45. package/lib/core/crypto.js +379 -437
  46. package/lib/core/document.js +564 -673
  47. package/lib/core/encodings.js +15 -15
  48. package/lib/core/evaluator.js +983 -889
  49. package/lib/core/font_renderer.js +128 -171
  50. package/lib/core/fonts.js +451 -400
  51. package/lib/core/function.js +289 -285
  52. package/lib/core/glyphlist.js +4527 -4527
  53. package/lib/core/image.js +138 -117
  54. package/lib/core/image_utils.js +46 -63
  55. package/lib/core/jbig2.js +324 -332
  56. package/lib/core/jbig2_stream.js +18 -17
  57. package/lib/core/jpeg_stream.js +133 -24
  58. package/lib/core/jpg.js +238 -210
  59. package/lib/core/jpx.js +158 -157
  60. package/lib/core/jpx_stream.js +28 -28
  61. package/lib/core/metrics.js +2928 -2928
  62. package/lib/core/murmurhash3.js +87 -102
  63. package/lib/core/obj.js +1111 -1302
  64. package/lib/core/operator_list.js +55 -42
  65. package/lib/core/parser.js +956 -987
  66. package/lib/core/pattern.js +69 -69
  67. package/lib/core/pdf_manager.js +149 -316
  68. package/lib/core/primitives.js +45 -77
  69. package/lib/core/ps_parser.js +175 -214
  70. package/lib/core/standard_fonts.js +237 -236
  71. package/lib/core/stream.js +83 -77
  72. package/lib/core/type1_parser.js +78 -68
  73. package/lib/core/unicode.js +1654 -1654
  74. package/lib/core/worker.js +148 -196
  75. package/lib/core/worker_stream.js +101 -210
  76. package/lib/display/annotation_layer.js +733 -1155
  77. package/lib/display/api.js +1539 -1928
  78. package/lib/display/api_compatibility.js +10 -8
  79. package/lib/display/canvas.js +159 -158
  80. package/lib/display/content_disposition.js +36 -55
  81. package/lib/display/display_utils.js +298 -551
  82. package/lib/display/fetch_stream.js +181 -305
  83. package/lib/display/font_loader.js +273 -416
  84. package/lib/display/metadata.js +86 -98
  85. package/lib/display/network.js +376 -511
  86. package/lib/display/network_utils.js +20 -19
  87. package/lib/display/node_stream.js +276 -460
  88. package/lib/display/pattern_helper.js +76 -44
  89. package/lib/display/svg.js +1137 -1405
  90. package/lib/display/text_layer.js +75 -82
  91. package/lib/display/transport_stream.js +236 -374
  92. package/lib/display/webgl.js +70 -83
  93. package/lib/display/worker_options.js +3 -3
  94. package/lib/display/xml_parser.js +303 -392
  95. package/lib/examples/node/domstubs.js +37 -37
  96. package/lib/pdf.js +22 -21
  97. package/lib/pdf.worker.js +5 -5
  98. package/lib/shared/compatibility.js +2 -251
  99. package/lib/shared/is_node.js +7 -6
  100. package/lib/shared/message_handler.js +222 -194
  101. package/lib/shared/util.js +269 -405
  102. package/lib/test/unit/annotation_spec.js +1089 -1014
  103. package/lib/test/unit/api_spec.js +617 -544
  104. package/lib/test/unit/bidi_spec.js +7 -7
  105. package/lib/test/unit/cff_parser_spec.js +63 -62
  106. package/lib/test/unit/clitests_helper.js +7 -9
  107. package/lib/test/unit/cmap_spec.js +84 -86
  108. package/lib/test/unit/colorspace_spec.js +154 -154
  109. package/lib/test/unit/core_utils_spec.js +125 -105
  110. package/lib/test/unit/crypto_spec.js +181 -181
  111. package/lib/test/unit/custom_spec.js +22 -24
  112. package/lib/test/unit/display_svg_spec.js +35 -36
  113. package/lib/test/unit/display_utils_spec.js +139 -149
  114. package/lib/test/unit/document_spec.js +16 -16
  115. package/lib/test/unit/encodings_spec.js +12 -34
  116. package/lib/test/unit/evaluator_spec.js +81 -95
  117. package/lib/test/unit/fetch_stream_spec.js +30 -30
  118. package/lib/test/unit/function_spec.js +206 -204
  119. package/lib/test/unit/jasmine-boot.js +48 -32
  120. package/lib/test/unit/message_handler_spec.js +172 -162
  121. package/lib/test/unit/metadata_spec.js +69 -69
  122. package/lib/test/unit/murmurhash3_spec.js +12 -12
  123. package/lib/test/unit/network_spec.js +12 -12
  124. package/lib/test/unit/network_utils_spec.js +152 -152
  125. package/lib/test/unit/node_stream_spec.js +74 -90
  126. package/lib/test/unit/parser_spec.js +107 -113
  127. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  128. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  129. package/lib/test/unit/pdf_history_spec.js +32 -32
  130. package/lib/test/unit/primitives_spec.js +117 -115
  131. package/lib/test/unit/stream_spec.js +16 -14
  132. package/lib/test/unit/test_utils.js +119 -285
  133. package/lib/test/unit/testreporter.js +19 -19
  134. package/lib/test/unit/type1_parser_spec.js +41 -41
  135. package/lib/test/unit/ui_utils_spec.js +318 -426
  136. package/lib/test/unit/unicode_spec.js +42 -42
  137. package/lib/test/unit/util_spec.js +122 -143
  138. package/lib/web/annotation_layer_builder.js +66 -103
  139. package/lib/web/app.js +1166 -1196
  140. package/lib/web/app_options.js +61 -77
  141. package/lib/web/base_viewer.js +804 -850
  142. package/lib/web/chromecom.js +164 -249
  143. package/lib/web/debugger.js +149 -205
  144. package/lib/web/download_manager.js +38 -57
  145. package/lib/web/firefox_print_service.js +35 -30
  146. package/lib/web/firefoxcom.js +175 -374
  147. package/lib/web/genericcom.js +26 -108
  148. package/lib/web/genericl10n.js +24 -153
  149. package/lib/web/grab_to_pan.js +30 -30
  150. package/lib/web/interfaces.js +80 -258
  151. package/lib/web/overlay_manager.js +70 -246
  152. package/lib/web/password_prompt.js +38 -64
  153. package/lib/web/pdf_attachment_viewer.js +105 -130
  154. package/lib/web/pdf_cursor_tools.js +75 -102
  155. package/lib/web/pdf_document_properties.js +227 -376
  156. package/lib/web/pdf_find_bar.js +137 -171
  157. package/lib/web/pdf_find_controller.js +492 -549
  158. package/lib/web/pdf_find_utils.js +13 -13
  159. package/lib/web/pdf_history.js +395 -406
  160. package/lib/web/pdf_link_service.js +302 -349
  161. package/lib/web/pdf_outline_viewer.js +148 -209
  162. package/lib/web/pdf_page_view.js +449 -507
  163. package/lib/web/pdf_presentation_mode.js +304 -357
  164. package/lib/web/pdf_print_service.js +90 -104
  165. package/lib/web/pdf_rendering_queue.js +87 -108
  166. package/lib/web/pdf_sidebar.js +264 -304
  167. package/lib/web/pdf_sidebar_resizer.js +92 -119
  168. package/lib/web/pdf_single_page_viewer.js +77 -126
  169. package/lib/web/pdf_thumbnail_view.js +276 -297
  170. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  171. package/lib/web/pdf_viewer.component.js +20 -21
  172. package/lib/web/pdf_viewer.js +55 -115
  173. package/lib/web/preferences.js +66 -273
  174. package/lib/web/secondary_toolbar.js +164 -196
  175. package/lib/web/text_layer_builder.js +284 -317
  176. package/lib/web/toolbar.js +216 -211
  177. package/lib/web/ui_utils.js +303 -404
  178. package/lib/web/view_history.js +49 -222
  179. package/lib/web/viewer_compatibility.js +7 -5
  180. package/package.json +2 -9
  181. package/web/pdf_viewer.css +25 -18
  182. package/web/pdf_viewer.js +3481 -4764
  183. package/web/pdf_viewer.js.map +1 -1
  184. package/webpack.js +14 -5
  185. package/lib/shared/streams_polyfill.js +0 -43
@@ -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 2019 Mozilla Foundation
5
+ * Copyright 2020 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.
@@ -26,18 +26,12 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFSidebar = exports.SidebarView = void 0;
28
28
 
29
- var _ui_utils = require("./ui_utils");
29
+ var _ui_utils = require("./ui_utils.js");
30
30
 
31
- var _pdf_rendering_queue = require("./pdf_rendering_queue");
31
+ var _pdf_rendering_queue = require("./pdf_rendering_queue.js");
32
32
 
33
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
-
35
- 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); } }
36
-
37
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
38
-
39
- var UI_NOTIFICATION_CLASS = 'pdfSidebarNotification';
40
- var SidebarView = {
33
+ const UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
34
+ const SidebarView = {
41
35
  UNKNOWN: -1,
42
36
  NONE: 0,
43
37
  THUMBS: 1,
@@ -47,21 +41,15 @@ var SidebarView = {
47
41
  };
48
42
  exports.SidebarView = SidebarView;
49
43
 
50
- var PDFSidebar =
51
- /*#__PURE__*/
52
- function () {
53
- function PDFSidebar(_ref) {
54
- var elements = _ref.elements,
55
- pdfViewer = _ref.pdfViewer,
56
- pdfThumbnailViewer = _ref.pdfThumbnailViewer,
57
- eventBus = _ref.eventBus,
58
- _ref$l10n = _ref.l10n,
59
- l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,
60
- _ref$disableNotificat = _ref.disableNotification,
61
- disableNotification = _ref$disableNotificat === void 0 ? false : _ref$disableNotificat;
62
-
63
- _classCallCheck(this, PDFSidebar);
64
-
44
+ class PDFSidebar {
45
+ constructor({
46
+ elements,
47
+ pdfViewer,
48
+ pdfThumbnailViewer,
49
+ eventBus,
50
+ l10n = _ui_utils.NullL10n,
51
+ disableNotification = false
52
+ }) {
65
53
  this.isOpen = false;
66
54
  this.active = SidebarView.THUMBS;
67
55
  this.isInitialViewSet = false;
@@ -84,354 +72,326 @@ function () {
84
72
  this._addEventListeners();
85
73
  }
86
74
 
87
- _createClass(PDFSidebar, [{
88
- key: "reset",
89
- value: function reset() {
90
- this.isInitialViewSet = false;
75
+ reset() {
76
+ this.isInitialViewSet = false;
91
77
 
92
- this._hideUINotification(null);
78
+ this._hideUINotification(null);
93
79
 
94
- this.switchView(SidebarView.THUMBS);
95
- this.outlineButton.disabled = false;
96
- this.attachmentsButton.disabled = false;
97
- }
98
- }, {
99
- key: "setInitialView",
100
- value: function setInitialView() {
101
- var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SidebarView.NONE;
80
+ this.switchView(SidebarView.THUMBS);
81
+ this.outlineButton.disabled = false;
82
+ this.attachmentsButton.disabled = false;
83
+ }
102
84
 
103
- if (this.isInitialViewSet) {
104
- return;
105
- }
85
+ get visibleView() {
86
+ return this.isOpen ? this.active : SidebarView.NONE;
87
+ }
106
88
 
107
- this.isInitialViewSet = true;
89
+ get isThumbnailViewVisible() {
90
+ return this.isOpen && this.active === SidebarView.THUMBS;
91
+ }
108
92
 
109
- if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {
110
- this._dispatchEvent();
93
+ get isOutlineViewVisible() {
94
+ return this.isOpen && this.active === SidebarView.OUTLINE;
95
+ }
111
96
 
112
- return;
113
- }
97
+ get isAttachmentsViewVisible() {
98
+ return this.isOpen && this.active === SidebarView.ATTACHMENTS;
99
+ }
114
100
 
115
- if (!this._switchView(view, true)) {
116
- this._dispatchEvent();
117
- }
101
+ setInitialView(view = SidebarView.NONE) {
102
+ if (this.isInitialViewSet) {
103
+ return;
118
104
  }
119
- }, {
120
- key: "switchView",
121
- value: function switchView(view) {
122
- var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
123
105
 
124
- this._switchView(view, forceOpen);
125
- }
126
- }, {
127
- key: "_switchView",
128
- value: function _switchView(view) {
129
- var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
130
- var isViewChanged = view !== this.active;
131
- var shouldForceRendering = false;
132
-
133
- switch (view) {
134
- case SidebarView.NONE:
135
- if (this.isOpen) {
136
- this.close();
137
- return true;
138
- }
106
+ this.isInitialViewSet = true;
139
107
 
140
- return false;
108
+ if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) {
109
+ this._dispatchEvent();
141
110
 
142
- case SidebarView.THUMBS:
143
- if (this.isOpen && isViewChanged) {
144
- shouldForceRendering = true;
145
- }
111
+ return;
112
+ }
146
113
 
147
- break;
114
+ if (!this._switchView(view, true)) {
115
+ this._dispatchEvent();
116
+ }
117
+ }
148
118
 
149
- case SidebarView.OUTLINE:
150
- if (this.outlineButton.disabled) {
151
- return false;
152
- }
119
+ switchView(view, forceOpen = false) {
120
+ this._switchView(view, forceOpen);
121
+ }
153
122
 
154
- break;
123
+ _switchView(view, forceOpen = false) {
124
+ const isViewChanged = view !== this.active;
125
+ let shouldForceRendering = false;
155
126
 
156
- case SidebarView.ATTACHMENTS:
157
- if (this.attachmentsButton.disabled) {
158
- return false;
159
- }
127
+ switch (view) {
128
+ case SidebarView.NONE:
129
+ if (this.isOpen) {
130
+ this.close();
131
+ return true;
132
+ }
160
133
 
161
- break;
134
+ return false;
162
135
 
163
- default:
164
- console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view."));
165
- return false;
166
- }
136
+ case SidebarView.THUMBS:
137
+ if (this.isOpen && isViewChanged) {
138
+ shouldForceRendering = true;
139
+ }
167
140
 
168
- this.active = view;
169
- this.thumbnailButton.classList.toggle('toggled', view === SidebarView.THUMBS);
170
- this.outlineButton.classList.toggle('toggled', view === SidebarView.OUTLINE);
171
- this.attachmentsButton.classList.toggle('toggled', view === SidebarView.ATTACHMENTS);
172
- this.thumbnailView.classList.toggle('hidden', view !== SidebarView.THUMBS);
173
- this.outlineView.classList.toggle('hidden', view !== SidebarView.OUTLINE);
174
- this.attachmentsView.classList.toggle('hidden', view !== SidebarView.ATTACHMENTS);
175
-
176
- if (forceOpen && !this.isOpen) {
177
- this.open();
178
- return true;
179
- }
141
+ break;
180
142
 
181
- if (shouldForceRendering) {
182
- this._updateThumbnailViewer();
143
+ case SidebarView.OUTLINE:
144
+ if (this.outlineButton.disabled) {
145
+ return false;
146
+ }
183
147
 
184
- this._forceRendering();
185
- }
148
+ break;
186
149
 
187
- if (isViewChanged) {
188
- this._dispatchEvent();
189
- }
150
+ case SidebarView.ATTACHMENTS:
151
+ if (this.attachmentsButton.disabled) {
152
+ return false;
153
+ }
190
154
 
191
- this._hideUINotification(this.active);
155
+ break;
192
156
 
193
- return isViewChanged;
157
+ default:
158
+ console.error(`PDFSidebar._switchView: "${view}" is not a valid view.`);
159
+ return false;
194
160
  }
195
- }, {
196
- key: "open",
197
- value: function open() {
198
- if (this.isOpen) {
199
- return;
200
- }
201
161
 
202
- this.isOpen = true;
203
- this.toggleButton.classList.add('toggled');
204
- this.outerContainer.classList.add('sidebarMoving', 'sidebarOpen');
162
+ this.active = view;
163
+ this.thumbnailButton.classList.toggle("toggled", view === SidebarView.THUMBS);
164
+ this.outlineButton.classList.toggle("toggled", view === SidebarView.OUTLINE);
165
+ this.attachmentsButton.classList.toggle("toggled", view === SidebarView.ATTACHMENTS);
166
+ this.thumbnailView.classList.toggle("hidden", view !== SidebarView.THUMBS);
167
+ this.outlineView.classList.toggle("hidden", view !== SidebarView.OUTLINE);
168
+ this.attachmentsView.classList.toggle("hidden", view !== SidebarView.ATTACHMENTS);
169
+
170
+ if (forceOpen && !this.isOpen) {
171
+ this.open();
172
+ return true;
173
+ }
205
174
 
206
- if (this.active === SidebarView.THUMBS) {
207
- this._updateThumbnailViewer();
208
- }
175
+ if (shouldForceRendering) {
176
+ this._updateThumbnailViewer();
209
177
 
210
178
  this._forceRendering();
179
+ }
211
180
 
181
+ if (isViewChanged) {
212
182
  this._dispatchEvent();
183
+ }
184
+
185
+ this._hideUINotification(this.active);
213
186
 
214
- this._hideUINotification(this.active);
187
+ return isViewChanged;
188
+ }
189
+
190
+ open() {
191
+ if (this.isOpen) {
192
+ return;
215
193
  }
216
- }, {
217
- key: "close",
218
- value: function close() {
219
- if (!this.isOpen) {
220
- return;
221
- }
222
194
 
223
- this.isOpen = false;
224
- this.toggleButton.classList.remove('toggled');
225
- this.outerContainer.classList.add('sidebarMoving');
226
- this.outerContainer.classList.remove('sidebarOpen');
195
+ this.isOpen = true;
196
+ this.toggleButton.classList.add("toggled");
197
+ this.outerContainer.classList.add("sidebarMoving", "sidebarOpen");
227
198
 
228
- this._forceRendering();
199
+ if (this.active === SidebarView.THUMBS) {
200
+ this._updateThumbnailViewer();
201
+ }
229
202
 
230
- this._dispatchEvent();
203
+ this._forceRendering();
204
+
205
+ this._dispatchEvent();
206
+
207
+ this._hideUINotification(this.active);
208
+ }
209
+
210
+ close() {
211
+ if (!this.isOpen) {
212
+ return;
231
213
  }
232
- }, {
233
- key: "toggle",
234
- value: function toggle() {
235
- if (this.isOpen) {
236
- this.close();
237
- } else {
238
- this.open();
239
- }
214
+
215
+ this.isOpen = false;
216
+ this.toggleButton.classList.remove("toggled");
217
+ this.outerContainer.classList.add("sidebarMoving");
218
+ this.outerContainer.classList.remove("sidebarOpen");
219
+
220
+ this._forceRendering();
221
+
222
+ this._dispatchEvent();
223
+ }
224
+
225
+ toggle() {
226
+ if (this.isOpen) {
227
+ this.close();
228
+ } else {
229
+ this.open();
240
230
  }
241
- }, {
242
- key: "_dispatchEvent",
243
- value: function _dispatchEvent() {
244
- this.eventBus.dispatch('sidebarviewchanged', {
245
- source: this,
246
- view: this.visibleView
247
- });
231
+ }
232
+
233
+ _dispatchEvent() {
234
+ this.eventBus.dispatch("sidebarviewchanged", {
235
+ source: this,
236
+ view: this.visibleView
237
+ });
238
+ }
239
+
240
+ _forceRendering() {
241
+ if (this.onToggled) {
242
+ this.onToggled();
243
+ } else {
244
+ this.pdfViewer.forceRendering();
245
+ this.pdfThumbnailViewer.forceRendering();
248
246
  }
249
- }, {
250
- key: "_forceRendering",
251
- value: function _forceRendering() {
252
- if (this.onToggled) {
253
- this.onToggled();
254
- } else {
255
- this.pdfViewer.forceRendering();
256
- this.pdfThumbnailViewer.forceRendering();
247
+ }
248
+
249
+ _updateThumbnailViewer() {
250
+ const {
251
+ pdfViewer,
252
+ pdfThumbnailViewer
253
+ } = this;
254
+ const pagesCount = pdfViewer.pagesCount;
255
+
256
+ for (let pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
257
+ const pageView = pdfViewer.getPageView(pageIndex);
258
+
259
+ if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {
260
+ const thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
261
+ thumbnailView.setImage(pageView);
257
262
  }
258
263
  }
259
- }, {
260
- key: "_updateThumbnailViewer",
261
- value: function _updateThumbnailViewer() {
262
- var pdfViewer = this.pdfViewer,
263
- pdfThumbnailViewer = this.pdfThumbnailViewer;
264
- var pagesCount = pdfViewer.pagesCount;
265
-
266
- for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
267
- var pageView = pdfViewer.getPageView(pageIndex);
268
-
269
- if (pageView && pageView.renderingState === _pdf_rendering_queue.RenderingStates.FINISHED) {
270
- var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex);
271
- thumbnailView.setImage(pageView);
272
- }
273
- }
274
264
 
275
- pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
265
+ pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber);
266
+ }
267
+
268
+ _showUINotification(view) {
269
+ if (this._disableNotification) {
270
+ return;
276
271
  }
277
- }, {
278
- key: "_showUINotification",
279
- value: function _showUINotification(view) {
280
- var _this = this;
281
272
 
282
- if (this._disableNotification) {
283
- return;
284
- }
273
+ this.l10n.get("toggle_sidebar_notification.title", null, "Toggle Sidebar (document contains outline/attachments)").then(msg => {
274
+ this.toggleButton.title = msg;
275
+ });
285
276
 
286
- this.l10n.get('toggle_sidebar_notification.title', null, 'Toggle Sidebar (document contains outline/attachments)').then(function (msg) {
287
- _this.toggleButton.title = msg;
288
- });
277
+ if (!this.isOpen) {
278
+ this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
279
+ } else if (view === this.active) {
280
+ return;
281
+ }
289
282
 
290
- if (!this.isOpen) {
291
- this.toggleButton.classList.add(UI_NOTIFICATION_CLASS);
292
- } else if (view === this.active) {
293
- return;
294
- }
283
+ switch (view) {
284
+ case SidebarView.OUTLINE:
285
+ this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);
286
+ break;
287
+
288
+ case SidebarView.ATTACHMENTS:
289
+ this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
290
+ break;
291
+ }
292
+ }
293
+
294
+ _hideUINotification(view) {
295
+ if (this._disableNotification) {
296
+ return;
297
+ }
295
298
 
296
- switch (view) {
299
+ const removeNotification = sidebarView => {
300
+ switch (sidebarView) {
297
301
  case SidebarView.OUTLINE:
298
- this.outlineButton.classList.add(UI_NOTIFICATION_CLASS);
302
+ this.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
299
303
  break;
300
304
 
301
305
  case SidebarView.ATTACHMENTS:
302
- this.attachmentsButton.classList.add(UI_NOTIFICATION_CLASS);
306
+ this.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
303
307
  break;
304
308
  }
305
- }
306
- }, {
307
- key: "_hideUINotification",
308
- value: function _hideUINotification(view) {
309
- var _this2 = this;
309
+ };
310
310
 
311
- if (this._disableNotification) {
312
- return;
313
- }
311
+ if (!this.isOpen && view !== null) {
312
+ return;
313
+ }
314
314
 
315
- var removeNotification = function removeNotification(view) {
316
- switch (view) {
317
- case SidebarView.OUTLINE:
318
- _this2.outlineButton.classList.remove(UI_NOTIFICATION_CLASS);
315
+ this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
319
316
 
320
- break;
317
+ if (view !== null) {
318
+ removeNotification(view);
319
+ return;
320
+ }
321
321
 
322
- case SidebarView.ATTACHMENTS:
323
- _this2.attachmentsButton.classList.remove(UI_NOTIFICATION_CLASS);
322
+ for (view in SidebarView) {
323
+ removeNotification(SidebarView[view]);
324
+ }
324
325
 
325
- break;
326
- }
327
- };
326
+ this.l10n.get("toggle_sidebar.title", null, "Toggle Sidebar").then(msg => {
327
+ this.toggleButton.title = msg;
328
+ });
329
+ }
328
330
 
329
- if (!this.isOpen && view !== null) {
330
- return;
331
+ _addEventListeners() {
332
+ this.viewerContainer.addEventListener("transitionend", evt => {
333
+ if (evt.target === this.viewerContainer) {
334
+ this.outerContainer.classList.remove("sidebarMoving");
331
335
  }
332
-
333
- this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS);
334
-
335
- if (view !== null) {
336
- removeNotification(view);
337
- return;
336
+ });
337
+ this.toggleButton.addEventListener("click", () => {
338
+ this.toggle();
339
+ });
340
+ this.thumbnailButton.addEventListener("click", () => {
341
+ this.switchView(SidebarView.THUMBS);
342
+ });
343
+ this.outlineButton.addEventListener("click", () => {
344
+ this.switchView(SidebarView.OUTLINE);
345
+ });
346
+ this.outlineButton.addEventListener("dblclick", () => {
347
+ this.eventBus.dispatch("toggleoutlinetree", {
348
+ source: this
349
+ });
350
+ });
351
+ this.attachmentsButton.addEventListener("click", () => {
352
+ this.switchView(SidebarView.ATTACHMENTS);
353
+ });
354
+
355
+ this.eventBus._on("outlineloaded", evt => {
356
+ const outlineCount = evt.outlineCount;
357
+ this.outlineButton.disabled = !outlineCount;
358
+
359
+ if (outlineCount) {
360
+ this._showUINotification(SidebarView.OUTLINE);
361
+ } else if (this.active === SidebarView.OUTLINE) {
362
+ this.switchView(SidebarView.THUMBS);
338
363
  }
364
+ });
339
365
 
340
- for (view in SidebarView) {
341
- removeNotification(SidebarView[view]);
342
- }
366
+ this.eventBus._on("attachmentsloaded", evt => {
367
+ if (evt.attachmentsCount) {
368
+ this.attachmentsButton.disabled = false;
343
369
 
344
- this.l10n.get('toggle_sidebar.title', null, 'Toggle Sidebar').then(function (msg) {
345
- _this2.toggleButton.title = msg;
346
- });
347
- }
348
- }, {
349
- key: "_addEventListeners",
350
- value: function _addEventListeners() {
351
- var _this3 = this;
352
-
353
- this.viewerContainer.addEventListener('transitionend', function (evt) {
354
- if (evt.target === _this3.viewerContainer) {
355
- _this3.outerContainer.classList.remove('sidebarMoving');
356
- }
357
- });
358
- this.toggleButton.addEventListener('click', function () {
359
- _this3.toggle();
360
- });
361
- this.thumbnailButton.addEventListener('click', function () {
362
- _this3.switchView(SidebarView.THUMBS);
363
- });
364
- this.outlineButton.addEventListener('click', function () {
365
- _this3.switchView(SidebarView.OUTLINE);
366
- });
367
- this.outlineButton.addEventListener('dblclick', function () {
368
- _this3.eventBus.dispatch('toggleoutlinetree', {
369
- source: _this3
370
- });
371
- });
372
- this.attachmentsButton.addEventListener('click', function () {
373
- _this3.switchView(SidebarView.ATTACHMENTS);
374
- });
375
- this.eventBus.on('outlineloaded', function (evt) {
376
- var outlineCount = evt.outlineCount;
377
- _this3.outlineButton.disabled = !outlineCount;
378
-
379
- if (outlineCount) {
380
- _this3._showUINotification(SidebarView.OUTLINE);
381
- } else if (_this3.active === SidebarView.OUTLINE) {
382
- _this3.switchView(SidebarView.THUMBS);
383
- }
384
- });
385
- this.eventBus.on('attachmentsloaded', function (evt) {
386
- if (evt.attachmentsCount) {
387
- _this3.attachmentsButton.disabled = false;
370
+ this._showUINotification(SidebarView.ATTACHMENTS);
388
371
 
389
- _this3._showUINotification(SidebarView.ATTACHMENTS);
372
+ return;
373
+ }
390
374
 
375
+ Promise.resolve().then(() => {
376
+ if (this.attachmentsView.hasChildNodes()) {
391
377
  return;
392
378
  }
393
379
 
394
- Promise.resolve().then(function () {
395
- if (_this3.attachmentsView.hasChildNodes()) {
396
- return;
397
- }
398
-
399
- _this3.attachmentsButton.disabled = true;
380
+ this.attachmentsButton.disabled = true;
400
381
 
401
- if (_this3.active === SidebarView.ATTACHMENTS) {
402
- _this3.switchView(SidebarView.THUMBS);
403
- }
404
- });
405
- });
406
- this.eventBus.on('presentationmodechanged', function (evt) {
407
- if (!evt.active && !evt.switchInProgress && _this3.isThumbnailViewVisible) {
408
- _this3._updateThumbnailViewer();
382
+ if (this.active === SidebarView.ATTACHMENTS) {
383
+ this.switchView(SidebarView.THUMBS);
409
384
  }
410
385
  });
411
- }
412
- }, {
413
- key: "visibleView",
414
- get: function get() {
415
- return this.isOpen ? this.active : SidebarView.NONE;
416
- }
417
- }, {
418
- key: "isThumbnailViewVisible",
419
- get: function get() {
420
- return this.isOpen && this.active === SidebarView.THUMBS;
421
- }
422
- }, {
423
- key: "isOutlineViewVisible",
424
- get: function get() {
425
- return this.isOpen && this.active === SidebarView.OUTLINE;
426
- }
427
- }, {
428
- key: "isAttachmentsViewVisible",
429
- get: function get() {
430
- return this.isOpen && this.active === SidebarView.ATTACHMENTS;
431
- }
432
- }]);
386
+ });
387
+
388
+ this.eventBus._on("presentationmodechanged", evt => {
389
+ if (!evt.active && !evt.switchInProgress && this.isThumbnailViewVisible) {
390
+ this._updateThumbnailViewer();
391
+ }
392
+ });
393
+ }
433
394
 
434
- return PDFSidebar;
435
- }();
395
+ }
436
396
 
437
397
  exports.PDFSidebar = PDFSidebar;