Browse Source

Convert the password prompt to ES6 syntax

Tim van der Meij 8 years ago
parent
commit
e3796f6f41
No known key found for this signature in database
GPG Key ID: 8C3FD2925A5F2762
  1. 77
      web/password_prompt.js

77
web/password_prompt.js

@ -30,15 +30,11 @@ import { PasswordResponses } from './pdfjs';
* entry. * entry.
*/ */
/** class PasswordPrompt {
* @class
*/
var PasswordPrompt = (function PasswordPromptClosure() {
/** /**
* @constructs PasswordPrompt
* @param {PasswordPromptOptions} options * @param {PasswordPromptOptions} options
*/ */
function PasswordPrompt(options) { constructor(options) {
this.overlayName = options.overlayName; this.overlayName = options.overlayName;
this.container = options.container; this.container = options.container;
this.label = options.label; this.label = options.label;
@ -52,58 +48,53 @@ var PasswordPrompt = (function PasswordPromptClosure() {
// Attach the event listeners. // Attach the event listeners.
this.submitButton.addEventListener('click', this.verify.bind(this)); this.submitButton.addEventListener('click', this.verify.bind(this));
this.cancelButton.addEventListener('click', this.close.bind(this)); this.cancelButton.addEventListener('click', this.close.bind(this));
this.input.addEventListener('keydown', function (e) { this.input.addEventListener('keydown', (e) => {
if (e.keyCode === 13) { // Enter key if (e.keyCode === 13) { // Enter key
this.verify(); this.verify();
} }
}.bind(this)); });
OverlayManager.register(this.overlayName, this.container, OverlayManager.register(this.overlayName, this.container,
this.close.bind(this), true); this.close.bind(this), true);
} }
PasswordPrompt.prototype = { open() {
open: function PasswordPrompt_open() { OverlayManager.open(this.overlayName).then(() => {
OverlayManager.open(this.overlayName).then(function () { this.input.type = 'password';
this.input.type = 'password'; this.input.focus();
this.input.focus();
var promptString = mozL10n.get('password_label', null,
'Enter the password to open this PDF file.');
if (this.reason === PasswordResponses.INCORRECT_PASSWORD) { var promptString = mozL10n.get('password_label', null,
promptString = mozL10n.get('password_invalid', null, 'Enter the password to open this PDF file.');
'Invalid password. Please try again.');
}
this.label.textContent = promptString; if (this.reason === PasswordResponses.INCORRECT_PASSWORD) {
}.bind(this)); promptString = mozL10n.get('password_invalid', null,
}, 'Invalid password. Please try again.');
}
close: function PasswordPrompt_close() { this.label.textContent = promptString;
OverlayManager.close(this.overlayName).then(function () { });
this.input.value = ''; }
this.input.type = '';
}.bind(this));
},
verify: function PasswordPrompt_verify() { close() {
var password = this.input.value; OverlayManager.close(this.overlayName).then(() => {
if (password && password.length > 0) { this.input.value = '';
this.close(); this.input.type = '';
return this.updateCallback(password); });
} }
},
setUpdateCallback: verify() {
function PasswordPrompt_setUpdateCallback(updateCallback, reason) { var password = this.input.value;
this.updateCallback = updateCallback; if (password && password.length > 0) {
this.reason = reason; this.close();
return this.updateCallback(password);
} }
}; }
return PasswordPrompt; setUpdateCallback(updateCallback, reason) {
})(); this.updateCallback = updateCallback;
this.reason = reason;
}
}
export { export {
PasswordPrompt, PasswordPrompt,

Loading…
Cancel
Save