@easyv/charts 1.6.8 → 1.6.10

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 (52) hide show
  1. package/lib/components/AnimateData.js +13 -22
  2. package/lib/components/Axis.js +106 -153
  3. package/lib/components/Background.js +18 -27
  4. package/lib/components/Band.js +79 -105
  5. package/lib/components/BaseLine.js +38 -52
  6. package/lib/components/Brush.js +31 -49
  7. package/lib/components/Carousel.js +20 -48
  8. package/lib/components/CartesianChart.js +136 -195
  9. package/lib/components/Chart.js +37 -59
  10. package/lib/components/ChartContainer.js +23 -33
  11. package/lib/components/ConicalGradient.js +38 -72
  12. package/lib/components/Control.js +61 -101
  13. package/lib/components/ExtentData.js +13 -22
  14. package/lib/components/FilterData.js +20 -32
  15. package/lib/components/Indicator.js +18 -26
  16. package/lib/components/Label.js +90 -121
  17. package/lib/components/Legend.js +48 -74
  18. package/lib/components/Lighter.js +22 -52
  19. package/lib/components/Line.js +41 -62
  20. package/lib/components/LinearGradient.js +16 -23
  21. package/lib/components/Mapping.js +15 -41
  22. package/lib/components/Marquee.js +23 -40
  23. package/lib/components/PieChart.js +352 -456
  24. package/lib/components/StackData.js +12 -23
  25. package/lib/components/StereoBar.js +69 -110
  26. package/lib/components/TextOverflow.js +17 -31
  27. package/lib/components/Tooltip.js +50 -65
  28. package/lib/components/index.js +1 -31
  29. package/lib/components/pieTooltip.js +46 -74
  30. package/lib/context/index.js +1 -4
  31. package/lib/css/index.module.css +1 -1
  32. package/lib/element/ConicGradient.js +31 -37
  33. package/lib/element/Line.js +11 -16
  34. package/lib/element/index.js +0 -2
  35. package/lib/formatter/index.js +0 -2
  36. package/lib/formatter/legend.js +48 -48
  37. package/lib/hooks/index.js +0 -9
  38. package/lib/hooks/useAiData.js +16 -27
  39. package/lib/hooks/useAnimateData.js +7 -21
  40. package/lib/hooks/useAxes.js +89 -151
  41. package/lib/hooks/useCarouselAxisX.js +30 -64
  42. package/lib/hooks/useExtentData.js +24 -65
  43. package/lib/hooks/useFilterData.js +16 -42
  44. package/lib/hooks/useStackData.js +11 -35
  45. package/lib/hooks/useTooltip.js +29 -47
  46. package/lib/index.js +2 -17
  47. package/lib/utils/index.js +138 -325
  48. package/package.json +1 -1
  49. package/src/components/Band.tsx +1 -1
  50. package/src/components/CartesianChart.js +2 -2
  51. package/src/css/index.module.css +1 -1
  52. package/src/formatter/legend.js +13 -1
@@ -1,76 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _react = require("react");
17
-
18
12
  var _popmotion = require("popmotion");
19
-
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
- 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; }
23
-
13
+ 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; }
14
+ 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
15
  var initialState = {
25
16
  currentIndex: null,
26
17
  flag: false //表示是否为首次加载,true表示首次加载,不需要立刻执行动画,false表示可以执行轮播动画
27
-
28
18
  };
19
+
29
20
  /**
30
21
  * x轴滚动逻辑
31
22
  * @param {Object} axis x轴配置项
32
23
  * @param {Object} config x轴轮播动画的配置项
33
24
  * @returns {Map} 返回经过改变后的x轴,主要是ticks和scaler的range发生了改变
34
25
  */
