[Pkg-javascript-commits] [pdf.js] 112/174: Moves match counter from find UI to the controller.
David Prévot
taffit at moszumanska.debian.org
Thu Nov 19 18:45:26 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository pdf.js.
commit b8b922196c8a9efd45b3ae69a88afc1499d371f0
Author: Yury Delendik <ydelendik at mozilla.com>
Date: Fri Oct 30 11:20:29 2015 -0500
Moves match counter from find UI to the controller.
---
web/pdf_find_bar.js | 29 +++++++++++------------------
web/pdf_find_controller.js | 20 ++++++++++++++++----
2 files changed, 27 insertions(+), 22 deletions(-)
diff --git a/web/pdf_find_bar.js b/web/pdf_find_bar.js
index 0ab0382..b187fd8 100644
--- a/web/pdf_find_bar.js
+++ b/web/pdf_find_bar.js
@@ -95,7 +95,8 @@ var PDFFindBar = (function PDFFindBarClosure() {
return window.dispatchEvent(event);
},
- updateUIState: function PDFFindBar_updateUIState(state, previous) {
+ updateUIState:
+ function PDFFindBar_updateUIState(state, previous, matchCount) {
var notFound = false;
var findMsg = '';
var status = '';
@@ -132,36 +133,28 @@ var PDFFindBar = (function PDFFindBarClosure() {
this.findField.setAttribute('data-status', status);
this.findMsg.textContent = findMsg;
- },
-
- updateResultsCount: function(matches) {
- if (!matches) {
- return this.hideResultsCount();
- }
- // Loop through and add up all the matches between pages
- var matchCounter = 0;
+ this.updateResultsCount(matchCount);
+ },
- for (var i = 0, len = matches.length; i < len; i++) {
- matchCounter += matches[i].length;
+ updateResultsCount: function(matchCount) {
+ if (!this.findResultsCount) {
+ return; // no UI control is provided
}
// If there are no matches, hide the counter
- if (!matchCounter) {
- return this.hideResultsCount();
+ if (!matchCount) {
+ this.findResultsCount.classList.add('hidden');
+ return;
}
// Create the match counter
- this.findResultsCount.textContent = matchCounter;
+ this.findResultsCount.textContent = matchCount.toLocaleString();
// Show the counter
this.findResultsCount.classList.remove('hidden');
},
- hideResultsCount: function() {
- this.findResultsCount.classList.add('hidden');
- },
-
open: function PDFFindBar_open() {
if (!this.opened) {
this.opened = true;
diff --git a/web/pdf_find_controller.js b/web/pdf_find_controller.js
index afac06b..9d30067 100644
--- a/web/pdf_find_controller.js
+++ b/web/pdf_find_controller.js
@@ -39,6 +39,7 @@ var PDFFindController = (function PDFFindControllerClosure() {
this.active = false; // If active, find results will be highlighted.
this.pageContents = []; // Stores the text for each page.
this.pageMatches = [];
+ this.matchCount = 0;
this.selected = { // Currently selected match.
pageIdx: -1,
matchIdx: -1
@@ -117,8 +118,6 @@ var PDFFindController = (function PDFFindControllerClosure() {
if (queryLen === 0) {
// Do nothing: the matches should be wiped out already.
- // Also, reset the result counter back to zero
- this.findBar.updateResultsCount();
return;
}
@@ -144,7 +143,10 @@ var PDFFindController = (function PDFFindControllerClosure() {
}
// Update the matches count
- this.findBar.updateResultsCount(this.pageMatches);
+ if (matches.length > 0) {
+ this.matchCount += matches.length;
+ this.updateUIResultsCount();
+ }
},
extractText: function PDFFindController_extractText() {
@@ -236,6 +238,7 @@ var PDFFindController = (function PDFFindControllerClosure() {
this.hadMatch = false;
this.resumePageIdx = null;
this.pageMatches = [];
+ this.matchCount = 0;
var self = this;
for (var i = 0; i < numPages; i++) {
@@ -392,6 +395,15 @@ var PDFFindController = (function PDFFindControllerClosure() {
}
},
+ updateUIResultsCount:
+ function PDFFindController_updateUIResultsCount() {
+ if (this.findBar === null) {
+ throw new Error('PDFFindController is not initialized with a ' +
+ 'PDFFindBar instance.');
+ }
+ this.findBar.updateResultsCount(this.matchCount);
+ },
+
updateUIState: function PDFFindController_updateUIState(state, previous) {
if (this.integratedFind) {
FirefoxCom.request('updateFindControlState',
@@ -402,7 +414,7 @@ var PDFFindController = (function PDFFindControllerClosure() {
throw new Error('PDFFindController is not initialized with a ' +
'PDFFindBar instance.');
}
- this.findBar.updateUIState(state, previous);
+ this.findBar.updateUIState(state, previous, this.matchCount);
}
};
return PDFFindController;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git
More information about the Pkg-javascript-commits
mailing list