ttk-app-core
Version:
enterprise develop framework
40 lines (33 loc) • 1.2 kB
JavaScript
import { Map, fromJS, List } from 'immutable';
import { tree } from 'edf-utils';
import { reducer as MetaReducer } from 'edf-meta-engine';
import config from './config';
import extend from './extend';
import { getInitState } from './data';
class reducer {
constructor(option) {
this.metaReducer = option.metaReducer;
this.extendReducer = option.extendReducer;
this.config = config.current;
}
init = (state, option) => {
return this.metaReducer.init(state, getInitState());
};
load = (state, response) => {
return state;
};
reLoad = (state, response) => {
state = this.metaReducer.sf(state, 'data.form.title', '');
state = this.metaReducer.sf(state, 'data.form.content', '');
state = this.metaReducer.sf(state, 'data.select.sendType', 1);
state = this.metaReducer.sf(state, 'data.form.messageType', 1);
return state;
};
}
export default function creator(option) {
const metaReducer = new MetaReducer(option),
extendReducer = extend.reducerCreator({ ...option, metaReducer }),
o = new reducer({ ...option, metaReducer, extendReducer }),
ret = { ...metaReducer, ...extendReducer.gridReducer, ...o };
return { ...ret };
}