| OLD | NEW |
| 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 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 748 }, | 748 }, |
| 749 | 749 |
| 750 /** | 750 /** |
| 751 * Initializes the pod after its properties set and added to a pod row. | 751 * Initializes the pod after its properties set and added to a pod row. |
| 752 */ | 752 */ |
| 753 initialize: function() { | 753 initialize: function() { |
| 754 this.passwordElement.addEventListener('keydown', | 754 this.passwordElement.addEventListener('keydown', |
| 755 this.parentNode.handleKeyDown.bind(this.parentNode)); | 755 this.parentNode.handleKeyDown.bind(this.parentNode)); |
| 756 this.passwordElement.addEventListener('keypress', | 756 this.passwordElement.addEventListener('keypress', |
| 757 this.handlePasswordKeyPress_.bind(this)); | 757 this.handlePasswordKeyPress_.bind(this)); |
| 758 this.passwordElement.addEventListener('input', |
| 759 this.handlePasswordInput_.bind(this)); |
| 760 this.submitButton.addEventListener('click', |
| 761 this.handleSubmitButtonClick_.bind(this)); |
| 758 | 762 |
| 759 this.imageElement.addEventListener('load', | 763 this.imageElement.addEventListener('load', |
| 760 this.parentNode.handlePodImageLoad.bind(this.parentNode, this)); | 764 this.parentNode.handlePodImageLoad.bind(this.parentNode, this)); |
| 761 | 765 |
| 762 var initialAuthType = this.user.initialAuthType || | 766 var initialAuthType = this.user.initialAuthType || |
| 763 AUTH_TYPE.OFFLINE_PASSWORD; | 767 AUTH_TYPE.OFFLINE_PASSWORD; |
| 764 this.setAuthType(initialAuthType, null); | 768 this.setAuthType(initialAuthType, null); |
| 765 | 769 |
| 766 this.userClickAuthAllowed_ = false; | 770 this.userClickAuthAllowed_ = false; |
| 767 }, | 771 }, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 784 // When tabbing from the system tray a tab key press is received. Suppress | 788 // When tabbing from the system tray a tab key press is received. Suppress |
| 785 // this so as not to type a tab character into the password field. | 789 // this so as not to type a tab character into the password field. |
| 786 if (e.keyCode == 9) { | 790 if (e.keyCode == 9) { |
| 787 e.preventDefault(); | 791 e.preventDefault(); |
| 788 return; | 792 return; |
| 789 } | 793 } |
| 790 this.customIconElement.cancelDelayedTooltipShow(); | 794 this.customIconElement.cancelDelayedTooltipShow(); |
| 791 }, | 795 }, |
| 792 | 796 |
| 793 /** | 797 /** |
| 798 * Handles input changes on password input. |
| 799 * @param {Event} e Input Event object. |
| 800 * @private |
| 801 */ |
| 802 handlePasswordInput_: function(e) { |
| 803 this.submitButton.disabled = this.passwordElement.value.length <= 0; |
| 804 this.setErrorDisplay(false); |
| 805 }, |
| 806 |
| 807 /** |
| 808 * Handles a click event on submit button. |
| 809 * @param {Event} e Click event. |
| 810 */ |
| 811 handleSubmitButtonClick_: function(e) { |
| 812 this.parentNode.setActivatedPod(this, e); |
| 813 }, |
| 814 |
| 815 /** |
| 794 * Top edge margin number of pixels. | 816 * Top edge margin number of pixels. |
| 795 * @type {?number} | 817 * @type {?number} |
| 796 */ | 818 */ |
| 797 set top(top) { | 819 set top(top) { |
| 798 this.style.top = cr.ui.toCssPx(top); | 820 this.style.top = cr.ui.toCssPx(top); |
| 799 }, | 821 }, |
| 800 | 822 |
| 801 /** | 823 /** |
| 802 * Top edge margin number of pixels. | 824 * Top edge margin number of pixels. |
| 803 */ | 825 */ |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 861 | 883 |
| 862 /** | 884 /** |
| 863 * Gets password field. | 885 * Gets password field. |
| 864 * @type {!HTMLInputElement} | 886 * @type {!HTMLInputElement} |
| 865 */ | 887 */ |
| 866 get passwordElement() { | 888 get passwordElement() { |
| 867 return this.querySelector('.password'); | 889 return this.querySelector('.password'); |
| 868 }, | 890 }, |
| 869 | 891 |
| 870 /** | 892 /** |
| 893 * Gets submit button. |
| 894 * @type {!HTMLInputElement} |
| 895 */ |
| 896 get submitButton() { |
| 897 return this.querySelector('.submit-button'); |
| 898 }, |
| 899 |
| 900 /** |
| 871 * Gets the password label, which is used to show a message where the | 901 * Gets the password label, which is used to show a message where the |
| 872 * password field is normally. | 902 * password field is normally. |
| 873 * @type {!HTMLInputElement} | 903 * @type {!HTMLInputElement} |
| 874 */ | 904 */ |
| 875 get passwordLabelElement() { | 905 get passwordLabelElement() { |
| 876 return this.querySelector('.password-label'); | 906 return this.querySelector('.password-label'); |
| 877 }, | 907 }, |
| 878 | 908 |
| 879 /** | 909 /** |
| 880 * Gets the pin-keyboard of the pod. | 910 * Gets the pin-keyboard of the pod. |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1086 this.querySelector('.mp-policy-primary-only-msg').hidden = false; | 1116 this.querySelector('.mp-policy-primary-only-msg').hidden = false; |
| 1087 else if (this.user.multiProfilesPolicy == 'owner-primary-only') | 1117 else if (this.user.multiProfilesPolicy == 'owner-primary-only') |
| 1088 this.querySelector('.mp-owner-primary-only-msg').hidden = false; | 1118 this.querySelector('.mp-owner-primary-only-msg').hidden = false; |
| 1089 else | 1119 else |
| 1090 this.querySelector('.mp-policy-not-allowed-msg').hidden = false; | 1120 this.querySelector('.mp-policy-not-allowed-msg').hidden = false; |
| 1091 } else if (this.user_.isApp) { | 1121 } else if (this.user_.isApp) { |
| 1092 this.setUserPodIconType('app'); | 1122 this.setUserPodIconType('app'); |
| 1093 } | 1123 } |
| 1094 }, | 1124 }, |
| 1095 | 1125 |
| 1126 setErrorDisplay: function(visible) { |
| 1127 this.submitButton.classList.toggle('error-shown', visible); |
| 1128 }, |
| 1129 |
| 1096 toggleTransitions: function(enable) { | 1130 toggleTransitions: function(enable) { |
| 1097 this.classList.toggle('flying-pin-pod', enable); | 1131 this.classList.toggle('flying-pin-pod', enable); |
| 1098 }, | 1132 }, |
| 1099 | 1133 |
| 1100 updatePinClass_: function(element, enable) { | 1134 updatePinClass_: function(element, enable) { |
| 1101 element.classList.toggle('pin-enabled', enable); | 1135 element.classList.toggle('pin-enabled', enable); |
| 1102 element.classList.toggle('pin-disabled', !enable); | 1136 element.classList.toggle('pin-disabled', !enable); |
| 1103 }, | 1137 }, |
| 1104 | 1138 |
| 1105 setPinVisibility: function(visible) { | 1139 setPinVisibility: function(visible) { |
| (...skipping 1429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2535 /** | 2569 /** |
| 2536 * Add an existing user pod to this pod row. | 2570 * Add an existing user pod to this pod row. |
| 2537 * @param {!Object} user User info dictionary. | 2571 * @param {!Object} user User info dictionary. |
| 2538 */ | 2572 */ |
| 2539 addUserPod: function(user) { | 2573 addUserPod: function(user) { |
| 2540 var userPod = this.createUserPod(user); | 2574 var userPod = this.createUserPod(user); |
| 2541 this.appendChild(userPod); | 2575 this.appendChild(userPod); |
| 2542 userPod.initialize(); | 2576 userPod.initialize(); |
| 2543 }, | 2577 }, |
| 2544 | 2578 |
| 2579 /** |
| 2580 * Performs visual changes on the user pod if there is an error. |
| 2581 * @param {boolean} visible Whether to show or hide the display. |
| 2582 */ |
| 2583 setFocusedPodErrorDisplay: function(visible) { |
| 2584 if (this.focusedPod_) |
| 2585 this.focusedPod_.setErrorDisplay(visible); |
| 2586 }, |
| 2587 |
| 2588 /** |
| 2589 * Enables or disables transitions on the user pod. |
| 2590 * @param {boolean} enable |
| 2591 */ |
| 2545 togglePinTransitions: function(enable) { | 2592 togglePinTransitions: function(enable) { |
| 2546 for (var i = 0; i < this.pods.length; ++i) | 2593 for (var i = 0; i < this.pods.length; ++i) |
| 2547 this.pods[i].toggleTransitions(enable); | 2594 this.pods[i].toggleTransitions(enable); |
| 2548 }, | 2595 }, |
| 2549 | 2596 |
| 2597 /** |
| 2598 * Shows or hides the pin keyboard. |
| 2599 * @param {boolean} visible |
| 2600 */ |
| 2550 setFocusedPodPinVisibility: function(visible) { | 2601 setFocusedPodPinVisibility: function(visible) { |
| 2551 if (this.focusedPod_ && this.focusedPod_.user.showPin) | 2602 if (this.focusedPod_ && this.focusedPod_.user.showPin) |
| 2552 this.focusedPod_.setPinVisibility(visible); | 2603 this.focusedPod_.setPinVisibility(visible); |
| 2553 }, | 2604 }, |
| 2554 | 2605 |
| 2555 /** | 2606 /** |
| 2556 * Runs app with a given id from the list of loaded apps. | 2607 * Runs app with a given id from the list of loaded apps. |
| 2557 * @param {!string} app_id of an app to run. | 2608 * @param {!string} app_id of an app to run. |
| 2558 * @param {boolean=} opt_diagnosticMode Whether to run the app in | 2609 * @param {boolean=} opt_diagnosticMode Whether to run the app in |
| 2559 * diagnostic mode. Default is false. | 2610 * diagnostic mode. Default is false. |
| (...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3524 if (pod && pod.multiProfilesPolicyApplied) { | 3575 if (pod && pod.multiProfilesPolicyApplied) { |
| 3525 pod.userTypeBubbleElement.classList.remove('bubble-shown'); | 3576 pod.userTypeBubbleElement.classList.remove('bubble-shown'); |
| 3526 } | 3577 } |
| 3527 } | 3578 } |
| 3528 }; | 3579 }; |
| 3529 | 3580 |
| 3530 return { | 3581 return { |
| 3531 PodRow: PodRow | 3582 PodRow: PodRow |
| 3532 }; | 3583 }; |
| 3533 }); | 3584 }); |
| OLD | NEW |