Fix bug such that search is updated one a new page arrives + make the search update happen only very 250ms
This commit is contained in:
parent
c9fb5637c3
commit
12b27044aa
@ -576,21 +576,34 @@ var PDFView = {
|
|||||||
|
|
||||||
if (pdfTitle)
|
if (pdfTitle)
|
||||||
document.title = pdfTitle + ' - ' + document.title;
|
document.title = pdfTitle + ' - ' + document.title;
|
||||||
|
|
||||||
|
pdf.textExtracted = (function pdfTextExtracted(pageIdx, content) {
|
||||||
|
this.search();
|
||||||
|
}).bind(this);
|
||||||
},
|
},
|
||||||
|
|
||||||
startTextExtraction: function pdfViewStartTextExtraction(pdf) {
|
startTextExtraction: function pdfViewStartTextExtraction(pdf) {
|
||||||
var searchResults = document.getElementById('searchResults');
|
var searchResults = document.getElementById('searchResults');
|
||||||
searchResults.textContent = '';
|
searchResults.textContent = '';
|
||||||
|
|
||||||
pdf.textExtracted = (function pdfTextExtracted(pageIdx, content) {
|
this.pdfDoc.extractText();
|
||||||
this.search();
|
|
||||||
}).bind(this);
|
|
||||||
pdf.extractText();
|
|
||||||
|
|
||||||
this.pdfDoc = pdf;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
search: function pdfViewStartSearch() {
|
search: function pdfViewStartSearch() {
|
||||||
|
// Limit this function to run every <SEARCH_TIMEOUT>ms.
|
||||||
|
var SEARCH_TIMEOUT = 250;
|
||||||
|
var lastSeach = this.lastSearch;
|
||||||
|
var now = Date.now();
|
||||||
|
if (lastSeach && (now - lastSeach) < SEARCH_TIMEOUT) {
|
||||||
|
if (!this.searchTimer)
|
||||||
|
this.searchTimer =
|
||||||
|
setTimeout(this.search, SEARCH_TIMEOUT - (now - lastSeach));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.searchTimer = null;
|
||||||
|
this.lastSearch = now;
|
||||||
|
|
||||||
function bindLink(link, pageNumber) {
|
function bindLink(link, pageNumber) {
|
||||||
link.href = '#' + pageNumber;
|
link.href = '#' + pageNumber;
|
||||||
link.onclick = function searchBindLink() {
|
link.onclick = function searchBindLink() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user