@easyv/charts 1.8.11 → 1.8.12
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/Label.js +46 -9
- package/package.json +1 -1
- package/src/components/Label.js +29 -3
package/lib/components/Label.js
CHANGED
|
@@ -6,18 +6,43 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
var _react = require("react");
|
|
13
|
+
var _d3v = require("d3v7");
|
|
13
14
|
var _utils = require("../utils");
|
|
14
15
|
var _context = require("../context");
|
|
15
|
-
var _excluded = ["
|
|
16
|
-
|
|
16
|
+
var _excluded = ["show", "extent"],
|
|
17
|
+
_excluded2 = ["seriesIntervalWidth", "paddingInner", "showType", "highlight"];
|
|
18
|
+
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; }
|
|
19
|
+
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; } /**
|
|
17
20
|
* 轴类图表标签
|
|
18
21
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
var getHighlightData = function getHighlightData(data, extent) {
|
|
23
|
+
switch (extent) {
|
|
24
|
+
case "min":
|
|
25
|
+
var minData = (0, _d3v.min)(data, function (d) {
|
|
26
|
+
return d.data.y;
|
|
27
|
+
});
|
|
28
|
+
return data.map(function (item) {
|
|
29
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
30
|
+
flag: minData == item.data.y ? "min" : ""
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
case "max":
|
|
34
|
+
var maxData = (0, _d3v.max)(data, function (d) {
|
|
35
|
+
return d.data.y;
|
|
36
|
+
});
|
|
37
|
+
return data.map(function (item) {
|
|
38
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
39
|
+
flag: maxData == item.data.y ? "max" : ""
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
default:
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
21
46
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
22
47
|
var _ref$config = _ref.config,
|
|
23
48
|
_ref$config$seriesInt = _ref$config.seriesIntervalWidth,
|
|
@@ -26,7 +51,11 @@ var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
26
51
|
paddingOuter = _ref$config$paddingIn === void 0 ? 0 : _ref$config$paddingIn,
|
|
27
52
|
_ref$config$showType = _ref$config.showType,
|
|
28
53
|
seriesType = _ref$config$showType === void 0 ? 'bar' : _ref$config$showType,
|
|
29
|
-
|
|
54
|
+
_ref$config$highlight = _ref$config.highlight,
|
|
55
|
+
showHighlight = _ref$config$highlight.show,
|
|
56
|
+
extent = _ref$config$highlight.extent,
|
|
57
|
+
highlightStyle = (0, _objectWithoutProperties2["default"])(_ref$config$highlight, _excluded),
|
|
58
|
+
other = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded2),
|
|
30
59
|
config = _ref.config,
|
|
31
60
|
curXLabel = _ref.curXLabel,
|
|
32
61
|
selectStyle = _ref.selectStyle,
|
|
@@ -61,6 +90,12 @@ var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
61
90
|
}
|
|
62
91
|
}
|
|
63
92
|
}
|
|
93
|
+
var highlightConfig = other;
|
|
94
|
+
if (highlightStyle) {
|
|
95
|
+
highlightConfig = _objectSpread(_objectSpread({}, other), {}, {
|
|
96
|
+
label: highlightStyle.numlabel
|
|
97
|
+
});
|
|
98
|
+
}
|
|
64
99
|
var lineType = config.hasOwnProperty("line"); // 堆叠处理
|
|
65
100
|
|
|
66
101
|
if (!data.length) return null;
|
|
@@ -76,11 +111,13 @@ var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
76
111
|
seriesStep = _getSeriesInfo.seriesStep,
|
|
77
112
|
seriesWidth = _getSeriesInfo.seriesWidth,
|
|
78
113
|
seriesStart = _getSeriesInfo.seriesStart;
|
|
114
|
+
var _data = showHighlight ? getHighlightData(data, extent) : data;
|
|
79
115
|
var isVertical = direction === "vertical";
|
|
80
116
|
return /*#__PURE__*/React.createElement("g", {
|
|
81
117
|
className: "__easyv-label"
|
|
82
|
-
},
|
|
83
|
-
var
|
|
118
|
+
}, _data.map(function (_ref2, i) {
|
|
119
|
+
var flag = _ref2.flag,
|
|
120
|
+
index = _ref2.index,
|
|
84
121
|
_ref2$bound = (0, _slicedToArray2["default"])(_ref2.bound, 2),
|
|
85
122
|
start = _ref2$bound[0],
|
|
86
123
|
end = _ref2$bound[1],
|
|
@@ -91,7 +128,7 @@ var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(function (_ref
|
|
|
91
128
|
showY = _ref2$data.showY,
|
|
92
129
|
s = _ref2$data.s;
|
|
93
130
|
var y1, y2;
|
|
94
|
-
var _ref3 = x == curXLabel ? selectConfig : other,
|
|
131
|
+
var _ref3 = x == curXLabel ? selectConfig : flag ? highlightConfig : other,
|
|
95
132
|
icon = _ref3.icon,
|
|
96
133
|
label = _ref3.label;
|
|
97
134
|
var showIcon = icon && icon.show;
|
package/package.json
CHANGED
package/src/components/Label.js
CHANGED
|
@@ -2,15 +2,36 @@
|
|
|
2
2
|
* 轴类图表标签
|
|
3
3
|
*/
|
|
4
4
|
import { memo, useContext } from "react";
|
|
5
|
+
import { min, max } from "d3v7";
|
|
5
6
|
import { getTranslate2d, getSeriesInfo, getFontStyle, formatFont } from "../utils";
|
|
6
7
|
import { chartContext } from "../context";
|
|
7
8
|
|
|
9
|
+
const getHighlightData = (data, extent) => {
|
|
10
|
+
switch (extent) {
|
|
11
|
+
case "min":
|
|
12
|
+
const minData = min(data, (d) => d.data.y);
|
|
13
|
+
return data.map((item) => ({
|
|
14
|
+
...item,
|
|
15
|
+
flag: minData == item.data.y ? "min" : "",
|
|
16
|
+
}));
|
|
17
|
+
case "max":
|
|
18
|
+
const maxData = max(data, (d) => d.data.y);
|
|
19
|
+
return data.map((item) => ({
|
|
20
|
+
...item,
|
|
21
|
+
flag: maxData == item.data.y ? "max" : "",
|
|
22
|
+
}));
|
|
23
|
+
default:
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
8
28
|
export default memo(
|
|
9
29
|
({
|
|
10
30
|
config: {
|
|
11
31
|
seriesIntervalWidth: paddingInner = 0,
|
|
12
32
|
paddingInner: paddingOuter = 0,
|
|
13
33
|
showType:seriesType = 'bar',
|
|
34
|
+
highlight: { show: showHighlight, extent, ...highlightStyle },
|
|
14
35
|
...other
|
|
15
36
|
},
|
|
16
37
|
config,
|
|
@@ -33,6 +54,10 @@ export default memo(
|
|
|
33
54
|
}
|
|
34
55
|
}
|
|
35
56
|
}
|
|
57
|
+
let highlightConfig = other;
|
|
58
|
+
if(highlightStyle){
|
|
59
|
+
highlightConfig = { ...other, label:highlightStyle.numlabel };
|
|
60
|
+
}
|
|
36
61
|
const lineType = config.hasOwnProperty("line"); // 堆叠处理
|
|
37
62
|
|
|
38
63
|
if (!data.length) return null;
|
|
@@ -44,17 +69,18 @@ export default memo(
|
|
|
44
69
|
paddingInner,
|
|
45
70
|
paddingOuter,
|
|
46
71
|
});
|
|
72
|
+
const _data = showHighlight ? getHighlightData(data, extent) : data;
|
|
47
73
|
const isVertical = direction === "vertical";
|
|
48
74
|
|
|
49
75
|
return (
|
|
50
76
|
<g className="__easyv-label">
|
|
51
|
-
{
|
|
77
|
+
{_data.map(
|
|
52
78
|
(
|
|
53
|
-
{ index, bound: [start, end], data, data: { x, y, showY, s } },
|
|
79
|
+
{ flag, index, bound: [start, end], data, data: { x, y, showY, s } },
|
|
54
80
|
i
|
|
55
81
|
) => {
|
|
56
82
|
let y1, y2;
|
|
57
|
-
const { icon, label } = x==curXLabel?selectConfig:other;
|
|
83
|
+
const { icon, label } = x==curXLabel?selectConfig:flag?highlightConfig:other;
|
|
58
84
|
const showIcon = icon && icon.show;
|
|
59
85
|
const showLabel = label && label.show;
|
|
60
86
|
const { position:_position="outerStart", reverse=true } = label || {};
|