| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /**
- * Created by Jacky.gao on 2016/6/3.
- */
- import * as ACTIONS from './action.js';
- import {combineReducers} from 'redux';
- function master(state={}, action) {
- switch (action.type){
- case ACTIONS.LOAD_MASTER_COMPLETED:
- return Object.assign({},state.prototype,{data:action.masterData});
- case ACTIONS.DEL_MASTER:
- var rowIndex=action.rowIndex;
- var newData=[...state.data];
- newData.splice(rowIndex,1);
- return Object.assign({},state.prototype,{data:newData});
- case ACTIONS.ADD_MASTER:
- var newData=[...state.data];
- newData.push({name:'',clazz:'',type:'Custom',variables:[]});
- return Object.assign({},state.prototype,{data:newData});
- case ACTIONS.GENERATED_FIELDS:
- var newData=[...state.data];
- var variables=action.variables;
- var rowIndex=action.rowIndex;
- var targetData=newData[rowIndex];
- var fields=targetData.variables || [];
- fields.push(...variables);
- targetData.variables=fields;
- return Object.assign({},state.prototype,{data:newData});
- case ACTIONS.IMPORT_FIELDS:
- var newData=[...state.data];
- var jsonResult=action.jsonResult;
- var variables=jsonResult.variables;
- var clazz=jsonResult.clazz;
- var rowIndex=action.rowIndex;
- var targetData=newData[rowIndex];
- var fields=targetData.variables || [];
- if(clazz){
- targetData.clazz=clazz;
- }
- fields.push(...variables);
- targetData.variables=fields;
- return Object.assign({},state.prototype,{data:newData});
- case ACTIONS.SAVE:
- ACTIONS.saveData(state.data,action.newVersion,action.file);
- return state;
- default:
- return state;
- }
- };
- function slave(state={},action) {
- switch (action.type){
- case ACTIONS.LOAD_SLAVE_COMPLETE:
- return Object.assign({},state.prototype,{data:action.masterRowData});
- case ACTIONS.DEL_SLAVE:
- var rowIndex=action.rowIndex;
- var newData=Object.assign({},state.data);
- newData.variables.splice(rowIndex,1);
- return Object.assign({},state.prototype,{data:newData});
- case ACTIONS.ADD_SLAVE:
- var newData=Object.assign({},state.data);
- newData.variables.push({name:'',label:'',type:'String'});
- return Object.assign({},state.prototype,{data:newData});
- default:
- return state;
- }
- };
- export default combineReducers({
- master,
- slave
- });
|