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

Side by Side Diff: chrome/browser/resources/settings/users_page/users_page.js

Issue 1503403004: Settings People Rewrite: Move users_page as subpage of People. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@0053-people-rename-a-bunch-of-stuff
Patch Set: Created 5 years 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
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * @fileoverview
7 * 'settings-users-page' is the settings page for managing user accounts on
8 * the device.
9 *
10 * Example:
11 *
12 * <neon-animated-pages>
13 * <settings-users-page prefs="{{prefs}}">
14 * </settings-users-page>
15 * ... other pages ...
16 * </neon-animated-pages>
17 *
18 * @group Chrome Settings Elements
19 * @element settings-users-page
20 */
21 Polymer({
22 is: 'settings-users-page',
23
24 behaviors: [
25 Polymer.IronA11yKeysBehavior
26 ],
27
28 properties: {
29 /**
30 * Preferences state.
31 */
32 prefs: {
33 type: Object,
34 notify: true,
35 },
36
37 /** @override */
38 keyEventTarget: {
39 type: Object,
40 value: function() {
41 return this.$.addUserInput;
42 }
43 },
44
45 isOwner: {
46 type: Boolean,
47 value: false
48 },
49
50 isWhitelistManaged: {
51 type: Boolean,
52 value: false
53 },
54
55 editingDisabled: {
56 type: Boolean,
57 computed: 'computeEditingDisabled_(isOwner, isWhitelistManaged)'
58 },
59
60 editingUsersDisabled: {
61 type: Boolean,
62 computed: 'computeEditingUsersDisabled_(isOwner, isWhitelistManaged, ' +
63 'prefs.cros.accounts.allowGuest.value)'
64 }
65 },
66
67 keyBindings: {
68 'enter': 'addUser_'
69 },
70
71 /** @override */
72 created: function() {
73 chrome.usersPrivate.isCurrentUserOwner(function(isOwner) {
74 this.isOwner = isOwner;
75 }.bind(this));
76
77 chrome.usersPrivate.isWhitelistManaged(function(isWhitelistManaged) {
78 this.isWhitelistManaged = isWhitelistManaged;
79 }.bind(this));
80 },
81
82 /**
83 * Regular expression for adding a user where the string provided is just the
84 * part before the "@".
85 * Email alias only, assuming it's a gmail address.
86 * e.g. 'john'
87 * @const
88 * @private {string}
89 */
90 nameOnlyString_: '^\\s*([\\w\\.!#\\$%&\'\\*\\+-\\/=\\?\\^`\\{\\|\\}~]+)\\s*$',
91
92 /**
93 * Regular expression for adding a user where the string provided is a full
94 * email address.
95 * e.g. 'john@chromium.org'
96 * @const
97 * @private {string}
98 */
99 emailString_:
100 '^\\s*([\\w\\.!#\\$%&\'\\*\\+-\\/=\\?\\^`\\{\\|\\}~]+)@' +
101 '([A-Za-z0-9\-]{2,63}\\..+)\\s*$',
102
103 /** @private */
104 addUser_: function() {
105 /** @const */ var nameOnlyRegex = new RegExp(this.nameOnlyString_);
106 /** @const */ var emailRegex = new RegExp(this.emailString_);
107
108 var userStr = this.$.addUserInput.value;
109
110 var matches = nameOnlyRegex.exec(userStr);
111 var userEmail;
112 if (matches) {
113 userEmail = matches[1] + '@gmail.com';
114 }
115
116 matches = emailRegex.exec(userStr);
117 if (matches) {
118 userEmail = matches[1] + '@' + matches[2];
119 }
120
121 if (userEmail) {
122 chrome.usersPrivate.addWhitelistedUser(
123 userEmail,
124 /* callback */ function(success) {});
125 this.$.addUserInput.value = '';
126 }
127 },
128
129 /**
130 * @param {boolean} isOwner
131 * @param {boolean} isWhitelistManaged
132 * @private
133 */
134 computeHideOwnerLabel_: function(isOwner, isWhitelistManaged) {
135 return isOwner || isWhitelistManaged;
136 },
137
138 /**
139 * @param {boolean} isOwner
140 * @param {boolean} isWhitelistManaged
141 * @private
142 */
143 computeHideManagedLabel_: function(isOwner, isWhitelistManaged) {
144 return !isWhitelistManaged;
145 },
146
147 /**
148 * @param {boolean} isOwner
149 * @param {boolean} isWhitelistManaged
150 * @private
151 */
152 computeEditingDisabled_: function(isOwner, isWhitelistManaged) {
153 return !isOwner || isWhitelistManaged;
154 },
155
156 /**
157 * @param {boolean} isOwner
158 * @param {boolean} isWhitelistManaged
159 * @param {boolean} allowGuest
160 * @private
161 */
162 computeEditingUsersDisabled_: function(
163 isOwner, isWhitelistManaged, allowGuest) {
164 return !isOwner || isWhitelistManaged || allowGuest;
165 }
166 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/users_page/users_page.html ('k') | chrome/test/data/webui/settings/main_page_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698