35
-
36
- var _default = function _default(axis, config, isHover, controlInfo, active) {
26
+ var _default = exports["default"] = function _default(axis, config, isHover, controlInfo, active) {
37
27
  var show = config.show,
38
- interval = config.interval,
39
- duration = config.duration,
40
- hover = config.hover;
28
+ interval = config.interval,
29
+ duration = config.duration,
30
+ hover = config.hover;
41
31
  var isC = controlInfo.isC,
42
- cPercent = controlInfo.cPercent;
32
+ cPercent = controlInfo.cPercent;
43
33
  var time = duration + interval;
44
34
  var count = axis.tickCount,
45
- allTicks = axis.allTicks,
46
- scaler = axis.scaler,
47
- start = axis.start,
48
- end = axis.end,
49
- step = axis.step,
50
- ticks = axis.ticks,
51
- lengthWithoutPaddingOuter = axis.lengthWithoutPaddingOuter;
35
+ allTicks = axis.allTicks,
36
+ scaler = axis.scaler,
37
+ start = axis.start,
38
+ end = axis.end,
39
+ step = axis.step,
40
+ ticks = axis.ticks,
41
+ lengthWithoutPaddingOuter = axis.lengthWithoutPaddingOuter;
52
42
  var tickLength = ticks.length;
53
43
  var tickCount = isC ? allTicks.length : count;
54
44
  var scale = isC ? cPercent : 1;
55
-
56
45
  var _start = start / scale;
57
-
58
46
  var _end = end / scale;
59
-
60
47
  var _useState = (0, _react.useState)({
61
- scaler: scaler,
62
- step: step,
63
- ticks: ticks
64
- }),
65
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
66
- state = _useState2[0],
67
- setState = _useState2[1];
68
-
48
+ scaler: scaler,
49
+ step: step,
50
+ ticks: ticks
51
+ }),
52
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
+ state = _useState2[0],
54
+ setState = _useState2[1];
69
55
  var _useState3 = (0, _react.useState)(initialState),
