pdfjs-dist 2.0.943 → 2.1.266
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/bower.json +1 -1
- package/build/pdf.js +15329 -11095
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +1 -1
- package/build/pdf.worker.js +12497 -4184
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +1 -1
- package/image_decoders/pdf.image_decoders.js +3438 -1209
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +1 -1
- package/lib/core/annotation.js +335 -109
- package/lib/core/arithmetic_decoder.js +274 -244
- package/lib/core/bidi.js +64 -5
- package/lib/core/ccitt.js +172 -17
- package/lib/core/ccitt_stream.js +14 -5
- package/lib/core/cff_parser.js +304 -28
- package/lib/core/charsets.js +4 -3
- package/lib/core/chunked_stream.js +379 -149
- package/lib/core/cmap.js +210 -40
- package/lib/core/colorspace.js +332 -187
- package/lib/core/crypto.js +289 -44
- package/lib/core/document.js +508 -249
- package/lib/core/encodings.js +18 -9
- package/lib/core/evaluator.js +657 -119
- package/lib/core/font_renderer.js +217 -34
- package/lib/core/fonts.js +632 -41
- package/lib/core/function.js +252 -26
- package/lib/core/glyphlist.js +2 -1
- package/lib/core/image.js +124 -27
- package/lib/core/jbig2.js +425 -65
- package/lib/core/jbig2_stream.js +18 -7
- package/lib/core/jpeg_stream.js +24 -8
- package/lib/core/jpg.js +208 -16
- package/lib/core/jpx.js +395 -5
- package/lib/core/jpx_stream.js +17 -5
- package/lib/core/metrics.js +3 -3
- package/lib/core/murmurhash3.js +23 -5
- package/lib/core/obj.js +625 -132
- package/lib/core/operator_list.js +104 -3
- package/lib/core/parser.js +262 -25
- package/lib/core/pattern.js +144 -12
- package/lib/core/pdf_manager.js +104 -70
- package/lib/core/primitives.js +74 -21
- package/lib/core/ps_parser.js +133 -44
- package/lib/core/standard_fonts.js +9 -9
- package/lib/core/stream.js +283 -31
- package/lib/core/type1_parser.js +138 -6
- package/lib/core/unicode.js +28 -1
- package/lib/core/worker.js +192 -57
- package/lib/display/annotation_layer.js +303 -123
- package/lib/display/api.js +1073 -574
- package/lib/display/api_compatibility.js +4 -1
- package/lib/display/canvas.js +314 -18
- package/lib/display/content_disposition.js +70 -23
- package/lib/display/dom_utils.js +112 -59
- package/lib/display/fetch_stream.js +95 -50
- package/lib/display/font_loader.js +250 -132
- package/lib/display/metadata.js +37 -15
- package/lib/display/network.js +123 -34
- package/lib/display/network_utils.js +23 -10
- package/lib/display/node_stream.js +162 -65
- package/lib/display/pattern_helper.js +57 -6
- package/lib/display/svg.js +194 -18
- package/lib/display/text_layer.js +128 -14
- package/lib/display/transport_stream.js +83 -27
- package/lib/display/webgl.js +63 -17
- package/lib/display/worker_options.js +4 -3
- package/lib/display/xml_parser.js +162 -52
- package/lib/examples/node/domstubs.js +56 -3
- package/lib/pdf.js +15 -2
- package/lib/pdf.worker.js +4 -2
- package/lib/shared/compatibility.js +129 -26
- package/lib/shared/global_scope.js +1 -1
- package/lib/shared/is_node.js +3 -3
- package/lib/shared/message_handler.js +103 -45
- package/lib/shared/streams_polyfill.js +20 -16
- package/lib/shared/url_polyfill.js +8 -2
- package/lib/shared/util.js +246 -84
- package/lib/test/unit/annotation_spec.js +99 -73
- package/lib/test/unit/api_spec.js +347 -113
- package/lib/test/unit/bidi_spec.js +6 -6
- package/lib/test/unit/cff_parser_spec.js +17 -5
- package/lib/test/unit/clitests_helper.js +7 -8
- package/lib/test/unit/cmap_spec.js +79 -25
- package/lib/test/unit/colorspace_spec.js +65 -18
- package/lib/test/unit/crypto_spec.js +16 -4
- package/lib/test/unit/custom_spec.js +40 -52
- package/lib/test/unit/display_svg_spec.js +32 -16
- package/lib/test/unit/document_spec.js +2 -2
- package/lib/test/unit/dom_utils_spec.js +8 -8
- package/lib/test/unit/encodings_spec.js +24 -44
- package/lib/test/unit/evaluator_spec.js +15 -8
- package/lib/test/unit/function_spec.js +16 -4
- package/lib/test/unit/jasmine-boot.js +29 -16
- package/lib/test/unit/message_handler_spec.js +19 -6
- package/lib/test/unit/metadata_spec.js +64 -11
- package/lib/test/unit/murmurhash3_spec.js +2 -2
- package/lib/test/unit/network_spec.js +19 -4
- package/lib/test/unit/network_utils_spec.js +6 -4
- package/lib/test/unit/node_stream_spec.js +50 -26
- package/lib/test/unit/parser_spec.js +13 -29
- package/lib/test/unit/pdf_find_controller_spec.js +144 -32
- package/lib/test/unit/pdf_find_utils_spec.js +10 -9
- package/lib/test/unit/pdf_history_spec.js +20 -8
- package/lib/test/unit/primitives_spec.js +23 -3
- package/lib/test/unit/stream_spec.js +8 -3
- package/lib/test/unit/test_utils.js +89 -26
- package/lib/test/unit/testreporter.js +19 -1
- package/lib/test/unit/type1_parser_spec.js +7 -5
- package/lib/test/unit/ui_utils_spec.js +162 -38
- package/lib/test/unit/unicode_spec.js +13 -10
- package/lib/test/unit/util_spec.js +89 -9
- package/lib/web/annotation_layer_builder.js +38 -21
- package/lib/web/app.js +610 -245
- package/lib/web/app_options.js +54 -34
- package/lib/web/base_viewer.js +359 -162
- package/lib/web/chromecom.js +159 -80
- package/lib/web/debugger.js +161 -17
- package/lib/web/download_manager.js +29 -11
- package/lib/web/firefox_print_service.js +16 -8
- package/lib/web/firefoxcom.js +127 -91
- package/lib/web/genericcom.js +50 -31
- package/lib/web/genericl10n.js +46 -34
- package/lib/web/grab_to_pan.js +25 -3
- package/lib/web/interfaces.js +108 -61
- package/lib/web/overlay_manager.js +67 -45
- package/lib/web/password_prompt.js +20 -12
- package/lib/web/pdf_attachment_viewer.js +37 -17
- package/lib/web/pdf_cursor_tools.js +38 -15
- package/lib/web/pdf_document_properties.js +65 -24
- package/lib/web/pdf_find_bar.js +48 -20
- package/lib/web/pdf_find_controller.js +290 -89
- package/lib/web/pdf_find_utils.js +19 -3
- package/lib/web/pdf_history.js +186 -49
- package/lib/web/pdf_link_service.js +127 -52
- package/lib/web/pdf_outline_viewer.js +71 -21
- package/lib/web/pdf_page_view.js +188 -63
- package/lib/web/pdf_presentation_mode.js +98 -33
- package/lib/web/pdf_print_service.js +54 -10
- package/lib/web/pdf_rendering_queue.js +26 -4
- package/lib/web/pdf_sidebar.js +116 -62
- package/lib/web/pdf_sidebar_resizer.js +41 -15
- package/lib/web/pdf_single_page_viewer.js +65 -68
- package/lib/web/pdf_thumbnail_view.js +102 -31
- package/lib/web/pdf_thumbnail_viewer.js +62 -22
- package/lib/web/pdf_viewer.component.js +111 -31
- package/lib/web/pdf_viewer.js +80 -60
- package/lib/web/preferences.js +61 -39
- package/lib/web/secondary_toolbar.js +101 -82
- package/lib/web/text_layer_builder.js +124 -69
- package/lib/web/toolbar.js +67 -27
- package/lib/web/ui_utils.js +284 -128
- package/lib/web/view_history.js +75 -51
- package/lib/web/viewer_compatibility.js +2 -1
- package/package.json +1 -1
- package/web/pdf_viewer.css +1 -1
- package/web/pdf_viewer.js +2200 -973
- package/web/pdf_viewer.js.map +1 -1
- package/lib/web/dom_events.js +0 -140
@@ -19,42 +19,42 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.DefaultTextLayerFactory = exports.TextLayerBuilder =
|
27
|
+
exports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _ui_utils = require("./ui_utils");
|
30
30
|
|
31
|
-
var
|
31
|
+
var _pdf = require("../pdf");
|
32
32
|
|
33
|
-
|
33
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
34
34
|
|
35
|
-
var
|
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
36
|
|
37
|
-
function
|
37
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
38
38
|
|
39
39
|
var EXPAND_DIVS_TIMEOUT = 300;
|
40
|
-
var MATCH_SCROLL_OFFSET_TOP = -50;
|
41
|
-
var MATCH_SCROLL_OFFSET_LEFT = -400;
|
42
40
|
|
43
|
-
var TextLayerBuilder =
|
41
|
+
var TextLayerBuilder =
|
42
|
+
/*#__PURE__*/
|
43
|
+
function () {
|
44
44
|
function TextLayerBuilder(_ref) {
|
45
45
|
var textLayerDiv = _ref.textLayerDiv,
|
46
46
|
eventBus = _ref.eventBus,
|
47
47
|
pageIndex = _ref.pageIndex,
|
48
48
|
viewport = _ref.viewport,
|
49
49
|
_ref$findController = _ref.findController,
|
50
|
-
findController = _ref$findController ===
|
50
|
+
findController = _ref$findController === void 0 ? null : _ref$findController,
|
51
51
|
_ref$enhanceTextSelec = _ref.enhanceTextSelection,
|
52
|
-
enhanceTextSelection = _ref$enhanceTextSelec ===
|
52
|
+
enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;
|
53
53
|
|
54
54
|
_classCallCheck(this, TextLayerBuilder);
|
55
55
|
|
56
56
|
this.textLayerDiv = textLayerDiv;
|
57
|
-
this.eventBus = eventBus || (0,
|
57
|
+
this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
|
58
58
|
this.textContent = null;
|
59
59
|
this.textContentItemsStr = [];
|
60
60
|
this.textContentStream = null;
|
@@ -68,19 +68,23 @@ var TextLayerBuilder = function () {
|
|
68
68
|
this.textLayerRenderTask = null;
|
69
69
|
this.enhanceTextSelection = enhanceTextSelection;
|
70
70
|
this._boundEvents = Object.create(null);
|
71
|
+
|
71
72
|
this._bindEvents();
|
73
|
+
|
72
74
|
this._bindMouse();
|
73
75
|
}
|
74
76
|
|
75
77
|
_createClass(TextLayerBuilder, [{
|
76
|
-
key:
|
78
|
+
key: "_finishRendering",
|
77
79
|
value: function _finishRendering() {
|
78
80
|
this.renderingDone = true;
|
81
|
+
|
79
82
|
if (!this.enhanceTextSelection) {
|
80
83
|
var endOfContent = document.createElement('div');
|
81
84
|
endOfContent.className = 'endOfContent';
|
82
85
|
this.textLayerDiv.appendChild(endOfContent);
|
83
86
|
}
|
87
|
+
|
84
88
|
this.eventBus.dispatch('textlayerrendered', {
|
85
89
|
source: this,
|
86
90
|
pageNumber: this.pageNumber,
|
@@ -88,7 +92,7 @@ var TextLayerBuilder = function () {
|
|
88
92
|
});
|
89
93
|
}
|
90
94
|
}, {
|
91
|
-
key:
|
95
|
+
key: "render",
|
92
96
|
value: function render() {
|
93
97
|
var _this = this;
|
94
98
|
|
@@ -97,6 +101,7 @@ var TextLayerBuilder = function () {
|
|
97
101
|
if (!(this.textContent || this.textContentStream) || this.renderingDone) {
|
98
102
|
return;
|
99
103
|
}
|
104
|
+
|
100
105
|
this.cancel();
|
101
106
|
this.textDivs = [];
|
102
107
|
var textLayerFrag = document.createDocumentFragment();
|
@@ -112,12 +117,14 @@ var TextLayerBuilder = function () {
|
|
112
117
|
});
|
113
118
|
this.textLayerRenderTask.promise.then(function () {
|
114
119
|
_this.textLayerDiv.appendChild(textLayerFrag);
|
120
|
+
|
115
121
|
_this._finishRendering();
|
116
|
-
|
122
|
+
|
123
|
+
_this._updateMatches();
|
117
124
|
}, function (reason) {});
|
118
125
|
}
|
119
126
|
}, {
|
120
|
-
key:
|
127
|
+
key: "cancel",
|
121
128
|
value: function cancel() {
|
122
129
|
if (this.textLayerRenderTask) {
|
123
130
|
this.textLayerRenderTask.cancel();
|
@@ -125,87 +132,102 @@ var TextLayerBuilder = function () {
|
|
125
132
|
}
|
126
133
|
}
|
127
134
|
}, {
|
128
|
-
key:
|
135
|
+
key: "setTextContentStream",
|
129
136
|
value: function setTextContentStream(readableStream) {
|
130
137
|
this.cancel();
|
131
138
|
this.textContentStream = readableStream;
|
132
139
|
}
|
133
140
|
}, {
|
134
|
-
key:
|
141
|
+
key: "setTextContent",
|
135
142
|
value: function setTextContent(textContent) {
|
136
143
|
this.cancel();
|
137
144
|
this.textContent = textContent;
|
138
145
|
}
|
139
146
|
}, {
|
140
|
-
key:
|
141
|
-
value: function
|
142
|
-
var i = 0;
|
143
|
-
var iIndex = 0;
|
144
|
-
var textContentItemsStr = this.textContentItemsStr;
|
145
|
-
var end = textContentItemsStr.length - 1;
|
146
|
-
var queryLen = this.findController === null ? 0 : this.findController.state.query.length;
|
147
|
-
var ret = [];
|
147
|
+
key: "_convertMatches",
|
148
|
+
value: function _convertMatches(matches, matchesLength) {
|
148
149
|
if (!matches) {
|
149
|
-
return
|
150
|
+
return [];
|
150
151
|
}
|
151
|
-
|
152
|
+
|
153
|
+
var findController = this.findController,
|
154
|
+
textContentItemsStr = this.textContentItemsStr;
|
155
|
+
var i = 0,
|
156
|
+
iIndex = 0;
|
157
|
+
var end = textContentItemsStr.length - 1;
|
158
|
+
var queryLen = findController.state.query.length;
|
159
|
+
var result = [];
|
160
|
+
|
161
|
+
for (var m = 0, mm = matches.length; m < mm; m++) {
|
152
162
|
var matchIdx = matches[m];
|
163
|
+
|
153
164
|
while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
|
154
165
|
iIndex += textContentItemsStr[i].length;
|
155
166
|
i++;
|
156
167
|
}
|
168
|
+
|
157
169
|
if (i === textContentItemsStr.length) {
|
158
170
|
console.error('Could not find a matching mapping');
|
159
171
|
}
|
172
|
+
|
160
173
|
var match = {
|
161
174
|
begin: {
|
162
175
|
divIdx: i,
|
163
176
|
offset: matchIdx - iIndex
|
164
177
|
}
|
165
178
|
};
|
179
|
+
|
166
180
|
if (matchesLength) {
|
167
181
|
matchIdx += matchesLength[m];
|
168
182
|
} else {
|
169
183
|
matchIdx += queryLen;
|
170
184
|
}
|
185
|
+
|
171
186
|
while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
|
172
187
|
iIndex += textContentItemsStr[i].length;
|
173
188
|
i++;
|
174
189
|
}
|
190
|
+
|
175
191
|
match.end = {
|
176
192
|
divIdx: i,
|
177
193
|
offset: matchIdx - iIndex
|
178
194
|
};
|
179
|
-
|
195
|
+
result.push(match);
|
180
196
|
}
|
181
|
-
|
197
|
+
|
198
|
+
return result;
|
182
199
|
}
|
183
200
|
}, {
|
184
|
-
key:
|
185
|
-
value: function
|
201
|
+
key: "_renderMatches",
|
202
|
+
value: function _renderMatches(matches) {
|
186
203
|
if (matches.length === 0) {
|
187
204
|
return;
|
188
205
|
}
|
189
|
-
|
190
|
-
var
|
206
|
+
|
207
|
+
var findController = this.findController,
|
208
|
+
pageIdx = this.pageIdx,
|
209
|
+
textContentItemsStr = this.textContentItemsStr,
|
210
|
+
textDivs = this.textDivs;
|
211
|
+
var isSelectedPage = pageIdx === findController.selected.pageIdx;
|
212
|
+
var selectedMatchIdx = findController.selected.matchIdx;
|
213
|
+
var highlightAll = findController.state.highlightAll;
|
191
214
|
var prevEnd = null;
|
192
|
-
var pageIdx = this.pageIdx;
|
193
|
-
var isSelectedPage = this.findController === null ? false : pageIdx === this.findController.selected.pageIdx;
|
194
|
-
var selectedMatchIdx = this.findController === null ? -1 : this.findController.selected.matchIdx;
|
195
|
-
var highlightAll = this.findController === null ? false : this.findController.state.highlightAll;
|
196
215
|
var infinity = {
|
197
216
|
divIdx: -1,
|
198
217
|
offset: undefined
|
199
218
|
};
|
219
|
+
|
200
220
|
function beginText(begin, className) {
|
201
221
|
var divIdx = begin.divIdx;
|
202
222
|
textDivs[divIdx].textContent = '';
|
203
223
|
appendTextToDiv(divIdx, 0, begin.offset, className);
|
204
224
|
}
|
225
|
+
|
205
226
|
function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
|
206
227
|
var div = textDivs[divIdx];
|
207
228
|
var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
|
208
229
|
var node = document.createTextNode(content);
|
230
|
+
|
209
231
|
if (className) {
|
210
232
|
var span = document.createElement('span');
|
211
233
|
span.className = className;
|
@@ -213,88 +235,103 @@ var TextLayerBuilder = function () {
|
|
213
235
|
div.appendChild(span);
|
214
236
|
return;
|
215
237
|
}
|
238
|
+
|
216
239
|
div.appendChild(node);
|
217
240
|
}
|
241
|
+
|
218
242
|
var i0 = selectedMatchIdx,
|
219
243
|
i1 = i0 + 1;
|
244
|
+
|
220
245
|
if (highlightAll) {
|
221
246
|
i0 = 0;
|
222
247
|
i1 = matches.length;
|
223
248
|
} else if (!isSelectedPage) {
|
224
249
|
return;
|
225
250
|
}
|
251
|
+
|
226
252
|
for (var i = i0; i < i1; i++) {
|
227
253
|
var match = matches[i];
|
228
254
|
var begin = match.begin;
|
229
255
|
var end = match.end;
|
230
256
|
var isSelected = isSelectedPage && i === selectedMatchIdx;
|
231
257
|
var highlightSuffix = isSelected ? ' selected' : '';
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
}
|
258
|
+
|
259
|
+
if (isSelected) {
|
260
|
+
findController.scrollMatchIntoView({
|
261
|
+
element: textDivs[begin.divIdx],
|
262
|
+
pageIndex: pageIdx,
|
263
|
+
matchIndex: selectedMatchIdx
|
264
|
+
});
|
240
265
|
}
|
266
|
+
|
241
267
|
if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
|
242
268
|
if (prevEnd !== null) {
|
243
269
|
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
|
244
270
|
}
|
271
|
+
|
245
272
|
beginText(begin);
|
246
273
|
} else {
|
247
274
|
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
|
248
275
|
}
|
276
|
+
|
249
277
|
if (begin.divIdx === end.divIdx) {
|
250
278
|
appendTextToDiv(begin.divIdx, begin.offset, end.offset, 'highlight' + highlightSuffix);
|
251
279
|
} else {
|
252
280
|
appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, 'highlight begin' + highlightSuffix);
|
281
|
+
|
253
282
|
for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
|
254
283
|
textDivs[n0].className = 'highlight middle' + highlightSuffix;
|
255
284
|
}
|
285
|
+
|
256
286
|
beginText(end, 'highlight end' + highlightSuffix);
|
257
287
|
}
|
288
|
+
|
258
289
|
prevEnd = end;
|
259
290
|
}
|
291
|
+
|
260
292
|
if (prevEnd) {
|
261
293
|
appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
|
262
294
|
}
|
263
295
|
}
|
264
296
|
}, {
|
265
|
-
key:
|
266
|
-
value: function
|
297
|
+
key: "_updateMatches",
|
298
|
+
value: function _updateMatches() {
|
267
299
|
if (!this.renderingDone) {
|
268
300
|
return;
|
269
301
|
}
|
270
|
-
|
271
|
-
var
|
272
|
-
|
302
|
+
|
303
|
+
var findController = this.findController,
|
304
|
+
matches = this.matches,
|
305
|
+
pageIdx = this.pageIdx,
|
306
|
+
textContentItemsStr = this.textContentItemsStr,
|
307
|
+
textDivs = this.textDivs;
|
273
308
|
var clearedUntilDivIdx = -1;
|
274
|
-
|
309
|
+
|
310
|
+
for (var i = 0, ii = matches.length; i < ii; i++) {
|
275
311
|
var match = matches[i];
|
276
312
|
var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);
|
313
|
+
|
277
314
|
for (var n = begin, end = match.end.divIdx; n <= end; n++) {
|
278
315
|
var div = textDivs[n];
|
279
316
|
div.textContent = textContentItemsStr[n];
|
280
317
|
div.className = '';
|
281
318
|
}
|
319
|
+
|
282
320
|
clearedUntilDivIdx = match.end.divIdx + 1;
|
283
321
|
}
|
284
|
-
|
322
|
+
|
323
|
+
if (!findController || !findController.highlightMatches) {
|
285
324
|
return;
|
286
325
|
}
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
this.matches = this.convertMatches(pageMatches, pageMatchesLength);
|
294
|
-
this.renderMatches(this.matches);
|
326
|
+
|
327
|
+
var pageMatches = findController.pageMatches[pageIdx] || null;
|
328
|
+
var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
|
329
|
+
this.matches = this._convertMatches(pageMatches, pageMatchesLength);
|
330
|
+
|
331
|
+
this._renderMatches(this.matches);
|
295
332
|
}
|
296
333
|
}, {
|
297
|
-
key:
|
334
|
+
key: "_bindEvents",
|
298
335
|
value: function _bindEvents() {
|
299
336
|
var _this2 = this;
|
300
337
|
|
@@ -305,26 +342,31 @@ var TextLayerBuilder = function () {
|
|
305
342
|
if (evt.pageNumber !== _this2.pageNumber) {
|
306
343
|
return;
|
307
344
|
}
|
345
|
+
|
308
346
|
if (_this2.textLayerRenderTask) {
|
309
347
|
console.error('TextLayerBuilder._bindEvents: `this.cancel()` should ' + 'have been called when the page was reset, or rendering cancelled.');
|
310
348
|
return;
|
311
349
|
}
|
350
|
+
|
312
351
|
for (var name in _boundEvents) {
|
313
352
|
eventBus.off(name.toLowerCase(), _boundEvents[name]);
|
314
353
|
delete _boundEvents[name];
|
315
354
|
}
|
316
355
|
};
|
356
|
+
|
317
357
|
_boundEvents.updateTextLayerMatches = function (evt) {
|
318
358
|
if (evt.pageIndex !== _this2.pageIdx && evt.pageIndex !== -1) {
|
319
359
|
return;
|
320
360
|
}
|
321
|
-
|
361
|
+
|
362
|
+
_this2._updateMatches();
|
322
363
|
};
|
364
|
+
|
323
365
|
eventBus.on('pagecancelled', _boundEvents.pageCancelled);
|
324
366
|
eventBus.on('updatetextlayermatches', _boundEvents.updateTextLayerMatches);
|
325
367
|
}
|
326
368
|
}, {
|
327
|
-
key:
|
369
|
+
key: "_bindMouse",
|
328
370
|
value: function _bindMouse() {
|
329
371
|
var _this3 = this;
|
330
372
|
|
@@ -333,23 +375,30 @@ var TextLayerBuilder = function () {
|
|
333
375
|
div.addEventListener('mousedown', function (evt) {
|
334
376
|
if (_this3.enhanceTextSelection && _this3.textLayerRenderTask) {
|
335
377
|
_this3.textLayerRenderTask.expandTextDivs(true);
|
378
|
+
|
336
379
|
if (expandDivsTimer) {
|
337
380
|
clearTimeout(expandDivsTimer);
|
338
381
|
expandDivsTimer = null;
|
339
382
|
}
|
383
|
+
|
340
384
|
return;
|
341
385
|
}
|
386
|
+
|
342
387
|
var end = div.querySelector('.endOfContent');
|
388
|
+
|
343
389
|
if (!end) {
|
344
390
|
return;
|
345
391
|
}
|
392
|
+
|
346
393
|
var adjustTop = evt.target !== div;
|
347
394
|
adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue('-moz-user-select') !== 'none';
|
395
|
+
|
348
396
|
if (adjustTop) {
|
349
397
|
var divBounds = div.getBoundingClientRect();
|
350
398
|
var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
|
351
399
|
end.style.top = (r * 100).toFixed(2) + '%';
|
352
400
|
}
|
401
|
+
|
353
402
|
end.classList.add('active');
|
354
403
|
});
|
355
404
|
div.addEventListener('mouseup', function () {
|
@@ -358,14 +407,18 @@ var TextLayerBuilder = function () {
|
|
358
407
|
if (_this3.textLayerRenderTask) {
|
359
408
|
_this3.textLayerRenderTask.expandTextDivs(false);
|
360
409
|
}
|
410
|
+
|
361
411
|
expandDivsTimer = null;
|
362
412
|
}, EXPAND_DIVS_TIMEOUT);
|
363
413
|
return;
|
364
414
|
}
|
415
|
+
|
365
416
|
var end = div.querySelector('.endOfContent');
|
417
|
+
|
366
418
|
if (!end) {
|
367
419
|
return;
|
368
420
|
}
|
421
|
+
|
369
422
|
end.style.top = '';
|
370
423
|
end.classList.remove('active');
|
371
424
|
});
|
@@ -375,16 +428,19 @@ var TextLayerBuilder = function () {
|
|
375
428
|
return TextLayerBuilder;
|
376
429
|
}();
|
377
430
|
|
378
|
-
|
431
|
+
exports.TextLayerBuilder = TextLayerBuilder;
|
432
|
+
|
433
|
+
var DefaultTextLayerFactory =
|
434
|
+
/*#__PURE__*/
|
435
|
+
function () {
|
379
436
|
function DefaultTextLayerFactory() {
|
380
437
|
_classCallCheck(this, DefaultTextLayerFactory);
|
381
438
|
}
|
382
439
|
|
383
440
|
_createClass(DefaultTextLayerFactory, [{
|
384
|
-
key:
|
441
|
+
key: "createTextLayerBuilder",
|
385
442
|
value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
|
386
443
|
var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
387
|
-
|
388
444
|
return new TextLayerBuilder({
|
389
445
|
textLayerDiv: textLayerDiv,
|
390
446
|
pageIndex: pageIndex,
|
@@ -397,5 +453,4 @@ var DefaultTextLayerFactory = function () {
|
|
397
453
|
return DefaultTextLayerFactory;
|
398
454
|
}();
|
399
455
|
|
400
|
-
exports.TextLayerBuilder = TextLayerBuilder;
|
401
456
|
exports.DefaultTextLayerFactory = DefaultTextLayerFactory;
|