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

Side by Side Diff: chrome/browser/resources/new_tab_sync_promo.js

Issue 7399015: Sync Promo: Add a way to collapse the sync promo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review feedback Created 9 years, 5 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
(Empty)
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
3 // found in the LICENSE file.
4
5 cr.define('new_tab', function() {
6 // Variable to track if the promo is expanded or collapsed.
7 var isSyncPromoExpanded_ = false;
James Hawkins 2011/07/20 01:55:26 Move this into NewTabSyncPromo.prototype.
sail 2011/07/20 19:40:25 Done.
8
9 /**
10 * NewTabSyncPromo class
11 * Subclass of options.SyncSetupOverlay that customizes the sync setup
12 * overlay for use in the new tab page.
13 * @class
14 */
15 function NewTabSyncPromo() {
16 options.SyncSetupOverlay.call(this, 'syncSetup',
17 templateData.syncSetupOverlayTitle,
18 'sync-setup-overlay');
19 }
20
21 cr.addSingletonGetter(NewTabSyncPromo);
22
23 NewTabSyncPromo.prototype = {
24 __proto__: options.SyncSetupOverlay.prototype,
25
26 showOverlay_: function() {
27 this.expandSyncPromo_(true);
28 },
29
30 // Initializes the page.
31 initializePage: function() {
32 options.SyncSetupOverlay.prototype.initializePage.call(this);
33 $('sync-promo-toggle-button').onclick = this.onTogglePromo;
34 chrome.send('InitializeSyncPromo');
35 },
36
37 // Handler for the toggle button to show or hide the sync promo.
38 onTogglePromo: function() {
39 if (this.isSyncPromoExpanded_) {
40 this.expandSyncPromo_(false);
41 chrome.send('CollapseSyncPromo');
42 } else {
43 chrome.send('ExpandSyncPromo');
44 }
45 },
46
47 // Shows or hides the sync promo.
48 expandSyncPromo_: function(shouldExpand) {
49 this.isSyncPromoExpanded_ = shouldExpand;
50 if (shouldExpand) {
51 $('sync-promo-login-status').hidden = true;
52 $('sync-setup-overlay').hidden = false;
53 $('sync-promo').classList.remove('collapsed');
54 } else {
55 $('sync-promo-login-status').hidden = false;
56 $('sync-setup-overlay').hidden = true;
57 $('sync-promo').classList.add('collapsed');
58 }
59 layoutSections();
60 },
61
62 // Sets the sync login name. If there's no login name then makes the
63 // 'not connected' UI visible and shows the sync promo toggle button.
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 }
76
77 // Shows the sync promo.
78 showSyncPromo_: function() {
79 $('sync-promo').hidden = false;
80 }
81 };
82
83 NewTabSyncPromo.showErrorUI = function() {
84 NewTabSyncPromo.getInstance().showErrorUI_();
85 };
86
87 NewTabSyncPromo.showSetupUI = function() {
88 NewTabSyncPromo.getInstance().showSetupUI_();
89 };
90
91 NewTabSyncPromo.showSyncSetupPage = function(page, args) {
92 NewTabSyncPromo.getInstance().showSyncSetupPage_(page, args);
93 };
94
95 NewTabSyncPromo.showSuccessAndClose = function() {
96 NewTabSyncPromo.getInstance().showSuccessAndClose_();
97 };
98
99 NewTabSyncPromo.showSuccessAndSettingUp = function() {
100 NewTabSyncPromo.getInstance().showSuccessAndSettingUp_();
101 };
102
103 NewTabSyncPromo.showStopSyncingUI = function() {
104 NewTabSyncPromo.getInstance().showStopSyncingUI_();
105 };
106
107 NewTabSyncPromo.initialize = function() {
108 NewTabSyncPromo.getInstance().initializePage();
109 }
110
111 NewTabSyncPromo.showSynPromo = function() {
112 NewTabSyncPromo.getInstance().showSyncPromo_();
113 }
114
115 NewTabSyncPromo.updateLogin = function(user_name) {
116 NewTabSyncPromo.getInstance().updateLogin_(user_name);
117 }
118
119 // Export
120 return {
121 NewTabSyncPromo : NewTabSyncPromo
122 };
123 });
124
125 var OptionsPage = options.OptionsPage;
126 var SyncSetupOverlay = new_tab.NewTabSyncPromo;
127 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698