@cgeui/utils 0.0.2 → 0.0.3

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.
Files changed (97) hide show
  1. package/dist/esm/charts/Chart/utils/complementData.js +714 -0
  2. package/dist/esm/charts/Chart/utils/convertToEchartsConfig/chartsToEchartsConfig.js +99 -0
  3. package/dist/esm/charts/Chart/utils/convertToEchartsConfig/index.js +2 -0
  4. package/dist/esm/charts/Chart/utils/convertToEchartsConfig/pieChartToEchartsConfig.js +140 -0
  5. package/dist/esm/charts/Chart/utils/getOption.js +365 -0
  6. package/dist/esm/charts/Chart/utils/handleChartConfig.js +279 -0
  7. package/dist/esm/charts/Chart/utils/index.js +5 -0
  8. package/dist/esm/charts/Chart/utils/preConfig/index.js +307 -0
  9. package/dist/esm/charts/Chart/utils/preConfig/type.js +1 -0
  10. package/dist/esm/charts/PieChart/interface.js +1 -0
  11. package/dist/esm/charts/PieChart/locales/en-US.js +9 -0
  12. package/dist/esm/charts/PieChart/locales/index.js +7 -0
  13. package/dist/esm/charts/PieChart/locales/zh-CN.js +9 -0
  14. package/dist/esm/charts/PieChart/util.js +434 -0
  15. package/dist/esm/charts/SuperChart/config/bar.js +39 -0
  16. package/dist/esm/charts/SuperChart/config/index.js +237 -0
  17. package/dist/esm/charts/SuperChart/configStyle/color.js +23 -0
  18. package/dist/esm/charts/SuperChart/configStyle/dataZoom.js +13 -0
  19. package/dist/esm/charts/SuperChart/configStyle/grid.js +20 -0
  20. package/dist/esm/charts/SuperChart/configStyle/index.js +10 -0
  21. package/dist/esm/charts/SuperChart/configStyle/legend.js +68 -0
  22. package/dist/esm/charts/SuperChart/configStyle/lineStyle.js +80 -0
  23. package/dist/esm/charts/SuperChart/configStyle/title.js +16 -0
  24. package/dist/esm/charts/SuperChart/configStyle/tooltip.js +38 -0
  25. package/dist/esm/charts/SuperChart/configStyle/visualMap.js +18 -0
  26. package/dist/esm/charts/SuperChart/configStyle/xAxis.js +19 -0
  27. package/dist/esm/charts/SuperChart/configStyle/yAxis.js +56 -0
  28. package/dist/esm/charts/SuperChart/interface.js +1 -0
  29. package/dist/esm/charts/chartTheme/colorUtil.js +22 -0
  30. package/dist/esm/charts/chartTheme/darkChart.js +508 -0
  31. package/dist/esm/charts/chartTheme/defaultChart.js +492 -0
  32. package/dist/esm/charts/chartTheme/index.js +4 -0
  33. package/dist/esm/charts/chartTheme/themeColor.js +168 -0
  34. package/dist/esm/charts/index.js +5 -0
  35. package/dist/esm/charts/utils/charts/hex2Rgb.js +32 -0
  36. package/dist/esm/charts/utils/constants/env.js +6 -0
  37. package/dist/esm/charts/utils/constants/helper.js +5 -0
  38. package/dist/esm/charts/utils/constants/index.js +3 -0
  39. package/dist/esm/charts/utils/constants/table.js +17 -0
  40. package/dist/esm/charts/utils/data.js +450 -0
  41. package/dist/esm/charts/utils/index.js +5 -0
  42. package/dist/esm/charts/utils/locale.js +7 -0
  43. package/dist/esm/charts/utils/time/index.js +14 -0
  44. package/dist/esm/charts/utils/types/action.d.ts +33 -0
  45. package/dist/esm/charts/utils/types/chart.d.ts +220 -0
  46. package/dist/esm/charts/utils/types/data.d.ts +51 -0
  47. package/dist/esm/charts/utils/types/index.d.ts +3 -0
  48. package/dist/esm/index.js +3 -0
  49. package/dist/lib/charts/Chart/utils/complementData.js +721 -0
  50. package/dist/lib/charts/Chart/utils/convertToEchartsConfig/chartsToEchartsConfig.js +105 -0
  51. package/dist/lib/charts/Chart/utils/convertToEchartsConfig/index.js +27 -0
  52. package/dist/lib/charts/Chart/utils/convertToEchartsConfig/pieChartToEchartsConfig.js +147 -0
  53. package/dist/lib/charts/Chart/utils/getOption.js +371 -0
  54. package/dist/lib/charts/Chart/utils/handleChartConfig.js +284 -0
  55. package/dist/lib/charts/Chart/utils/index.js +60 -0
  56. package/dist/lib/charts/Chart/utils/preConfig/index.js +313 -0
  57. package/dist/lib/charts/Chart/utils/preConfig/type.js +5 -0
  58. package/dist/lib/charts/PieChart/interface.js +5 -0
  59. package/dist/lib/charts/PieChart/locales/en-US.js +15 -0
  60. package/dist/lib/charts/PieChart/locales/index.js +14 -0
  61. package/dist/lib/charts/PieChart/locales/zh-CN.js +15 -0
  62. package/dist/lib/charts/PieChart/util.js +441 -0
  63. package/dist/lib/charts/SuperChart/config/bar.js +45 -0
  64. package/dist/lib/charts/SuperChart/config/index.js +243 -0
  65. package/dist/lib/charts/SuperChart/configStyle/color.js +29 -0
  66. package/dist/lib/charts/SuperChart/configStyle/dataZoom.js +19 -0
  67. package/dist/lib/charts/SuperChart/configStyle/grid.js +26 -0
  68. package/dist/lib/charts/SuperChart/configStyle/index.js +76 -0
  69. package/dist/lib/charts/SuperChart/configStyle/legend.js +74 -0
  70. package/dist/lib/charts/SuperChart/configStyle/lineStyle.js +86 -0
  71. package/dist/lib/charts/SuperChart/configStyle/title.js +22 -0
  72. package/dist/lib/charts/SuperChart/configStyle/tooltip.js +44 -0
  73. package/dist/lib/charts/SuperChart/configStyle/visualMap.js +24 -0
  74. package/dist/lib/charts/SuperChart/configStyle/xAxis.js +25 -0
  75. package/dist/lib/charts/SuperChart/configStyle/yAxis.js +62 -0
  76. package/dist/lib/charts/SuperChart/interface.js +5 -0
  77. package/dist/lib/charts/chartTheme/colorUtil.js +28 -0
  78. package/dist/lib/charts/chartTheme/darkChart.js +514 -0
  79. package/dist/lib/charts/chartTheme/defaultChart.js +498 -0
  80. package/dist/lib/charts/chartTheme/index.js +49 -0
  81. package/dist/lib/charts/chartTheme/themeColor.js +174 -0
  82. package/dist/lib/charts/index.js +60 -0
  83. package/dist/lib/charts/utils/charts/hex2Rgb.js +38 -0
  84. package/dist/lib/charts/utils/constants/env.js +12 -0
  85. package/dist/lib/charts/utils/constants/helper.js +11 -0
  86. package/dist/lib/charts/utils/constants/index.js +38 -0
  87. package/dist/lib/charts/utils/constants/table.js +23 -0
  88. package/dist/lib/charts/utils/data.js +454 -0
  89. package/dist/lib/charts/utils/index.js +60 -0
  90. package/dist/lib/charts/utils/locale.js +13 -0
  91. package/dist/lib/charts/utils/time/index.js +21 -0
  92. package/dist/lib/charts/utils/types/action.d.ts +33 -0
  93. package/dist/lib/charts/utils/types/chart.d.ts +220 -0
  94. package/dist/lib/charts/utils/types/data.d.ts +51 -0
  95. package/dist/lib/charts/utils/types/index.d.ts +3 -0
  96. package/dist/lib/index.js +25 -0
  97. package/package.json +2 -1
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var enUS = {
8
+ PieChart: {
9
+ number: 'Number of ',
10
+ ratio: 'Proportion of ',
11
+ quantity: 'quantity',
12
+ noData: 'NO Data'
13
+ }
14
+ };
15
+ var _default = exports.default = enUS;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _zhCN = _interopRequireDefault(require("./zh-CN"));
8
+ var _enUS = _interopRequireDefault(require("./en-US"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var locales = {
11
+ 'zh-CN': _zhCN.default,
12
+ 'en-US': _enUS.default
13
+ };
14
+ var _default = exports.default = locales;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var zhCN = {
8
+ PieChart: {
9
+ number: '数',
10
+ ratio: '占比',
11
+ quantity: '辆',
12
+ noData: '暂无数据'
13
+ }
14
+ };
15
+ var _default = exports.default = zhCN;
@@ -0,0 +1,441 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleSeriesConfig = exports.getSeriesConfig = exports.getPercentValue = exports.getLegendData = exports.getFontSizeByNumber = exports.getBasicData = exports.defaultLegendConfig = exports.chartLegendFormatter = void 0;
7
+ exports.mergeDeep = mergeDeep;
8
+ var _complementData = require("../Chart/utils/complementData");
9
+ var _data = require("../utils/data");
10
+ var _hex2Rgb = require("../utils/charts/hex2Rgb");
11
+ var _lodash = require("lodash");
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
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) { _defineProperty(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; }
21
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
23
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
+ var getLegendData = exports.getLegendData = function getLegendData(data, chartConfig) {
25
+ var legend = chartConfig.legend;
26
+ return data === null || data === void 0 ? void 0 : data.map(function (item) {
27
+ return {
28
+ name: item === null || item === void 0 ? void 0 : item.name,
29
+ icon: (legend === null || legend === void 0 ? void 0 : legend.icon) || 'circle'
30
+ };
31
+ });
32
+ };
33
+ var getTotal = function getTotal(data) {
34
+ var total = 0;
35
+ for (var i = 0; i < data.length; i++) {
36
+ total = (0, _data.accAdd)(total, data[i].value);
37
+ }
38
+ return total;
39
+ };
40
+ var getColorByTheme = function getColorByTheme(theme) {
41
+ if (theme === 'default') {
42
+ return {
43
+ innerColorLightColor: '#9EA4AD',
44
+ innerColorDarkColor: '#CFD5DE',
45
+ noDataColor: '#E7EAEF',
46
+ borderColor: '#fff'
47
+ };
48
+ } else {
49
+ return {
50
+ innerColorLightColor: '#fff',
51
+ innerColorDarkColor: 'rgba(255,255,255,0.2)',
52
+ noDataColor: '#9EA4AD',
53
+ borderColor: '#0B1227'
54
+ };
55
+ }
56
+ };
57
+ var getNoData = function getNoData(theme) {
58
+ var _getColorByTheme;
59
+ var color = (_getColorByTheme = getColorByTheme(theme)) === null || _getColorByTheme === void 0 ? void 0 : _getColorByTheme.noDataColor;
60
+ return {
61
+ outterCircleData: [{
62
+ name: '',
63
+ value: 0,
64
+ itemStyle: {
65
+ color: color
66
+ }
67
+ }],
68
+ centerCircleData: [{
69
+ name: '',
70
+ value: 0,
71
+ itemStyle: {
72
+ color: color
73
+ }
74
+ }]
75
+ };
76
+ };
77
+
78
+ //最大余额法使饼图各项相加的占比为100%
79
+ var getPercentValue = exports.getPercentValue = function getPercentValue(valueList, idx, precision) {
80
+ var _valueList$idx;
81
+ // 判断是否为空
82
+ if (!((_valueList$idx = valueList[idx]) !== null && _valueList$idx !== void 0 && _valueList$idx.value)) {
83
+ return 0;
84
+ }
85
+ // 求和
86
+ var sum = valueList.reduce(function (acc, val) {
87
+ return acc + (isNaN(Number(val === null || val === void 0 ? void 0 : val.value)) ? 0 : Number(val === null || val === void 0 ? void 0 : val.value));
88
+ }, 0);
89
+ if (sum === 0) {
90
+ return 0;
91
+ }
92
+ // 10的2次幂是100,用于计算精度。
93
+ var digits = Math.pow(10, precision);
94
+ // 扩大比例100,
95
+ var votesPerQuota = valueList.map(function (val) {
96
+ return (isNaN(Number(val === null || val === void 0 ? void 0 : val.value)) ? 0 : Number(val === null || val === void 0 ? void 0 : val.value)) / sum * digits * 100;
97
+ });
98
+ // 总数,扩大比例意味的总数要扩大
99
+ var targetSeats = digits * 100;
100
+ // 再向下取值,组成数组
101
+ var seats = votesPerQuota.map(function (votes) {
102
+ return Math.floor(votes);
103
+ });
104
+ // 再新计算合计,用于判断与总数量是否相同,相同则占比会100%
105
+ var currentSum = seats.reduce(function (acc, val) {
106
+ return acc + val;
107
+ }, 0);
108
+ // 余数部分的数组:原先数组减去向下取值的数组,得到余数部分的数组
109
+ var remainder = votesPerQuota.map(function (votes, idx) {
110
+ return votes - seats[idx];
111
+ });
112
+ // 给最大最大的余额加1,凑个占比100%;
113
+ while (currentSum < targetSeats) {
114
+ // 找到下一个最大的余额,给其加1
115
+ var max = Number.NEGATIVE_INFINITY;
116
+ var maxId = null;
117
+ for (var i = 0, len = remainder.length; i < len; ++i) {
118
+ if (remainder[i] > max) {
119
+ max = remainder[i];
120
+ maxId = i;
121
+ }
122
+ }
123
+ // 对最大项余额加1
124
+ ++seats[maxId];
125
+ // 已经增加最大余数加1,则下次判断就可以不需要再判断这个余额数。
126
+ remainder[maxId] = 0;
127
+ // 总的也要加1,为了判断是否总数是否相同,跳出循环。
128
+ ++currentSum;
129
+ }
130
+ // 这时候的seats就会总数占比会100%
131
+ return seats[idx] / digits;
132
+ };
133
+ var getBasicData = exports.getBasicData = function getBasicData(color, data, percentToFixedNumber, theme) {
134
+ if (!data || data.length === 0) {
135
+ return getNoData(theme);
136
+ }
137
+ var colorRgba = [];
138
+ var colorCenterRgba = [];
139
+
140
+ //将色号换成rgb形式
141
+ for (var i = 0; i < data.length; i++) {
142
+ var index = i % color.length;
143
+ colorRgba.push((0, _hex2Rgb.hex2Rgb)(color[index], 1));
144
+ colorCenterRgba.push((0, _hex2Rgb.hex2Rgb)(color[index], 0.16));
145
+ }
146
+ var len = data.length;
147
+ var outterCircleDataConfig = [];
148
+ var centerCircleDataConfig = [];
149
+ for (var _i = 0; _i < len; _i++) {
150
+ var percent = 0;
151
+ percent = getPercentValue(data, _i, 2);
152
+ outterCircleDataConfig.push(_objectSpread(_objectSpread({}, data[_i]), {}, {
153
+ percent: percent,
154
+ itemStyle: {
155
+ color: colorRgba[_i]
156
+ }
157
+ }));
158
+ centerCircleDataConfig.push(_objectSpread(_objectSpread({}, data[_i]), {}, {
159
+ percent: percent,
160
+ itemStyle: {
161
+ color: colorCenterRgba[_i]
162
+ }
163
+ }));
164
+ }
165
+ return {
166
+ outterCircleData: outterCircleDataConfig,
167
+ centerCircleData: centerCircleDataConfig
168
+ };
169
+ };
170
+ var defaultSeriesConfig = {
171
+ type: 'pie',
172
+ label: {
173
+ show: false
174
+ },
175
+ labelLine: {
176
+ show: false
177
+ }
178
+ };
179
+ var getFontSizeByNumber = exports.getFontSizeByNumber = function getFontSizeByNumber(fontSize, number) {
180
+ switch (number === null || number === void 0 ? void 0 : number.toString().length) {
181
+ case 4:
182
+ return fontSize * 0.9;
183
+ case 5:
184
+ return fontSize * 0.85;
185
+ case 6:
186
+ return fontSize * 0.75;
187
+ case 7:
188
+ case 8:
189
+ case 9:
190
+ case 10:
191
+ case 11:
192
+ case 12:
193
+ return fontSize * 0.6;
194
+ default:
195
+ return fontSize;
196
+ }
197
+ };
198
+ function mergeDeep(target, source) {
199
+ for (var key in source) {
200
+ if (source[key] instanceof Object && key in target) {
201
+ Object.assign(source[key], mergeDeep(target[key], source[key]));
202
+ }
203
+ }
204
+ // 合并两个对象
205
+ return Object.assign(target || {}, source);
206
+ }
207
+ var chartLabelFormatter = function chartLabelFormatter(data, title, unit, theme, locales, totalToFixedNumber, transformUnit, isShowTotal, customTotal, centerStyle, totalFontSizeCoefficient) {
208
+ var color = theme === 'default' ? '#000' : '#fff';
209
+ var total = customTotal ? customTotal : getTotal(data);
210
+ if (totalToFixedNumber !== null && totalToFixedNumber !== void 0 && totalToFixedNumber.toString()) {
211
+ total = total.toFixed(totalToFixedNumber);
212
+ }
213
+ total += transformUnit ? transformUnit : '';
214
+ var defaultCenterStyle = {
215
+ titleStyle: {
216
+ fontSize: '0.75rem',
217
+ color: color,
218
+ padding: title ? [0, 0, 20, 0] : [0, 0, 0, 0]
219
+ },
220
+ totalStyle: {
221
+ fontSize: "".concat(getFontSizeByNumber(2.625 * totalFontSizeCoefficient, total) * 16, "px"),
222
+ fontWeight: '700',
223
+ color: color
224
+ },
225
+ unitStyle: {
226
+ fontSize: '0.75rem',
227
+ color: color,
228
+ padding: [0, 0, -11, 0]
229
+ },
230
+ noDataStyle: {
231
+ fontSize: '20',
232
+ padding: [0, 0, -11, 0]
233
+ }
234
+ };
235
+ return {
236
+ show: isShowTotal === undefined ? true : isShowTotal,
237
+ position: 'center',
238
+ color: color,
239
+ formatter: function formatter() {
240
+ if (!data || data.length === 0) {
241
+ var _locales$PieChart;
242
+ return "{noDataStyle|".concat(locales === null || locales === void 0 || (_locales$PieChart = locales.PieChart) === null || _locales$PieChart === void 0 ? void 0 : _locales$PieChart.noData, "\n}");
243
+ }
244
+ return "{titleStyle|".concat(title, "}\n{totalStyle|").concat(total, "}{titleStyle| }{unitStyle|").concat(unit, "}");
245
+ },
246
+ rich: mergeDeep(defaultCenterStyle, centerStyle)
247
+ };
248
+ };
249
+ var handleSeriesConfig = exports.handleSeriesConfig = function handleSeriesConfig() {
250
+ var seriesConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
251
+ var center = seriesConfig.center,
252
+ radius = seriesConfig.radius;
253
+ var resolvedSeriesConfig = {
254
+ outer: _objectSpread({}, seriesConfig),
255
+ center: _objectSpread({}, seriesConfig),
256
+ inner: _defineProperty(_defineProperty({}, center && 'center', center), "radius", ['50%', '51%'])
257
+ };
258
+ if (radius && radius.length >= 2) {
259
+ var xRadius = _toConsumableArray(radius[0].split('%'))[0];
260
+ var YRadius = _toConsumableArray(radius[1].split('%'))[0];
261
+ var x = Number(xRadius);
262
+ var y = Number(YRadius);
263
+ resolvedSeriesConfig.center.radius = [x - 15 + '%', y - 8 + '%'];
264
+ resolvedSeriesConfig.inner.radius = [x - 22 + '%', y - 29 + '%'];
265
+ }
266
+ return resolvedSeriesConfig;
267
+ };
268
+ var getSeriesConfig = exports.getSeriesConfig = function getSeriesConfig(dataset, theme, data, title, unit) {
269
+ var seriesConfig = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
270
+ var locales = arguments.length > 6 ? arguments[6] : undefined;
271
+ var transform = arguments.length > 7 ? arguments[7] : undefined;
272
+ var transformUnit = arguments.length > 8 ? arguments[8] : undefined;
273
+ var totalToFixedNumber = arguments.length > 9 ? arguments[9] : undefined;
274
+ var isShowTotal = arguments.length > 10 ? arguments[10] : undefined;
275
+ var customTotal = arguments.length > 11 ? arguments[11] : undefined;
276
+ var centerStyle = arguments.length > 12 ? arguments[12] : undefined;
277
+ var totalFontSizeCoefficient = arguments.length > 13 ? arguments[13] : undefined;
278
+ var colorByTheme = getColorByTheme(theme);
279
+ var innerColorLight = {
280
+ value: 0.7,
281
+ itemStyle: {
282
+ color: colorByTheme.innerColorLightColor
283
+ }
284
+ };
285
+ var innerColorDark = {
286
+ value: 6,
287
+ itemStyle: {
288
+ color: colorByTheme.innerColorDarkColor
289
+ }
290
+ };
291
+ var circleItemStyle = {
292
+ borderRadius: 0,
293
+ borderWidth: 3,
294
+ borderColor: getColorByTheme(theme).borderColor
295
+ };
296
+ var resolvedSeriesConfig = handleSeriesConfig(seriesConfig);
297
+ var seriesData = [_objectSpread(_objectSpread({
298
+ name: 'outer',
299
+ data: dataset.outterCircleData,
300
+ radius: ['72%', '80%'],
301
+ itemStyle: circleItemStyle
302
+ }, defaultSeriesConfig), {}, {
303
+ label: chartLabelFormatter(data, title, unit, theme, locales, totalToFixedNumber, transformUnit, isShowTotal, customTotal, centerStyle, totalFontSizeCoefficient)
304
+ }, resolvedSeriesConfig.outer), _objectSpread(_objectSpread({
305
+ name: 'center',
306
+ data: dataset.centerCircleData,
307
+ radius: ['57%', '72%'],
308
+ itemStyle: circleItemStyle,
309
+ silent: true
310
+ }, defaultSeriesConfig), resolvedSeriesConfig.center), _objectSpread(_objectSpread({
311
+ name: 'inner',
312
+ data: [innerColorLight, innerColorDark, innerColorLight, innerColorLight, innerColorDark, innerColorLight],
313
+ silent: true
314
+ }, defaultSeriesConfig), resolvedSeriesConfig.inner)];
315
+ if (transform) {
316
+ var _transformWithConfig;
317
+ var copyData = (0, _lodash.cloneDeep)(seriesData);
318
+ var transformData = (_transformWithConfig = (0, _complementData.transformWithConfig)(copyData.splice(0, 2), transform, 'pie')) === null || _transformWithConfig === void 0 ? void 0 : _transformWithConfig.dataset.concat(seriesData.splice(2));
319
+ transformData[0].label = chartLabelFormatter(transformData[0].data, title, unit, theme, locales, totalToFixedNumber, transformUnit, isShowTotal, customTotal, centerStyle, totalFontSizeCoefficient);
320
+ return transformData;
321
+ }
322
+ return seriesData;
323
+ };
324
+ var defaultLegendConfig = exports.defaultLegendConfig = {
325
+ right: 100,
326
+ top: 'middle',
327
+ itemWidth: 6,
328
+ itemHeight: 6,
329
+ itemStyle: {
330
+ opacity: 0.85,
331
+ borderWidth: 0,
332
+ borderColor: 'transparent'
333
+ },
334
+ textStyle: {
335
+ rich: {
336
+ nameStyle: {
337
+ fontWeight: '400',
338
+ fontSize: '12'
339
+ },
340
+ percentStyle: {
341
+ fontWeight: '600',
342
+ fontSize: '14'
343
+ },
344
+ periodBasisTextStyle: {
345
+ color: '#888'
346
+ },
347
+ periodBasisValueUpStyle: {
348
+ color: '#30C147'
349
+ },
350
+ periodBasisValueDownStyle: {
351
+ color: '#D74851'
352
+ },
353
+ periodBasisIconUpStyle: {
354
+ backgroundColor: {
355
+ image: 'data:image/svg+xml;base64,PHN2ZyB0PSIxNzIzODgxMjg2ODg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQxODMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTgwMCA3MTQuNjY2NjY2NjdsLTI4NC44NjM5OTk5OS0zODQtMjkxLjEzNjAwMDAxIDM4NHoiIHAtaWQ9IjQxODQiIGZpbGw9IiMzMGMxNDciPjwvcGF0aD48L3N2Zz4='
356
+ }
357
+ },
358
+ periodBasisIconDownStyle: {
359
+ backgroundColor: {
360
+ image: 'data:image/svg+xml;base64,PHN2ZyB0PSIxNzIzODgxNDE2OTQ2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQzNjciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTIyNCAzMDkuMzMzMzMzMzNsMjg0Ljg2NCAzODQgMjkxLjEzNi0zODR6IiBwLWlkPSI0MzY4IiBmaWxsPSIjZDc0ODUxIj48L3BhdGg+PC9zdmc+'
361
+ }
362
+ },
363
+ periodBasisIconRedUpStyle: {
364
+ backgroundColor: {
365
+ image: ' data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzI0Mzc0NjE5ODY4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ1MzQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTgwMCA2NzIuMDAwMDAwMDFsLTI4NC44NjM5OTk5OS0zODQtMjkxLjEzNjAwMDAxIDM4NHoiIHAtaWQ9IjQ1MzUiIGZpbGw9IiNkNzQ4NTEiPjwvcGF0aD48L3N2Zz4='
366
+ }
367
+ },
368
+ periodBasisIconGreenDownStyle: {
369
+ backgroundColor: {
370
+ image: 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzI0Mzc0Nzc2OTUyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyNjkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTIyNCAzMDkuMzMzMzMzMzNsMjg0Ljg2Mzk5OTk5IDM4NCAyOTEuMTM2MDAwMDEtMzg0eiIgcC1pZD0iMTI3MCIgZmlsbD0iIzMwYzE0NyI+PC9wYXRoPjwvc3ZnPg=='
371
+ }
372
+ },
373
+ periodBasisNullStyle: {}
374
+ }
375
+ },
376
+ icon: 'circle',
377
+ orient: 'vertical',
378
+ itemGap: 15
379
+ };
380
+ var chartLegendFormatter = exports.chartLegendFormatter = function chartLegendFormatter(name, ticket, callback, dataset, sourceData, legendFormatter, lang, chartConfig, isShowPeriodBasisCompare, isGreenUp) {
381
+ var _chartConfig$legend;
382
+ var data = dataset.outterCircleData;
383
+ var value = 0;
384
+ var p = 0;
385
+ var yearToYear = undefined;
386
+ var monthToMonth = undefined;
387
+ if (!name) {
388
+ return null;
389
+ }
390
+ for (var i = 0, l = data.length; i < l; i++) {
391
+ if (data[i].name === name) {
392
+ var _data$i, _data$i2;
393
+ value = data[i].value;
394
+ p = data[i].percent;
395
+ monthToMonth = (_data$i = data[i]) === null || _data$i === void 0 ? void 0 : _data$i.monthToMonth;
396
+ yearToYear = (_data$i2 = data[i]) === null || _data$i2 === void 0 ? void 0 : _data$i2.yearToYear;
397
+ }
398
+ }
399
+ if (typeof legendFormatter === 'function') {
400
+ return legendFormatter(name, p, value, monthToMonth, yearToYear);
401
+ }
402
+ if (typeof (chartConfig === null || chartConfig === void 0 || (_chartConfig$legend = chartConfig.legend) === null || _chartConfig$legend === void 0 ? void 0 : _chartConfig$legend.legendFormatter) === 'function') {
403
+ var _chartConfig$legend2;
404
+ return chartConfig === null || chartConfig === void 0 || (_chartConfig$legend2 = chartConfig.legend) === null || _chartConfig$legend2 === void 0 ? void 0 : _chartConfig$legend2.legendFormatter(name, p, value, monthToMonth, yearToYear);
405
+ }
406
+ var periodBasisValueStyle = function periodBasisValueStyle(periodBasis) {
407
+ if (periodBasis === null || periodBasis === undefined) {
408
+ return 'periodBasisNullStyle';
409
+ }
410
+ if (isGreenUp) {
411
+ return periodBasis >= 0 ? 'periodBasisValueUpStyle' : 'periodBasisValueDownStyle';
412
+ } else {
413
+ return periodBasis >= 0 ? 'periodBasisValueDownStyle' : 'periodBasisValueUpStyle';
414
+ }
415
+ };
416
+ var periodBasisIconStyle = function periodBasisIconStyle(periodBasis) {
417
+ if (periodBasis === null || periodBasis === undefined) {
418
+ return 'periodBasisNullStyle';
419
+ }
420
+ if (isGreenUp) {
421
+ return periodBasis >= 0 ? 'periodBasisIconUpStyle' : 'periodBasisIconDownStyle';
422
+ } else {
423
+ return periodBasis >= 0 ? 'periodBasisIconRedUpStyle' : 'periodBasisIconGreenDownStyle';
424
+ }
425
+ };
426
+ var periodBasisNumber = function periodBasisNumber(periodBasis) {
427
+ if (periodBasis === null || periodBasis === undefined) {
428
+ return '';
429
+ }
430
+ var resolvedBasis = periodBasis;
431
+ if (periodBasis < 0) resolvedBasis = -resolvedBasis;
432
+ return resolvedBasis.toFixed(1) + '%';
433
+ };
434
+ //环比 monthToMonth,同比 yearToYear
435
+ if (lang === 'zh-CN') {
436
+ if (isShowPeriodBasisCompare) {
437
+ return "{nameStyle|".concat(name, "\u6570 }{percentStyle|").concat(p, "} {percentStyle|%}\n{periodBasisTextStyle|").concat(monthToMonth !== null && monthToMonth !== undefined ? '环比' : '', "} {").concat(periodBasisValueStyle(monthToMonth), "|").concat(periodBasisNumber(monthToMonth), "}{").concat(periodBasisIconStyle(monthToMonth), "| }{periodBasisTextStyle|").concat(yearToYear !== null && yearToYear !== undefined ? '同比' : '', "} {").concat(periodBasisValueStyle(yearToYear), "|").concat(periodBasisNumber(yearToYear), "}{").concat(periodBasisIconStyle(yearToYear), "| }");
438
+ } else return "{nameStyle|".concat(name, "\u6570 }{percentStyle|").concat(p, "} {percentStyle|%}");
439
+ }
440
+ return "{nameStyle|Number of ".concat(name, " }{percentStyle|").concat(p, "} {percentStyle|%}");
441
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tooltip = exports.lineBarColor = exports.legend = exports.colorArr = exports.color = exports.barWidth = exports.barBackground = void 0;
7
+ var _chartTheme = require("../../chartTheme");
8
+ var legend = exports.legend = {
9
+ itemWidth: 8,
10
+ itemHeight: 8,
11
+ // textStyle: {
12
+ // color: 'rgba(255, 255, 255, 0.85)',
13
+ // },
14
+ itemStyle: {
15
+ opacity: 0.85
16
+ },
17
+ icon: 'diamond',
18
+ right: 0
19
+ };
20
+ var color = exports.color = [_chartTheme.themeColor.blue, _chartTheme.themeColor.purple, _chartTheme.themeColor.red, _chartTheme.themeColor.orange];
21
+ var lineBarColor = exports.lineBarColor = [_chartTheme.themeColor.blue, _chartTheme.themeColor.green];
22
+ var barWidth = exports.barWidth = 24;
23
+ var barBackground = exports.barBackground = {
24
+ showBackground: true,
25
+ backgroundStyle: {
26
+ color: _chartTheme.themeColor.grey,
27
+ opacity: 0.09
28
+ }
29
+ };
30
+ var tooltip = exports.tooltip = {
31
+ trigger: 'axis',
32
+ axisPointer: {
33
+ type: 'shadow',
34
+ shadowStyle: {
35
+ color: 'rgba(12, 111, 242, 0.09)'
36
+ // width: 40,
37
+ }
38
+ },
39
+ backgroundColor: 'rgba(255, 255, 255, 0.12)',
40
+ borderColor: 'rgba(255, 255, 255, 0.12)',
41
+ textStyle: {
42
+ color: '#FFFFFF'
43
+ }
44
+ };
45
+ var colorArr = exports.colorArr = ['#00B42A', '#F4A547', '#525FDD', '#FFCB47', '#34A5E5', '#E67754', '13BDCC', 'C85DB8', '#30C147', '9251DE'];