pdfjs-dist 2.2.228 → 2.6.347

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 (229) hide show
  1. package/README.md +4 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +8816 -19300
  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 +27185 -35746
  8. package/build/pdf.worker.js.map +1 -1
  9. package/build/pdf.worker.min.js +22 -1
  10. package/es5/build/pdf.js +26665 -0
  11. package/es5/build/pdf.js.map +1 -0
  12. package/es5/build/pdf.min.js +22 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +61231 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/build/pdf.worker.min.js +22 -0
  17. package/es5/image_decoders/pdf.image_decoders.js +12529 -0
  18. package/es5/image_decoders/pdf.image_decoders.js.map +1 -0
  19. package/es5/image_decoders/pdf.image_decoders.min.js +22 -0
  20. package/es5/web/images/annotation-check.svg +11 -0
  21. package/es5/web/images/annotation-comment.svg +16 -0
  22. package/es5/web/images/annotation-help.svg +26 -0
  23. package/es5/web/images/annotation-insert.svg +10 -0
  24. package/es5/web/images/annotation-key.svg +11 -0
  25. package/es5/web/images/annotation-newparagraph.svg +11 -0
  26. package/es5/web/images/annotation-noicon.svg +7 -0
  27. package/es5/web/images/annotation-note.svg +42 -0
  28. package/es5/web/images/annotation-paragraph.svg +16 -0
  29. package/es5/web/images/loading-icon.gif +0 -0
  30. package/es5/web/images/shadow.png +0 -0
  31. package/es5/web/pdf_viewer.css +406 -0
  32. package/es5/web/pdf_viewer.js +7886 -0
  33. package/es5/web/pdf_viewer.js.map +1 -0
  34. package/image_decoders/pdf.image_decoders.js +1498 -4832
  35. package/image_decoders/pdf.image_decoders.js.map +1 -1
  36. package/image_decoders/pdf.image_decoders.min.js +22 -1
  37. package/lib/README.md +7 -0
  38. package/lib/core/annotation.js +1144 -927
  39. package/lib/core/arithmetic_decoder.js +81 -97
  40. package/lib/core/bidi.js +54 -46
  41. package/lib/core/ccitt.js +88 -81
  42. package/lib/core/ccitt_stream.js +15 -14
  43. package/lib/core/cff_parser.js +747 -716
  44. package/lib/core/charsets.js +4 -4
  45. package/lib/core/chunked_stream.js +462 -553
  46. package/lib/core/cmap.js +231 -277
  47. package/lib/core/colorspace.js +715 -857
  48. package/lib/core/core_utils.js +57 -52
  49. package/lib/core/crypto.js +416 -437
  50. package/lib/core/document.js +629 -670
  51. package/lib/core/encodings.js +15 -15
  52. package/lib/core/evaluator.js +3229 -2800
  53. package/lib/core/font_renderer.js +135 -178
  54. package/lib/core/fonts.js +602 -534
  55. package/lib/core/function.js +355 -279
  56. package/lib/core/glyphlist.js +4527 -4526
  57. package/lib/core/image.js +442 -439
  58. package/lib/core/image_utils.js +221 -61
  59. package/lib/core/jbig2.js +325 -316
  60. package/lib/core/jbig2_stream.js +18 -17
  61. package/lib/core/jpeg_stream.js +21 -26
  62. package/lib/core/jpg.js +289 -233
  63. package/lib/core/jpx.js +161 -143
  64. package/lib/core/jpx_stream.js +28 -28
  65. package/lib/core/metrics.js +2928 -2928
  66. package/lib/core/murmurhash3.js +87 -102
  67. package/lib/core/obj.js +1343 -1300
  68. package/lib/core/operator_list.js +90 -67
  69. package/lib/core/parser.js +990 -987
  70. package/lib/core/pattern.js +105 -77
  71. package/lib/core/pdf_manager.js +149 -316
  72. package/lib/core/primitives.js +156 -104
  73. package/lib/core/ps_parser.js +175 -214
  74. package/lib/core/standard_fonts.js +237 -236
  75. package/lib/core/stream.js +94 -74
  76. package/lib/core/type1_parser.js +89 -69
  77. package/lib/core/unicode.js +1654 -1654
  78. package/lib/core/worker.js +275 -290
  79. package/lib/core/worker_stream.js +101 -210
  80. package/lib/core/writer.js +242 -0
  81. package/lib/display/annotation_layer.js +772 -1041
  82. package/lib/display/annotation_storage.js +89 -0
  83. package/lib/display/api.js +1575 -1868
  84. package/lib/display/api_compatibility.js +12 -17
  85. package/lib/display/canvas.js +370 -222
  86. package/lib/display/content_disposition.js +40 -59
  87. package/lib/display/display_utils.js +341 -536
  88. package/lib/display/fetch_stream.js +188 -304
  89. package/lib/display/font_loader.js +282 -414
  90. package/lib/display/metadata.js +81 -99
  91. package/lib/display/network.js +362 -511
  92. package/lib/display/network_utils.js +25 -18
  93. package/lib/display/node_stream.js +283 -465
  94. package/lib/display/node_utils.js +87 -0
  95. package/lib/display/optional_content_config.js +184 -0
  96. package/lib/display/pattern_helper.js +93 -44
  97. package/lib/display/svg.js +1163 -1401
  98. package/lib/display/text_layer.js +154 -137
  99. package/lib/display/transport_stream.js +237 -375
  100. package/lib/display/webgl.js +70 -83
  101. package/lib/display/worker_options.js +3 -3
  102. package/lib/display/xml_parser.js +303 -392
  103. package/lib/examples/node/domstubs.js +37 -37
  104. package/lib/pdf.js +220 -58
  105. package/lib/pdf.worker.js +14 -6
  106. package/lib/shared/compatibility.js +3 -246
  107. package/lib/shared/is_node.js +7 -6
  108. package/lib/shared/message_handler.js +327 -332
  109. package/lib/shared/util.js +271 -306
  110. package/lib/test/unit/annotation_spec.js +1902 -763
  111. package/lib/test/unit/annotation_storage_spec.js +83 -0
  112. package/lib/test/unit/api_spec.js +790 -592
  113. package/lib/test/unit/bidi_spec.js +7 -7
  114. package/lib/test/unit/cff_parser_spec.js +73 -72
  115. package/lib/test/unit/clitests_helper.js +7 -9
  116. package/lib/test/unit/cmap_spec.js +86 -88
  117. package/lib/test/unit/colorspace_spec.js +346 -154
  118. package/lib/test/unit/core_utils_spec.js +125 -105
  119. package/lib/test/unit/crypto_spec.js +232 -185
  120. package/lib/test/unit/custom_spec.js +150 -24
  121. package/lib/test/unit/display_svg_spec.js +34 -39
  122. package/lib/test/unit/display_utils_spec.js +139 -149
  123. package/lib/test/unit/document_spec.js +128 -17
  124. package/lib/test/unit/encodings_spec.js +12 -34
  125. package/lib/test/unit/evaluator_spec.js +112 -91
  126. package/lib/test/unit/fetch_stream_spec.js +31 -29
  127. package/lib/test/unit/function_spec.js +206 -204
  128. package/lib/test/unit/jasmine-boot.js +48 -32
  129. package/lib/test/unit/message_handler_spec.js +173 -159
  130. package/lib/test/unit/metadata_spec.js +71 -71
  131. package/lib/test/unit/murmurhash3_spec.js +12 -12
  132. package/lib/test/unit/network_spec.js +13 -11
  133. package/lib/test/unit/network_utils_spec.js +158 -144
  134. package/lib/test/unit/node_stream_spec.js +76 -90
  135. package/lib/test/unit/parser_spec.js +108 -114
  136. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  137. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  138. package/lib/test/unit/pdf_history_spec.js +32 -32
  139. package/lib/test/unit/primitives_spec.js +337 -156
  140. package/lib/test/unit/stream_spec.js +16 -14
  141. package/lib/test/unit/test_utils.js +91 -304
  142. package/lib/test/unit/testreporter.js +33 -22
  143. package/lib/test/unit/type1_parser_spec.js +42 -42
  144. package/lib/test/unit/ui_utils_spec.js +299 -461
  145. package/lib/test/unit/unicode_spec.js +42 -42
  146. package/lib/test/unit/util_spec.js +129 -149
  147. package/lib/test/unit/writer_spec.js +84 -0
  148. package/lib/web/annotation_layer_builder.js +78 -111
  149. package/lib/web/app.js +1542 -1267
  150. package/lib/web/app_options.js +76 -91
  151. package/lib/web/base_tree_viewer.js +100 -0
  152. package/lib/web/base_viewer.js +869 -834
  153. package/lib/web/chromecom.js +165 -252
  154. package/lib/web/debugger.js +149 -205
  155. package/lib/web/download_manager.js +34 -58
  156. package/lib/web/firefox_print_service.js +62 -34
  157. package/lib/web/firefoxcom.js +206 -374
  158. package/lib/web/genericcom.js +26 -108
  159. package/lib/web/genericl10n.js +24 -153
  160. package/lib/web/grab_to_pan.js +30 -30
  161. package/lib/web/interfaces.js +80 -254
  162. package/lib/web/overlay_manager.js +70 -246
  163. package/lib/web/password_prompt.js +38 -64
  164. package/lib/web/pdf_attachment_viewer.js +150 -126
  165. package/lib/web/pdf_cursor_tools.js +75 -102
  166. package/lib/web/pdf_document_properties.js +229 -383
  167. package/lib/web/pdf_find_bar.js +136 -170
  168. package/lib/web/pdf_find_controller.js +492 -548
  169. package/lib/web/pdf_find_utils.js +13 -13
  170. package/lib/web/pdf_history.js +397 -406
  171. package/lib/web/pdf_layer_viewer.js +208 -0
  172. package/lib/web/pdf_link_service.js +304 -348
  173. package/lib/web/pdf_outline_viewer.js +119 -212
  174. package/lib/web/pdf_page_view.js +474 -513
  175. package/lib/web/pdf_presentation_mode.js +308 -357
  176. package/lib/web/pdf_print_service.js +96 -110
  177. package/lib/web/pdf_rendering_queue.js +87 -108
  178. package/lib/web/pdf_sidebar.js +286 -302
  179. package/lib/web/pdf_sidebar_resizer.js +92 -119
  180. package/lib/web/pdf_single_page_viewer.js +77 -126
  181. package/lib/web/pdf_thumbnail_view.js +289 -297
  182. package/lib/web/pdf_thumbnail_viewer.js +202 -206
  183. package/lib/web/pdf_viewer.component.js +20 -21
  184. package/lib/web/pdf_viewer.js +55 -115
  185. package/lib/web/preferences.js +69 -273
  186. package/lib/web/secondary_toolbar.js +164 -196
  187. package/lib/web/text_layer_builder.js +284 -319
  188. package/lib/web/toolbar.js +217 -210
  189. package/lib/web/ui_utils.js +274 -421
  190. package/lib/web/view_history.js +52 -226
  191. package/lib/web/viewer_compatibility.js +21 -6
  192. package/package.json +4 -9
  193. package/types/display/annotation_layer.d.ts +61 -0
  194. package/types/display/annotation_storage.d.ts +36 -0
  195. package/types/display/api.d.ts +1107 -0
  196. package/types/display/api_compatibility.d.ts +1 -0
  197. package/types/display/canvas.d.ts +4 -0
  198. package/types/display/content_disposition.d.ts +7 -0
  199. package/types/display/display_utils.d.ts +243 -0
  200. package/types/display/fetch_stream.d.ts +67 -0
  201. package/types/display/font_loader.d.ts +19 -0
  202. package/types/display/metadata.d.ts +9 -0
  203. package/types/display/network.d.ts +80 -0
  204. package/types/display/network_utils.d.ts +14 -0
  205. package/types/display/node_stream.d.ts +72 -0
  206. package/types/display/node_utils.d.ts +6 -0
  207. package/types/display/optional_content_config.d.ts +12 -0
  208. package/types/display/pattern_helper.d.ts +5 -0
  209. package/types/display/svg.d.ts +2 -0
  210. package/types/display/text_layer.d.ts +83 -0
  211. package/types/display/transport_stream.d.ts +57 -0
  212. package/types/display/webgl.d.ts +20 -0
  213. package/types/display/worker_options.d.ts +27 -0
  214. package/types/display/xml_parser.d.ts +35 -0
  215. package/types/pdf.d.ts +33 -0
  216. package/types/shared/compatibility.d.ts +1 -0
  217. package/types/shared/is_node.d.ts +1 -0
  218. package/types/shared/message_handler.d.ts +62 -0
  219. package/types/shared/util.d.ts +421 -0
  220. package/web/images/shadow.png +0 -0
  221. package/web/pdf_viewer.css +29 -27
  222. package/web/pdf_viewer.js +3524 -4746
  223. package/web/pdf_viewer.js.map +1 -1
  224. package/webpack.js +6 -5
  225. package/external/streams/streams-lib.js +0 -3962
  226. package/external/url/url-lib.js +0 -627
  227. package/lib/shared/streams_polyfill.js +0 -43
  228. package/lib/shared/url_polyfill.js +0 -56
  229. package/web/images/texture.png +0 -0
