2 * STANDARD_RIFT_IO_COPYRIGHT
4 import UserProfileActions
from './userProfileActions.js';
5 import UserProfileSource
from './userProfileSource.js';
6 import _
from 'lodash';
7 export default class UserProfileStore
{
9 this.actions
= UserProfileActions(this.alt
);
10 this.bindActions(this.actions
);
11 this.registerAsync(UserProfileSource
);
13 this['user-name'] = '';
14 this['user-domain'] = 'system';
15 this.disabled
= false;
16 this.roles
= ['rw-project:project-admin', 'rw-project:project-oper', 'rw-project:project-create'
18 this.currentPassword
= '';
19 this['old-password'] = '';
20 this['new-password'] = '';
21 this['confirm-password'] = '';
23 this.activeIndex
= null;
24 this.isReadOnly
= true;
25 this.userOpen
= false;
26 this.hideColumns
= false;
28 // this.exportPublicMethods({})
31 * [handleFieldUpdate description]
32 * @param {Object} data {
33 * [store_property] : [value]
35 * @return {[type]} [description]
37 handleUpdateInput(data
) {
40 handleAddProjectItem(item
) {
41 let projectRoles
= this.projectRoles
;
42 projectRoles
.push('');
43 this.setState({projectRoles
});
45 handleRemoveProjectItem(i
) {
46 let projectRoles
= this.projectRoles
;
47 projectRoles
.splice(i
, 1);
48 console
.log('Removing', projectRoles
)
49 this.setState({projectRoles
});
51 handleUpdateProjectRole(data
) {
54 let projectRoles
= this.projectRoles
55 projectRoles
[i
] = JSON
.parse(e
.currentTarget
.value
);
62 let userIndex
= data
[1];
65 'user-name': user
['user-name'],
66 'user-domain': user
['user-domain'],
67 platformRoles
: user
.platformRoles
|| this.platformRoles
,
68 disabled
: user
.disabled
|| this.disabled
,
69 projectRoles
: user
.projectRoles
|| this.projectRoles
72 activeIndex
: userIndex
,
84 handleCloseUserPanel() {
91 handleHideColumns(e
) {
92 if(this.userOpen
&& e
.currentTarget
.classList
.contains('hideColumns')) {
102 handleDisabledChange(isDisabled
){
107 handlePlatformRoleUpdate(data
){
108 let platform_role
= data
[0];
109 let checked
= data
[1];
110 let platformRoles
= this.platformRoles
;
111 platformRoles
[platform_role
] = checked
;
118 let domain
= 'system';
119 let disabled
= false;
120 let platformRoles
= {
122 platform_admin
: false,
125 let projectRoles
= [];
126 let currentPassword
= '';
127 let oldPassword
= '';
128 let newPassword
= '';
129 let confirmPassword
= '';
131 'user-name' : username
,
132 'user-domain' : domain
,
137 'old-password': oldPassword
,
138 'new-password': newPassword
,
139 'confirm-password': confirmPassword
143 let currentPassword
= '';
144 let oldPassword
= '';
145 let newPassword
= '';
146 let confirmPassword
= '';
149 'old-password': oldPassword
,
150 'new-password': newPassword
,
151 'confirm-password': confirmPassword
155 this.setState(_
.merge( this.resetUser() ,
171 getUsersSuccess(users
) {
172 this.alt
.actions
.global
.hideScreenLoader
.defer();
173 this.setState({users
});
175 updateUserSuccess() {
176 this.alt
.actions
.global
.hideScreenLoader
.defer();
177 let users
= this.users
|| [];
178 users
[this.activeIndex
] = {
179 'user-name': this['user-name'],
180 'user-domain': this['user-domain'],
181 platformRoles
: this.platformRoles
,
182 disabled
: this.disabled
,
183 projectRoles
: this.projectRoles
191 deleteUserSuccess() {
192 this.alt
.actions
.global
.hideScreenLoader
.defer();
193 let users
= this.users
;
194 users
.splice(this.activeIndex
, 1);
195 this.setState({users
, userOpen
: false})
197 createUserSuccess() {
198 this.alt
.actions
.global
.hideScreenLoader
.defer();
199 let users
= this.users
|| [];
201 'user-name': this['user-name'],
202 'user-domain': this['user-domain'],
203 platformRoles
: this.platformRoles
,
204 disabled
: this.disabled
,
205 projectRoles
: this.projectRoles
,
211 activeIndex
: users
.length
- 1
213 _
.merge(newState
, this.resetPassword())
214 this.setState(newState
);