linkmore-design
Version:
🌈 🚀lm组件库。🚀
104 lines (101 loc) • 3.25 kB
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
// 初始化状态值
var defaultState = {
searchFilter: {},
searchQuery: {},
basicFilter: {},
basicQuery: {},
complexFilter: {
relation: 'and',
data: [{
field: undefined,
operator: undefined,
value: undefined
}]
},
// 当前触发的自定义筛选参数
customFilter: {
label: '',
value: '',
relation: 'and',
data: [{
field: undefined,
operator: undefined,
value: undefined
}]
},
// 另存为新方案弹窗
customSaveModal: {
visible: false,
label: '',
value: ''
},
// 自定义选中的值: 自定义筛选改变时触发
customSelectValue: ''
};
// 状态管理操作
export var reducer = function reducer(state, action) {
var searchFilter = action.searchFilter,
searchQuery = action.searchQuery,
basicFilter = action.basicFilter,
basicQuery = action.basicQuery,
customFilter = action.customFilter,
complexFilter = action.complexFilter,
customSelectValue = action.customSelectValue,
customSaveModal = action.customSaveModal,
incrementRecord = action.incrementRecord;
var dispatch = {
// 模糊查询
changeSearchFilter: _objectSpread(_objectSpread({}, state), {}, {
searchFilter: searchFilter
}),
changeSearchQuery: _objectSpread(_objectSpread({}, state), {}, {
searchQuery: searchQuery
}),
// 基础筛选
changeBasicFilter: _objectSpread(_objectSpread({}, state), {}, {
basicFilter: basicFilter
}),
changeBasicQuery: _objectSpread(_objectSpread({}, state), {}, {
basicQuery: basicQuery
}),
// 自定义筛选
changeCustomFilter: _objectSpread(_objectSpread({}, state), {}, {
customFilter: customFilter
}),
changeCustomSelectValue: _objectSpread(_objectSpread({}, state), {}, {
customSelectValue: customSelectValue
}),
changeCustomSaveModal: _objectSpread(_objectSpread({}, state), {}, {
customSaveModal: customSaveModal
}),
// 高级筛选
changeComplexFilter: _objectSpread(_objectSpread({}, state), {}, {
complexFilter: complexFilter
}),
incrementComplexFilterData: _objectSpread(_objectSpread({}, state), {}, {
complexFilter: _objectSpread(_objectSpread({}, state.complexFilter), {}, {
data: [].concat(_toConsumableArray(state.complexFilter.data), [incrementRecord])
})
}),
// 一件清空
reset: _objectSpread(_objectSpread({}, state), defaultState),
// 重置高级筛选数据
resetComplexFilter: _objectSpread(_objectSpread({}, state), {}, {
complexFilter: defaultState.complexFilter
// customFilter: defaultState.customFilter,
// customSelectValue: defaultState.customSelectValue,
})
};
if (action.type in dispatch) {
return dispatch[action.type];
}
throw new Error();
};
// 仅在初始化时触发一次
export var initialState = function initialState() {
// 字段对应关系 basicQuery => filterQuery; customQuery => globalQuery; searchQuery => fuzzyQuery
return _objectSpread({}, defaultState);
};
export default reducer;