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) * Component that renders a destination item in a destination list. 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {!cr.EventTarget} eventTarget Event target to dispatch selection 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * events to. 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @param {!print_preview.Destination} destination Destination data object to 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * render. 14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @param {RegExp} query Active filter query. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @constructor 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @extends {print_preview.Component} 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) function DestinationListItem(eventTarget, destination, query) { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.call(this); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Event target to dispatch selection events to. 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {!cr.EventTarget} 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.eventTarget_ = eventTarget; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Destination that the list item renders. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {!print_preview.Destination} 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.destination_ = destination; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * Active filter query text. 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @type {RegExp} 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @private 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) */ 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) this.query_ = query; 41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) /** 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * FedEx terms-of-service widget or {@code null} if this list item does not 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * render the FedEx Office print destination. 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @type {print_preview.FedexTos} 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fedexTos_ = null; 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Event types dispatched by the destination list item. 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @enum {string} 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DestinationListItem.EventType = { 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Dispatched when the list item is activated. 57a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) SELECT: 'print_preview.DestinationListItem.SELECT', 58a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) REGISTER_PROMO_CLICKED: 59a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 'print_preview.DestinationListItem.REGISTER_PROMO_CLICKED' 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * CSS classes used by the destination list item. 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @enum {string} 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DestinationListItem.Classes_ = { 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ICON: 'destination-list-item-icon', 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NAME: 'destination-list-item-name', 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) STALE: 'stale' 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DestinationListItem.prototype = { 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) __proto__: print_preview.Component.prototype, 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) createDom: function() { 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.setElementInternal(this.cloneTemplateInternal( 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 'destination-list-item-template')); 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var iconImg = this.getElement().getElementsByClassName( 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.DestinationListItem.Classes_.ICON)[0]; 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) iconImg.src = this.destination_.iconUrl; 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) var nameEl = this.getElement().getElementsByClassName( 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DestinationListItem.Classes_.NAME)[0]; 87a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) var textContent = this.destination_.displayName; 88a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (this.query_) { 89a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // When search query is specified, make it obvious why the particular 90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // printer made it to the list. Display name is always visible, even if 91a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // it does not match the search query. 92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) this.addTextWithHighlight_(nameEl, textContent); 93a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Show the first matching property. 94a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) this.destination_.extraPropertiesToMatch.some(function(property) { 95a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (property.match(this.query_)) { 96a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) var hintSpan = document.createElement('span'); 97a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) hintSpan.className = 'search-hint'; 98a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) nameEl.appendChild(hintSpan); 99a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) this.addTextWithHighlight_(hintSpan, property); 100a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Add the same property to the element title. 101a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) textContent += ' (' + property + ')'; 102a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) return true; 103a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 104a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }, this); 105a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } else { 106a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Show just the display name and nothing else to lessen visual clutter. 107a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) nameEl.textContent = textContent; 108a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 109a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) nameEl.title = textContent; 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.initializeOfflineStatusElement_(); 112a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) this.initializeRegistrationPromoElement_(); 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** @override */ 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) enterDocument: function() { 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Component.prototype.enterDocument.call(this); 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add(this.getElement(), 'click', this.onActivate_.bind(this)); 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Initializes the element which renders the print destination's 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * offline status. 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) initializeOfflineStatusElement_: function() { 1275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if (this.destination_.isOffline) { 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.getElement().classList.add(DestinationListItem.Classes_.STALE); 1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) var offlineStatusEl = this.getChildElement('.offline-status'); 1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) offlineStatusEl.textContent = this.destination_.offlineStatusText; 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) setIsVisible(offlineStatusEl, true); 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 136a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * Initialize registration promo element for Privet unregistered printers. 137a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) */ 138a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) initializeRegistrationPromoElement_: function() { 139a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) if (this.destination_.connectionStatus == 140a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) print_preview.Destination.ConnectionStatus.UNREGISTERED) { 1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) var registerBtnEl = this.getChildElement('.register-promo-button'); 142a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) registerBtnEl.addEventListener('click', 143a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) this.onRegisterPromoClicked_.bind(this)); 144a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) var registerPromoEl = this.getChildElement('.register-promo'); 146a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) setIsVisible(registerPromoEl, true); 147a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) } 148a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) }, 149a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 150a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) /** 151a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * Adds text to parent element wrapping search query matches in highlighted 152a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * spans. 153a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @param {!Element} parent Element to build the text in. 154a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @param {string} text The text string to highlight segments in. 155a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) * @private 156a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) */ 157a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) addTextWithHighlight_: function(parent, text) { 158a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) var sections = text.split(this.query_); 159a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) for (var i = 0; i < sections.length; ++i) { 160a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) if (i % 2 == 0) { 161a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) parent.appendChild(document.createTextNode(sections[i])); 162a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } else { 163a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) var span = document.createElement('span'); 164a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) span.className = 'destination-list-item-query-highlight'; 165a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) span.textContent = sections[i]; 166a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) parent.appendChild(span); 167a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 168a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) } 169a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) }, 170a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 171a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) /** 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the destination item is activated. Dispatches a SELECT event 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * on the given event target. 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onActivate_: function() { 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (this.destination_.id == 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.Destination.GooglePromotedId.FEDEX && 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) !this.destination_.isTosAccepted) { 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!this.fedexTos_) { 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fedexTos_ = new print_preview.FedexTos(); 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fedexTos_.render(this.getElement()); 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.tracker.add( 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fedexTos_, 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print_preview.FedexTos.EventType.AGREE, 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.onTosAgree_.bind(this)); 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.fedexTos_.setIsVisible(true); 189a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) } else if (this.destination_.connectionStatus != 1905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) print_preview.Destination.ConnectionStatus.UNREGISTERED) { 1914e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) var selectEvt = new Event(DestinationListItem.EventType.SELECT); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selectEvt.destination = this.destination_; 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.eventTarget_.dispatchEvent(selectEvt); 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }, 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Called when the user agrees to the print destination's terms-of-service. 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Selects the print destination that was agreed to. 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @private 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) onTosAgree_: function() { 2034e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) var selectEvt = new Event(DestinationListItem.EventType.SELECT); 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) selectEvt.destination = this.destination_; 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) this.eventTarget_.dispatchEvent(selectEvt); 206a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) }, 207a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 208a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) /** 209a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * Called when the registration promo is clicked. 210a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) * @private 211a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) */ 212a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) onRegisterPromoClicked_: function() { 213a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) var promoClickedEvent = new Event( 214a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) DestinationListItem.EventType.REGISTER_PROMO_CLICKED); 215a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) promoClickedEvent.destination = this.destination_; 216a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) this.eventTarget_.dispatchEvent(promoClickedEvent); 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Export 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return { 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DestinationListItem: DestinationListItem 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}); 225