UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

82 lines (80 loc) 2.33 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; // 初始化状态值 var defaultState = { visible: false, isChange: false, // 是否改变 filter: [], columns: [], size: 'middle', card: [], cardMode: 'single', previewSize: 40 }; // 仅在初始化时触发一次 export var initialState = function initialState(props) { var _ref = props || {}, _ref$filter = _ref.filter, filter = _ref$filter === void 0 ? [] : _ref$filter, _ref$columns = _ref.columns, columns = _ref$columns === void 0 ? [] : _ref$columns, size = _ref.size, cardMode = _ref.cardMode, previewSize = _ref.previewSize, _ref$card = _ref.card, card = _ref$card === void 0 ? [] : _ref$card; return _objectSpread(_objectSpread({}, defaultState), {}, { filter: filter, columns: columns, size: size, card: card, cardMode: cardMode, previewSize: previewSize }); }; // 状态管理操作 export var reducer = function reducer(state, action) { var visible = action.visible, filter = action.filter, columns = action.columns, card = action.card, size = action.size, cardMode = action.cardMode, previewSize = action.previewSize, props = action.props, isChange = action.isChange; var dispatch = { init: _objectSpread(_objectSpread({}, state), initialState(props)), update: _objectSpread(_objectSpread({}, state), props), changeVisible: _objectSpread(_objectSpread({}, state), {}, { visible: visible }), changeIsChange: _objectSpread(_objectSpread({}, state), {}, { isChange: isChange }), changeFilter: _objectSpread(_objectSpread({}, state), {}, { filter: filter }), changeColumns: _objectSpread(_objectSpread({}, state), {}, { columns: columns }), changeCard: _objectSpread(_objectSpread({}, state), {}, { isChange: true, card: card }), changeSize: _objectSpread(_objectSpread({}, state), {}, { size: size }), changeCardMode: _objectSpread(_objectSpread({}, state), {}, { cardMode: cardMode }), changePreviewSize: _objectSpread(_objectSpread({}, state), {}, { previewSize: previewSize }) }; if (action.type in dispatch) { return dispatch[action.type]; } throw new Error(); }; export default reducer;