ttk-app-core
Version:
enterprise develop framework
51 lines (43 loc) • 1.5 kB
JavaScript
import { Map, List, fromJS } from 'immutable'
import { reducer as MetaReducer } from 'edf-meta-engine'
import config from './config'
import * as data from './data'
import moment from 'moment'
import extend from './extend'
import utils from 'edf-utils'
class reducer {
constructor(option) {
this.metaReducer = option.metaReducer
this.extendReducer = option.extendReducer
this.config = config.current
}
init = (state, option) => {
return this.metaReducer.init(state, data.getInitState())
}
load = (state, list) => {
let item
for (var i = 0; i < list.length; i++) {
item = list[i]
item.sortNo = i+1
item.skssqq = item.skssqq.substring(0, 10)
item.skssqz = item.skssqz.substring(0, 10)
if (item.ynse != 0) {
item.ynse = utils.number.addThousPos(item.ynse)
}
}
state = this.metaReducer.sf(state, 'data.list', fromJS(list))
if (list.length > 0) {
state = this.metaReducer.sf(state, 'data.other.cancelGridStyle', 'ttk-taxapply-app-declare-cancel-content')
}
return state
}
setCancelReason = (state, content) => {
return this.metaReducer.sf(state, 'data.form.cancelReason', content)
}
}
export default function creator(option) {
const metaReducer = new MetaReducer(option),
extendReducer = extend.reducerCreator({ ...option, metaReducer }),
o = new reducer({ ...option, metaReducer, extendReducer })
return { ...metaReducer, ...extendReducer.gridReducer, ...o }
}