@chaoswise/ui 3.0.14 → 3.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Ace/diff.js +1 -0
- package/lib/Antd5/_util/scrollTo.js +3 -3
- package/lib/Antd5/anchor/Anchor.js +3 -3
- package/lib/Antd5/breadcrumb/style/index.js +1 -1
- package/lib/Antd5/date-picker/style/token.js +1 -1
- package/lib/Antd5/dropdown/style/index.js +1 -1
- package/lib/Antd5/slider/style/index.js +2 -2
- package/lib/Antd5/table/hooks/useFilter/FilterDropdown.js +6 -6
- package/lib/Antd5/table/hooks/useFilter/index.js +3 -3
- package/lib/Antd5/table/hooks/useLazyKVMap.js +3 -3
- package/lib/Antd5/table/hooks/useSelection.js +3 -3
- package/lib/Antd5/theme/useToken.js +4 -3
- package/lib/Antd5/tree/style/index.js +7 -6
- package/lib/Badge/index.js +1 -1
- package/lib/BasicLayout/style/sider.js +3 -4
- package/lib/CWCascader/rc-cascader/utils/warningPropsUtil.js +3 -3
- package/lib/CWColorPicker/SketchPicker/components/common/ColorWrap.js +1 -1
- package/lib/CWColorPicker/SketchPicker/components/common/Hue.js +1 -1
- package/lib/CWColorPicker/SketchPicker/components/common/Raised.js +1 -1
- package/lib/CWColorPicker/SketchPicker/components/common/Saturation.js +1 -1
- package/lib/CWColorPicker/SketchPicker/components/sketch/index.js +1 -1
- package/lib/CWColorPicker/SketchPicker/helpers/color.js +1 -1
- package/lib/CWRangePicker/Refresh/index.style.js +10 -5
- package/lib/CWRangePicker/index.js +2 -2
- package/lib/CWRangePicker/index.style.js +0 -6
- package/lib/CWTree/index.js +3 -3
- package/lib/CWTree/utils/index.js +4 -3
- package/lib/Collapse/index.js +1 -1
- package/lib/ConfigProvider/ConfigProvider.js +7 -4
- package/lib/ConfigProvider/customTheme.js +1 -22
- package/lib/ConfigProvider/customToken.js +0 -1
- package/lib/DateRangePicker/index.js +2 -0
- package/lib/Documentation/Tocify.js +1 -1
- package/lib/Drawer/index.js +1 -1
- package/lib/EchartsArea/index.js +2 -2
- package/lib/EchartsBar/index.js +2 -2
- package/lib/EchartsBarRow/index.js +0 -2
- package/lib/EchartsBase/index.js +14 -14
- package/lib/EchartsLine/index.js +2 -2
- package/lib/EchartsPie/index.js +2 -3
- package/lib/EchartsRing/index.js +2 -2
- package/lib/Empty/index.js +1 -1
- package/lib/FilterDropDown/DragList.js +2 -1
- package/lib/Flow/BasicLayout/Chain.js +3 -3
- package/lib/Flow/BasicLayout/util.js +3 -3
- package/lib/Form/FormItem.js +3 -1
- package/lib/Form/hook/useForm3.js +3 -3
- package/lib/Form/index.js +1 -1
- package/lib/Formily/FieldList/index.js +43 -0
- package/lib/Formily/Form/index.js +2 -0
- package/lib/Formily/FormButtonGroup/index.js +2 -0
- package/lib/Formily/FormItem/index.js +90 -0
- package/lib/Formily/FormItem/items/Checkbox.js +13 -0
- package/lib/Formily/FormItem/items/DatePicker.js +121 -0
- package/lib/Formily/FormItem/items/Input.js +13 -0
- package/lib/Formily/FormItem/items/NumberPicker.js +9 -0
- package/lib/Formily/FormItem/items/Password.js +70 -0
- package/lib/Formily/FormItem/items/Radio.js +13 -0
- package/lib/Formily/FormItem/items/Range.js +82 -0
- package/lib/Formily/FormItem/items/Rating.js +8 -0
- package/lib/Formily/FormItem/items/Select.js +8 -0
- package/lib/Formily/FormItem/items/Switch.js +9 -0
- package/lib/Formily/FormItem/items/Tansfer.js +9 -0
- package/lib/Formily/FormItem/items/TimePicker.js +44 -0
- package/lib/Formily/FormItem/items/Upload.js +260 -0
- package/lib/Formily/FormItem/items/formItemWrapper.js +17 -0
- package/lib/Formily/FormItem/items/shared.js +140 -0
- package/lib/Formily/FormPath/index.js +2 -0
- package/lib/Formily/MegaLayout/index.js +24 -0
- package/lib/Formily/Reset/index.js +2 -0
- package/lib/Formily/Submit/index.js +2 -0
- package/lib/Formily/context.js +3 -0
- package/lib/Formily/formily/index.js +22 -0
- package/lib/Formily/index.js +5 -0
- package/lib/Formily/subscribeFields/index.js +46 -0
- package/lib/Header/UserSetting/utils.js +5 -4
- package/lib/Joyride/List.js +3 -3
- package/lib/Joyride/index.js +3 -3
- package/lib/Modal/Modal.js +1 -1
- package/lib/Modal/index.js +1 -1
- package/lib/Pagination/index.js +1 -1
- package/lib/QuickTransfer/index.js +5 -5
- package/lib/QuickTransfer/utils.js +32 -23
- package/lib/RangePicker/components/ExtraQuickSelect.js +51 -0
- package/lib/RangePicker/components/ExtraTimeFooter.js +71 -0
- package/lib/RangePicker/index.js +469 -2
- package/lib/RangePicker/index.style.js +110 -0
- package/lib/RangePicker/utils/index.js +171 -0
- package/lib/ScrollLoad/index.js +7 -2
- package/lib/SiderMenu/index.js +14 -14
- package/lib/SingleSpa/system/systemjs-css.js +3 -3
- package/lib/ThemeProvider/main.js +1 -0
- package/lib/TimeRangeSlider/Refresh/index.js +163 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/assets/Limit.js +126 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/assets/Limit.svg +50 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/assets/LimitAreaSvg.js +110 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/BottomPlaceholder.js +99 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/BottomTimeDateProcess.js +36 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/index.js +56 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/TopDateProcess.js +32 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/TopPlaceholder.js +54 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/index.js +47 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useHover.js +31 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useMouse.js +410 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/index.js +72 -0
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/utils/index.js +255 -0
- package/lib/TimeRangeSlider/TimeSpan/index.js +93 -0
- package/lib/TimeRangeSlider/assets/Calendar.js +15 -0
- package/lib/TimeRangeSlider/assets/Calendar2.js +15 -0
- package/lib/TimeRangeSlider/assets/Recover.js +18 -0
- package/lib/TimeRangeSlider/assets/Refresh1.js +14 -0
- package/lib/TimeRangeSlider/assets/Refresh2.js +14 -0
- package/lib/TimeRangeSlider/assets/Refresh3.js +14 -0
- package/lib/TimeRangeSlider/assets/live.js +19 -0
- package/lib/TimeRangeSlider/assets/more.js +23 -0
- package/lib/TimeRangeSlider/index.js +562 -0
- package/lib/TimeRangeSlider/locale/en_US.js +31 -0
- package/lib/TimeRangeSlider/locale/index.js +11 -0
- package/lib/TimeRangeSlider/locale/zh_CN.js +31 -0
- package/lib/TimeRangeSlider/locale/zh_TW.js +31 -0
- package/lib/TimeRangeSlider/styles/index.style.js +64 -0
- package/lib/TimeRangeSlider/styles/refresh.style.js +38 -0
- package/lib/TimeRangeSlider/styles/timeRangeSliderBottom.style.js +125 -0
- package/lib/TimeRangeSlider/styles/timeRangeSliderTop.style.js +81 -0
- package/lib/TimeRangeSlider/styles/timeSpan.style.js +22 -0
- package/lib/TimeRangeSlider/utils/index.js +737 -0
- package/lib/UniversalLayout/index.js +4 -4
- package/lib/antd-style/factories/createThemeProvider/AntdProvider.js +5 -1
- package/lib/antd-style/functions/extractStaticStyle.js +1 -1
- package/lib/antd-style/hooks/useAntdToken.js +1 -1
- package/lib/antd-style/hooks/useResponsive.js +1 -1
- package/lib/antd-style/utils/css.js +3 -2
- package/lib/locales/en_US.json +1 -1
- package/lib/locales/zh_CN.json +1 -1
- package/lib/locales/zh_TW.json +1 -1
- package/lib/useLocale/index.js +20 -0
- package/package.json +5 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _TooltipText from "@chaoswise/ui/lib/TooltipText";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import classnames from "classnames";
|
|
4
|
+
export default function ExtraQuickSelect(props) {
|
|
5
|
+
var _props$ranges = props.ranges,
|
|
6
|
+
ranges = _props$ranges === void 0 ? {} : _props$ranges,
|
|
7
|
+
quickClick = props.quickClick,
|
|
8
|
+
setDateValue = props.setDateValue,
|
|
9
|
+
setStartTimeParams = props.setStartTimeParams,
|
|
10
|
+
setEndTimeParams = props.setEndTimeParams,
|
|
11
|
+
recordBeforeDateRef = props.recordBeforeDateRef,
|
|
12
|
+
setAllDateTimeValue = props.setAllDateTimeValue,
|
|
13
|
+
recordQuickActiveKey = props.recordQuickActiveKey;
|
|
14
|
+
var rangesToArray = Object.entries(ranges);
|
|
15
|
+
var _onMouseEnter = function onMouseEnter(startDate, endDate) {
|
|
16
|
+
setDateValue([startDate, endDate]);
|
|
17
|
+
setStartTimeParams(startDate);
|
|
18
|
+
setEndTimeParams(endDate);
|
|
19
|
+
};
|
|
20
|
+
var onMouseLeave = function onMouseLeave() {
|
|
21
|
+
setDateValue(recordBeforeDateRef.current);
|
|
22
|
+
setAllDateTimeValue(recordBeforeDateRef.current);
|
|
23
|
+
};
|
|
24
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
25
|
+
className: "cw-range-picker-quick-select-wrapper"
|
|
26
|
+
}, rangesToArray === null || rangesToArray === void 0 ? void 0 : rangesToArray.map(function (item) {
|
|
27
|
+
var range = item[1];
|
|
28
|
+
var startDate;
|
|
29
|
+
var endDate;
|
|
30
|
+
if (Object.prototype.toString.call(range) == "[object Function]") {
|
|
31
|
+
startDate = range()[0];
|
|
32
|
+
endDate = range()[1];
|
|
33
|
+
} else {
|
|
34
|
+
startDate = range[0];
|
|
35
|
+
endDate = range[1];
|
|
36
|
+
}
|
|
37
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
38
|
+
className: classnames("cw-range-picker-quick-select-item", {
|
|
39
|
+
"cw-range-picker-quick-select-item-active": recordQuickActiveKey.current == item[0]
|
|
40
|
+
}),
|
|
41
|
+
key: item[0],
|
|
42
|
+
onClick: function onClick(e) {
|
|
43
|
+
return quickClick(e, startDate, endDate, item[0]);
|
|
44
|
+
},
|
|
45
|
+
onMouseEnter: function onMouseEnter() {
|
|
46
|
+
return _onMouseEnter(startDate, endDate);
|
|
47
|
+
},
|
|
48
|
+
onMouseLeave: onMouseLeave
|
|
49
|
+
}, /*#__PURE__*/React.createElement(_TooltipText, null, item[0]));
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _Button from "@chaoswise/ui/lib/Button";
|
|
2
|
+
import _TimePicker from "@chaoswise/ui/lib/TimePicker";
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
5
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { SwapRightOutlined } from '@ant-design/icons';
|
|
12
|
+
import classnames from 'classnames';
|
|
13
|
+
import { useIntl } from "../../locales";
|
|
14
|
+
export default function ExtraTimeFooter(_ref) {
|
|
15
|
+
var startTimeValue = _ref.startTimeValue,
|
|
16
|
+
endTimeValue = _ref.endTimeValue,
|
|
17
|
+
startChange = _ref.startChange,
|
|
18
|
+
startDisabledTime = _ref.startDisabledTime,
|
|
19
|
+
endDisabledTime = _ref.endDisabledTime,
|
|
20
|
+
endChange = _ref.endChange,
|
|
21
|
+
showTime = _ref.showTime,
|
|
22
|
+
onOk = _ref.onOk,
|
|
23
|
+
getPopupContainer = _ref.getPopupContainer,
|
|
24
|
+
disabledConfirm = _ref.disabledConfirm;
|
|
25
|
+
var intl = useIntl();
|
|
26
|
+
var res = typeof showTime == 'boolean' ? {} : _objectSpread({}, showTime);
|
|
27
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
28
|
+
className: classnames('cw-rangePicker-time-wrapper', {
|
|
29
|
+
'cw-rangePicker-time-wrapper-no-time': !showTime
|
|
30
|
+
})
|
|
31
|
+
}, showTime && /*#__PURE__*/React.createElement("div", {
|
|
32
|
+
className: 'cw-rangePicker-time'
|
|
33
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: 'cw-rangePicker-leftTime',
|
|
35
|
+
onMouseDown: function onMouseDown(e) {
|
|
36
|
+
e.stopPropagation();
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React.createElement(_TimePicker, _extends({
|
|
39
|
+
value: startTimeValue,
|
|
40
|
+
onCalendarChange: startChange // onChange 替换成 onCalendarChange
|
|
41
|
+
,
|
|
42
|
+
getPopupContainer: getPopupContainer
|
|
43
|
+
}, startDisabledTime, res, {
|
|
44
|
+
allowClear: false,
|
|
45
|
+
needConfirm: false,
|
|
46
|
+
showNow: false,
|
|
47
|
+
suffixIcon: null
|
|
48
|
+
// inputReadOnly
|
|
49
|
+
}))), /*#__PURE__*/React.createElement(SwapRightOutlined, {
|
|
50
|
+
className: 'cw-rangePicker-swap-icon'
|
|
51
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: 'cw-rangePicker-rightTime',
|
|
53
|
+
onMouseDown: function onMouseDown(e) {
|
|
54
|
+
e.stopPropagation();
|
|
55
|
+
}
|
|
56
|
+
}, /*#__PURE__*/React.createElement(_TimePicker, _extends({
|
|
57
|
+
getPopupContainer: getPopupContainer,
|
|
58
|
+
value: endTimeValue,
|
|
59
|
+
onCalendarChange: endChange // onChange 替换成 onCalendarChange
|
|
60
|
+
}, endDisabledTime, res, {
|
|
61
|
+
allowClear: false,
|
|
62
|
+
needConfirm: false,
|
|
63
|
+
showNow: false,
|
|
64
|
+
suffixIcon: null
|
|
65
|
+
// inputReadOnly
|
|
66
|
+
})))), /*#__PURE__*/React.createElement(_Button, {
|
|
67
|
+
type: 'primary',
|
|
68
|
+
disabled: disabledConfirm,
|
|
69
|
+
onClick: onOk
|
|
70
|
+
}, intl.get('4253417c-d699-4eed-8c75-34d2a8b18a68').d('确定')));
|
|
71
|
+
}
|
package/lib/RangePicker/index.js
CHANGED
|
@@ -1,2 +1,469 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import _DatePicker from "@chaoswise/ui/lib/DatePicker";
|
|
2
|
+
var _excluded = ["ranges", "value", "defaultValue", "onChange", "format", "open", "onOpenChange", "onCalendarChange", "showTime", "renderExtraFooter", "onOk", "disabledTime", "panelRender", "className", "defaultTimeOption", "quickSelect", "dataSource"];
|
|
3
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
4
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
5
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
7
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
8
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
14
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
16
|
+
import React, { useState, useEffect, useMemo, forwardRef, useRef, useCallback, useImperativeHandle } from "react";
|
|
17
|
+
var RangePicker = _DatePicker.RangePicker;
|
|
18
|
+
import ExtraQuickSelect from "./components/ExtraQuickSelect";
|
|
19
|
+
import ExtraTimeFooter from "./components/ExtraTimeFooter";
|
|
20
|
+
import { formatMomentToString, formatMomentToSplit, byTimeMomentToDateMoment, disabledAllTimeFunc } from "./utils/index";
|
|
21
|
+
import classnames from "classnames";
|
|
22
|
+
import moment from "moment";
|
|
23
|
+
import useConfigContext from "../useConfigContext";
|
|
24
|
+
import useStyle from "./index.style";
|
|
25
|
+
var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
26
|
+
var _props$ranges = props.ranges,
|
|
27
|
+
ranges = _props$ranges === void 0 ? {} : _props$ranges,
|
|
28
|
+
value = props.value,
|
|
29
|
+
defaultValue = props.defaultValue,
|
|
30
|
+
_props$onChange = props.onChange,
|
|
31
|
+
_onChange = _props$onChange === void 0 ? function () {} : _props$onChange,
|
|
32
|
+
_format = props.format,
|
|
33
|
+
open = props.open,
|
|
34
|
+
_props$onOpenChange = props.onOpenChange,
|
|
35
|
+
_onOpenChange = _props$onOpenChange === void 0 ? function () {} : _props$onOpenChange,
|
|
36
|
+
_props$onCalendarChan = props.onCalendarChange,
|
|
37
|
+
_onCalendarChange = _props$onCalendarChan === void 0 ? function () {} : _props$onCalendarChan,
|
|
38
|
+
_props$showTime = props.showTime,
|
|
39
|
+
showTime = _props$showTime === void 0 ? true : _props$showTime,
|
|
40
|
+
renderExtraFooter = props.renderExtraFooter,
|
|
41
|
+
_props$onOk = props.onOk,
|
|
42
|
+
_onOk = _props$onOk === void 0 ? function () {} : _props$onOk,
|
|
43
|
+
_props$disabledTime = props.disabledTime,
|
|
44
|
+
_disabledTime = _props$disabledTime === void 0 ? function () {} : _props$disabledTime,
|
|
45
|
+
panelRender = props.panelRender,
|
|
46
|
+
className = props.className,
|
|
47
|
+
_props$defaultTimeOpt = props.defaultTimeOption,
|
|
48
|
+
defaultTimeOption = _props$defaultTimeOpt === void 0 ? {} : _props$defaultTimeOpt,
|
|
49
|
+
_props$quickSelect = props.quickSelect,
|
|
50
|
+
quickSelect = _props$quickSelect === void 0 ? false : _props$quickSelect,
|
|
51
|
+
dataSource = props.dataSource,
|
|
52
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
53
|
+
var _useState = useState(defaultValue),
|
|
54
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
55
|
+
dateValue = _useState2[0],
|
|
56
|
+
setDateValue = _useState2[1]; //onChange触发之后的时间日期
|
|
57
|
+
var _useState3 = useState(false),
|
|
58
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
59
|
+
visible = _useState4[0],
|
|
60
|
+
setVisible = _useState4[1]; //控制日期面板的显示隐藏
|
|
61
|
+
var _useState5 = useState(null),
|
|
62
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
63
|
+
startTimeParams = _useState6[0],
|
|
64
|
+
setStartTimeParams = _useState6[1]; //开始时间的参数
|
|
65
|
+
var _useState7 = useState(null),
|
|
66
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
67
|
+
endTimeParams = _useState8[0],
|
|
68
|
+
setEndTimeParams = _useState8[1]; //结束时间的参数
|
|
69
|
+
var timeFormat = useRef("HH:mm:ss"); //timepicker默认的时间格式
|
|
70
|
+
var preConfirm = useRef(null); //记录上一次点击确定的值,包括初始传进来的值
|
|
71
|
+
var formatRef = useRef(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
|
|
72
|
+
var rangePickerRef = useRef(null); // 绑定在RangePicker组件上的Ref
|
|
73
|
+
var recordBeforeDateRef = useRef(null); // 取消悬停快捷选择需要恢复的日期
|
|
74
|
+
var recordQuickActiveKey = useRef(null); // 当前快捷选择活跃项
|
|
75
|
+
var isBtnRef = useRef(false); // 是否相当于点击了确定按钮
|
|
76
|
+
var wrapperRef = useRef(null);
|
|
77
|
+
var _useConfigContext = useConfigContext(),
|
|
78
|
+
getPrefixCls = _useConfigContext.getPrefixCls;
|
|
79
|
+
var prefixCls = getPrefixCls();
|
|
80
|
+
var _useStyle = useStyle("".concat(prefixCls, "-custom-range-picker")),
|
|
81
|
+
_useStyle2 = _slicedToArray(_useStyle, 3),
|
|
82
|
+
wrapCSSVar = _useStyle2[0],
|
|
83
|
+
hashId = _useStyle2[1],
|
|
84
|
+
cssVarCls = _useStyle2[2];
|
|
85
|
+
var _defaultTimeOption$st = defaultTimeOption.startTimeOption,
|
|
86
|
+
startTimeOption = _defaultTimeOption$st === void 0 ? moment("00:00:00", timeFormat.current) : _defaultTimeOption$st,
|
|
87
|
+
_defaultTimeOption$en = defaultTimeOption.endTimeOption,
|
|
88
|
+
endTimeOption = _defaultTimeOption$en === void 0 ? moment("00:00:00", timeFormat.current) : _defaultTimeOption$en;
|
|
89
|
+
//监听外部控制面板的显示隐藏状态
|
|
90
|
+
useEffect(function () {
|
|
91
|
+
if ("open" in props) {
|
|
92
|
+
setVisible(function (pre) {
|
|
93
|
+
open !== pre && _onOpenChange(open);
|
|
94
|
+
return open;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}, [open]);
|
|
98
|
+
useImperativeHandle(ref, function () {
|
|
99
|
+
return {
|
|
100
|
+
rangePicker: rangePickerRef.current
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
useEffect(function () {
|
|
104
|
+
if ("value" in props) {
|
|
105
|
+
setDateValue(value);
|
|
106
|
+
recordBeforeDateRef.current = value;
|
|
107
|
+
preConfirm.current = value;
|
|
108
|
+
setAllDateTimeValue(value);
|
|
109
|
+
} else if ("defaultValue" in props) {
|
|
110
|
+
setDateValue(defaultValue);
|
|
111
|
+
recordBeforeDateRef.current = defaultValue;
|
|
112
|
+
preConfirm.current = defaultValue;
|
|
113
|
+
setAllDateTimeValue(defaultValue);
|
|
114
|
+
}
|
|
115
|
+
}, [defaultValue, value]);
|
|
116
|
+
var format = useMemo(function () {
|
|
117
|
+
if ("format" in props) {
|
|
118
|
+
return _format;
|
|
119
|
+
}
|
|
120
|
+
if (showTime) return "YYYY-MM-DD HH:mm:ss";
|
|
121
|
+
return "YYYY-MM-DD";
|
|
122
|
+
}, [_format, showTime]);
|
|
123
|
+
// 点击空白处日历切换
|
|
124
|
+
useEffect(function () {
|
|
125
|
+
document.addEventListener("click", clickBody);
|
|
126
|
+
return function () {
|
|
127
|
+
document.removeEventListener("click", clickBody);
|
|
128
|
+
};
|
|
129
|
+
}, [visible]);
|
|
130
|
+
//点击取消触发的事件
|
|
131
|
+
var handleCancel = function handleCancel() {
|
|
132
|
+
if (preConfirm.current && preConfirm.current instanceof Array) {
|
|
133
|
+
setStartTimeParams(preConfirm.current[0]);
|
|
134
|
+
setEndTimeParams(preConfirm.current[1]);
|
|
135
|
+
setDateValue(preConfirm.current);
|
|
136
|
+
recordBeforeDateRef.current = preConfirm.current;
|
|
137
|
+
} else {
|
|
138
|
+
setDateValue(null);
|
|
139
|
+
recordBeforeDateRef.current = null;
|
|
140
|
+
setAllDateTimeValue(null);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
var memoizeHandleCancel = useCallback(handleCancel, []);
|
|
144
|
+
useEffect(function () {
|
|
145
|
+
if (!visible) {
|
|
146
|
+
var _rangePickerRef$curre;
|
|
147
|
+
(_rangePickerRef$curre = rangePickerRef.current) === null || _rangePickerRef$curre === void 0 || _rangePickerRef$curre.blur();
|
|
148
|
+
if (!isBtnRef.current) {
|
|
149
|
+
memoizeHandleCancel && memoizeHandleCancel();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}, [visible, showTime, memoizeHandleCancel]);
|
|
153
|
+
|
|
154
|
+
// 点击body判断弹出层的状态
|
|
155
|
+
var clickBody = function clickBody(e) {
|
|
156
|
+
visible && _onOpenChange(false);
|
|
157
|
+
if (!("open" in props)) {
|
|
158
|
+
setVisible(false);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
//监听timepicker的时间变化,并将其更新到rangepicker上
|
|
162
|
+
var setAllDateTimeValue = function setAllDateTimeValue(value) {
|
|
163
|
+
if (!showTime) return;
|
|
164
|
+
if (value && value.length === 2) {
|
|
165
|
+
setStartTimeParams(value[0]);
|
|
166
|
+
setEndTimeParams(value[1]);
|
|
167
|
+
} else {
|
|
168
|
+
setStartTimeParams(startTimeOption);
|
|
169
|
+
setEndTimeParams(endTimeOption);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
// TimePicker开始时间改变触发的事件
|
|
173
|
+
var changeStartTime = function changeStartTime(newStartTime) {
|
|
174
|
+
if (!newStartTime) return;
|
|
175
|
+
setStartTimeParams(newStartTime);
|
|
176
|
+
isBtnRef.current = false;
|
|
177
|
+
if (Array.isArray(dateValue)) {
|
|
178
|
+
if (dateValue[0]) {
|
|
179
|
+
var leftDateTime = byTimeMomentToDateMoment(newStartTime, dateValue[0]);
|
|
180
|
+
var rightDateTime = dateValue[1];
|
|
181
|
+
if (moment(leftDateTime).isAfter(dateValue[1])) {
|
|
182
|
+
rightDateTime = leftDateTime;
|
|
183
|
+
setEndTimeParams(newStartTime);
|
|
184
|
+
}
|
|
185
|
+
setDateValue([leftDateTime, rightDateTime]);
|
|
186
|
+
recordBeforeDateRef.current = [leftDateTime, rightDateTime];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
// TimePicker结束时间改变触发的事件
|
|
191
|
+
var changeEndTime = function changeEndTime(newEndTime) {
|
|
192
|
+
if (!newEndTime) return;
|
|
193
|
+
setEndTimeParams(newEndTime);
|
|
194
|
+
isBtnRef.current = false;
|
|
195
|
+
if (Array.isArray(dateValue)) {
|
|
196
|
+
if (dateValue[1]) {
|
|
197
|
+
var rightDateTime = byTimeMomentToDateMoment(newEndTime, dateValue[1]);
|
|
198
|
+
setDateValue([dateValue[0], rightDateTime]);
|
|
199
|
+
recordBeforeDateRef.current = [dateValue[0], rightDateTime];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
//处理快速选择item的快速点击事件
|
|
204
|
+
var quickClick = function quickClick(e, startDate, endDate, quickKey) {
|
|
205
|
+
e.preventDefault();
|
|
206
|
+
e.stopPropagation();
|
|
207
|
+
visible && _onOpenChange(false);
|
|
208
|
+
if (!("open" in props)) {
|
|
209
|
+
setVisible(false);
|
|
210
|
+
}
|
|
211
|
+
handleSetRange(startDate, endDate, quickKey);
|
|
212
|
+
};
|
|
213
|
+
//快速选择 统一处理时间设置
|
|
214
|
+
var handleSetRange = function handleSetRange(startDateTime, endDateTime, quickKey) {
|
|
215
|
+
if (!showTime) {
|
|
216
|
+
if (startDateTime && endDateTime) {
|
|
217
|
+
var dateVal = [moment(startDateTime), moment(endDateTime)];
|
|
218
|
+
_onChange(dateVal, ["", ""], quickKey);
|
|
219
|
+
recordQuickActiveKey.current = quickKey;
|
|
220
|
+
_onOk(dateVal, ["", ""], quickKey);
|
|
221
|
+
if (!("value" in props)) {
|
|
222
|
+
setDateValue(dateVal);
|
|
223
|
+
preConfirm.current = dateVal;
|
|
224
|
+
recordBeforeDateRef.current = dateVal;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
if (startDateTime && endDateTime) {
|
|
230
|
+
var _dateVal = [moment(startDateTime), moment(endDateTime)];
|
|
231
|
+
var startDateTimeString = formatMomentToString(startDateTime, formatRef.current);
|
|
232
|
+
var endDateTimeString = formatMomentToString(endDateTime, formatRef.current);
|
|
233
|
+
setStartTimeParams(moment(startDateTime));
|
|
234
|
+
setEndTimeParams(moment(endDateTime));
|
|
235
|
+
_onCalendarChange(_dateVal, [startDateTimeString, endDateTimeString], {
|
|
236
|
+
range: "end"
|
|
237
|
+
});
|
|
238
|
+
_onChange(_dateVal, [startDateTimeString, endDateTimeString], quickKey);
|
|
239
|
+
_onOk(_dateVal, [startDateTimeString, endDateTimeString], quickKey);
|
|
240
|
+
recordQuickActiveKey.current = quickKey;
|
|
241
|
+
if (!("value" in props)) {
|
|
242
|
+
setDateValue(_dateVal);
|
|
243
|
+
preConfirm.current = _dateVal;
|
|
244
|
+
recordBeforeDateRef.current = _dateVal;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (!("value" in props)) {
|
|
248
|
+
isBtnRef.current = true;
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
//改变时间触发的时间
|
|
253
|
+
var handleDateChange = function handleDateChange(val) {
|
|
254
|
+
if (!val) {
|
|
255
|
+
_onChange(val, ["", ""]);
|
|
256
|
+
recordQuickActiveKey.current = null;
|
|
257
|
+
visible && _onOpenChange(false);
|
|
258
|
+
if (!("open" in props)) {
|
|
259
|
+
setVisible(false);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
//面板值改变触发的回调 主要用于处理时间
|
|
264
|
+
var handleCalendarChange = function handleCalendarChange(calendarDate, dateStrings, info) {
|
|
265
|
+
// rangePickerRef.current?.focus({index: info.range === "start" ? 1 : 0})
|
|
266
|
+
if (!calendarDate) {
|
|
267
|
+
_onCalendarChange(calendarDate, dateStrings, info);
|
|
268
|
+
setAllDateTimeValue(calendarDate);
|
|
269
|
+
if (!("value" in props)) {
|
|
270
|
+
setDateValue(calendarDate);
|
|
271
|
+
recordBeforeDateRef.current = calendarDate;
|
|
272
|
+
preConfirm.current = null;
|
|
273
|
+
}
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
//当calendarDate 改变的时候
|
|
277
|
+
if (calendarDate && Array.isArray(calendarDate)) {
|
|
278
|
+
isBtnRef.current = false;
|
|
279
|
+
var calendarDateTruth = calendarDate.filter(Boolean);
|
|
280
|
+
if (calendarDateTruth.length == 1) {
|
|
281
|
+
var CalendarDateStr = formatMomentToSplit(calendarDateTruth[0], formatRef.current)[0];
|
|
282
|
+
var dateTimeValue = calendarDateTruth[0];
|
|
283
|
+
if (info.range == "start") {
|
|
284
|
+
if (startTimeParams) {
|
|
285
|
+
var TimeStr = formatMomentToString(startTimeParams, timeFormat.current);
|
|
286
|
+
var StartDateTime = moment(CalendarDateStr + " " + TimeStr, formatRef.current);
|
|
287
|
+
dateTimeValue = StartDateTime;
|
|
288
|
+
_onCalendarChange([StartDateTime, null], [TimeStr, ""], info);
|
|
289
|
+
}
|
|
290
|
+
setDateValue([dateTimeValue, null]);
|
|
291
|
+
recordBeforeDateRef.current = [dateTimeValue, null];
|
|
292
|
+
} else if (info.range == "end") {
|
|
293
|
+
if (endTimeParams) {
|
|
294
|
+
var _TimeStr = formatMomentToString(endTimeParams, timeFormat.current);
|
|
295
|
+
var EndDateTime = moment(CalendarDateStr + " " + _TimeStr, formatRef.current);
|
|
296
|
+
dateTimeValue = EndDateTime;
|
|
297
|
+
_onCalendarChange([null, EndDateTime], [_TimeStr, ""], info);
|
|
298
|
+
}
|
|
299
|
+
setDateValue([null, dateTimeValue]);
|
|
300
|
+
recordBeforeDateRef.current = [null, dateTimeValue];
|
|
301
|
+
}
|
|
302
|
+
} else if (calendarDateTruth.length == 2) {
|
|
303
|
+
var leftCalendarDateStr = formatMomentToSplit(calendarDateTruth[0], formatRef.current)[0];
|
|
304
|
+
var rightCalendarDateStr = formatMomentToSplit(calendarDateTruth[1], formatRef.current)[0];
|
|
305
|
+
var startDateTime = calendarDateTruth[0];
|
|
306
|
+
var endDateTime = calendarDateTruth[1];
|
|
307
|
+
var leftTimeStr = dateStrings[0];
|
|
308
|
+
var endTimeStr = dateStrings[1];
|
|
309
|
+
if (startTimeParams) {
|
|
310
|
+
leftTimeStr = formatMomentToString(startTimeParams, timeFormat.current);
|
|
311
|
+
startDateTime = moment(leftCalendarDateStr + " " + leftTimeStr, formatRef.current);
|
|
312
|
+
}
|
|
313
|
+
if (endTimeParams) {
|
|
314
|
+
endTimeStr = formatMomentToString(endTimeParams, timeFormat.current);
|
|
315
|
+
endDateTime = moment(rightCalendarDateStr + " " + endTimeStr, formatRef.current);
|
|
316
|
+
}
|
|
317
|
+
// 若开始时间晚于结束时间,结束时间同步为开始时间
|
|
318
|
+
if (moment(startDateTime).isAfter(endDateTime)) {
|
|
319
|
+
endTimeStr = leftTimeStr;
|
|
320
|
+
endDateTime = startDateTime;
|
|
321
|
+
if (startTimeParams) {
|
|
322
|
+
setEndTimeParams(startTimeParams);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
setAllDateTimeValue([startDateTime, endDateTime]);
|
|
326
|
+
setDateValue([startDateTime, endDateTime]);
|
|
327
|
+
recordBeforeDateRef.current = [startDateTime, endDateTime];
|
|
328
|
+
_onCalendarChange([startDateTime, endDateTime], [leftTimeStr, endTimeStr], info);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
//点击确定触发的事件
|
|
333
|
+
var handleOk = function handleOk() {
|
|
334
|
+
visible && _onOpenChange(false);
|
|
335
|
+
if (!("open" in props)) {
|
|
336
|
+
setVisible(false);
|
|
337
|
+
}
|
|
338
|
+
var dateTimeValueString = dateValue.map(function (item) {
|
|
339
|
+
return formatMomentToString(item, formatRef.current);
|
|
340
|
+
});
|
|
341
|
+
_onChange(dateValue, dateTimeValueString);
|
|
342
|
+
recordQuickActiveKey.current = null;
|
|
343
|
+
if (!("value" in props)) {
|
|
344
|
+
setDateValue(dateValue);
|
|
345
|
+
recordBeforeDateRef.current = dateValue;
|
|
346
|
+
if (Array.isArray(dateValue) && dateValue.length == 2) {
|
|
347
|
+
preConfirm.current = _toConsumableArray(dateValue);
|
|
348
|
+
} else {
|
|
349
|
+
preConfirm.current = null;
|
|
350
|
+
}
|
|
351
|
+
isBtnRef.current = true;
|
|
352
|
+
}
|
|
353
|
+
_onOk(dateValue, dateTimeValueString);
|
|
354
|
+
};
|
|
355
|
+
//额外的Timepicker页脚
|
|
356
|
+
var extraTimePicker = function extraTimePicker() {
|
|
357
|
+
var startDisabledTime_ = {};
|
|
358
|
+
var endDisabledTime_ = {};
|
|
359
|
+
if (showTime) {
|
|
360
|
+
var _disabledAllTimeFunc = disabledAllTimeFunc(dateValue, startTimeParams, endTimeParams, _disabledTime(dateValue, "start"), _disabledTime(dateValue, "end")),
|
|
361
|
+
startDisabledTime = _disabledAllTimeFunc.startDisabledTime,
|
|
362
|
+
endDisabledTime = _disabledAllTimeFunc.endDisabledTime;
|
|
363
|
+
startDisabledTime_ = startDisabledTime;
|
|
364
|
+
endDisabledTime_ = endDisabledTime;
|
|
365
|
+
}
|
|
366
|
+
return /*#__PURE__*/React.createElement(ExtraTimeFooter, {
|
|
367
|
+
startTimeValue: startTimeParams,
|
|
368
|
+
startChange: changeStartTime,
|
|
369
|
+
startDisabledTime: startDisabledTime_,
|
|
370
|
+
endDisabledTime: endDisabledTime_,
|
|
371
|
+
endTimeValue: endTimeParams,
|
|
372
|
+
endChange: changeEndTime,
|
|
373
|
+
showTime: showTime,
|
|
374
|
+
onOk: handleOk,
|
|
375
|
+
getPopupContainer: function getPopupContainer(e) {
|
|
376
|
+
return e.parentElement;
|
|
377
|
+
},
|
|
378
|
+
disabledConfirm: (dateValue || []).filter(Boolean).length !== 2
|
|
379
|
+
});
|
|
380
|
+
};
|
|
381
|
+
var _useMemo = useMemo(function () {
|
|
382
|
+
var _Object$entries;
|
|
383
|
+
var _ranges = {};
|
|
384
|
+
_ranges = ranges;
|
|
385
|
+
if (quickSelect && dataSource && Array.isArray(dataSource) && dataSource.length) {
|
|
386
|
+
var newRanges = {};
|
|
387
|
+
dataSource.forEach(function (item) {
|
|
388
|
+
var name = item.name,
|
|
389
|
+
value = item.value,
|
|
390
|
+
range = item.range;
|
|
391
|
+
var startDate;
|
|
392
|
+
var endDate;
|
|
393
|
+
if (range) {
|
|
394
|
+
if (range instanceof Function) {
|
|
395
|
+
var _range = range(),
|
|
396
|
+
startTime = _range.startTime,
|
|
397
|
+
endTime = _range.endTime;
|
|
398
|
+
startDate = startTime;
|
|
399
|
+
endDate = endTime;
|
|
400
|
+
}
|
|
401
|
+
if (range instanceof Array && range.length === 2) {
|
|
402
|
+
startDate = range[0];
|
|
403
|
+
endDate = range[1];
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (startDate && endDate && name) {
|
|
407
|
+
newRanges[name] = [moment(startDate), moment(endDate)];
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
_ranges = newRanges;
|
|
411
|
+
}
|
|
412
|
+
var hasQuickSelect = Boolean((_Object$entries = Object.entries(_ranges)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.length);
|
|
413
|
+
return [hasQuickSelect, _ranges];
|
|
414
|
+
}, [ranges, quickSelect, dataSource]),
|
|
415
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
416
|
+
hasQuickSelect = _useMemo2[0],
|
|
417
|
+
_ranges = _useMemo2[1];
|
|
418
|
+
return wrapCSSVar( /*#__PURE__*/React.createElement("div", {
|
|
419
|
+
className: classnames(hashId, cssVarCls, "cw-new-range-picker-wrapper"),
|
|
420
|
+
ref: wrapperRef
|
|
421
|
+
}, /*#__PURE__*/React.createElement(RangePicker, _extends({
|
|
422
|
+
panelRender: panelRender ? panelRender : function (panelNode) {
|
|
423
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
424
|
+
className: "cw-range-picker-panel-wrapper",
|
|
425
|
+
onClick: function onClick(e) {
|
|
426
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
427
|
+
}
|
|
428
|
+
}, hasQuickSelect ? /*#__PURE__*/React.createElement(ExtraQuickSelect, {
|
|
429
|
+
ranges: _ranges,
|
|
430
|
+
quickClick: quickClick,
|
|
431
|
+
setDateValue: setDateValue,
|
|
432
|
+
setStartTimeParams: setStartTimeParams,
|
|
433
|
+
setEndTimeParams: setEndTimeParams,
|
|
434
|
+
recordBeforeDateRef: recordBeforeDateRef,
|
|
435
|
+
setAllDateTimeValue: setAllDateTimeValue,
|
|
436
|
+
recordQuickActiveKey: recordQuickActiveKey
|
|
437
|
+
}) : null, /*#__PURE__*/React.createElement("div", {
|
|
438
|
+
className: classnames("cw-range-picker-panel-right-wrapper", {
|
|
439
|
+
"cw-range-picker-panel-left-has-wrapper": hasQuickSelect
|
|
440
|
+
})
|
|
441
|
+
}, panelNode, /*#__PURE__*/React.createElement("div", {
|
|
442
|
+
className: "cw-range-picker-panel-right-footer-wrapper"
|
|
443
|
+
}, renderExtraFooter && renderExtraFooter(), extraTimePicker())));
|
|
444
|
+
},
|
|
445
|
+
open: visible,
|
|
446
|
+
format: format,
|
|
447
|
+
onChange: handleDateChange,
|
|
448
|
+
onCalendarChange: handleCalendarChange,
|
|
449
|
+
value: dateValue,
|
|
450
|
+
className: classnames(className),
|
|
451
|
+
ref: rangePickerRef,
|
|
452
|
+
inputReadOnly: true,
|
|
453
|
+
popupClassName: "cw-range-picker-custom-popup-wrapper"
|
|
454
|
+
}, rest, {
|
|
455
|
+
picker: "date",
|
|
456
|
+
onClick: function onClick(e) {
|
|
457
|
+
var _wrapperRef$current;
|
|
458
|
+
var clearIcon = (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.querySelector(".".concat(prefixCls, "-picker-clear"));
|
|
459
|
+
if (!(clearIcon !== null && clearIcon !== void 0 && clearIcon.contains(e.target))) {
|
|
460
|
+
e.nativeEvent.stopImmediatePropagation();
|
|
461
|
+
!visible && _onOpenChange(true);
|
|
462
|
+
if (!("open" in props)) {
|
|
463
|
+
setVisible(true);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}))));
|
|
468
|
+
});
|
|
469
|
+
export default _RangePicker;
|