zp-bee
Version:
zp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
58 lines (51 loc) • 1.93 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import React, { useRef, memo, useEffect } from 'react';
import { BeeDatePicker } from 'zp-bee';
import { atom, setCoiledState } from '../../_utils/recoil';
var defaultOptions = BeeDatePicker.defaultOptions;
var datePickerGen = function datePickerGen(params) {
var initialState = {
value: defaultOptions[2].dateRange,
typeValue: params.defaultType
};
var createSlice = atom({
key: 'datePickerGen',
default: initialState
});
var dispatch = 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__*/memo(function (props) {
var dateTypeRef = useRef();
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 = {}, _defineProperty(_ref, paramName, typeValue), _defineProperty(_ref, "startDate", value[0].format('YYYY-MM-DD')), _defineProperty(_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.createElement(BeeDatePicker, Object.assign({
ref: dateTypeRef,
dateOptions: defaultOptions,
typeOptions: params.list,
defaultType: params.defaultType,
onTypeDateSelect: handleChange
}, props));
});
};
export default datePickerGen;