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

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: Sync Promo: Add a way to collapse the sync promo 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
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
7 /** 6 /**
8 * NewTabSyncPromo class 7 * NewTabSyncPromo class
9 * Subclass of options.SyncSetupOverlay that customizes the sync setup 8 * Subclass of options.SyncSetupOverlay that customizes the sync setup
10 * overlay for use in the new tab page. 9 * overlay for use in the new tab page.
11 * @class 10 * @class
12 */ 11 */
13 function NewTabSyncPromo() { 12 function NewTabSyncPromo() {
14 options.SyncSetupOverlay.call(this, 'syncSetup', 13 options.SyncSetupOverlay.call(this, 'syncSetup',
15 templateData.syncSetupOverlayTitle, 14 templateData.syncSetupOverlayTitle,
16 'sync-setup-overlay'); 15 'sync-setup-overlay');
17 } 16 }
18 17
19 cr.addSingletonGetter(NewTabSyncPromo); 18 cr.addSingletonGetter(NewTabSyncPromo);
20 19
21 NewTabSyncPromo.prototype = { 20 NewTabSyncPromo.prototype = {
22 __proto__: options.SyncSetupOverlay.prototype, 21 __proto__: options.SyncSetupOverlay.prototype,
23 22
23 // Variable to track if the promo is expanded or collapsed.
24 isSyncPromoExpanded_: false,
25
24 showOverlay_: function() { 26 showOverlay_: function() {
25 $('sync-setup-overlay').hidden = false; 27 this.expandSyncPromo_(true);
26 }, 28 },
27 29
30 // Initializes the page.
28 initializePage: function() { 31 initializePage: function() {
29 options.SyncSetupOverlay.prototype.initializePage.call(this); 32 options.SyncSetupOverlay.prototype.initializePage.call(this);
30 chrome.send('SyncSetupAttachHandler'); 33 var self = this;
34 $('sync-promo-toggle-button').onclick = function() {
35 self.onTogglePromo();
36 }
37 chrome.send('InitializeSyncPromo');
31 }, 38 },
32 39
33 showOverlay_: function() { 40 // Handler for the toggle button to show or hide the sync promo.
34 $('sync-setup-overlay').hidden = false; 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;
35 }, 83 },
36 }; 84 };
37 85
38 NewTabSyncPromo.showErrorUI = function() { 86 NewTabSyncPromo.showErrorUI = function() {
39 NewTabSyncPromo.getInstance().showErrorUI_(); 87 NewTabSyncPromo.getInstance().showErrorUI_();
40 }; 88 };
41 89
42 NewTabSyncPromo.showSetupUI = function() { 90 NewTabSyncPromo.showSetupUI = function() {
43 NewTabSyncPromo.getInstance().showSetupUI_(); 91 NewTabSyncPromo.getInstance().showSetupUI_();
44 }; 92 };
(...skipping 11 matching lines...) Expand all
56 }; 104 };
57 105
58 NewTabSyncPromo.showStopSyncingUI = function() { 106 NewTabSyncPromo.showStopSyncingUI = function() {
59 NewTabSyncPromo.getInstance().showStopSyncingUI_(); 107 NewTabSyncPromo.getInstance().showStopSyncingUI_();
60 }; 108 };
61 109
62 NewTabSyncPromo.initialize = function() { 110 NewTabSyncPromo.initialize = function() {
63 NewTabSyncPromo.getInstance().initializePage(); 111 NewTabSyncPromo.getInstance().initializePage();
64 } 112 }
65 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
66 // Export 122 // Export
67 return { 123 return {
68 NewTabSyncPromo : NewTabSyncPromo 124 NewTabSyncPromo : NewTabSyncPromo
69 }; 125 };
70 }); 126 });
71 127
72 var OptionsPage = options.OptionsPage; 128 var OptionsPage = options.OptionsPage;
73 var SyncSetupOverlay = new_tab.NewTabSyncPromo; 129 var SyncSetupOverlay = new_tab.NewTabSyncPromo;
74 window.addEventListener('DOMContentLoaded', new_tab.NewTabSyncPromo.initialize); 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/sync_promo_minimize.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698