@@ -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,44 +26,32 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.SecondaryToolbar = void 0;
28
28
 
29
- var _ui_utils = require("./ui_utils");
29
+ var _ui_utils = require("./ui_utils.js");
30
30
 
31
- var _pdf_cursor_tools = require("./pdf_cursor_tools");
31
+ var _pdf_cursor_tools = require("./pdf_cursor_tools.js");
32
32
 
33
- var _pdf_single_page_viewer = require("./pdf_single_page_viewer");
34
-
35
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
-
37
- 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); } }
38
-
39
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
40
-
41
- var SecondaryToolbar =
42
- /*#__PURE__*/
43
- function () {
44
- function SecondaryToolbar(options, mainContainer, eventBus) {
45
- var _this = this;
46
-
47
- _classCallCheck(this, SecondaryToolbar);
33
+ var _pdf_single_page_viewer = require("./pdf_single_page_viewer.js");
48
34
 
35
+ class SecondaryToolbar {
36
+ constructor(options, mainContainer, eventBus) {
49
37
  this.toolbar = options.toolbar;
50
38
  this.toggleButton = options.toggleButton;
51
39
  this.toolbarButtonContainer = options.toolbarButtonContainer;
52
40
  this.buttons = [{
53
41
  element: options.presentationModeButton,
54
- eventName: 'presentationmode',
42
+ eventName: "presentationmode",
55
43
  close: true
56
44
  }, {
57
45
  element: options.openFileButton,
58
- eventName: 'openfile',
46
+ eventName: "openfile",
59
47
  close: true
60
48
  }, {
61
49
  element: options.printButton,
62
- eventName: 'print',
50
+ eventName: "print",
63
51
  close: true
64
52
  }, {
65
53
  element: options.downloadButton,
66
- eventName: 'download',
54
+ eventName: "download",
67
55
  close: true
68
56
  }, {
69
57
  element: options.viewBookmarkButton,
@@ -71,79 +59,79 @@ function () {
71
59
  close: true
72
60
  }, {
73
61
  element: options.firstPageButton,
74
- eventName: 'firstpage',
62
+ eventName: "firstpage",
75
63
  close: true
76
64
  }, {
77
65
  element: options.lastPageButton,
78
- eventName: 'lastpage',
66
+ eventName: "lastpage",
79
67
  close: true
80
68
  }, {
81
69
  element: options.pageRotateCwButton,
82
- eventName: 'rotatecw',
70
+ eventName: "rotatecw",
83
71
  close: false
84
72
  }, {
85
73
  element: options.pageRotateCcwButton,
86
- eventName: 'rotateccw',
74
+ eventName: "rotateccw",
87
75
  close: false
88
76
  }, {
89
77
  element: options.cursorSelectToolButton,
90
- eventName: 'switchcursortool',
78
+ eventName: "switchcursortool",
91
79
  eventDetails: {
92
80
  tool: _pdf_cursor_tools.CursorTool.SELECT
93
81
  },
94
82
  close: true
95
83
  }, {
96
84
  element: options.cursorHandToolButton,
97
- eventName: 'switchcursortool',
85
+ eventName: "switchcursortool",
98
86
  eventDetails: {
99
87
  tool: _pdf_cursor_tools.CursorTool.HAND
100
88
  },
101
89
  close: true
102
90
  }, {
103
91
  element: options.scrollVerticalButton,
104
- eventName: 'switchscrollmode',
92
+ eventName: "switchscrollmode",
105
93
  eventDetails: {
106
94
  mode: _ui_utils.ScrollMode.VERTICAL
107
95
  },
108
96
  close: true
109
97
  }, {
110
98
  element: options.scrollHorizontalButton,
111
- eventName: 'switchscrollmode',
99
+ eventName: "switchscrollmode",
112
100
  eventDetails: {
113
101
  mode: _ui_utils.ScrollMode.HORIZONTAL
114
102
  },
115
103
  close: true
116
104
  }, {
117
105
  element: options.scrollWrappedButton,
118
- eventName: 'switchscrollmode',
106
+ eventName: "switchscrollmode",
119
107
  eventDetails: {
120
108
  mode: _ui_utils.ScrollMode.WRAPPED
121
109
  },
122
110
  close: true
123
111
  }, {
124
112
  element: options.spreadNoneButton,
125
- eventName: 'switchspreadmode',
113
+ eventName: "switchspreadmode",
126
114
  eventDetails: {
127
115
  mode: _ui_utils.SpreadMode.NONE
128
116
  },
129
117
  close: true
130
118
  }, {
131
119
  element: options.spreadOddButton,
132
- eventName: 'switchspreadmode',
120
+ eventName: "switchspreadmode",
133
121
  eventDetails: {
134
122
  mode: _ui_utils.SpreadMode.ODD
135
123
  },
136
124
  close: true
137
125
  }, {
138
126
  element: options.spreadEvenButton,
139
- eventName: 'switchspreadmode',
127
+ eventName: "switchspreadmode",
140
128
  eventDetails: {
141
129
  mode: _ui_utils.SpreadMode.EVEN
142
130
  },
143
131
  close: true
144
132
  }, {
145
133
  element: options.documentPropertiesButton,
146
- eventName: 'documentproperties',
134
+ eventName: "documentproperties",
147
135
  close: true
148
136
  }];
149
137
  this.items = {
@@ -167,199 +155,179 @@ function () {
167
155
 
168
156
  this._bindSpreadModeListener(options);
169
157
 
170
- this.eventBus.on('resize', this._setMaxHeight.bind(this));
171
- this.eventBus.on('baseviewerinit', function (evt) {
158
+ this.eventBus._on("resize", this._setMaxHeight.bind(this));
159
+
160
+ this.eventBus._on("baseviewerinit", evt => {
172
161
  if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) {
173
- _this.toolbarButtonContainer.classList.add('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
162
+ this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
174
163
  } else {
175
- _this.toolbarButtonContainer.classList.remove('hiddenScrollModeButtons', 'hiddenSpreadModeButtons');
164
+ this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons");
176
165
  }
177
166
  });
178
167
  }
179
168
 
180
- _createClass(SecondaryToolbar, [{
181
- key: "setPageNumber",
182
- value: function setPageNumber(pageNumber) {
183
- this.pageNumber = pageNumber;
169
+ get isOpen() {
170
+ return this.opened;
171
+ }
184
172
 
185
- this._updateUIState();
186
- }
187
- }, {
188
- key: "setPagesCount",
189
- value: function setPagesCount(pagesCount) {
190
- this.pagesCount = pagesCount;
173
+ setPageNumber(pageNumber) {
174
+ this.pageNumber = pageNumber;
191
175
 
192
- this._updateUIState();
193
- }
194
- }, {
195
- key: "reset",
196
- value: function reset() {
197
- this.pageNumber = 0;
198
- this.pagesCount = 0;
176
+ this._updateUIState();
177
+ }
199
178
 
200
- this._updateUIState();
179
+ setPagesCount(pagesCount) {
180
+ this.pagesCount = pagesCount;
201
181
 
202
- this.eventBus.dispatch('secondarytoolbarreset', {
203
- source: this
204
- });
205
- }
206
- }, {
207
- key: "_updateUIState",
208
- value: function _updateUIState() {
209
- this.items.firstPage.disabled = this.pageNumber <= 1;
210
- this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
211
- this.items.pageRotateCw.disabled = this.pagesCount === 0;
212
- this.items.pageRotateCcw.disabled = this.pagesCount === 0;
213
- }
214
- }, {
215
- key: "_bindClickListeners",
216
- value: function _bindClickListeners() {
217
- var _this2 = this;
218
-
219
- this.toggleButton.addEventListener('click', this.toggle.bind(this));
220
-
221
- var _loop = function _loop(button) {
222
- var _this2$buttons$button = _this2.buttons[button],
223
- element = _this2$buttons$button.element,
224
- eventName = _this2$buttons$button.eventName,
225
- close = _this2$buttons$button.close,
226
- eventDetails = _this2$buttons$button.eventDetails;
227
- element.addEventListener('click', function (evt) {
228
- if (eventName !== null) {
229
- var details = {
230
- source: _this2
231
- };
232
-
233
- for (var property in eventDetails) {
234
- details[property] = eventDetails[property];
235
- }
236
-
237
- _this2.eventBus.dispatch(eventName, details);
238
- }
182
+ this._updateUIState();
183
+ }
184
+
185
+ reset() {
186
+ this.pageNumber = 0;
187
+ this.pagesCount = 0;
239
188
 
240
- if (close) {
241
- _this2.close();
189
+ this._updateUIState();
190
+
191
+ this.eventBus.dispatch("secondarytoolbarreset", {
192
+ source: this
193
+ });
194
+ }
195
+
196
+ _updateUIState() {
197
+ this.items.firstPage.disabled = this.pageNumber <= 1;
198
+ this.items.lastPage.disabled = this.pageNumber >= this.pagesCount;
199
+ this.items.pageRotateCw.disabled = this.pagesCount === 0;
200
+ this.items.pageRotateCcw.disabled = this.pagesCount === 0;
201
+ }
202
+
203
+ _bindClickListeners() {
204
+ this.toggleButton.addEventListener("click", this.toggle.bind(this));
205
+
206
+ for (const {
207
+ element,
208
+ eventName,
209
+ close,
210
+ eventDetails
211
+ } of this.buttons) {
212
+ element.addEventListener("click", evt => {
213
+ if (eventName !== null) {
214
+ const details = {
215
+ source: this
216
+ };
217
+
218
+ for (const property in eventDetails) {
219
+ details[property] = eventDetails[property];
242
220
  }
243
- });
244
- };
245
221
 
246
- for (var button in this.buttons) {
247
- _loop(button);
248
- }
249
- }
250
- }, {
251
- key: "_bindCursorToolsListener",
252
- value: function _bindCursorToolsListener(buttons) {
253
- this.eventBus.on('cursortoolchanged', function (_ref) {
254
- var tool = _ref.tool;
255
- buttons.cursorSelectToolButton.classList.toggle('toggled', tool === _pdf_cursor_tools.CursorTool.SELECT);
256
- buttons.cursorHandToolButton.classList.toggle('toggled', tool === _pdf_cursor_tools.CursorTool.HAND);
257
- });
258
- }
259
- }, {
260
- key: "_bindScrollModeListener",
261
- value: function _bindScrollModeListener(buttons) {
262
- var _this3 = this;
263
-
264
- function scrollModeChanged(_ref2) {
265
- var mode = _ref2.mode;
266
- buttons.scrollVerticalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.VERTICAL);
267
- buttons.scrollHorizontalButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.HORIZONTAL);
268
- buttons.scrollWrappedButton.classList.toggle('toggled', mode === _ui_utils.ScrollMode.WRAPPED);
269
- var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
270
- buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
271
- buttons.spreadOddButton.disabled = isScrollModeHorizontal;
272
- buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
273
- }
222
+ this.eventBus.dispatch(eventName, details);
223
+ }
274
224
 
275
- this.eventBus.on('scrollmodechanged', scrollModeChanged);
276
- this.eventBus.on('secondarytoolbarreset', function (evt) {
277
- if (evt.source === _this3) {
278
- scrollModeChanged({
279
- mode: _ui_utils.ScrollMode.VERTICAL
280
- });
225
+ if (close) {
226
+ this.close();
281
227
  }
282
228
  });
283
229
  }
284
- }, {
285
- key: "_bindSpreadModeListener",
286
- value: function _bindSpreadModeListener(buttons) {
287
- var _this4 = this;
288
-
289
- function spreadModeChanged(_ref3) {
290
- var mode = _ref3.mode;
291
- buttons.spreadNoneButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.NONE);
292
- buttons.spreadOddButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.ODD);
293
- buttons.spreadEvenButton.classList.toggle('toggled', mode === _ui_utils.SpreadMode.EVEN);
294
- }
230
+ }
295
231
 
296
- this.eventBus.on('spreadmodechanged', spreadModeChanged);
297
- this.eventBus.on('secondarytoolbarreset', function (evt) {
298
- if (evt.source === _this4) {
299
- spreadModeChanged({
300
- mode: _ui_utils.SpreadMode.NONE
301
- });
302
- }
303
- });
232
+ _bindCursorToolsListener(buttons) {
233
+ this.eventBus._on("cursortoolchanged", function ({
234
+ tool
235
+ }) {
236
+ buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT);
237
+ buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND);
238
+ });
239
+ }
240
+
241
+ _bindScrollModeListener(buttons) {
242
+ function scrollModeChanged({
243
+ mode
244
+ }) {
245
+ buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL);
246
+ buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL);
247
+ buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED);
248
+ const isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL;
249
+ buttons.spreadNoneButton.disabled = isScrollModeHorizontal;
250
+ buttons.spreadOddButton.disabled = isScrollModeHorizontal;
251
+ buttons.spreadEvenButton.disabled = isScrollModeHorizontal;
304
252
  }
305
- }, {
306
- key: "open",
307
- value: function open() {
308
- if (this.opened) {
309
- return;
310
- }
311
253
 
312
- this.opened = true;
254
+ this.eventBus._on("scrollmodechanged", scrollModeChanged);
313
255
 
314
- this._setMaxHeight();
256
+ this.eventBus._on("secondarytoolbarreset", evt => {
257
+ if (evt.source === this) {
258
+ scrollModeChanged({
259
+ mode: _ui_utils.ScrollMode.VERTICAL
260
+ });
261
+ }
262
+ });
263
+ }
315
264
 
316
- this.toggleButton.classList.add('toggled');
317
- this.toolbar.classList.remove('hidden');
265
+ _bindSpreadModeListener(buttons) {
266
+ function spreadModeChanged({
267
+ mode
268
+ }) {
269
+ buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE);
270
+ buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD);
271
+ buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN);
318
272
  }
319
- }, {
320
- key: "close",
321
- value: function close() {
322
- if (!this.opened) {
323
- return;
273
+
274
+ this.eventBus._on("spreadmodechanged", spreadModeChanged);
275
+
276
+ this.eventBus._on("secondarytoolbarreset", evt => {
277
+ if (evt.source === this) {
278
+ spreadModeChanged({
279
+ mode: _ui_utils.SpreadMode.NONE
280
+ });
324
281
  }
282
+ });
283
+ }
325
284
 
326
- this.opened = false;
327
- this.toolbar.classList.add('hidden');
328
- this.toggleButton.classList.remove('toggled');
285
+ open() {
286
+ if (this.opened) {
287
+ return;
329
288
  }
330
- }, {
331
- key: "toggle",
332
- value: function toggle() {
333
- if (this.opened) {
334
- this.close();
335
- } else {
336
- this.open();
337
- }
289
+
290
+ this.opened = true;
291
+
292
+ this._setMaxHeight();
293
+
294
+ this.toggleButton.classList.add("toggled");
295
+ this.toolbar.classList.remove("hidden");
296
+ }
297
+
298
+ close() {
299
+ if (!this.opened) {
300
+ return;
338
301
  }
339
- }, {
340
- key: "_setMaxHeight",
341
- value: function _setMaxHeight() {
342
- if (!this.opened) {
343
- return;
344
- }
345
302
 
346
- this.containerHeight = this.mainContainer.clientHeight;
303
+ this.opened = false;
304
+ this.toolbar.classList.add("hidden");
305
+ this.toggleButton.classList.remove("toggled");
306
+ }
347
307
 
348
- if (this.containerHeight === this.previousContainerHeight) {
349
- return;
350
- }
308
+ toggle() {
309
+ if (this.opened) {
310
+ this.close();
311
+ } else {
312
+ this.open();
313
+ }
314
+ }
351
315
 
352
- this.toolbarButtonContainer.setAttribute('style', 'max-height: ' + (this.containerHeight - _ui_utils.SCROLLBAR_PADDING) + 'px;');
353
- this.previousContainerHeight = this.containerHeight;
316
+ _setMaxHeight() {
317
+ if (!this.opened) {
318
+ return;
354
319
  }
355
- }, {
356
- key: "isOpen",
357
- get: function get() {
358
- return this.opened;
320
+
321
+ this.containerHeight = this.mainContainer.clientHeight;
322
+
323
+ if (this.containerHeight === this.previousContainerHeight) {
324
+ return;
359
325
  }
360
- }]);
361
326
 
362
- return SecondaryToolbar;
363
- }();
327
+ this.toolbarButtonContainer.style.maxHeight = `${this.containerHeight - _ui_utils.SCROLLBAR_PADDING}px`;
328
+ this.previousContainerHeight = this.containerHeight;
329
+ }
330
+
331
+ }
364
332
 
365
333
  exports.SecondaryToolbar = SecondaryToolbar;