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

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

Issue 17320005: Update strings to match the final spec. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: For review Created 7 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 OptionsPage = options.OptionsPage; 6 var OptionsPage = options.OptionsPage;
7 7
8 /** 8 /**
9 * ManagedUserCreateConfirm class. 9 * ManagedUserCreateConfirm class.
10 * Encapsulated handling of the confirmation overlay page when creating a 10 * Encapsulated handling of the confirmation overlay page when creating a
11 * managed user. 11 * managed user.
12 * @constructor 12 * @constructor
13 * @class 13 * @class
14 */ 14 */
15 function ManagedUserCreateConfirmOverlay() { 15 function ManagedUserCreateConfirmOverlay() {
16 OptionsPage.call(this, 'managedUserCreateConfirm', 16 OptionsPage.call(this, 'managedUserCreateConfirm',
17 '', // The title will be based on the new profile name. 17 '', // The title will be based on the new profile name.
18 'managed-user-created'); 18 'managed-user-created');
19 }; 19 };
20 20
21 cr.addSingletonGetter(ManagedUserCreateConfirmOverlay); 21 cr.addSingletonGetter(ManagedUserCreateConfirmOverlay);
22 22
23 ManagedUserCreateConfirmOverlay.prototype = { 23 ManagedUserCreateConfirmOverlay.prototype = {
24 // Inherit from OptionsPage. 24 // Inherit from OptionsPage.
25 __proto__: OptionsPage.prototype, 25 __proto__: OptionsPage.prototype,
26 26
27 // Info about the newly created profile. 27 // Info about the newly created profile.
28 profileInfo_: null, 28 profileInfo_: null,
29 29
30 // Current shown slide.
31 currentSlide_: 0,
32
33 /** 30 /**
34 * Initialize the page. 31 * Initialize the page.
35 */ 32 */
36 initializePage: function() { 33 initializePage: function() {
37 OptionsPage.prototype.initializePage.call(this); 34 OptionsPage.prototype.initializePage.call(this);
38 35
39 $('managed-user-created-done').onclick = function(event) { 36 $('managed-user-created-done').onclick = function(event) {
40 OptionsPage.closeOverlay(); 37 OptionsPage.closeOverlay();
41 }; 38 };
42 39
43 var self = this; 40 var self = this;
44 41
45 $('managed-user-created-switch').onclick = function(event) { 42 $('managed-user-created-switch').onclick = function(event) {
46 OptionsPage.closeOverlay(); 43 OptionsPage.closeOverlay();
47 chrome.send('switchToProfile', [self.profileInfo_.filePath]); 44 chrome.send('switchToProfile', [self.profileInfo_.filePath]);
48 }; 45 };
49
50 // Create a small dot button for each slide in the deck and make the
51 // first button active.
52 var numberOfSlides = $('managed-user-created-slide-deck').children.length;
53 for (var i = 0; i < numberOfSlides; i++) {
54 var smallButton = document.createElement('button');
55 $('managed-user-created-small-buttons').appendChild(smallButton);
56 smallButton.onclick = this.setCurrentSlide_.bind(this, i);
57 }
58 $('managed-user-created-small-buttons').children[0].classList.add(
59 'managed-user-created-small-button-selected');
60
61 // Changes the slide in |direction|, where |direction| can be 'Left' or
62 // 'Right'. Changing to the left goes back in LTR and forward in RTL and
63 // vice versa for right.
64 function changeSlide(direction) {
65 // Ignore all events we get while not visible.
66 if (!self.visible)
67 return;
68
69 // Ignore anything other than left and right arrow press.
70 if (direction != 'Left' && direction != 'Right')
71 return;
72
73 var container = $('managed-user-created');
74 var rtl = getComputedStyle(container).direction == 'rtl';
75
76 if ((direction == 'Right' && !rtl) || (direction == 'Left' && rtl))
77 self.setCurrentSlide_(self.currentSlide_ + 1);
78 else
79 self.setCurrentSlide_(self.currentSlide_ - 1);
80 };
81
82 $('managed-user-created-left-slide-arrow').onclick =
83 changeSlide.bind(undefined, 'Left');
84 $('managed-user-created-right-slide-arrow').onclick =
85 changeSlide.bind(undefined, 'Right');
86
87 document.onkeydown = function(event) {
88 changeSlide(event.keyIdentifier);
89 };
90 },
91
92 /**
93 * Reset to slide 1 for the next time this gets opened.
94 * @override
95 */
96 didShowPage: function() {
97 this.setCurrentSlide_(0);
98 },
99
100 /**
101 * Sets the current visible slide to |slide|, where |slide| is the index
102 * and starts from 0.
103 * @param {number} slide The slide to set.
104 * @private
105 */
106 setCurrentSlide_: function(slide) {
107 var numberOfSlides =
108 $('managed-user-created-slide-deck').children.length;
109 var newSlide = (numberOfSlides + slide) % numberOfSlides;
110 // Show the respective slide. The slide is shown by setting the
111 // appropriate negative margin on the slide deck.
112 var margin = '0';
113 if (slide != 0)
114 margin = '-' + newSlide * 100 + '%';
115 $('managed-user-created-slide-deck').style.webkitMarginStart = margin;
116
117 // Update the bottom buttons.
118 $('managed-user-created-small-buttons').children[this.currentSlide_]
119 .classList.toggle('managed-user-created-small-button-selected');
120 $('managed-user-created-small-buttons').children[newSlide]
121 .classList.toggle('managed-user-created-small-button-selected');
122 this.currentSlide_ = newSlide;
123 }, 46 },
124 47
125 /** 48 /**
126 * Sets the profile info used in the dialog and updates the profile name 49 * Sets the profile info used in the dialog and updates the profile name
127 * displayed. Called by the profile creation overlay when this overlay is 50 * displayed. Called by the profile creation overlay when this overlay is
128 * opened. 51 * opened.
129 * @param {Object} info An object of the form: 52 * @param {Object} info An object of the form:
130 * info = { 53 * info = {
131 * name: "Profile Name", 54 * name: "Profile Name",
132 * filePath: "/path/to/profile/data/on/disk" 55 * filePath: "/path/to/profile/data/on/disk"
133 * isManaged: (true|false), 56 * isManaged: (true|false),
134 * }; 57 * };
135 * @private 58 * @private
136 */ 59 */
137 setProfileInfo_: function(info) { 60 setProfileInfo_: function(info) {
138 this.profileInfo_ = info; 61 this.profileInfo_ = info;
139 $('managed-user-created-title').textContent = 62 $('managed-user-created-title').textContent =
140 loadTimeData.getStringF('managedUserCreateConfirmTitle', info.name); 63 loadTimeData.getStringF('managedUserCreateConfirmTitle', info.name);
64 $('managed-user-created-text').textContent =
65 loadTimeData.getStringF('managedUserCreateConfirmText',
66 info.name,
67 info.name,
68 loadTimeData.getString('custodianEmail'));
141 $('managed-user-created-switch').textContent = 69 $('managed-user-created-switch').textContent =
142 loadTimeData.getStringF('managedUserCreateConfirmSwitch', info.name); 70 loadTimeData.getStringF('managedUserCreateConfirmSwitch', info.name);
143 }, 71 },
144 }; 72 };
145 73
146 // Forward public APIs to private implementations. 74 // Forward public APIs to private implementations.
147 [ 75 [
148 'setProfileInfo', 76 'setProfileInfo',
149 ].forEach(function(name) { 77 ].forEach(function(name) {
150 ManagedUserCreateConfirmOverlay[name] = function() { 78 ManagedUserCreateConfirmOverlay[name] = function() {
151 var instance = ManagedUserCreateConfirmOverlay.getInstance(); 79 var instance = ManagedUserCreateConfirmOverlay.getInstance();
152 return instance[name + '_'].apply(instance, arguments); 80 return instance[name + '_'].apply(instance, arguments);
153 }; 81 };
154 }); 82 });
155 83
156 // Export 84 // Export
157 return { 85 return {
158 ManagedUserCreateConfirmOverlay: ManagedUserCreateConfirmOverlay, 86 ManagedUserCreateConfirmOverlay: ManagedUserCreateConfirmOverlay,
159 }; 87 };
160 }); 88 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698