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

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 /**
7 * NewTabSyncPromo class
8 * Subclass of options.SyncSetupOverlay that customizes the sync setup
9 * overlay for use in the new tab page.
10 * @class
11 */
12 function NewTabSyncPromo() {
13 options.SyncSetupOverlay.call(this, 'syncSetup',
14 templateData.syncSetupOverlayTitle,
15 'sync-setup-overlay');
16 }
17
18 cr.addSingletonGetter(NewTabSyncPromo);
19
20 NewTabSyncPromo.prototype = {
21 __proto__: options.SyncSetupOverlay.prototype,
22
23 // Variable to track if the promo is expanded or collapsed.
24 isSyncPromoExpanded_: false,
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 var self = this;
34 $('sync-promo-toggle-button').onclick = function() {
sail 2011/07/20 19:40:25 I needed to change the handler back to an anonymou
35 self.onTogglePromo();
36 }
37 chrome.send('InitializeSyncPromo');
38 },
39
40 // Handler for the toggle button to show or hide the sync promo.
41 onTogglePromo: function() {
42 if (this.isSyncPromoExpanded_) {
43 this.expandSyncPromo_(false);
44 chrome.send('CollapseSyncPromo');
45 } else {
46 chrome.send('ExpandSyncPromo');
47 }
48 },
49
50 // Shows or hides the sync promo.
51 expandSyncPromo_: function(shouldExpand) {
52 this.isSyncPromoExpanded_ = shouldExpand;
53 if (shouldExpand) {
54 $('sync-promo-login-status').hidden = true;
55 $('sync-setup-overlay').hidden = false;
56 $('sync-promo').classList.remove('collapsed');
57 } else {
58 $('sync-promo-login-status').hidden = false;
59 $('sync-setup-overlay').hidden = true;
60 $('sync-promo').classList.add('collapsed');
61 }
62 layoutSections();
63 },
64
65 // Sets the sync login name. If there's no login name then makes the
66 // 'not connected' UI visible and shows the sync promo toggle button.
67 updateLogin_: function(user_name) {
68 if (user_name) {
69 $('sync-promo-toggle').hidden = true;
70 $('sync-promo-user-name').textContent = user_name;
71 $('sync-promo-not-connected').hidden = true;
72 } else {
73 $('sync-promo-toggle').hidden = false;
74 $('sync-promo-user-name').hidden = true;
75 $('sync-promo-not-connected').hidden = false;
76 }
77 layoutSections();
78 },
79
80 // Shows the sync promo.
81 showSyncPromo_: function() {
82 $('sync-promo').hidden = false;
83 },
84 };
85
86 NewTabSyncPromo.showErrorUI = function() {
87 NewTabSyncPromo.getInstance().showErrorUI_();
88 };
89
90 NewTabSyncPromo.showSetupUI = function() {
91 NewTabSyncPromo.getInstance().showSetupUI_();
92 };
93
94 NewTabSyncPromo.showSyncSetupPage = function(page, args) {
95 NewTabSyncPromo.getInstance().showSyncSetupPage_(page, args);
96 };
97
98 NewTabSyncPromo.showSuccessAndClose = function() {
99 NewTabSyncPromo.getInstance().showSuccessAndClose_();
100 };
101
102 NewTabSyncPromo.showSuccessAndSettingUp = function() {
103 NewTabSyncPromo.getInstance().showSuccessAndSettingUp_();
104 };
105
106 NewTabSyncPromo.showStopSyncingUI = function() {
107 NewTabSyncPromo.getInstance().showStopSyncingUI_();
108 };
109
110 NewTabSyncPromo.initialize = function() {
111 NewTabSyncPromo.getInstance().initializePage();
112 }
113
114 NewTabSyncPromo.showSyncPromo = function() {
115 NewTabSyncPromo.getInstance().showSyncPromo_();
116 }
117
118 NewTabSyncPromo.updateLogin = function(user_name) {
119 NewTabSyncPromo.getInstance().updateLogin_(user_name);
120 }
121
122 // Export
123 return {
124 NewTabSyncPromo : NewTabSyncPromo
125 };
126 });
127
128 var OptionsPage = options.OptionsPage;
129 var SyncSetupOverlay = new_tab.NewTabSyncPromo;
130 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize);
OLDNEW
« no previous file with comments | « chrome/browser/resources/new_tab_sync_promo.css ('k') | chrome/browser/resources/options/google-transparent.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698