Merge pull request #8293 from timvandermeij/es6-password-prompt
Convert the password prompt to ES6 syntax
This commit is contained in:
		
						commit
						10592a311a
					
				@ -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,
 | 
			
		||||
 | 
			
		||||
@ -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>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user