Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 Page = cr.ui.pageManager.Page; | 6 var Page = cr.ui.pageManager.Page; |
| 7 var PageManager = cr.ui.pageManager.PageManager; | 7 var PageManager = cr.ui.pageManager.PageManager; |
| 8 var ArrayDataModel = cr.ui.ArrayDataModel; | 8 var ArrayDataModel = cr.ui.ArrayDataModel; |
| 9 | 9 |
| 10 /** | 10 /** |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 387 } | 387 } |
| 388 var self = this; | 388 var self = this; |
| 389 function getImportHandler(supervisedUser, nameIsUnique) { | 389 function getImportHandler(supervisedUser, nameIsUnique) { |
| 390 return function() { | 390 return function() { |
| 391 if (supervisedUser.needAvatar || !nameIsUnique) { | 391 if (supervisedUser.needAvatar || !nameIsUnique) { |
| 392 PageManager.showPageByName('supervisedUserImport'); | 392 PageManager.showPageByName('supervisedUserImport'); |
| 393 } else { | 393 } else { |
| 394 self.hideErrorBubble_('create'); | 394 self.hideErrorBubble_('create'); |
| 395 CreateProfileOverlay.updateCreateInProgress(true); | 395 CreateProfileOverlay.updateCreateInProgress(true); |
| 396 chrome.send('createProfile', | 396 chrome.send('createProfile', |
| 397 [supervisedUser.name, supervisedUser.iconURL, false, true, | 397 [supervisedUser.name.trim(), supervisedUser.iconURL, |
| 398 supervisedUser.id]); | 398 false, true, supervisedUser.id]); |
| 399 } | 399 } |
| 400 } | 400 } |
| 401 }; | 401 }; |
| 402 $('supervised-user-import-existing').onclick = | 402 $('supervised-user-import-existing').onclick = |
| 403 getImportHandler(supervisedUsers[i], nameIsUnique); | 403 getImportHandler(supervisedUsers[i], nameIsUnique); |
| 404 $('create-profile-ok').disabled = true; | 404 $('create-profile-ok').disabled = true; |
| 405 return; | 405 return; |
| 406 } | 406 } |
| 407 } | 407 } |
| 408 }, | 408 }, |
| 409 | 409 |
| 410 /** | 410 /** |
| 411 * Called in case the request for the list of supervised users fails because | 411 * Called in case the request for the list of supervised users fails because |
| 412 * of a signin error. | 412 * of a signin error. |
| 413 * @private | 413 * @private |
| 414 */ | 414 */ |
| 415 onSigninError_: function() { | 415 onSigninError_: function() { |
| 416 this.updateSignedInStatus_(this.signedInEmail_, true); | 416 this.updateSignedInStatus_(this.signedInEmail_, true); |
| 417 }, | 417 }, |
| 418 | 418 |
| 419 /** | 419 /** |
| 420 * Called to update the state of the ok button depending if the name is | 420 * Called to update the state of the ok button depending if the name is |
| 421 * already used or not. | 421 * already used or not. |
| 422 * @param {string} mode A label that specifies the type of dialog box which | 422 * @param {string} mode A label that specifies the type of dialog box which |
| 423 * is currently being viewed (i.e. 'create' or 'manage'). | 423 * is currently being viewed (i.e. 'create' or 'manage'). |
| 424 * @private | 424 * @private |
| 425 */ | 425 */ |
| 426 updateOkButton_: function(mode) { | 426 updateOkButton_: function(mode) { |
| 427 var nameElement = $(mode + '-profile-name'); | |
|
Dan Beam
2014/09/04 23:06:07
nit: move a line lower (right above first use)
| |
| 427 var oldName = this.profileInfo_.name; | 428 var oldName = this.profileInfo_.name; |
| 428 var newName = $(mode + '-profile-name').value; | 429 var newName = nameElement.value; |
| 429 var nameIsDuplicate = this.existingProfileNames_[newName] != undefined; | 430 var nameIsDuplicate = this.existingProfileNames_[newName] != undefined; |
| 430 if (mode == 'manage' && oldName == newName) | 431 if (mode == 'manage' && oldName == newName) |
| 431 nameIsDuplicate = false; | 432 nameIsDuplicate = false; |
| 433 | |
| 432 if (nameIsDuplicate) { | 434 if (nameIsDuplicate) { |
| 433 var errorHtml = | 435 var errorHtml = |
| 434 loadTimeData.getString('manageProfilesDuplicateNameError'); | 436 loadTimeData.getString('manageProfilesDuplicateNameError'); |
| 435 this.showErrorBubble_(errorHtml, mode, true); | 437 this.showErrorBubble_(errorHtml, mode, true); |
| 436 } else { | 438 } else { |
| 437 this.hideErrorBubble_(mode); | 439 this.hideErrorBubble_(mode); |
| 438 | 440 |
| 439 var nameIsValid = $(mode + '-profile-name').validity.valid; | 441 // A name containing all spaces is not valid. |
| 442 nameElement.setCustomValidity(newName.trim() == '' ? ' ' : ''); | |
| 443 | |
| 444 var nameIsValid = nameElement.validity.valid; | |
| 440 $(mode + '-profile-ok').disabled = !nameIsValid; | 445 $(mode + '-profile-ok').disabled = !nameIsValid; |
| 441 } | 446 } |
| 442 }, | 447 }, |
| 443 | 448 |
| 444 /** | 449 /** |
| 445 * Called when the user clicks "OK" or hits enter. Saves the newly changed | 450 * Called when the user clicks "OK" or hits enter. Saves the newly changed |
| 446 * profile info. | 451 * profile info. |
| 447 * @private | 452 * @private |
| 448 */ | 453 */ |
| 449 submitManageChanges_: function() { | 454 submitManageChanges_: function() { |
| 450 var name = $('manage-profile-name').value; | 455 var name = $('manage-profile-name').value.trim(); |
| 451 var iconURL = $('manage-profile-icon-grid').selectedItem; | 456 var iconURL = $('manage-profile-icon-grid').selectedItem; |
| 452 | 457 |
| 453 chrome.send('setProfileIconAndName', | 458 chrome.send('setProfileIconAndName', |
| 454 [this.profileInfo_.filePath, iconURL, name]); | 459 [this.profileInfo_.filePath, iconURL, name]); |
| 455 if (name != this.profileInfo_.name) | 460 if (name != this.profileInfo_.name) |
| 456 options.SupervisedUserListData.resetPromise(); | 461 options.SupervisedUserListData.resetPromise(); |
| 457 }, | 462 }, |
| 458 | 463 |
| 459 /** | 464 /** |
| 460 * Called when the user clicks "OK" or hits enter. Creates the profile | 465 * Called when the user clicks "OK" or hits enter. Creates the profile |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 473 // Get the user's chosen name and icon, or default if they do not | 478 // Get the user's chosen name and icon, or default if they do not |
| 474 // wish to customize their profile. | 479 // wish to customize their profile. |
| 475 var name = $('create-profile-name').value; | 480 var name = $('create-profile-name').value; |
| 476 var iconUrl = $('create-profile-icon-grid').selectedItem; | 481 var iconUrl = $('create-profile-icon-grid').selectedItem; |
| 477 var createShortcut = $('create-shortcut').checked; | 482 var createShortcut = $('create-shortcut').checked; |
| 478 var isSupervised = $('create-profile-supervised').checked; | 483 var isSupervised = $('create-profile-supervised').checked; |
| 479 var existingSupervisedUserId = ''; | 484 var existingSupervisedUserId = ''; |
| 480 | 485 |
| 481 // 'createProfile' is handled by the CreateProfileHandler. | 486 // 'createProfile' is handled by the CreateProfileHandler. |
| 482 chrome.send('createProfile', | 487 chrome.send('createProfile', |
| 483 [name, iconUrl, createShortcut, | 488 [name.trim(), iconUrl, createShortcut, |
| 484 isSupervised, existingSupervisedUserId]); | 489 isSupervised, existingSupervisedUserId]); |
| 485 }, | 490 }, |
| 486 | 491 |
| 487 /** | 492 /** |
| 488 * Called when the selected icon in the icon grid changes. | 493 * Called when the selected icon in the icon grid changes. |
| 489 * @param {string} mode A label that specifies the type of dialog box which | 494 * @param {string} mode A label that specifies the type of dialog box which |
| 490 * is currently being viewed (i.e. 'create' or 'manage'). | 495 * is currently being viewed (i.e. 'create' or 'manage'). |
| 491 * @private | 496 * @private |
| 492 */ | 497 */ |
| 493 onIconGridSelectionChanged_: function(mode) { | 498 onIconGridSelectionChanged_: function(mode) { |
| (...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 862 return instance[name + '_'].apply(instance, arguments); | 867 return instance[name + '_'].apply(instance, arguments); |
| 863 }; | 868 }; |
| 864 }); | 869 }); |
| 865 | 870 |
| 866 // Export | 871 // Export |
| 867 return { | 872 return { |
| 868 ManageProfileOverlay: ManageProfileOverlay, | 873 ManageProfileOverlay: ManageProfileOverlay, |
| 869 CreateProfileOverlay: CreateProfileOverlay, | 874 CreateProfileOverlay: CreateProfileOverlay, |
| 870 }; | 875 }; |
| 871 }); | 876 }); |
| OLD | NEW |