linkmore-design
Version:
🌈 🚀lm组件库。🚀
129 lines (125 loc) • 2.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reducer = exports.initialState = exports.default = void 0;
// 初始化状态值
const 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: ''
};
// 状态管理操作
const reducer = (state, action) => {
const {
searchFilter,
searchQuery,
basicFilter,
basicQuery,
customFilter,
complexFilter,
customSelectValue,
customSaveModal,
incrementRecord
} = action;
const dispatch = {
// 模糊查询
changeSearchFilter: {
...state,
searchFilter
},
changeSearchQuery: {
...state,
searchQuery
},
// 基础筛选
changeBasicFilter: {
...state,
basicFilter
},
changeBasicQuery: {
...state,
basicQuery
},
// 自定义筛选
changeCustomFilter: {
...state,
customFilter
},
changeCustomSelectValue: {
...state,
customSelectValue
},
changeCustomSaveModal: {
...state,
customSaveModal
},
// 高级筛选
changeComplexFilter: {
...state,
complexFilter
},
incrementComplexFilterData: {
...state,
complexFilter: {
...state.complexFilter,
data: [...state.complexFilter.data, incrementRecord]
}
},
// 一件清空
reset: {
...state,
...defaultState
},
// 重置高级筛选数据
resetComplexFilter: {
...state,
complexFilter: defaultState.complexFilter
// customFilter: defaultState.customFilter,
// customSelectValue: defaultState.customSelectValue,
}
};
if (action.type in dispatch) {
return dispatch[action.type];
}
throw new Error();
};
// 仅在初始化时触发一次
exports.reducer = reducer;
const initialState = () => {
// 字段对应关系 basicQuery => filterQuery; customQuery => globalQuery; searchQuery => fuzzyQuery
return {
...defaultState
};
};
exports.initialState = initialState;
var _default = reducer;
exports.default = _default;