@easyv/charts 1.3.22 → 1.3.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.
@@ -48,37 +48,41 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
48
48
  strokeDasharray = _ref$config$line.strokeDasharray,
49
49
  yScaler = _ref.yAxis.scaler,
50
50
  data = _ref.data;
51
- if (!data.value) return null;
52
- var x1 = orientation == 'left' ? yScaler(data.value) : marginLeft,
53
- x2 = orientation == 'left' ? yScaler(data.value) : width - marginRight,
54
- y1 = orientation == 'left' ? marginLeft : yScaler(data.value),
55
- y2 = orientation == 'left' ? height - marginRight : yScaler(data.value);
56
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("g", {
57
- className: "__easyv-baseLine"
58
- }, /*#__PURE__*/_react["default"].createElement("line", {
59
- x1: x1,
60
- x2: x2,
61
- y1: y1,
62
- y2: y2,
63
- stroke: color,
64
- fill: "none",
65
- strokeDasharray: lineType === 'dash' ? strokeDasharray : null,
66
- strokeWidth: lineWidth
67
- })), labelShow && /*#__PURE__*/_react["default"].createElement("foreignObject", {
68
- width: 100,
69
- height: 100,
70
- x: x2 + labelTranslate.x,
71
- y: y2 - textStyle.fontSize + labelTranslate.y
72
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
73
- style: _objectSpread({}, (0, _utils.getFontStyle)(textStyle))
74
- }, label))), dataShow && /*#__PURE__*/_react["default"].createElement("foreignObject", {
75
- width: 100,
76
- height: 100,
77
- x: x2 + dataTranslate.x,
78
- y: y2 + dataTranslate.y
79
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
80
- style: _objectSpread({}, (0, _utils.getFontStyle)(dataStyle))
81
- }, data.value))));
51
+
52
+ try {
53
+ var x1 = orientation == 'left' ? yScaler(data.value) : marginLeft,
54
+ x2 = orientation == 'left' ? yScaler(data.value) : width - marginRight,
55
+ y1 = orientation == 'left' ? marginLeft : yScaler(data.value),
56
+ y2 = orientation == 'left' ? height - marginRight : yScaler(data.value);
57
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("g", {
58
+ className: "__easyv-baseLine"
59
+ }, /*#__PURE__*/_react["default"].createElement("line", {
60
+ x1: x1,
61
+ x2: x2,
62
+ y1: y1,
63
+ y2: y2,
64
+ stroke: color,
65
+ fill: "none",
66
+ strokeDasharray: lineType === 'dash' ? strokeDasharray : null,
67
+ strokeWidth: lineWidth
68
+ })), labelShow && /*#__PURE__*/_react["default"].createElement("foreignObject", {
69
+ width: 100,
70
+ height: 100,
71
+ x: x2 + labelTranslate.x,
72
+ y: y2 - textStyle.fontSize + labelTranslate.y
73
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
74
+ style: _objectSpread({}, (0, _utils.getFontStyle)(textStyle))
75
+ }, label))), dataShow && /*#__PURE__*/_react["default"].createElement("foreignObject", {
76
+ width: 100,
77
+ height: 100,
78
+ x: x2 + dataTranslate.x,
79
+ y: y2 + dataTranslate.y
80
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
81
+ style: _objectSpread({}, (0, _utils.getFontStyle)(dataStyle))
82
+ }, data.value))));
83
+ } catch (e) {
84
+ return null;
85
+ }
82
86
  });
83
87
 
84
88
  exports["default"] = _default;
@@ -21,12 +21,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
21
21
  * 文字跑马灯组件
22
22
  * eg: <Marquee value={文本内容} speed={跑马灯速度} style={额外样式}></Marquee>
23
23
  */
24
- var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
24
+ var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
25
25
  var value = props.value,
26
26
  style = props.style,
27
27
  _props$speed = props.speed,
28
28
  speed = _props$speed === void 0 ? 5 : _props$speed;
29
- var dom = (0, _react.useRef)(null);
30
29
  var target = (0, _react.useRef)(null);
31
30
  var observe = (0, _react.useRef)(null);
32
31
  var speed_ = (0, _react.useRef)(0); //这里必须用一个ref绑定speed,否则animation中获取不到最新的speed
