@easyv/charts 1.4.25 → 1.4.26

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 (91) hide show
  1. package/.babelrc +8 -8
  2. package/.husky/commit-msg +3 -3
  3. package/CHANGELOG.md +18 -18
  4. package/commitlint.config.js +1 -1
  5. package/lib/components/AnimateData.js +8 -16
  6. package/lib/components/Axis.js +86 -133
  7. package/lib/components/Background.js +18 -26
  8. package/lib/components/Band.js +72 -98
  9. package/lib/components/BaseLine.js +33 -46
  10. package/lib/components/Brush.js +29 -46
  11. package/lib/components/Carousel.js +13 -40
  12. package/lib/components/CartesianChart.js +98 -146
  13. package/lib/components/Chart.js +23 -36
  14. package/lib/components/ChartContainer.js +18 -27
  15. package/lib/components/ConicalGradient.js +56 -89
  16. package/lib/components/Control.js +12 -28
  17. package/lib/components/ExtentData.js +9 -17
  18. package/lib/components/FilterData.js +16 -27
  19. package/lib/components/Indicator.js +23 -30
  20. package/lib/components/Label.js +96 -126
  21. package/lib/components/Legend.js +41 -66
  22. package/lib/components/Lighter.js +21 -50
  23. package/lib/components/Line.js +39 -59
  24. package/lib/components/LinearGradient.js +16 -22
  25. package/lib/components/Mapping.js +9 -34
  26. package/lib/components/Marquee.js +14 -30
  27. package/lib/components/PieChart.js +457 -487
  28. package/lib/components/StackData.js +8 -18
  29. package/lib/components/StereoBar.js +65 -105
  30. package/lib/components/TextOverflow.js +8 -21
  31. package/lib/components/Tooltip.js +41 -55
  32. package/lib/components/index.js +7 -28
  33. package/lib/components/pieTooltip.js +132 -0
  34. package/lib/context/index.js +0 -2
  35. package/lib/css/index.module.css +42 -42
  36. package/lib/css/piechart.module.css +26 -26
  37. package/lib/element/ConicGradient.js +29 -35
  38. package/lib/element/Line.js +9 -13
  39. package/lib/element/index.js +0 -2
  40. package/lib/formatter/index.js +0 -2
  41. package/lib/formatter/legend.js +30 -41
  42. package/lib/hooks/index.js +0 -9
  43. package/lib/hooks/useAiData.js +12 -20
  44. package/lib/hooks/useAnimateData.js +8 -21
  45. package/lib/hooks/useAxes.js +67 -117
  46. package/lib/hooks/useCarouselAxisX.js +27 -60
  47. package/lib/hooks/useExtentData.js +14 -46
  48. package/lib/hooks/useFilterData.js +13 -34
  49. package/lib/hooks/useStackData.js +12 -35
  50. package/lib/hooks/useTooltip.js +36 -53
  51. package/lib/index.js +0 -15
  52. package/lib/utils/index.js +95 -247
  53. package/package.json +55 -55
  54. package/src/components/Background.tsx +61 -61
  55. package/src/components/Band.tsx +274 -274
  56. package/src/components/Brush.js +159 -159
  57. package/src/components/CartesianChart.js +1 -1
  58. package/src/components/Chart.js +99 -99
  59. package/src/components/ChartContainer.tsx +71 -71
  60. package/src/components/ConicalGradient.js +258 -258
  61. package/src/components/Control.jsx +51 -51
  62. package/src/components/ExtentData.js +17 -17
  63. package/src/components/Indicator.js +61 -61
  64. package/src/components/Label.js +275 -275
  65. package/src/components/Legend.js +165 -165
  66. package/src/components/Lighter.jsx +173 -173
  67. package/src/components/Line.js +150 -150
  68. package/src/components/LinearGradient.js +29 -29
  69. package/src/components/Marquee.tsx +1 -1
  70. package/src/components/PieChart.js +403 -260
  71. package/src/components/PieTooltip.jsx +134 -0
  72. package/src/components/StereoBar.tsx +307 -307
  73. package/src/components/index.js +59 -57
  74. package/src/context/index.js +2 -2
  75. package/src/css/index.module.css +42 -42
  76. package/src/css/piechart.module.css +26 -26
  77. package/src/element/ConicGradient.jsx +55 -55
  78. package/src/element/Line.tsx +33 -33
  79. package/src/element/index.ts +3 -3
  80. package/src/formatter/index.js +1 -1
  81. package/src/formatter/legend.js +92 -92
  82. package/src/hooks/index.js +20 -20
  83. package/src/hooks/useAnimateData.ts +67 -67
  84. package/src/hooks/useCarouselAxisX.js +1 -1
  85. package/src/hooks/useFilterData.js +72 -72
  86. package/src/hooks/useStackData.js +101 -101
  87. package/src/hooks/useTooltip.ts +100 -100
  88. package/src/index.js +6 -6
  89. package/src/types/index.d.ts +67 -67
  90. package/src/utils/index.js +757 -757
  91. package/tsconfig.json +23 -23
