@easyv/charts 1.4.22 → 1.4.24
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/.babelrc +8 -8
- package/.husky/commit-msg +3 -3
- package/CHANGELOG.md +18 -18
- package/commitlint.config.js +1 -1
- package/lib/components/AnimateData.js +8 -16
- package/lib/components/Axis.js +106 -138
- package/lib/components/Background.js +18 -26
- package/lib/components/Band.js +105 -91
- package/lib/components/BaseLine.js +33 -46
- package/lib/components/Brush.js +29 -46
- package/lib/components/Carousel.js +13 -40
- package/lib/components/CartesianChart.js +291 -112
- package/lib/components/Chart.js +23 -36
- package/lib/components/ChartContainer.js +21 -29
- package/lib/components/ConicalGradient.js +56 -89
- package/lib/components/Control.js +65 -0
- package/lib/components/ExtentData.js +9 -17
- package/lib/components/FilterData.js +16 -27
- package/lib/components/Indicator.js +66 -12
- package/lib/components/Label.js +128 -118
- package/lib/components/Legend.js +41 -66
- package/lib/components/Lighter.js +21 -50
- package/lib/components/Line.js +39 -59
- package/lib/components/LinearGradient.js +16 -22
- package/lib/components/Mapping.js +9 -34
- package/lib/components/Marquee.js +14 -30
- package/lib/components/PieChart.js +311 -405
- package/lib/components/StackData.js +8 -18
- package/lib/components/StereoBar.js +65 -105
- package/lib/components/TextOverflow.js +8 -21
- package/lib/components/Tooltip.js +41 -55
- package/lib/components/index.js +7 -27
- package/lib/context/index.js +0 -2
- package/lib/css/index.module.css +42 -42
- package/lib/css/piechart.module.css +26 -26
- package/lib/element/ConicGradient.js +29 -35
- package/lib/element/Line.js +9 -13
- package/lib/element/index.js +0 -2
- package/lib/formatter/index.js +0 -2
- package/lib/formatter/legend.js +30 -41
- package/lib/hooks/index.js +0 -9
- package/lib/hooks/useAiData.js +12 -20
- package/lib/hooks/useAnimateData.js +8 -21
- package/lib/hooks/useAxes.js +69 -115
- package/lib/hooks/useCarouselAxisX.js +47 -68
- package/lib/hooks/useExtentData.js +14 -46
- package/lib/hooks/useFilterData.js +13 -34
- package/lib/hooks/useStackData.js +12 -35
- package/lib/hooks/useTooltip.js +37 -54
- package/lib/index.js +0 -15
- package/lib/utils/index.js +95 -247
- package/package.json +55 -55
- package/src/components/Axis.tsx +223 -183
- package/src/components/Background.tsx +61 -61
- package/src/components/Band.tsx +274 -239
- package/src/components/Brush.js +159 -159
- package/src/components/CartesianChart.js +319 -43
- package/src/components/Chart.js +99 -99
- package/src/components/ChartContainer.tsx +71 -64
- package/src/components/ConicalGradient.js +258 -258
- package/src/components/Control.jsx +51 -0
- package/src/components/ExtentData.js +17 -17
- package/src/components/Indicator.js +61 -13
- package/src/components/Label.js +275 -242
- package/src/components/Legend.js +165 -165
- package/src/components/Lighter.jsx +173 -173
- package/src/components/Line.js +150 -150
- package/src/components/LinearGradient.js +29 -29
- package/src/components/PieChart.js +7 -3
- package/src/components/StereoBar.tsx +307 -307
- package/src/components/index.js +57 -55
- package/src/context/index.js +2 -2
- package/src/css/index.module.css +42 -42
- package/src/css/piechart.module.css +26 -26
- package/src/element/ConicGradient.jsx +55 -55
- package/src/element/Line.tsx +33 -33
- package/src/element/index.ts +3 -3
- package/src/formatter/index.js +1 -1
- package/src/formatter/legend.js +92 -92
- package/src/hooks/index.js +20 -20
- package/src/hooks/useAnimateData.ts +67 -67
- package/src/hooks/useAxes.js +9 -2
- package/src/hooks/useCarouselAxisX.js +35 -18
- package/src/hooks/useFilterData.js +72 -72
- package/src/hooks/useStackData.js +101 -101
- package/src/hooks/useTooltip.ts +100 -100
- package/src/index.js +6 -6
- package/src/types/index.d.ts +67 -67
- package/src/utils/index.js +757 -757
- package/tsconfig.json +23 -23
|
@@ -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
|
-
|
|
78
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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);
|
|
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
|
-
|
|
101
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
129
|
+
min1 = _ref4[0],
|
|
130
|
+
max1 = _ref4[1];
|
|
163
131
|
var min = _ref3.min,
|
|
164
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
70
|
-
|
|
53
|
+
series = _ref.series;
|
|
71
54
|
var _useState = (0, _react.useState)(getInitialSelected(series)),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
97
|
+
dataZ = _data.z;
|
|
120
98
|
var stacks = _series.stacks,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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;
|
package/lib/hooks/useTooltip.js
CHANGED
|
@@ -1,83 +1,69 @@
|
|
|
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 _react = require("react");
|
|
13
|
-
|
|
14
10
|
var _utils = require("../utils");
|
|
15
|
-
|
|
16
11
|
var callback = function callback() {};
|
|
17
|
-
/**
|
|
18
|
-
* 主要用于轴类图表,返回当前选中的是哪一个x
|
|
19
|
-
* @param {Array} svg svg的dom实例
|
|
20
|
-
* @param {Number} marginLeft 左间距
|
|
21
|
-
* @param {Number} marginTop 上间距
|
|
22
|
-
* @param {Number} width 宽
|
|
23
|
-
* @param {Number} height 高
|
|
24
|
-
* @param {Number} axisX 类目轴
|
|
25
|
-
* @param {Object} config 轮播动画参数
|
|
26
|
-
* @returns {Object} 返回被选中的名称,坐标,选中方法
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
12
|
|
|
13
|
+
/**
|
|
14
|
+
* 主要用于轴类图表,返回当前选中的是哪一个x
|
|
15
|
+
* @param {Array} svg svg的dom实例
|
|
16
|
+
* @param {Number} marginLeft 左间距
|
|
17
|
+
* @param {Number} marginTop 上间距
|
|
18
|
+
* @param {Number} width 宽
|
|
19
|
+
* @param {Number} height 高
|
|
20
|
+
* @param {Number} axisX 类目轴
|
|
21
|
+
* @param {Object} config 轮播动画参数
|
|
22
|
+
* @returns {Object} 返回被选中的名称,坐标,选中方法
|
|
23
|
+
*/
|
|
30
24
|
var _default = function _default(_ref) {
|
|
31
25
|
var svg = _ref.svg,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
marginLeft = _ref.marginLeft,
|
|
27
|
+
marginTop = _ref.marginTop,
|
|
28
|
+
width = _ref.width,
|
|
29
|
+
height = _ref.height,
|
|
30
|
+
axisX = _ref.axisX,
|
|
31
|
+
isHover = _ref.isHover,
|
|
32
|
+
_ref$config = _ref.config,
|
|
33
|
+
_ref$config2 = _ref$config === void 0 ? {} : _ref$config,
|
|
34
|
+
auto = _ref$config2.auto,
|
|
35
|
+
_ref$config2$interval = _ref$config2.interval,
|
|
36
|
+
interval = _ref$config2$interval === void 0 ? 0 : _ref$config2$interval,
|
|
37
|
+
manual = _ref$config2.manual;
|
|
45
38
|
var _useState = (0, _react.useState)(null),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
40
|
+
currentIndex = _useState2[0],
|
|
41
|
+
setCurrentIndex = _useState2[1];
|
|
50
42
|
var tickLength = axisX.allTicks.length;
|
|
51
43
|
var setIndex = (0, _react.useCallback)(function (e) {
|
|
52
44
|
if (svg) {
|
|
53
45
|
var _getMousePos = (0, _utils.getMousePos)(e, svg.current),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
mouseX = _getMousePos.x,
|
|
47
|
+
mouseY = _getMousePos.y,
|
|
48
|
+
boundWidth = _getMousePos.w,
|
|
49
|
+
boundHeight = _getMousePos.h;
|
|
59
50
|
var carousel = axisX.carousel,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
51
|
+
allTicks = axisX.allTicks,
|
|
52
|
+
ticks = axisX.ticks,
|
|
53
|
+
scaler = axisX.scaler,
|
|
54
|
+
direction = axisX.direction;
|
|
65
55
|
var _ticks = carousel ? ticks : allTicks;
|
|
66
|
-
|
|
67
56
|
var ratioX = parseInt(svg.current.style.width) / boundWidth;
|
|
68
57
|
var ratioY = parseInt(svg.current.style.height) / boundHeight;
|
|
69
58
|
var resetX = mouseX * ratioX;
|
|
70
59
|
var resetY = mouseY * ratioY;
|
|
71
60
|
var x = resetX - marginLeft;
|
|
72
61
|
var y = resetY - marginTop;
|
|
73
|
-
|
|
74
62
|
if (x > 0 && x < width && y > 0 && y < height && _ticks.length) {
|
|
75
|
-
var position = direction ===
|
|
76
|
-
|
|
63
|
+
var position = direction === "vertical" ? y : x;
|
|
77
64
|
var _name = _ticks.reduce(function (prev, current) {
|
|
78
65
|
return Math.abs(scaler(prev) - position) > Math.abs(scaler(current) - position) ? current : prev;
|
|
79
66
|
});
|
|
80
|
-
|
|
81
67
|
setCurrentIndex(allTicks.findIndex(function (tick) {
|
|
82
68
|
return tick == _name;
|
|
83
69
|
}));
|
|
@@ -90,17 +76,15 @@ var _default = function _default(_ref) {
|
|
|
90
76
|
}
|
|
91
77
|
}, [svg, marginLeft, axisX, auto]);
|
|
92
78
|
(0, _react.useEffect)(function () {
|
|
93
|
-
var on = auto && tickLength && !isHover;
|
|
94
|
-
|
|
79
|
+
var on = auto && tickLength && !isHover;
|
|
80
|
+
// if (!!on) setCurrentIndex(0);
|
|
95
81
|
var intervalHandler = on ? setInterval(function () {
|
|
96
82
|
setCurrentIndex(function (index) {
|
|
97
83
|
var tmp = index == null ? 0 : index;
|
|
98
84
|
var currentIndex = tmp + 1;
|
|
99
|
-
|
|
100
85
|
if (currentIndex >= tickLength) {
|
|
101
86
|
return 0;
|
|
102
87
|
}
|
|
103
|
-
|
|
104
88
|
return currentIndex;
|
|
105
89
|
});
|
|
106
90
|
}, interval * 1000) : null;
|
|
@@ -115,5 +99,4 @@ var _default = function _default(_ref) {
|
|
|
115
99
|
setIndex: manual ? setIndex : callback
|
|
116
100
|
};
|
|
117
101
|
};
|
|
118
|
-
|
|
119
102
|
exports["default"] = _default;
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -9,9 +8,7 @@ var _exportNames = {
|
|
|
9
8
|
utils: true
|
|
10
9
|
};
|
|
11
10
|
exports.utils = void 0;
|
|
12
|
-
|
|
13
11
|
var _components = require("./components");
|
|
14
|
-
|
|
15
12
|
Object.keys(_components).forEach(function (key) {
|
|
16
13
|
if (key === "default" || key === "__esModule") return;
|
|
17
14
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -23,9 +20,7 @@ Object.keys(_components).forEach(function (key) {
|
|
|
23
20
|
}
|
|
24
21
|
});
|
|
25
22
|
});
|
|
26
|
-
|
|
27
23
|
var _hooks = require("./hooks");
|
|
28
|
-
|
|
29
24
|
Object.keys(_hooks).forEach(function (key) {
|
|
30
25
|
if (key === "default" || key === "__esModule") return;
|
|
31
26
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -37,9 +32,7 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
37
32
|
}
|
|
38
33
|
});
|
|
39
34
|
});
|
|
40
|
-
|
|
41
35
|
var _context = require("./context");
|
|
42
|
-
|
|
43
36
|
Object.keys(_context).forEach(function (key) {
|
|
44
37
|
if (key === "default" || key === "__esModule") return;
|
|
45
38
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -51,9 +44,7 @@ Object.keys(_context).forEach(function (key) {
|
|
|
51
44
|
}
|
|
52
45
|
});
|
|
53
46
|
});
|
|
54
|
-
|
|
55
47
|
var _formatter = require("./formatter");
|
|
56
|
-
|
|
57
48
|
Object.keys(_formatter).forEach(function (key) {
|
|
58
49
|
if (key === "default" || key === "__esModule") return;
|
|
59
50
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -65,13 +56,9 @@ Object.keys(_formatter).forEach(function (key) {
|
|
|
65
56
|
}
|
|
66
57
|
});
|
|
67
58
|
});
|
|
68
|
-
|
|
69
59
|
var _utils = _interopRequireWildcard(require("./utils"));
|
|
70
|
-
|
|
71
60
|
exports.utils = _utils;
|
|
72
|
-
|
|
73
61
|
var _utils3 = require("@easyv/utils");
|
|
74
|
-
|
|
75
62
|
Object.keys(_utils3).forEach(function (key) {
|
|
76
63
|
if (key === "default" || key === "__esModule") return;
|
|
77
64
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -83,7 +70,5 @@ Object.keys(_utils3).forEach(function (key) {
|
|
|
83
70
|
}
|
|
84
71
|
});
|
|
85
72
|
});
|
|
86
|
-
|
|
87
73
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
88
|
-
|
|
89
74
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|