@@ -73,7 +72,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
73
72
  }
74
73
  }
75
74
  }, {
76
- root: dom.current,
75
+ root: ref.current,
77
76
  rootMargin: "0px 0px 0px 0px",
78
77
  threshold: new Array(101).fill(0).map(function (d, i) {
79
78
  return i / 100;
@@ -98,7 +97,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
98
97
  overflow: "hidden",
99
98
  justifyContent: overflow ? "start" : style.justifyContent || ""
100
99
  }),
101
- ref: dom
100
+ ref: ref
102
101
  }, textList.map(function (item, i) {
103
102
  return /*#__PURE__*/React.createElement("span", {
104
103
  key: i,
@@ -106,8 +105,8 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
106
105
  style: {
107
106
  display: i == 1 && !overflow ? "none" : "inline"
108
107
  }
109
- }, item, "\xA0");
108
+ }, item, overflow && /*#__PURE__*/React.createElement("span", null, "\xA0"));
110
109
  }));
111
- });
110
+ }));
112
111
 
113
112
  exports["default"] = _default;
@@ -21,7 +21,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
21
21
  * 文本溢出组件
22
22
  * eg: <TextOverflow type={溢出形式} value={文本内容} speed={跑马灯速度} style={额外样式}></Marquee>
23
23
  */
24
- var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
24
+ var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
25
25
  var type = props.type,
26
26
  value = props.value,
27
27
  style = props.style,
@@ -55,11 +55,13 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (props) {
55
55
  return type == 'marquee' ? /*#__PURE__*/React.createElement(_Marquee["default"], {
56
56
  value: value,
57
57
  speed: speed,
58
- style: styles
58
+ style: styles,
59
+ ref: ref
59
60
  }) : /*#__PURE__*/React.createElement("div", {
60
61
  style: styles,
62
+ ref: ref,
61
63
  title: value || null
62
64
  }, " ", value);
63
- });
65
+ }));
64
66
 
65
67
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyv/charts",
3
- "version": "1.3.22",
3
+ "version": "1.3.24",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -37,46 +37,49 @@ export default memo(
37
37
  yAxis: { scaler: yScaler },
38
38
  data
39
39
  }) => {
40
- if (!data.value) return null;
41
- const x1 = orientation == 'left' ? yScaler(data.value) : marginLeft,
40
+ try{
41
+ const x1 = orientation == 'left' ? yScaler(data.value) : marginLeft,
42
42
  x2 = orientation == 'left' ? yScaler(data.value) : width - marginRight,
43
43
  y1 = orientation == 'left' ? marginLeft : yScaler(data.value),
44
44
  y2 = orientation == 'left' ? height - marginRight : yScaler(data.value);
45
- return (
46
- <>
47
- <g className='__easyv-baseLine' >
48
- <line
49
- x1={x1}
50
- x2={x2}
51
- y1={y1}
52
- y2={y2}
53
- stroke={color}
54
- fill='none'
55
- strokeDasharray={lineType === 'dash' ? strokeDasharray : null}
56
- strokeWidth={lineWidth}
57
- />
58
- </g>
59
- {labelShow &&
60
- <foreignObject
61
- width={100}
62
- height={100}
63
- x={x2 + labelTranslate.x}
64
- y={y2 - textStyle.fontSize + labelTranslate.y}>
65
- <div>
66
- <span style={{ ...getFontStyle(textStyle) }}>{label}</span>
67
- </div>
68
- </foreignObject>}
69
- {dataShow &&
70
- <foreignObject
71
- width={100}
72
- height={100}
73
- x={x2 + dataTranslate.x}
74
- y={y2 + dataTranslate.y}>
75
- <div>
76
- <span style={{ ...getFontStyle(dataStyle) }}>{data.value}</span>
77
- </div>
78
- </foreignObject>}
79
- </>
80
- );
45
+ return (
46
+ <>
47
+ <g className='__easyv-baseLine' >
48
+ <line
49
+ x1={x1}
50
+ x2={x2}
51
+ y1={y1}
52
+ y2={y2}
53
+ stroke={color}
54
+ fill='none'
55
+ strokeDasharray={lineType === 'dash' ? strokeDasharray : null}
56
+ strokeWidth={lineWidth}
57
+ />
58
+ </g>
59
+ {labelShow &&
60
+ <foreignObject
61
+ width={100}
62
+ height={100}
63
+ x={x2 + labelTranslate.x}
64
+ y={y2 - textStyle.fontSize + labelTranslate.y}>
65
+ <div>
66
+ <span style={{ ...getFontStyle(textStyle) }}>{label}</span>
67
+ </div>
68
+ </foreignObject>}
69
+ {dataShow &&
70
+ <foreignObject
71
+ width={100}
72
+ height={100}
73
+ x={x2 + dataTranslate.x}
74
+ y={y2 + dataTranslate.y}>
75
+ <div>
76
+ <span style={{ ...getFontStyle(dataStyle) }}>{data.value}</span>
77
+ </div>
78
+ </foreignObject>}
79
+ </>
80
+ );
81
+ }catch(e){
82
+ return null;
83
+ }
81
84
  }
