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

Side by Side Diff: chrome/browser/resources/login/user_pod_row.js

Issue 307483002: Desktop user manager: Adjustments for supervised users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + RTL friendly Created 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 /** 5 /**
6 * @fileoverview User pod row implementation. 6 * @fileoverview User pod row implementation.
7 */ 7 */
8 8
9 cr.define('login', function() { 9 cr.define('login', function() {
10 /** 10 /**
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 403
404 /** 404 /**
405 * Gets action box menu, remove user command item div. 405 * Gets action box menu, remove user command item div.
406 * @type {!HTMLInputElement} 406 * @type {!HTMLInputElement}
407 */ 407 */
408 get actionBoxMenuRemoveElement() { 408 get actionBoxMenuRemoveElement() {
409 return this.querySelector('.action-box-menu-remove'); 409 return this.querySelector('.action-box-menu-remove');
410 }, 410 },
411 411
412 /** 412 /**
413 * Gets action box menu, remove user warning text div.
414 * @type {!HTMLInputElement}
415 */
416 get actionBoxRemoveUserWarningTextElement() {
417 return this.querySelector('.action-box-remove-user-warning-text');
418 },
419
420 /**
421 * Gets action box menu, remove supervised user warning text div.
422 * @type {!HTMLInputElement}
423 */
424 get actionBoxRemoveSupervisedUserWarningTextElement() {
425 return this.querySelector(
426 '.action-box-remove-supervised-user-warning-text');
427 },
428
429 /**
413 * Gets action box menu, remove user command item div. 430 * Gets action box menu, remove user command item div.
414 * @type {!HTMLInputElement} 431 * @type {!HTMLInputElement}
415 */ 432 */
416 get actionBoxRemoveUserWarningElement() { 433 get actionBoxRemoveUserWarningElement() {
417 return this.querySelector('.action-box-remove-user-warning'); 434 return this.querySelector('.action-box-remove-user-warning');
418 }, 435 },
419 436
420 /** 437 /**
421 * Gets action box menu, remove user command item div. 438 * Gets action box menu, remove user command item div.
422 * @type {!HTMLInputElement} 439 * @type {!HTMLInputElement}
423 */ 440 */
424 get actionBoxRemoveUserWarningButtonElement() { 441 get actionBoxRemoveUserWarningButtonElement() {
425 return this.querySelector( 442 return this.querySelector('.remove-warning-button');
426 '.remove-warning-button');
427 }, 443 },
428 444
429 /** 445 /**
430 * Gets the locked user indicator box. 446 * Gets the locked user indicator box.
431 * @type {!HTMLInputElement} 447 * @type {!HTMLInputElement}
432 */ 448 */
433 get lockedIndicatorElement() { 449 get lockedIndicatorElement() {
434 return this.querySelector('.locked-indicator'); 450 return this.querySelector('.locked-indicator');
435 }, 451 },
436 452
437 /** 453 /**
454 * Gets the supervised user indicator box.
455 * @type {!HTMLInputElement}
456 */
457 get supervisedUserIndicatorElement() {
458 return this.querySelector('.supervised-indicator');
459 },
460
461 /**
438 * Gets the custom icon. This icon is normally hidden, but can be shown 462 * Gets the custom icon. This icon is normally hidden, but can be shown
439 * using the chrome.screenlockPrivate API. 463 * using the chrome.screenlockPrivate API.
440 * @type {!HTMLDivElement} 464 * @type {!HTMLDivElement}
441 */ 465 */
442 get customIconElement() { 466 get customIconElement() {
443 return this.querySelector('.custom-icon'); 467 return this.querySelector('.custom-icon');
444 }, 468 },
445 469
446 /** 470 /**
447 * Updates the user pod element. 471 * Updates the user pod element.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 this.user_.locallyManagedUser; 512 this.user_.locallyManagedUser;
489 513
490 this.actionBoxMenuCommandElement.textContent = 514 this.actionBoxMenuCommandElement.textContent =
491 loadTimeData.getString('removeUser'); 515 loadTimeData.getString('removeUser');
492 }, 516 },
493 517
494 customizeUserPodPerUserType: function() { 518 customizeUserPodPerUserType: function() {
495 var isMultiProfilesUI = 519 var isMultiProfilesUI =
496 (Oobe.getInstance().displayType == DISPLAY_TYPE.USER_ADDING); 520 (Oobe.getInstance().displayType == DISPLAY_TYPE.USER_ADDING);
497 521
498 if (this.user_.locallyManagedUser) { 522 if (this.user_.locallyManagedUser && !this.user_.isDesktopUser) {
499 this.setUserPodIconType('supervised'); 523 this.setUserPodIconType('supervised');
500 } else if (isMultiProfilesUI && !this.user_.isMultiProfilesAllowed) { 524 } else if (isMultiProfilesUI && !this.user_.isMultiProfilesAllowed) {
501 // Mark user pod as not focusable which in addition to the grayed out 525 // Mark user pod as not focusable which in addition to the grayed out
502 // filter makes it look in disabled state. 526 // filter makes it look in disabled state.
503 this.classList.add('not-focusable'); 527 this.classList.add('not-focusable');
504 this.setUserPodIconType('policy'); 528 this.setUserPodIconType('policy');
505 529
506 this.querySelector('.mp-policy-title').hidden = false; 530 this.querySelector('.mp-policy-title').hidden = false;
507 if (this.user.multiProfilesPolicy == 'primary-only') 531 if (this.user.multiProfilesPolicy == 'primary-only')
508 this.querySelector('.mp-policy-primary-only-msg').hidden = false; 532 this.querySelector('.mp-policy-primary-only-msg').hidden = false;
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 cr.ui.Bubble.Attachment.TOP, 731 cr.ui.Bubble.Attachment.TOP,
708 error, 732 error,
709 this.signinButtonElement.offsetWidth / 2, 733 this.signinButtonElement.offsetWidth / 2,
710 4); 734 4);
711 }, 735 },
712 736
713 /** 737 /**
714 * Shows signin UI for this user. 738 * Shows signin UI for this user.
715 */ 739 */
716 showSigninUI: function() { 740 showSigninUI: function() {
717 if (this.user.locallyManagedUser) { 741 if (this.user.locallyManagedUser && !this.user.isDesktopUser) {
718 this.showSupervisedUserSigninWarning(); 742 this.showSupervisedUserSigninWarning();
719 } else { 743 } else {
720 this.parentNode.showSigninUI(this.user.emailAddress); 744 this.parentNode.showSigninUI(this.user.emailAddress);
721 } 745 }
722 }, 746 },
723 747
724 /** 748 /**
725 * Resets the input field and updates the tab order of pod controls. 749 * Resets the input field and updates the tab order of pod controls.
726 * @param {boolean} takeFocus If true, input field takes focus. 750 * @param {boolean} takeFocus If true, input field takes focus.
727 */ 751 */
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 handleRemoveCommandClick_: function(e) { 810 handleRemoveCommandClick_: function(e) {
787 if (this.user.locallyManagedUser || this.user.isDesktopUser) { 811 if (this.user.locallyManagedUser || this.user.isDesktopUser) {
788 this.showRemoveWarning_(); 812 this.showRemoveWarning_();
789 return; 813 return;
790 } 814 }
791 if (this.isActionBoxMenuActive) 815 if (this.isActionBoxMenuActive)
792 chrome.send('removeUser', [this.user.username]); 816 chrome.send('removeUser', [this.user.username]);
793 }, 817 },
794 818
795 /** 819 /**
796 * Shows remove warning for managed users. 820 * Shows remove user warning. Used for supervised users on CrOS, and for all
821 * users on desktop.
797 */ 822 */
798 showRemoveWarning_: function() { 823 showRemoveWarning_: function() {
799 this.actionBoxMenuRemoveElement.hidden = true; 824 this.actionBoxMenuRemoveElement.hidden = true;
800 this.actionBoxRemoveUserWarningElement.hidden = false; 825 this.actionBoxRemoveUserWarningElement.hidden = false;
801 }, 826 },
802 827
803 /** 828 /**
804 * Handles a click event on remove user confirmation button. 829 * Handles a click event on remove user confirmation button.
805 * @param {Event} e Click event. 830 * @param {Event} e Click event.
806 */ 831 */
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1125 decorate: function() { 1150 decorate: function() {
1126 UserPod.prototype.decorate.call(this); 1151 UserPod.prototype.decorate.call(this);
1127 }, 1152 },
1128 1153
1129 /** @override */ 1154 /** @override */
1130 update: function() { 1155 update: function() {
1131 this.imageElement.src = this.user.userImage; 1156 this.imageElement.src = this.user.userImage;
1132 this.nameElement.textContent = this.user.displayName; 1157 this.nameElement.textContent = this.user.displayName;
1133 1158
1134 var isLockedUser = this.user.needsSignin; 1159 var isLockedUser = this.user.needsSignin;
1160 var isSupervisedUser = this.user.locallyManagedUser;
1135 this.signinButtonElement.hidden = true; 1161 this.signinButtonElement.hidden = true;
1136 this.lockedIndicatorElement.hidden = !isLockedUser; 1162 this.lockedIndicatorElement.hidden = !isLockedUser;
1163 this.supervisedUserIndicatorElement.hidden = !isSupervisedUser;
1137 this.passwordElement.hidden = !isLockedUser; 1164 this.passwordElement.hidden = !isLockedUser;
1138 this.nameElement.hidden = isLockedUser; 1165 this.nameElement.hidden = isLockedUser;
1139 1166
1140 if (this.isAuthTypeUserClick) 1167 if (this.isAuthTypeUserClick)
1141 this.passwordLabelElement.textContent = this.authValue; 1168 this.passwordLabelElement.textContent = this.authValue;
1142 1169
1170 this.actionBoxRemoveUserWarningTextElement.hidden = isSupervisedUser;
1171 this.actionBoxRemoveSupervisedUserWarningTextElement.hidden =
1172 !isSupervisedUser;
1173
1143 UserPod.prototype.updateActionBoxArea.call(this); 1174 UserPod.prototype.updateActionBoxArea.call(this);
1144 }, 1175 },
1145 1176
1146 /** @override */ 1177 /** @override */
1147 focusInput: function() { 1178 focusInput: function() {
1148 // For focused pods, display the name unless the pod is locked. 1179 // For focused pods, display the name unless the pod is locked.
1149 var isLockedUser = this.user.needsSignin; 1180 var isLockedUser = this.user.needsSignin;
1181 var isSupervisedUser = this.user.locallyManagedUser;
1150 this.signinButtonElement.hidden = true; 1182 this.signinButtonElement.hidden = true;
1151 this.lockedIndicatorElement.hidden = !isLockedUser; 1183 this.lockedIndicatorElement.hidden = !isLockedUser;
1184 this.supervisedUserIndicatorElement.hidden = !isSupervisedUser;
1152 this.passwordElement.hidden = !isLockedUser; 1185 this.passwordElement.hidden = !isLockedUser;
1153 this.nameElement.hidden = isLockedUser; 1186 this.nameElement.hidden = isLockedUser;
1154 1187
1155 // Move tabIndex from the whole pod to the main input. 1188 // Move tabIndex from the whole pod to the main input.
1156 this.tabIndex = -1; 1189 this.tabIndex = -1;
1157 this.mainInput.tabIndex = UserPodTabOrder.POD_INPUT; 1190 this.mainInput.tabIndex = UserPodTabOrder.POD_INPUT;
1158 this.mainInput.focus(); 1191 this.mainInput.focus();
1159 }, 1192 },
1160 1193
1161 /** @override */ 1194 /** @override */
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
2274 if (this.podsWithPendingImages_.length == 0) { 2307 if (this.podsWithPendingImages_.length == 0) {
2275 this.classList.remove('images-loading'); 2308 this.classList.remove('images-loading');
2276 } 2309 }
2277 } 2310 }
2278 }; 2311 };
2279 2312
2280 return { 2313 return {
2281 PodRow: PodRow 2314 PodRow: PodRow
2282 }; 2315 };
2283 }); 2316 });
OLDNEW
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/resources/login/user_pod_template.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698