| Index: chrome/browser/resources/print_preview/more_options.js
|
| diff --git a/chrome/browser/resources/print_preview/more_options.js b/chrome/browser/resources/print_preview/more_options.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..68957afeed9a8131895a2e4defa1702869f05d73
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/print_preview/more_options.js
|
| @@ -0,0 +1,93 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +cr.define('print_preview', function() {
|
| + 'use strict';
|
| +
|
| + /**
|
| + * Creates a MoreOptions object. This object encapsulates all
|
| + * settings and logic related to the more options section.
|
| + * @constructor
|
| + */
|
| + function MoreOptions() {
|
| + // @type {HTMLDivElement} HTML element representing more options.
|
| + this.moreOptions_ = $('more-options');
|
| +
|
| + // @type {boolean} True if header footer option is hidden.
|
| + this.hideHeaderFooterOption_ = true;
|
| +
|
| + // @type {boolean} True if fit to page option should be hidden.
|
| + this.hideFitToPageOption_ = true;
|
| +
|
| + this.addEventListeners_();
|
| + }
|
| +
|
| + cr.addSingletonGetter(MoreOptions);
|
| +
|
| + MoreOptions.prototype = {
|
| + /**
|
| + * Adding listeners to more options section.
|
| + * @private
|
| + */
|
| + addEventListeners_: function() {
|
| + document.addEventListener(customEvents.PDF_LOADED,
|
| + this.onPDFLoaded_.bind(this));
|
| + document.addEventListener(
|
| + customEvents.HEADER_FOOTER_VISIBILITY_CHANGED,
|
| + this.onHeaderFooterVisibilityChanged_.bind(this));
|
| + document.addEventListener(customEvents.PRINTER_SELECTION_CHANGED,
|
| + this.onPrinterSelectionChanged_.bind(this));
|
| + },
|
| +
|
| + /**
|
| + * Listener executing when a |customEvents.HEADER_FOOTER_VISIBILITY_CHANGED|
|
| + * event occurs.
|
| + * @param {cr.Event} event The event that triggered this listener.
|
| + * @private
|
| + */
|
| + onHeaderFooterVisibilityChanged_: function(event) {
|
| + this.hideHeaderFooterOption_ = !event.headerFooterApplies;
|
| + this.updateVisibility_();
|
| + },
|
| +
|
| + /**
|
| + * Listener executing when a |customEvents.PRINTER_SEELCTION_CHANGED| event
|
| + * occurs.
|
| + * @param {cr.Event} event The event that triggered this listener.
|
| + * @private
|
| + */
|
| + onPrinterSelectionChanged_: function(event) {
|
| + if (previewModifiable)
|
| + return;
|
| + this.hideFitToPageOption_ = event.selectedPrinter == PRINT_TO_PDF;
|
| + this.updateVisibility_();
|
| + },
|
| +
|
| + /**
|
| + * Listener executing when a |customEvents.PDF_LOADED| event occurs.
|
| + * @private
|
| + */
|
| + onPDFLoaded_: function() {
|
| + if (previewModifiable)
|
| + this.hideHeaderFooterOption_ = false;
|
| + else
|
| + this.hideFitToPageOption_ = false;
|
| + },
|
| +
|
| + /**
|
| + * Hides or shows |this.moreOptions_|.
|
| + * @private
|
| + */
|
| + updateVisibility_: function() {
|
| + if (this.hideFitToPageOption_ && this.hideHeaderFooterOption_)
|
| + fadeOutOption(this.moreOptions_);
|
| + else
|
| + fadeInOption(this.moreOptions_);
|
| + }
|
| + };
|
| +
|
| + return {
|
| + MoreOptions: MoreOptions
|
| + };
|
| +});
|
|
|