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,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;