nyx_server
Version:
Node内容发布
125 lines (104 loc) • 3.03 kB
JavaScript
import * as types from "../constants/ActionTypes"
var pagination = {
total: 0,
current: 1,
pageSize:10
};
var userFormData = {
id:{value:"",error:""},
name:{value:"" , error:""},
realName:{value:"" , error:""},
department :{value:"" , error:""},
contact:{value:"" , error:""},
password:{value:"",error:""},
confirmPassword:{value:"",error:""}
}
var initState = {
userTable: {
userList: [],
pagination : pagination
},
groupTable: {
groupList: [],
pagination : pagination
},
permissionTable: {
permissionList: [],
pagination : pagination
},
openAddUserState:false,
addUserResult:null,
userFormData:userFormData,
groupFormData:{},
permissionFormData:{},
currentGroup:{},
currentUser:{},
currentPermission:{}
}
export default function auth(state=initState , action){
const type = action.type;
switch(type){
case types.LOAD_USER_LIST:
return userList(state , action);
case types.LOAD_GROUP_LIST:
return groupList(state , action);
case types.GRANT_GROUP_RESOURCE:
return groupList(state , action);
case types.LOAD_PERMISSION_LIST:
return permissionList(state , action);
case types.OPEN_ADD_USER:
return openAddUser(state , action);
case types.SET_USER_FROM_FIELD:
return setAddUserFormData(state , action);
case types.CLEAN_ADD_USER_STATE:
return cleanAddUserState(state , action);
case types.ADD_USER:
return addUser(state , action);
}
return state;
}
function addUser(state , action){
var _state = _.cloneDeep(state);
if(!action.error){
var user = action.payload.user;
_state.userTable.userList.push(user);
_state.openAddUserState = false;
_state.addUserResult = null;
_state.userFormData = userFormData;
return _state;
}else{
_state.addUserResult = action.payload.message;
}
return _state;
}
function openAddUser(state , action){
var _state = _.cloneDeep(state);
_state.openAddUserState = action.payload.opened;
return _state;
}
function setAddUserFormData(state , action){
var _state = _.cloneDeep(state);
var fieldName = action.payload.fieldName;
var value = action.payload.value;
var error = action.payload.error;
_state.userFormData[action.payload.fieldName] = {value:value,error:error};
return _state;
}
function cleanAddUserState(state , action){
var _state = _.cloneDeep(state);
_state.openAddUserState = false;
_state.addUserResult = null;
_state.userFormData = userFormData;
return _state;
}
function userList(state , action){
var _state = _.cloneDeep(state);
_state.userTable = action.payload
return _state;
}
function groupList(state , action){
return state;
}
function permissionList(state , action){
return state;
}