@@ -1,74 +1,59 @@
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
13
  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
14
  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
-
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
26
  var _default = function _default(axis, config, isHover) {
37
27
  var isControlChart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
38
28
  var controlConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
39
29
  var show = config.show,
40
- interval = config.interval,
41
- duration = config.duration,
42
- hover = config.hover;
30
+ interval = config.interval,
31
+ duration = config.duration,
32
+ hover = config.hover;
43
33
  var time = duration + interval;
44
34
  var tickCount = 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
-
54
- var _end = isControlChart && controlConfig ? end * (1 / (controlConfig.drag.width / 100)) : end;
55
-
43
+ var _end = isControlChart && controlConfig ? end / (controlConfig.drag.width / 100) : end;
56
44
  var controlDragScaler = scaler.copy().range([start, end]);
57
-
58
45
  var _useState = (0, _react.useState)({
59
- scaler: scaler,
60
- step: step,
61
- ticks: ticks
62
- }),
63
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
64
- state = _useState2[0],
65
- setState = _useState2[1];
66
-
46
+ scaler: scaler,
47
+ step: step,
48
+ ticks: ticks
49
+ }),
50
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
+ state = _useState2[0],
52
+ setState = _useState2[1];
67
53
  var _useState3 = (0, _react.useState)(initialState),
