@chaoswise/ui 2.5.1 → 2.5.3

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.
Files changed (73) hide show
  1. package/lib/Ace/ace.js +6 -7
  2. package/lib/Ace/diff.js +6 -7
  3. package/lib/Ace/split.js +6 -7
  4. package/lib/Antd4Form/FormItemChildren.js +5 -6
  5. package/lib/CWSelect/antd-select.js +6 -7
  6. package/lib/CWTable/util.js +1 -1
  7. package/lib/CWTree/index.js +65 -64
  8. package/lib/CWUpload/upload/Upload.js +5 -6
  9. package/lib/CWUpload/upload/UploadList.js +5 -6
  10. package/lib/Checkbox/Checkbox.js +6 -7
  11. package/lib/Checkbox/Group.js +6 -7
  12. package/lib/ConfigProvider/useLocale.js +2 -1
  13. package/lib/ErrorBoundary/index.js +6 -7
  14. package/lib/FilterDropDown/drag.svg +17 -0
  15. package/lib/Mention/index.js +3 -3
  16. package/lib/Menu/index.js +0 -8
  17. package/lib/Menu/menu/MenuItem.js +5 -6
  18. package/lib/Menu/menu/SubMenu.js +5 -6
  19. package/lib/Menu/menu/index.js +6 -8
  20. package/lib/Modal/Modal.js +6 -7
  21. package/lib/ModuleFederation/ErrorBoundary/index.js +5 -6
  22. package/lib/QuickTransfer/CheckList.js +53 -0
  23. package/lib/QuickTransfer/TopicList.js +152 -0
  24. package/lib/Radio/Group.js +6 -7
  25. package/lib/Radio/Radio.js +6 -7
  26. package/lib/Select/index.js +3 -4
  27. package/lib/SiderMenu/Item.js +5 -6
  28. package/lib/SingleSpa/hooks/useErrorHandle.js +65 -0
  29. package/lib/SingleSpa/hooks/useModel.js +31 -0
  30. package/lib/SingleSpa/import-html/utils.js +14 -11
  31. package/lib/SingleSpa/index.js +35 -13
  32. package/lib/SingleSpa/singleSpa/single-spa.dev.js +11 -6
  33. package/lib/SingleSpa/system/amd.js +1 -0
  34. package/lib/SingleSpa/system/system.js +23 -16
  35. package/lib/SingleSpa/utils.js +15 -2
  36. package/lib/Table/index.js +29 -2
  37. package/lib/Table/util.js +15 -0
  38. package/lib/TimeRangeSlider/Refresh/index.js +161 -0
  39. package/lib/TimeRangeSlider/Refresh/index.less +26 -0
  40. package/lib/TimeRangeSlider/TimeRangeSliderCmp/assets/LimitAreaSvg.js +110 -0
  41. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/BottomPlaceholder.js +70 -0
  42. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/BottomTimeDateProcess.js +36 -0
  43. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/index.js +38 -0
  44. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/BottomSlider/index.less +113 -0
  45. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/TopDateProcess.js +36 -0
  46. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/TopPlaceholder.js +36 -0
  47. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/index.js +31 -0
  48. package/lib/TimeRangeSlider/TimeRangeSliderCmp/components/TopSlider/index.less +79 -0
  49. package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useHover.js +31 -0
  50. package/lib/TimeRangeSlider/TimeRangeSliderCmp/hooks/useMouse.js +325 -0
  51. package/lib/TimeRangeSlider/TimeRangeSliderCmp/index.js +73 -0
  52. package/lib/TimeRangeSlider/TimeRangeSliderCmp/utils/index.js +227 -0
  53. package/lib/TimeRangeSlider/TimeSpan/index.js +81 -0
  54. package/lib/TimeRangeSlider/TimeSpan/index.less +12 -0
  55. package/lib/TimeRangeSlider/assets/Calendar.js +15 -0
  56. package/lib/TimeRangeSlider/assets/Calendar2.js +15 -0
  57. package/lib/TimeRangeSlider/assets/Recover.js +18 -0
  58. package/lib/TimeRangeSlider/assets/Refresh1.js +14 -0
  59. package/lib/TimeRangeSlider/assets/Refresh2.js +14 -0
  60. package/lib/TimeRangeSlider/assets/Refresh3.js +14 -0
  61. package/lib/TimeRangeSlider/assets/live.js +19 -0
  62. package/lib/TimeRangeSlider/assets/more.js +23 -0
  63. package/lib/TimeRangeSlider/index.js +480 -0
  64. package/lib/TimeRangeSlider/index.less +122 -0
  65. package/lib/TimeRangeSlider/locale/en_US.js +29 -0
  66. package/lib/TimeRangeSlider/locale/index.js +11 -0
  67. package/lib/TimeRangeSlider/locale/zh_CN.js +29 -0
  68. package/lib/TimeRangeSlider/locale/zh_TW.js +29 -0
  69. package/lib/TimeRangeSlider/utils/index.js +712 -0
  70. package/lib/TooltipText/ResizeObserverManager.js +56 -0
  71. package/lib/TooltipText/index.js +50 -60
  72. package/lib/Tree/index.js +3 -4
  73. package/package.json +3 -2
