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

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

Issue 132013002: Replace own callback handling with Promises. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests. Created 6 years, 11 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 var ArrayDataModel = cr.ui.ArrayDataModel; 7 var ArrayDataModel = cr.ui.ArrayDataModel;
8 8
9 /** 9 /**
10 * ManagedUserImportOverlay class. 10 * ManagedUserImportOverlay class.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 options.ProfilesIconGrid.decorate(avatarGrid); 43 options.ProfilesIconGrid.decorate(avatarGrid);
44 var avatarIcons = loadTimeData.getValue('avatarIcons'); 44 var avatarIcons = loadTimeData.getValue('avatarIcons');
45 avatarGrid.dataModel = new ArrayDataModel(avatarIcons); 45 avatarGrid.dataModel = new ArrayDataModel(avatarIcons);
46 46
47 managedUserList.addEventListener('change', function(event) { 47 managedUserList.addEventListener('change', function(event) {
48 var managedUser = managedUserList.selectedItem; 48 var managedUser = managedUserList.selectedItem;
49 if (!managedUser) 49 if (!managedUser)
50 return; 50 return;
51 51
52 $('managed-user-import-ok').disabled = 52 $('managed-user-import-ok').disabled =
53 managedUserList.selectedItem.onCurrentDevice; 53 managedUserList.selectedItem.onCurrentDevice ||
54 managedUserList.selectedItem.nameConflict;
54 }); 55 });
55 56
56 var self = this; 57 var self = this;
57 $('managed-user-import-cancel').onclick = function(event) { 58 $('managed-user-import-cancel').onclick = function(event) {
58 OptionsPage.closeOverlay(); 59 OptionsPage.closeOverlay();
59 self.updateImportInProgress_(false); 60 self.updateImportInProgress_(false);
60 61
61 // 'cancelCreateProfile' is handled by CreateProfileHandler. 62 // 'cancelCreateProfile' is handled by CreateProfileHandler.
62 chrome.send('cancelCreateProfile'); 63 chrome.send('cancelCreateProfile');
63 }; 64 };
64 65
65 $('managed-user-import-ok').onclick = 66 $('managed-user-import-ok').onclick =
66 this.showAvatarGridOrSubmit_.bind(this); 67 this.showAvatarGridOrSubmit_.bind(this);
67 68
68 $('create-new-user-link').onclick = function(event) { 69 $('create-new-user-link').onclick = function(event) {
69 OptionsPage.closeOverlay(); 70 OptionsPage.closeOverlay();
70 OptionsPage.navigateToPage('createProfile'); 71 OptionsPage.navigateToPage('createProfile');
71 }; 72 };
72 }, 73 },
73 74
74 /** 75 /**
75 * @override 76 * @override
76 */ 77 */
77 didShowPage: function() { 78 didShowPage: function() {
78 options.ManagedUserListData.requestExistingManagedUsers( 79 options.ManagedUserListData.requestExistingManagedUsers().then(
79 this.receiveExistingManagedUsers_, this.onSigninError_.bind(this)); 80 this.receiveExistingManagedUsers_, this.onSigninError_.bind(this));
80 81
81 this.updateImportInProgress_(false); 82 this.updateImportInProgress_(false);
82 $('managed-user-import-error-bubble').hidden = true; 83 $('managed-user-import-error-bubble').hidden = true;
83 $('managed-user-import-ok').disabled = true; 84 $('managed-user-import-ok').disabled = true;
84 $('select-avatar-grid').hidden = true; 85 $('select-avatar-grid').hidden = true;
85 $('managed-user-list').hidden = false; 86 $('managed-user-list').hidden = false;
86 87
87 $('managed-user-import-ok').textContent = 88 $('managed-user-import-ok').textContent =
88 loadTimeData.getString('managedUserImportOk'); 89 loadTimeData.getString('managedUserImportOk');
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 161
161 /** 162 /**
162 * Sets the data model of the managed user list to |managedUsers|. 163 * Sets the data model of the managed user list to |managedUsers|.
163 * @param {Array.<Object>} managedUsers An array of managed user objects. 164 * @param {Array.<Object>} managedUsers An array of managed user objects.
164 * Each object is of the form: 165 * Each object is of the form:
165 * managedUser = { 166 * managedUser = {
166 * id: "Managed User ID", 167 * id: "Managed User ID",
167 * name: "Managed User Name", 168 * name: "Managed User Name",
168 * iconURL: "chrome://path/to/icon/image", 169 * iconURL: "chrome://path/to/icon/image",
169 * onCurrentDevice: true or false, 170 * onCurrentDevice: true or false,
171 * nameConflict: true or false,
170 * needAvatar: true or false 172 * needAvatar: true or false
171 * } 173 * }
172 * @private 174 * @private
173 */ 175 */
174 receiveExistingManagedUsers_: function(managedUsers) { 176 receiveExistingManagedUsers_: function(managedUsers) {
175 managedUsers.sort(function(a, b) { 177 managedUsers.sort(function(a, b) {
178 if (a.onCurrentDevice != b.onCurrentDevice)
179 return a.onCurrentDevice ? 1 : -1;
180 if (a.nameConflict != b.nameConflict)
181 return a.nameConflict ? 1 : -1;
176 return a.name.localeCompare(b.name); 182 return a.name.localeCompare(b.name);
177 }); 183 });
178 184
179 $('managed-user-list').dataModel = new ArrayDataModel(managedUsers); 185 $('managed-user-list').dataModel = new ArrayDataModel(managedUsers);
180 if (managedUsers.length == 0) { 186 if (managedUsers.length == 0) {
181 this.onError_(loadTimeData.getString('noExistingManagedUsers')); 187 this.onError_(loadTimeData.getString('noExistingManagedUsers'));
182 $('managed-user-import-ok').disabled = true; 188 $('managed-user-import-ok').disabled = true;
183 } else { 189 } else {
184 // Hide the error bubble. 190 // Hide the error bubble.
185 $('managed-user-import-error-bubble').hidden = true; 191 $('managed-user-import-error-bubble').hidden = true;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 var instance = ManagedUserImportOverlay.getInstance(); 229 var instance = ManagedUserImportOverlay.getInstance();
224 return instance[name + '_'].apply(instance, arguments); 230 return instance[name + '_'].apply(instance, arguments);
225 }; 231 };
226 }); 232 });
227 233
228 // Export 234 // Export
229 return { 235 return {
230 ManagedUserImportOverlay: ManagedUserImportOverlay, 236 ManagedUserImportOverlay: ManagedUserImportOverlay,
231 }; 237 };
232 }); 238 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698