70
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
71
- status = _useState4[0],
72
- setStatus = _useState4[1];
73
-
56
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
57
+ status = _useState4[0],
58
+ setStatus = _useState4[1];
74
59
  (0, _react.useEffect)(function () {
75
60
  if (show && time && tickLength > tickCount) {
76
61
  setStatus({
@@ -83,7 +68,6 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
83
68
  }, [show, time, tickCount, tickLength]);
84
69
  (0, _react.useEffect)(function () {
85
70
  var handler;
86
-
87
71
  if (!(hover && isHover) && show && time && tickLength > tickCount && active) {
88
72
  handler = setInterval(function () {
89
73
  setStatus(function (_ref) {
@@ -96,7 +80,6 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
96
80
  });
97
81
  }, time * 1000);
98
82
  }
99
-
100
83
  return function () {
101
84
  handler && clearInterval(handler);
102
85
  };
@@ -104,14 +87,11 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
104
87
  (0, _react.useEffect)(function () {
105
88
  var animation;
106
89
  var currentIndex = status.currentIndex,
107
- flag = status.flag;
108
-
90
+ flag = status.flag;
109
91
  if (currentIndex !== null) {
110
92
  var _step = lengthWithoutPaddingOuter / tickCount;
111
-
112
93
  if (flag) {
113
94
  var _ticks = allTicks.slice(currentIndex, tickCount);
114
-
115
95
  setState({
116
96
  step: _step,
117
97
  ticks: _ticks,
@@ -126,13 +106,10 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
126
106
  onPlay: function onPlay() {
127
107
  setState(function (axis) {
128
108
  var ticks = axis.ticks,
129
- scaler = axis.scaler;
130
-
109
+ scaler = axis.scaler;
131
110
  var _ticks2 = (0, _slicedToArray2["default"])(ticks, 1),
132
- tick = _ticks2[0];
133
-
111
+ tick = _ticks2[0];
134
112
  var _ticks = [tick].concat((0, _toConsumableArray2["default"])(getTicks(allTicks, currentIndex, tickCount)));
135
-
136
113
  return _objectSpread(_objectSpread({}, axis), {}, {
137
114
  ticks: _ticks,
138
115
  scaler: scaler.copy().range([_start, _end + _step]).domain(_ticks)
@@ -142,7 +119,7 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
142
119
  onUpdate: function onUpdate(v) {
143
120
  setState(function (axis) {
144
121
  var scaler = axis.scaler,
145
- step = axis.step;
122
+ step = axis.step;
146
123
  return _objectSpread(_objectSpread({}, axis), {}, {
147
124
  scaler: scaler.copy().range([_start + step * v, _end + step + step * v])
148
125
  });
@@ -151,10 +128,8 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
151
128
  onComplete: function onComplete() {
152
129
  setState(function (axis) {
153
130
  var scaler = axis.scaler,
154
- ticks = axis.ticks;
155
-
131
+ ticks = axis.ticks;
156
132
  var _ticks = ticks.slice(1, ticks.length);
157
-
158
133
  return _objectSpread(_objectSpread({}, axis), {}, {
159
134
  ticks: _ticks,
160
135
  scaler: scaler.copy().range([_start, _end]).domain(_ticks)
@@ -165,14 +140,12 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
165
140
  }
166
141
  } else {
167
142
  var _ticks3 = scaler.type == "linear" ? scaler.domain() : allTicks;
168
-
169
143
  setState({
170
144
  step: step,
171
145
  scaler: scaler.copy().domain(_ticks3).range([_start, _end]),
172
146
  ticks: ticks
173
147
  });
174
148
  }
175
-
176
149
  return function () {
177
150
  animation && animation.stop();
178
151
  };
@@ -181,22 +154,15 @@ var _default = function _default(axis, config, isHover, controlInfo, active) {
181
154
  controlEnd: _end
182
155
  });
183
156
  };
184
-
185
- exports["default"] = _default;
186
-
187
157
  var getTicks = function getTicks(ticks, currentIndex, length) {
188
158
  var _currentIndex = +currentIndex;
189
-
190
159
  var ticksLength = ticks.length;
191
160
  if (ticksLength <= length) return ticks;
192
-
193
161
  var _end = _currentIndex + length;
194
-
195
162
  if (ticksLength < _end) {
196
163
  var prev = ticks.slice(_currentIndex, ticksLength);
197
164
  var next = ticks.slice(0, _end - ticksLength);
198
165
  return [].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(next));
199
166
  }
200
-
201
167
  return ticks.slice(_currentIndex, _end);
202
168
  };
@@ -1,31 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _react = require("react");
17
-
18
12
  var _d3v = require("d3v7");
19
-
20
13
  var _utils = require("../utils");
21
-
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
-
24
- 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; }
25
-
14
+ 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; }
15
+ 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; }
26
16
  //扩张系数,用于扩大数据的最大最小值范围,达到图表尽量居中显示的效果
27
17
  var extentRatio = 0;
28
-
29
18
  var extentRange = function extentRange(value, type) {
30
19
  if (value >= 0) {
31
20
  return type == "min" ? value * (1 - extentRatio) : value * (1 + extentRatio);
@@ -33,7 +22,6 @@ var extentRange = function extentRange(value, type) {
33
22
  return type == "min" ? value * (1 + extentRatio) : value * (1 - extentRatio);
34
23
  }
35
24
  };
36
-
37
25
  var stackData = function stackData(data, series) {
38
26
  var dataMap = (0, _d3v.group)(data, function (d) {
39
27
  return d.x;
@@ -46,14 +34,11 @@ var stackData = function stackData(data, series) {
46
34
  dataMap.forEach(function (value) {
47
35
  var arr = [];
48
36
  (0, _utils.resetStacks)(stacks);
49
-
50
37
  for (var i = 0, j = value.length; i < j; i++) {
51
38
  var d = value[i];
52
39
  var stack = series.get(d.s);
53
-
54
40
  if (d && d.y !== undefined && !isNaN(d.y)) {
55
41
  var currentStack = (0, _utils.getCurrentStack)(stack, stacks);
56
-
57
42
  if (stack && currentStack && currentStack.stack) {
58
43
  if (d.y >= 0) {
59
44
  currentStack.positive += d.y;
@@ -67,13 +52,13 @@ var stackData = function stackData(data, series) {
67
52
  }
68
53
  }
69
54
  }
70
-
71
55
  min = Math.min.apply(Math, arr.concat([min]));
72
56
  max = Math.max.apply(Math, arr.concat([max]));
73
57
  });
74
58
  dataMap.clear();
75
59
  return [extentRange(min || 0, "min"), extentRange(max == undefined ? (min || 0) + 100 : max, "max")];
76
60
  };
61
+
77
62
  /**
78
63
  * 计算轴的domain
79
64
  * @param {Array} axes x轴列表
@@ -81,23 +66,18 @@ var stackData = function stackData(data, series) {
81
66
  * @param {Object} data 数据列表
82
67
  * @returns {Array} 返回带domain的轴
83
68
  */
84
-
85
-
86
- var _default = function _default(_ref) {
69
+ var _default = exports["default"] = function _default(_ref) {
87
70
  var axes = _ref.axes,
88
- series = _ref.series,
89
- data = _ref.data;
90
-
71
+ series = _ref.series,
72
+ data = _ref.data;
91
73
  var _series = (0, _react.useMemo)(function () {
92
74
  return (0, _utils.seriesYOrZ)(series);
93
75
  }, [series]);
94
-
95
76
  var _useMemo = (0, _react.useMemo)(function () {
96
- return (0, _utils.dataYOrZ)(data, _series);
97
- }, [data, _series]),
98
- dataY = _useMemo.y,
99
- dataZ = _useMemo.z;
100
-
77
+ return (0, _utils.dataYOrZ)(data, _series);
78
+ }, [data, _series]),
79
+ dataY = _useMemo.y,
80
+ dataZ = _useMemo.z;
101
81
  var x = (0, _react.useMemo)(function () {
102
82
  return (0, _toConsumableArray2["default"])((0, _d3v.group)(data, function (d) {
103
83
  return d.x;
@@ -108,77 +88,64 @@ var _default = function _default(_ref) {
108
88
  var xAxis = axes.find(function (d) {
109
89
  return d.axisType == "x";
110
90
  });
111
-
112
91
  if (xAxis) {
113
92
  var _xAxis$config$label = xAxis.config.label,
114
- autoSort = _xAxis$config$label.autoSort,
115
- type = _xAxis$config$label.format.type;
116
-
93
+ autoSort = _xAxis$config$label.autoSort,
94
+ type = _xAxis$config$label.format.type;
117
95
  if (type == "date" && autoSort) {
118
96
  x.sort(function (a, b) {
119
97
  return a > b ? 1 : -1;
120
- }); // const groupBySeries = group(data, (d) => d.s);
98
+ });
99
+ // const groupBySeries = group(data, (d) => d.s);
121
100
  // data=[...groupBySeries].flatMap(d=>{
122
101
  // return d[1].sort((a,b)=>a.x>b.x?1:-1)
123
102
  // });
124
103
  }
125
- } // console.log("nononon", axes);
104
+ }
105
+ // console.log("nononon", axes);
126
106
  //clipAxisMode如果是auto根据clipDifferenceValue设置clipValue
127
-
128
-
129
107
  return axes.map(function (item) {
130
108
  var axisType = item.axisType,
131
- domain = item.domain,
132
- type = item.type,
133
- _item$config$label = item.config.label,
134
- percentageExtent = _item$config$label.percentageExtent,
135
- numericalRangeModel = _item$config$label.numericalRangeModel;
136
-
109
+ domain = item.domain,
110
+ type = item.type,
111
+ _item$config$label = item.config.label,
112
+ percentageExtent = _item$config$label.percentageExtent,
113
+ numericalRangeModel = _item$config$label.numericalRangeModel;
137
114
  switch (axisType) {
138
115
  case "x":
139
116
  return _objectSpread(_objectSpread({}, item), {}, {
140
117
  domain: type == "linear" ? (0, _d3v.extent)(x) : x
141
118
  });
142
-
143
119
  case "y":
144
120
  {
145
121
  if (item.axisType == "y" && item.isClipAxis === true && item.clipAxisMode == "auto") {
146
122
  var _dataY = dataY.map(function (_item) {
147
123
  return _item.y;
148
124
  });
149
-
150
125
  var _clipValue = Infinity;
151
-
152
126
  if (_dataY.length >= 2) {
153
127
  _dataY.sort(function (a, b) {
154
128
  return a - b;
155
129
  });
156
-
157
130
  var clipDifferenceValueArr = [];
158
-
159
131
  for (var i = 0; i < _dataY.length - 1; i++) {
160
132
  clipDifferenceValueArr.push(_dataY[i + 1] - _dataY[i]);
161
133
  }
162
-
163
134
  var max = (0, _d3v.max)(clipDifferenceValueArr);
164
-
165
135
  if (max >= item.clipDifferenceValue) {
166
136
  var index = clipDifferenceValueArr.indexOf(max);
167
137
  _clipValue = _dataY[index];
168
138
  }
169
139
  }
170
-
171
140
  return _objectSpread(_objectSpread({}, item), {}, {
172
141
  domain: domain ? getDomain(y, domain) : y,
173
142
  clipValue: _clipValue
174
143
  });
175
144
  }
176
-
177
145
  return _objectSpread(_objectSpread({}, item), {}, {
178
146
  domain: domain ? getDomain(y, domain, numericalRangeModel, percentageExtent) : y
179
147
  });
180
148
  }
181
-
182
149
  case "z":
183
150
  return _objectSpread(_objectSpread({}, item), {}, {
184
151
  domain: domain ? getDomain(z, domain, numericalRangeModel, percentageExtent) : z
@@ -186,26 +153,18 @@ var _default = function _default(_ref) {
186
153
  }
187
154
  });
188
155
  };
189
-
190
- exports["default"] = _default;
191
-
192
156
  var getDomain = function getDomain(_ref2, _ref3) {
193
157
  var _ref4 = (0, _slicedToArray2["default"])(_ref2, 2),
194
- min1 = _ref4[0],
195
- max1 = _ref4[1];
196
-
158
+ min1 = _ref4[0],
159
+ max1 = _ref4[1];
197
160
  var min = _ref3.min,
198
- max = _ref3.max;
161
+ max = _ref3.max;
199
162
  var numericalRangeModel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "value";
200
163
  var percentageExtent = arguments.length > 3 ? arguments[3] : undefined;
201
-
202
164
  if (numericalRangeModel == "percentage" && percentageExtent) {
203
165
  var _min = percentageExtent.min == "" ? 100 : +percentageExtent.min;
204
-
205
166
  var _max = percentageExtent.max == "" ? 100 : +percentageExtent.max;
206
-
207
167
  return [min1 * _min / 100, max1 * _max / 100];
208
168
  }
209
-
210
169
  return [min !== "" ? +min : min1, max !== "" ? +max : max1];
211
170
  };
@@ -1,39 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _react = require("react");
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- 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; }
19
-
20
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
21
-
22
- 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); }
23
-
24
- 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; }
25
-
11
+ 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; }
12
+ 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; }
13
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
14
+ 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; } }
15
+ 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; }
26
16
  var getInitialSelected = function getInitialSelected(series) {
27
17
  var status = new Map();
28
-
29
18
  var _iterator = _createForOfIteratorHelper(series.entries()),
30
- _step;
31
-
19
+ _step;
32
20
  try {
33
21
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
34
22
  var _step$value = (0, _slicedToArray2["default"])(_step.value, 1),
35
- name = _step$value[0];
36
-
23
+ name = _step$value[0];
37
24
  status.set(name, true);
38
25
  }
39
26
  } catch (err) {
@@ -41,10 +28,8 @@ var getInitialSelected = function getInitialSelected(series) {
41
28
  } finally {
42
29
  _iterator.f();
43
30
  }
44
-
45
31
  return status;
46
32
  };
47
-
48
33
  var getSelected = function getSelected(selected, name) {
49
34
  var tmp = new Map();
50
35
  selected.forEach(function (value, key) {
@@ -56,23 +41,20 @@ var getSelected = function getSelected(selected, name) {
56
41
  });
57
42
  return tmp;
58
43
  };
44
+
59
45
  /**
60
46
  * 图例点击状态管理
61
47
  * @param {Array} data 数据
62
48
  * @param {Map} series 系列
63
49
  * @returns {Array} 返回筛选后的数据和是否选中状态,及控制选中函数
64
50
  */
65
-
66
-
67
- var _default = function _default(_ref) {
51
+ var _default = exports["default"] = function _default(_ref) {
68
52
  var data = _ref.data,
69
- series = _ref.series;
70
-
53
+ series = _ref.series;
71
54
  var _useState = (0, _react.useState)(getInitialSelected(series)),
72
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
- selected = _useState2[0],
74
- setSelected = _useState2[1];
75
-
55
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
+ selected = _useState2[0],
57
+ setSelected = _useState2[1];
76
58
  var _series = (0, _react.useMemo)(function () {
77
59
  var tmp = new Map();
78
60
  series.forEach(function (currentSeries, key) {
@@ -83,14 +65,12 @@ var _default = function _default(_ref) {
83
65
  });
84
66
  return tmp;
85
67
  }, [selected, series]);
86
-
87
68
  var _data = (0, _react.useMemo)(function () {
88
69
  return data.filter(function (_ref2) {
89
70
  var s = _ref2.s;
90
71
  return s && _series.get(s) && _series.get(s).selected;
91
72
  });
92
73
  }, [data, _series]);
93
-
94
74
  var onClick = (0, _react.useCallback)(function (name) {
95
75
  setSelected(function (selected) {
96
76
  return getSelected(selected, name);
@@ -98,15 +78,12 @@ var _default = function _default(_ref) {
98
78
  }, []);
99
79
  (0, _react.useEffect)(function () {
100
80
  var map = getInitialSelected(series);
101
-
102
81
  var _iterator2 = _createForOfIteratorHelper(map.entries()),
103
- _step2;
104
-
82
+ _step2;
105
83
  try {
106
84
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
107
85
  var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 1),
108
- key = _step2$value[0];
109
-
86
+ key = _step2$value[0];
110
87
  if (selected.has(key)) {
111
88
  map.set(key, selected.get(key));
112
89
  }
@@ -116,7 +93,6 @@ var _default = function _default(_ref) {
116
93
  } finally {
117
94
  _iterator2.f();
118
95
  }
119
-
120
96
  setSelected(map);
121
97
  }, [series]);
122
98
  return [{
@@ -128,6 +104,4 @@ var _default = function _default(_ref) {
128
104
  });
129
105
  })
130
106
  }, onClick];
131
- };
132
-
133
- exports["default"] = _default;
107
+ };