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:
Julian Viereck 2012-04-08 16:31:29 -07:00
parent c9fb5637c3
commit 12b27044aa

View File

@ -576,21 +576,34 @@ var PDFView = {
if (pdfTitle)
document.title = pdfTitle + ' - ' + document.title;
pdf.textExtracted = (function pdfTextExtracted(pageIdx, content) {
this.search();
}).bind(this);
},
startTextExtraction: function pdfViewStartTextExtraction(pdf) {
var searchResults = document.getElementById('searchResults');
searchResults.textContent = '';
pdf.textExtracted = (function pdfTextExtracted(pageIdx, content) {
this.search();
}).bind(this);
pdf.extractText();
this.pdfDoc = pdf;
this.pdfDoc.extractText();
},
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) {
link.href = '#' + pageNumber;
link.onclick = function searchBindLink() {