@easyv/charts 1.6.9 → 1.6.11
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/components/AnimateData.js +13 -22
- package/lib/components/Axis.js +106 -153
- package/lib/components/Background.js +18 -27
- package/lib/components/Band.js +78 -104
- package/lib/components/BaseLine.js +38 -52
- package/lib/components/Brush.js +31 -49
- package/lib/components/Carousel.js +20 -48
- package/lib/components/CartesianChart.js +136 -195
- package/lib/components/Chart.js +37 -59
- package/lib/components/ChartContainer.js +23 -33
- package/lib/components/ConicalGradient.js +38 -72
- package/lib/components/Control.js +61 -101
- package/lib/components/ExtentData.js +13 -22
- package/lib/components/FilterData.js +20 -32
- package/lib/components/Indicator.js +18 -26
- package/lib/components/Label.js +90 -121
- package/lib/components/Legend.js +48 -74
- package/lib/components/Lighter.js +22 -52
- package/lib/components/Line.js +41 -62
- package/lib/components/LinearGradient.js +16 -23
- package/lib/components/Mapping.js +15 -41
- package/lib/components/Marquee.js +23 -40
- package/lib/components/PieChart.js +352 -456
- package/lib/components/StackData.js +12 -23
- package/lib/components/StereoBar.js +69 -110
- package/lib/components/TextOverflow.js +17 -31
- package/lib/components/Tooltip.js +50 -65
- package/lib/components/index.js +1 -31
- package/lib/components/pieTooltip.js +46 -74
- package/lib/context/index.js +1 -4
- package/lib/css/index.module.css +1 -1
- package/lib/element/ConicGradient.js +31 -37
- package/lib/element/Line.js +11 -16
- package/lib/element/index.js +0 -2
- package/lib/formatter/index.js +0 -2
- package/lib/formatter/legend.js +48 -48
- package/lib/hooks/index.js +0 -9
- package/lib/hooks/useAiData.js +16 -27
- package/lib/hooks/useAnimateData.js +7 -21
- package/lib/hooks/useAxes.js +89 -151
- package/lib/hooks/useCarouselAxisX.js +30 -64
- package/lib/hooks/useExtentData.js +24 -65
- package/lib/hooks/useFilterData.js +16 -42
- package/lib/hooks/useStackData.js +11 -35
- package/lib/hooks/useTooltip.js +29 -47
- package/lib/index.js +2 -17
- package/lib/utils/index.js +144 -328
- package/package.json +1 -1
- package/src/css/index.module.css +1 -1
- package/src/formatter/legend.js +13 -1
- package/src/utils/index.js +13 -10
|
@@ -1,117 +1,99 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
|
|
20
13
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
21
|
-
|
|
22
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
-
|
|
24
15
|
var _hooks = require("../hooks");
|
|
25
|
-
|
|
26
16
|
var _context = require("../context");
|
|
27
|
-
|
|
28
17
|
var _ = require(".");
|
|
29
|
-
|
|
30
18
|
var _excluded = ["Component", "yOrZ"],
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
40
|
-
|
|
19
|
+
_excluded2 = ["Component", "yOrZ"];
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
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; }
|
|
23
|
+
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) { (0, _defineProperty2["default"])(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; } /**
|
|
24
|
+
* 轴类图表
|
|
25
|
+
*/
|
|
41
26
|
var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
42
27
|
var _ref$config = _ref.config,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
28
|
+
axesConfig = _ref$config.axes,
|
|
29
|
+
background = _ref$config.background,
|
|
30
|
+
_ref$config$chart = _ref$config.chart,
|
|
31
|
+
_ref$config$chart$dim = _ref$config$chart.dimension.chartDimension,
|
|
32
|
+
height = _ref$config$chart$dim.height,
|
|
33
|
+
width = _ref$config$chart$dim.width,
|
|
34
|
+
_ref$config$chart$mar = _ref$config$chart.margin,
|
|
35
|
+
marginLeft = _ref$config$chart$mar.marginLeft,
|
|
36
|
+
marginTop = _ref$config$chart$mar.marginTop,
|
|
37
|
+
marginRight = _ref$config$chart$mar.marginRight,
|
|
38
|
+
marginBottom = _ref$config$chart$mar.marginBottom,
|
|
39
|
+
animation = _ref$config$chart.animation,
|
|
40
|
+
legend = _ref$config$chart.legend,
|
|
41
|
+
series = _ref$config.series,
|
|
42
|
+
bandLength = _ref$config.bandLength,
|
|
43
|
+
tooltip = _ref$config.tooltip,
|
|
44
|
+
_ref$config$baseLine = _ref$config.baseLine,
|
|
45
|
+
_ref$config$baseLine$ = _ref$config$baseLine.orientation,
|
|
46
|
+
baseLineOri = _ref$config$baseLine$ === void 0 ? "" : _ref$config$baseLine$,
|
|
47
|
+
_ref$config$baseLine$2 = _ref$config$baseLine.config,
|
|
48
|
+
baseLineConfig = _ref$config$baseLine$2 === void 0 ? {} : _ref$config$baseLine$2,
|
|
49
|
+
_ref$config$baseLine$3 = _ref$config$baseLine.data,
|
|
50
|
+
baseLineData = _ref$config$baseLine$3 === void 0 ? [] : _ref$config$baseLine$3,
|
|
51
|
+
_ref$config$tooltip = _ref$config.tooltip,
|
|
52
|
+
_ref$config$tooltip2 = _ref$config$tooltip === void 0 ? {} : _ref$config$tooltip,
|
|
53
|
+
_ref$config$tooltip2$ = _ref$config$tooltip2.config,
|
|
54
|
+
tooltipConfig = _ref$config$tooltip2$ === void 0 ? {} : _ref$config$tooltip2$,
|
|
55
|
+
_ref$config$tooltip2$2 = _ref$config$tooltip2.config,
|
|
56
|
+
_ref$config$tooltip2$3 = _ref$config$tooltip2$2 === void 0 ? {} : _ref$config$tooltip2$2,
|
|
57
|
+
auto = _ref$config$tooltip2$3.auto,
|
|
58
|
+
manual = _ref$config$tooltip2$3.manual,
|
|
59
|
+
_ref$config$tooltip2$4 = _ref$config$tooltip2$3.indicator,
|
|
60
|
+
indicator = _ref$config$tooltip2$4 === void 0 ? {} : _ref$config$tooltip2$4,
|
|
61
|
+
brush = _ref$config.brush,
|
|
62
|
+
_ref$config$control = _ref$config.control,
|
|
63
|
+
control = _ref$config$control === void 0 ? null : _ref$config$control,
|
|
64
|
+
active = _ref.active,
|
|
65
|
+
style = _ref.style,
|
|
66
|
+
originData = _ref.originData,
|
|
67
|
+
filterData = _ref.filterData,
|
|
68
|
+
aiFormatter = _ref.aiFormatter,
|
|
69
|
+
id = _ref.id;
|
|
85
70
|
var context = (0, _react.useContext)(_context.chartContext);
|
|
86
|
-
|
|
87
71
|
var _useState = (0, _react.useState)(false),
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
72
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
73
|
+
isHover = _useState2[0],
|
|
74
|
+
setIsHover = _useState2[1];
|
|
92
75
|
var isIOS = context.isIOS,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
76
|
+
chartWidth = context.width,
|
|
77
|
+
chartHeight = context.height,
|
|
78
|
+
triggerOnRelative = context.triggerOnRelative,
|
|
79
|
+
onEmit = context.onEmit;
|
|
97
80
|
var xLineRange = chartWidth;
|
|
98
|
-
var yLineRange = chartHeight;
|
|
99
|
-
|
|
81
|
+
var yLineRange = chartHeight;
|
|
82
|
+
//获取控制条相关的参数
|
|
100
83
|
var isControl = false;
|
|
101
84
|
var controlWidth = 0;
|
|
102
85
|
var controlBarWidth = 0;
|
|
103
86
|
var dragPercent = 1;
|
|
104
87
|
var controlHeight = 0;
|
|
105
88
|
var controlX = 0;
|
|
106
|
-
|
|
107
89
|
if (control) {
|
|
108
90
|
var _height = control.height,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
91
|
+
_control$margin = control.margin,
|
|
92
|
+
left = _control$margin.left,
|
|
93
|
+
right = _control$margin.right,
|
|
94
|
+
_control$drag = control.drag,
|
|
95
|
+
start = _control$drag.start,
|
|
96
|
+
dragWidth = _control$drag.width;
|
|
115
97
|
isControl = true;
|
|
116
98
|
controlHeight = _height;
|
|
117
99
|
controlWidth = width - left - right;
|
|
@@ -119,24 +101,22 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
119
101
|
controlBarWidth = controlWidth * dragPercent;
|
|
120
102
|
controlX = (controlWidth - controlBarWidth) * start / 100;
|
|
121
103
|
}
|
|
122
|
-
|
|
123
104
|
var _useState3 = (0, _react.useState)({
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
105
|
+
isC: isControl,
|
|
106
|
+
cWidth: controlWidth,
|
|
107
|
+
cHeight: controlHeight,
|
|
108
|
+
cBarWidth: controlBarWidth,
|
|
109
|
+
cPercent: dragPercent,
|
|
110
|
+
cBarX: controlX
|
|
111
|
+
}),
|
|
112
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
113
|
+
controlInfo = _useState4[0],
|
|
114
|
+
setControlInfo = _useState4[1];
|
|
135
115
|
var cWidth = controlInfo.cWidth,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
116
|
+
cHeight = controlInfo.cHeight,
|
|
117
|
+
cBarWidth = controlInfo.cBarWidth,
|
|
118
|
+
cPercent = controlInfo.cPercent,
|
|
119
|
+
cBarX = controlInfo.cBarX;
|
|
140
120
|
yLineRange -= cHeight;
|
|
141
121
|
(0, _react.useEffect)(function () {
|
|
142
122
|
setControlInfo({
|
|
@@ -161,34 +141,30 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
161
141
|
if (!window.aiData) {
|
|
162
142
|
window.aiData = {};
|
|
163
143
|
}
|
|
164
|
-
|
|
165
144
|
window.aiData[id] = {
|
|
166
145
|
getAI: function getAI() {
|
|
167
146
|
return aiData;
|
|
168
147
|
}
|
|
169
148
|
};
|
|
170
149
|
}
|
|
171
|
-
|
|
172
150
|
return function () {
|
|
173
151
|
window.aiData && window.aiData[id] && delete window.aiData[id];
|
|
174
152
|
};
|
|
175
153
|
}, [JSON.stringify(aiData), id]);
|
|
176
|
-
|
|
177
154
|
var _useTooltip = (0, _hooks.useTooltip)({
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
155
|
+
svg: svg,
|
|
156
|
+
marginLeft: marginLeft,
|
|
157
|
+
marginTop: marginTop,
|
|
158
|
+
width: chartWidth,
|
|
159
|
+
height: yLineRange,
|
|
160
|
+
axisX: axisX,
|
|
161
|
+
isHover: isHover,
|
|
162
|
+
config: tooltipConfig,
|
|
163
|
+
active: active
|
|
164
|
+
}),
|
|
165
|
+
tooltipX = _useTooltip.x,
|
|
166
|
+
tickName = _useTooltip.name,
|
|
167
|
+
setIndex = _useTooltip.setIndex;
|
|
192
168
|
var tooltipData = (0, _react.useMemo)(function () {
|
|
193
169
|
return tickName !== undefined && originData.filter(function (d) {
|
|
194
170
|
return d.x === tickName;
|
|
@@ -210,24 +186,20 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
210
186
|
var onInteraction = (0, _react.useCallback)(function (e) {
|
|
211
187
|
e.stopPropagation();
|
|
212
188
|
var data = e.currentTarget.dataset.data;
|
|
213
|
-
|
|
214
189
|
var _data = JSON.parse(data);
|
|
215
|
-
|
|
216
190
|
triggerOnRelative('click', _data);
|
|
217
191
|
onEmit("click", _data);
|
|
218
192
|
}, [triggerOnRelative, onEmit]);
|
|
193
|
+
|
|
219
194
|
/**
|
|
220
195
|
* 控制图相关
|
|
221
196
|
*/
|
|
222
|
-
|
|
223
197
|
var controlEl = (0, _react.useRef)();
|
|
224
198
|
var seriesEl = (0, _react.useRef)(null);
|
|
225
199
|
var axisElList = (0, _react.useRef)([]);
|
|
226
200
|
var curControlPercent = (0, _react.useRef)(0);
|
|
227
201
|
var controlTimer = (0, _react.useRef)(); //控制条的动画计时器
|
|
228
|
-
|
|
229
202
|
var ctlBarX = (0, _react.useRef)(0); //控制条的滑块偏移值
|
|
230
|
-
|
|
231
203
|
var isWorking = (0, _react.useRef)(false); //控制条是否正在进行各种操作
|
|
232
204
|
|
|
233
205
|
var range = function range(num, ignoreMax) {
|
|
@@ -235,16 +207,13 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
235
207
|
var min = 0;
|
|
236
208
|
var max = cWidth - cBarWidth;
|
|
237
209
|
_num = Math.max(_num, min);
|
|
238
|
-
|
|
239
210
|
if (ignoreMax) {
|
|
240
211
|
return _num;
|
|
241
212
|
}
|
|
242
|
-
|
|
243
213
|
_num = Math.min(_num, max);
|
|
244
214
|
return _num;
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
|
|
215
|
+
};
|
|
216
|
+
//设置滑块和图表主体的偏移值
|
|
248
217
|
var setControlTranslate = function setControlTranslate(x, needSave) {
|
|
249
218
|
var moveLen = range(x);
|
|
250
219
|
if (needSave) ctlBarX.current = moveLen;
|
|
@@ -254,7 +223,6 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
254
223
|
});
|
|
255
224
|
});
|
|
256
225
|
};
|
|
257
|
-
|
|
258
226
|
var setControlWidth = function setControlWidth(fn) {
|
|
259
227
|
var ignoreMax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
260
228
|
setControlInfo(function (pre) {
|
|
@@ -263,21 +231,18 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
263
231
|
ctlBarX.current = moveLen;
|
|
264
232
|
return fn(pre);
|
|
265
233
|
});
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
|
|
234
|
+
};
|
|
235
|
+
//设置控制条是否正在进行拖拽/缩放操作
|
|
269
236
|
var setWorking = function setWorking(bool) {
|
|
270
237
|
isWorking.current = bool;
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
|
|
238
|
+
};
|
|
239
|
+
//cBarX变化后,修改图表的偏移值
|
|
274
240
|
(0, _react.useLayoutEffect)(function () {
|
|
275
241
|
var controlEnd = axisX.controlEnd,
|
|
276
|
-
|
|
277
|
-
|
|
242
|
+
start = axisX.start;
|
|
278
243
|
if (controlEl.current) {
|
|
279
|
-
controlEl.current.style.transform = "translate(".concat(cBarX, "px,0)");
|
|
280
|
-
|
|
244
|
+
controlEl.current.style.transform = "translate(".concat(cBarX, "px,0)");
|
|
245
|
+
//计算出当前位移的百分比
|
|
281
246
|
var percent = cBarX / (cWidth - cBarWidth);
|
|
282
247
|
percent = isNaN(percent) ? 1 : percent;
|
|
283
248
|
var translateX = -(controlEnd + start / cPercent - chartWidth) * percent;
|
|
@@ -285,98 +250,80 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
285
250
|
seriesEl.current.style.transform = "translate(".concat(translateX, "px,").concat(marginTop, "px)");
|
|
286
251
|
axisElList.current[2].style.transform = "translate(".concat(translateX, "px,", 0, "px)");
|
|
287
252
|
}
|
|
288
|
-
}, [controlInfo]);
|
|
289
|
-
|
|
253
|
+
}, [controlInfo]);
|
|
254
|
+
//控制条轮播动画
|
|
290
255
|
(0, _react.useEffect)(function () {
|
|
291
256
|
if (controlEl.current && control) {
|
|
292
257
|
var isEnter = false; //控制条轮播动画是否处于暂停状态
|
|
293
|
-
|
|
294
258
|
var show = animation.show,
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
259
|
+
duration = animation.duration,
|
|
260
|
+
interval = animation.interval,
|
|
261
|
+
hover = animation.hover;
|
|
299
262
|
var startAnimate = function startAnimate() {
|
|
300
263
|
var loopInterval = interval * 1000,
|
|
301
|
-
|
|
264
|
+
tranDuration = duration * 1000;
|
|
302
265
|
var loopTime,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
var transition = function transition(timeStamp) {
|
|
266
|
+
timeGap,
|
|
267
|
+
toRight = true;
|
|
268
|
+
var _transition = function transition(timeStamp) {
|
|
307
269
|
if (!loopTime) loopTime = timeStamp;
|
|
308
|
-
|
|
309
270
|
if (!isEnter && !isWorking.current) {
|
|
310
271
|
if (timeStamp - loopTime < tranDuration) {
|
|
311
272
|
var percent = Math.min(1, (timeStamp - loopTime) / tranDuration);
|
|
312
|
-
|
|
313
273
|
if (toRight) {
|
|
314
274
|
setControlTranslate(cBarWidth * percent + ctlBarX.current);
|
|
315
275
|
} else {
|
|
316
276
|
setControlTranslate(ctlBarX.current * (1 - percent));
|
|
317
277
|
}
|
|
318
|
-
|
|
319
|
-
controlTimer.current = requestAnimationFrame(transition);
|
|
278
|
+
controlTimer.current = requestAnimationFrame(_transition);
|
|
320
279
|
} else {
|
|
321
280
|
loopTime = timeStamp;
|
|
322
|
-
|
|
323
281
|
if (toRight) {
|
|
324
282
|
setControlTranslate(cBarWidth + ctlBarX.current, true);
|
|
325
283
|
} else {
|
|
326
284
|
setControlTranslate(0, true);
|
|
327
285
|
}
|
|
328
|
-
|
|
329
|
-
controlTimer.current = requestAnimationFrame(loop);
|
|
286
|
+
controlTimer.current = requestAnimationFrame(_loop);
|
|
330
287
|
}
|
|
331
288
|
} else {
|
|
332
289
|
loopTime = timeStamp - timeGap;
|
|
333
|
-
controlTimer.current = requestAnimationFrame(
|
|
290
|
+
controlTimer.current = requestAnimationFrame(_transition);
|
|
334
291
|
}
|
|
335
|
-
|
|
336
292
|
timeGap = timeStamp - loopTime;
|
|
337
293
|
};
|
|
338
|
-
|
|
339
|
-
var loop = function loop(timeStamp) {
|
|
294
|
+
var _loop = function loop(timeStamp) {
|
|
340
295
|
if (!loopTime) loopTime = timeStamp;
|
|
341
|
-
|
|
342
296
|
if (!isEnter && !isWorking.current) {
|
|
343
297
|
if (timeStamp - loopTime < loopInterval) {
|
|
344
|
-
controlTimer.current = requestAnimationFrame(
|
|
298
|
+
controlTimer.current = requestAnimationFrame(_loop);
|
|
345
299
|
} else {
|
|
346
300
|
loopTime = timeStamp;
|
|
347
301
|
if (ctlBarX.current == cWidth - cBarWidth) toRight = false;else toRight = true;
|
|
348
|
-
controlTimer.current = requestAnimationFrame(
|
|
302
|
+
controlTimer.current = requestAnimationFrame(_transition);
|
|
349
303
|
}
|
|
350
304
|
} else {
|
|
351
305
|
loopTime = timeStamp - timeGap;
|
|
352
|
-
controlTimer.current = requestAnimationFrame(
|
|
306
|
+
controlTimer.current = requestAnimationFrame(_loop);
|
|
353
307
|
}
|
|
354
|
-
|
|
355
308
|
timeGap = timeStamp - loopTime;
|
|
356
309
|
};
|
|
357
|
-
|
|
358
|
-
controlTimer.current = requestAnimationFrame(loop);
|
|
310
|
+
controlTimer.current = requestAnimationFrame(_loop);
|
|
359
311
|
};
|
|
360
|
-
|
|
361
312
|
var mouseenter = function mouseenter() {
|
|
362
313
|
isEnter = true;
|
|
363
314
|
};
|
|
364
|
-
|
|
365
315
|
var mouseleave = function mouseleave() {
|
|
366
316
|
isEnter = false;
|
|
367
317
|
};
|
|
368
|
-
|
|
369
318
|
if (hover) {
|
|
370
319
|
svg.current.addEventListener("mouseenter", mouseenter);
|
|
371
320
|
svg.current.addEventListener("mouseleave", mouseleave);
|
|
372
321
|
controlEl.current.addEventListener("mouseenter", mouseenter);
|
|
373
322
|
controlEl.current.addEventListener("mouseleave", mouseleave);
|
|
374
323
|
}
|
|
375
|
-
|
|
376
324
|
if (show) {
|
|
377
325
|
startAnimate();
|
|
378
326
|
}
|
|
379
|
-
|
|
380
327
|
return function () {
|
|
381
328
|
svg.current.removeEventListener("mouseenter", mouseenter);
|
|
382
329
|
svg.current.removeEventListener("mouseleave", mouseleave);
|
|
@@ -385,8 +332,8 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
385
332
|
cancelAnimationFrame(controlTimer.current);
|
|
386
333
|
};
|
|
387
334
|
}
|
|
388
|
-
}, [JSON.stringify(animation), control, cWidth, cHeight, cBarWidth, cPercent]);
|
|
389
|
-
|
|
335
|
+
}, [JSON.stringify(animation), control, cWidth, cHeight, cBarWidth, cPercent]);
|
|
336
|
+
//初始化控制图提示框状态的函数
|
|
390
337
|
var initCtlTip = function initCtlTip() {
|
|
391
338
|
return {
|
|
392
339
|
show: false,
|
|
@@ -400,21 +347,19 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
400
347
|
})
|
|
401
348
|
};
|
|
402
349
|
};
|
|
403
|
-
|
|
404
350
|
var _useState5 = (0, _react.useState)(initCtlTip),
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
351
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
352
|
+
ctlTip = _useState6[0],
|
|
353
|
+
setCtlTip = _useState6[1];
|
|
409
354
|
var showCtl = ctlTip.show,
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
355
|
+
ctlXName = ctlTip.xName,
|
|
356
|
+
ctlX = ctlTip.x,
|
|
357
|
+
ctlIndicatorList = ctlTip.indicatorList;
|
|
413
358
|
var controlChartTooltipData = ctlXName && originData.filter(function (d) {
|
|
414
359
|
return d.x === ctlXName;
|
|
415
360
|
});
|
|
416
361
|
var bodyWidth = isVertical ? xLineRange + 100 + marginRight + marginLeft : xLineRange,
|
|
417
|
-
|
|
362
|
+
bodyHeight = isVertical ? yLineRange : yLineRange + marginTop + marginBottom;
|
|
418
363
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.ChartContainer, {
|
|
419
364
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
420
365
|
position: "absolute"
|
|
@@ -452,12 +397,10 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
452
397
|
var target = series.find(function (d) {
|
|
453
398
|
return d.yOrZ == axisType;
|
|
454
399
|
});
|
|
455
|
-
|
|
456
400
|
if (target && target.data[0]) {
|
|
457
401
|
dataUnit = target.data[0].data.__unit__;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
|
|
402
|
+
}
|
|
403
|
+
//如果纵坐标没有对应的值,则不显示
|
|
461
404
|
return axisType != "x" && !target ? null : /*#__PURE__*/_react["default"].createElement(_.Axis, (0, _extends2["default"])({
|
|
462
405
|
ref: function ref(d) {
|
|
463
406
|
axisElList.current[index] = d;
|
|
@@ -504,15 +447,16 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
504
447
|
}));
|
|
505
448
|
})), series.map(function (_ref2, index) {
|
|
506
449
|
var Component = _ref2.Component,
|
|
507
|
-
|
|
508
|
-
|
|
450
|
+
yOrZ = _ref2.yOrZ,
|
|
451
|
+
config = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
509
452
|
var yAxis = axes.get(yOrZ);
|
|
510
453
|
return yAxis && Component && /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
511
454
|
key: index
|
|
512
455
|
}, config, {
|
|
513
456
|
bandLength: bandLength,
|
|
514
457
|
xAxis: axisX,
|
|
515
|
-
yAxis: yAxis
|
|
458
|
+
yAxis: yAxis
|
|
459
|
+
// 控制图部分,主要是为了,当鼠标悬浮在指示器上时,显示对应的tooltip
|
|
516
460
|
,
|
|
517
461
|
isControlChart: !!control,
|
|
518
462
|
indicatorWidth: indicatorWidth,
|
|
@@ -521,8 +465,8 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
521
465
|
}));
|
|
522
466
|
}), series.map(function (_ref3, index) {
|
|
523
467
|
var Component = _ref3.Component,
|
|
524
|
-
|
|
525
|
-
|
|
468
|
+
yOrZ = _ref3.yOrZ,
|
|
469
|
+
config = (0, _objectWithoutProperties2["default"])(_ref3, _excluded2);
|
|
526
470
|
var yAxis = axes.get(yOrZ);
|
|
527
471
|
return yAxis && /*#__PURE__*/_react["default"].createElement(_.Label, (0, _extends2["default"])({
|
|
528
472
|
key: index
|
|
@@ -591,7 +535,4 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
591
535
|
width: width
|
|
592
536
|
}));
|
|
593
537
|
});
|
|
594
|
-
|
|
595
|
-
var _default = (0, _.Mapping)((0, _.FilterData)((0, _.ExtentData)((0, _.AnimateData)((0, _.StackData)(Chart)))));
|
|
596
|
-
|
|
597
|
-
exports["default"] = _default;
|
|
538
|
+
var _default = exports["default"] = (0, _.Mapping)((0, _.FilterData)((0, _.ExtentData)((0, _.AnimateData)((0, _.StackData)(Chart)))));
|