pdfjs-dist 2.1.266 → 2.5.207

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