Merge pull request #8293 from timvandermeij/es6-password-prompt

Convert the password prompt to ES6 syntax
This commit is contained in:
Jonas Jenwald 2017-04-16 15:38:24 +02:00 committed by GitHub
commit 10592a311a
2 changed files with 34 additions and 46 deletions

View File

@ -30,15 +30,11 @@ import { PasswordResponses } from './pdfjs';
* entry.
*/
/**
* @class
*/
var PasswordPrompt = (function PasswordPromptClosure() {
class PasswordPrompt {
/**
* @constructs PasswordPrompt
* @param {PasswordPromptOptions} options
*/
function PasswordPrompt(options) {
constructor(options) {
this.overlayName = options.overlayName;
this.container = options.container;
this.label = options.label;
@ -52,20 +48,18 @@ var PasswordPrompt = (function PasswordPromptClosure() {
// Attach the event listeners.
this.submitButton.addEventListener('click', this.verify.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
this.verify();
}
}.bind(this));
});
OverlayManager.register(this.overlayName, this.container,
this.close.bind(this), true);
}
PasswordPrompt.prototype = {
open: function PasswordPrompt_open() {
OverlayManager.open(this.overlayName).then(function () {
this.input.type = 'password';
open() {
OverlayManager.open(this.overlayName).then(() => {
this.input.focus();
var promptString = mozL10n.get('password_label', null,
@ -77,33 +71,28 @@ var PasswordPrompt = (function PasswordPromptClosure() {
}
this.label.textContent = promptString;
}.bind(this));
},
});
}
close: function PasswordPrompt_close() {
OverlayManager.close(this.overlayName).then(function () {
close() {
OverlayManager.close(this.overlayName).then(() => {
this.input.value = '';
this.input.type = '';
}.bind(this));
},
});
}
verify: function PasswordPrompt_verify() {
verify() {
var password = this.input.value;
if (password && password.length > 0) {
this.close();
return this.updateCallback(password);
}
},
}
setUpdateCallback:
function PasswordPrompt_setUpdateCallback(updateCallback, reason) {
setUpdateCallback(updateCallback, reason) {
this.updateCallback = updateCallback;
this.reason = reason;
}
};
return PasswordPrompt;
})();
}
export {
PasswordPrompt,

View File

@ -307,8 +307,7 @@ See https://github.com/adobe-type-tools/cmap-resources
<p id="passwordText" data-l10n-id="password_label">Enter the password to open this PDF file:</p>
</div>
<div class="row">
<!-- The type="password" attribute is set via script, to prevent warnings in Firefox for all http:// documents. -->
<input id="password" class="toolbarField">
<input type="password" id="password" class="toolbarField">
</div>
<div class="buttonRow">
<button id="passwordCancel" class="overlayButton"><span data-l10n-id="password_cancel">Cancel</span></button>