| Index: chrome/browser/resources/print_preview/layout_settings.js
|
| diff --git a/chrome/browser/resources/print_preview/layout_settings.js b/chrome/browser/resources/print_preview/layout_settings.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1c8a3441056c1dc0715580b3c9847c0683fcd2d9
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/print_preview/layout_settings.js
|
| @@ -0,0 +1,84 @@
|
| +// Copyright (c) 2011 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 LayoutSettings object. This object encapsulates all settings and
|
| + * logic related to layout mode (portrait/landscape).
|
| + * @constructor
|
| + */
|
| + function LayoutSettings() {
|
| + this.layoutOption_ = $('layout-option');
|
| + this.portraitRadioButton_ = $('portrait');
|
| + this.landscapeRadioButton_ = $('landscape');
|
| + }
|
| +
|
| + cr.addSingletonGetter(LayoutSettings);
|
| +
|
| + LayoutSettings.prototype = {
|
| + /**
|
| + * The div containing all layout related options.
|
| + * @type {HTMLDivElement}
|
| + */
|
| + get layoutOption() {
|
| + return this.layoutOption_;
|
| + },
|
| +
|
| + /**
|
| + * The radio button corresponding to the portrait option.
|
| + * @type {HTMLInputElement}
|
| + */
|
| + get portraitRadioButton() {
|
| + return this.portraitRadioButton_;
|
| + },
|
| +
|
| + /**
|
| + * The radio button corresponding to the landscape option.
|
| + * @type {HTMLInputElement}
|
| + */
|
| + get landscapeRadioButton() {
|
| + return this.landscapeRadioButton_;
|
| + },
|
| +
|
| + /**
|
| + * @return {boolean} true if |this.landscapeRadioButton_| is checked, false
|
| + * if not.
|
| + */
|
| + isLandscape: function() {
|
| + return this.landscapeRadioButton_.checked;
|
| + },
|
| +
|
| + /**
|
| + * Adding listeners to all layout related controls. The listeners take care
|
| + * of altering their behavior depending on |hasPendingPreviewRequest|.
|
| + */
|
| + addEventListeners: function() {
|
| + this.landscapeRadioButton_.onclick = function() {
|
| + if (!hasPendingPreviewRequest)
|
| + this.onLayoutButtonClick();
|
| + }.bind(this);
|
| + this.portraitRadioButton_.onclick = function() {
|
| + if (!hasPendingPreviewRequest)
|
| + this.onLayoutButtonClick();
|
| + }.bind(this);
|
| + },
|
| +
|
| + /**
|
| + * Listener executing when |this.landscapeRadioButton_| or
|
| + * |this.portraitRadioButton_| is clicked.
|
| + */
|
| + onLayoutButtonClick: function() {
|
| + // If the chosen layout is same as before, nothing needs to be done.
|
| + if (printSettings.isLandscape == this.isLandscape())
|
| + return;
|
| + setDefaultValuesAndRegeneratePreview();
|
| + }
|
| + };
|
| +
|
| + return {
|
| + LayoutSettings: LayoutSettings,
|
| + };
|
| +});
|
|
|