15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cr.define('print_preview', function() { 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'use strict'; 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * UI component that renders checkboxes for various print options. 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @param {!print_preview.ticket_items.Duplex} duplex Duplex ticket item. 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @param {!print_preview.ticket_items.FitToPage} fitToPage Fit-to-page ticket 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * item. 1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @param {!print_preview.ticket_items.CssBackground} cssBackground CSS 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * background ticket item. 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @param {!print_preview.ticket_items.SelectionOnly} selectionOnly Selection 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * only ticket item. 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @param {!print_preview.ticket_items.HeaderFooter} headerFooter Header 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * footer ticket item. 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @constructor 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @extends {print_preview.Component} 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) function OtherOptionsSettings( 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) duplex, fitToPage, cssBackground, selectionOnly, headerFooter) { 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.call(this); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Duplex ticket item, used to read/write the duplex selection. 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @type {!print_preview.ticket_items.Duplex} 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.duplexTicketItem_ = duplex; 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Fit-to-page ticket item, used to read/write the fit-to-page selection. 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @type {!print_preview.ticket_items.FitToPage} 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.fitToPageTicketItem_ = fitToPage; 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Enable CSS backgrounds ticket item, used to read/write. 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @type {!print_preview.ticket_items.CssBackground} 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.cssBackgroundTicketItem_ = cssBackground; 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Print selection only ticket item, used to read/write. 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @type {!print_preview.ticket_items.SelectionOnly} 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 5290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.selectionOnlyTicketItem_ = selectionOnly; 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * Header-footer ticket item, used to read/write. 5690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @type {!print_preview.ticket_items.HeaderFooter} 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 5990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_ = headerFooter; 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Header footer container element. 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLElement} 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterContainer_ = null; 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Header footer checkbox. 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLInputElement} 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_ = null; 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Fit-to-page container element. 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLElement} 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageContainer_ = null; 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Fit-to-page checkbox. 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLInputElement} 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_ = null; 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Duplex container element. 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLElement} 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexContainer_ = null; 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Duplex checkbox. 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {HTMLInputElement} 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_ = null; 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Print CSS backgrounds container element. 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @type {HTMLElement} 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundContainer_ = null; 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Print CSS backgrounds checkbox. 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @type {HTMLInputElement} 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_ = null; 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Print selection only container element. 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @type {HTMLElement} 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyContainer_ = null; 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Print selection only checkbox. 1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @type {HTMLInputElement} 1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 1292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_ = null; 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OtherOptionsSettings.prototype = { 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) __proto__: print_preview.Component.prototype, 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @param {boolean} isEnabled Whether the settings is enabled. */ 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) set isEnabled(isEnabled) { 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_.disabled = !isEnabled; 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_.disabled = !isEnabled; 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_.disabled = !isEnabled; 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_.disabled = !isEnabled; 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enterDocument: function() { 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.prototype.enterDocument.call(this); 146a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) fadeOutOption(this.getElement(), true); 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_, 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onHeaderFooterCheckboxClick_.bind(this)); 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_, 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onFitToPageCheckboxClick_.bind(this)); 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_, 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onDuplexCheckboxClick_.bind(this)); 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_, 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 'click', 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.onCssBackgroundCheckboxClick_.bind(this)); 1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.tracker.add( 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_, 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 'click', 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.onSelectionOnlyCheckboxClick_.bind(this)); 1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.tracker.add( 168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_, 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onDuplexChange_.bind(this)); 171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_, 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onFitToPageChange_.bind(this)); 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_, 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onCssBackgroundChange_.bind(this)); 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_, 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onSelectionOnlyChange_.bind(this)); 18390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.tracker.add( 18490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_, 18590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 18690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.onHeaderFooterChange_.bind(this)); 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) exitDocument: function() { 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.prototype.exitDocument.call(this); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterContainer_ = null; 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_ = null; 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageContainer_ = null; 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_ = null; 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexContainer_ = null; 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_ = null; 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundContainer_ = null; 1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_ = null; 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyContainer_ = null; 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_ = null; 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) decorateInternal: function() { 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterContainer_ = this.getElement().querySelector( 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.header-footer-container'); 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_ = this.headerFooterContainer_.querySelector( 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.header-footer-checkbox'); 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageContainer_ = this.getElement().querySelector( 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.fit-to-page-container'); 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_ = this.fitToPageContainer_.querySelector( 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.fit-to-page-checkbox'); 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexContainer_ = this.getElement().querySelector( 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.duplex-container'); 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_ = this.duplexContainer_.querySelector( 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.duplex-checkbox'); 2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundContainer_ = this.getElement().querySelector( 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.css-background-container'); 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_ = this.cssBackgroundContainer_.querySelector( 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.css-background-checkbox'); 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyContainer_ = this.getElement().querySelector( 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.selection-only-container'); 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_ = this.selectionOnlyContainer_.querySelector( 2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.selection-only-checkbox'); 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Updates the state of the entire other options settings area. 230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 231c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 232c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) updateContainerState_: function() { 23390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) if (this.headerFooterTicketItem_.isCapabilityAvailable() || 234c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_.isCapabilityAvailable() || 235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_.isCapabilityAvailable() || 236c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.isCapabilityAvailable() || 237c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.isCapabilityAvailable()) { 238cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) setIsVisible(this.headerFooterContainer_, 239cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) this.headerFooterTicketItem_.isCapabilityAvailable()); 240cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) setIsVisible(this.fitToPageContainer_, 241cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) this.fitToPageTicketItem_.isCapabilityAvailable()); 242cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) setIsVisible(this.duplexContainer_, 243cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) this.duplexTicketItem_.isCapabilityAvailable()); 244cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) setIsVisible(this.cssBackgroundContainer_, 245cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) this.cssBackgroundTicketItem_.isCapabilityAvailable()); 246cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) setIsVisible(this.selectionOnlyContainer_, 247cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) this.selectionOnlyTicketItem_.isCapabilityAvailable()); 248c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) fadeInOption(this.getElement()); 249c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } else { 250c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) fadeOutOption(this.getElement()); 251c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } 252c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 253c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 254c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the header-footer checkbox is clicked. Updates the print 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ticket. 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onHeaderFooterCheckboxClick_: function() { 26090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_.updateValue( 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_.checked); 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the fit-to-page checkbox is clicked. Updates the print 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ticket. 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onFitToPageCheckboxClick_: function() { 270c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_.updateValue(this.fitToPageCheckbox_.checked); 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the duplex checkbox is clicked. Updates the print ticket. 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onDuplexCheckboxClick_: function() { 278c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_.updateValue(this.duplexCheckbox_.checked); 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Called when the print CSS backgrounds checkbox is clicked. Updates the 2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * print ticket store. 2842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 2852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 2862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) onCssBackgroundCheckboxClick_: function() { 287c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.updateValue( 2882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_.checked); 2892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }, 2902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 2922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Called when the print selection only is clicked. Updates the 2932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * print ticket store. 2942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 2962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) onSelectionOnlyCheckboxClick_: function() { 297c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.updateValue( 2982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_.checked); 2992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }, 3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 302c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the duplex ticket item has changed. Updates the duplex 303c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * checkbox. 304c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 305c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 306c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onDuplexChange_: function() { 307c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexCheckbox_.checked = this.duplexTicketItem_.getValue(); 308c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 309c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 310c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 311c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 312c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the fit-to-page ticket item has changed. Updates the 313c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * fit-to-page checkbox. 314c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 315c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 316c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onFitToPageChange_: function() { 317c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageCheckbox_.checked = this.fitToPageTicketItem_.getValue(); 318c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 319c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 321c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 322c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the CSS background ticket item has changed. Updates the 323c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * CSS background checkbox. 324c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 325c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 326c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onCssBackgroundChange_: function() { 3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_.checked = 328c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.getValue(); 329c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 330c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 3312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 333c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the print selection only ticket item has changed. Updates the 334c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * CSS background checkbox. 335c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 336c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 337c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onSelectionOnlyChange_: function() { 3382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_.checked = 339c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.getValue(); 340c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 34190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) }, 34290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 34390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) /** 34490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * Called when the header-footer ticket item has changed. Updates the 34590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * header-footer checkbox. 34690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @private 34790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) */ 34890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) onHeaderFooterChange_: function() { 34990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterCheckbox_.checked = 35090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_.getValue(); 35190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.updateContainerState_(); 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Export 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return { 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OtherOptionsSettings: OtherOptionsSettings 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}); 360