linkmore-design
Version:
🌈 🚀lm组件库。🚀
105 lines (102 loc) • 1.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.reducer = exports.initialState = exports.default = void 0;
// 初始化状态值
const defaultState = {
visible: false,
isChange: false,
// 是否改变
filter: [],
columns: [],
size: 'middle',
card: [],
cardMode: 'single',
previewSize: 40
};
// 仅在初始化时触发一次
const initialState = props => {
const {
filter = [],
columns = [],
size,
cardMode,
previewSize,
card = []
} = props || {};
return {
...defaultState,
filter,
columns,
size,
card,
cardMode,
previewSize
};
};
// 状态管理操作
exports.initialState = initialState;
const reducer = (state, action) => {
const {
visible,
filter,
columns,
card,
size,
cardMode,
previewSize,
props,
isChange
} = action;
const dispatch = {
init: {
...state,
...initialState(props)
},
update: {
...state,
...props
},
changeVisible: {
...state,
visible
},
changeIsChange: {
...state,
isChange
},
changeFilter: {
...state,
filter
},
changeColumns: {
...state,
columns
},
changeCard: {
...state,
isChange: true,
card
},
changeSize: {
...state,
size
},
changeCardMode: {
...state,
cardMode
},
changePreviewSize: {
...state,
previewSize
}
};
if (action.type in dispatch) {
return dispatch[action.type];
}
throw new Error();
};
exports.reducer = reducer;
var _default = reducer;
exports.default = _default;