@cloudtower/eagle 0.32.40 → 0.32.41

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 (91) hide show
  1. package/dist/__test__/mockLineChart.d.ts +4 -0
  2. package/dist/cjs/core/ConfigProvider/index.js +5 -5
  3. package/dist/cjs/core/LineChart/LineChartActions.js +52 -0
  4. package/dist/cjs/core/LineChart/LineChartLegend.js +101 -0
  5. package/dist/cjs/core/LineChart/LineChartToolBar.js +56 -0
  6. package/dist/cjs/core/LineChart/Pointer.js +45 -0
  7. package/dist/cjs/core/LineChart/RenderChart.js +304 -0
  8. package/dist/cjs/core/LineChart/TooltipFormatter.js +70 -0
  9. package/dist/cjs/core/LineChart/index.js +66 -0
  10. package/dist/cjs/core/LineChart/styled.js +35 -0
  11. package/dist/cjs/core/LineChart/type.js +30 -0
  12. package/dist/cjs/core/LineChart/utils.js +394 -0
  13. package/dist/cjs/core/Loading/index.js +2 -2
  14. package/dist/cjs/core/Progress/progress.widgets.js +1 -1
  15. package/dist/cjs/core/Timeline/Timeline.widget.js +4 -4
  16. package/dist/cjs/core/Timeline/index.js +4 -4
  17. package/dist/cjs/core/index.js +9 -9
  18. package/dist/cjs/coreX/CheckPointList/index.js +3 -3
  19. package/dist/cjs/coreX/CircleLoading/index.js +4 -4
  20. package/dist/cjs/coreX/DateRangePicker/Calendar.js +1 -1
  21. package/dist/cjs/coreX/Dialogs/DeleteDialog/DeleteDialog.js +47 -0
  22. package/dist/cjs/coreX/Dialogs/RejectDialog/RejectDialog.js +87 -0
  23. package/dist/cjs/coreX/Dialogs/RejectDialog/RejectDialog.type.js +11 -0
  24. package/dist/cjs/coreX/Dialogs/SmallDialog.js +86 -0
  25. package/dist/cjs/index.js +168 -131
  26. package/dist/cjs/stats1.html +1 -1
  27. package/dist/cjs/utils/constants.js +1 -1
  28. package/dist/cjs/utils/tower.js +81 -0
  29. package/dist/components.css +2512 -2178
  30. package/dist/esm/core/ConfigProvider/index.js +3 -3
  31. package/dist/esm/core/LineChart/LineChartActions.js +46 -0
  32. package/dist/esm/core/LineChart/LineChartLegend.js +91 -0
  33. package/dist/esm/core/LineChart/LineChartToolBar.js +50 -0
  34. package/dist/esm/core/LineChart/Pointer.js +38 -0
  35. package/dist/esm/core/LineChart/RenderChart.js +296 -0
  36. package/dist/esm/core/LineChart/TooltipFormatter.js +63 -0
  37. package/dist/esm/core/LineChart/index.js +57 -0
  38. package/dist/esm/core/LineChart/styled.js +25 -0
  39. package/dist/esm/core/LineChart/type.js +26 -0
  40. package/dist/esm/core/LineChart/utils.js +369 -0
  41. package/dist/esm/core/Loading/index.js +1 -1
  42. package/dist/esm/core/Progress/progress.widgets.js +1 -1
  43. package/dist/esm/core/Timeline/Timeline.widget.js +3 -3
  44. package/dist/esm/core/Timeline/index.js +3 -3
  45. package/dist/esm/coreX/CheckPointList/index.js +3 -3
  46. package/dist/esm/coreX/CircleLoading/index.js +3 -3
  47. package/dist/esm/coreX/DateRangePicker/Calendar.js +1 -1
  48. package/dist/esm/coreX/Dialogs/DeleteDialog/DeleteDialog.js +41 -0
  49. package/dist/esm/coreX/Dialogs/RejectDialog/RejectDialog.js +81 -0
  50. package/dist/esm/coreX/Dialogs/RejectDialog/RejectDialog.type.js +9 -0
  51. package/dist/esm/coreX/Dialogs/SmallDialog.js +80 -0
  52. package/dist/esm/index.js +10 -2
  53. package/dist/esm/stats1.html +1 -1
  54. package/dist/esm/utils/constants.js +1 -1
  55. package/dist/esm/utils/tower.js +77 -1
  56. package/dist/src/antd.d.ts +1 -1
  57. package/dist/src/core/ConfigProvider/index.d.ts +2 -2
  58. package/dist/src/core/LineChart/LineChartActions.d.ts +7 -0
  59. package/dist/src/core/LineChart/LineChartLegend.d.ts +18 -0
  60. package/dist/src/core/LineChart/LineChartToolBar.d.ts +20 -0
  61. package/dist/src/core/LineChart/Pointer.d.ts +6 -0
  62. package/dist/src/core/LineChart/RenderChart.d.ts +45 -0
  63. package/dist/src/core/LineChart/TooltipFormatter.d.ts +10 -0
  64. package/dist/src/core/LineChart/__test__/h5_css.test.d.ts +1 -0
  65. package/dist/src/core/LineChart/index.d.ts +8 -0
  66. package/dist/src/core/LineChart/styled.d.ts +12 -0
  67. package/dist/src/core/LineChart/type.d.ts +191 -0
  68. package/dist/src/core/LineChart/utils.d.ts +56 -0
  69. package/dist/src/core/Metric/metric.d.ts +1 -1
  70. package/dist/src/core/Timeline/Timeline.type.d.ts +2 -2
  71. package/dist/src/core/index.d.ts +4 -1
  72. package/dist/src/coreX/CheckPointList/index.d.ts +1 -1
  73. package/dist/src/coreX/Dialogs/DeleteDialog/DeleteDialog.d.ts +3 -0
  74. package/dist/src/coreX/Dialogs/DeleteDialog/DeleteDialog.type.d.ts +19 -0
  75. package/dist/src/coreX/Dialogs/DeleteDialog/index.d.ts +2 -0
  76. package/dist/src/coreX/Dialogs/RejectDialog/RejectDialog.d.ts +3 -0
  77. package/dist/src/coreX/Dialogs/RejectDialog/RejectDialog.type.d.ts +59 -0
  78. package/dist/src/coreX/Dialogs/RejectDialog/index.d.ts +2 -0
  79. package/dist/src/coreX/Dialogs/SmallDialog.d.ts +31 -0
  80. package/dist/src/coreX/Dialogs/index.d.ts +3 -0
  81. package/dist/src/coreX/index.d.ts +2 -1
  82. package/dist/src/utils/tower.d.ts +12 -0
  83. package/dist/stories/docs/core/LineChart.stories.d.ts +16 -0
  84. package/dist/stories/docs/core/Timeline.stories.d.ts +2 -2
  85. package/dist/stories/docs/coreX/CheckPointList.stories.d.ts +1 -1
  86. package/dist/stories/docs/coreX/Dialogs/DeleteDialog.stories.d.ts +37 -0
  87. package/dist/stories/docs/coreX/Dialogs/RejectDialog.stories.d.ts +89 -0
  88. package/dist/stories/docs/coreX/Show.stories.d.ts +2 -2
  89. package/dist/style.css +2158 -1862
  90. package/dist/variables.scss +2 -0
  91. package/package.json +5 -6
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var parrot = require('@cloudtower/parrot');
6
+ var index = require('../ErrorBoundary/index.js');
7
+ var Pointer = require('./Pointer.js');
8
+ var RenderChart = require('./RenderChart.js');
9
+ var styled = require('./styled.js');
10
+ var cs = require('classnames');
11
+ var React = require('react');
12
+
13
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ var cs__default = /*#__PURE__*/_interopDefault(cs);
16
+ var React__default = /*#__PURE__*/_interopDefault(React);
17
+
18
+ var __defProp = Object.defineProperty;
19
+ var __defProps = Object.defineProperties;
20
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
21
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
23
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
+ var __spreadValues = (a, b) => {
26
+ for (var prop in b || (b = {}))
27
+ if (__hasOwnProp.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ if (__getOwnPropSymbols)
30
+ for (var prop of __getOwnPropSymbols(b)) {
31
+ if (__propIsEnum.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ }
34
+ return a;
35
+ };
36
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
37
+ const LineChart = React__default.default.forwardRef(
38
+ (props, ref) => {
39
+ const {
40
+ height = 154,
41
+ showPointer = true,
42
+ showLegend = true,
43
+ showXaxis = false,
44
+ chartProps
45
+ } = props;
46
+ const [width, setWidth] = React.useState(0);
47
+ const wrapperRef = React.useRef(null);
48
+ React.useEffect(() => {
49
+ var _a;
50
+ setWidth(((_a = wrapperRef.current) == null ? void 0 : _a.offsetWidth) || 0);
51
+ }, []);
52
+ return /* @__PURE__ */ React__default.default.createElement(index, { i18n: parrot.parrotI18n }, /* @__PURE__ */ React__default.default.createElement(
53
+ styled.LineChartWrapper,
54
+ {
55
+ className: cs__default.default("metric-wrapper", !showXaxis && "hidden-xaxis"),
56
+ ref: wrapperRef,
57
+ style: { height: showLegend ? height + 30 : height }
58
+ },
59
+ /* @__PURE__ */ React__default.default.createElement(RenderChart, __spreadProps(__spreadValues({}, chartProps), { width })),
60
+ showPointer && /* @__PURE__ */ React__default.default.createElement(Pointer, { uuid: chartProps.syncId, metricWidth: width })
61
+ ));
62
+ }
63
+ );
64
+ var LineChart$1 = LineChart;
65
+
66
+ exports.default = LineChart$1;
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var react = require('@linaria/react');
4
+
5
+ const MetricLegendTabStyle = "E_mn7joto";
6
+ const LegendStyle = "E_l1bifhon";
7
+ const LegendItemsStyle = "E_ltthzck";
8
+ const LegendItemsStyleDropdown = "E_l1mumj7o";
9
+ const ExtraResource = "E_e45tc5l";
10
+ const LineChartWrapper = /*#__PURE__*/react.styled('div')({
11
+ name: "LineChartWrapper",
12
+ class: "E_lqeaosa",
13
+ propsAsIs: false
14
+ });
15
+ const TooltipWrapper = /*#__PURE__*/react.styled('div')({
16
+ name: "TooltipWrapper",
17
+ class: "E_t2pr38p",
18
+ propsAsIs: false
19
+ });
20
+ const TooltipColumn = /*#__PURE__*/react.styled('div')({
21
+ name: "TooltipColumn",
22
+ class: "E_tecdsj7",
23
+ propsAsIs: false
24
+ });
25
+ const LineChartColorBlockStyle = "E_ljhvvia";
26
+
27
+ exports.ExtraResource = ExtraResource;
28
+ exports.LegendItemsStyle = LegendItemsStyle;
29
+ exports.LegendItemsStyleDropdown = LegendItemsStyleDropdown;
30
+ exports.LegendStyle = LegendStyle;
31
+ exports.LineChartColorBlockStyle = LineChartColorBlockStyle;
32
+ exports.LineChartWrapper = LineChartWrapper;
33
+ exports.MetricLegendTabStyle = MetricLegendTabStyle;
34
+ exports.TooltipColumn = TooltipColumn;
35
+ exports.TooltipWrapper = TooltipWrapper;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var ILineChartTimeUnit = /* @__PURE__ */ ((ILineChartTimeUnit2) => {
4
+ ILineChartTimeUnit2["Day"] = "DAY";
5
+ ILineChartTimeUnit2["Hour"] = "HOUR";
6
+ ILineChartTimeUnit2["Month"] = "MONTH";
7
+ return ILineChartTimeUnit2;
8
+ })(ILineChartTimeUnit || {});
9
+ var ILineChartMetricUnit = /* @__PURE__ */ ((ILineChartMetricUnit2) => {
10
+ ILineChartMetricUnit2["Count"] = "COUNT";
11
+ ILineChartMetricUnit2["DataRateBit"] = "DATA_RATE_BIT";
12
+ ILineChartMetricUnit2["DataRateByte"] = "DATA_RATE_BYTE";
13
+ ILineChartMetricUnit2["DataSize"] = "DATA_SIZE";
14
+ ILineChartMetricUnit2["Frequency"] = "FREQUENCY";
15
+ ILineChartMetricUnit2["Load"] = "LOAD";
16
+ ILineChartMetricUnit2["Percent"] = "PERCENT";
17
+ ILineChartMetricUnit2["Ratio"] = "RATIO";
18
+ ILineChartMetricUnit2["Temperature"] = "TEMPERATURE";
19
+ ILineChartMetricUnit2["Time"] = "TIME";
20
+ return ILineChartMetricUnit2;
21
+ })(ILineChartMetricUnit || {});
22
+ var ILineChartGraphType = /* @__PURE__ */ ((ILineChartGraphType2) => {
23
+ ILineChartGraphType2["Area"] = "AREA";
24
+ ILineChartGraphType2["Stack"] = "STACK";
25
+ return ILineChartGraphType2;
26
+ })(ILineChartGraphType || {});
27
+
28
+ exports.ILineChartGraphType = ILineChartGraphType;
29
+ exports.ILineChartMetricUnit = ILineChartMetricUnit;
30
+ exports.ILineChartTimeUnit = ILineChartTimeUnit;
@@ -0,0 +1,394 @@
1
+ 'use strict';
2
+
3
+ var type = require('./type.js');
4
+ var tower = require('../../utils/tower.js');
5
+ var dayjs = require('dayjs');
6
+ var _ = require('lodash');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
11
+ var ___default = /*#__PURE__*/_interopDefault(_);
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __defProps = Object.defineProperties;
15
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
16
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
31
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
32
+ var __objRest = (source, exclude) => {
33
+ var target = {};
34
+ for (var prop in source)
35
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
36
+ target[prop] = source[prop];
37
+ if (source != null && __getOwnPropSymbols)
38
+ for (var prop of __getOwnPropSymbols(source)) {
39
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
40
+ target[prop] = source[prop];
41
+ }
42
+ return target;
43
+ };
44
+ function filterLineChartPointsByDateRange(points, dateRange) {
45
+ const [startDate, endDate] = dateRange != null ? dateRange : [dayjs__default.default(), dayjs__default.default()];
46
+ return points == null ? void 0 : points.filter((point) => {
47
+ const pointDate = dayjs__default.default(point.t);
48
+ if (startDate && pointDate.isBefore(startDate)) {
49
+ return false;
50
+ }
51
+ if (endDate && pointDate.isAfter(endDate)) {
52
+ return false;
53
+ }
54
+ return true;
55
+ });
56
+ }
57
+ const parseLineChartRange = (range) => {
58
+ const span = parseInt(range.slice(0, range.length - 1));
59
+ const unit = range.slice(range.length - 1);
60
+ return { span, unit };
61
+ };
62
+ function getRangeTimestamp(dateRange) {
63
+ const [startDate, endDate] = dateRange;
64
+ return endDate.valueOf() - startDate.valueOf();
65
+ }
66
+ const lineChartXaxisCal = (lastTime, dateRange, width) => {
67
+ const tangeTime = getRangeTimestamp(dateRange);
68
+ const baseline = lastTime || dateRange[1].valueOf();
69
+ if (width < 290) {
70
+ const tick = tangeTime / 4;
71
+ return [baseline - tick * 3, baseline - tick];
72
+ } else if (width < 380) {
73
+ const tick = tangeTime / 6;
74
+ return [baseline - tick * 5, baseline - tick * 3, baseline - tick];
75
+ } else {
76
+ const tick = tangeTime / 8;
77
+ return [
78
+ baseline - tick * 7,
79
+ baseline - tick * 5,
80
+ baseline - tick * 3,
81
+ baseline - tick
82
+ ];
83
+ }
84
+ };
85
+ const lineChartTickFormatter = (tick, dateRange) => {
86
+ const rangeTime = getLineChartRangeTimestamp(dateRange);
87
+ if (rangeTime <= 2 * tower.HOUR * 1e3) {
88
+ return dayjs__default.default(tick).format("HH:mm:ss");
89
+ }
90
+ if (rangeTime <= 4 * tower.DAY * 1e3) {
91
+ return dayjs__default.default(tick).format("MM/DD HH:mm:ss");
92
+ }
93
+ return dayjs__default.default(tick).format("MM/DD");
94
+ };
95
+ function getLineChartXAxisDomain(dateRange, xaxisLastTime) {
96
+ const [startDate, endDate] = dateRange;
97
+ return [startDate.valueOf(), xaxisLastTime != null ? xaxisLastTime : endDate.valueOf()];
98
+ }
99
+ const getLineChartRangeTimestamp = (dateRange) => {
100
+ const [startDate, endDate] = dateRange;
101
+ return endDate.valueOf() - startDate.valueOf();
102
+ };
103
+ const getLineChartStep = (dateRange) => {
104
+ const [startDate, endDate] = dateRange;
105
+ const range = endDate.valueOf() - startDate.valueOf();
106
+ if (range <= 2 * 60 * 60 * 1e3) {
107
+ return tower.SECOND * 30 * 1e3;
108
+ }
109
+ if (range <= 24 * 60 * 60 * 1e3) {
110
+ return tower.MINUTE * 5 * 1e3;
111
+ }
112
+ if (range <= 7 * 24 * 60 * 60 * 1e3) {
113
+ return tower.MINUTE * 30 * 1e3;
114
+ }
115
+ if (range <= 30 * 24 * 60 * 60 * 1e3) {
116
+ return tower.DAY * 1e3;
117
+ }
118
+ return tower.DAY * 1e3;
119
+ };
120
+ const filterLineChartDataOverlapping = (data, startTimestamp, length, step, tolerance) => {
121
+ const points = [...new Array(Math.round(length))].map((_2, index) => {
122
+ return startTimestamp + index * step;
123
+ }).map((timestamp) => {
124
+ const closestPoint = ___default.default.minBy(
125
+ data.filter((value) => {
126
+ return Math.abs(value.t - timestamp) < tolerance;
127
+ }),
128
+ (value) => {
129
+ return Math.abs(value.t - timestamp);
130
+ }
131
+ );
132
+ if (closestPoint == null) {
133
+ return {
134
+ t: timestamp,
135
+ v: -Infinity
136
+ };
137
+ }
138
+ return closestPoint;
139
+ });
140
+ return points;
141
+ };
142
+ const convertLineChartDataStruct = (streams) => {
143
+ const points = streams.flatMap((points2, index) => {
144
+ return points2.map((point) => {
145
+ return __spreadProps(__spreadValues({}, point), { [`v${index}`]: point.v });
146
+ });
147
+ });
148
+ const groupedPoints = ___default.default.groupBy(points, (point) => {
149
+ return point.t;
150
+ });
151
+ const combinedPoints = Object.entries(groupedPoints).map(([key, values]) => {
152
+ return values.reduce((p, c) => {
153
+ const _a = __spreadValues(__spreadValues({}, p), c), values2 = __objRest(_a, ["v"]);
154
+ return values2;
155
+ }, {});
156
+ });
157
+ return combinedPoints;
158
+ };
159
+ const filterLineChartOverlappingMetric = (metric, dateRange) => {
160
+ const range = getLineChartRangeTimestamp(dateRange);
161
+ return __spreadProps(__spreadValues({}, metric), {
162
+ sample_streams: metric.sample_streams.map((stream) => __spreadProps(__spreadValues({}, stream), {
163
+ points: filterLineChartDataOverlapping(
164
+ stream.points,
165
+ dateRange[0].valueOf(),
166
+ range / stream.step,
167
+ stream.step,
168
+ stream.tolerance
169
+ )
170
+ }))
171
+ });
172
+ };
173
+ const deletePointsOutOfRange = (data, timeRange, now) => {
174
+ const first = now - getLineChartRangeTimestamp(timeRange);
175
+ return (data == null ? void 0 : data.filter((item) => {
176
+ return item.t >= first && item.t <= now;
177
+ })) || [];
178
+ };
179
+ const getFirstExpectedTimestamp = (data, timeRange, now, step, dateRange) => {
180
+ const first = timeRange ? now - getLineChartRangeTimestamp(timeRange) : dayjs__default.default(dateRange == null ? void 0 : dateRange[0]).valueOf();
181
+ const firstRealTimestamp = data[0].t;
182
+ return firstRealTimestamp - Math.floor((firstRealTimestamp - first) / step) * step;
183
+ };
184
+ const getFaultToleranceTime = (timeRange) => {
185
+ const [startDate, endDate] = timeRange;
186
+ const range = endDate.valueOf() - startDate.valueOf();
187
+ switch (range) {
188
+ case 5 * tower.MINUTE:
189
+ return 5 * 1e3;
190
+ case 15 * tower.MINUTE:
191
+ return 15 * 1e3;
192
+ case 1 * tower.HOUR:
193
+ return 60 * 1e3;
194
+ case 2 * tower.HOUR:
195
+ return 120 * 1e3;
196
+ case 24 * tower.HOUR:
197
+ return 10 * 60 * 1e3;
198
+ case 7 * tower.DAY:
199
+ case 30 * tower.DAY:
200
+ return 60 * 60 * 1e3;
201
+ case 182 * tower.DAY:
202
+ return 24 * 60 * 60 * 1e3;
203
+ }
204
+ return 120 * 1e3;
205
+ };
206
+ const addMissingDataWithZero = (data, timeRange, unit, step, dateRange) => {
207
+ const now = Date.now();
208
+ const inRangePoints = deletePointsOutOfRange(data, timeRange, now);
209
+ if (!inRangePoints.length) {
210
+ return [];
211
+ }
212
+ const firsExpectedTimestamp = getFirstExpectedTimestamp(
213
+ inRangePoints,
214
+ timeRange,
215
+ now,
216
+ step,
217
+ dateRange
218
+ );
219
+ const expectedPoints = [];
220
+ const tolerance = getFaultToleranceTime(timeRange);
221
+ if (inRangePoints[0].t - firsExpectedTimestamp > tolerance + step) {
222
+ inRangePoints.unshift({
223
+ t: firsExpectedTimestamp,
224
+ v: -Infinity
225
+ });
226
+ }
227
+ if (now - inRangePoints[inRangePoints.length - 1].t > tolerance + step) {
228
+ inRangePoints.push({
229
+ t: now,
230
+ v: -Infinity
231
+ });
232
+ }
233
+ inRangePoints.forEach((item, index) => {
234
+ var _a;
235
+ expectedPoints.push({
236
+ t: item == null ? void 0 : item.t,
237
+ v: item == null ? void 0 : item.v
238
+ });
239
+ if (index + 1 <= inRangePoints.length - 1) {
240
+ const nowTimeRange = ((_a = inRangePoints[index + 1]) == null ? void 0 : _a.t) - (item == null ? void 0 : item.t);
241
+ if (nowTimeRange > tolerance + step) {
242
+ const n = Math.floor(nowTimeRange / step);
243
+ for (let i = 1; i < n; i++) {
244
+ expectedPoints.push({
245
+ t: (item == null ? void 0 : item.t) + step * i,
246
+ v: -Infinity
247
+ });
248
+ }
249
+ }
250
+ }
251
+ });
252
+ return filterLineChartPointsByDateRange(
253
+ expectedPoints.map((p) => __spreadProps(__spreadValues({}, p), { unit })),
254
+ dateRange
255
+ );
256
+ };
257
+ const convertLineChartUnit = (value, from, to, decimals) => {
258
+ if (from === to || !value)
259
+ return value;
260
+ const ruleIndex = tower.unitRules.findIndex((rule) => rule.unit.includes(from));
261
+ if (ruleIndex === -1) {
262
+ return value;
263
+ }
264
+ const { unit, divider } = tower.unitRules[ruleIndex];
265
+ let fromIdx = unit.indexOf(from);
266
+ const toIdx = unit.indexOf(to);
267
+ if (toIdx === -1) {
268
+ return value;
269
+ }
270
+ if (fromIdx < toIdx) {
271
+ while (fromIdx < toIdx) {
272
+ value /= divider[fromIdx];
273
+ fromIdx++;
274
+ }
275
+ } else {
276
+ while (fromIdx > toIdx) {
277
+ value *= divider[fromIdx - 1];
278
+ fromIdx--;
279
+ }
280
+ }
281
+ return ___default.default.isInteger(value) ? value : ___default.default.isNil(decimals) ? value : parseFloat(value.toFixed(decimals));
282
+ };
283
+ const UNIT_FORMATTER = {
284
+ [type.ILineChartMetricUnit.Percent]: [tower.formatPercent, "%", 2, false],
285
+ [type.ILineChartMetricUnit.Ratio]: [tower.formatPercent, "%"],
286
+ [type.ILineChartMetricUnit.Count]: [tower.formatCount, ""],
287
+ [type.ILineChartMetricUnit.DataSize]: [tower.formatBytes, "B"],
288
+ [type.ILineChartMetricUnit.DataRateByte]: [tower.formatBps, "Bps"],
289
+ [type.ILineChartMetricUnit.DataRateBit]: [tower.formatBitPerSecond, "bps"],
290
+ [type.ILineChartMetricUnit.Time]: [tower.formatNanoSecond, "ns"],
291
+ [type.ILineChartMetricUnit.Frequency]: [tower.formatFrequency, "Hz"],
292
+ [type.ILineChartMetricUnit.Temperature]: [tower.formatTemperature, "\u2103"],
293
+ [type.ILineChartMetricUnit.Load]: [tower.formatCount, ""]
294
+ };
295
+ const getLineChartYDataMax = (dataPoints, type$1) => {
296
+ const values = dataPoints.map((p) => {
297
+ if (___default.default.isNumber(p == null ? void 0 : p.v)) {
298
+ return p.v;
299
+ }
300
+ const entries = Object.entries(p);
301
+ if (type$1 === type.ILineChartGraphType.Stack) {
302
+ let sum = 0;
303
+ for (const [key, value] of entries) {
304
+ if (/^v(\d*)$/.test(key) && ___default.default.isNumber(value)) {
305
+ sum += value;
306
+ }
307
+ }
308
+ return sum;
309
+ } else {
310
+ let max = 0;
311
+ for (const [key, value] of entries) {
312
+ if (/^v(\d*)$/.test(key) && ___default.default.isNumber(value) && value > max) {
313
+ max = value;
314
+ }
315
+ }
316
+ return max;
317
+ }
318
+ });
319
+ return Math.max(...values, 0);
320
+ };
321
+ const getYAxisUpperBound = (max, type$1) => {
322
+ const DIVISOR = 2;
323
+ switch (type$1) {
324
+ case type.ILineChartMetricUnit.Count:
325
+ case type.ILineChartMetricUnit.Load:
326
+ case type.ILineChartMetricUnit.DataSize:
327
+ case type.ILineChartMetricUnit.DataRateByte:
328
+ case type.ILineChartMetricUnit.Time:
329
+ case type.ILineChartMetricUnit.Frequency:
330
+ case type.ILineChartMetricUnit.DataRateBit:
331
+ case type.ILineChartMetricUnit.Temperature: {
332
+ const [format, base] = UNIT_FORMATTER[type$1];
333
+ const { value, unit } = format(max);
334
+ const _value = Math.ceil(Number(value) / DIVISOR) * DIVISOR;
335
+ return convertLineChartUnit(_value, unit, base);
336
+ }
337
+ case type.ILineChartMetricUnit.Percent: {
338
+ const [format, base, decimals, saturated] = UNIT_FORMATTER[type$1];
339
+ const { value, unit } = format(max, decimals, saturated);
340
+ const _value = Math.ceil(Number(value) / DIVISOR) * DIVISOR;
341
+ return convertLineChartUnit(_value, unit, base);
342
+ }
343
+ case type.ILineChartMetricUnit.Ratio: {
344
+ const [format, base] = UNIT_FORMATTER[type$1];
345
+ const { value, unit } = format(max * 100);
346
+ const _value = Math.ceil(Number(value) / DIVISOR) * DIVISOR;
347
+ return convertLineChartUnit(_value, unit, base) / 100;
348
+ }
349
+ default:
350
+ return 2;
351
+ }
352
+ };
353
+ const getYAxisDomain = (dataPoints, graphType, unitType) => {
354
+ const max = getLineChartYDataMax(dataPoints, graphType);
355
+ if (!max) {
356
+ if (unitType === type.ILineChartMetricUnit.Ratio) {
357
+ return [0, 1];
358
+ } else {
359
+ return [0, 2];
360
+ }
361
+ }
362
+ return [0, getYAxisUpperBound(max, unitType)];
363
+ };
364
+ function lineChartYaxisTickFormatter(value, unit) {
365
+ if (___default.default.isNil(unit)) {
366
+ return `${value}`;
367
+ }
368
+ if (___default.default.isNil(value)) {
369
+ return "0";
370
+ }
371
+ const [format] = UNIT_FORMATTER[unit];
372
+ const { value: _value, unit: _unit } = format(value);
373
+ return `${_value} ${_unit}`;
374
+ }
375
+
376
+ exports.UNIT_FORMATTER = UNIT_FORMATTER;
377
+ exports.addMissingDataWithZero = addMissingDataWithZero;
378
+ exports.convertLineChartDataStruct = convertLineChartDataStruct;
379
+ exports.convertLineChartUnit = convertLineChartUnit;
380
+ exports.deletePointsOutOfRange = deletePointsOutOfRange;
381
+ exports.filterLineChartDataOverlapping = filterLineChartDataOverlapping;
382
+ exports.filterLineChartOverlappingMetric = filterLineChartOverlappingMetric;
383
+ exports.filterLineChartPointsByDateRange = filterLineChartPointsByDateRange;
384
+ exports.getFirstExpectedTimestamp = getFirstExpectedTimestamp;
385
+ exports.getLineChartRangeTimestamp = getLineChartRangeTimestamp;
386
+ exports.getLineChartStep = getLineChartStep;
387
+ exports.getLineChartXAxisDomain = getLineChartXAxisDomain;
388
+ exports.getLineChartYDataMax = getLineChartYDataMax;
389
+ exports.getYAxisDomain = getYAxisDomain;
390
+ exports.getYAxisUpperBound = getYAxisUpperBound;
391
+ exports.lineChartTickFormatter = lineChartTickFormatter;
392
+ exports.lineChartXaxisCal = lineChartXaxisCal;
393
+ exports.lineChartYaxisTickFormatter = lineChartYaxisTickFormatter;
394
+ exports.parseLineChartRange = parseLineChartRange;
@@ -2,13 +2,13 @@
2
2
 
3
3
  var style = require('./style.js');
4
4
  var index = require('../Styled/index.js');
5
- var React = require('react');
6
5
  var cs = require('classnames');
6
+ var React = require('react');
7
7
 
8
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
- var React__default = /*#__PURE__*/_interopDefault(React);
11
10
  var cs__default = /*#__PURE__*/_interopDefault(cs);
11
+ var React__default = /*#__PURE__*/_interopDefault(React);
12
12
 
13
13
  var __defProp = Object.defineProperty;
14
14
  var __defProps = Object.defineProperties;
@@ -2,9 +2,9 @@
2
2
 
3
3
  var react = require('@linaria/react');
4
4
  var index$1 = require('../Link/index.js');
5
- var constants = require('../../utils/constants.js');
6
5
  var components = require('./components.js');
7
6
  var index = require('../Tag/index.js');
7
+ var constants = require('../../utils/constants.js');
8
8
  var React = require('react');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var core = require('@linaria/core');
5
- var constants = require('../../utils/constants.js');
6
4
  var index$2 = require('../Link/index.js');
5
+ var index$1 = require('../Tag/index.js');
7
6
  var index$3 = require('../Typo/index.js');
8
7
  var index$4 = require('../../coreX/OverflowTooltip/index.js');
9
- var index$1 = require('../Tag/index.js');
8
+ var constants = require('../../utils/constants.js');
10
9
  var antd5 = require('antd5');
11
10
  var cs = require('classnames');
11
+ var React = require('react');
12
12
  var Timeline_style = require('./Timeline.style.js');
13
13
  var index = require('../../coreX/Show/index.js');
14
14
 
15
15
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
16
 
17
- var React__default = /*#__PURE__*/_interopDefault(React);
18
17
  var cs__default = /*#__PURE__*/_interopDefault(cs);
18
+ var React__default = /*#__PURE__*/_interopDefault(React);
19
19
 
20
20
  var __defProp = Object.defineProperty;
21
21
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -2,18 +2,18 @@
2
2
 
3
3
  var iconsReact = require('@cloudtower/icons-react');
4
4
  var core = require('@linaria/core');
5
- var antd5 = require('antd5');
6
- var React = require('react');
7
- var Timeline_style = require('./Timeline.style.js');
8
5
  var index$1 = require('../Alert/index.js');
9
6
  var index = require('../Icon/index.js');
7
+ var antd5 = require('antd5');
10
8
  var cs = require('classnames');
9
+ var React = require('react');
10
+ var Timeline_style = require('./Timeline.style.js');
11
11
  var Timeline_widget = require('./Timeline.widget.js');
12
12
 
13
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
14
 
15
- var React__default = /*#__PURE__*/_interopDefault(React);
16
15
  var cs__default = /*#__PURE__*/_interopDefault(cs);
16
+ var React__default = /*#__PURE__*/_interopDefault(React);
17
17
 
18
18
  var __defProp = Object.defineProperty;
19
19
  var __defProps = Object.defineProperties;
@@ -6,20 +6,20 @@ var index$9 = require('./Bps/index.js');
6
6
  var index$d = require('./Byte/index.js');
7
7
  var index$e = require('./BytePerSecond/index.js');
8
8
  var index$t = require('./Frequency/index.js');
9
- var index$M = require('./Percent/index.js');
10
- var index$P = require('./Second/index.js');
11
- var index$T = require('./Speed/index.js');
9
+ var index$N = require('./Percent/index.js');
10
+ var index$Q = require('./Second/index.js');
11
+ var index$U = require('./Speed/index.js');
12
12
 
13
13
  const units = {
14
- Percent: index$M,
14
+ Percent: index$N,
15
15
  Byte: index$d,
16
16
  BytePerSecond: index$e,
17
17
  Frequency: index$t,
18
- Speed: index$T,
18
+ Speed: index$U,
19
19
  Bps: index$9,
20
20
  BitPerSecond: index$8,
21
21
  Bit: index$7,
22
- Second: index$P
22
+ Second: index$Q
23
23
  };
24
24
 
25
25
  exports.Bit = index$7;
@@ -28,8 +28,8 @@ exports.Bps = index$9;
28
28
  exports.Byte = index$d;
29
29
  exports.BytePerSecond = index$e;
30
30
  exports.Frequency = index$t;
31
- exports.Percent = index$M;
32
- exports.Second = index$P;
33
- exports.Speed = index$T;
31
+ exports.Percent = index$N;
32
+ exports.Second = index$Q;
33
+ exports.Speed = index$U;
34
34
  exports.Units = units;
35
35
  exports.units = units;
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
5
3
  var iconsReact = require('@cloudtower/icons-react');
6
- var antd5 = require('antd5');
7
4
  var core = require('@linaria/core');
5
+ var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
6
+ var antd5 = require('antd5');
7
+ var React = require('react');
8
8
  var checkpointlist_style = require('./checkpointlist.style.js');
9
9
  var index = require('../Show/index.js');
10
10
  var index$1 = require('../../core/Icon/index.js');
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('../../core/Styled/index.js');
3
+ var iconsReact = require('@cloudtower/icons-react');
4
4
  var index = require('../../core/Icon/index.js');
5
- var React = require('react');
5
+ var index$1 = require('../../core/Styled/index.js');
6
6
  var cs = require('classnames');
7
- var iconsReact = require('@cloudtower/icons-react');
7
+ var React = require('react');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
- var React__default = /*#__PURE__*/_interopDefault(React);
12
11
  var cs__default = /*#__PURE__*/_interopDefault(cs);
12
+ var React__default = /*#__PURE__*/_interopDefault(React);
13
13
 
14
14
  var __defProp = Object.defineProperty;
15
15
  var __defProps = Object.defineProperties;