Index: chrome/browser/resources/print_preview/copies_settings.js |
diff --git a/chrome/browser/resources/print_preview/copies_settings.js b/chrome/browser/resources/print_preview/copies_settings.js |
deleted file mode 100644 |
index b5b94e9f96ba807edb8a8e703b728c1423568237..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/print_preview/copies_settings.js |
+++ /dev/null |
@@ -1,248 +0,0 @@ |
-// 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 CopiesSettings object. |
- * @constructor |
- */ |
- function CopiesSettings() { |
- this.copiesOption_ = $('copies-option'); |
- this.textfield_ = $('copies'); |
- this.incrementButton_ = $('increment'); |
- this.decrementButton_ = $('decrement'); |
- // Minimum allowed value for number of copies. |
- this.minValue_ = 1; |
- // Maximum allowed value for number of copies. |
- this.maxValue_ = 999; |
- this.collateOption_ = $('collate-option'); |
- this.collateCheckbox_ = $('collate'); |
- this.hint_ = $('copies-hint'); |
- this.twoSidedCheckbox_ = $('two-sided'); |
- this.twoSidedOption_ = $('two-sided-option'); |
- |
- this.previousDuplexMode_ = CopiesSettings.UNKNOWN_DUPLEX_MODE; |
- this.addEventListeners_(); |
- } |
- |
- // Constant values matches printing::DuplexMode enum. |
- CopiesSettings.SIMPLEX = 0; |
- CopiesSettings.LONG_EDGE = 1; |
- CopiesSettings.UNKNOWN_DUPLEX_MODE = -1; |
- |
- cr.addSingletonGetter(CopiesSettings); |
- |
- CopiesSettings.prototype = { |
- /** |
- * The number of copies represented by the contents of |this.textfield_|. |
- * If the text is not valid returns |this.minValue_|. |
- * @type {number} |
- */ |
- get numberOfCopies() { |
- var value = parseInt(this.textfield_.value, 10); |
- if (!value || value <= this.minValue_) |
- value = this.minValue_; |
- return value; |
- }, |
- |
- /** |
- * Getter method for |collateOption_|. |
- * @type {HTMLElement} |
- */ |
- get collateOption() { |
- return this.collateOption_; |
- }, |
- |
- /** |
- * Getter method for |twoSidedCheckbox_|. |
- * @type {HTMLInputElement} |
- */ |
- get twoSidedCheckbox() { |
- return this.twoSidedCheckbox_; |
- }, |
- |
- /** |
- * Gets the duplex mode information for printing. |
- * @return {number} duplex mode. |
- */ |
- get duplexMode() { |
- if (this.twoSidedOption_.hidden) |
- return CopiesSettings.UNKNOWN_DUPLEX_MODE; |
- else if (this.twoSidedCheckbox_.checked) |
- return CopiesSettings.LONG_EDGE; |
- else |
- return CopiesSettings.SIMPLEX; |
- }, |
- |
- set previousDuplexMode(duplexMode) { |
- this.previousDuplexMode_ = duplexMode; |
- }, |
- |
- /** |
- * @return {boolean} true if |this.textfield_| is empty, or represents a |
- * positive integer value. |
- */ |
- isValid: function() { |
- return !this.textfield_.value || isPositiveInteger(this.textfield_.value); |
- }, |
- |
- /** |
- * Checks whether the preview collate setting value is set or not. |
- * @return {boolean} true if collate option is enabled and checked. |
- */ |
- isCollated: function() { |
- return !this.collateOption_.hidden && this.collateCheckbox_.checked; |
- }, |
- |
- /** |
- * Resets |this.textfield_| to |this.minValue_|. |
- * @private |
- */ |
- reset_: function() { |
- this.textfield_.value = this.minValue_; |
- }, |
- |
- /** |
- * Listener function to execute whenever the increment/decrement buttons are |
- * clicked. |
- * @private |
- * @param {int} sign Must be 1 for an increment button click and -1 for a |
- * decrement button click. |
- */ |
- onButtonClicked_: function(sign) { |
- if (!this.isValid()) { |
- this.reset_(); |
- } else { |
- var newValue = this.numberOfCopies + sign; |
- this.textfield_.value = newValue; |
- } |
- this.updateButtonsState_(); |
- this.showHideCollateOption_(); |
- |
- if (!hasPendingPreviewRequest) { |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_SUMMARY); |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_PRINT_BUTTON); |
- } |
- }, |
- |
- /** |
- * Listener function to execute whenever a change occurs in |textfield_| |
- * textfield. |
- * @private |
- */ |
- onTextfieldChanged_: function() { |
- this.updateButtonsState_(); |
- this.showHideCollateOption_(); |
- if (!hasPendingPreviewRequest) { |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_SUMMARY); |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_PRINT_BUTTON); |
- } |
- }, |
- |
- /** |
- * Adding listeners to all copies related controls. The listeners take care |
- * of altering their behavior depending on |hasPendingPreviewRequest|. |
- * @private |
- */ |
- addEventListeners_: function() { |
- this.textfield_.oninput = this.onTextfieldChanged_.bind(this); |
- this.incrementButton_.onclick = this.onIncrementButtonClicked_.bind(this); |
- this.decrementButton_.onclick = this.onDecrementButtonClicked_.bind(this); |
- this.twoSidedCheckbox_.onclick = function() { |
- if (!hasPendingPreviewRequest) |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_SUMMARY); |
- } |
- document.addEventListener(customEvents.PDF_LOADED, |
- this.updateButtonsState_.bind(this)); |
- document.addEventListener(customEvents.PRINTER_CAPABILITIES_UPDATED, |
- this.onPrinterCapabilitiesUpdated_.bind(this)); |
- }, |
- |
- /** |
- * Executes when a |customEvents.PRINTER_CAPABILITIES_UPDATED| event occurs. |
- * @private |
- */ |
- onPrinterCapabilitiesUpdated_: function(e) { |
- var duplexValue = e.printerCapabilities.printerDefaultDuplexValue; |
- if (duplexValue != CopiesSettings.UNKNOWN_DUPLEX_MODE && |
- this.previousDuplexMode_ != CopiesSettings.UNKNOWN_DUPLEX_MODE) { |
- duplexValue = this.previousDuplexMode_; |
- } |
- this.updateTwoSidedOption_(duplexValue); |
- e.printerCapabilities.disableCopiesOption ? |
- fadeOutOption(this.copiesOption_) : |
- fadeInOption(this.copiesOption_); |
- }, |
- |
- /** |
- * Listener triggered when |incrementButton_| is clicked. |
- * @private |
- */ |
- onIncrementButtonClicked_: function() { |
- this.onButtonClicked_(1); |
- }, |
- |
- /** |
- * Listener triggered when |decrementButton_| is clicked. |
- * @private |
- */ |
- onDecrementButtonClicked_: function() { |
- this.onButtonClicked_(-1); |
- }, |
- |
- /** |
- * Takes care of showing/hiding the collate option. |
- * @private |
- */ |
- showHideCollateOption_: function() { |
- this.collateOption_.hidden = this.numberOfCopies <= 1; |
- }, |
- |
- /* |
- * Takes care of showing/hiding the two sided option. |
- * @param {number} defaultDuplexValue Specifies the default duplex value. |
- * @private |
- */ |
- updateTwoSidedOption_: function(defaultDuplexValue) { |
- // On Windows, some printers don't specify their duplex values in the |
- // printer schema. If the printer duplex value is UNKNOWN_DUPLEX_MODE, |
- // hide the two sided option in preview tab UI. |
- // Ref bug: http://crbug.com/89204 |
- this.twoSidedOption_.hidden = |
- (defaultDuplexValue == CopiesSettings.UNKNOWN_DUPLEX_MODE); |
- |
- if (!this.twoSidedOption_.hidden) { |
- this.twoSidedCheckbox_.checked = !!defaultDuplexValue; |
- if (pageSettings.totalPageCount) |
- cr.dispatchSimpleEvent(document, customEvents.UPDATE_SUMMARY); |
- } |
- }, |
- |
- /** |
- * Updates the state of the increment/decrement buttons based on the current |
- * |textfield_| value. |
- * @private |
- */ |
- updateButtonsState_: function() { |
- if (!this.isValid()) { |
- this.textfield_.classList.add('invalid'); |
- this.incrementButton_.disabled = false; |
- this.decrementButton_.disabled = false; |
- fadeInElement(this.hint_); |
- } else { |
- this.textfield_.classList.remove('invalid'); |
- this.incrementButton_.disabled = this.numberOfCopies == this.maxValue_; |
- this.decrementButton_.disabled = this.numberOfCopies == this.minValue_; |
- fadeOutElement(this.hint_); |
- } |
- this.hint_.setAttribute('aria-hidden', this.isValid()); |
- } |
- }; |
- |
- return { |
- CopiesSettings: CopiesSettings |
- }; |
-}); |