@@ -0,0 +1,26 @@
1
+ .cw-range-picker-refresh-wrapper {
2
+ margin-left: 8px !important;
3
+ display: flex;
4
+ .@{ant-prefix}-btn {
5
+ width: 28px;
6
+ padding: 0;
7
+ }
8
+ .cw-range-picker-auto-refresh{
9
+ animation: autoRefresh 2s linear infinite;
10
+ }
11
+ .cw-range-picker-auto-refresh-wrapper{
12
+ &:not(&[disabled]){
13
+ border-color: @primary-color !important;
14
+ .cw-range-picker-auto-refresh{
15
+ color: @primary-color;
16
+ }
17
+ }
18
+
19
+ }
20
+
21
+ }
22
+ @keyframes autoRefresh{
23
+ 100%{
24
+ transform: rotate(360deg);
25
+ }
26
+ }
@@ -0,0 +1,110 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import * as React from "react";
3
+ var SvgLimitArea = function SvgLimitArea(props) {
4
+ return /*#__PURE__*/React.createElement("svg", _extends({
5
+ xmlns: "http://www.w3.org/2000/svg",
6
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
7
+ width: 6,
8
+ height: 24
9
+ }, props), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("filter", {
10
+ id: "limitArea_svg__a",
11
+ width: "109.6%",
12
+ height: "160.9%",
13
+ x: "-4.8%",
14
+ y: "-25.8%",
15
+ filterUnits: "objectBoundingBox"
16
+ }, /*#__PURE__*/React.createElement("feMorphology", {
17
+ "in": "SourceAlpha",
18
+ operator: "dilate",
19
+ radius: 4,
20
+ result: "shadowSpreadOuter1"
21
+ }), /*#__PURE__*/React.createElement("feOffset", {
22
+ dy: 9,
23
+ "in": "shadowSpreadOuter1",
24
+ result: "shadowOffsetOuter1"
25
+ }), /*#__PURE__*/React.createElement("feGaussianBlur", {
26
+ "in": "shadowOffsetOuter1",
27
+ result: "shadowBlurOuter1",
28
+ stdDeviation: 14
29
+ }), /*#__PURE__*/React.createElement("feColorMatrix", {
30
+ "in": "shadowBlurOuter1",
31
+ result: "shadowMatrixOuter1",
32
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0"
33
+ }), /*#__PURE__*/React.createElement("feOffset", {
34
+ dy: 6,
35
+ "in": "SourceAlpha",
36
+ result: "shadowOffsetOuter2"
37
+ }), /*#__PURE__*/React.createElement("feGaussianBlur", {
38
+ "in": "shadowOffsetOuter2",
39
+ result: "shadowBlurOuter2",
40
+ stdDeviation: 8
41
+ }), /*#__PURE__*/React.createElement("feColorMatrix", {
42
+ "in": "shadowBlurOuter2",
43
+ result: "shadowMatrixOuter2",
44
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0"
45
+ }), /*#__PURE__*/React.createElement("feMorphology", {
46
+ "in": "SourceAlpha",
47
+ radius: 2,
48
+ result: "shadowSpreadOuter3"
49
+ }), /*#__PURE__*/React.createElement("feOffset", {
50
+ dy: 3,
51
+ "in": "shadowSpreadOuter3",
52
+ result: "shadowOffsetOuter3"
53
+ }), /*#__PURE__*/React.createElement("feGaussianBlur", {
54
+ "in": "shadowOffsetOuter3",
55
+ result: "shadowBlurOuter3",
56
+ stdDeviation: 3
57
+ }), /*#__PURE__*/React.createElement("feColorMatrix", {
58
+ "in": "shadowBlurOuter3",
59
+ result: "shadowMatrixOuter3",
60
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"
61
+ }), /*#__PURE__*/React.createElement("feMerge", null, /*#__PURE__*/React.createElement("feMergeNode", {
62
+ "in": "shadowMatrixOuter1"
63
+ }), /*#__PURE__*/React.createElement("feMergeNode", {
64
+ "in": "shadowMatrixOuter2"
65
+ }), /*#__PURE__*/React.createElement("feMergeNode", {
66
+ "in": "shadowMatrixOuter3"
67
+ }))), /*#__PURE__*/React.createElement("path", {
68
+ id: "limitArea_svg__b",
69
+ d: "M0 0h1216v192H0z"
70
+ })), /*#__PURE__*/React.createElement("g", {
71
+ fill: "none",
72
+ fillRule: "evenodd"
73
+ }, /*#__PURE__*/React.createElement("path", {
74
+ fill: "#FFF",
75
+ d: "M-1370-215H70v750h-1440z"
76
+ }), /*#__PURE__*/React.createElement("g", {
77
+ transform: "translate(-1166 -120)"
78
+ }, /*#__PURE__*/React.createElement("use", {
79
+ xlinkHref: "#limitArea_svg__b",
80
+ fill: "#000",
81
+ filter: "url(#limitArea_svg__a)"
82
+ }), /*#__PURE__*/React.createElement("use", {
83
+ xlinkHref: "#limitArea_svg__b",
84
+ fill: "#FFF"
85
+ })), /*#__PURE__*/React.createElement("path", {
86
+ fill: "#FFF",
87
+ stroke: "#000",
88
+ strokeOpacity: 0.15,
89
+ d: "M-1133.5-11.5h1151v47h-1151z"
90
+ }), /*#__PURE__*/React.createElement("path", {
91
+ fill: "#FFF",
92
+ d: "M4 2h27v20H4z"
93
+ }), /*#__PURE__*/React.createElement("text", {
94
+ fill: "#000",
95
+ fillOpacity: 0.65,
96
+ fontFamily: "PingFangSC-Regular, PingFang SC",
97
+ fontSize: 12,
98
+ transform: "translate(-1151 -32)"
99
+ }, /*#__PURE__*/React.createElement("tspan", {
100
+ x: 1155,
101
+ y: 47
102
+ }, "18:17")), /*#__PURE__*/React.createElement("path", {
103
+ fill: "#1890FF",
104
+ d: "M0 19.846c0 2.034 2.326 2.823 3.569 3.236l.248.083.11.037Q5.003 23.582 6 24V0q-.998.42-2.073.797l-.11.038-.248.083C2.326 1.331 0 2.12 0 4.154Z"
105
+ }), /*#__PURE__*/React.createElement("path", {
106
+ fill: "#FFF",
107
+ d: "M1.5 9a.5.5 0 0 1 .5.5v5a.5.5 0 1 1-1 0v-5a.5.5 0 0 1 .5-.5m3 0a.5.5 0 0 1 .5.5v5a.5.5 0 1 1-1 0v-5a.5.5 0 0 1 .5-.5"
108
+ })));
109
+ };
110
+ export default SvgLimitArea;
@@ -0,0 +1,70 @@
1
+ import "@chaoswise/ui/lib/Tooltip/index.less";
2
+ import _Tooltip from "@chaoswise/ui/lib/Tooltip";
3
+ import React, { useMemo } from "react";
4
+ import LimitAreaSvg from "../../assets/LimitAreaSvg";
5
+ import classnames from "classnames";
6
+ var BottomPlaceholder = function BottomPlaceholder(props) {
7
+ var timeSliderWidth = props.timeSliderWidth,
8
+ clickBottomWrapper = props.clickBottomWrapper,
9
+ bottomSliderInfo = props.bottomSliderInfo,
10
+ TimeRangeAreaLimitBottomSlider = props.TimeRangeAreaLimitBottomSlider,
11
+ beginMouseDown = props.beginMouseDown,
12
+ TimeRangeSliderBottomWrapperRef = props.TimeRangeSliderBottomWrapperRef,
13
+ bottomSliderHoverInfo = props.bottomSliderHoverInfo,
14
+ bottomSliderDragStatus = props.bottomSliderDragStatus,
15
+ isHoverBottomWrapper = props.isHoverBottomWrapper,
16
+ isHoverPlaceholderBottom = props.isHoverPlaceholderBottom;
17
+ var isHasTooltipTimeDate = useMemo(function () {
18
+ return Array.isArray(bottomSliderInfo.date) && bottomSliderInfo.date.length === 2;
19
+ }, [bottomSliderInfo]);
20
+ var isHasHoverTooltipTimeDate = useMemo(function () {
21
+ return Array.isArray(bottomSliderHoverInfo.date) && bottomSliderHoverInfo.date.length === 2;
22
+ }, [bottomSliderHoverInfo]);
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ style: {
25
+ width: timeSliderWidth
26
+ },
27
+ className: "time-range-slider-bottom-clone-wrapper",
28
+ onClick: clickBottomWrapper,
29
+ ref: TimeRangeSliderBottomWrapperRef
30
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
31
+ overlayClassName: "time-range-area-limit-slider-tooltip-wrapper",
32
+ title: isHasTooltipTimeDate && /*#__PURE__*/React.createElement(React.Fragment, null, bottomSliderInfo.date[0].format("YYYY/MM/DD HH:mm:ss"), " -", " ", bottomSliderInfo.date[1].format("YYYY/MM/DD HH:mm:ss")),
33
+ visible: isHoverPlaceholderBottom && bottomSliderDragStatus
34
+ }, /*#__PURE__*/React.createElement("div", {
35
+ style: {
36
+ width: bottomSliderInfo.width,
37
+ height: 48,
38
+ left: bottomSliderInfo.left
39
+ },
40
+ className: classnames("time-range-area-limit-slider-bottom-wrapper", {
41
+ "time-range-area-limit-slider-bottom-wrapper-not-drag": !bottomSliderInfo.canDrag
42
+ }),
43
+ onMouseDown: function onMouseDown(e) {
44
+ return beginMouseDown(e, "bottom");
45
+ },
46
+ ref: TimeRangeAreaLimitBottomSlider
47
+ }, /*#__PURE__*/React.createElement("div", {
48
+ className: classnames("time-range-area-limit-slider-bottom-resize"),
49
+ onMouseDown: function onMouseDown(e) {
50
+ return beginMouseDown(e, "bottom", "left");
51
+ }
52
+ }, /*#__PURE__*/React.createElement(LimitAreaSvg, null)), /*#__PURE__*/React.createElement("div", {
53
+ className: classnames("time-range-area-limit-slider-bottom-resize", "time-range-area-limit-slider-bottom-resize-right"),
54
+ onMouseDown: function onMouseDown(e) {
55
+ return beginMouseDown(e, "bottom", "right");
56
+ }
57
+ }, /*#__PURE__*/React.createElement(LimitAreaSvg, null)))), isHoverBottomWrapper && !bottomSliderDragStatus && /*#__PURE__*/React.createElement(_Tooltip, {
58
+ overlayClassName: "time-range-area-limit-slider-tooltip-wrapper",
59
+ title: isHasHoverTooltipTimeDate && /*#__PURE__*/React.createElement(React.Fragment, null, bottomSliderHoverInfo.date[0].format("YYYY/MM/DD HH:mm:ss"), " -", " ", bottomSliderHoverInfo.date[1].format("YYYY/MM/DD HH:mm:ss")),
60
+ visible: !bottomSliderDragStatus
61
+ }, /*#__PURE__*/React.createElement("div", {
62
+ style: {
63
+ width: bottomSliderHoverInfo.width,
64
+ height: 48,
65
+ left: bottomSliderHoverInfo.left
66
+ },
67
+ className: classnames("time-range-area-limit-slider-bottom-hover-wrapper")
68
+ })));
69
+ };
70
+ export default BottomPlaceholder;
@@ -0,0 +1,36 @@
1
+ import React, { useMemo } from "react";
2
+ import { getAllTimeDates, getConvertedTimeDateDataByEndDate } from "../../utils";
3
+ import classnames from "classnames";
4
+ var BottomTimeDateProcess = function BottomTimeDateProcess(props) {
5
+ var recordTimeDateWrapper = props.recordTimeDateWrapper,
6
+ timeSliderWidth = props.timeSliderWidth;
7
+ var convertedTimeDateData = useMemo(function () {
8
+ if (recordTimeDateWrapper.length === 0) return [];
9
+ var allTimeDates = getAllTimeDates(recordTimeDateWrapper[1]);
10
+ return getConvertedTimeDateDataByEndDate(allTimeDates);
11
+ }, [recordTimeDateWrapper]);
12
+ var singleWidth = timeSliderWidth / 24; // 24代表24个小时
13
+ return convertedTimeDateData.map(function (item, index) {
14
+ var indexDivisibleByThree = index % 3 === 0; // 索引能够被三整除
15
+ var isCutLine = indexDivisibleByThree && index !== 0 && index !== 24;
16
+ var isShowMMDD = index == 0 || index == 24;
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ key: index,
19
+ style: {
20
+ width: index === 0 ? 0 : singleWidth
21
+ },
22
+ className: classnames("time-range-single-slider-bottom", {
23
+ "time-range-single-odd-slider-bottom": indexDivisibleByThree
24
+ })
25
+ }, /*#__PURE__*/React.createElement("div", {
26
+ className: "time-range-single-slider-bottom-HH-MM"
27
+ }, item.HH_MM), isCutLine && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
28
+ className: classnames("time-range-single-slider-bottom-cut-line")
29
+ }), /*#__PURE__*/React.createElement("div", {
30
+ className: classnames("time-range-single-slider-bottom-cut-line", "time-range-single-slider-bottom-cut-line-bottom")
31
+ })), isShowMMDD && /*#__PURE__*/React.createElement("div", {
32
+ className: "time-range-single-slider-bottom-MM-DD"
33
+ }, item.MM_DD));
34
+ });
35
+ };
36
+ export default BottomTimeDateProcess;
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import BottomTimeDateProcess from "./BottomTimeDateProcess";
3
+ import BottomPlaceholder from "./BottomPlaceholder";
4
+ import "./index.less";
5
+ var Index = function Index(props) {
6
+ var timeSliderWidth = props.timeSliderWidth,
7
+ clickBottomWrapper = props.clickBottomWrapper,
8
+ bottomSliderInfo = props.bottomSliderInfo,
9
+ TimeRangeAreaLimitBottomSlider = props.TimeRangeAreaLimitBottomSlider,
10
+ beginMouseDown = props.beginMouseDown,
11
+ recordTimeDateWrapper = props.recordTimeDateWrapper,
12
+ TimeRangeSliderBottomWrapperRef = props.TimeRangeSliderBottomWrapperRef,
13
+ bottomSliderHoverInfo = props.bottomSliderHoverInfo,
14
+ bottomSliderDragStatus = props.bottomSliderDragStatus,
15
+ isHoverBottomWrapper = props.isHoverBottomWrapper,
16
+ isHoverPlaceholderBottom = props.isHoverPlaceholderBottom;
17
+ return /*#__PURE__*/React.createElement("div", {
18
+ className: "time-range-slider-bottom-wrapper",
19
+ style: {
20
+ width: timeSliderWidth
21
+ }
22
+ }, /*#__PURE__*/React.createElement(BottomTimeDateProcess, {
23
+ recordTimeDateWrapper: recordTimeDateWrapper,
24
+ timeSliderWidth: timeSliderWidth
25
+ }), /*#__PURE__*/React.createElement(BottomPlaceholder, {
26
+ timeSliderWidth: timeSliderWidth,
27
+ clickBottomWrapper: clickBottomWrapper,
28
+ bottomSliderInfo: bottomSliderInfo,
29
+ TimeRangeAreaLimitBottomSlider: TimeRangeAreaLimitBottomSlider,
30
+ beginMouseDown: beginMouseDown,
31
+ TimeRangeSliderBottomWrapperRef: TimeRangeSliderBottomWrapperRef,
32
+ bottomSliderHoverInfo: bottomSliderHoverInfo,
33
+ bottomSliderDragStatus: bottomSliderDragStatus,
34
+ isHoverBottomWrapper: isHoverBottomWrapper,
35
+ isHoverPlaceholderBottom: isHoverPlaceholderBottom
36
+ }));
37
+ };
38
+ export default Index;
@@ -0,0 +1,113 @@
1
+ .time-range-slider-bottom-wrapper {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 48px;
5
+ border: @border-width-base @border-style-base @border-color-base;
6
+ position: relative;
7
+
8
+ .time-range-single-slider-bottom {
9
+ position: relative;
10
+ height: 100%;
11
+
12
+ .time-range-single-slider-bottom-HH-MM {
13
+ position: absolute;
14
+ width: 40px;
15
+ text-align: center;
16
+ background-color: @component-background;
17
+ height: 20px;
18
+ line-height: 20px;
19
+ top: 13px;
20
+ right: -20px;
21
+ z-index: 2;
22
+ color: @text-color-secondary;
23
+
24
+ }
25
+
26
+ .time-range-single-slider-bottom-cut-line {
27
+ position: absolute;
28
+ border-left: @border-width-base @border-style-base @border-color-base;
29
+ right: -0.5px;
30
+ height: 12px;
31
+
32
+ &.time-range-single-slider-bottom-cut-line-bottom {
33
+ bottom: 0;
34
+ }
35
+ }
36
+
37
+ .time-range-single-slider-bottom-MM-DD {
38
+ position: absolute;
39
+ width: 40px;
40
+ text-align: center;
41
+ background-color: @component-background;
42
+ height: 20px;
43
+ line-height: 20px;
44
+ bottom: -24px;
45
+ right: -20px;
46
+ z-index: 2;
47
+ color: @text-color-secondary;
48
+ }
49
+ }
50
+
51
+
52
+
53
+ .time-range-slider-bottom-clone-wrapper {
54
+ position: absolute;
55
+ height: 48px;
56
+ left: -1px;
57
+ overflow: hidden;
58
+ z-index: 3;
59
+ cursor: crosshair;
60
+
61
+ .time-range-area-limit-slider-bottom-wrapper {
62
+ position: absolute;
63
+ cursor: move;
64
+ border: @border-width-base dashed @primary-color;
65
+ z-index: 2;
66
+
67
+ &.time-range-area-limit-slider-bottom-wrapper-not-drag {
68
+ border-color: @error-color;
69
+ }
70
+
71
+ .time-range-area-limit-slider-bottom-resize {
72
+ position: absolute;
73
+ left: -7px;
74
+ width: 6px;
75
+ height: 24px;
76
+ top: 11px;
77
+ cursor: ew-resize;
78
+ }
79
+
80
+ .time-range-area-limit-slider-bottom-resize-right {
81
+ right: -7px;
82
+ left: auto;
83
+ transform: rotateY(180deg);
84
+ }
85
+ }
86
+
87
+ .time-range-area-limit-slider-bottom-hover-wrapper {
88
+ position: absolute;
89
+ z-index: 1;
90
+ background-color: @primary-color;
91
+ opacity: 0.1;
92
+
93
+ &::before {
94
+ content: '';
95
+ position: absolute;
96
+ z-index: 1;
97
+ top: 0;
98
+ left: calc((100% - 1px) /2);
99
+ width: 1px;
100
+ height: 100%;
101
+ background-color: #555;
102
+ }
103
+ }
104
+ }
105
+ }
106
+
107
+ .time-range-area-limit-slider-tooltip-wrapper {
108
+ max-width: 500px;
109
+
110
+ .@{ant-prefix}-tooltip-inner {
111
+ white-space: nowrap !important;
112
+ }
113
+ }
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { getAllDates, getConvertedDateData } from "../../utils";
3
+ import classnames from "classnames";
4
+ var TopDateProcess = function TopDateProcess(props) {
5
+ var currentMomentRef = props.currentMomentRef,
6
+ timeBoundary = props.timeBoundary,
7
+ timeSliderWidth = props.timeSliderWidth;
8
+ var days = timeBoundary.days;
9
+ var singleWidth = timeSliderWidth / days;
10
+ var allDates = getAllDates(currentMomentRef.current, days);
11
+ var convertedDateData = getConvertedDateData(allDates, singleWidth, days);
12
+ return convertedDateData.map(function (item, index) {
13
+ var isStartYYYY = item.isStartYYYY,
14
+ YYYY = item.YYYY,
15
+ MM_DD = item.MM_DD,
16
+ position = item.position;
17
+ var width = position.width;
18
+ var oddIndex = index % 2 === 1; // 奇数索引
19
+ return /*#__PURE__*/React.createElement("div", {
20
+ className: classnames("time-range-single-slider", {
21
+ "time-range-single-odd-slider": oddIndex
22
+ }),
23
+ style: {
24
+ width: width
25
+ },
26
+ key: index
27
+ }, isStartYYYY && /*#__PURE__*/React.createElement("div", {
28
+ className: "time-range-single-slider-YYYY"
29
+ }, YYYY), oddIndex && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
30
+ className: "time-range-single-slider-cut-line-MM-DD"
31
+ }, "|"), /*#__PURE__*/React.createElement("div", {
32
+ className: "time-range-single-slider-MM-DD"
33
+ }, MM_DD)));
34
+ });
35
+ };
36
+ export default TopDateProcess;
@@ -0,0 +1,36 @@
1
+ import "@chaoswise/ui/lib/Tooltip/index.less";
2
+ import _Tooltip from "@chaoswise/ui/lib/Tooltip";
3
+ import _Icon from "@chaoswise/ui/lib/Icon";
4
+ import React, { useMemo } from "react";
5
+ var TopPlaceholder = function TopPlaceholder(props) {
6
+ var TimeRangeAreaLimitSlider = props.TimeRangeAreaLimitSlider,
7
+ topSliderInfo = props.topSliderInfo,
8
+ timeBoundary = props.timeBoundary,
9
+ timeSliderWidth = props.timeSliderWidth,
10
+ beginMouseDown = props.beginMouseDown;
11
+ var days = timeBoundary.days;
12
+ var singleWidth = timeSliderWidth / days;
13
+ var isHasTooltipDate = useMemo(function () {
14
+ return Array.isArray(topSliderInfo.date) && topSliderInfo.date.length === 2;
15
+ }, [topSliderInfo]);
16
+ return /*#__PURE__*/React.createElement("div", {
17
+ style: {
18
+ width: singleWidth,
19
+ left: topSliderInfo.left
20
+ },
21
+ className: "time-range-area-limit-slider",
22
+ onMouseDown: function onMouseDown(e) {
23
+ return beginMouseDown(e, "top");
24
+ },
25
+ ref: TimeRangeAreaLimitSlider
26
+ }, /*#__PURE__*/React.createElement(_Tooltip, {
27
+ overlayClassName: "time-range-area-limit-slider-tooltip-wrapper",
28
+ title: isHasTooltipDate && /*#__PURE__*/React.createElement(React.Fragment, null, topSliderInfo.date[0].format("MM/DD HH:mm:ss"), " -", " ", topSliderInfo.date[1].format("MM/DD HH:mm:ss"))
29
+ }, /*#__PURE__*/React.createElement("div", {
30
+ className: "time-range-slider-top-placeholder-out"
31
+ }, /*#__PURE__*/React.createElement(_Icon, {
32
+ className: "time-range-slider-top-placeholder-inner",
33
+ type: "down"
34
+ }))));
35
+ };
36
+ export default TopPlaceholder;
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import TopPlaceholder from "./TopPlaceholder";
3
+ import TopDateProcess from "./TopDateProcess";
4
+ import "./index.less";
5
+ var TopSlider = function TopSlider(props) {
6
+ var currentMomentRef = props.currentMomentRef,
7
+ TimeRangeSliderWrapperRef = props.TimeRangeSliderWrapperRef,
8
+ timeSliderWidth = props.timeSliderWidth,
9
+ TimeRangeAreaLimitSlider = props.TimeRangeAreaLimitSlider,
10
+ beginMouseDown = props.beginMouseDown,
11
+ topSliderInfo = props.topSliderInfo,
12
+ timeBoundary = props.timeBoundary;
13
+ return /*#__PURE__*/React.createElement("div", {
14
+ className: "time-range-slider-top-wrapper",
15
+ ref: TimeRangeSliderWrapperRef,
16
+ style: {
17
+ width: timeSliderWidth
18
+ }
19
+ }, /*#__PURE__*/React.createElement(TopDateProcess, {
20
+ timeBoundary: timeBoundary,
21
+ currentMomentRef: currentMomentRef,
22
+ timeSliderWidth: timeSliderWidth
23
+ }), /*#__PURE__*/React.createElement(TopPlaceholder, {
24
+ TimeRangeAreaLimitSlider: TimeRangeAreaLimitSlider,
25
+ topSliderInfo: topSliderInfo,
26
+ timeBoundary: timeBoundary,
27
+ timeSliderWidth: timeSliderWidth,
28
+ beginMouseDown: beginMouseDown
29
+ }));
30
+ };
31
+ export default TopSlider;
@@ -0,0 +1,79 @@
1
+ .time-range-slider-top-wrapper {
2
+ display: flex;
3
+ align-items: center;
4
+ height: 28px;
5
+ background-color: @disabled-bg;
6
+ position: relative;
7
+ margin-bottom: 66px;
8
+
9
+ .time-range-single-slider {
10
+ position: relative;
11
+ height: 100%;
12
+ color: @text-color-secondary;
13
+
14
+ &.time-range-single-odd-slider {
15
+ background-color: fade(@white, 60%);
16
+ }
17
+
18
+ .time-range-single-slider-YYYY,
19
+ .time-range-single-slider-MM-DD {
20
+ position: absolute;
21
+ height: 20px;
22
+ line-height: 20px;
23
+ width: 40px;
24
+ text-align: center;
25
+ left: -20px;
26
+ }
27
+
28
+ .time-range-single-slider-YYYY {
29
+ top: -24px;
30
+ }
31
+
32
+ .time-range-single-slider-MM-DD {
33
+ top: 32px;
34
+ }
35
+
36
+ .time-range-single-slider-cut-line-MM-DD {
37
+ position: absolute;
38
+ width: 4px;
39
+ left: -2px;
40
+ height: 6px;
41
+ line-height: 6px;
42
+ top: 28px;
43
+ overflow: hidden;
44
+ text-align: center;
45
+ color: @disabled-color;
46
+ }
47
+ }
48
+
49
+ .time-range-area-limit-slider {
50
+ position: absolute;
51
+ z-index: 2;
52
+ cursor: move;
53
+ height: 28px;
54
+
55
+ .time-range-slider-top-placeholder-out {
56
+ width: 100%;
57
+ height: 100%;
58
+ position: relative;
59
+ border: @border-width-base @border-style-base @primary-color;
60
+ border-radius: 2px;
61
+ background-color: @component-background;
62
+
63
+ .time-range-slider-top-placeholder-inner {
64
+ position: absolute;
65
+ color: @primary-color !important;
66
+ left: calc((100% - 12px) / 2);
67
+ bottom: -9px;
68
+ }
69
+ }
70
+ }
71
+ }
72
+
73
+ .time-range-area-limit-slider-tooltip-wrapper {
74
+ max-width: 500px;
75
+
76
+ .@{ant-prefix}-tooltip-inner {
77
+ white-space: nowrap !important;
78
+ }
79
+ }
@@ -0,0 +1,31 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useState, useEffect } from "react";
8
+ var useHover = function useHover(targetElementRef) {
9
+ var _useState = useState(false),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ isHover = _useState2[0],
12
+ setIsHover = _useState2[1];
13
+ var onMouseEnter = function onMouseEnter() {
14
+ setIsHover(true);
15
+ };
16
+ var onMouseLeave = function onMouseLeave() {
17
+ setIsHover(false);
18
+ };
19
+ useEffect(function () {
20
+ var _targetElementRef$cur, _targetElementRef$cur2;
21
+ (_targetElementRef$cur = targetElementRef.current) === null || _targetElementRef$cur === void 0 || _targetElementRef$cur.addEventListener("mouseenter", onMouseEnter);
22
+ (_targetElementRef$cur2 = targetElementRef.current) === null || _targetElementRef$cur2 === void 0 || _targetElementRef$cur2.addEventListener("mouseleave", onMouseLeave);
23
+ return function () {
24
+ var _targetElementRef$cur3, _targetElementRef$cur4;
25
+ (_targetElementRef$cur3 = targetElementRef.current) === null || _targetElementRef$cur3 === void 0 || _targetElementRef$cur3.removeEventListener("mouseenter", onMouseEnter);
26
+ (_targetElementRef$cur4 = targetElementRef.current) === null || _targetElementRef$cur4 === void 0 || _targetElementRef$cur4.removeEventListener("mouseleave", onMouseLeave);
27
+ };
28
+ }, []);
29
+ return isHover;
30
+ };
31
+ export default useHover;