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); 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_, 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onHeaderFooterCheckboxClick_.bind(this)); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_, 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onFitToPageCheckboxClick_.bind(this)); 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_, 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'click', 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onDuplexCheckboxClick_.bind(this)); 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_, 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 'click', 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.onCssBackgroundCheckboxClick_.bind(this)); 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.tracker.add( 1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_, 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 'click', 1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.onSelectionOnlyCheckboxClick_.bind(this)); 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.tracker.add( 167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_, 168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onDuplexChange_.bind(this)); 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_, 172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onFitToPageChange_.bind(this)); 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_, 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onCssBackgroundChange_.bind(this)); 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.tracker.add( 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_, 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.onSelectionOnlyChange_.bind(this)); 18290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.tracker.add( 18390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_, 18490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) print_preview.ticket_items.TicketItem.EventType.CHANGE, 18590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.onHeaderFooterChange_.bind(this)); 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) exitDocument: function() { 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.prototype.exitDocument.call(this); 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterContainer_ = null; 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_ = null; 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageContainer_ = null; 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_ = null; 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexContainer_ = null; 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_ = null; 1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundContainer_ = null; 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_ = null; 1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyContainer_ = null; 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_ = null; 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) decorateInternal: function() { 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterContainer_ = this.getElement().querySelector( 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.header-footer-container'); 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_ = this.headerFooterContainer_.querySelector( 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.header-footer-checkbox'); 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageContainer_ = this.getElement().querySelector( 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.fit-to-page-container'); 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fitToPageCheckbox_ = this.fitToPageContainer_.querySelector( 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.fit-to-page-checkbox'); 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexContainer_ = this.getElement().querySelector( 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.duplex-container'); 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.duplexCheckbox_ = this.duplexContainer_.querySelector( 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) '.duplex-checkbox'); 2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundContainer_ = this.getElement().querySelector( 2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.css-background-container'); 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_ = this.cssBackgroundContainer_.querySelector( 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.css-background-checkbox'); 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyContainer_ = this.getElement().querySelector( 2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.selection-only-container'); 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_ = this.selectionOnlyContainer_.querySelector( 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) '.selection-only-checkbox'); 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 228c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Updates the state of the entire other options settings area. 229c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 230c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 231c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) updateContainerState_: function() { 23290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) if (this.headerFooterTicketItem_.isCapabilityAvailable() || 233c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_.isCapabilityAvailable() || 234c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_.isCapabilityAvailable() || 235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.isCapabilityAvailable() || 236c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.isCapabilityAvailable()) { 237c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) fadeInOption(this.getElement()); 238c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } else { 239c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) fadeOutOption(this.getElement()); 240c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) } 241c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 242c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 243c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the header-footer checkbox is clicked. Updates the print 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ticket. 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onHeaderFooterCheckboxClick_: function() { 24990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_.updateValue( 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.headerFooterCheckbox_.checked); 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the fit-to-page checkbox is clicked. Updates the print 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ticket. 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onFitToPageCheckboxClick_: function() { 259c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_.updateValue(this.fitToPageCheckbox_.checked); 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the duplex checkbox is clicked. Updates the print ticket. 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onDuplexCheckboxClick_: function() { 267c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_.updateValue(this.duplexCheckbox_.checked); 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Called when the print CSS backgrounds checkbox is clicked. Updates the 2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * print ticket store. 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 2752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) onCssBackgroundCheckboxClick_: function() { 276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.updateValue( 2772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_.checked); 2782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }, 2792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 2812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * Called when the print selection only is clicked. Updates the 2822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * print ticket store. 2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @private 2842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 2852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) onSelectionOnlyCheckboxClick_: function() { 286c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.updateValue( 2872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_.checked); 2882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) }, 2892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) /** 291c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the duplex ticket item has changed. Updates the duplex 292c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * checkbox. 293c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 294c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 295c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onDuplexChange_: function() { 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) setIsVisible(this.duplexContainer_, 297c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexTicketItem_.isCapabilityAvailable()); 298c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.duplexCheckbox_.checked = this.duplexTicketItem_.getValue(); 299c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 300c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 301c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 302c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 303c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the fit-to-page ticket item has changed. Updates the 304c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * fit-to-page checkbox. 305c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 306c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 307c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onFitToPageChange_: function() { 308c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) setIsVisible(this.fitToPageContainer_, 309c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageTicketItem_.isCapabilityAvailable()); 310c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.fitToPageCheckbox_.checked = this.fitToPageTicketItem_.getValue(); 311c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 312c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 314c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 315c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the CSS background ticket item has changed. Updates the 316c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * CSS background checkbox. 317c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 318c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 319c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onCssBackgroundChange_: function() { 3202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) setIsVisible(this.cssBackgroundContainer_, 321c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.isCapabilityAvailable()); 3222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.cssBackgroundCheckbox_.checked = 323c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.cssBackgroundTicketItem_.getValue(); 324c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 325c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }, 3262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 327c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) /** 328c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Called when the print selection only ticket item has changed. Updates the 329c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * CSS background checkbox. 330c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * @private 331c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 332c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) onSelectionOnlyChange_: function() { 3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) setIsVisible(this.selectionOnlyContainer_, 334c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.isCapabilityAvailable()); 3352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) this.selectionOnlyCheckbox_.checked = 336c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.selectionOnlyTicketItem_.getValue(); 337c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) this.updateContainerState_(); 33890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) }, 33990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 34090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) /** 34190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * Called when the header-footer ticket item has changed. Updates the 34290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * header-footer checkbox. 34390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) * @private 34490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) */ 34590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) onHeaderFooterChange_: function() { 34690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) setIsVisible(this.headerFooterContainer_, 34790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_.isCapabilityAvailable()); 34890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterCheckbox_.checked = 34990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.headerFooterTicketItem_.getValue(); 35090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) this.updateContainerState_(); 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Export 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return { 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) OtherOptionsSettings: OtherOptionsSettings 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}); 359