UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

129 lines (125 loc) 2.64 kB
"use strict"; 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;