UNPKG

ttk-app-core

Version:
52 lines (45 loc) 1.88 kB
import { reducer as MetaReducer } from 'edf-meta-engine' import config from './config' import { getInitState } from './data' import extend from './extend' import { fromJS } from 'immutable' import moment from 'moment' class reducer { constructor(option) { this.metaReducer = option.metaReducer this.extendReducer = option.extendReducer this.config = config.current } init = (state, option) => { const initState = getInitState() return this.metaReducer.init(state, initState) } initOption = (state, { inventoryPropertyOption, enableDate }) => { let newOption = [] inventoryPropertyOption.map(item => { if(item.id == 1 || item.id == 2 || item.id == 3 || item.id == 4) newOption.push(item) }) state = this.metaReducer.sf(state, 'data.other.inventoryPropertyOption', fromJS(newOption)) state = this.metaReducer.sf(state, 'data.other.enableDate', fromJS(enableDate)) return state } modifyContent = (state) => { const content = this.metaReducer.gf(state, 'data.content') return this.metaReducer.sf(state, 'data.content', content + '!') } selectAll = (state, checked, gridName) => { state = this.extendReducer.gridReducer.selectAll(state, checked, gridName) return state } selectRow = (state, rowIndex, checked) => { state = this.metaReducer.sf(state, `data.list.${rowIndex}.selected`, checked) 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} }