@abtnode/ux 1.16.13-beta-0656f92f → 1.16.13-beta-2eb54cbc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{monitor → analytics}/card.js +8 -11
- package/lib/{monitor/cpu.js → analytics/chart.js} +43 -44
- package/lib/analytics/cpu.js +44 -0
- package/lib/analytics/memory.js +80 -0
- package/lib/{blocklet/monitor.js → analytics/runtime.js} +20 -22
- package/lib/analytics/traffic.js +269 -0
- package/lib/blocklet/component/index.js +4 -3
- package/lib/blocklet/overview.js +3 -2
- package/lib/blocklet/runtime-info.js +4 -6
- package/lib/blocklet/storage/backups.js +18 -30
- package/lib/blocklet/storage/connected.js +8 -0
- package/lib/blocklet/storage/disconnect.js +29 -15
- package/lib/blocklet/transfer-owner.js +2 -4
- package/lib/certificate.js +4 -3
- package/lib/hooks/blocklet.js +25 -8
- package/lib/invitation/invitation-receive.js +1 -1
- package/lib/locales/en.js +21 -3
- package/lib/locales/zh.js +21 -3
- package/lib/logs/download.js +1 -1
- package/lib/relative-time.js +2 -2
- package/lib/subscription.js +1 -1
- package/lib/team/members/invite-member.js +3 -2
- package/lib/team/members/member.js +4 -3
- package/lib/team/members/passport-issuances.js +3 -2
- package/lib/team/members/transfer-node.js +2 -4
- package/lib/util/index.js +12 -40
- package/package.json +16 -15
- package/lib/monitor/memory.js +0 -144
- /package/lib/{monitor → analytics}/disk.js +0 -0
package/lib/locales/zh.js
CHANGED
|
@@ -134,7 +134,7 @@ module.exports = {
|
|
|
134
134
|
createdAt: '创建时间',
|
|
135
135
|
createdBy: '创建人',
|
|
136
136
|
dAddress: '去中心化地址(DID)',
|
|
137
|
-
dataStorage: '
|
|
137
|
+
dataStorage: '本地数据存储',
|
|
138
138
|
delConfirm: '删除',
|
|
139
139
|
delConfirmDescription: '确认删除 {data}?',
|
|
140
140
|
delete: '删除',
|
|
@@ -207,7 +207,9 @@ module.exports = {
|
|
|
207
207
|
members: '成员',
|
|
208
208
|
memory: '内存',
|
|
209
209
|
meta: '元数据',
|
|
210
|
-
|
|
210
|
+
analytics: '统计分析',
|
|
211
|
+
runtime: '运行监控',
|
|
212
|
+
traffic: '流量分析',
|
|
211
213
|
more: '更多',
|
|
212
214
|
mountPoint: '挂载点',
|
|
213
215
|
name: '名称',
|
|
@@ -691,7 +693,7 @@ module.exports = {
|
|
|
691
693
|
verifying: '验证节点新版本 v{version}',
|
|
692
694
|
rollback: '回滚此次升级',
|
|
693
695
|
complete: '升级完成!',
|
|
694
|
-
progress: '
|
|
696
|
+
progress: '正在升级节点 {version}',
|
|
695
697
|
check: '检查更新',
|
|
696
698
|
latest: '太棒了,你的节点已经是最新版!'
|
|
697
699
|
},
|
|
@@ -1464,5 +1466,21 @@ module.exports = {
|
|
|
1464
1466
|
},
|
|
1465
1467
|
loadFailed: '加载订阅信息失败,请重试!',
|
|
1466
1468
|
loading: '加载订阅信息...'
|
|
1469
|
+
},
|
|
1470
|
+
analytics: {
|
|
1471
|
+
trend: '趋势',
|
|
1472
|
+
detail: '探究',
|
|
1473
|
+
traffic: {
|
|
1474
|
+
totalRequests: '总请求数',
|
|
1475
|
+
validRequests: '成功请求数',
|
|
1476
|
+
failedRequests: '失败请求数',
|
|
1477
|
+
uniqueVisitors: '访客数量',
|
|
1478
|
+
uniqueFiles: '网址数量',
|
|
1479
|
+
uniqueReferrers: '来源数量',
|
|
1480
|
+
uniqueNotFound: '404 数量',
|
|
1481
|
+
uniqueStaticFiles: '静态资源数量',
|
|
1482
|
+
logSize: '日志大小',
|
|
1483
|
+
bandwidth: '带宽消耗'
|
|
1484
|
+
}
|
|
1467
1485
|
}
|
|
1468
1486
|
};
|
package/lib/logs/download.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = DownloadLog;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
9
|
+
var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
|
|
10
10
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
11
11
|
var _Download = _interopRequireDefault(require("@mui/icons-material/Download"));
|
|
12
12
|
var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
|
package/lib/relative-time.js
CHANGED
|
@@ -31,7 +31,7 @@ function RelativeTime(_ref) {
|
|
|
31
31
|
if (valTime > now) {
|
|
32
32
|
const time = (0, _prettyMsI18n.default)(valTime - now, prettyOption);
|
|
33
33
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
34
|
-
title: (0, _util.formatToDatetime)(value),
|
|
34
|
+
title: (0, _util.formatToDatetime)(value, locale),
|
|
35
35
|
placement: "top-end",
|
|
36
36
|
enterTouchDelay: 0,
|
|
37
37
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
@@ -43,7 +43,7 @@ function RelativeTime(_ref) {
|
|
|
43
43
|
}
|
|
44
44
|
const time = (0, _prettyMsI18n.default)(now - valTime, prettyOption);
|
|
45
45
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
46
|
-
title: (0, _util.formatToDatetime)(value),
|
|
46
|
+
title: (0, _util.formatToDatetime)(value, locale),
|
|
47
47
|
placement: "top-end",
|
|
48
48
|
enterTouchDelay: 0,
|
|
49
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
package/lib/subscription.js
CHANGED
|
@@ -10,7 +10,7 @@ var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
|
10
10
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
11
11
|
var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
|
|
12
12
|
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
13
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
13
|
+
var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
var _react = require("react");
|
|
16
16
|
var _useAsyncRetry = _interopRequireDefault(require("react-use/lib/useAsyncRetry"));
|
|
@@ -41,7 +41,8 @@ function InviteMember(_ref) {
|
|
|
41
41
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
42
42
|
const [error, setError] = (0, _react.useState)('');
|
|
43
43
|
const {
|
|
44
|
-
t
|
|
44
|
+
t,
|
|
45
|
+
locale
|
|
45
46
|
} = (0, _context.useLocaleContext)();
|
|
46
47
|
const [activeStep, setActiveStep] = (0, _react.useState)(0);
|
|
47
48
|
const [inviteInfo, setInviteInfo] = (0, _react.useState)('');
|
|
@@ -150,7 +151,7 @@ function InviteMember(_ref) {
|
|
|
150
151
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
151
152
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Bold, {
|
|
152
153
|
children: t('team.member.inviteDialog.createSuccessTip', {
|
|
153
|
-
expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate)
|
|
154
|
+
expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate, locale)
|
|
154
155
|
})
|
|
155
156
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
156
157
|
style: {
|
|
@@ -106,7 +106,8 @@ function Member(_ref3) {
|
|
|
106
106
|
enablePassportIssuance
|
|
107
107
|
} = (0, _team.useTeamContext)();
|
|
108
108
|
const {
|
|
109
|
-
t
|
|
109
|
+
t,
|
|
110
|
+
locale
|
|
110
111
|
} = (0, _context.useLocaleContext)();
|
|
111
112
|
const pageState = (0, _ahooks.useReactive)({
|
|
112
113
|
user: null,
|
|
@@ -191,13 +192,13 @@ function Member(_ref3) {
|
|
|
191
192
|
value: pageState.user.approved ? t('common.yes') : t('common.no')
|
|
192
193
|
}, {
|
|
193
194
|
name: t('team.member.lastLogin'),
|
|
194
|
-
value: (0, _util.formatToDatetime)(pageState.user.lastLoginAt)
|
|
195
|
+
value: (0, _util.formatToDatetime)(pageState.user.lastLoginAt, locale)
|
|
195
196
|
}, {
|
|
196
197
|
name: t('team.member.lastLoginIp'),
|
|
197
198
|
value: pageState.user.lastLoginIp || ''
|
|
198
199
|
}, {
|
|
199
200
|
name: t('common.createdAt'),
|
|
200
|
-
value: (0, _util.formatToDatetime)(pageState.user.createdAt)
|
|
201
|
+
value: (0, _util.formatToDatetime)(pageState.user.createdAt, locale)
|
|
201
202
|
}, {
|
|
202
203
|
name: t('common.remark'),
|
|
203
204
|
value: pageState.user.remark || '--'
|
|
@@ -33,7 +33,8 @@ function PassportIssuances(_ref) {
|
|
|
33
33
|
inService
|
|
34
34
|
} = (0, _node.useNodeContext)();
|
|
35
35
|
const {
|
|
36
|
-
t
|
|
36
|
+
t,
|
|
37
|
+
locale
|
|
37
38
|
} = (0, _react.useContext)(_context.LocaleContext);
|
|
38
39
|
const [delConfirm, setDelConfirm] = (0, _react.useState)(null);
|
|
39
40
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
@@ -113,7 +114,7 @@ function PassportIssuances(_ref) {
|
|
|
113
114
|
style: {
|
|
114
115
|
color: '#999'
|
|
115
116
|
},
|
|
116
|
-
children: [t('common.expires'), ":\xA0", (0, _util.formatToDatetime)(d.expireDate)]
|
|
117
|
+
children: [t('common.expires'), ":\xA0", (0, _util.formatToDatetime)(d.expireDate, locale)]
|
|
117
118
|
})]
|
|
118
119
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
119
120
|
mt: 2,
|
|
@@ -44,12 +44,10 @@ function TransferMember(_ref) {
|
|
|
44
44
|
} = (0, _react.useContext)(_session.SessionContext);
|
|
45
45
|
const [loading, setLoading] = (0, _react.useState)(false);
|
|
46
46
|
const {
|
|
47
|
+
t,
|
|
47
48
|
locale
|
|
48
49
|
} = (0, _context.useLocaleContext)();
|
|
49
50
|
const [error, setError] = (0, _react.useState)('');
|
|
50
|
-
const {
|
|
51
|
-
t
|
|
52
|
-
} = (0, _context.useLocaleContext)();
|
|
53
51
|
const [openTransferNFTAuth, setOpenTransferNFTAuth] = (0, _react.useState)(false);
|
|
54
52
|
const [activeStep, setActiveStep] = (0, _react.useState)(0);
|
|
55
53
|
const [inviteInfo, setInviteInfo] = (0, _react.useState)('');
|
|
@@ -203,7 +201,7 @@ function TransferMember(_ref) {
|
|
|
203
201
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
204
202
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Bold, {
|
|
205
203
|
children: t('team.transferNode.inviteDialog.createSuccessTip', {
|
|
206
|
-
expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate)
|
|
204
|
+
expireDate: (0, _util.formatToDatetime)(inviteInfo.expireDate, locale)
|
|
207
205
|
})
|
|
208
206
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
209
207
|
style: {
|
package/lib/util/index.js
CHANGED
|
@@ -17,8 +17,6 @@ Object.defineProperty(exports, "formatError", {
|
|
|
17
17
|
exports.formatFactoryPrice = formatFactoryPrice;
|
|
18
18
|
exports.formatRegistryScreenshotPath = exports.formatRegistryLogoPath = exports.formatPerson = exports.formatMountPoint = exports.formatLocale = void 0;
|
|
19
19
|
exports.formatTime = formatTime;
|
|
20
|
-
exports.formatTimeFromNow = formatTimeFromNow;
|
|
21
|
-
exports.formatTimestamp = formatTimestamp;
|
|
22
20
|
exports.formatToDate = formatToDate;
|
|
23
21
|
exports.formatToDatetime = formatToDatetime;
|
|
24
22
|
exports.formatUrl = void 0;
|
|
@@ -32,9 +30,7 @@ exports.getBlockletUrl = getBlockletUrl;
|
|
|
32
30
|
exports.getBlockletUrlParams = void 0;
|
|
33
31
|
exports.getBlockletUrls = getBlockletUrls;
|
|
34
32
|
exports.getExplorerLink = getExplorerLink;
|
|
35
|
-
exports.getPathPrefix = exports.getIssuePassportLink = exports.getInviteLink = void 0;
|
|
36
|
-
exports.getRelativeTime = getRelativeTime;
|
|
37
|
-
exports.getTransferAppLink = exports.getSubscriptionURL = exports.getStoreList = exports.getRenewBlockletURL = void 0;
|
|
33
|
+
exports.getTransferAppLink = exports.getSubscriptionURL = exports.getStoreList = exports.getRenewBlockletURL = exports.getPathPrefix = exports.getIssuePassportLink = exports.getInviteLink = void 0;
|
|
38
34
|
exports.getWebWalletUrl = getWebWalletUrl;
|
|
39
35
|
exports.isNewStoreUrl = exports.isInstalling = exports.isDownloading = exports.isChrome = exports.isCertificateMatch = exports.isBlockletDev = void 0;
|
|
40
36
|
exports.isProtectedRole = isProtectedRole;
|
|
@@ -46,11 +42,8 @@ exports.shouldCheckDomainStatus = void 0;
|
|
|
46
42
|
exports.sleep = sleep;
|
|
47
43
|
exports.validateDomain = exports.toSlotDomain = exports.stringSortHandlerAsc = exports.sortDomains = void 0;
|
|
48
44
|
var _constant = require("@abtnode/constant");
|
|
49
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
50
|
-
require("moment/locale/zh-cn");
|
|
51
45
|
var _querystring = _interopRequireDefault(require("querystring"));
|
|
52
46
|
var _isUrl = _interopRequireDefault(require("is-url"));
|
|
53
|
-
var _moment = _interopRequireDefault(require("moment"));
|
|
54
47
|
var _humanizeUrl = _interopRequireDefault(require("humanize-url"));
|
|
55
48
|
var _filesize = _interopRequireDefault(require("filesize"));
|
|
56
49
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
@@ -64,6 +57,7 @@ var _axios = _interopRequireDefault(require("@abtnode/util/lib/axios"));
|
|
|
64
57
|
var _normalizePathPrefix = _interopRequireDefault(require("@abtnode/util/lib/normalize-path-prefix"));
|
|
65
58
|
var _urlPathFriendly = _interopRequireDefault(require("@blocklet/meta/lib/url-path-friendly"));
|
|
66
59
|
var _formatError = _interopRequireDefault(require("@abtnode/util/lib/format-error"));
|
|
60
|
+
var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
|
|
67
61
|
var _window$env;
|
|
68
62
|
/* eslint-disable max-len */
|
|
69
63
|
/* eslint-disable implicit-arrow-linebreak */
|
|
@@ -229,54 +223,36 @@ function patchJsxToLocale(rawStr) {
|
|
|
229
223
|
return item;
|
|
230
224
|
}).filter(Boolean);
|
|
231
225
|
}
|
|
232
|
-
function formatTimestamp(ts) {
|
|
233
|
-
if (!ts) {
|
|
234
|
-
return '-';
|
|
235
|
-
}
|
|
236
|
-
let date;
|
|
237
|
-
if (Number(ts).toString() === ts) {
|
|
238
|
-
date = new Date();
|
|
239
|
-
date.setTime(ts);
|
|
240
|
-
} else {
|
|
241
|
-
date = new Date(ts);
|
|
242
|
-
}
|
|
243
|
-
return date.toLocaleString();
|
|
244
|
-
}
|
|
245
226
|
function formatToDate(date) {
|
|
227
|
+
let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
|
|
246
228
|
if (!date) {
|
|
247
229
|
return '-';
|
|
248
230
|
}
|
|
249
|
-
return (0,
|
|
231
|
+
return (0, _dayjs.default)(date).locale(formatLocale(locale)).format('ll');
|
|
250
232
|
}
|
|
251
233
|
function formatToDatetime(date) {
|
|
234
|
+
let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
|
|
252
235
|
if (!date) {
|
|
253
236
|
return '-';
|
|
254
237
|
}
|
|
255
|
-
return (0,
|
|
256
|
-
}
|
|
257
|
-
function formatTimeFromNow(date) {
|
|
258
|
-
if (!date) {
|
|
259
|
-
return '-';
|
|
260
|
-
}
|
|
261
|
-
const startDate = (0, _moment.default)(date);
|
|
262
|
-
const endDate = (0, _moment.default)();
|
|
263
|
-
const diffDay = endDate.diff(startDate, 'day');
|
|
264
|
-
return diffDay > 3 ? formatToDate(date) : startDate.fromNow();
|
|
238
|
+
return (0, _dayjs.default)(date).locale(formatLocale(locale)).format('lll');
|
|
265
239
|
}
|
|
266
240
|
function formatTime(date) {
|
|
267
241
|
let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'lll';
|
|
242
|
+
let locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en';
|
|
268
243
|
if (!date) {
|
|
269
244
|
return '-';
|
|
270
245
|
}
|
|
271
|
-
return (0,
|
|
246
|
+
return (0, _dayjs.default)(date).locale(formatLocale(locale)).format(format);
|
|
272
247
|
}
|
|
273
248
|
function formatDateTime(date) {
|
|
274
|
-
|
|
249
|
+
let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
|
|
250
|
+
return (0, _dayjs.default)(date).locale(formatLocale(locale)).format('YYYY-MM-DD HH:mm');
|
|
275
251
|
}
|
|
276
252
|
const formatLocale = function formatLocale() {
|
|
277
253
|
let locale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en';
|
|
278
|
-
if (locale === '
|
|
279
|
-
return '
|
|
254
|
+
if (locale === 'tw') {
|
|
255
|
+
return 'zh';
|
|
280
256
|
}
|
|
281
257
|
return locale;
|
|
282
258
|
};
|
|
@@ -614,10 +590,6 @@ async function getAsset(chainHost, address) {
|
|
|
614
590
|
function getAssetExpiration(asset) {
|
|
615
591
|
return (0, _last.default)((0, _get.default)(asset, 'data.value.expirationDate', []));
|
|
616
592
|
}
|
|
617
|
-
function getRelativeTime(datetime) {
|
|
618
|
-
let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
|
|
619
|
-
return (0, _moment.default)(datetime).locale(formatLocale(locale)).fromNow().toString();
|
|
620
|
-
}
|
|
621
593
|
|
|
622
594
|
/**
|
|
623
595
|
* 检查url是否 未添加到 store list 中
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abtnode/ux",
|
|
3
|
-
"version": "1.16.13-beta-
|
|
3
|
+
"version": "1.16.13-beta-2eb54cbc",
|
|
4
4
|
"description": "UX components shared across abtnode packages",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,22 +23,22 @@
|
|
|
23
23
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@abtnode/auth": "1.16.13-beta-
|
|
27
|
-
"@abtnode/constant": "1.16.13-beta-
|
|
28
|
-
"@abtnode/util": "1.16.13-beta-
|
|
26
|
+
"@abtnode/auth": "1.16.13-beta-2eb54cbc",
|
|
27
|
+
"@abtnode/constant": "1.16.13-beta-2eb54cbc",
|
|
28
|
+
"@abtnode/util": "1.16.13-beta-2eb54cbc",
|
|
29
29
|
"@ahooksjs/use-url-state": "^3.5.1",
|
|
30
30
|
"@arcblock/did": "^1.18.84",
|
|
31
|
-
"@arcblock/did-connect": "^2.5.
|
|
31
|
+
"@arcblock/did-connect": "^2.5.54",
|
|
32
32
|
"@arcblock/did-motif": "^1.1.12",
|
|
33
|
-
"@arcblock/icons": "^2.5.
|
|
34
|
-
"@arcblock/react-hooks": "^2.5.
|
|
35
|
-
"@arcblock/terminal": "^2.5.
|
|
36
|
-
"@arcblock/ux": "^2.5.
|
|
37
|
-
"@blocklet/constant": "1.16.13-beta-
|
|
33
|
+
"@arcblock/icons": "^2.5.54",
|
|
34
|
+
"@arcblock/react-hooks": "^2.5.54",
|
|
35
|
+
"@arcblock/terminal": "^2.5.54",
|
|
36
|
+
"@arcblock/ux": "^2.5.54",
|
|
37
|
+
"@blocklet/constant": "1.16.13-beta-2eb54cbc",
|
|
38
38
|
"@blocklet/launcher-layout": "2.1.26",
|
|
39
39
|
"@blocklet/list": "^0.12.4",
|
|
40
|
-
"@blocklet/meta": "1.16.13-beta-
|
|
41
|
-
"@blocklet/ui-react": "^2.5.
|
|
40
|
+
"@blocklet/meta": "1.16.13-beta-2eb54cbc",
|
|
41
|
+
"@blocklet/ui-react": "^2.5.54",
|
|
42
42
|
"@emotion/react": "^11.10.4",
|
|
43
43
|
"@emotion/styled": "^11.10.4",
|
|
44
44
|
"@iconify/react": "^4.0.0",
|
|
@@ -47,12 +47,13 @@
|
|
|
47
47
|
"@mui/lab": "^5.0.0-alpha.102",
|
|
48
48
|
"@mui/material": "^5.10.8",
|
|
49
49
|
"@mui/styles": "^5.10.8",
|
|
50
|
+
"@mui/x-date-pickers": "^6.9.0",
|
|
50
51
|
"@ocap/client": "1.18.84",
|
|
51
52
|
"@uiw/react-markdown-preview": "4.0.6",
|
|
52
53
|
"ahooks": "^3.7.1",
|
|
53
54
|
"axios": "^0.27.2",
|
|
54
55
|
"classnames": "^2.3.2",
|
|
55
|
-
"
|
|
56
|
+
"date-fns": "^2.30.0",
|
|
56
57
|
"dsbridge": "3.1.4",
|
|
57
58
|
"file-saver": "^2.0.5",
|
|
58
59
|
"filesize": "^6.4.0",
|
|
@@ -64,8 +65,8 @@
|
|
|
64
65
|
"jszip": "^3.10.1",
|
|
65
66
|
"lodash": "^4.17.21",
|
|
66
67
|
"md5": "^2.3.0",
|
|
67
|
-
"moment": "^2.29.4",
|
|
68
68
|
"ms": "^2.1.3",
|
|
69
|
+
"mui-daterange-picker": "^1.0.5",
|
|
69
70
|
"nanoid": "^4.0.0",
|
|
70
71
|
"p-wait-for": "^4.1.0",
|
|
71
72
|
"pretty-ms-i18n": "^1.0.3",
|
|
@@ -94,5 +95,5 @@
|
|
|
94
95
|
"@babel/preset-react": "^7.18.6",
|
|
95
96
|
"babel-plugin-inline-react-svg": "^1.1.2"
|
|
96
97
|
},
|
|
97
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "7adf96c2eb31762d8eb14b8121fce9865d6a458c"
|
|
98
99
|
}
|
package/lib/monitor/memory.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = MemoryMonitor;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _filesize = _interopRequireDefault(require("filesize"));
|
|
10
|
-
var _ahooks = require("ahooks");
|
|
11
|
-
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
|
-
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
13
|
-
var _Sparkline = _interopRequireDefault(require("@arcblock/ux/lib/Sparkline"));
|
|
14
|
-
var _card = _interopRequireDefault(require("./card"));
|
|
15
|
-
var _util = require("../util");
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
-
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; }
|
|
21
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
22
|
-
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/jsx-one-expression-per-line */
|
|
23
|
-
const formatNumber = x => (0, _filesize.default)(x);
|
|
24
|
-
function MemoryMonitor(_ref) {
|
|
25
|
-
let {
|
|
26
|
-
instanceCount,
|
|
27
|
-
title,
|
|
28
|
-
total,
|
|
29
|
-
used,
|
|
30
|
-
history,
|
|
31
|
-
hideDescription
|
|
32
|
-
} = _ref;
|
|
33
|
-
const {
|
|
34
|
-
t
|
|
35
|
-
} = (0, _react.useContext)(_context.LocaleContext);
|
|
36
|
-
const svgRef = (0, _react.useRef)(null);
|
|
37
|
-
const tooltipRef = (0, _react.useRef)(null);
|
|
38
|
-
const tooltipState = (0, _ahooks.useReactive)({
|
|
39
|
-
style: {
|
|
40
|
-
top: 0,
|
|
41
|
-
left: 0
|
|
42
|
-
},
|
|
43
|
-
hidden: true,
|
|
44
|
-
textContent: ''
|
|
45
|
-
});
|
|
46
|
-
const [dom, setDom] = (0, _react.useState)();
|
|
47
|
-
const size = (0, _ahooks.useSize)(dom) || {};
|
|
48
|
-
const showPercent = !!total;
|
|
49
|
-
const available = total - used;
|
|
50
|
-
const memoryPercent = showPercent ? "(".concat(Math.floor(used / total * 100), "%)") : '';
|
|
51
|
-
const memoryList = [];
|
|
52
|
-
if (instanceCount) {
|
|
53
|
-
memoryList.push({
|
|
54
|
-
title: t('system.instances'),
|
|
55
|
-
metric: instanceCount
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
memoryList.push({
|
|
59
|
-
title: t('system.used'),
|
|
60
|
-
metric: (0, _filesize.default)(used)
|
|
61
|
-
});
|
|
62
|
-
if (showPercent) {
|
|
63
|
-
memoryList.push({
|
|
64
|
-
title: t('system.free'),
|
|
65
|
-
metric: (0, _filesize.default)(available)
|
|
66
|
-
}, {
|
|
67
|
-
title: t('system.total'),
|
|
68
|
-
metric: (0, _filesize.default)(total)
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
const sparklineOptions = {
|
|
72
|
-
onmousemove(event, dataPoint) {
|
|
73
|
-
const date = (0, _util.formatTime)(dataPoint.date, 'HH:mm');
|
|
74
|
-
const left = '80px';
|
|
75
|
-
tooltipState.textContent = "".concat(date, ": ").concat(formatNumber(dataPoint.value));
|
|
76
|
-
tooltipState.style.top = '-30px';
|
|
77
|
-
tooltipState.style.left = left;
|
|
78
|
-
tooltipState.hidden = false;
|
|
79
|
-
},
|
|
80
|
-
onmouseout() {
|
|
81
|
-
tooltipState.hidden = true;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
(0, _react.useEffect)(() => {
|
|
85
|
-
// if (!loading) {
|
|
86
|
-
// // see: https://github.com/alibaba/hooks/issues/838
|
|
87
|
-
// }
|
|
88
|
-
setTimeout(() => {
|
|
89
|
-
setDom(document.querySelector('.mem-sparkline'));
|
|
90
|
-
setTimeout(() => {
|
|
91
|
-
if (svgRef.current) {
|
|
92
|
-
(0, _Sparkline.default)(svgRef.current, history, sparklineOptions);
|
|
93
|
-
}
|
|
94
|
-
}, 400);
|
|
95
|
-
});
|
|
96
|
-
}, [history]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
97
|
-
|
|
98
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {
|
|
99
|
-
title: title || t('common.memory'),
|
|
100
|
-
value: "".concat((0, _filesize.default)(Math.floor(used || 0)), " ").concat(memoryPercent),
|
|
101
|
-
graph: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
102
|
-
className: "card-sparkline mem-sparkline",
|
|
103
|
-
style: {
|
|
104
|
-
marginTop: 16
|
|
105
|
-
},
|
|
106
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
|
|
107
|
-
ref: svgRef,
|
|
108
|
-
className: "sparkline",
|
|
109
|
-
width: size.width || 100,
|
|
110
|
-
height: 30,
|
|
111
|
-
strokeWidth: "2"
|
|
112
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
113
|
-
className: "tooltip",
|
|
114
|
-
ref: tooltipRef,
|
|
115
|
-
hidden: tooltipState.hidden,
|
|
116
|
-
style: _objectSpread({}, tooltipState.style),
|
|
117
|
-
children: tooltipState.textContent
|
|
118
|
-
})]
|
|
119
|
-
}),
|
|
120
|
-
description: memoryList.map((x, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
121
|
-
sx: {
|
|
122
|
-
marginLeft: index === 0 ? 0 : 2
|
|
123
|
-
},
|
|
124
|
-
children: [x.title, ": ", x.metric]
|
|
125
|
-
}, x.title)),
|
|
126
|
-
hideDescription: hideDescription
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
MemoryMonitor.propTypes = {
|
|
130
|
-
title: _propTypes.default.string,
|
|
131
|
-
instanceCount: _propTypes.default.number,
|
|
132
|
-
total: _propTypes.default.number,
|
|
133
|
-
used: _propTypes.default.number,
|
|
134
|
-
history: _propTypes.default.array,
|
|
135
|
-
hideDescription: _propTypes.default.bool
|
|
136
|
-
};
|
|
137
|
-
MemoryMonitor.defaultProps = {
|
|
138
|
-
title: '',
|
|
139
|
-
instanceCount: null,
|
|
140
|
-
total: null,
|
|
141
|
-
used: null,
|
|
142
|
-
history: [],
|
|
143
|
-
hideDescription: false
|
|
144
|
-
};
|
|
File without changes
|