OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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('new_tab', function() { | 5 cr.define('new_tab', function() { |
6 // Variable to track if the promo is expanded or collapsed. | |
7 var isExpanded_ = false; | |
James Hawkins
2011/07/18 02:37:36
Var name not descriptive enough for the context. i
sail
2011/07/20 01:30:46
Done.
| |
6 | 8 |
7 /** | 9 /** |
8 * NewTabSyncPromo class | 10 * NewTabSyncPromo class |
9 * Subclass of options.SyncSetupOverlay that customizes the sync setup | 11 * Subclass of options.SyncSetupOverlay that customizes the sync setup |
10 * overlay for use in the new tab page. | 12 * overlay for use in the new tab page. |
11 * @class | 13 * @class |
12 */ | 14 */ |
13 function NewTabSyncPromo() { | 15 function NewTabSyncPromo() { |
14 options.SyncSetupOverlay.call(this, 'syncSetup', | 16 options.SyncSetupOverlay.call(this, 'syncSetup', |
15 templateData.syncSetupOverlayTitle, | 17 templateData.syncSetupOverlayTitle, |
16 'sync-setup-overlay'); | 18 'sync-setup-overlay'); |
17 } | 19 } |
18 | 20 |
19 cr.addSingletonGetter(NewTabSyncPromo); | 21 cr.addSingletonGetter(NewTabSyncPromo); |
20 | 22 |
21 NewTabSyncPromo.prototype = { | 23 NewTabSyncPromo.prototype = { |
22 __proto__: options.SyncSetupOverlay.prototype, | 24 __proto__: options.SyncSetupOverlay.prototype, |
23 | 25 |
24 showOverlay_: function() { | 26 showOverlay_: function() { |
25 $('sync-setup-overlay').hidden = false; | 27 this.expandSyncPromo_(true); |
26 }, | 28 }, |
27 | 29 |
28 initializePage: function() { | 30 initializePage: function() { |
29 options.SyncSetupOverlay.prototype.initializePage.call(this); | 31 options.SyncSetupOverlay.prototype.initializePage.call(this); |
30 chrome.send('SyncSetupAttachHandler'); | 32 |
33 var self = this; | |
34 $('sync-promo-toggle-button').onclick = function() { | |
James Hawkins
2011/07/18 02:37:36
onclick = this.onTogglePromo;
sail
2011/07/20 01:30:46
Done.
| |
35 self.onTogglePromo(); | |
36 }; | |
37 | |
38 chrome.send('InitializeSyncPromo'); | |
31 }, | 39 }, |
32 | 40 |
33 showOverlay_: function() { | 41 onTogglePromo: function() { |
James Hawkins
2011/07/18 02:37:36
Document all functions.
sail
2011/07/20 01:30:46
Done.
| |
34 $('sync-setup-overlay').hidden = false; | 42 if (this.isExpanded_) { |
43 this.expandSyncPromo_(false); | |
44 chrome.send('CollapseSyncPromo'); | |
45 } else { | |
46 chrome.send('ExpandSyncPromo'); | |
47 } | |
35 }, | 48 }, |
49 | |
50 expandSyncPromo_: function(shouldExpand) { | |
51 this.isExpanded_ = shouldExpand; | |
52 if (shouldExpand) { | |
53 $('sync-promo-login-status').hidden = true; | |
James Hawkins
2011/07/18 02:37:36
These hide/shows should be animated (specified in
sail
2011/07/20 01:30:46
Mind if I do this in a separate change? This UI is
| |
54 $('sync-setup-overlay').hidden = false; | |
55 $('sync-promo').classList.remove('collapsed'); | |
56 } else { | |
57 $('sync-promo-login-status').hidden = false; | |
58 $('sync-setup-overlay').hidden = true; | |
59 $('sync-promo').classList.add('collapsed'); | |
60 } | |
61 layoutSections(); | |
62 }, | |
63 | |
64 updateLogin_: function(user_name) { | |
65 if (user_name) { | |
66 $('sync-promo-toggle').hidden = true; | |
67 $('sync-promo-user-name').textContent = user_name; | |
68 $('sync-promo-not-connected').hidden = true; | |
69 } else { | |
70 $('sync-promo-toggle').hidden = false; | |
71 $('sync-promo-user-name').hidden = true; | |
72 $('sync-promo-not-connected').hidden = false; | |
73 } | |
74 layoutSections(); | |
75 } | |
36 }; | 76 }; |
37 | 77 |
38 NewTabSyncPromo.showErrorUI = function() { | 78 NewTabSyncPromo.showErrorUI = function() { |
39 NewTabSyncPromo.getInstance().showErrorUI_(); | 79 NewTabSyncPromo.getInstance().showErrorUI_(); |
40 }; | 80 }; |
41 | 81 |
42 NewTabSyncPromo.showSetupUI = function() { | 82 NewTabSyncPromo.showSetupUI = function() { |
43 NewTabSyncPromo.getInstance().showSetupUI_(); | 83 NewTabSyncPromo.getInstance().showSetupUI_(); |
44 }; | 84 }; |
45 | 85 |
(...skipping 10 matching lines...) Expand all Loading... | |
56 }; | 96 }; |
57 | 97 |
58 NewTabSyncPromo.showStopSyncingUI = function() { | 98 NewTabSyncPromo.showStopSyncingUI = function() { |
59 NewTabSyncPromo.getInstance().showStopSyncingUI_(); | 99 NewTabSyncPromo.getInstance().showStopSyncingUI_(); |
60 }; | 100 }; |
61 | 101 |
62 NewTabSyncPromo.initialize = function() { | 102 NewTabSyncPromo.initialize = function() { |
63 NewTabSyncPromo.getInstance().initializePage(); | 103 NewTabSyncPromo.getInstance().initializePage(); |
64 } | 104 } |
65 | 105 |
106 NewTabSyncPromo.showSynPromo = function() { | |
107 $('sync-promo').hidden = false; | |
James Hawkins
2011/07/18 02:37:36
Delegate to a private method in NewTabSyncPromo, a
sail
2011/07/20 01:30:46
Done.
| |
108 } | |
109 | |
110 NewTabSyncPromo.updateLogin = function(user_name) { | |
111 NewTabSyncPromo.getInstance().updateLogin_(user_name); | |
112 } | |
113 | |
66 // Export | 114 // Export |
67 return { | 115 return { |
68 NewTabSyncPromo : NewTabSyncPromo | 116 NewTabSyncPromo : NewTabSyncPromo |
69 }; | 117 }; |
70 }); | 118 }); |
71 | 119 |
72 var OptionsPage = options.OptionsPage; | 120 var OptionsPage = options.OptionsPage; |
73 var SyncSetupOverlay = new_tab.NewTabSyncPromo; | 121 var SyncSetupOverlay = new_tab.NewTabSyncPromo; |
74 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize); | 122 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize); |
OLD | NEW |