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

Side by Side Diff: chrome/browser/resources/options/easy_unlock_turn_off_overlay.js

Issue 475483003: Wire easy unlock settings UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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('options', function() { 5 cr.define('options', function() {
6 var Page = cr.ui.pageManager.Page; 6 var Page = cr.ui.pageManager.Page;
7 var PageManager = cr.ui.pageManager.PageManager; 7 var PageManager = cr.ui.pageManager.PageManager;
8 8
9 // UI state of the turn off overlay.
10 // @enum {string}
11 var UIState = {
12 UNKNOWN: 'unknown',
13 OFFLINE: 'offline',
14 IDLE: 'idle',
15 PENDING: 'pending',
16 SERVER_ERROR: 'server-error',
17 };
18
9 /** 19 /**
10 * EasyUnlockTurnOffOverlay class 20 * EasyUnlockTurnOffOverlay class
11 * Encapsulated handling of the Factory Reset confirmation overlay page. 21 * Encapsulated handling of the Factory Reset confirmation overlay page.
12 * @class 22 * @class
13 */ 23 */
14 function EasyUnlockTurnOffOverlay() { 24 function EasyUnlockTurnOffOverlay() {
15 Page.call(this, 'easyUnlockTurnOffOverlay', 25 Page.call(this, 'easyUnlockTurnOffOverlay',
16 loadTimeData.getString('easyUnlockTurnOffTitle'), 26 loadTimeData.getString('easyUnlockTurnOffTitle'),
17 'easy-unlock-turn-off-overlay'); 27 'easy-unlock-turn-off-overlay');
18 } 28 }
19 29
20 cr.addSingletonGetter(EasyUnlockTurnOffOverlay); 30 cr.addSingletonGetter(EasyUnlockTurnOffOverlay);
21 31
22 EasyUnlockTurnOffOverlay.prototype = { 32 EasyUnlockTurnOffOverlay.prototype = {
23 // Inherit EasyUnlockTurnOffOverlay from Page. 33 // Inherit EasyUnlockTurnOffOverlay from Page.
24 __proto__: Page.prototype, 34 __proto__: Page.prototype,
25 35
36 /** Current UI state */
37 uiState_: UIState.UNKNKOWN,
38 get uiState() {
39 return this.uiState_;
40 },
41 set uiState(newUiState) {
42 if (newUiState == this.uiState_)
43 return;
44
45 this.uiState_ = newUiState;
46 switch (this.uiState_) {
47 case UIState.OFFLINE:
48 this.setUpOfflineUI_();
49 break;
50 case UIState.IDLE:
51 this.setUpTurnOffUI_(false);
52 break;
53 case UIState.PENDING:
54 this.setUpTurnOffUI_(true);
55 break;
56 case UIState.SERVER_ERROR:
57 this.setUpServerErrorUI_();
58 break;
59 default:
60 console.error('Unknow Easy unlock turn off UI state: ' +
61 this.uiState_);
62 this.setUpTurnOffUI_(false);
63 break;
64 }
65 },
66
26 /** @override */ 67 /** @override */
27 initializePage: function() { 68 initializePage: function() {
28 Page.prototype.initializePage.call(this); 69 Page.prototype.initializePage.call(this);
29 70
30 $('easy-unlock-turn-off-dismiss').onclick = function(event) { 71 $('easy-unlock-turn-off-dismiss').onclick = function(event) {
31 EasyUnlockTurnOffOverlay.dismiss(); 72 EasyUnlockTurnOffOverlay.dismiss();
32 }; 73 };
33 $('easy-unlock-turn-off-confirm').onclick = function(event) { 74 $('easy-unlock-turn-off-confirm').onclick = function(event) {
34 $('easy-unlock-turn-off-confirm').disabled = true; 75 this.uiState = UIState.PENDING;
35 this.setSpinnerVisible_(true); 76 chrome.send('easyUnlockRequestTurnOff');
36
37 // TODO(xiyuan): Wire this up.
38 // chrome.send('turnOffEasyUnlock');
39 }.bind(this); 77 }.bind(this);
40 }, 78 },
41 79
42 /** @override */ 80 /** @override */
43 didShowPage: function() { 81 didShowPage: function() {
44 if (navigator.onLine) { 82 if (navigator.onLine) {
45 this.setUpTurnOffUI_(); 83 this.uiState = UIState.IDLE;
84 chrome.send('easyUnlockGetTurnOffFlowStatus');
46 } else { 85 } else {
47 this.setUpOfflineUI_(); 86 this.uiState = UIState.OFFLINE;
48 } 87 }
49 }, 88 },
50 89
90 /** @override */
91 didClosePage: function() {
92 chrome.send('easyUnlockTurnOffOverlayDismissed');
93 },
94
51 /** 95 /**
52 * Returns the button strip element. 96 * Returns the button strip element.
53 * @return {HTMLDivElement} The container div of action buttons. 97 * @return {HTMLDivElement} The container div of action buttons.
54 */ 98 */
55 get buttonStrip() { 99 get buttonStrip() {
56 return this.pageDiv.querySelector('.button-strip'); 100 return this.pageDiv.querySelector('.button-strip');
57 }, 101 },
58 102
59 /** 103 /**
60 * Set visibility of action buttons in button strip. 104 * Set visibility of action buttons in button strip.
(...skipping 23 matching lines...) Expand all
84 loadTimeData.getString('easyUnlockTurnOffOfflineTitle'); 128 loadTimeData.getString('easyUnlockTurnOffOfflineTitle');
85 $('easy-unlock-turn-off-messagee').textContent = 129 $('easy-unlock-turn-off-messagee').textContent =
86 loadTimeData.getString('easyUnlockTurnOffOfflineMessage'); 130 loadTimeData.getString('easyUnlockTurnOffOfflineMessage');
87 131
88 this.setActionButtonsVisible_(false); 132 this.setActionButtonsVisible_(false);
89 this.setSpinnerVisible_(false); 133 this.setSpinnerVisible_(false);
90 }, 134 },
91 135
92 /** 136 /**
93 * Set up UI for turning off Easy Unlock. 137 * Set up UI for turning off Easy Unlock.
138 * @param {boolean} pending Whether there is a pending turn-off call.
94 * @private 139 * @private
95 */ 140 */
96 setUpTurnOffUI_: function() { 141 setUpTurnOffUI_: function(pending) {
97 $('easy-unlock-turn-off-title').textContent = 142 $('easy-unlock-turn-off-title').textContent =
98 loadTimeData.getString('easyUnlockTurnOffTitle'); 143 loadTimeData.getString('easyUnlockTurnOffTitle');
99 $('easy-unlock-turn-off-messagee').textContent = 144 $('easy-unlock-turn-off-messagee').textContent =
100 loadTimeData.getString('easyUnlockTurnOffDescription'); 145 loadTimeData.getString('easyUnlockTurnOffDescription');
101 $('easy-unlock-turn-off-confirm').textContent = 146 $('easy-unlock-turn-off-confirm').textContent =
102 loadTimeData.getString('easyUnlockTurnOffButton'); 147 loadTimeData.getString('easyUnlockTurnOffButton');
103 148
104 this.setActionButtonsVisible_(true); 149 this.setActionButtonsVisible_(true);
105 this.setSpinnerVisible_(false); 150 this.setSpinnerVisible_(pending);
106 $('easy-unlock-turn-off-confirm').disabled = false; 151 $('easy-unlock-turn-off-confirm').disabled = pending;
107 $('easy-unlock-turn-off-dismiss').hidden = false; 152 $('easy-unlock-turn-off-dismiss').hidden = false;
108 }, 153 },
109 154
110 /** 155 /**
111 * Set up UI for showing server error. 156 * Set up UI for showing server error.
112 * @private 157 * @private
113 */ 158 */
114 setUpServerErrorUI_: function() { 159 setUpServerErrorUI_: function() {
115 $('easy-unlock-turn-off-title').textContent = 160 $('easy-unlock-turn-off-title').textContent =
116 loadTimeData.getString('easyUnlockTurnOffErrorTitle'); 161 loadTimeData.getString('easyUnlockTurnOffErrorTitle');
117 $('easy-unlock-turn-off-messagee').textContent = 162 $('easy-unlock-turn-off-messagee').textContent =
118 loadTimeData.getString('easyUnlockTurnOffErrorMessage'); 163 loadTimeData.getString('easyUnlockTurnOffErrorMessage');
119 $('easy-unlock-turn-off-confirm').textContent = 164 $('easy-unlock-turn-off-confirm').textContent =
120 loadTimeData.getString('easyUnlockTurnOffRetryButton'); 165 loadTimeData.getString('easyUnlockTurnOffRetryButton');
121 166
122 this.setActionButtonsVisible_(true); 167 this.setActionButtonsVisible_(true);
123 this.setSpinnerVisible_(false); 168 this.setSpinnerVisible_(false);
124 $('easy-unlock-turn-off-confirm').disabled = false; 169 $('easy-unlock-turn-off-confirm').disabled = false;
125 $('easy-unlock-turn-off-dismiss').hidden = true; 170 $('easy-unlock-turn-off-dismiss').hidden = true;
126 }, 171 },
127 }; 172 };
128 173
174 /**
175 * Closes the Easy unlock turn off overlay.
176 */
129 EasyUnlockTurnOffOverlay.dismiss = function() { 177 EasyUnlockTurnOffOverlay.dismiss = function() {
130 PageManager.closeOverlay(); 178 PageManager.closeOverlay();
131 }; 179 };
132 180
181 /**
182 * Update UI to reflect the turn off operation status.
183 * @param {string} newState The UIState string representing the new state.
184 */
185 EasyUnlockTurnOffOverlay.updateUIState = function(newState) {
186 EasyUnlockTurnOffOverlay.getInstance().uiState = newState;
187 };
188
133 // Export 189 // Export
134 return { 190 return {
135 EasyUnlockTurnOffOverlay: EasyUnlockTurnOffOverlay 191 EasyUnlockTurnOffOverlay: EasyUnlockTurnOffOverlay
136 }; 192 };
137 }); 193 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/browser_options.js ('k') | chrome/browser/signin/easy_unlock_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698