@easyv/charts 1.2.14 → 1.3.2
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/Background.js +11 -1
- package/lib/components/Band.js +8 -8
- package/lib/components/CartesianChart.js +5 -1
- package/lib/components/Chart.js +2 -1
- package/lib/components/Label.js +11 -12
- package/lib/components/StackData.js +2 -4
- package/lib/components/StereoBar.js +14 -14
- package/lib/hooks/useExtentData.js +4 -2
- package/lib/hooks/useStackData.js +6 -5
- package/lib/utils/index.js +68 -41
- package/package.json +3 -2
- package/src/components/Background.tsx +21 -4
- package/src/components/Band.tsx +10 -14
- package/src/components/CartesianChart.js +33 -22
- package/src/components/Chart.js +1 -1
- package/src/components/Label.js +59 -40
- package/src/components/StackData.js +2 -6
- package/src/components/StereoBar.tsx +304 -308
- package/src/hooks/useExtentData.js +4 -3
- package/src/hooks/useStackData.js +5 -4
- package/src/utils/index.js +32 -8
- package/tsconfig.json +2 -2
|
@@ -22,12 +22,22 @@ var _default = function _default(_ref) {
|
|
|
22
22
|
scaler = _ref$axis.scaler,
|
|
23
23
|
step = _ref$axis.step,
|
|
24
24
|
direction = _ref$axis.direction,
|
|
25
|
+
bandLength = _ref.bandLength,
|
|
25
26
|
_ref$config = _ref.config,
|
|
26
27
|
background = _ref$config.background,
|
|
28
|
+
paddingInner = _ref$config.seriesIntervalWidth,
|
|
27
29
|
paddingOuter = _ref$config.paddingInner,
|
|
28
30
|
length = _ref.length;
|
|
29
31
|
var isVertical = direction === 'vertical';
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
var _getSeriesInfo = (0, _utils.getSeriesInfo)({
|
|
34
|
+
step: step,
|
|
35
|
+
bandLength: bandLength,
|
|
36
|
+
paddingInner: paddingInner,
|
|
37
|
+
paddingOuter: paddingOuter
|
|
38
|
+
}),
|
|
39
|
+
bandwidth = _getSeriesInfo.width;
|
|
40
|
+
|
|
31
41
|
var size = isVertical ? {
|
|
32
42
|
width: length,
|
|
33
43
|
height: bandwidth
|
package/lib/components/Band.js
CHANGED
|
@@ -111,19 +111,19 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
|
|
|
111
111
|
direction = _ref3$xAxis.direction,
|
|
112
112
|
yScaler = _ref3.yAxis.scaler;
|
|
113
113
|
if (!data.length) return null;
|
|
114
|
-
var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
|
|
115
114
|
|
|
116
|
-
var
|
|
117
|
-
|
|
115
|
+
var _getSeriesInfo = (0, _utils.getSeriesInfo)({
|
|
116
|
+
step: step,
|
|
117
|
+
bandLength: bandLength,
|
|
118
118
|
paddingInner: paddingInner,
|
|
119
|
-
|
|
119
|
+
paddingOuter: paddingOuter
|
|
120
120
|
}),
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
seriesWidth = _getSeriesInfo.seriesWidth,
|
|
122
|
+
seriesStep = _getSeriesInfo.seriesStep,
|
|
123
|
+
seriesStart = _getSeriesInfo.seriesStart;
|
|
123
124
|
|
|
124
125
|
var _data = showHighlight ? getHighlightData(data, extent) : data;
|
|
125
126
|
|
|
126
|
-
var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
|
|
127
127
|
var isVertical = direction === 'vertical';
|
|
128
128
|
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
129
129
|
className: "__easyv-band"
|
|
@@ -141,7 +141,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
|
|
|
141
141
|
|
|
142
142
|
var y1 = yScaler(isVertical ? end : start);
|
|
143
143
|
var y2 = yScaler(isVertical ? start : end);
|
|
144
|
-
var positionX = xScaler(x) +
|
|
144
|
+
var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
|
|
145
145
|
if (isNaN(positionX)) return null;
|
|
146
146
|
var positionY = y < 0 ? y1 : y2;
|
|
147
147
|
var attr = getAttr({
|
|
@@ -44,6 +44,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
44
44
|
animation = _ref$config$chart.animation,
|
|
45
45
|
legend = _ref$config$chart.legend,
|
|
46
46
|
series = _ref$config.series,
|
|
47
|
+
bandLength = _ref$config.bandLength,
|
|
47
48
|
tooltip = _ref$config.tooltip,
|
|
48
49
|
_ref$config$baseLine = _ref$config.baseLine,
|
|
49
50
|
_ref$config$baseLine$ = _ref$config$baseLine.orientation,
|
|
@@ -133,7 +134,8 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
133
134
|
}, background && /*#__PURE__*/_react["default"].createElement(_.Background, {
|
|
134
135
|
length: isVertical ? chartWidth : chartHeight,
|
|
135
136
|
axis: axisX,
|
|
136
|
-
config: background
|
|
137
|
+
config: background,
|
|
138
|
+
bandLength: bandLength
|
|
137
139
|
}), (0, _toConsumableArray2["default"])(axes.values()).map(function (item, index) {
|
|
138
140
|
var config = item.axisType == 'x' ? axisX : item;
|
|
139
141
|
return /*#__PURE__*/_react["default"].createElement(_.Axis, (0, _extends2["default"])({
|
|
@@ -149,6 +151,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
149
151
|
return yAxis && Component && /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
150
152
|
key: index
|
|
151
153
|
}, config, {
|
|
154
|
+
bandLength: bandLength,
|
|
152
155
|
xAxis: axisX,
|
|
153
156
|
yAxis: yAxis,
|
|
154
157
|
triggerClick: onInteraction
|
|
@@ -161,6 +164,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
161
164
|
return yAxis && /*#__PURE__*/_react["default"].createElement(_.Label, (0, _extends2["default"])({
|
|
162
165
|
key: index
|
|
163
166
|
}, config, {
|
|
167
|
+
bandLength: bandLength,
|
|
164
168
|
xAxis: axisX,
|
|
165
169
|
yAxis: yAxis,
|
|
166
170
|
triggerClick: onInteraction
|
package/lib/components/Chart.js
CHANGED
|
@@ -64,6 +64,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
|
64
64
|
var chartWidth = width - marginLeft - marginRight;
|
|
65
65
|
var chartHeight = height - marginTop - marginBottom;
|
|
66
66
|
var triggerOnRelative = (0, _react.useCallback)(function (data) {
|
|
67
|
+
console.log("trigger");
|
|
67
68
|
if (!interaction) return;
|
|
68
69
|
var callbacks = interaction.callbacks,
|
|
69
70
|
remoteControls = interaction.remoteControls;
|
|
@@ -83,7 +84,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
|
83
84
|
}
|
|
84
85
|
});
|
|
85
86
|
}
|
|
86
|
-
}, [
|
|
87
|
+
}, [JSON.stringify(interaction)]);
|
|
87
88
|
var onEmit = (0, _react.useCallback)(function () {
|
|
88
89
|
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'click';
|
|
89
90
|
var data = arguments.length > 1 ? arguments[1] : undefined;
|
package/lib/components/Label.js
CHANGED
|
@@ -41,7 +41,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
41
41
|
direction = _ref$xAxis.direction,
|
|
42
42
|
yScaler = _ref.yAxis.scaler,
|
|
43
43
|
triggerClick = _ref.triggerClick;
|
|
44
|
-
var lineType = config.hasOwnProperty('line');
|
|
44
|
+
var lineType = config.hasOwnProperty('line'); // 堆叠处理
|
|
45
45
|
|
|
46
46
|
var showIcon = icon && icon.show;
|
|
47
47
|
var showLabel = label && label.show;
|
|
@@ -51,17 +51,16 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
51
51
|
width = _useContext.width,
|
|
52
52
|
height = _useContext.height;
|
|
53
53
|
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
width: bandwidth,
|
|
54
|
+
var _getSeriesInfo = (0, _utils.getSeriesInfo)({
|
|
55
|
+
step: step,
|
|
56
|
+
bandLength: bandLength,
|
|
58
57
|
paddingInner: paddingInner,
|
|
59
|
-
|
|
58
|
+
paddingOuter: paddingOuter
|
|
60
59
|
}),
|
|
61
|
-
seriesStep =
|
|
62
|
-
seriesWidth =
|
|
60
|
+
seriesStep = _getSeriesInfo.seriesStep,
|
|
61
|
+
seriesWidth = _getSeriesInfo.seriesWidth,
|
|
62
|
+
seriesStart = _getSeriesInfo.seriesStart;
|
|
63
63
|
|
|
64
|
-
var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
|
|
65
64
|
var isVertical = direction === 'vertical';
|
|
66
65
|
var _position = label.position;
|
|
67
66
|
return /*#__PURE__*/React.createElement("g", {
|
|
@@ -78,11 +77,11 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
78
77
|
showY = _ref2$data.showY,
|
|
79
78
|
s = _ref2$data.s;
|
|
80
79
|
|
|
81
|
-
var y1 = yScaler(isVertical ? end : start);
|
|
80
|
+
var y1 = yScaler(isVertical ? end : start); // 处理z型折线图和堆叠柱图的逻辑冲突
|
|
82
81
|
|
|
83
82
|
var y2 = lineType ? start ? yScaler(isVertical ? start : end - start) : yScaler(isVertical ? start : end) : yScaler(isVertical ? start : end); // const y2 = yScaler(isVertical ? start : end);
|
|
84
83
|
|
|
85
|
-
var positionX = xScaler(x) +
|
|
84
|
+
var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
|
|
86
85
|
if (isNaN(positionX)) return null;
|
|
87
86
|
var position = positionX + seriesWidth / 2;
|
|
88
87
|
var labelPosition = isVertical ? getVerticalLabel({
|
|
@@ -109,7 +108,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
|
109
108
|
key: i,
|
|
110
109
|
onClick: triggerClick,
|
|
111
110
|
"data-data": JSON.stringify(data)
|
|
112
|
-
}, showIcon && /*#__PURE__*/React.createElement(Icon, {
|
|
111
|
+
}, showIcon && !isNaN(attr.y) && /*#__PURE__*/React.createElement(Icon, {
|
|
113
112
|
cx: attr.x,
|
|
114
113
|
cy: attr.y,
|
|
115
114
|
config: icon
|
|
@@ -32,15 +32,13 @@ var _default = function _default(Component) {
|
|
|
32
32
|
data = _ref.data,
|
|
33
33
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
|
|
34
34
|
|
|
35
|
-
var
|
|
35
|
+
var _config = (0, _hooks.useStackData)({
|
|
36
36
|
series: series,
|
|
37
37
|
data: data
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
return /*#__PURE__*/React.createElement(Component, (0, _extends2["default"])({}, props, {
|
|
41
|
-
config: _objectSpread(_objectSpread({}, config),
|
|
42
|
-
series: _series
|
|
43
|
-
}),
|
|
41
|
+
config: _objectSpread(_objectSpread({}, config), _config),
|
|
44
42
|
data: data
|
|
45
43
|
}));
|
|
46
44
|
});
|
|
@@ -111,22 +111,22 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
|
|
|
111
111
|
yScaler = _ref3.yAxis.scaler,
|
|
112
112
|
fieldName = _ref3.fieldName;
|
|
113
113
|
if (!data.length) return null;
|
|
114
|
-
var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
|
|
115
114
|
|
|
116
|
-
var
|
|
117
|
-
|
|
115
|
+
var _getSeriesInfo = (0, _utils.getSeriesInfo)({
|
|
116
|
+
step: step,
|
|
117
|
+
bandLength: bandLength,
|
|
118
118
|
paddingInner: paddingInner,
|
|
119
|
-
|
|
119
|
+
paddingOuter: paddingOuter
|
|
120
120
|
}),
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
seriesWidth = _getSeriesInfo.seriesWidth,
|
|
122
|
+
seriesStep = _getSeriesInfo.seriesStep,
|
|
123
|
+
seriesStart = _getSeriesInfo.seriesStart;
|
|
123
124
|
|
|
124
125
|
var _data = showHighlight ? getHighlightData(data, extent) : data;
|
|
125
126
|
|
|
126
|
-
var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
|
|
127
127
|
var isVertical = direction === 'vertical';
|
|
128
|
-
var highlightColor = parseMultiColorToSVG(highlightFill,
|
|
129
|
-
var color = parseMultiColorToSVG(fill,
|
|
128
|
+
var highlightColor = parseMultiColorToSVG(highlightFill, 'highlight_gradient_' + id + '_' + fieldName);
|
|
129
|
+
var color = parseMultiColorToSVG(fill, 'gradient_' + id + '_' + fieldName);
|
|
130
130
|
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
131
131
|
className: "__easyv-band"
|
|
132
132
|
}, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
|
|
@@ -165,7 +165,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
|
|
|
165
165
|
|
|
166
166
|
var y1 = yScaler(isVertical ? end : start);
|
|
167
167
|
var y2 = yScaler(isVertical ? start : end);
|
|
168
|
-
var positionX = xScaler(x) +
|
|
168
|
+
var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
|
|
169
169
|
if (isNaN(positionX)) return null;
|
|
170
170
|
var positionY = y < 0 ? y1 : y2;
|
|
171
171
|
var attr = getAttr({
|
|
@@ -253,7 +253,7 @@ function deg2rad(deg) {
|
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
function deepCopy(obj) {
|
|
256
|
-
if ((0, _typeof2["default"])(obj) ==
|
|
256
|
+
if ((0, _typeof2["default"])(obj) == 'object') {
|
|
257
257
|
var o;
|
|
258
258
|
|
|
259
259
|
if (Array.isArray(obj)) {
|
|
@@ -278,7 +278,7 @@ function deepCopy(obj) {
|
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
function parseMultiColorToSVG(config, id) {
|
|
281
|
-
if (config.type ==
|
|
281
|
+
if (config.type == 'linear') {
|
|
282
282
|
var _config$linear = config.linear,
|
|
283
283
|
stops = _config$linear.stops,
|
|
284
284
|
opacity = _config$linear.opacity;
|
|
@@ -302,14 +302,14 @@ function parseMultiColorToSVG(config, id) {
|
|
|
302
302
|
|
|
303
303
|
return {
|
|
304
304
|
fill: "url(#".concat(id, ")"),
|
|
305
|
-
def: /*#__PURE__*/_react["default"].createElement(
|
|
305
|
+
def: /*#__PURE__*/_react["default"].createElement('linearGradient', {
|
|
306
306
|
id: id,
|
|
307
307
|
x2: start[0],
|
|
308
308
|
y2: start[1],
|
|
309
309
|
x1: end[0],
|
|
310
310
|
y1: end[1]
|
|
311
311
|
}, _stops.map(function (e) {
|
|
312
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
312
|
+
return /*#__PURE__*/_react["default"].createElement('stop', {
|
|
313
313
|
key: e.offset,
|
|
314
314
|
offset: e.offset / 100,
|
|
315
315
|
stopColor: e.color,
|
|
@@ -28,8 +28,10 @@ var stackData = function stackData(data, series) {
|
|
|
28
28
|
return d.x;
|
|
29
29
|
});
|
|
30
30
|
var stacks = (0, _utils.getStacks)(series);
|
|
31
|
-
var min
|
|
32
|
-
|
|
31
|
+
var min, max;
|
|
32
|
+
max = min = (0, _d3v.min)(data, function (d) {
|
|
33
|
+
return d.y;
|
|
34
|
+
});
|
|
33
35
|
dataMap.forEach(function (value) {
|
|
34
36
|
var arr = [];
|
|
35
37
|
(0, _utils.resetStacks)(stacks);
|
|
@@ -82,10 +82,6 @@ var setStackData = function setStackData(data, series, stacks) {
|
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
|
|
86
|
-
currentSeries.bandLength = currentSeries.type === 'band' ? stacks.filter(function (item) {
|
|
87
|
-
return item.type == 'band';
|
|
88
|
-
}).length : 1;
|
|
89
85
|
}
|
|
90
86
|
});
|
|
91
87
|
dataMap.clear();
|
|
@@ -129,7 +125,12 @@ var _default = function _default(_ref2) {
|
|
|
129
125
|
resetStackData(seriesZ);
|
|
130
126
|
setStackData(dataY, seriesY, stacks);
|
|
131
127
|
setStackData(dataZ, seriesZ, stacks);
|
|
132
|
-
return
|
|
128
|
+
return {
|
|
129
|
+
bandLength: stacks.filter(function (item) {
|
|
130
|
+
return item.type == 'band';
|
|
131
|
+
}).length,
|
|
132
|
+
series: [].concat((0, _toConsumableArray2["default"])(seriesY.values()), (0, _toConsumableArray2["default"])(seriesZ.values()))
|
|
133
|
+
};
|
|
133
134
|
}, [_data, _series]);
|
|
134
135
|
return tmp;
|
|
135
136
|
};
|
package/lib/utils/index.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.band = band;
|
|
9
|
-
exports.sortPie = exports.seriesYOrZ = exports.resetStacks = exports.reduceConfig = exports.isValidHttpUrl = exports.identity = exports.getTranslate3d = exports.getTranslate2d = exports.getTicksOfAxis = exports.getTickCoord = exports.getStacks = exports.getMousePos = exports.getMargin = exports.getIcon = exports.getGridCoord = exports.getFontStyle = exports.getDomPath = exports.getDataWithPercent = exports.getCurrentStack = exports.getColorList = exports.getChildren = exports.getBreakWord = exports.getBandwidth = exports.getBandSeriesStepAndWidth = exports.getBandBackground = exports.filterChildren = exports.dateFormat = exports.dataYOrZ = void 0;
|
|
9
|
+
exports.sortPie = exports.seriesYOrZ = exports.resetStacks = exports.reduceConfig = exports.isValidHttpUrl = exports.identity = exports.getTranslate3d = exports.getTranslate2d = exports.getTicksOfAxis = exports.getTickCoord = exports.getStacks = exports.getSeriesInfo = exports.getMousePos = exports.getMargin = exports.getIcon = exports.getGridCoord = exports.getFontStyle = exports.getDomPath = exports.getDataWithPercent = exports.getCurrentStack = exports.getColorList = exports.getChildren = exports.getBreakWord = exports.getBandwidth = exports.getBandSeriesStepAndWidth = exports.getBandBackground = exports.filterChildren = exports.dateFormat = exports.dataYOrZ = void 0;
|
|
10
10
|
|
|
11
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
12
12
|
|
|
@@ -408,15 +408,15 @@ function band() {
|
|
|
408
408
|
};
|
|
409
409
|
|
|
410
410
|
scale.range = function (_) {
|
|
411
|
-
var _ref11
|
|
411
|
+
var _ref11;
|
|
412
412
|
|
|
413
|
-
return arguments.length ? ((_ref11 =
|
|
413
|
+
return arguments.length ? ((_ref11 = (0, _slicedToArray2["default"])(_, 2), r0 = _ref11[0], r1 = _ref11[1]), r0 = +r0, r1 = +r1, rescale()) : [r0, r1];
|
|
414
414
|
};
|
|
415
415
|
|
|
416
416
|
scale.rangeRound = function (_) {
|
|
417
|
-
var
|
|
417
|
+
var _ref12;
|
|
418
418
|
|
|
419
|
-
return (
|
|
419
|
+
return (_ref12 = (0, _slicedToArray2["default"])(_, 2), r0 = _ref12[0], r1 = _ref12[1]), r0 = +r0, r1 = +r1, round = true, rescale();
|
|
420
420
|
};
|
|
421
421
|
|
|
422
422
|
scale.bandwidth = function () {
|
|
@@ -481,14 +481,14 @@ function initRange(domain, range) {
|
|
|
481
481
|
|
|
482
482
|
var getStacks = function getStacks(series) {
|
|
483
483
|
var tmp = [];
|
|
484
|
-
series.forEach(function (
|
|
485
|
-
var type =
|
|
486
|
-
stack =
|
|
487
|
-
yOrZ =
|
|
488
|
-
var current = tmp.find(function (
|
|
489
|
-
var _type =
|
|
490
|
-
_stack =
|
|
491
|
-
_yOrZ =
|
|
484
|
+
series.forEach(function (_ref13, name) {
|
|
485
|
+
var type = _ref13.type,
|
|
486
|
+
stack = _ref13.stack,
|
|
487
|
+
yOrZ = _ref13.yOrZ;
|
|
488
|
+
var current = tmp.find(function (_ref14) {
|
|
489
|
+
var _type = _ref14.type,
|
|
490
|
+
_stack = _ref14.stack,
|
|
491
|
+
_yOrZ = _ref14.yOrZ;
|
|
492
492
|
return _type == type && stack && _stack == stack && yOrZ == _yOrZ;
|
|
493
493
|
});
|
|
494
494
|
|
|
@@ -523,9 +523,9 @@ var getStacks = function getStacks(series) {
|
|
|
523
523
|
|
|
524
524
|
exports.getStacks = getStacks;
|
|
525
525
|
|
|
526
|
-
var dataYOrZ = function dataYOrZ(data,
|
|
527
|
-
var seriesY =
|
|
528
|
-
seriesZ =
|
|
526
|
+
var dataYOrZ = function dataYOrZ(data, _ref15) {
|
|
527
|
+
var seriesY = _ref15.y,
|
|
528
|
+
seriesZ = _ref15.z;
|
|
529
529
|
var tmp = {
|
|
530
530
|
y: [],
|
|
531
531
|
z: []
|
|
@@ -577,11 +577,11 @@ var resetStacks = function resetStacks(stacks) {
|
|
|
577
577
|
exports.resetStacks = resetStacks;
|
|
578
578
|
|
|
579
579
|
var getCurrentStack = function getCurrentStack(stack, stackMap) {
|
|
580
|
-
return stackMap.find(function (
|
|
581
|
-
var _stack =
|
|
582
|
-
_type =
|
|
583
|
-
_yOrZ =
|
|
584
|
-
_s =
|
|
580
|
+
return stackMap.find(function (_ref16) {
|
|
581
|
+
var _stack = _ref16.stack,
|
|
582
|
+
_type = _ref16.type,
|
|
583
|
+
_yOrZ = _ref16.yOrZ,
|
|
584
|
+
_s = _ref16.s;
|
|
585
585
|
return _type == stack.type && _stack == stack.stack && _yOrZ == stack.yOrZ && _s.includes(stack.name);
|
|
586
586
|
});
|
|
587
587
|
};
|
|
@@ -609,10 +609,10 @@ var getBandwidth = function getBandwidth(step, paddingOuter) {
|
|
|
609
609
|
|
|
610
610
|
exports.getBandwidth = getBandwidth;
|
|
611
611
|
|
|
612
|
-
var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(
|
|
613
|
-
var width =
|
|
614
|
-
paddingInner =
|
|
615
|
-
bandLength =
|
|
612
|
+
var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(_ref17) {
|
|
613
|
+
var width = _ref17.width,
|
|
614
|
+
paddingInner = _ref17.paddingInner,
|
|
615
|
+
bandLength = _ref17.bandLength;
|
|
616
616
|
var seriesStep = width / (bandLength == 0 ? 1 : bandLength);
|
|
617
617
|
var seriesWidth = seriesStep * (1 - paddingInner);
|
|
618
618
|
return {
|
|
@@ -623,6 +623,33 @@ var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(_ref19) {
|
|
|
623
623
|
|
|
624
624
|
exports.getBandSeriesStepAndWidth = getBandSeriesStepAndWidth;
|
|
625
625
|
|
|
626
|
+
var getSeriesInfo = function getSeriesInfo(_ref18) {
|
|
627
|
+
var step = _ref18.step,
|
|
628
|
+
_ref18$bandLength = _ref18.bandLength,
|
|
629
|
+
bandLength = _ref18$bandLength === void 0 ? 1 : _ref18$bandLength,
|
|
630
|
+
_ref18$paddingInner = _ref18.paddingInner,
|
|
631
|
+
paddingInner = _ref18$paddingInner === void 0 ? 0 : _ref18$paddingInner,
|
|
632
|
+
_ref18$paddingOuter = _ref18.paddingOuter,
|
|
633
|
+
paddingOuter = _ref18$paddingOuter === void 0 ? 0 : _ref18$paddingOuter;
|
|
634
|
+
if (bandLength == 0) return {
|
|
635
|
+
seriesWidth: step,
|
|
636
|
+
seriesStep: step,
|
|
637
|
+
seriesStart: 0,
|
|
638
|
+
width: step
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
var _step = step / (bandLength + paddingOuter * 2 + paddingInner * (bandLength - 1));
|
|
642
|
+
|
|
643
|
+
return {
|
|
644
|
+
seriesWidth: _step,
|
|
645
|
+
seriesStep: (1 + paddingInner) * _step,
|
|
646
|
+
seriesStart: paddingOuter * _step,
|
|
647
|
+
width: step - paddingOuter * 2 * _step
|
|
648
|
+
};
|
|
649
|
+
};
|
|
650
|
+
|
|
651
|
+
exports.getSeriesInfo = getSeriesInfo;
|
|
652
|
+
|
|
626
653
|
var isValidHttpUrl = function isValidHttpUrl(string) {
|
|
627
654
|
var url;
|
|
628
655
|
|
|
@@ -740,27 +767,27 @@ var sortPie = function sortPie(data, order) {
|
|
|
740
767
|
|
|
741
768
|
switch (order) {
|
|
742
769
|
case '':
|
|
743
|
-
_data.sort(function (
|
|
744
|
-
var a =
|
|
745
|
-
var b =
|
|
770
|
+
_data.sort(function (_ref19, _ref20) {
|
|
771
|
+
var a = _ref19.index;
|
|
772
|
+
var b = _ref20.index;
|
|
746
773
|
return (0, _d3v.ascending)(a, b);
|
|
747
774
|
});
|
|
748
775
|
|
|
749
776
|
break;
|
|
750
777
|
|
|
751
778
|
case 'desc':
|
|
752
|
-
_data.sort(function (
|
|
753
|
-
var a =
|
|
754
|
-
var b =
|
|
779
|
+
_data.sort(function (_ref21, _ref22) {
|
|
780
|
+
var a = _ref21.value;
|
|
781
|
+
var b = _ref22.value;
|
|
755
782
|
return (0, _d3v.descending)(a, b);
|
|
756
783
|
});
|
|
757
784
|
|
|
758
785
|
break;
|
|
759
786
|
|
|
760
787
|
case 'asc':
|
|
761
|
-
_data.sort(function (
|
|
762
|
-
var a =
|
|
763
|
-
var b =
|
|
788
|
+
_data.sort(function (_ref23, _ref24) {
|
|
789
|
+
var a = _ref23.value;
|
|
790
|
+
var b = _ref24.value;
|
|
764
791
|
return (0, _d3v.ascending)(a, b);
|
|
765
792
|
});
|
|
766
793
|
|
|
@@ -809,15 +836,15 @@ var getDataWithPercent = function getDataWithPercent() {
|
|
|
809
836
|
return d.vote;
|
|
810
837
|
});
|
|
811
838
|
var remainder = targetSeats - currentSum;
|
|
812
|
-
votesPerQuota.sort(function (
|
|
813
|
-
var a =
|
|
814
|
-
var b =
|
|
839
|
+
votesPerQuota.sort(function (_ref25, _ref26) {
|
|
840
|
+
var a = _ref25.value;
|
|
841
|
+
var b = _ref26.value;
|
|
815
842
|
return a % total - b % total;
|
|
816
843
|
});
|
|
817
|
-
var tmp = votesPerQuota.map(function (
|
|
818
|
-
var vote =
|
|
819
|
-
value =
|
|
820
|
-
data = (0, _objectWithoutProperties2["default"])(
|
|
844
|
+
var tmp = votesPerQuota.map(function (_ref27, index) {
|
|
845
|
+
var vote = _ref27.vote,
|
|
846
|
+
value = _ref27.value,
|
|
847
|
+
data = (0, _objectWithoutProperties2["default"])(_ref27, _excluded2);
|
|
821
848
|
|
|
822
849
|
var obj = _objectSpread(_objectSpread({}, data), {}, {
|
|
823
850
|
value: value,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easyv/charts",
|
|
3
|
-
"version": "1.2
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"@commitlint/cli": "^16.2.4",
|
|
23
23
|
"@commitlint/config-conventional": "^16.2.4",
|
|
24
24
|
"@types/d3": "^7.0.0",
|
|
25
|
-
"@types/react": "^
|
|
25
|
+
"@types/react": "^18.0.12",
|
|
26
|
+
"@types/react-dom": "^18.0.5",
|
|
26
27
|
"babel-plugin-transform-import-styles": "^0.0.11",
|
|
27
28
|
"babel-preset-env": "^1.7.0",
|
|
28
29
|
"cz-conventional-changelog": "^3.3.0",
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
* 轴类图背景
|
|
3
3
|
*/
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { getSeriesInfo } from '../utils';
|
|
6
6
|
|
|
7
7
|
export default ({
|
|
8
8
|
axis: { ticks, scaler, step, direction },
|
|
9
|
-
|
|
9
|
+
bandLength,
|
|
10
|
+
config: {
|
|
11
|
+
background,
|
|
12
|
+
seriesIntervalWidth: paddingInner,
|
|
13
|
+
paddingInner: paddingOuter,
|
|
14
|
+
},
|
|
10
15
|
length,
|
|
11
16
|
}: {
|
|
12
17
|
axis: {
|
|
@@ -15,11 +20,23 @@ export default ({
|
|
|
15
20
|
step: number;
|
|
16
21
|
direction: string;
|
|
17
22
|
};
|
|
18
|
-
|
|
23
|
+
bandLength: number;
|
|
24
|
+
config: {
|
|
25
|
+
background: string;
|
|
26
|
+
seriesIntervalWidth: number;
|
|
27
|
+
paddingInner: number;
|
|
28
|
+
};
|
|
19
29
|
length: number;
|
|
20
30
|
}) => {
|
|
21
31
|
const isVertical: boolean = direction === 'vertical';
|
|
22
|
-
|
|
32
|
+
|
|
33
|
+
const { width: bandwidth } = getSeriesInfo({
|
|
34
|
+
step,
|
|
35
|
+
bandLength,
|
|
36
|
+
paddingInner,
|
|
37
|
+
paddingOuter,
|
|
38
|
+
});
|
|
39
|
+
|
|
23
40
|
const size = isVertical
|
|
24
41
|
? {
|
|
25
42
|
width: length,
|
package/src/components/Band.tsx
CHANGED
|
@@ -3,11 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import React, { memo } from 'react';
|
|
5
5
|
import { min, max } from 'd3v7';
|
|
6
|
-
import {
|
|
7
|
-
getBandBackground,
|
|
8
|
-
getBandwidth,
|
|
9
|
-
getBandSeriesStepAndWidth,
|
|
10
|
-
} from '../utils';
|
|
6
|
+
import { getBandBackground, getSeriesInfo } from '../utils';
|
|
11
7
|
|
|
12
8
|
const getHighlightData = (data: Array<DataWithBoundType>, extent: string) => {
|
|
13
9
|
switch (extent) {
|
|
@@ -89,19 +85,16 @@ export default memo(
|
|
|
89
85
|
yAxis: { scaler: yScaler },
|
|
90
86
|
}: any) => {
|
|
91
87
|
if (!data.length) return null;
|
|
92
|
-
|
|
93
|
-
const { seriesStep,
|
|
94
|
-
|
|
95
|
-
paddingInner,
|
|
88
|
+
|
|
89
|
+
const { seriesWidth, seriesStep, seriesStart } = getSeriesInfo({
|
|
90
|
+
step,
|
|
96
91
|
bandLength,
|
|
92
|
+
paddingInner,
|
|
93
|
+
paddingOuter,
|
|
97
94
|
});
|
|
98
95
|
|
|
99
96
|
const _data = showHighlight ? getHighlightData(data, extent) : data;
|
|
100
97
|
|
|
101
|
-
const offset =
|
|
102
|
-
(seriesWidth + paddingInner * seriesStep) * bandLength -
|
|
103
|
-
paddingInner * seriesStep;
|
|
104
|
-
|
|
105
98
|
const isVertical = direction === 'vertical';
|
|
106
99
|
return (
|
|
107
100
|
<g className='__easyv-band'>
|
|
@@ -118,7 +111,10 @@ export default memo(
|
|
|
118
111
|
) => {
|
|
119
112
|
const y1 = yScaler(isVertical ? end : start);
|
|
120
113
|
const y2 = yScaler(isVertical ? start : end);
|
|
121
|
-
|
|
114
|
+
|
|
115
|
+
const positionX =
|
|
116
|
+
xScaler(x) - step / 2 + seriesStart + index * seriesStep;
|
|
117
|
+
|
|
122
118
|
if (isNaN(positionX)) return null;
|
|
123
119
|
const positionY = y < 0 ? y1 : y2;
|
|
124
120
|
const attr = getAttr({
|