@chaoswise/ui 3.0.21 → 3.0.23
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/Alert/index.js +48 -2
- package/lib/Alert/index.style.js +36 -0
- package/lib/Button/index.style.js +1 -3
- package/lib/CWMessage/MessageContent/TabList/index.js +14 -14
- package/lib/CWMessage/MessageContent/index.js +2 -2
- package/lib/CWMessage/index.js +6 -7
- package/lib/CWMessage/utils/generate/dayjs.js +12 -0
- package/lib/CWMessage/utils/generate/moment.js +2 -0
- package/lib/CWRangePicker/DropdownMenu/index.js +0 -1
- package/lib/CWRangePicker/utils/generate/dayjs.js +24 -12
- package/lib/ConfigProvider/customTheme.js +3 -2
- package/lib/Header/index.style.js +0 -1
- package/lib/IconSelect/components/SearchIcon/index.js +0 -1
- package/lib/LayoutWrapper/style/index.js +7 -2
- package/lib/QuickTransfer/index.js +16 -6
- package/lib/RangePicker/components/ExtraQuickSelect.js +1 -4
- package/lib/RangePicker/index.js +55 -43
- package/lib/RangePicker/utils/generate/dayjs.js +29 -15
- package/lib/RangePicker/utils/generate/moment.js +13 -11
- package/lib/ScrollLoad/index.js +0 -1
- package/lib/SiderMenu/index.js +7 -16
- package/lib/SiderMenu/index.style.js +19 -3
- package/lib/SingleSpa/import-html/process-tpl.js +5 -5
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useMouse.js +1 -1
- package/lib/TimeRangeSlider/TimeRangeSliderCmp/utils/generate/dayjs.js +20 -9
- package/lib/TimeRangeSlider/utils/generate/dayjs.js +42 -35
- package/lib/TimeRangeSlider/utils/generate/moment.js +25 -0
- package/lib/TimeZoneSelect/index.js +127 -0
- package/lib/utils/generate/dayjs.js +5 -0
- package/lib/utils/generate/moment.js +2 -1
- package/lib/utils/index.js +35 -0
- package/package.json +4 -1
package/lib/RangePicker/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import React, { useState, useEffect, useMemo, forwardRef, useRef, useCallback, u
|
|
|
17
17
|
var RangePicker = _DatePicker.RangePicker;
|
|
18
18
|
import ExtraQuickSelect from "./components/ExtraQuickSelect";
|
|
19
19
|
import ExtraTimeFooter from "./components/ExtraTimeFooter";
|
|
20
|
-
import dayjs, {
|
|
20
|
+
import dayjs, { formatStringToDate, formatDateToString, formatDateToSplit, byTimeToDate, disabledAllTimeFunc } from "./utils/generate/dayjs";
|
|
21
21
|
import classnames from "classnames";
|
|
22
22
|
import useConfigContext from "../useConfigContext";
|
|
23
23
|
import useStyle from "./index.style";
|
|
@@ -49,6 +49,18 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
49
49
|
quickSelect = _props$quickSelect === void 0 ? false : _props$quickSelect,
|
|
50
50
|
dataSource = props.dataSource,
|
|
51
51
|
rest = _objectWithoutProperties(props, _excluded);
|
|
52
|
+
var _defaultTimeOption$st = defaultTimeOption.startTimeOption,
|
|
53
|
+
startTimeOption = _defaultTimeOption$st === void 0 ? dayjs().set("hour", 0).set("minute", 0).set("second", 0) : _defaultTimeOption$st,
|
|
54
|
+
_defaultTimeOption$en = defaultTimeOption.endTimeOption,
|
|
55
|
+
endTimeOption = _defaultTimeOption$en === void 0 ? dayjs().set("hour", 0).set("minute", 0).set("second", 0) : _defaultTimeOption$en;
|
|
56
|
+
var timeFormat = useRef("HH:mm:ss"); //timepicker默认的时间格式
|
|
57
|
+
var preConfirm = useRef(null); //记录上一次点击确定的值,包括初始传进来的值
|
|
58
|
+
var formatRef = useRef(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
|
|
59
|
+
var rangePickerRef = useRef(null); // 绑定在RangePicker组件上的Ref
|
|
60
|
+
var recordBeforeDateRef = useRef(null); // 取消悬停快捷选择需要恢复的日期
|
|
61
|
+
var recordQuickActiveKey = useRef(null); // 当前快捷选择活跃项
|
|
62
|
+
var isBtnRef = useRef(false); // 是否相当于点击了确定按钮
|
|
63
|
+
var wrapperRef = useRef(null);
|
|
52
64
|
var _useState = useState(defaultValue),
|
|
53
65
|
_useState2 = _slicedToArray(_useState, 2),
|
|
54
66
|
dateValue = _useState2[0],
|
|
@@ -57,22 +69,14 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
57
69
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
58
70
|
visible = _useState4[0],
|
|
59
71
|
setVisible = _useState4[1]; //控制日期面板的显示隐藏
|
|
60
|
-
var _useState5 = useState(
|
|
72
|
+
var _useState5 = useState(startTimeOption),
|
|
61
73
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
62
74
|
startTimeParams = _useState6[0],
|
|
63
75
|
setStartTimeParams = _useState6[1]; //开始时间的参数
|
|
64
|
-
var _useState7 = useState(
|
|
76
|
+
var _useState7 = useState(endTimeOption),
|
|
65
77
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
66
78
|
endTimeParams = _useState8[0],
|
|
67
79
|
setEndTimeParams = _useState8[1]; //结束时间的参数
|
|
68
|
-
var timeFormat = useRef("HH:mm:ss"); //timepicker默认的时间格式
|
|
69
|
-
var preConfirm = useRef(null); //记录上一次点击确定的值,包括初始传进来的值
|
|
70
|
-
var formatRef = useRef(showTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
|
|
71
|
-
var rangePickerRef = useRef(null); // 绑定在RangePicker组件上的Ref
|
|
72
|
-
var recordBeforeDateRef = useRef(null); // 取消悬停快捷选择需要恢复的日期
|
|
73
|
-
var recordQuickActiveKey = useRef(null); // 当前快捷选择活跃项
|
|
74
|
-
var isBtnRef = useRef(false); // 是否相当于点击了确定按钮
|
|
75
|
-
var wrapperRef = useRef(null);
|
|
76
80
|
var _useConfigContext = useConfigContext(),
|
|
77
81
|
getPrefixCls = _useConfigContext.getPrefixCls;
|
|
78
82
|
var prefixCls = getPrefixCls();
|
|
@@ -81,10 +85,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
81
85
|
wrapCSSVar = _useStyle2[0],
|
|
82
86
|
hashId = _useStyle2[1],
|
|
83
87
|
cssVarCls = _useStyle2[2];
|
|
84
|
-
var _defaultTimeOption$st = defaultTimeOption.startTimeOption,
|
|
85
|
-
startTimeOption = _defaultTimeOption$st === void 0 ? dayjs("00:00:00", timeFormat.current) : _defaultTimeOption$st,
|
|
86
|
-
_defaultTimeOption$en = defaultTimeOption.endTimeOption,
|
|
87
|
-
endTimeOption = _defaultTimeOption$en === void 0 ? dayjs("00:00:00", timeFormat.current) : _defaultTimeOption$en;
|
|
88
88
|
//监听外部控制面板的显示隐藏状态
|
|
89
89
|
useEffect(function () {
|
|
90
90
|
if ("open" in props) {
|
|
@@ -104,12 +104,12 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
104
104
|
setDateValue(value);
|
|
105
105
|
recordBeforeDateRef.current = value;
|
|
106
106
|
preConfirm.current = value;
|
|
107
|
-
setAllDateTimeValue(value);
|
|
107
|
+
setAllDateTimeValue(Array.isArray(value) && !value.length ? null : value);
|
|
108
108
|
} else if ("defaultValue" in props) {
|
|
109
109
|
setDateValue(defaultValue);
|
|
110
110
|
recordBeforeDateRef.current = defaultValue;
|
|
111
111
|
preConfirm.current = defaultValue;
|
|
112
|
-
setAllDateTimeValue(defaultValue);
|
|
112
|
+
setAllDateTimeValue(Array.isArray(defaultValue) && !defaultValue.length ? null : defaultValue);
|
|
113
113
|
}
|
|
114
114
|
}, [defaultValue, value]);
|
|
115
115
|
var format = useMemo(function () {
|
|
@@ -128,7 +128,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
128
128
|
}, [visible]);
|
|
129
129
|
//点击取消触发的事件
|
|
130
130
|
var handleCancel = function handleCancel() {
|
|
131
|
-
if (preConfirm.current && preConfirm.current
|
|
131
|
+
if (Array.isArray(preConfirm.current) && preConfirm.current.length) {
|
|
132
132
|
setStartTimeParams(preConfirm.current[0]);
|
|
133
133
|
setEndTimeParams(preConfirm.current[1]);
|
|
134
134
|
setDateValue(preConfirm.current);
|
|
@@ -161,8 +161,9 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
161
161
|
var setAllDateTimeValue = function setAllDateTimeValue(value) {
|
|
162
162
|
if (!showTime) return;
|
|
163
163
|
if (value && value.length === 2) {
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
// 此次转化为修复日期组件的回显问题:0时区
|
|
165
|
+
setStartTimeParams(value[0].set("hour", value[0].get("hour")).set("minute", value[0].get("minute")).set("second", value[0].get("second")));
|
|
166
|
+
setEndTimeParams(value[1].set("hour", value[1].get("hour")).set("minute", value[1].get("minute")).set("second", value[1].get("second")));
|
|
166
167
|
} else {
|
|
167
168
|
setStartTimeParams(startTimeOption);
|
|
168
169
|
setEndTimeParams(endTimeOption);
|
|
@@ -171,11 +172,13 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
171
172
|
// TimePicker开始时间改变触发的事件
|
|
172
173
|
var changeStartTime = function changeStartTime(newStartTime) {
|
|
173
174
|
if (!newStartTime) return;
|
|
175
|
+
// 此次转化为修复日期组件的回显问题:0时区
|
|
176
|
+
newStartTime = newStartTime.set("hour", newStartTime.get("hour")).set("minute", newStartTime.get("minute")).set("second", newStartTime.get("second"));
|
|
174
177
|
setStartTimeParams(newStartTime);
|
|
175
178
|
isBtnRef.current = false;
|
|
176
179
|
if (Array.isArray(dateValue)) {
|
|
177
180
|
if (dateValue[0]) {
|
|
178
|
-
var leftDateTime =
|
|
181
|
+
var leftDateTime = byTimeToDate(newStartTime, dateValue[0]);
|
|
179
182
|
var rightDateTime = dateValue[1];
|
|
180
183
|
if (dayjs(leftDateTime).isAfter(dateValue[1])) {
|
|
181
184
|
rightDateTime = leftDateTime;
|
|
@@ -189,11 +192,13 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
189
192
|
// TimePicker结束时间改变触发的事件
|
|
190
193
|
var changeEndTime = function changeEndTime(newEndTime) {
|
|
191
194
|
if (!newEndTime) return;
|
|
195
|
+
// 此次转化为修复日期组件的回显问题:0时区
|
|
196
|
+
newEndTime = newEndTime.set("hour", newEndTime.get("hour")).set("minute", newEndTime.get("minute")).set("second", newEndTime.get("second"));
|
|
192
197
|
setEndTimeParams(newEndTime);
|
|
193
198
|
isBtnRef.current = false;
|
|
194
199
|
if (Array.isArray(dateValue)) {
|
|
195
200
|
if (dateValue[1]) {
|
|
196
|
-
var rightDateTime =
|
|
201
|
+
var rightDateTime = byTimeToDate(newEndTime, dateValue[1]);
|
|
197
202
|
setDateValue([dateValue[0], rightDateTime]);
|
|
198
203
|
recordBeforeDateRef.current = [dateValue[0], rightDateTime];
|
|
199
204
|
}
|
|
@@ -227,8 +232,8 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
227
232
|
}
|
|
228
233
|
if (startDateTime && endDateTime) {
|
|
229
234
|
var _dateVal = [dayjs(startDateTime), dayjs(endDateTime)];
|
|
230
|
-
var startDateTimeString =
|
|
231
|
-
var endDateTimeString =
|
|
235
|
+
var startDateTimeString = formatDateToString(startDateTime, formatRef.current);
|
|
236
|
+
var endDateTimeString = formatDateToString(endDateTime, formatRef.current);
|
|
232
237
|
setStartTimeParams(dayjs(startDateTime));
|
|
233
238
|
setEndTimeParams(dayjs(endDateTime));
|
|
234
239
|
_onCalendarChange(_dateVal, [startDateTimeString, endDateTimeString], {
|
|
@@ -261,7 +266,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
261
266
|
};
|
|
262
267
|
//面板值改变触发的回调 主要用于处理时间
|
|
263
268
|
var handleCalendarChange = function handleCalendarChange(calendarDate, dateStrings, info) {
|
|
264
|
-
// rangePickerRef.current?.focus({index: info.range === "start" ? 1 : 0})
|
|
265
269
|
if (!calendarDate) {
|
|
266
270
|
_onCalendarChange(calendarDate, dateStrings, info);
|
|
267
271
|
setAllDateTimeValue(calendarDate);
|
|
@@ -277,12 +281,12 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
277
281
|
isBtnRef.current = false;
|
|
278
282
|
var calendarDateTruth = calendarDate.filter(Boolean);
|
|
279
283
|
if (calendarDateTruth.length == 1) {
|
|
280
|
-
var CalendarDateStr =
|
|
284
|
+
var CalendarDateStr = formatDateToSplit(calendarDateTruth[0], formatRef.current)[0];
|
|
281
285
|
var dateTimeValue = calendarDateTruth[0];
|
|
282
286
|
if (info.range == "start") {
|
|
283
287
|
if (startTimeParams) {
|
|
284
|
-
var TimeStr =
|
|
285
|
-
var StartDateTime =
|
|
288
|
+
var TimeStr = formatDateToString(startTimeParams, timeFormat.current);
|
|
289
|
+
var StartDateTime = formatStringToDate(CalendarDateStr + " " + TimeStr, formatRef.current);
|
|
286
290
|
dateTimeValue = StartDateTime;
|
|
287
291
|
_onCalendarChange([StartDateTime, null], [TimeStr, ""], info);
|
|
288
292
|
}
|
|
@@ -290,8 +294,8 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
290
294
|
recordBeforeDateRef.current = [dateTimeValue, null];
|
|
291
295
|
} else if (info.range == "end") {
|
|
292
296
|
if (endTimeParams) {
|
|
293
|
-
var _TimeStr =
|
|
294
|
-
var EndDateTime =
|
|
297
|
+
var _TimeStr = formatDateToString(endTimeParams, timeFormat.current);
|
|
298
|
+
var EndDateTime = formatStringToDate(CalendarDateStr + " " + _TimeStr, formatRef.current);
|
|
295
299
|
dateTimeValue = EndDateTime;
|
|
296
300
|
_onCalendarChange([null, EndDateTime], [_TimeStr, ""], info);
|
|
297
301
|
}
|
|
@@ -299,27 +303,24 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
299
303
|
recordBeforeDateRef.current = [null, dateTimeValue];
|
|
300
304
|
}
|
|
301
305
|
} else if (calendarDateTruth.length == 2) {
|
|
302
|
-
var leftCalendarDateStr =
|
|
303
|
-
var rightCalendarDateStr =
|
|
306
|
+
var leftCalendarDateStr = formatDateToSplit(calendarDateTruth[0], formatRef.current)[0];
|
|
307
|
+
var rightCalendarDateStr = formatDateToSplit(calendarDateTruth[1], formatRef.current)[0];
|
|
304
308
|
var startDateTime = calendarDateTruth[0];
|
|
305
309
|
var endDateTime = calendarDateTruth[1];
|
|
306
310
|
var leftTimeStr = dateStrings[0];
|
|
307
311
|
var endTimeStr = dateStrings[1];
|
|
308
312
|
if (startTimeParams) {
|
|
309
|
-
leftTimeStr =
|
|
310
|
-
startDateTime =
|
|
313
|
+
leftTimeStr = formatDateToString(startTimeParams, timeFormat.current);
|
|
314
|
+
startDateTime = formatStringToDate(leftCalendarDateStr + " " + leftTimeStr, formatRef.current);
|
|
311
315
|
}
|
|
312
316
|
if (endTimeParams) {
|
|
313
|
-
endTimeStr =
|
|
314
|
-
endDateTime =
|
|
317
|
+
endTimeStr = formatDateToString(endTimeParams, timeFormat.current);
|
|
318
|
+
endDateTime = formatStringToDate(rightCalendarDateStr + " " + endTimeStr, formatRef.current);
|
|
315
319
|
}
|
|
316
320
|
// 若开始时间晚于结束时间,结束时间同步为开始时间
|
|
317
321
|
if (dayjs(startDateTime).isAfter(endDateTime)) {
|
|
318
322
|
endTimeStr = leftTimeStr;
|
|
319
323
|
endDateTime = startDateTime;
|
|
320
|
-
if (startTimeParams) {
|
|
321
|
-
setEndTimeParams(startTimeParams);
|
|
322
|
-
}
|
|
323
324
|
}
|
|
324
325
|
setAllDateTimeValue([startDateTime, endDateTime]);
|
|
325
326
|
setDateValue([startDateTime, endDateTime]);
|
|
@@ -335,7 +336,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
335
336
|
setVisible(false);
|
|
336
337
|
}
|
|
337
338
|
var dateTimeValueString = dateValue.map(function (item) {
|
|
338
|
-
return
|
|
339
|
+
return formatDateToString(item, formatRef.current);
|
|
339
340
|
});
|
|
340
341
|
_onChange(dateValue, dateTimeValueString);
|
|
341
342
|
recordQuickActiveKey.current = null;
|
|
@@ -414,6 +415,19 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
414
415
|
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
415
416
|
hasQuickSelect = _useMemo2[0],
|
|
416
417
|
_ranges = _useMemo2[1];
|
|
418
|
+
var _dateValue = useMemo(function () {
|
|
419
|
+
// 此次转化为修复日期组件的回显问题:0时区
|
|
420
|
+
var _dateValue = dateValue;
|
|
421
|
+
if (Array.isArray(_dateValue)) {
|
|
422
|
+
if (_dateValue[0]) {
|
|
423
|
+
_dateValue[0] = dayjs(_dateValue[0]);
|
|
424
|
+
}
|
|
425
|
+
if (_dateValue[1]) {
|
|
426
|
+
_dateValue[1] = dayjs(_dateValue[1]);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
return _dateValue;
|
|
430
|
+
}, [dateValue]);
|
|
417
431
|
return wrapCSSVar(/*#__PURE__*/React.createElement("div", {
|
|
418
432
|
className: classnames(hashId, cssVarCls, "cw-new-range-picker-wrapper"),
|
|
419
433
|
ref: wrapperRef
|
|
@@ -428,8 +442,6 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
428
442
|
ranges: _ranges,
|
|
429
443
|
quickClick: quickClick,
|
|
430
444
|
setDateValue: setDateValue,
|
|
431
|
-
setStartTimeParams: setStartTimeParams,
|
|
432
|
-
setEndTimeParams: setEndTimeParams,
|
|
433
445
|
recordBeforeDateRef: recordBeforeDateRef,
|
|
434
446
|
setAllDateTimeValue: setAllDateTimeValue,
|
|
435
447
|
recordQuickActiveKey: recordQuickActiveKey
|
|
@@ -445,7 +457,7 @@ var _RangePicker = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
445
457
|
format: format,
|
|
446
458
|
onChange: handleDateChange,
|
|
447
459
|
onCalendarChange: handleCalendarChange,
|
|
448
|
-
value:
|
|
460
|
+
value: _dateValue,
|
|
449
461
|
className: classnames(className),
|
|
450
462
|
ref: rangePickerRef,
|
|
451
463
|
inputReadOnly: true,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _originalDayjs$tz;
|
|
1
2
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
3
|
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."); }
|
|
3
4
|
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; } }
|
|
@@ -5,7 +6,18 @@ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Sym
|
|
|
5
6
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
7
|
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; }
|
|
7
8
|
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); }
|
|
8
|
-
import
|
|
9
|
+
import originalDayjs from "dayjs";
|
|
10
|
+
import utc from "dayjs/plugin/utc";
|
|
11
|
+
import timezone from "dayjs/plugin/timezone";
|
|
12
|
+
// 扩展 dayjs 支持时区
|
|
13
|
+
originalDayjs.extend(utc);
|
|
14
|
+
originalDayjs.extend(timezone);
|
|
15
|
+
var timeZone = ((_originalDayjs$tz = originalDayjs.tz()) === null || _originalDayjs$tz === void 0 || (_originalDayjs$tz = _originalDayjs$tz.$x) === null || _originalDayjs$tz === void 0 ? void 0 : _originalDayjs$tz.$timezone) || originalDayjs.tz.guess();
|
|
16
|
+
// 封装 dayjs 函数,使其每次调用时自动应用当前的全局时区
|
|
17
|
+
var dayjs = function dayjs() {
|
|
18
|
+
var instance = originalDayjs.apply(void 0, arguments);
|
|
19
|
+
return instance.tz();
|
|
20
|
+
};
|
|
9
21
|
var timeFormat = "HH:mm:ss";
|
|
10
22
|
var dateFormat = "YYYY-MM-DD HH:mm:ss";
|
|
11
23
|
// 符合禁用规则的时间集合
|
|
@@ -17,28 +29,30 @@ export function range(start, end) {
|
|
|
17
29
|
return result;
|
|
18
30
|
}
|
|
19
31
|
|
|
20
|
-
|
|
21
|
-
export function
|
|
22
|
-
return dayjs(dateTime).format(format);
|
|
32
|
+
// 格式化时间为字符串
|
|
33
|
+
export function formatDateToString(dateTime, format) {
|
|
34
|
+
return originalDayjs.isDayjs(dateTime) ? dateTime.format(format) : dayjs(dateTime).format(format);
|
|
23
35
|
}
|
|
24
36
|
|
|
25
|
-
|
|
26
|
-
export function
|
|
37
|
+
// 格式化时间为字符串,并将其切割date time的一个数组
|
|
38
|
+
export function formatDateToSplit(dateTime, format) {
|
|
27
39
|
var sp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : " ";
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
export function dateStringToSplit(dateTimeString) {
|
|
31
|
-
var sp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " ";
|
|
32
|
-
return dateTimeString.split(sp);
|
|
40
|
+
return formatDateToString(dateTime, format).split(sp);
|
|
33
41
|
}
|
|
42
|
+
|
|
34
43
|
/**
|
|
35
44
|
* 时间选择器变换后包装到最终显示时间上
|
|
36
45
|
*/
|
|
37
|
-
export function
|
|
38
|
-
var DateStr =
|
|
39
|
-
var TimeStr =
|
|
46
|
+
export function byTimeToDate(currentTime, currentDate) {
|
|
47
|
+
var DateStr = formatDateToSplit(currentDate, dateFormat)[0];
|
|
48
|
+
var TimeStr = formatDateToString(currentTime, timeFormat);
|
|
40
49
|
var leftDateTimeStr = DateStr + " " + TimeStr;
|
|
41
|
-
return
|
|
50
|
+
return formatStringToDate(leftDateTimeStr, dateFormat);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// 将时间字符串按照format格式化为dayjs时间。上海时区2024-1-1 12:00:00——》纽约时区2024-1-1 12:00:00
|
|
54
|
+
export function formatStringToDate(dateString, format) {
|
|
55
|
+
return originalDayjs(dateString, format).tz(timeZone, true);
|
|
42
56
|
}
|
|
43
57
|
|
|
44
58
|
//是否是对象
|
|
@@ -18,27 +18,29 @@ export function range(start, end) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
//格式化时间为字符串
|
|
21
|
-
export function
|
|
21
|
+
export function formatDateToString(dateTime, format) {
|
|
22
22
|
return moment(dateTime).format(format);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
//格式化时间为字符串,并将其切割date time的一个数组
|
|
26
|
-
export function
|
|
26
|
+
export function formatDateToSplit(dateTime, format) {
|
|
27
27
|
var sp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : " ";
|
|
28
|
-
return
|
|
29
|
-
}
|
|
30
|
-
export function dateStringToSplit(dateTimeString) {
|
|
31
|
-
var sp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " ";
|
|
32
|
-
return dateTimeString.split(sp);
|
|
28
|
+
return formatDateToString(dateTime, format).split(sp);
|
|
33
29
|
}
|
|
30
|
+
|
|
34
31
|
/**
|
|
35
32
|
* 时间选择器变换后包装到最终显示时间上
|
|
36
33
|
*/
|
|
37
|
-
export function
|
|
38
|
-
var DateStr =
|
|
39
|
-
var TimeStr =
|
|
34
|
+
export function byTimeToDate(currentTime, currentDate) {
|
|
35
|
+
var DateStr = formatDateToSplit(currentDate, dateFormat)[0];
|
|
36
|
+
var TimeStr = formatDateToString(currentTime, timeFormat);
|
|
40
37
|
var leftDateTimeStr = DateStr + " " + TimeStr;
|
|
41
|
-
return
|
|
38
|
+
return formatStringToDate(leftDateTimeStr, dateFormat);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 将时间字符串按照format格式化为moment时间。上海时区2024-1-1 12:00:00——》纽约时区2024-1-1 12:00:00
|
|
42
|
+
export function formatStringToDate(dateString, format) {
|
|
43
|
+
return moment(dateString, format);
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
//是否是对象
|
package/lib/ScrollLoad/index.js
CHANGED
package/lib/SiderMenu/index.js
CHANGED
|
@@ -16,6 +16,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
|
16
16
|
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; }
|
|
17
17
|
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; }
|
|
18
18
|
import React, { useMemo, useCallback } from "react";
|
|
19
|
+
import { DownOutlined } from "@ant-design/icons";
|
|
19
20
|
import PropTypes from "prop-types";
|
|
20
21
|
import classnames from "classnames";
|
|
21
22
|
import useConfigContext from "../useConfigContext";
|
|
@@ -180,22 +181,12 @@ function CWMenu(_ref) {
|
|
|
180
181
|
},
|
|
181
182
|
mode: "inline",
|
|
182
183
|
defaultSelectedKeys: defaultSelectedKey ? [defaultSelectedKey] : [defaultKey],
|
|
183
|
-
inlineIndent: 12
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
// 'cw-expand-arrow': true,
|
|
190
|
-
// 'cw-expand-arrow-open': item.isOpen
|
|
191
|
-
// })
|
|
192
|
-
// }
|
|
193
|
-
// >
|
|
194
|
-
// <DownOutlined />
|
|
195
|
-
// </span>
|
|
196
|
-
// )
|
|
197
|
-
// }}
|
|
198
|
-
,
|
|
184
|
+
inlineIndent: 12,
|
|
185
|
+
expandIcon: function expandIcon(item) {
|
|
186
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
187
|
+
className: classnames(_defineProperty(_defineProperty({}, "".concat(prefixCls, "-expand-arrow"), true), "".concat(prefixCls, "-expand-arrow-open"), item.isOpen))
|
|
188
|
+
}, /*#__PURE__*/React.createElement(DownOutlined, null));
|
|
189
|
+
},
|
|
199
190
|
defaultOpenKeys: defaultOpenKeys,
|
|
200
191
|
items: items
|
|
201
192
|
}, rest))));
|
|
@@ -5,15 +5,31 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
5
5
|
import { genStyleHooks } from "../Antd5/theme/internal";
|
|
6
6
|
var genCustomSiderMenuStyle = function genCustomSiderMenuStyle(token) {
|
|
7
7
|
var prefixCls = token.antCls,
|
|
8
|
-
|
|
8
|
+
iconCls = token.iconCls;
|
|
9
9
|
var SiderMenuPrefix = "".concat(prefixCls, "-sider-menu");
|
|
10
|
-
return _defineProperty({}, "".concat(SiderMenuPrefix, "-goup-label"), {
|
|
10
|
+
return _defineProperty(_defineProperty({}, "".concat(SiderMenuPrefix, "-goup-label"), {
|
|
11
11
|
borderBottom: "1px solid rgb(246, 247, 248)",
|
|
12
12
|
width: "calc(100% + 14px)",
|
|
13
13
|
marginLeft: "-7px",
|
|
14
14
|
paddingBottom: "8px",
|
|
15
15
|
color: token.colorText
|
|
16
|
-
})
|
|
16
|
+
}), "".concat(SiderMenuPrefix, "-expand-arrow"), _defineProperty(_defineProperty({
|
|
17
|
+
position: "absolute",
|
|
18
|
+
top: "0",
|
|
19
|
+
right: "8px",
|
|
20
|
+
height: "100%",
|
|
21
|
+
width: "12px",
|
|
22
|
+
fontSize: "12px",
|
|
23
|
+
lineHeight: "40px"
|
|
24
|
+
}, iconCls, {
|
|
25
|
+
minWidth: "12px !important",
|
|
26
|
+
fontSize: "12px !important",
|
|
27
|
+
transition: "transform 0.3s !important"
|
|
28
|
+
}), "&&-open", _defineProperty({
|
|
29
|
+
color: token.colorPrimary
|
|
30
|
+
}, iconCls, {
|
|
31
|
+
transform: "rotate(180deg)"
|
|
32
|
+
})));
|
|
17
33
|
};
|
|
18
34
|
// ============================== Export ==============================
|
|
19
35
|
export default genStyleHooks("SiderMenu", function (token) {
|
|
@@ -6,14 +6,14 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6
6
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
7
|
import { getInlineCode, isModuleScriptSupported } from './utils';
|
|
8
8
|
var ALL_SCRIPT_REGEX = /(<script[\s\S]*?>)[\s\S]*?<\/script>/gi;
|
|
9
|
-
var SCRIPT_TAG_REGEX = /<(script)\s+((?!type=('|")text\/ng\
|
|
9
|
+
var SCRIPT_TAG_REGEX = /<(script)\s+((?!type=('|")text\/ng-template\3)[^])*?>[^]*?<\/\1>/i;
|
|
10
10
|
var SCRIPT_SRC_REGEX = /.*\ssrc=('|")?([^>'"\s]+)/;
|
|
11
11
|
var SCRIPT_TYPE_REGEX = /.*\stype=('|")?([^>'"\s]+)/;
|
|
12
12
|
var SCRIPT_ENTRY_REGEX = /.*\sentry\s*.*/;
|
|
13
13
|
var SCRIPT_ASYNC_REGEX = /.*\sasync\s*.*/;
|
|
14
14
|
var SCRIPT_NO_MODULE_REGEX = /.*\snomodule\s*.*/;
|
|
15
15
|
var SCRIPT_MODULE_REGEX = /.*\stype=('|")?module('|")?\s*.*/;
|
|
16
|
-
var LINK_TAG_REGEX = /<(link)\s+[
|
|
16
|
+
var LINK_TAG_REGEX = /<(link)\s+[^]*?>/ig;
|
|
17
17
|
var LINK_PRELOAD_OR_PREFETCH_REGEX = /\srel=('|")?(preload|prefetch)\1/;
|
|
18
18
|
var LINK_HREF_REGEX = /.*\shref=('|")?([^>'"\s]+)/;
|
|
19
19
|
var LINK_AS_FONT = /.*\sas=('|")?font\1.*/;
|
|
@@ -21,9 +21,9 @@ var STYLE_TAG_REGEX = /<style[^>]*>[\s\S]*?<\/style>/gi;
|
|
|
21
21
|
var STYLE_TYPE_REGEX = /\s+rel=('|")?stylesheet\1.*/;
|
|
22
22
|
var STYLE_HREF_REGEX = /.*\shref=('|")?([^>'"\s]+)/;
|
|
23
23
|
var HTML_COMMENT_REGEX = /<!--([\s\S]*?)-->/g;
|
|
24
|
-
var LINK_IGNORE_REGEX = /<link(\s+|\s+[
|
|
25
|
-
var STYLE_IGNORE_REGEX = /<style(\s+|\s+[
|
|
26
|
-
var SCRIPT_IGNORE_REGEX = /<script(\s+|\s+[
|
|
24
|
+
var LINK_IGNORE_REGEX = /<link(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
|
|
25
|
+
var STYLE_IGNORE_REGEX = /<style(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
|
|
26
|
+
var SCRIPT_IGNORE_REGEX = /<script(\s+|\s+[^]+\s+)ignore(\s*|\s+[^]*|=[^]*)>/i;
|
|
27
27
|
function hasProtocol(url) {
|
|
28
28
|
return url.startsWith('//') || url.startsWith('http://') || url.startsWith('https://');
|
|
29
29
|
}
|
|
@@ -87,7 +87,7 @@ var useMouse = function useMouse(_ref) {
|
|
|
87
87
|
canDrag: true
|
|
88
88
|
});
|
|
89
89
|
var isHoverBottomWrapper = useHover(TimeRangeSliderBottomWrapperRef);
|
|
90
|
-
var millisecondsOfTheDay =
|
|
90
|
+
var millisecondsOfTheDay = 86400000; // 一天的毫秒数 86400000
|
|
91
91
|
var minWidth = min / millisecondsOfTheDay * timeSliderWidth;
|
|
92
92
|
var maxWidth = max / millisecondsOfTheDay * timeSliderWidth;
|
|
93
93
|
useEffect(function () {
|
|
@@ -4,12 +4,23 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
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; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
6
|
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); }
|
|
7
|
-
import
|
|
7
|
+
import originalDayjs from "dayjs";
|
|
8
8
|
import duration from "dayjs/plugin/duration";
|
|
9
9
|
import isSameOrAfter_dayjs from "dayjs/plugin/isSameOrAfter";
|
|
10
|
-
dayjs
|
|
11
|
-
dayjs
|
|
10
|
+
import utc from "dayjs/plugin/utc";
|
|
11
|
+
import timezone from "dayjs/plugin/timezone";
|
|
12
12
|
import { round } from "lodash-es";
|
|
13
|
+
originalDayjs.extend(isSameOrAfter_dayjs);
|
|
14
|
+
originalDayjs.extend(duration);
|
|
15
|
+
// 扩展 dayjs 支持时区
|
|
16
|
+
originalDayjs.extend(utc);
|
|
17
|
+
originalDayjs.extend(timezone);
|
|
18
|
+
// 封装 dayjs 函数,使其每次调用时自动应用当前的全局时区
|
|
19
|
+
var dayjs = function dayjs() {
|
|
20
|
+
var instance = originalDayjs.apply(void 0, arguments);
|
|
21
|
+
return instance.tz();
|
|
22
|
+
};
|
|
23
|
+
|
|
13
24
|
// 获取所有日期 最近30天: 年月日
|
|
14
25
|
// 第一天和最后一天合并成一天(上部分)
|
|
15
26
|
export var getAllDates = function getAllDates(date, days) {
|
|
@@ -60,7 +71,7 @@ export var getConvertedDateData = function getConvertedDateData(dates, singleWid
|
|
|
60
71
|
};
|
|
61
72
|
// 获取传入日期的相关数据(上部分)
|
|
62
73
|
var getDateInfo = function getDateInfo(date, index, left, singleWidth, lastWidth, days) {
|
|
63
|
-
var millisecondsOfTheDay =
|
|
74
|
+
var millisecondsOfTheDay = originalDayjs.duration(1, "days").valueOf(); // 一天的毫秒数 86400000
|
|
64
75
|
var millisecondsOfTheDate = dayjs(date).valueOf(); // 传入日期的毫秒数
|
|
65
76
|
var millisecondsOfTheDateStart = dayjs(date).startOf("day").valueOf(); // 传入日期的开始时间的毫秒数
|
|
66
77
|
var millisecondsOfTheDateEnd = dayjs(date).endOf("day").valueOf(); // 传入日期的结束时间的毫秒数
|
|
@@ -84,7 +95,7 @@ var getDateInfo = function getDateInfo(date, index, left, singleWidth, lastWidth
|
|
|
84
95
|
};
|
|
85
96
|
// 根据left位置获取日期(上部分)
|
|
86
97
|
export var getDateInfoByPositionInfo = function getDateInfoByPositionInfo(left, allWidth, currentMoment, days) {
|
|
87
|
-
var millisecondsOfRecentlyMonth =
|
|
98
|
+
var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
|
|
88
99
|
var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认为最近30天的开始时间的毫秒数
|
|
89
100
|
var diffTime = round(left / allWidth * millisecondsOfRecentlyMonth);
|
|
90
101
|
var millisecondsOfTheDate = Number(diffTime);
|
|
@@ -97,7 +108,7 @@ export var getDateInfoByPositionInfo = function getDateInfoByPositionInfo(left,
|
|
|
97
108
|
};
|
|
98
109
|
// 根据日期获取left位置(上部分)
|
|
99
110
|
export var getPositionInfoByDateInfo = function getPositionInfoByDateInfo(date, allWidth, currentMoment, days) {
|
|
100
|
-
var millisecondsOfRecentlyMonth =
|
|
111
|
+
var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
|
|
101
112
|
var millisecondsOfTheDate = dayjs(date).valueOf(); // 传入日期的毫秒数
|
|
102
113
|
var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认最近30天的开始时间的毫秒数
|
|
103
114
|
var diffTime = millisecondsOfTheDate - millisecondsOfRecentlyMonthStart;
|
|
@@ -153,7 +164,7 @@ export var getPositionInfoByTimeDateInfo = function getPositionInfoByTimeDateInf
|
|
|
153
164
|
width: width
|
|
154
165
|
};
|
|
155
166
|
}
|
|
156
|
-
var millisecondsOfRecentlyMonth =
|
|
167
|
+
var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认30天的毫秒数 2592000000
|
|
157
168
|
var millisecondsOfTheDateStart = getValueOfDateByDate(date[0]); // 传入日期的毫秒数开始值
|
|
158
169
|
var millisecondsOfTheDateEnd = getValueOfDateByDate(date[1]); // 传入日期的毫秒数结束值
|
|
159
170
|
var millisecondsOfTheDateRecordTimeDataStart = getValueOfDateByDate(recordTimeDateWrapper[0]); // 容器轴开始时间点的毫秒数
|
|
@@ -173,7 +184,7 @@ export var getPositionInfoByTimeDateInfo = function getPositionInfoByTimeDateInf
|
|
|
173
184
|
};
|
|
174
185
|
// 传入left和width获取日期(下部分)
|
|
175
186
|
export var getTimeDateInfoByPositionInfo = function getTimeDateInfoByPositionInfo(left, width, allWidth, currentMoment, recordTimeDateWrapper, days) {
|
|
176
|
-
var millisecondsOfRecentlyMonth =
|
|
187
|
+
var millisecondsOfRecentlyMonth = originalDayjs.duration(days, "days").valueOf(); // 默认为30天的毫秒数 2592000000
|
|
177
188
|
var millisecondsOfRecentlyMonthStart = currentMoment.clone().subtract(days, "days").valueOf(); // 默认为最近30天的开始时间的毫秒数
|
|
178
189
|
var millisecondsOfTheDateRecordTimeDataStart = getValueOfDateByDate(recordTimeDateWrapper[0]); // 容器轴开始时间点的毫秒数
|
|
179
190
|
var diffTimeRecordTimeStart = millisecondsOfTheDateRecordTimeDataStart - millisecondsOfRecentlyMonthStart; // 容器轴开始时间点于默认最近30天开始时间的毫秒差
|
|
@@ -237,7 +248,7 @@ export var computeTimeSpan = function computeTimeSpan(value) {
|
|
|
237
248
|
if (timeDiff >= 60) {
|
|
238
249
|
timeDiff = Number(timeDiff + 1);
|
|
239
250
|
}
|
|
240
|
-
var duration =
|
|
251
|
+
var duration = originalDayjs.duration(timeDiff, "s");
|
|
241
252
|
var _duration$$d = duration.$d,
|
|
242
253
|
years = _duration$$d.years,
|
|
243
254
|
months = _duration$$d.months,
|