Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(449)

Side by Side Diff: chrome/browser/resources/help/channel_change_page.js

Issue 423533003: Use PageManager in About page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix settings app browser test Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('help', function() { 5 cr.define('help', function() {
6 var Page = cr.ui.pageManager.Page;
7 var PageManager = cr.ui.pageManager.PageManager;
8
6 /** 9 /**
7 * Encapsulated handling of the channel change overlay. 10 * Encapsulated handling of the channel change overlay.
8 */ 11 */
9 function ChannelChangePage() {} 12 function ChannelChangePage() {
13 Page.call(this, 'channel-change-page', '', 'channel-change-page');
14 }
10 15
11 cr.addSingletonGetter(ChannelChangePage); 16 cr.addSingletonGetter(ChannelChangePage);
12 17
13 ChannelChangePage.prototype = { 18 ChannelChangePage.prototype = {
14 __proto__: help.HelpBasePage.prototype, 19 __proto__: Page.prototype,
15 20
16 /** 21 /**
17 * Name of the channel the device is currently on. 22 * Name of the channel the device is currently on.
18 * @private 23 * @private
19 */ 24 */
20 currentChannel_: null, 25 currentChannel_: null,
21 26
22 /** 27 /**
23 * Name of the channel the device is supposed to be on. 28 * Name of the channel the device is supposed to be on.
24 * @private 29 * @private
(...skipping 14 matching lines...) Expand all
39 44
40 /** 45 /**
41 * List of the possible ui states. 46 * List of the possible ui states.
42 * @private 47 * @private
43 */ 48 */
44 uiClassTable_: ['selected-channel-requires-powerwash', 49 uiClassTable_: ['selected-channel-requires-powerwash',
45 'selected-channel-requires-delayed-update', 50 'selected-channel-requires-delayed-update',
46 'selected-channel-good', 51 'selected-channel-good',
47 'selected-channel-unstable'], 52 'selected-channel-unstable'],
48 53
49 /** 54 /** override */
50 * Perform initial setup. 55 initializePage: function() {
51 */ 56 Page.prototype.initializePage.call(this);
52 initialize: function() { 57
53 help.HelpBasePage.prototype.initialize.call(this, 'channel-change-page'); 58 $('channel-change-page-cancel-button').onclick =
59 PageManager.closeOverlay.bind(PageManager);
54 60
55 var self = this; 61 var self = this;
56
57 $('channel-change-page-cancel-button').onclick = function() {
58 help.HelpPage.cancelOverlay();
59 };
60
61 var options = this.getAllChannelOptions_(); 62 var options = this.getAllChannelOptions_();
62 for (var i = 0; i < options.length; i++) { 63 for (var i = 0; i < options.length; i++) {
63 var option = options[i]; 64 var option = options[i];
64 option.onclick = function() { 65 option.onclick = function() {
65 self.updateUI_(this.value); 66 self.updateUI_(this.value);
66 }; 67 };
67 } 68 }
68 69
69 $('channel-change-page-powerwash-button').onclick = function() { 70 $('channel-change-page-powerwash-button').onclick = function() {
70 self.setChannel_(self.getSelectedOption_(), true); 71 self.setChannel_(self.getSelectedOption_(), true);
71 help.HelpPage.cancelOverlay(); 72 PageManager.closeOverlay();
72 }; 73 };
73 74
74 $('channel-change-page-change-button').onclick = function() { 75 $('channel-change-page-change-button').onclick = function() {
75 self.setChannel_(self.getSelectedOption_(), false); 76 self.setChannel_(self.getSelectedOption_(), false);
76 help.HelpPage.cancelOverlay(); 77 PageManager.closeOverlay();
77 }; 78 };
78 }, 79 },
79 80
80 onBeforeShow: function() { 81 /** @override */
81 help.HelpBasePage.prototype.onBeforeShow.call(this); 82 didShowPage: function() {
82 if (this.targetChannel_ != null) 83 if (this.targetChannel_ != null)
83 this.selectOption_(this.targetChannel_); 84 this.selectOption_(this.targetChannel_);
84 else if (this.currentChannel_ != null) 85 else if (this.currentChannel_ != null)
85 this.selectOption_(this.currentChannel_); 86 this.selectOption_(this.currentChannel_);
86 var options = this.getAllChannelOptions_(); 87 var options = this.getAllChannelOptions_();
87 for (var i = 0; i < options.length; i++) { 88 for (var i = 0; i < options.length; i++) {
88 var option = options[i]; 89 var option = options[i];
89 if (option.checked) 90 if (option.checked)
90 option.focus(); 91 option.focus();
91 } 92 }
92 }, 93 },
93 94
94 /** 95 /**
95 * Returns the list of all radio buttons responsible for channel selection. 96 * Returns the list of all radio buttons responsible for channel selection.
96 * @return {Array.<HTMLInputElement>} Array of radio buttons 97 * @return {Array.<HTMLInputElement>} Array of radio buttons
97 * @private 98 * @private
98 */ 99 */
99 getAllChannelOptions_: function() { 100 getAllChannelOptions_: function() {
100 return $('channel-change-page').querySelectorAll('input[type="radio"]'); 101 return this.pageDiv.querySelectorAll('input[type="radio"]');
101 }, 102 },
102 103
103 /** 104 /**
104 * Returns value of the selected option. 105 * Returns value of the selected option.
105 * @return {string} Selected channel name or null, if neither 106 * @return {string} Selected channel name or null, if neither
106 * option is selected. 107 * option is selected.
107 * @private 108 * @private
108 */ 109 */
109 getSelectedOption_: function() { 110 getSelectedOption_: function() {
110 var options = this.getAllChannelOptions_(); 111 var options = this.getAllChannelOptions_();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // Warn user about unstable channel. 162 // Warn user about unstable channel.
162 newOverlayClass = 'selected-channel-unstable'; 163 newOverlayClass = 'selected-channel-unstable';
163 } else { 164 } else {
164 // Switching to the less stable channel. 165 // Switching to the less stable channel.
165 newOverlayClass = 'selected-channel-good'; 166 newOverlayClass = 'selected-channel-good';
166 } 167 }
167 } 168 }
168 169
169 // Switch to the new UI state. 170 // Switch to the new UI state.
170 for (var i = 0; i < this.uiClassTable_.length; i++) 171 for (var i = 0; i < this.uiClassTable_.length; i++)
171 $('channel-change-page').classList.remove(this.uiClassTable_[i]); 172 this.pageDiv.classList.remove(this.uiClassTable_[i]);
172 173
173 if (newOverlayClass) 174 if (newOverlayClass)
174 $('channel-change-page').classList.add(newOverlayClass); 175 this.pageDiv.classList.add(newOverlayClass);
175 }, 176 },
176 177
177 /** 178 /**
178 * Sets the device target channel. 179 * Sets the device target channel.
179 * @param {string} channel The name of the target channel 180 * @param {string} channel The name of the target channel
180 * @param {boolean} isPowerwashAllowed True iff powerwash is allowed 181 * @param {boolean} isPowerwashAllowed True iff powerwash is allowed
181 * @private 182 * @private
182 */ 183 */
183 setChannel_: function(channel, isPowerwashAllowed) { 184 setChannel_: function(channel, isPowerwashAllowed) {
184 this.targetChannel_ = channel; 185 this.targetChannel_ = channel;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 255
255 ChannelChangePage.isPageReady = function() { 256 ChannelChangePage.isPageReady = function() {
256 return ChannelChangePage.getInstance().isPageReady_(); 257 return ChannelChangePage.getInstance().isPageReady_();
257 }; 258 };
258 259
259 // Export 260 // Export
260 return { 261 return {
261 ChannelChangePage: ChannelChangePage 262 ChannelChangePage: ChannelChangePage
262 }; 263 };
263 }); 264 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/help/channel_change_page.html ('k') | chrome/browser/resources/help/help.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698