@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.
@@ -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 = ["seriesIntervalWidth", "paddingInner", "showType"];
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
- 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; }
20
- 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; }
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
- other = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded),
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
- }, data.map(function (_ref2, i) {
83
- var index = _ref2.index,
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyv/charts",
3
- "version": "1.8.11",
3
+ "version": "1.8.12",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -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
- {data.map(
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 || {};