@semcore/d3-chart 3.18.1 → 3.18.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/CHANGELOG.md +7 -1
- package/README.md +1 -1
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +8 -8
- package/lib/cjs/Bubble.js +10 -10
- package/lib/cjs/Donut.js +7 -7
- package/lib/cjs/Dots.js +10 -10
- package/lib/cjs/HorizontalBar.js +8 -8
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +13 -11
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +17 -17
- package/lib/cjs/RadialTree.js +10 -10
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ScatterPlot.js +8 -8
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +7 -7
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/lib/cjs/component/Chart/AbstractChart.js +420 -0
- package/lib/cjs/component/Chart/AbstractChart.js.map +1 -0
- package/lib/cjs/component/Chart/AbstractChart.type.js +2 -0
- package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/AreaChart.js +160 -0
- package/lib/cjs/component/Chart/AreaChart.js.map +1 -0
- package/lib/cjs/component/Chart/AreaChart.type.js +2 -0
- package/lib/cjs/component/Chart/AreaChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/BarChart.js +253 -0
- package/lib/cjs/component/Chart/BarChart.js.map +1 -0
- package/lib/cjs/component/Chart/BarChart.type.js +2 -0
- package/lib/cjs/component/Chart/BarChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/BubbleChart.js +145 -0
- package/lib/cjs/component/Chart/BubbleChart.js.map +1 -0
- package/lib/cjs/component/Chart/BubbleChart.type.js +2 -0
- package/lib/cjs/component/Chart/BubbleChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/DonutChart.js +117 -0
- package/lib/cjs/component/Chart/DonutChart.js.map +1 -0
- package/lib/cjs/component/Chart/DonutChart.type.js +2 -0
- package/lib/cjs/component/Chart/DonutChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/HistogramChart.js +189 -0
- package/lib/cjs/component/Chart/HistogramChart.js.map +1 -0
- package/lib/cjs/component/Chart/HistogramChart.type.js +2 -0
- package/lib/cjs/component/Chart/HistogramChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/LineChart.js +147 -0
- package/lib/cjs/component/Chart/LineChart.js.map +1 -0
- package/lib/cjs/component/Chart/LineChart.type.js +2 -0
- package/lib/cjs/component/Chart/LineChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/RadarChart.js +121 -0
- package/lib/cjs/component/Chart/RadarChart.js.map +1 -0
- package/lib/cjs/component/Chart/RadarChart.type.js +2 -0
- package/lib/cjs/component/Chart/RadarChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js +159 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js +2 -0
- package/lib/cjs/component/Chart/ScatterPlotChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/VennChart.js +144 -0
- package/lib/cjs/component/Chart/VennChart.js.map +1 -0
- package/lib/cjs/component/Chart/VennChart.type.js +2 -0
- package/lib/cjs/component/Chart/VennChart.type.js.map +1 -0
- package/lib/cjs/component/Chart/index.js +28 -0
- package/lib/cjs/component/Chart/index.js.map +1 -0
- package/lib/cjs/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +20 -17
- package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -7
- package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/cjs/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
- package/lib/cjs/index.js +7 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/donut.shadow.css +3 -0
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +130 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +8 -8
- package/lib/es6/Bubble.js +10 -10
- package/lib/es6/Donut.js +7 -7
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/HorizontalBar.js +8 -8
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +13 -11
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +17 -17
- package/lib/es6/RadialTree.js +10 -10
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ScatterPlot.js +8 -8
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +7 -7
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yView.js +2 -2
- package/lib/es6/component/Chart/AbstractChart.js +412 -0
- package/lib/es6/component/Chart/AbstractChart.js.map +1 -0
- package/lib/es6/component/Chart/AbstractChart.type.js +2 -0
- package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -0
- package/lib/es6/component/Chart/AreaChart.js +152 -0
- package/lib/es6/component/Chart/AreaChart.js.map +1 -0
- package/lib/es6/component/Chart/AreaChart.type.js +2 -0
- package/lib/es6/component/Chart/AreaChart.type.js.map +1 -0
- package/lib/es6/component/Chart/BarChart.js +245 -0
- package/lib/es6/component/Chart/BarChart.js.map +1 -0
- package/lib/es6/component/Chart/BarChart.type.js +2 -0
- package/lib/es6/component/Chart/BarChart.type.js.map +1 -0
- package/lib/es6/component/Chart/BubbleChart.js +137 -0
- package/lib/es6/component/Chart/BubbleChart.js.map +1 -0
- package/lib/es6/component/Chart/BubbleChart.type.js +2 -0
- package/lib/es6/component/Chart/BubbleChart.type.js.map +1 -0
- package/lib/es6/component/Chart/DonutChart.js +109 -0
- package/lib/es6/component/Chart/DonutChart.js.map +1 -0
- package/lib/es6/component/Chart/DonutChart.type.js +2 -0
- package/lib/es6/component/Chart/DonutChart.type.js.map +1 -0
- package/lib/es6/component/Chart/HistogramChart.js +181 -0
- package/lib/es6/component/Chart/HistogramChart.js.map +1 -0
- package/lib/es6/component/Chart/HistogramChart.type.js +2 -0
- package/lib/es6/component/Chart/HistogramChart.type.js.map +1 -0
- package/lib/es6/component/Chart/LineChart.js +139 -0
- package/lib/es6/component/Chart/LineChart.js.map +1 -0
- package/lib/es6/component/Chart/LineChart.type.js +2 -0
- package/lib/es6/component/Chart/LineChart.type.js.map +1 -0
- package/lib/es6/component/Chart/RadarChart.js +113 -0
- package/lib/es6/component/Chart/RadarChart.js.map +1 -0
- package/lib/es6/component/Chart/RadarChart.type.js +2 -0
- package/lib/es6/component/Chart/RadarChart.type.js.map +1 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js +151 -0
- package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -0
- package/lib/es6/component/Chart/ScatterPlotChart.type.js +2 -0
- package/lib/es6/component/Chart/ScatterPlotChart.type.js.map +1 -0
- package/lib/es6/component/Chart/VennChart.js +136 -0
- package/lib/es6/component/Chart/VennChart.js.map +1 -0
- package/lib/es6/component/Chart/VennChart.type.js +2 -0
- package/lib/es6/component/Chart/VennChart.type.js.map +1 -0
- package/lib/es6/component/Chart/index.js +21 -0
- package/lib/es6/component/Chart/index.js.map +1 -0
- package/lib/es6/component/ChartLegend/BaseLegend.type.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +20 -17
- package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -7
- package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
- package/lib/es6/component/ChartLegend/LegendTable/legend-table.shadow.css +5 -2
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/donut.shadow.css +3 -0
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/index.d.js +12 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/types/Line.d.ts +7 -2
- package/lib/types/component/Chart/AbstractChart.d.ts +50 -0
- package/lib/types/component/Chart/AbstractChart.type.d.ts +161 -0
- package/lib/types/component/Chart/AreaChart.d.ts +2 -0
- package/lib/types/component/Chart/AreaChart.type.d.ts +16 -0
- package/lib/types/component/Chart/BarChart.d.ts +2 -0
- package/lib/types/component/Chart/BarChart.type.d.ts +19 -0
- package/lib/types/component/Chart/BubbleChart.d.ts +2 -0
- package/lib/types/component/Chart/BubbleChart.type.d.ts +17 -0
- package/lib/types/component/Chart/DonutChart.d.ts +2 -0
- package/lib/types/component/Chart/DonutChart.type.d.ts +15 -0
- package/lib/types/component/Chart/HistogramChart.d.ts +2 -0
- package/lib/types/component/Chart/HistogramChart.type.d.ts +11 -0
- package/lib/types/component/Chart/LineChart.d.ts +2 -0
- package/lib/types/component/Chart/LineChart.type.d.ts +24 -0
- package/lib/types/component/Chart/RadarChart.d.ts +2 -0
- package/lib/types/component/Chart/RadarChart.type.d.ts +14 -0
- package/lib/types/component/Chart/ScatterPlotChart.d.ts +2 -0
- package/lib/types/component/Chart/ScatterPlotChart.type.d.ts +13 -0
- package/lib/types/component/Chart/VennChart.d.ts +2 -0
- package/lib/types/component/Chart/VennChart.type.d.ts +11 -0
- package/lib/types/component/Chart/index.d.ts +12 -0
- package/lib/types/component/ChartLegend/BaseLegend.type.d.ts +2 -2
- package/lib/types/index.d.ts +13 -0
- package/package.json +2 -2
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
8
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
+
import { assignProps as _assignProps } from "@semcore/core";
|
|
10
|
+
import { makeDataHintsContainer } from '../../a11y/hints';
|
|
11
|
+
import { interpolateValue } from '../../utils';
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { Component, Root, sstyled } from '@semcore/core';
|
|
14
|
+
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
15
|
+
import ChartLegend, { ChartLegendTable } from '../ChartLegend';
|
|
16
|
+
import { Flex } from '@semcore/flex-box';
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
import { Plot, XAxis, YAxis } from '../..';
|
|
19
|
+
import { Text } from '@semcore/typography';
|
|
20
|
+
export var AbstractChart = /*#__PURE__*/function (_Component) {
|
|
21
|
+
_inherits(AbstractChart, _Component);
|
|
22
|
+
var _super = _createSuper(AbstractChart);
|
|
23
|
+
/**
|
|
24
|
+
* Padding from the end's of chart to the container (except axis sides)
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function AbstractChart(props) {
|
|
28
|
+
var _this;
|
|
29
|
+
_classCallCheck(this, AbstractChart);
|
|
30
|
+
_this = _super.call(this, props);
|
|
31
|
+
_defineProperty(_assertThisInitialized(_this), "plotPadding", 6);
|
|
32
|
+
_defineProperty(_assertThisInitialized(_this), "dataHints", makeDataHintsContainer());
|
|
33
|
+
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
34
|
+
dataDefinitions: _this.defaultDataDefinitions,
|
|
35
|
+
highlightedLine: -1,
|
|
36
|
+
withTrend: false
|
|
37
|
+
});
|
|
38
|
+
_this.setHighlightedLine = _this.setHighlightedLine.bind(_assertThisInitialized(_this));
|
|
39
|
+
_this.handleChangeVisible = _this.handleChangeVisible.bind(_assertThisInitialized(_this));
|
|
40
|
+
_this.handleMouseEnter = _this.handleMouseEnter.bind(_assertThisInitialized(_this));
|
|
41
|
+
_this.handleMouseLeave = _this.handleMouseLeave.bind(_assertThisInitialized(_this));
|
|
42
|
+
_this.resolveColor = _this.resolveColor.bind(_assertThisInitialized(_this));
|
|
43
|
+
_this.tooltipValueFormatter = _this.tooltipValueFormatter.bind(_assertThisInitialized(_this));
|
|
44
|
+
_this.handleWithTrendChange = _this.handleWithTrendChange.bind(_assertThisInitialized(_this));
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
_createClass(AbstractChart, [{
|
|
48
|
+
key: "componentDidUpdate",
|
|
49
|
+
value: function componentDidUpdate(prevProps) {
|
|
50
|
+
if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {
|
|
51
|
+
this.setState({
|
|
52
|
+
dataDefinitions: this.defaultDataDefinitions
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "defaultDataDefinitions",
|
|
58
|
+
get: function get() {
|
|
59
|
+
var _this2 = this;
|
|
60
|
+
var _this$props = this.props,
|
|
61
|
+
data = _this$props.data,
|
|
62
|
+
legendProps = _this$props.legendProps;
|
|
63
|
+
return this.dataKeys.map(function (key, index) {
|
|
64
|
+
var _legendProps$legendMa, _legendData$label, _legendData$icon, _legendData$defaultCh;
|
|
65
|
+
var legendData = legendProps === null || legendProps === void 0 ? void 0 : (_legendProps$legendMa = legendProps.legendMap) === null || _legendProps$legendMa === void 0 ? void 0 : _legendProps$legendMa[key];
|
|
66
|
+
var dataDefinition = {
|
|
67
|
+
id: key,
|
|
68
|
+
label: (_legendData$label = legendData === null || legendData === void 0 ? void 0 : legendData.label) !== null && _legendData$label !== void 0 ? _legendData$label : key,
|
|
69
|
+
icon: (_legendData$icon = legendData === null || legendData === void 0 ? void 0 : legendData.icon) !== null && _legendData$icon !== void 0 ? _legendData$icon : undefined,
|
|
70
|
+
checked: (_legendData$defaultCh = legendData === null || legendData === void 0 ? void 0 : legendData.defaultChecked) !== null && _legendData$defaultCh !== void 0 ? _legendData$defaultCh : true,
|
|
71
|
+
color: _this2.resolveColor(key, index),
|
|
72
|
+
columns: []
|
|
73
|
+
};
|
|
74
|
+
if (legendData !== null && legendData !== void 0 && legendData.additionalInfo || legendData !== null && legendData !== void 0 && legendData.count) {
|
|
75
|
+
dataDefinition.additionalInfo = legendData.additionalInfo ? {
|
|
76
|
+
label: legendData.additionalInfo
|
|
77
|
+
} : legendData.count ? {
|
|
78
|
+
count: legendData.count
|
|
79
|
+
} : undefined;
|
|
80
|
+
}
|
|
81
|
+
if (legendData && 'columns' in legendData) {
|
|
82
|
+
dataDefinition.columns = legendData.columns || [];
|
|
83
|
+
} else if (!Array.isArray(data)) {
|
|
84
|
+
var _ref3;
|
|
85
|
+
var value = (_ref3 = data instanceof Map ? data.get(key) : Number(data[key])) !== null && _ref3 !== void 0 ? _ref3 : 0;
|
|
86
|
+
var total = Object.values(data).reduce(function (sum, i) {
|
|
87
|
+
return sum + Number(i);
|
|
88
|
+
}, 0);
|
|
89
|
+
var percent = (value / total * 100).toFixed(2);
|
|
90
|
+
dataDefinition.columns = [/*#__PURE__*/React.createElement(Text, {
|
|
91
|
+
key: "".concat(key, "_percent"),
|
|
92
|
+
use: 'secondary'
|
|
93
|
+
}, percent, "%"), /*#__PURE__*/React.createElement(Text, {
|
|
94
|
+
key: "".concat(key, "_value"),
|
|
95
|
+
use: 'primary'
|
|
96
|
+
}, value)];
|
|
97
|
+
}
|
|
98
|
+
return dataDefinition;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
key: "dataKeys",
|
|
103
|
+
get: function get() {
|
|
104
|
+
var _this$props2 = this.props,
|
|
105
|
+
data = _this$props2.data,
|
|
106
|
+
groupKey = _this$props2.groupKey;
|
|
107
|
+
var dataKeys;
|
|
108
|
+
if (Array.isArray(data) && groupKey) {
|
|
109
|
+
dataKeys = Object.keys(data[0]).filter(function (key) {
|
|
110
|
+
return key !== groupKey;
|
|
111
|
+
});
|
|
112
|
+
} else {
|
|
113
|
+
dataKeys = Object.keys(data);
|
|
114
|
+
}
|
|
115
|
+
return dataKeys;
|
|
116
|
+
}
|
|
117
|
+
}, {
|
|
118
|
+
key: "xTicks",
|
|
119
|
+
get: function get() {
|
|
120
|
+
var _this$asProps = this.asProps,
|
|
121
|
+
data = _this$asProps.data,
|
|
122
|
+
invertAxis = _this$asProps.invertAxis,
|
|
123
|
+
xTicksCount = _this$asProps.xTicksCount,
|
|
124
|
+
yTicksCount = _this$asProps.yTicksCount;
|
|
125
|
+
var scale = this.xScale;
|
|
126
|
+
if (Array.isArray(data) && 'ticks' in scale) {
|
|
127
|
+
if (invertAxis && yTicksCount) {
|
|
128
|
+
return scale.ticks(yTicksCount);
|
|
129
|
+
} else if (xTicksCount) {
|
|
130
|
+
return scale.ticks(xTicksCount);
|
|
131
|
+
}
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
}, {
|
|
137
|
+
key: "yTicks",
|
|
138
|
+
get: function get() {
|
|
139
|
+
var _this$asProps2 = this.asProps,
|
|
140
|
+
data = _this$asProps2.data,
|
|
141
|
+
invertAxis = _this$asProps2.invertAxis,
|
|
142
|
+
xTicksCount = _this$asProps2.xTicksCount,
|
|
143
|
+
yTicksCount = _this$asProps2.yTicksCount;
|
|
144
|
+
var scale = this.yScale;
|
|
145
|
+
if (Array.isArray(data) && 'ticks' in scale) {
|
|
146
|
+
if (invertAxis && xTicksCount) {
|
|
147
|
+
return scale.ticks(xTicksCount);
|
|
148
|
+
} else if (yTicksCount) {
|
|
149
|
+
return scale.ticks(yTicksCount);
|
|
150
|
+
}
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
}, {
|
|
156
|
+
key: "flatValues",
|
|
157
|
+
get: function get() {
|
|
158
|
+
var _this$asProps3 = this.asProps,
|
|
159
|
+
data = _this$asProps3.data,
|
|
160
|
+
groupKey = _this$asProps3.groupKey;
|
|
161
|
+
var values = Array.isArray(data) ? data : Object.values(data);
|
|
162
|
+
var flatValues = values.reduce(function (result, item) {
|
|
163
|
+
if (!groupKey && typeof item === 'number') {
|
|
164
|
+
result.add(item);
|
|
165
|
+
} else {
|
|
166
|
+
Object.entries(item).forEach(function (_ref4) {
|
|
167
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
168
|
+
key = _ref5[0],
|
|
169
|
+
value = _ref5[1];
|
|
170
|
+
if (key !== groupKey && typeof value === 'number') {
|
|
171
|
+
result.add(value);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return result;
|
|
176
|
+
}, new Set());
|
|
177
|
+
return flatValues;
|
|
178
|
+
}
|
|
179
|
+
}, {
|
|
180
|
+
key: "maxStackedValue",
|
|
181
|
+
get: function get() {
|
|
182
|
+
var _this$asProps4 = this.asProps,
|
|
183
|
+
data = _this$asProps4.data,
|
|
184
|
+
groupKey = _this$asProps4.groupKey;
|
|
185
|
+
if (!Array.isArray(data)) {
|
|
186
|
+
var _max = Object.values(data).reduce(function (sum, val) {
|
|
187
|
+
if (typeof val === 'number') {
|
|
188
|
+
sum = sum + val;
|
|
189
|
+
}
|
|
190
|
+
return sum;
|
|
191
|
+
}, 0);
|
|
192
|
+
return _max;
|
|
193
|
+
}
|
|
194
|
+
var max = data.reduce(function (max, item) {
|
|
195
|
+
var barSum = Object.entries(item).reduce(function (sum, _ref6) {
|
|
196
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
197
|
+
key = _ref7[0],
|
|
198
|
+
val = _ref7[1];
|
|
199
|
+
if (key === groupKey) {
|
|
200
|
+
return sum;
|
|
201
|
+
}
|
|
202
|
+
if (typeof val === 'number') {
|
|
203
|
+
return sum + val;
|
|
204
|
+
}
|
|
205
|
+
if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {
|
|
206
|
+
return sum + val.getMilliseconds();
|
|
207
|
+
}
|
|
208
|
+
return sum;
|
|
209
|
+
}, 0);
|
|
210
|
+
if (barSum > max) {
|
|
211
|
+
max = barSum;
|
|
212
|
+
}
|
|
213
|
+
return max;
|
|
214
|
+
}, 0);
|
|
215
|
+
return max;
|
|
216
|
+
}
|
|
217
|
+
}, {
|
|
218
|
+
key: "totalValue",
|
|
219
|
+
value: function totalValue(data) {
|
|
220
|
+
var dataDefinitions = this.state.dataDefinitions;
|
|
221
|
+
var total = dataDefinitions.reduce(function (sum, legendItem) {
|
|
222
|
+
var item = data[legendItem.id];
|
|
223
|
+
if (typeof item === 'number') {
|
|
224
|
+
return sum + item;
|
|
225
|
+
}
|
|
226
|
+
if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {
|
|
227
|
+
return sum + item.getMilliseconds();
|
|
228
|
+
}
|
|
229
|
+
return sum;
|
|
230
|
+
}, 0);
|
|
231
|
+
return total;
|
|
232
|
+
}
|
|
233
|
+
}, {
|
|
234
|
+
key: "setHighlightedLine",
|
|
235
|
+
value: function setHighlightedLine(index) {
|
|
236
|
+
this.setState({
|
|
237
|
+
highlightedLine: index
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}, {
|
|
241
|
+
key: "handleChangeVisible",
|
|
242
|
+
value: function handleChangeVisible(id, isVisible) {
|
|
243
|
+
this.setState(function (prevState) {
|
|
244
|
+
var dataDefinitions = prevState.dataDefinitions.map(function (item) {
|
|
245
|
+
if (item.id === id) {
|
|
246
|
+
item.checked = isVisible;
|
|
247
|
+
}
|
|
248
|
+
return item;
|
|
249
|
+
});
|
|
250
|
+
return {
|
|
251
|
+
dataDefinitions: dataDefinitions
|
|
252
|
+
};
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
}, {
|
|
256
|
+
key: "handleWithTrendChange",
|
|
257
|
+
value: function handleWithTrendChange(isVisible) {
|
|
258
|
+
this.setState({
|
|
259
|
+
withTrend: isVisible
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}, {
|
|
263
|
+
key: "handleMouseEnter",
|
|
264
|
+
value: function handleMouseEnter(id) {
|
|
265
|
+
this.setHighlightedLine(this.state.dataDefinitions.findIndex(function (line) {
|
|
266
|
+
return line.id === id;
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
}, {
|
|
270
|
+
key: "handleMouseLeave",
|
|
271
|
+
value: function handleMouseLeave() {
|
|
272
|
+
this.setHighlightedLine(-1);
|
|
273
|
+
}
|
|
274
|
+
}, {
|
|
275
|
+
key: "resolveColor",
|
|
276
|
+
value: function resolveColor(id, index) {
|
|
277
|
+
var _this$props$colorMap$, _this$props$colorMap;
|
|
278
|
+
return (_this$props$colorMap$ = (_this$props$colorMap = this.props.colorMap) === null || _this$props$colorMap === void 0 ? void 0 : _this$props$colorMap[id]) !== null && _this$props$colorMap$ !== void 0 ? _this$props$colorMap$ : "chart-palette-order-".concat(index + 1);
|
|
279
|
+
}
|
|
280
|
+
}, {
|
|
281
|
+
key: "tooltipValueFormatter",
|
|
282
|
+
value: function tooltipValueFormatter(value) {
|
|
283
|
+
var tooltipValueFormatter = this.asProps.tooltipValueFormatter;
|
|
284
|
+
if (tooltipValueFormatter) {
|
|
285
|
+
return tooltipValueFormatter(value);
|
|
286
|
+
}
|
|
287
|
+
if (value === undefined || value === interpolateValue) {
|
|
288
|
+
return 'n/a';
|
|
289
|
+
}
|
|
290
|
+
if (value instanceof Date) {
|
|
291
|
+
return value.toDateString();
|
|
292
|
+
}
|
|
293
|
+
return value.toString();
|
|
294
|
+
}
|
|
295
|
+
}, {
|
|
296
|
+
key: "defaultLegendProps",
|
|
297
|
+
value: function defaultLegendProps() {
|
|
298
|
+
return {
|
|
299
|
+
legendType: 'Flex'
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
}, {
|
|
303
|
+
key: "renderLegend",
|
|
304
|
+
value: function renderLegend() {
|
|
305
|
+
var _lProps$direction;
|
|
306
|
+
var _this$asProps5 = this.asProps,
|
|
307
|
+
legendProps = _this$asProps5.legendProps,
|
|
308
|
+
direction = _this$asProps5.direction,
|
|
309
|
+
showLegend = _this$asProps5.showLegend;
|
|
310
|
+
if (!showLegend ||
|
|
311
|
+
// we hide Legend for one item on chart except not manually set to show.
|
|
312
|
+
this.dataKeys.length === 1 && showLegend === true) {
|
|
313
|
+
return null;
|
|
314
|
+
}
|
|
315
|
+
var _this$state = this.state,
|
|
316
|
+
dataDefinitions = _this$state.dataDefinitions,
|
|
317
|
+
withTrend = _this$state.withTrend;
|
|
318
|
+
var lProps = _objectSpread(_objectSpread({}, this.defaultLegendProps()), legendProps);
|
|
319
|
+
var commonLegendProps = {
|
|
320
|
+
dataHints: this.dataHints,
|
|
321
|
+
items: dataDefinitions,
|
|
322
|
+
size: lProps.size,
|
|
323
|
+
shape: lProps.shape,
|
|
324
|
+
direction: (_lProps$direction = lProps.direction) !== null && _lProps$direction !== void 0 ? _lProps$direction : direction === 'row' || direction === 'row-reverse' ? 'column' : 'row',
|
|
325
|
+
onChangeVisibleItem: lProps.disableSelectItems ? undefined : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),
|
|
326
|
+
onMouseEnterItem: lProps.disableHoverItems ? undefined : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),
|
|
327
|
+
onMouseLeaveItem: lProps.disableHoverItems ? undefined : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave)
|
|
328
|
+
};
|
|
329
|
+
if (lProps.legendType === 'Table') {
|
|
330
|
+
return /*#__PURE__*/React.createElement(ChartLegendTable, commonLegendProps);
|
|
331
|
+
}
|
|
332
|
+
if ('withTrend' in lProps) {
|
|
333
|
+
var flexLegendProps = _objectSpread(_objectSpread({}, commonLegendProps), {}, {
|
|
334
|
+
withTrend: true,
|
|
335
|
+
trendLabel: lProps.trendLabel,
|
|
336
|
+
trendIsVisible: withTrend,
|
|
337
|
+
onTrendIsVisibleChange: this.handleWithTrendChange
|
|
338
|
+
});
|
|
339
|
+
return /*#__PURE__*/React.createElement(ChartLegend, flexLegendProps);
|
|
340
|
+
}
|
|
341
|
+
return /*#__PURE__*/React.createElement(ChartLegend, commonLegendProps);
|
|
342
|
+
}
|
|
343
|
+
}, {
|
|
344
|
+
key: "renderAxis",
|
|
345
|
+
value: function renderAxis() {
|
|
346
|
+
var _this$asProps6 = this.asProps,
|
|
347
|
+
invertAxis = _this$asProps6.invertAxis,
|
|
348
|
+
showXAxis = _this$asProps6.showXAxis,
|
|
349
|
+
showYAxis = _this$asProps6.showYAxis,
|
|
350
|
+
data = _this$asProps6.data,
|
|
351
|
+
axisXValueFormatter = _this$asProps6.axisXValueFormatter,
|
|
352
|
+
axisYValueFormatter = _this$asProps6.axisYValueFormatter;
|
|
353
|
+
if (!Array.isArray(data)) {
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
var xTicks = this.xTicks;
|
|
357
|
+
var yTicks = this.yTicks;
|
|
358
|
+
var childrenX = axisXValueFormatter ? function (_ref8) {
|
|
359
|
+
var value = _ref8.value;
|
|
360
|
+
return {
|
|
361
|
+
children: axisXValueFormatter(value)
|
|
362
|
+
};
|
|
363
|
+
} : undefined;
|
|
364
|
+
var childrenY = axisYValueFormatter ? function (_ref9) {
|
|
365
|
+
var value = _ref9.value;
|
|
366
|
+
return {
|
|
367
|
+
children: axisYValueFormatter(value)
|
|
368
|
+
};
|
|
369
|
+
} : undefined;
|
|
370
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, showYAxis && /*#__PURE__*/React.createElement(YAxis, null, yTicks ? /*#__PURE__*/React.createElement(YAxis.Ticks, {
|
|
371
|
+
ticks: yTicks
|
|
372
|
+
}, childrenY) : /*#__PURE__*/React.createElement(YAxis.Ticks, null, childrenY), invertAxis !== true && (yTicks ? /*#__PURE__*/React.createElement(YAxis.Grid, {
|
|
373
|
+
ticks: yTicks
|
|
374
|
+
}) : /*#__PURE__*/React.createElement(YAxis.Grid, null))), showXAxis && /*#__PURE__*/React.createElement(XAxis, null, xTicks ? /*#__PURE__*/React.createElement(XAxis.Ticks, {
|
|
375
|
+
ticks: xTicks
|
|
376
|
+
}, childrenX) : /*#__PURE__*/React.createElement(XAxis.Ticks, null, childrenX), invertAxis === true && (xTicks ? /*#__PURE__*/React.createElement(XAxis.Grid, {
|
|
377
|
+
ticks: xTicks
|
|
378
|
+
}) : /*#__PURE__*/React.createElement(XAxis.Grid, null))));
|
|
379
|
+
}
|
|
380
|
+
}, {
|
|
381
|
+
key: "render",
|
|
382
|
+
value: function render() {
|
|
383
|
+
var _ref = this.asProps,
|
|
384
|
+
_ref2;
|
|
385
|
+
var SChart = Flex;
|
|
386
|
+
var _this$asProps7 = this.asProps,
|
|
387
|
+
styles = _this$asProps7.styles,
|
|
388
|
+
plotWidth = _this$asProps7.plotWidth,
|
|
389
|
+
plotHeight = _this$asProps7.plotHeight,
|
|
390
|
+
data = _this$asProps7.data;
|
|
391
|
+
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SChart, _ref2.cn("SChart", _objectSpread({}, _assignProps({
|
|
392
|
+
"gap": 5
|
|
393
|
+
}, _ref))), this.renderLegend(), /*#__PURE__*/React.createElement(Plot, _ref2.cn("Plot", {
|
|
394
|
+
"data": data,
|
|
395
|
+
"scale": [this.xScale, this.yScale],
|
|
396
|
+
"width": plotWidth,
|
|
397
|
+
"height": plotHeight,
|
|
398
|
+
"dataHints": this.dataHints
|
|
399
|
+
}), this.renderAxis(), this.renderChart(), this.renderTooltip()));
|
|
400
|
+
}
|
|
401
|
+
}]);
|
|
402
|
+
return AbstractChart;
|
|
403
|
+
}(Component);
|
|
404
|
+
_defineProperty(AbstractChart, "style", {});
|
|
405
|
+
_defineProperty(AbstractChart, "defaultProps", {
|
|
406
|
+
direction: 'column',
|
|
407
|
+
showXAxis: true,
|
|
408
|
+
showYAxis: true,
|
|
409
|
+
showTooltip: true,
|
|
410
|
+
showLegend: true
|
|
411
|
+
});
|
|
412
|
+
//# sourceMappingURL=AbstractChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractChart.js","names":["makeDataHintsContainer","interpolateValue","React","Component","Root","sstyled","callAllEventHandlers","ChartLegend","ChartLegendTable","Flex","Plot","XAxis","YAxis","Text","AbstractChart","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","dataDefinitions","defaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass","key","value","componentDidUpdate","prevProps","data","legendProps","setState","get","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_ref3","Map","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref4","_ref5","_slicedToArray","Set","_this$asProps4","max","val","barSum","_ref6","_ref7","Date","isNaN","getMilliseconds","totalValue","state","legendItem","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","length","_this$state","lProps","_objectSpread","commonLegendProps","dataHints","items","size","shape","onChangeVisibleItem","disableSelectItems","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref8","children","childrenY","_ref9","Fragment","Ticks","Grid","render","_ref","_ref2","SChart","_this$asProps7","styles","plotWidth","plotHeight","cn","_assignProps","renderChart","renderTooltip","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n> extends Component<T, {}, ChartState> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.defaultDataDefinitions,\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.defaultDataDefinitions });\n }\n }\n\n protected get defaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n const value = (data instanceof Map ? data.get(key) : Number(data[key])) ?? 0;\n const total = Object.values(data).reduce<number>((sum, i) => sum + Number(i), 0);\n const percent = ((value / total) * 100).toFixed(2);\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent}%\n </Text>,\n <Text key={`${key}_value`} use={'primary'}>\n {value}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...commonLegendProps} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps: LegendFlexProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...flexLegendProps} />;\n }\n\n return <ChartLegend {...commonLegendProps} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data } = this.asProps;\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n >\n {this.renderAxis()}\n {this.renderChart()}\n {this.renderTooltip()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import React from 'react';\nimport { FlexProps } from '@semcore/flex-box';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Icon from '@semcore/icon';\nimport { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n} /**\n * By default, we show the Legend for all charts with more the one data item.\n * For hide the Legend, you should set showLegend prop to `false`.\n */ & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":""}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _get from "@babel/runtime/helpers/get";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _createSuper from "@babel/runtime/helpers/createSuper";
|
|
8
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import createComponent from '@semcore/core';
|
|
11
|
+
import { scaleLinear, scaleTime } from 'd3-scale';
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
import { Area, minMax, HoverLine, StackedArea } from '../..';
|
|
14
|
+
import { AbstractChart } from './AbstractChart';
|
|
15
|
+
import { Flex, Box } from '@semcore/flex-box';
|
|
16
|
+
import { Text } from '@semcore/typography';
|
|
17
|
+
var AreaChartComponent = /*#__PURE__*/function (_AbstractChart) {
|
|
18
|
+
_inherits(AreaChartComponent, _AbstractChart);
|
|
19
|
+
var _super = _createSuper(AreaChartComponent);
|
|
20
|
+
function AreaChartComponent() {
|
|
21
|
+
_classCallCheck(this, AreaChartComponent);
|
|
22
|
+
return _super.apply(this, arguments);
|
|
23
|
+
}
|
|
24
|
+
_createClass(AreaChartComponent, [{
|
|
25
|
+
key: "xScale",
|
|
26
|
+
get: function get() {
|
|
27
|
+
var _this$asProps = this.asProps,
|
|
28
|
+
xScale = _this$asProps.xScale,
|
|
29
|
+
_this$asProps$marginY = _this$asProps.marginY,
|
|
30
|
+
marginY = _this$asProps$marginY === void 0 ? 40 : _this$asProps$marginY,
|
|
31
|
+
plotWidth = _this$asProps.plotWidth,
|
|
32
|
+
data = _this$asProps.data,
|
|
33
|
+
groupKey = _this$asProps.groupKey;
|
|
34
|
+
if (xScale) {
|
|
35
|
+
return xScale;
|
|
36
|
+
}
|
|
37
|
+
var testItem = data[0][groupKey];
|
|
38
|
+
var range = [marginY, plotWidth - this.plotPadding];
|
|
39
|
+
var domain = minMax(data, groupKey);
|
|
40
|
+
if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {
|
|
41
|
+
return scaleTime(domain, range);
|
|
42
|
+
}
|
|
43
|
+
return scaleLinear(domain, range);
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "yScale",
|
|
47
|
+
get: function get() {
|
|
48
|
+
var _this$asProps2 = this.asProps,
|
|
49
|
+
yScale = _this$asProps2.yScale,
|
|
50
|
+
_this$asProps2$margin = _this$asProps2.marginX,
|
|
51
|
+
marginX = _this$asProps2$margin === void 0 ? 24 : _this$asProps2$margin,
|
|
52
|
+
plotHeight = _this$asProps2.plotHeight,
|
|
53
|
+
stacked = _this$asProps2.stacked,
|
|
54
|
+
data = _this$asProps2.data,
|
|
55
|
+
groupKey = _this$asProps2.groupKey;
|
|
56
|
+
if (yScale) {
|
|
57
|
+
return yScale;
|
|
58
|
+
}
|
|
59
|
+
var flatValues = _get(_getPrototypeOf(AreaChartComponent.prototype), "flatValues", this);
|
|
60
|
+
var min = Math.min.apply(Math, _toConsumableArray(flatValues));
|
|
61
|
+
var max = stacked ? _get(_getPrototypeOf(AreaChartComponent.prototype), "maxStackedValue", this) : Math.max.apply(Math, _toConsumableArray(flatValues));
|
|
62
|
+
return scaleLinear().range([plotHeight - marginX, this.plotPadding]).domain([min, max]);
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "renderChart",
|
|
66
|
+
value: function renderChart() {
|
|
67
|
+
var _this$asProps3 = this.asProps,
|
|
68
|
+
groupKey = _this$asProps3.groupKey,
|
|
69
|
+
curve = _this$asProps3.curve,
|
|
70
|
+
showDots = _this$asProps3.showDots,
|
|
71
|
+
stacked = _this$asProps3.stacked;
|
|
72
|
+
var _this$state = this.state,
|
|
73
|
+
dataDefinitions = _this$state.dataDefinitions,
|
|
74
|
+
highlightedLine = _this$state.highlightedLine;
|
|
75
|
+
if (stacked) {
|
|
76
|
+
return /*#__PURE__*/React.createElement(StackedArea, {
|
|
77
|
+
x: groupKey
|
|
78
|
+
}, dataDefinitions.map(function (item, index) {
|
|
79
|
+
return item.checked && /*#__PURE__*/React.createElement(StackedArea.Area, {
|
|
80
|
+
x: groupKey,
|
|
81
|
+
y: item.id,
|
|
82
|
+
key: item.id,
|
|
83
|
+
color: item.color,
|
|
84
|
+
transparent: highlightedLine !== -1 && highlightedLine !== index,
|
|
85
|
+
curve: curve
|
|
86
|
+
}, showDots && /*#__PURE__*/React.createElement(StackedArea.Area.Dots, {
|
|
87
|
+
display: true
|
|
88
|
+
}));
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
return dataDefinitions.map(function (item, index) {
|
|
92
|
+
return item.checked && /*#__PURE__*/React.createElement(Area, {
|
|
93
|
+
x: groupKey,
|
|
94
|
+
y: item.id,
|
|
95
|
+
key: item.id,
|
|
96
|
+
color: item.color,
|
|
97
|
+
transparent: highlightedLine !== -1 && highlightedLine !== index,
|
|
98
|
+
curve: curve
|
|
99
|
+
}, showDots && /*#__PURE__*/React.createElement(Area.Dots, {
|
|
100
|
+
display: true
|
|
101
|
+
}));
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "renderTooltip",
|
|
106
|
+
value: function renderTooltip() {
|
|
107
|
+
var _this = this;
|
|
108
|
+
var _this$asProps4 = this.asProps,
|
|
109
|
+
data = _this$asProps4.data,
|
|
110
|
+
groupKey = _this$asProps4.groupKey,
|
|
111
|
+
showTotalInTooltip = _this$asProps4.showTotalInTooltip,
|
|
112
|
+
showTooltip = _this$asProps4.showTooltip;
|
|
113
|
+
var dataDefinitions = this.state.dataDefinitions;
|
|
114
|
+
if (!showTooltip) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
return /*#__PURE__*/React.createElement(HoverLine.Tooltip, {
|
|
118
|
+
x: groupKey,
|
|
119
|
+
wMin: 100
|
|
120
|
+
}, function (_ref) {
|
|
121
|
+
var _dataItem$groupKey;
|
|
122
|
+
var xIndex = _ref.xIndex;
|
|
123
|
+
var dataItem = data[xIndex];
|
|
124
|
+
var total = _this.totalValue(dataItem);
|
|
125
|
+
return {
|
|
126
|
+
children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HoverLine.Tooltip.Title, null, (_dataItem$groupKey = dataItem[groupKey]) === null || _dataItem$groupKey === void 0 ? void 0 : _dataItem$groupKey.toString()), dataDefinitions.map(function (item) {
|
|
127
|
+
return item.checked && /*#__PURE__*/React.createElement(Flex, {
|
|
128
|
+
justifyContent: "space-between",
|
|
129
|
+
key: item.id
|
|
130
|
+
}, /*#__PURE__*/React.createElement(HoverLine.Tooltip.Dot, {
|
|
131
|
+
mr: 4,
|
|
132
|
+
color: item.color
|
|
133
|
+
}, item.label), /*#__PURE__*/React.createElement(Text, {
|
|
134
|
+
bold: true
|
|
135
|
+
}, _this.tooltipValueFormatter(dataItem[item.id])));
|
|
136
|
+
}), showTotalInTooltip === true && /*#__PURE__*/React.createElement(Flex, {
|
|
137
|
+
mt: 2,
|
|
138
|
+
justifyContent: "space-between"
|
|
139
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
140
|
+
mr: 4
|
|
141
|
+
}, "Total"), /*#__PURE__*/React.createElement(Text, {
|
|
142
|
+
bold: true
|
|
143
|
+
}, total)))
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}]);
|
|
148
|
+
return AreaChartComponent;
|
|
149
|
+
}(AbstractChart);
|
|
150
|
+
_defineProperty(AreaChartComponent, "displayName", 'Chart.Area');
|
|
151
|
+
export var AreaChart = createComponent(AreaChartComponent);
|
|
152
|
+
//# sourceMappingURL=AreaChart.js.map
|