82
85
  );
@@ -1,18 +1,17 @@
1
- import { useEffect, memo, useRef, useState, useCallback } from "react";
1
+ import { useEffect, memo, useRef, useState, forwardRef } from "react";
2
2
 
3
3
  /**
4
4
  * 文字跑马灯组件
5
5
  * eg: <Marquee value={文本内容} speed={跑马灯速度} style={额外样式}></Marquee>
6
6
  */
7
7
 
8
- export default memo((props) => {
8
+ export default memo(forwardRef((props, ref) => {
9
9
  const {
10
10
  value, // 文本
11
11
  style, // 样式
12
12
  speed = 5, // 动画速度
13
13
  } = props;
14
14
 
15
- const dom = useRef(null);
16
15
  const target = useRef(null);
17
16
  const observe = useRef(null);
18
17
  const speed_ = useRef(0); //这里必须用一个ref绑定speed,否则animation中获取不到最新的speed
@@ -54,7 +53,7 @@ export default memo((props) => {
54
53
  }
55
54
  },
56
55
  {
57
- root: dom.current,
56
+ root: ref.current,
58
57
  rootMargin: "0px 0px 0px 0px",
59
58
  threshold: new Array(101).fill(0).map((d, i) => i / 100), //这里设置了[0-1]之间所有的阈值,保证每一帧的变化都能被观察到
60
59
  }
@@ -79,7 +78,7 @@ export default memo((props) => {
79
78
  overflow: "hidden",
80
79
  justifyContent: overflow ? "start" : style.justifyContent || "",
81
80
  }}
82
- ref={dom}
81
+ ref={ref}
83
82
  >
84
83
  {textList.map((item, i) => {
85
84
  return (
@@ -88,10 +87,11 @@ export default memo((props) => {
88
87
  ref={i == 0 ? target : null}
89
88
  style={{ display: i == 1 && !overflow ? "none" : "inline" }}
90
89
  >
91
- {item}&nbsp;
90
+ {item}
91
+ {overflow && <span>&nbsp;</span>}
92
92
  </span>
93
93
  );
94
94
  })}
95
95
  </div>
96
96
  );
97
- });
97
+ }));
@@ -1,11 +1,11 @@
1
- import { memo } from 'react';
1
+ import { memo, forwardRef } from 'react';
2
2
  import Marquee from './Marquee'
3
3
  /**
4
4
  * 文本溢出组件
5
5
  * eg: <TextOverflow type={溢出形式} value={文本内容} speed={跑马灯速度} style={额外样式}></Marquee>
6
6
  */
7
7
 
8
- export default memo((props) => {
8
+ export default memo(forwardRef((props, ref) => {
9
9
  const {
10
10
  type, //形式:跑马灯marquee /省略号 ellipsis/换行 break-word
11
11
  value, // 文本
@@ -42,8 +42,9 @@ export default memo((props) => {
42
42
  <Marquee
43
43
  value={value}
44
44
  speed={speed}
45
- style={styles} />
45
+ style={styles}
46
+ ref={ref} />
46
47
  ) : (
47
- <div style={styles} title={value || null}> {value}</div>
48
+ <div style={styles} ref={ref} title={value || null}> {value}</div>
48
49
  );
49
- });
50
+ }));