zp-bee
Version:
zp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
74 lines (59 loc) • 2.38 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _zpBee = require("zp-bee");
var _recoil = require("../../_utils/recoil");
var defaultOptions = _zpBee.BeeDatePicker.defaultOptions;
var datePickerGen = function datePickerGen(params) {
var initialState = {
value: defaultOptions[2].dateRange,
typeValue: params.defaultType
};
var createSlice = (0, _recoil.atom)({
key: 'datePickerGen',
default: initialState
});
var dispatch = (0, _recoil.setCoiledState)(createSlice);
var handleChange = function handleChange(value, info) {
dispatch({
typeValue: value,
value: info
});
params.inject.get(Symbol.for('fresh')).handleFilter();
};
var dateSymbol = Symbol('datePicker');
var paramName = params.datePickerProps.paramName;
return /*#__PURE__*/(0, _react.memo)(function (props) {
var dateTypeRef = (0, _react.useRef)();
(0, _react.useEffect)(function () {
params.inject.set(dateSymbol, {
getValue: function getValue() {
var _ref;
var _createSlice$snapshot = createSlice.snapshot(),
value = _createSlice$snapshot.value,
typeValue = _createSlice$snapshot.typeValue;
return _ref = {}, (0, _defineProperty2.default)(_ref, paramName, typeValue), (0, _defineProperty2.default)(_ref, "startDate", value[0].format('YYYY-MM-DD')), (0, _defineProperty2.default)(_ref, "endDate", value[1].format('YYYY-MM-DD')), _ref;
},
resetValue: function resetValue() {
var _a;
(_a = dateTypeRef.current) === null || _a === void 0 ? void 0 : _a.handleReset();
}
});
}, []);
return /*#__PURE__*/_react.default.createElement(_zpBee.BeeDatePicker, Object.assign({
ref: dateTypeRef,
dateOptions: defaultOptions,
typeOptions: params.list,
defaultType: params.defaultType,
onTypeDateSelect: handleChange
}, props));
});
};
var _default = datePickerGen;
exports.default = _default;