projects
/
osm
/
UI.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cloneDeep on projectUsers to prevent data mutation
[osm/UI.git]
/
skyquake
/
plugins
/
project_management
/
src
/
dashboard
/
projectMgmtStore.js
diff --git
a/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
b/skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
index
71c10a2
..
0c14dd9
100644
(file)
--- a/
skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
+++ b/
skyquake/plugins/project_management/src/dashboard/projectMgmtStore.js
@@
-16,7
+16,9
@@
export default class ProjectManagementStore {
this.projectUsers = [];
this.selectedUser = null;
this.selectedRole = null;
this.projectUsers = [];
this.selectedUser = null;
this.selectedRole = null;
- this.roles = Object.keys(ROLES.PROJECT).map((p) => {
+ this.roles = Object.keys(ROLES.PROJECT).filter((p) => {
+ return p != "TYPE";
+ }).map((p) => {
return ROLES.PROJECT[p];
})
// this.roles = ['rw-project:project-admin', 'rw-project:project-oper', 'rw-project:project-create'];
return ROLES.PROJECT[p];
})
// this.roles = ['rw-project:project-admin', 'rw-project:project-oper', 'rw-project:project-create'];
@@
-58,9
+60,11
@@
export default class ProjectManagementStore {
projectRoles
});
}
projectRoles
});
}
- viewProject(data) {
+ viewProject() {
+ let data = arguments[0];
let project = data[0];
let projectIndex = data[1];
let project = data[0];
let projectIndex = data[1];
+ let isReadOnly = data[2];
let ProjectData = {
'name': project['name'],
let ProjectData = {
'name': project['name'],
@@
-71,14
+75,13
@@
export default class ProjectManagementStore {
activeIndex: projectIndex,
projectOpen: true,
isEdit: true,
activeIndex: projectIndex,
projectOpen: true,
isEdit: true,
- isReadOnly:
true
+ isReadOnly:
isReadOnly
}, ProjectData);
this.setState(state)
}
}, ProjectData);
this.setState(state)
}
- editProject(isEdit) {
- this.setState({
- isReadOnly: isEdit
- })
+ editProject(isReadOnly) {
+ this.viewProject([this.projects[this.activeIndex], this.activeIndex, isReadOnly]);
+
}
handleCloseProjectPanel() {
this.setState({
}
handleCloseProjectPanel() {
this.setState({
@@
-171,7
+174,9
@@
export default class ProjectManagementStore {
let projectUsers = this.projectUsers;
let selectedRole = self.roles[roleIndex];
if(checked) {
let projectUsers = this.projectUsers;
let selectedRole = self.roles[roleIndex];
if(checked) {
- if(!projectUsers[userIndex].role) projectUsers[userIndex].role = [];
+ if (!projectUsers[userIndex].role) {
+ projectUsers[userIndex].role = [];
+ }
projectUsers[userIndex].role.push({
role: self.roles[roleIndex]
})
projectUsers[userIndex].role.push({
role: self.roles[roleIndex]
})