@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,5 @@
1
+ export var ALARM_LEVEL_MAP = {
2
+ L1: '提示',
3
+ L2: '一般',
4
+ L3: '严重'
5
+ };
@@ -0,0 +1,3 @@
1
+ export * from "./env";
2
+ export * from "./helper";
3
+ export * from "./table";
@@ -0,0 +1,17 @@
1
+ export var OPERATIONS = {
2
+ lookUp: {
3
+ name: 'lookUp',
4
+ action: {
5
+ targetName: 'catlnas'
6
+ },
7
+ // TODO 国际化
8
+ text: '查看详情'
9
+ },
10
+ export: {
11
+ name: 'export',
12
+ action: {
13
+ targetName: 'catlnas'
14
+ },
15
+ text: 'component.operation.export'
16
+ }
17
+ };
@@ -0,0 +1,450 @@
1
+ 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); }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
5
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
7
+ 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); }
8
+ 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; }
9
+ 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; }
10
+ 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; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ 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); }
14
+ /* eslint-disable @typescript-eslint/no-unused-expressions */
15
+ import { flatten, groupBy, values } from "lodash";
16
+
17
+ // 告警/预警中心补齐数据的方法
18
+ export var getCompleteData = function getCompleteData(data, key, completeArr) {
19
+ var groupData = groupBy(data, key);
20
+ var _loop = function _loop(item) {
21
+ var _groupData$item;
22
+ if (((_groupData$item = groupData[item]) === null || _groupData$item === void 0 ? void 0 : _groupData$item.length) < (completeArr === null || completeArr === void 0 ? void 0 : completeArr.length)) {
23
+ groupData[item] = completeArr.map(function (l) {
24
+ return groupData[item].find(function (d) {
25
+ return d.group === l;
26
+ }) || {
27
+ name: item,
28
+ value: 0,
29
+ group: l
30
+ };
31
+ });
32
+ }
33
+ };
34
+ for (var item in groupData) {
35
+ _loop(item);
36
+ }
37
+ return flatten(values(groupData));
38
+ };
39
+ export var isNumeric = function isNumeric(value) {
40
+ return /^\d+$/.test(value);
41
+ };
42
+ export var dealTreeData = function dealTreeData(treeData) {
43
+ return treeData.map(function (item) {
44
+ return _objectSpread(_objectSpread({}, item), {}, {
45
+ title: item === null || item === void 0 ? void 0 : item.name,
46
+ key: item === null || item === void 0 ? void 0 : item.id,
47
+ value: item === null || item === void 0 ? void 0 : item.id,
48
+ children: item !== null && item !== void 0 && item.children && item !== null && item !== void 0 && item.children.length ? dealTreeData(item === null || item === void 0 ? void 0 : item.children) : []
49
+ });
50
+ });
51
+ };
52
+ export var getTreeNodeTitle = function getTreeNodeTitle(node, nodeKey) {
53
+ var nodeTitle = "";
54
+ node.forEach(function (_ref) {
55
+ var children = _ref.children,
56
+ key = _ref.key,
57
+ title = _ref.title;
58
+ if (key === nodeKey) {
59
+ nodeTitle = title;
60
+ } else {
61
+ (children === null || children === void 0 ? void 0 : children.length) && getTreeNodeTitle(children, nodeKey);
62
+ }
63
+ });
64
+ return nodeTitle;
65
+ };
66
+ export var getIntervals = function getIntervals(value) {
67
+ return /(\(|\[)\s*(\d+)?\D*,\s*(\d+)?\D*(\)|\])/.exec(value);
68
+ };
69
+
70
+ /**
71
+ * 将两个对象按字段相加
72
+ * @param obj1
73
+ * @param obj2
74
+ * @param keys
75
+ * @returns 合并后的对象
76
+ */
77
+ export var mergeObjValueWithKey = function mergeObjValueWithKey(obj1, obj2, keys) {
78
+ var obj = {};
79
+ keys.forEach(function (key) {
80
+ console.log(key, obj1[key], obj2[key]);
81
+ obj[key] = Number(obj1[key]) + Number(obj2[key]);
82
+ });
83
+ return obj;
84
+ };
85
+
86
+ /**
87
+ * 将两个连续的开闭区间合并
88
+ * @param inter1
89
+ * @param inter2
90
+ * @returns 合并后的区间
91
+ */
92
+ export var mergeInterval = function mergeInterval(inter1, inter2) {
93
+ var _getIntervals;
94
+ var end = ((_getIntervals = getIntervals(inter2)) === null || _getIntervals === void 0 ? void 0 : _getIntervals[3]) || "";
95
+ console.log(inter1, inter2);
96
+ return inter1.replace(/(\(|\[)\s*(\d+)?\D*,\s*(\d+)?\D*(\)|\])/, function () {
97
+ for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {
98
+ arg[_key] = arguments[_key];
99
+ }
100
+ console.log(arg, end);
101
+ return "".concat(arg[1]).concat(arg[2] || "", ",").concat(end).concat(arg[4] || "");
102
+ });
103
+ };
104
+
105
+ /**
106
+ * 合并两个连续的区间对象
107
+ * @param obj1
108
+ * @param obj2
109
+ * @param keys
110
+ */
111
+ export var mergeIntervalObj = function mergeIntervalObj(obj1, obj2, keys) {
112
+ var interval = mergeInterval(obj1[keys[0]], obj2[keys[0]]);
113
+ return _objectSpread(_defineProperty({}, keys[0], interval), mergeObjValueWithKey(obj1, obj2, keys.slice(1)));
114
+ };
115
+
116
+ /**
117
+ * 合并区间,不会判断连续,返回第一元素的开始,和最后元素的结束
118
+ * @param fields 要合并的字段列表,第一个为区间字段
119
+ * @param list 要合并的数组区间
120
+ * */
121
+ export var mergeIntervalList = function mergeIntervalList(list, fields) {
122
+ return list.reduce(function (prev, cur) {
123
+ var v = mergeIntervalObj(prev, cur, fields);
124
+ console.log("mergeIntervalObj", prev, cur, v);
125
+ return mergeIntervalObj(prev, cur, fields);
126
+ });
127
+ };
128
+
129
+ /**
130
+ * 将list区间按一定的数量来合并,不足的部分不合并
131
+ * @param list
132
+ * @param fields
133
+ * @param num
134
+ * @param start
135
+ * @param end 合并结束的位置,end不合并
136
+ * @returns
137
+ */
138
+ export var mergeIntervalsByNum = function mergeIntervalsByNum(list, fields) {
139
+ var num = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
140
+ var start = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
141
+ var end = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
142
+ var _end = end || list.length;
143
+ var startList = list.slice(0, start);
144
+ var mergeList = list.slice(start, _end);
145
+ var endList = list.slice(_end);
146
+ var _list = [];
147
+ for (var i = 0; i < Math.floor(mergeList.length / num); i++) {
148
+ var arr = mergeList.slice(num * i, num * (i + 1));
149
+ var mergeObj = mergeIntervalList(arr, fields);
150
+ // console.log('mergeObj', mergeObj, arr);
151
+ _list.push(mergeObj);
152
+ }
153
+ return startList.concat(_list).concat(endList);
154
+ };
155
+ /**
156
+ * 获取数组中连续小于阈值的项,包含end
157
+ * @param list
158
+ * @param threshold
159
+ * @returns
160
+ */
161
+ export var getBoundaryContinuation = function getBoundaryContinuation(list, threshold) {
162
+ var flag = false,
163
+ cur = {
164
+ start: 0,
165
+ end: 0,
166
+ item: []
167
+ };
168
+ var res = [];
169
+ for (var i = 0; i < list.length; i++) {
170
+ if (list[i].value <= threshold) {
171
+ if (!flag) {
172
+ cur = {
173
+ start: i,
174
+ end: i,
175
+ item: []
176
+ };
177
+ flag = true;
178
+ }
179
+ cur.end = i;
180
+ cur.item.push(list[i]);
181
+ if (i === list.length - 1 && cur.item.length > 1) {
182
+ res.push(cur);
183
+ }
184
+ } else {
185
+ if (flag && cur.item.length > 1) {
186
+ res.push(cur);
187
+ }
188
+ flag = false;
189
+ }
190
+ }
191
+ console.log("getBoundaryContinuation", list, threshold, res);
192
+ return res;
193
+ };
194
+ export var getBoundaryMergeStartAndEnd = function getBoundaryMergeStartAndEnd(leftBoundary, rightBoundary, leastCount, lastIndex) {
195
+ var leftEnd = (leftBoundary === null || leftBoundary === void 0 ? void 0 : leftBoundary.end) || -1;
196
+ var rightStart = (rightBoundary === null || rightBoundary === void 0 ? void 0 : rightBoundary.start) || lastIndex + 1;
197
+ var unMergeLen = rightStart - leftEnd - 1;
198
+ var cantMergeNum = leastCount - unMergeLen;
199
+ if (cantMergeNum <= 0) {
200
+ return {
201
+ leftEnd: leftEnd,
202
+ rightStart: rightStart
203
+ };
204
+ }
205
+ var isMergeLeft = true;
206
+ if (leftBoundary) {
207
+ cantMergeNum -= 1;
208
+ }
209
+ if (rightBoundary) {
210
+ cantMergeNum -= 1;
211
+ }
212
+ var hasRightLeft = function hasRightLeft() {
213
+ return rightStart && rightStart < lastIndex;
214
+ };
215
+ while (cantMergeNum > 0 && (leftEnd > 0 || hasRightLeft())) {
216
+ if (leftEnd <= 0) {
217
+ isMergeLeft = false;
218
+ } else if (!hasRightLeft()) {
219
+ isMergeLeft = true;
220
+ }
221
+ if (leftEnd > 0 && isMergeLeft) {
222
+ leftEnd -= 1;
223
+ cantMergeNum -= 1;
224
+ isMergeLeft = false;
225
+ }
226
+ if (hasRightLeft() && !isMergeLeft) {
227
+ rightStart += 1;
228
+ cantMergeNum -= 1;
229
+ isMergeLeft = true;
230
+ }
231
+ }
232
+ return {
233
+ leftEnd: leftEnd,
234
+ rightStart: rightStart
235
+ };
236
+ };
237
+ export var mergeBoundaryIntervals = function mergeBoundaryIntervals(list, fields) {
238
+ var _boundaryContinuation, _boundaryContinuation2;
239
+ var param = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
240
+ threshold: 0,
241
+ leastCount: 10
242
+ };
243
+ var threshold = param.threshold,
244
+ leastCount = param.leastCount;
245
+ var boundaryContinuation = getBoundaryContinuation(list, threshold);
246
+ console.log("boundaryContinuation", boundaryContinuation);
247
+ var leftBoundary = ((_boundaryContinuation = boundaryContinuation[0]) === null || _boundaryContinuation === void 0 ? void 0 : _boundaryContinuation.start) === 0 ? boundaryContinuation[0] : null;
248
+ var len = boundaryContinuation.length;
249
+ var rightBoundary = ((_boundaryContinuation2 = boundaryContinuation[len - 1]) === null || _boundaryContinuation2 === void 0 ? void 0 : _boundaryContinuation2.end) === list.length - 1 ? boundaryContinuation[len - 1] : null;
250
+ if (leftBoundary && leftBoundary === rightBoundary) {
251
+ var middle = Math.ceil(list.length / 2);
252
+ leftBoundary = {
253
+ start: 0,
254
+ end: middle
255
+ };
256
+ rightBoundary = {
257
+ start: middle + 1,
258
+ end: list.length - 1
259
+ };
260
+ }
261
+ var _getBoundaryMergeStar = getBoundaryMergeStartAndEnd(leftBoundary, rightBoundary, leastCount, list.length - 1),
262
+ leftEnd = _getBoundaryMergeStar.leftEnd,
263
+ rightStart = _getBoundaryMergeStar.rightStart;
264
+ var unMergedList = list.slice(leftEnd + 1, rightStart);
265
+ var leftMergedList = leftBoundary ? [mergeIntervalList(list.slice(0, leftEnd + 1), fields)] : [];
266
+ var rightMergedList = rightBoundary ? [mergeIntervalList(list.slice(rightStart, rightBoundary.end + 1), fields)] : [];
267
+ var rr = leftMergedList.concat(unMergedList).concat(rightMergedList);
268
+ console.log("mergeBoundaryIntervals", rr, leftMergedList, unMergedList, rightMergedList);
269
+ return leftMergedList.concat(unMergedList).concat(rightMergedList);
270
+ };
271
+ export var smartMergeIntervals = function smartMergeIntervals(list, fields) {
272
+ var _boundaryContinuation3, _boundaryContinuation4;
273
+ var param = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
274
+ threshold: 0,
275
+ ratio: 0.5,
276
+ leastCount: 10
277
+ };
278
+ var threshold = param.threshold,
279
+ ratio = param.ratio;
280
+ console.log("补0", list);
281
+ var preMergeData = mergeIntervalsByNum(list, fields, 2, 1, list.length - 1);
282
+ var boundaryContinuation = getBoundaryContinuation(preMergeData, threshold);
283
+ console.log("preMergeData", preMergeData);
284
+ console.log("boundaryContinuation", boundaryContinuation);
285
+ var leftBoundary = ((_boundaryContinuation3 = boundaryContinuation[0]) === null || _boundaryContinuation3 === void 0 ? void 0 : _boundaryContinuation3.start) === 0 ? boundaryContinuation[0] : null;
286
+ var len = boundaryContinuation.length;
287
+ var rightBoundary = boundaryContinuation[len - 1] !== leftBoundary && ((_boundaryContinuation4 = boundaryContinuation[len - 1]) === null || _boundaryContinuation4 === void 0 ? void 0 : _boundaryContinuation4.end) === preMergeData.length - 1 ? boundaryContinuation[len - 1] : null;
288
+ var leftBoundaryLen = leftBoundary ? leftBoundary.item.length : 0;
289
+ var rightBoundaryLen = rightBoundary ? rightBoundary.item.length : 0;
290
+ var _ratio = (leftBoundaryLen + rightBoundaryLen) / preMergeData.length;
291
+ console.log("ratio", ratio, leftBoundaryLen, rightBoundaryLen);
292
+ if (_ratio >= ratio) {
293
+ console.log("auto merge boundary", ratio, _ratio);
294
+ return mergeBoundaryIntervals(list, fields, param);
295
+ }
296
+ return preMergeData;
297
+ };
298
+ export var getRangeParams = function getRangeParams(value) {
299
+ var dimension = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
300
+ if (!value) return value;
301
+ var intervals = getIntervals(value);
302
+ if (intervals) {
303
+ var res = [];
304
+ if (isNumeric(intervals[2])) {
305
+ res.push({
306
+ type: intervals[1] === "(" ? "gt" : "ge",
307
+ dimension: dimension,
308
+ value: intervals[2]
309
+ });
310
+ }
311
+ if (isNumeric(intervals[3])) {
312
+ res.push({
313
+ type: intervals[4] === ")" ? "lt" : "le",
314
+ dimension: dimension,
315
+ value: intervals[3]
316
+ });
317
+ }
318
+ return res;
319
+ }
320
+ var step1 = value.split("<=");
321
+ if (step1.length === 2) {
322
+ return [{
323
+ type: "le",
324
+ dimension: dimension,
325
+ value: Number(step1[1])
326
+ }];
327
+ }
328
+ var step2 = value.split("<");
329
+ if (step2.length === 2) {
330
+ return [{
331
+ type: "lt",
332
+ dimension: dimension,
333
+ value: Number(step2[1])
334
+ }];
335
+ }
336
+ var step3 = value.split(">=");
337
+ if (step3.length === 2) {
338
+ return [{
339
+ type: "ge",
340
+ dimension: dimension,
341
+ value: Number(step3[1])
342
+ }];
343
+ }
344
+ var step4 = value.split(">");
345
+ if (step4.length === 2) {
346
+ return [{
347
+ type: "gt",
348
+ dimension: dimension,
349
+ value: Number(step4[1])
350
+ }];
351
+ }
352
+ var ranges = /(-?\d+)-(-?\d+)/.exec(value);
353
+ if (ranges) {
354
+ return [{
355
+ type: "ge",
356
+ dimension: dimension,
357
+ value: Number(ranges[1])
358
+ }, {
359
+ type: "lt",
360
+ dimension: dimension,
361
+ value: Number(ranges[2])
362
+ }];
363
+ }
364
+ return value;
365
+ };
366
+ /**
367
+ * map结构转换为数组
368
+ * @param map
369
+ * @param type
370
+ * @returns
371
+ */
372
+ export var mapToArr = function mapToArr(map, type) {
373
+ var iterator = map.entries();
374
+ var result = [];
375
+ var _iterator = _createForOfIteratorHelper(iterator),
376
+ _step;
377
+ try {
378
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
379
+ var _step$value = _slicedToArray(_step.value, 2),
380
+ key = _step$value[0],
381
+ val = _step$value[1];
382
+ if (type === "key") result.push(key);
383
+ if (type === "value") result.push(val);
384
+ }
385
+ } catch (err) {
386
+ _iterator.e(err);
387
+ } finally {
388
+ _iterator.f();
389
+ }
390
+ return result;
391
+ };
392
+
393
+ /**
394
+ ** 加法函数,用来得到精确的加法结果
395
+ ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
396
+ ** 调用:accAdd(arg1,arg2)
397
+ ** 返回值:arg1加上arg2的精确结果
398
+ **/
399
+ export var accMod = function accMod(arg1, arg2) {
400
+ var r1, m;
401
+ try {
402
+ r1 = arg1.toString().split(".")[1].length;
403
+ } catch (e) {
404
+ r1 = 0;
405
+ }
406
+ if (!r1) {
407
+ return Number(arg1) / Number(arg2);
408
+ }
409
+ m = Math.pow(10, r1);
410
+ return Number(arg1) * m / (Number(arg2) * m);
411
+ };
412
+
413
+ /**
414
+ ** 加法函数,用来得到精确的加法结果
415
+ ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
416
+ ** 调用:accAdd(arg1,arg2)
417
+ ** 返回值:arg1加上arg2的精确结果
418
+ **/
419
+ export var accAdd = function accAdd(arg1, arg2) {
420
+ var r1, r2, m, addParam1, addParam2;
421
+ try {
422
+ r1 = arg1.toString().split(".")[1].length;
423
+ } catch (e) {
424
+ r1 = 0;
425
+ }
426
+ try {
427
+ r2 = arg2.toString().split(".")[1].length;
428
+ } catch (e) {
429
+ r2 = 0;
430
+ }
431
+ if (!r1 && !r2) {
432
+ return Number(arg1) + Number(arg2);
433
+ }
434
+ var c = Math.abs(r1 - r2);
435
+ m = Math.pow(10, Math.max(r1, r2));
436
+ if (c > 0) {
437
+ var cm = Math.pow(10, c);
438
+ if (r1 > r2) {
439
+ addParam1 = Number(arg1.toString().replace(".", ""));
440
+ addParam2 = Number(arg2.toString().replace(".", "")) * cm;
441
+ } else {
442
+ addParam1 = Number(arg1.toString().replace(".", "")) * cm;
443
+ addParam2 = Number(arg2.toString().replace(".", ""));
444
+ }
445
+ } else {
446
+ addParam1 = Number(arg1.toString().replace(".", ""));
447
+ addParam2 = Number(arg2.toString().replace(".", ""));
448
+ }
449
+ return (addParam1 + addParam2) / m;
450
+ };
@@ -0,0 +1,5 @@
1
+ export * from "./charts/hex2Rgb";
2
+ export * from "./constants";
3
+ export * from "./data";
4
+ export * from "./locale";
5
+ export * from "./time";
@@ -0,0 +1,7 @@
1
+ export var getLocale = function getLocale() {
2
+ var lang = navigator.cookieEnabled && typeof localStorage !== 'undefined' ? window.localStorage.getItem('locale') : '';
3
+ // support baseNavigator, default true
4
+ var isNavigatorLanguageValid = typeof navigator !== 'undefined' && typeof navigator.language === 'string';
5
+ var browserLang = isNavigatorLanguageValid ? navigator.language.split('-').join('-') : '';
6
+ return lang || browserLang || "zh-CN";
7
+ };
@@ -0,0 +1,14 @@
1
+ import { isArray } from 'lodash';
2
+ import moment from 'moment';
3
+ export var getDataRangeByAggregationRule = function getDataRangeByAggregationRule(dataRange) {
4
+ var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'd';
5
+ if (isArray(dataRange)) {
6
+ if (dataRange[0]) {
7
+ dataRange[0] = moment(dataRange[0]).startOf(rule);
8
+ }
9
+ if (dataRange[1]) {
10
+ dataRange[1] = moment(dataRange[1]).endOf(rule);
11
+ }
12
+ }
13
+ return dataRange;
14
+ };
@@ -0,0 +1,33 @@
1
+ import type { ActionTarget } from '@/store/action';
2
+
3
+ export type ActionType = {
4
+ title?: string;
5
+ name?: string;
6
+ targetName?: string;
7
+ target?: ActionTarget;
8
+ ref?: any;
9
+ type: string;
10
+ throttle?: (...args: any) => any | undefined;
11
+ debounced?: (...args: any) => any | undefined;
12
+ fn?: any;
13
+ data?: any;
14
+ };
15
+
16
+ export type ActionTargetType = {
17
+ /**action对象的名字,即组件名 默认window */
18
+ targetName: string;
19
+ target?: any;
20
+ /**执行action的对象集 */
21
+ targets?: ActionTargetsType;
22
+ /**action主体类型 window/component */
23
+ type?: string;
24
+ /**actions */
25
+ actions?: object;
26
+ actionList?: any[];
27
+ dataSet?: any;
28
+ };
29
+
30
+ export type ActionTargetsType = {
31
+ window: any;
32
+ [targetName: string]: ActionTargetType;
33
+ };