68
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
69
- status = _useState4[0],
70
- setStatus = _useState4[1];
71
-
54
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
55
+ status = _useState4[0],
56
+ setStatus = _useState4[1];
72
57
  (0, _react.useEffect)(function () {
73
58
  if (show && time && tickLength > tickCount) {
74
59
  setStatus({
@@ -81,7 +66,6 @@ var _default = function _default(axis, config, isHover) {
81
66
  }, [show, time, tickCount, tickLength]);
82
67
  (0, _react.useEffect)(function () {
83
68
  var handler;
84
-
85
69
  if (!(hover && isHover) && show && time && tickLength > tickCount) {
86
70
  handler = setInterval(function () {
87
71
  setStatus(function (_ref) {
@@ -94,7 +78,6 @@ var _default = function _default(axis, config, isHover) {
94
78
  });
95
79
  }, time * 1000);
96
80
  }
97
-
98
81
  return function () {
99
82
  handler && clearInterval(handler);
100
83
  };
@@ -102,14 +85,11 @@ var _default = function _default(axis, config, isHover) {
102
85
  (0, _react.useEffect)(function () {
103
86
  var animation;
104
87
  var currentIndex = status.currentIndex,
105
- flag = status.flag;
106
-
88
+ flag = status.flag;
107
89
  if (currentIndex !== null) {
108
90
  var _step = lengthWithoutPaddingOuter / tickCount;
109
-
110
91
  if (flag) {
111
92
  var _ticks = allTicks.slice(currentIndex, tickCount);
112
-
113
93
  setState({
114
94
  step: _step,
115
95
  ticks: _ticks,
@@ -124,13 +104,10 @@ var _default = function _default(axis, config, isHover) {
124
104
  onPlay: function onPlay() {
125
105
  setState(function (axis) {
126
106
  var ticks = axis.ticks,
127
- scaler = axis.scaler;
128
-
107
+ scaler = axis.scaler;
129
108
  var _ticks2 = (0, _slicedToArray2["default"])(ticks, 1),
130
- tick = _ticks2[0];
131
-
109
+ tick = _ticks2[0];
132
110
  var _ticks = [tick].concat((0, _toConsumableArray2["default"])(getTicks(allTicks, currentIndex, tickCount)));
133
-
134
111
  return _objectSpread(_objectSpread({}, axis), {}, {
135
112
  ticks: _ticks,
136
113
  scaler: scaler.copy().range([start, _end + _step]).domain(_ticks)
@@ -140,7 +117,7 @@ var _default = function _default(axis, config, isHover) {
140
117
  onUpdate: function onUpdate(v) {
141
118
  setState(function (axis) {
142
119
  var scaler = axis.scaler,
143
- step = axis.step;
120
+ step = axis.step;
144
121
  return _objectSpread(_objectSpread({}, axis), {}, {
145
122
  scaler: scaler.copy().range([start + step * v, _end + step + step * v])
146
123
  });
@@ -149,10 +126,8 @@ var _default = function _default(axis, config, isHover) {
149
126
  onComplete: function onComplete() {
150
127
  setState(function (axis) {
151
128
  var scaler = axis.scaler,
152
- ticks = axis.ticks;
153
-
129
+ ticks = axis.ticks;
154
130
  var _ticks = ticks.slice(1, ticks.length);
155
-
156
131
  return _objectSpread(_objectSpread({}, axis), {}, {
157
132
  ticks: _ticks,
158
133
  scaler: scaler.copy().range([start, _end]).domain(_ticks)
@@ -163,14 +138,12 @@ var _default = function _default(axis, config, isHover) {
163
138
  }
164
139
  } else {
165
140
  var _ticks3 = scaler.type == "linear" ? scaler.domain() : allTicks;
166
-
167
141
  setState({
168
142
  step: step,
169
143
  scaler: scaler.copy().domain(_ticks3).range([start, _end]),
170
144
  ticks: ticks
171
145
  });
172
146
  }
173
-
174
147
  return function () {
175
148
  animation && animation.stop();
176
149
  };
@@ -182,22 +155,16 @@ var _default = function _default(axis, config, isHover) {
182
155
  isControlChart: isControlChart
183
156
  });
184
157
  };
185
-
186
158
  exports["default"] = _default;
187
-
188
159
  var getTicks = function getTicks(ticks, currentIndex, length) {
189
160
  var _currentIndex = +currentIndex;
190
-
191
161
  var ticksLength = ticks.length;
192
162
  if (ticksLength <= length) return ticks;
193
-
194
163
  var _end = _currentIndex + length;
195
-
196
164
  if (ticksLength < _end) {
197
165
  var prev = ticks.slice(_currentIndex, ticksLength);
198
166
  var next = ticks.slice(0, _end - ticksLength);
199
167
  return [].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(next));
200
168
  }
201
-
202
169
  return ticks.slice(_currentIndex, _end);
203
170
  };
@@ -1,28 +1,18 @@
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
14
  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
15
  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
-
26
16
  var stackData = function stackData(data, series) {
27
17
  var dataMap = (0, _d3v.group)(data, function (d) {
28
18
  return d.x;
@@ -35,14 +25,11 @@ var stackData = function stackData(data, series) {
35
25
  dataMap.forEach(function (value) {
36
26
  var arr = [];
37
27
  (0, _utils.resetStacks)(stacks);
38
-
39
28
  for (var i = 0, j = value.length; i < j; i++) {
40
29
  var d = value[i];
41
30
  var stack = series.get(d.s);
42
-
43
31
  if (d && d.y !== undefined && !isNaN(d.y)) {
44
32
  var currentStack = (0, _utils.getCurrentStack)(stack, stacks);
45
-
46
33
  if (stack && currentStack) {
47
34
  if (d.y >= 0) {
48
35
  currentStack.positive += d.y;
@@ -56,13 +43,13 @@ var stackData = function stackData(data, series) {
56
43
  }
57
44
  }
58
45
  }
59
-
60
46
  min = Math.min.apply(Math, arr.concat([min]));
61
47
  max = Math.max.apply(Math, arr.concat([max]));
62
48
  });
63
49
  dataMap.clear();
64
50
  return [min || 0, max || (min || 0) + 100];
65
51
  };
52
+
66
53
  /**
67
54
  * 计算轴的domain
68
55
  * @param {Array} axes x轴列表
@@ -70,81 +57,65 @@ var stackData = function stackData(data, series) {
70
57
  * @param {Object} data 数据列表
71
58
  * @returns {Array} 返回带domain的轴
72
59
  */
73
-
74
-
75
60
  var _default = function _default(_ref) {
76
61
  var axes = _ref.axes,
77
- series = _ref.series,
78
- data = _ref.data;
79
-
62
+ series = _ref.series,
63
+ data = _ref.data;
80
64
  var _series = (0, _react.useMemo)(function () {
81
65
  return (0, _utils.seriesYOrZ)(series);
82
66
  }, [series]);
83
-
84
67
  var _useMemo = (0, _react.useMemo)(function () {
85
- return (0, _utils.dataYOrZ)(data, _series);
86
- }, [data, _series]),
87
- dataY = _useMemo.y,
88
- dataZ = _useMemo.z;
89
-
68
+ return (0, _utils.dataYOrZ)(data, _series);
69
+ }, [data, _series]),
70
+ dataY = _useMemo.y,
71
+ dataZ = _useMemo.z;
90
72
  var x = (0, _react.useMemo)(function () {
91
73
  return (0, _toConsumableArray2["default"])((0, _d3v.group)(data, function (d) {
92
74
  return d.x;
93
75
  }).keys());
94
76
  }, [data]);
95
77
  var y = stackData(dataY, _series.y);
96
- var z = stackData(dataZ, _series.z); //clipAxisMode如果是auto根据clipDifferenceValue设置clipValue
97
-
78
+ var z = stackData(dataZ, _series.z);
79
+ //clipAxisMode如果是auto根据clipDifferenceValue设置clipValue
98
80
  return axes.map(function (item) {
99
81
  var axisType = item.axisType,
100
- domain = item.domain,
101
- type = item.type;
102
-
82
+ domain = item.domain,
83
+ type = item.type;
103
84
  switch (axisType) {
104
85
  case "x":
105
86
  return _objectSpread(_objectSpread({}, item), {}, {
106
87
  domain: type == "linear" ? (0, _d3v.extent)(x) : x
107
88
  });
108
-
109
89
  case "y":
110
90
  {
111
91
  if (item.axisType == "y" && item.isClipAxis === true && item.clipAxisMode == "auto") {
112
92
  var _dataY = dataY.map(function (_item) {
113
93
  return _item.y;
114
94
  });
115
-
116
95
  var _clipValue = Infinity;
117
-
118
96
  if (_dataY.length >= 2) {
119
97
  _dataY.sort(function (a, b) {
120
98
  return a - b;
121
99
  });
122
-
123
100
  var clipDifferenceValueArr = [];
124
-
125
101
  for (var i = 0; i < _dataY.length - 1; i++) {
126
102
  clipDifferenceValueArr.push(_dataY[i + 1] - _dataY[i]);
127
103
  }
128
-
129
104
  var max = (0, _d3v.max)(clipDifferenceValueArr);
130
-
131
105
  if (max >= item.clipDifferenceValue) {
132
106
  var index = clipDifferenceValueArr.indexOf(max);
133
107
  _clipValue = _dataY[index];
134
108
  }
135
109
  }
136
-
137
110
  return _objectSpread(_objectSpread({}, item), {}, {
138
111
  domain: domain ? getDomain(y, domain) : y,
139
112
  clipValue: _clipValue
140
113
  });
141
114
  }
142
-
143
115
  return _objectSpread(_objectSpread({}, item), {}, {
144
116
  domain: domain ? getDomain(y, domain) : y
145
117
  });
146
118
  }
147
-
148
119
  case "z":
149
120
  return _objectSpread(_objectSpread({}, item), {}, {
150
121
  domain: domain ? getDomain(z, domain) : z
@@ -152,15 +123,12 @@ var _default = function _default(_ref) {
152
123
  }
153
124
  });
154
125
  };
155
-
156
126
  exports["default"] = _default;
157
-
158
127
  var getDomain = function getDomain(_ref2, _ref3) {
159
128
  var _ref4 = (0, _slicedToArray2["default"])(_ref2, 2),
160
- min1 = _ref4[0],
161
- max1 = _ref4[1];
162
-
129
+ min1 = _ref4[0],
130
+ max1 = _ref4[1];
163
131
  var min = _ref3.min,
164
- max = _ref3.max;
132
+ max = _ref3.max;
165
133
  return [min !== "" ? +min : min1, max !== "" ? +max : max1];
166
134
  };
@@ -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
11
  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
12
  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
13
  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
14
  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
-
15
+ 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; }
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
  };
59
- /**
60
- * 图例点击状态管理
61
- * @param {Array} data 数据
62
- * @param {Map} series 系列
63
- * @returns {Array} 返回筛选后的数据和是否选中状态,及控制选中函数
64
- */
65
-
66
44
 
45
+ /**
46
+ * 图例点击状态管理
47
+ * @param {Array} data 数据
48
+ * @param {Map} series 系列
49
+ * @returns {Array} 返回筛选后的数据和是否选中状态,及控制选中函数
50
+ */
67
51
  var _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);
@@ -109,5 +89,4 @@ var _default = function _default(_ref) {
109
89
  })
110
90
  }, onClick];
111
91
  };
112
-
113
92
  exports["default"] = _default;
@@ -1,35 +1,24 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
-
16
11
  var _react = require("react");
17
-
18
12
  var _d3v = require("d3v7");
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _excluded = ["name"];
23
-
24
15
  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; }
25
-
26
16
  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; }
27
-
28
17
  var getSeriesMap = function getSeriesMap(series) {
29
18
  var seriesMap = new Map();
30
19
  series.forEach(function (_ref) {
31
20
  var name = _ref.name,
32
- rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
21
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
33
22
  seriesMap.set(name, _objectSpread(_objectSpread({}, rest), {}, {
34
23
  name: name,
35
24
  data: []
@@ -37,27 +26,22 @@ var getSeriesMap = function getSeriesMap(series) {
37
26
  });
38
27
  return seriesMap;
39
28
  };
40
-
41
29
  var resetStackData = function resetStackData(series) {
42
30
  series.forEach(function (series) {
43
31
  series.data = [];
44
32
  });
45
33
  };
46
-
47
34
  var setStackData = function setStackData(data, series, stacks) {
48
35
  var dataMap = (0, _d3v.group)(data, function (d) {
49
36
  return d.x;
50
37
  });
51
38
  dataMap.forEach(function (value) {
52
39
  (0, _utils.resetStacks)(stacks);
53
-
54
40
  for (var i = 0, j = value.length; i < j; i++) {
55
41
  var d = value[i];
56
42
  var currentSeries = series.get(d.s);
57
-
58
43
  if (d && d.y !== undefined && !isNaN(d.y)) {
59
44
  var currentStack = (0, _utils.getCurrentStack)(currentSeries, stacks);
60
-
61
45
  if (currentSeries && currentStack) {
62
46
  if (d.y >= 0) {
63
47
  currentSeries.data.push({
@@ -87,40 +71,34 @@ var setStackData = function setStackData(data, series, stacks) {
87
71
  dataMap.clear();
88
72
  return series;
89
73
  };
90
- /**
91
- * 计算堆叠数据
92
- * @param {Array} data 数据
93
- * @param {Map} series 系列
94
- * @returns {Array} 返回堆叠后的数据,由一开始的{x, y, s}变成{data: {x, y, s}, bound: [start, end], index}
95
- */
96
-
97
74
 
75
+ /**
76
+ * 计算堆叠数据
77
+ * @param {Array} data 数据
78
+ * @param {Map} series 系列
79
+ * @returns {Array} 返回堆叠后的数据,由一开始的{x, y, s}变成{data: {x, y, s}, bound: [start, end], index}
80
+ */
98
81
  var _default = function _default(_ref2) {
99
82
  var data = _ref2.data,
100
- series = _ref2.series;
101
-
83
+ series = _ref2.series;
102
84
  var _series = (0, _react.useMemo)(function () {
103
85
  var stacks = (0, _utils.getStacks)(series);
104
-
105
86
  var _series = getSeriesMap(series);
106
-
107
87
  return {
108
88
  stacks: stacks,
109
89
  series: (0, _utils.seriesYOrZ)(_series)
110
90
  };
111
91
  }, [series]);
112
-
113
92
  var _data = (0, _react.useMemo)(function () {
114
93
  return (0, _utils.dataYOrZ)(data, _series.series);
115
94
  }, [data, _series]);
116
-
117
95
  var tmp = (0, _react.useMemo)(function () {
118
96
  var dataY = _data.y,
119
- dataZ = _data.z;
97
+ dataZ = _data.z;
120
98
  var stacks = _series.stacks,
121
- _series$series = _series.series,
122
- seriesY = _series$series.y,
123
- seriesZ = _series$series.z;
99
+ _series$series = _series.series,
100
+ seriesY = _series$series.y,
101
+ seriesZ = _series$series.z;
124
102
  resetStackData(seriesY);
125
103
  resetStackData(seriesZ);
126
104
  setStackData(dataY, seriesY, stacks);
@@ -134,5 +112,4 @@ var _default = function _default(_ref2) {
134
112
  }, [_data, _series]);
135
113
  return tmp;
136
114
  };
137
-
138
115
  exports["default"] = _default;