@abtnode/ux 1.16.13-beta-90ded76f → 1.16.13-beta-ef672597

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.
@@ -150,7 +150,7 @@ function RuntimeInsight() {
150
150
  fontWeight: 'bold'
151
151
  },
152
152
  mb: 2,
153
- children: t('insights.trend')
153
+ children: t('analytics.trend')
154
154
  }), blocklet.status === 'running' ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
155
155
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_runtimeInfo.default, {
156
156
  blocklet: blocklet,
@@ -160,7 +160,7 @@ function RuntimeInsight() {
160
160
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
161
161
  mt: 3,
162
162
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
163
- title: t('insights.detail'),
163
+ title: t('analytics.detail'),
164
164
  className: "monitor-table",
165
165
  locale: locale,
166
166
  data: monitList,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = TrafficInsights;
7
+ exports.getDefaultRanges = void 0;
7
8
  var _react = require("react");
8
9
  var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
9
10
  var _nthArg = _interopRequireDefault(require("lodash/nthArg"));
@@ -16,13 +17,16 @@ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularPr
16
17
  var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
17
18
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
19
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
20
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
19
21
  var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
22
+ var _LaunchOutlined = _interopRequireDefault(require("@mui/icons-material/LaunchOutlined"));
20
23
  var _muiDaterangePicker = require("mui-daterange-picker");
21
24
  var _xDatePickers = require("@mui/x-date-pickers");
22
25
  var _AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
23
26
  var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
24
27
  var _context = require("@arcblock/ux/lib/Locale/context");
25
28
  var _constant = require("@abtnode/constant");
29
+ var _dateFns = require("date-fns");
26
30
  var _util = require("../util");
27
31
  var _node = require("../contexts/node");
28
32
  var _chart = _interopRequireDefault(require("./chart"));
@@ -34,6 +38,44 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
34
38
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
35
39
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /* eslint-disable react/prop-types */ /* eslint-disable react-hooks/exhaustive-deps */
36
40
  const noop = (0, _nthArg.default)(0);
41
+ const getDefaultRanges = (date, locale) => [{
42
+ label: 'This Week',
43
+ startDate: (0, _dateFns.startOfWeek)(date, {
44
+ locale
45
+ }),
46
+ endDate: (0, _dateFns.endOfWeek)(date, {
47
+ locale
48
+ })
49
+ }, {
50
+ label: 'Last Week',
51
+ startDate: (0, _dateFns.startOfWeek)((0, _dateFns.addWeeks)(date, -1), {
52
+ locale
53
+ }),
54
+ endDate: (0, _dateFns.endOfWeek)((0, _dateFns.addWeeks)(date, -1), {
55
+ locale
56
+ })
57
+ }, {
58
+ label: 'Last 7 Days',
59
+ startDate: (0, _dateFns.addWeeks)(date, -1),
60
+ endDate: date
61
+ }, {
62
+ label: 'This Month',
63
+ startDate: (0, _dateFns.startOfMonth)(date),
64
+ endDate: (0, _dateFns.endOfMonth)(date)
65
+ }, {
66
+ label: 'Last Month',
67
+ startDate: (0, _dateFns.startOfMonth)((0, _dateFns.addMonths)(date, -1)),
68
+ endDate: (0, _dateFns.endOfMonth)((0, _dateFns.addMonths)(date, -1))
69
+ }, {
70
+ label: 'This Year',
71
+ startDate: (0, _dateFns.startOfYear)(date),
72
+ endDate: (0, _dateFns.endOfYear)(date)
73
+ }, {
74
+ label: 'Last Year',
75
+ startDate: (0, _dateFns.startOfYear)((0, _dateFns.addYears)(date, -1)),
76
+ endDate: (0, _dateFns.endOfYear)((0, _dateFns.addYears)(date, -1))
77
+ }];
78
+ exports.getDefaultRanges = getDefaultRanges;
37
79
  function TrafficInsights(_ref) {
38
80
  let {
39
81
  client,
@@ -49,6 +91,7 @@ function TrafficInsights(_ref) {
49
91
  locale
50
92
  } = (0, _context.useLocaleContext)();
51
93
  const [anchorEl, setAnchorEl] = (0, _react.useState)(null);
94
+ const [loaded, setLoaded] = (0, _react.useState)(false);
52
95
  const [date, setDate] = (0, _react.useState)(maxDate);
53
96
  const [dateRange, setDateRange] = (0, _react.useState)({
54
97
  startDate: (0, _dayjs.default)().subtract(30, 'day').toDate(),
@@ -107,7 +150,7 @@ function TrafficInsights(_ref) {
107
150
  };
108
151
  const charts = Object.keys(metrics).map(key => ({
109
152
  id: "".concat(key, "_chart"),
110
- title: t("insights.traffic.".concat(key)),
153
+ title: t("analytics.traffic.".concat(key)),
111
154
  current: list.length ? metrics[key](list[0][key]) : 0,
112
155
  data: list.map(v => ({
113
156
  date: v.date,
@@ -121,6 +164,18 @@ function TrafficInsights(_ref) {
121
164
 
122
165
  // eslint-disable-next-line no-nested-ternary
123
166
  const pathPrefix = inService ? _constant.WELLKNOWN_SERVICE_PATH_PREFIX : process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';
167
+ const breakdownUrl = (0, _urlJoin.default)(window.location.origin, pathPrefix, "/api/analytics/traffic?date=".concat((0, _dayjs.default)(date).format('YYYY-MM-DD'), "&did=").concat(did));
168
+ const onRangeChange = range => {
169
+ setDateRange(range);
170
+ setAnchorEl(null);
171
+ };
172
+ const onDateChange = newDate => {
173
+ setDate(newDate.toDate());
174
+ setLoaded(false);
175
+ };
176
+ const onOpenBreakdown = () => {
177
+ window.open(breakdownUrl);
178
+ };
124
179
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
125
180
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
126
181
  component: "div",
@@ -132,7 +187,7 @@ function TrafficInsights(_ref) {
132
187
  fontWeight: 'bold'
133
188
  },
134
189
  mb: 2,
135
- children: [t('insights.trend'), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
190
+ children: [t('analytics.trend'), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
136
191
  onClick: onTriggerClick,
137
192
  variant: "outlined",
138
193
  size: "small",
@@ -143,7 +198,7 @@ function TrafficInsights(_ref) {
143
198
  id: id,
144
199
  open: open,
145
200
  anchorEl: anchorEl,
146
- onClose: onTriggerClick,
201
+ onClose: () => setAnchorEl(null),
147
202
  anchorOrigin: {
148
203
  vertical: 'bottom',
149
204
  horizontal: 'left'
@@ -152,7 +207,8 @@ function TrafficInsights(_ref) {
152
207
  open: true,
153
208
  toggle: onTriggerClick,
154
209
  maxDate: maxDate,
155
- onChange: v => setDateRange(v)
210
+ definedRanges: getDefaultRanges(date),
211
+ onChange: onRangeChange
156
212
  })
157
213
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Grid.default, {
158
214
  container: true,
@@ -176,25 +232,34 @@ function TrafficInsights(_ref) {
176
232
  },
177
233
  mt: 4,
178
234
  mb: 1,
179
- children: [t('insights.detail'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
180
- dateAdapter: _AdapterDayjs.AdapterDayjs,
181
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDatePickers.DatePicker, {
182
- disableFuture: true,
183
- format: "ll",
184
- value: (0, _dayjs.default)(date),
185
- onChange: newValue => setDate(newValue.toDate()),
186
- slotProps: {
187
- textField: {
188
- size: 'small'
235
+ children: [t('analytics.detail'), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
236
+ children: [loaded && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
237
+ onClick: onOpenBreakdown,
238
+ style: {
239
+ marginRight: 32
240
+ },
241
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LaunchOutlined.default, {})
242
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
243
+ dateAdapter: _AdapterDayjs.AdapterDayjs,
244
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xDatePickers.DatePicker, {
245
+ disableFuture: true,
246
+ format: "ll",
247
+ value: (0, _dayjs.default)(date),
248
+ onChange: onDateChange,
249
+ slotProps: {
250
+ textField: {
251
+ size: 'small'
252
+ }
189
253
  }
190
- }
191
- })
254
+ })
255
+ })]
192
256
  })]
193
257
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIframe.default, {
194
- url: (0, _urlJoin.default)(window.location.origin, pathPrefix, "/api/insights/traffic?date=".concat((0, _dayjs.default)(date).format('YYYY-MM-DD'), "&did=").concat(did)),
258
+ url: breakdownUrl,
195
259
  width: "100%",
196
260
  height: "100%",
197
261
  frameBorder: 0,
262
+ onLoad: () => setLoaded(true),
198
263
  styles: {
199
264
  border: 0,
200
265
  minHeight: '400vh'
@@ -8,8 +8,8 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
10
10
  var _Grid = _interopRequireDefault(require("@mui/material/Grid"));
11
- var _cpu = _interopRequireDefault(require("../insights/cpu"));
12
- var _memory = _interopRequireDefault(require("../insights/memory"));
11
+ var _cpu = _interopRequireDefault(require("../analytics/cpu"));
12
+ var _memory = _interopRequireDefault(require("../analytics/memory"));
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  var _templateObject;
15
15
  const _excluded = ["blocklet", "cpuHistory", "memoryHistory"];