@abtnode/ux 1.16.25 → 1.16.26-beta-e0056285
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/es/analytics/disk.js +8 -11
- package/es/analytics/memory.js +1 -2
- package/es/analytics/runtime.js +1 -2
- package/es/analytics/traffic.js +1 -2
- package/es/blocklet/component/add-component-core.js +3 -0
- package/es/blocklet/component/select-store.js +8 -4
- package/es/blocklet/disk-info.js +1 -1
- package/es/blocklet/publish/connect-store-list.js +62 -0
- package/es/blocklet/publish/create-release.js +49 -13
- package/es/blocklet/publish/project-list.js +2 -2
- package/es/blocklet/publish/release-list.js +1 -1
- package/es/blocklet/publish/resource.js +14 -5
- package/es/blocklet/publish/select-components.js +3 -3
- package/es/locales/ar.js +11 -3
- package/es/locales/de.js +10 -2
- package/es/locales/en.js +9 -3
- package/es/locales/es.js +10 -2
- package/es/locales/fr.js +10 -2
- package/es/locales/hi.js +10 -2
- package/es/locales/i18n.db +0 -0
- package/es/locales/id.js +11 -3
- package/es/locales/ja.js +11 -3
- package/es/locales/ko.js +11 -3
- package/es/locales/pt.js +10 -2
- package/es/locales/ru.js +10 -2
- package/es/locales/th.js +10 -2
- package/es/locales/vi.js +11 -3
- package/es/locales/zh-tw.js +10 -2
- package/es/locales/zh.js +11 -3
- package/es/store/add.js +1 -0
- package/es/store/delete.js +9 -4
- package/es/store/item.js +233 -36
- package/es/util/index.js +8 -8
- package/lib/analytics/disk.js +7 -10
- package/lib/analytics/memory.js +5 -6
- package/lib/analytics/runtime.js +1 -2
- package/lib/analytics/traffic.js +2 -3
- package/lib/blocklet/component/add-component-core.js +3 -0
- package/lib/blocklet/component/select-store.js +8 -4
- package/lib/blocklet/disk-info.js +2 -2
- package/lib/blocklet/publish/connect-store-list.js +72 -0
- package/lib/blocklet/publish/create-release.js +47 -11
- package/lib/blocklet/publish/project-list.js +1 -1
- package/lib/blocklet/publish/release-list.js +1 -1
- package/lib/blocklet/publish/resource.js +14 -5
- package/lib/blocklet/publish/select-components.js +3 -3
- package/lib/locales/ar.js +11 -3
- package/lib/locales/de.js +10 -2
- package/lib/locales/en.js +9 -3
- package/lib/locales/es.js +10 -2
- package/lib/locales/fr.js +10 -2
- package/lib/locales/hi.js +10 -2
- package/lib/locales/i18n.db +0 -0
- package/lib/locales/id.js +11 -3
- package/lib/locales/ja.js +11 -3
- package/lib/locales/ko.js +11 -3
- package/lib/locales/pt.js +10 -2
- package/lib/locales/ru.js +10 -2
- package/lib/locales/th.js +10 -2
- package/lib/locales/vi.js +11 -3
- package/lib/locales/zh-tw.js +10 -2
- package/lib/locales/zh.js +11 -3
- package/lib/store/add.js +1 -0
- package/lib/store/delete.js +9 -4
- package/lib/store/item.js +233 -37
- package/lib/util/index.js +14 -13
- package/package.json +8 -8
package/es/store/item.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
/* eslint-disable react/jsx-one-expression-per-line */
|
|
2
1
|
import { makeStyles } from '@mui/styles';
|
|
3
|
-
import Typography from '@mui/material
|
|
4
|
-
import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';
|
|
2
|
+
import { Typography, Button, ButtonGroup, CircularProgress } from '@mui/material';
|
|
5
3
|
import LaunchIcon from '@mui/icons-material/Launch';
|
|
6
|
-
import
|
|
4
|
+
import PublishIcon from '@mui/icons-material/BackupOutlined';
|
|
5
|
+
import LinkOutlinedIcon from '@mui/icons-material/LinkOutlined';
|
|
6
|
+
import DoneIcon from '@mui/icons-material/Done';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
|
+
import { useEffect, useState } from 'react';
|
|
9
|
+
import joinUrl from 'url-join';
|
|
10
|
+
import { useLocaleContext } from '@arcblock/ux/lib/Locale/context';
|
|
11
|
+
import Toast from '@arcblock/ux/lib/Toast';
|
|
8
12
|
import DeleteStore from './delete';
|
|
13
|
+
import { useNodeContext } from '../contexts/node';
|
|
14
|
+
import { formatError } from '../util';
|
|
9
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
16
|
const useStyles = makeStyles(() => ({
|
|
11
17
|
buttonText: {
|
|
@@ -14,62 +20,253 @@ const useStyles = makeStyles(() => ({
|
|
|
14
20
|
iconRoot: {
|
|
15
21
|
minWidth: 24
|
|
16
22
|
},
|
|
23
|
+
box: {
|
|
24
|
+
display: 'flex',
|
|
25
|
+
flexDirection: 'row',
|
|
26
|
+
justifyContent: 'space-between',
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
overflow: 'hidden',
|
|
29
|
+
width: '100%'
|
|
30
|
+
},
|
|
17
31
|
menuName: {
|
|
32
|
+
flexShrink: 1,
|
|
18
33
|
display: 'flex',
|
|
19
34
|
flexDirection: 'column',
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
overflow: 'hidden',
|
|
36
|
+
flex: 1
|
|
37
|
+
},
|
|
38
|
+
actions: {
|
|
39
|
+
flex: 1,
|
|
40
|
+
display: 'flex',
|
|
41
|
+
flexDirection: 'row',
|
|
42
|
+
justifyContent: 'flex-end',
|
|
43
|
+
alignItems: 'center'
|
|
44
|
+
},
|
|
45
|
+
title: {
|
|
46
|
+
fontSize: 16,
|
|
47
|
+
overflow: 'hidden',
|
|
48
|
+
textOverflow: 'ellipsis',
|
|
49
|
+
whiteSpace: 'nowrap'
|
|
50
|
+
},
|
|
51
|
+
url: {
|
|
52
|
+
fontSize: 14,
|
|
53
|
+
opacity: 0.5,
|
|
54
|
+
overflow: 'hidden',
|
|
55
|
+
textOverflow: 'ellipsis',
|
|
56
|
+
whiteSpace: 'nowrap'
|
|
57
|
+
},
|
|
58
|
+
buttonLine: {
|
|
59
|
+
height: '100%',
|
|
60
|
+
width: '1px',
|
|
61
|
+
backgroundColor: '#e0e0e0'
|
|
26
62
|
}
|
|
27
63
|
}));
|
|
28
64
|
export default function StoreItem({
|
|
29
65
|
teamDid,
|
|
66
|
+
projectId,
|
|
67
|
+
releaseId,
|
|
30
68
|
store,
|
|
31
|
-
onDelete
|
|
69
|
+
onDelete,
|
|
70
|
+
kind,
|
|
71
|
+
published,
|
|
72
|
+
connected,
|
|
73
|
+
releaseType,
|
|
74
|
+
onPublish
|
|
32
75
|
}) {
|
|
33
76
|
const classes = useStyles();
|
|
77
|
+
const {
|
|
78
|
+
t
|
|
79
|
+
} = useLocaleContext();
|
|
80
|
+
const {
|
|
81
|
+
api
|
|
82
|
+
} = useNodeContext();
|
|
83
|
+
const [loading, setLoading] = useState(false);
|
|
84
|
+
const isPublish = kind === 'publish';
|
|
85
|
+
const handleOpenUrl = e => {
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
if (isPublish) {
|
|
88
|
+
window.open(joinUrl(store.url, 'developer/blocklets'));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
window.open(store.url);
|
|
92
|
+
};
|
|
93
|
+
const handleConnectToStore = () => {
|
|
94
|
+
setLoading(true);
|
|
95
|
+
setTimeout(() => {
|
|
96
|
+
setLoading(false);
|
|
97
|
+
}, 10000);
|
|
98
|
+
api.connectToStore({
|
|
99
|
+
input: {
|
|
100
|
+
did: teamDid,
|
|
101
|
+
storeUrl: store.url,
|
|
102
|
+
storeId: store.id,
|
|
103
|
+
storeName: store.name
|
|
104
|
+
}
|
|
105
|
+
}).then(res => {
|
|
106
|
+
if (!res?.url) {
|
|
107
|
+
Toast.error('failed to connect to store');
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
window.open(res.url);
|
|
111
|
+
}).catch(err => {
|
|
112
|
+
Toast.error(formatError(err));
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const handleUploadToStore = () => {
|
|
116
|
+
setLoading(true);
|
|
117
|
+
api.publishToStore({
|
|
118
|
+
input: {
|
|
119
|
+
did: teamDid,
|
|
120
|
+
storeId: store.id,
|
|
121
|
+
storeName: store.name,
|
|
122
|
+
projectId,
|
|
123
|
+
releaseId,
|
|
124
|
+
type: releaseType
|
|
125
|
+
}
|
|
126
|
+
}).then(res => {
|
|
127
|
+
if (res.url === 'uploaded') {
|
|
128
|
+
Toast.success(t('blocklet.publish.uploadToStoreSuccess'));
|
|
129
|
+
} else if (res.url === 'published') {
|
|
130
|
+
Toast.success(t('blocklet.publish.publishToStoreSuccess'));
|
|
131
|
+
}
|
|
132
|
+
onPublish?.(null);
|
|
133
|
+
}).catch(err => {
|
|
134
|
+
Toast.error(formatError(err));
|
|
135
|
+
onPublish?.(err);
|
|
136
|
+
}).finally(() => {
|
|
137
|
+
setLoading(false);
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
if (connected) {
|
|
142
|
+
setLoading(false);
|
|
143
|
+
}
|
|
144
|
+
}, [connected]);
|
|
34
145
|
return /*#__PURE__*/_jsxs("div", {
|
|
35
|
-
className: classes.
|
|
36
|
-
children: [/*#__PURE__*/_jsx(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
style: {
|
|
40
|
-
fontWeight: '400'
|
|
146
|
+
className: classes.box,
|
|
147
|
+
children: [loading && /*#__PURE__*/_jsx(CircularProgress, {
|
|
148
|
+
sx: {
|
|
149
|
+
marginRight: 2
|
|
41
150
|
},
|
|
42
|
-
|
|
43
|
-
}), /*#__PURE__*/
|
|
44
|
-
className:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
151
|
+
size: 16
|
|
152
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
153
|
+
className: classes.menuName,
|
|
154
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
155
|
+
component: "span",
|
|
156
|
+
className: classes.title,
|
|
157
|
+
variant: "subtitle1",
|
|
158
|
+
children: store.name
|
|
159
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
160
|
+
className: classes.url,
|
|
161
|
+
component: "span",
|
|
162
|
+
variant: "inherit",
|
|
163
|
+
children: `${store.url}`
|
|
164
|
+
})]
|
|
165
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
166
|
+
className: classes.actions,
|
|
167
|
+
children: [isPublish && /*#__PURE__*/_jsxs(ButtonGroup, {
|
|
168
|
+
disabled: loading,
|
|
169
|
+
variant: "outlined",
|
|
170
|
+
sx: {
|
|
171
|
+
height: 36
|
|
172
|
+
},
|
|
173
|
+
size: "small",
|
|
174
|
+
children: [!connected && /*#__PURE__*/_jsxs(Button, {
|
|
175
|
+
sx: {
|
|
176
|
+
paddingLeft: 2,
|
|
177
|
+
paddingRight: 2,
|
|
178
|
+
fontSize: 15
|
|
179
|
+
},
|
|
180
|
+
onClick: handleConnectToStore,
|
|
181
|
+
children: [/*#__PURE__*/_jsx(LinkOutlinedIcon, {
|
|
182
|
+
sx: {
|
|
183
|
+
marginRight: 1
|
|
184
|
+
}
|
|
185
|
+
}), t('common.connect')]
|
|
186
|
+
}), connected && published && /*#__PURE__*/_jsxs(Button, {
|
|
187
|
+
disabled: true,
|
|
188
|
+
sx: {
|
|
189
|
+
paddingLeft: 2,
|
|
190
|
+
paddingRight: 2,
|
|
191
|
+
fontSize: 15
|
|
192
|
+
},
|
|
193
|
+
children: [/*#__PURE__*/_jsx(DoneIcon, {
|
|
194
|
+
sx: {
|
|
195
|
+
marginRight: 1
|
|
196
|
+
}
|
|
197
|
+
}), t('common.uploaded')]
|
|
198
|
+
}), connected && !published && /*#__PURE__*/_jsxs(Button, {
|
|
199
|
+
sx: {
|
|
200
|
+
paddingLeft: 2,
|
|
201
|
+
paddingRight: 2,
|
|
202
|
+
fontSize: 15
|
|
203
|
+
},
|
|
204
|
+
onClick: handleUploadToStore,
|
|
205
|
+
children: [/*#__PURE__*/_jsx(PublishIcon, {
|
|
206
|
+
sx: {
|
|
207
|
+
marginRight: 1
|
|
208
|
+
}
|
|
209
|
+
}), t('common.upload')]
|
|
210
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
211
|
+
onClick: handleOpenUrl,
|
|
212
|
+
children: /*#__PURE__*/_jsx(LaunchIcon, {
|
|
213
|
+
sx: {
|
|
214
|
+
zoom: 0.9
|
|
215
|
+
}
|
|
216
|
+
})
|
|
217
|
+
}), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
|
|
218
|
+
store: store,
|
|
219
|
+
onDelete: onDelete,
|
|
220
|
+
teamDid: teamDid
|
|
221
|
+
})]
|
|
222
|
+
}), !isPublish && /*#__PURE__*/_jsxs(ButtonGroup, {
|
|
223
|
+
disabled: loading,
|
|
224
|
+
variant: "outlined",
|
|
225
|
+
sx: {
|
|
226
|
+
height: 36
|
|
53
227
|
},
|
|
54
|
-
size: "
|
|
55
|
-
children: /*#__PURE__*/_jsx(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
228
|
+
size: "small",
|
|
229
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
230
|
+
onClick: handleOpenUrl,
|
|
231
|
+
children: /*#__PURE__*/_jsx(LaunchIcon, {
|
|
232
|
+
sx: {
|
|
233
|
+
zoom: 0.9
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
}), !store.protected && /*#__PURE__*/_jsx(DeleteStore, {
|
|
237
|
+
store: store,
|
|
238
|
+
onDelete: onDelete,
|
|
239
|
+
teamDid: teamDid
|
|
240
|
+
})]
|
|
60
241
|
})]
|
|
61
242
|
})]
|
|
62
243
|
});
|
|
63
244
|
}
|
|
64
245
|
StoreItem.propTypes = {
|
|
246
|
+
kind: PropTypes.string,
|
|
65
247
|
teamDid: PropTypes.string.isRequired,
|
|
248
|
+
published: PropTypes.bool,
|
|
249
|
+
connected: PropTypes.bool,
|
|
250
|
+
projectId: PropTypes.string,
|
|
251
|
+
releaseId: PropTypes.string,
|
|
252
|
+
releaseType: PropTypes.string,
|
|
66
253
|
store: PropTypes.shape({
|
|
254
|
+
id: PropTypes.string.isRequired,
|
|
67
255
|
name: PropTypes.string.isRequired,
|
|
68
256
|
url: PropTypes.string.isRequired,
|
|
69
|
-
protected: PropTypes.bool
|
|
257
|
+
protected: PropTypes.bool,
|
|
258
|
+
connected: PropTypes.bool
|
|
70
259
|
}).isRequired,
|
|
71
|
-
onDelete: PropTypes.func
|
|
260
|
+
onDelete: PropTypes.func,
|
|
261
|
+
onPublish: PropTypes.func
|
|
72
262
|
};
|
|
73
263
|
StoreItem.defaultProps = {
|
|
264
|
+
kind: 'store',
|
|
265
|
+
published: false,
|
|
266
|
+
connected: false,
|
|
267
|
+
releaseId: '',
|
|
268
|
+
projectId: '',
|
|
269
|
+
releaseType: '',
|
|
270
|
+
onPublish: () => {},
|
|
74
271
|
onDelete: () => {}
|
|
75
272
|
};
|
package/es/util/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* eslint-disable implicit-arrow-linebreak */
|
|
3
3
|
/* eslint-disable import/prefer-default-export */
|
|
4
4
|
import { BLOCKLET_STORE_API_PREFIX, DEFAULT_DID_DOMAIN, DEFAULT_IP_DOMAIN_SUFFIX, DEFAULT_SLP_DOMAIN, DOMAIN_FOR_DEFAULT_SITE, DOMAIN_FOR_INTERNAL_SITE, DOMAIN_FOR_IP_SITE, DOMAIN_FOR_IP_SITE_REGEXP, IP, ROLES, SLOT_FOR_IP_DNS_SITE, WEB_WALLET_URL, WELLKNOWN_PATH_PREFIX, WELLKNOWN_PING_PREFIX, WELLKNOWN_SERVICE_PATH_PREFIX, WELLKNOWN_BLOCKLET_HEALTH_PATH } from '@abtnode/constant';
|
|
5
|
-
import filesize from 'filesize';
|
|
5
|
+
import { filesize as _filesize } from 'filesize';
|
|
6
6
|
import humanizeUrl from 'humanize-url';
|
|
7
7
|
import isUrl from 'is-url';
|
|
8
8
|
import get from 'lodash/get';
|
|
@@ -19,6 +19,13 @@ import checkAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-b
|
|
|
19
19
|
import { BLOCKLET_MODES } from '@blocklet/constant';
|
|
20
20
|
import urlPathFriendly from '@blocklet/meta/lib/url-path-friendly';
|
|
21
21
|
export { formatError };
|
|
22
|
+
export function filesize(size, options = {}) {
|
|
23
|
+
return _filesize(size, {
|
|
24
|
+
base: 2,
|
|
25
|
+
round: 2,
|
|
26
|
+
...options
|
|
27
|
+
});
|
|
28
|
+
}
|
|
22
29
|
export function sleep(t) {
|
|
23
30
|
// eslint-disable-next-line no-promise-executor-return
|
|
24
31
|
return new Promise(resolve => setTimeout(resolve, t));
|
|
@@ -204,13 +211,6 @@ export const appendParams = (url, extraParams = {}) => {
|
|
|
204
211
|
export const isInstalling = status => ['waiting', 'downloading', 'installing', 'upgrading'].includes(status);
|
|
205
212
|
export const isDownloading = status => ['waiting', 'downloading'].includes(status);
|
|
206
213
|
export const isRunning = status => status === 'running';
|
|
207
|
-
export const formatDiskSize = (size, serverPlatform = '') => {
|
|
208
|
-
const base = serverPlatform === 'linux' ? 2 : 10;
|
|
209
|
-
return filesize(size, {
|
|
210
|
-
base,
|
|
211
|
-
round: 2
|
|
212
|
-
});
|
|
213
|
-
};
|
|
214
214
|
export const checkInputByType = (type, value) => {
|
|
215
215
|
const typesMap = {
|
|
216
216
|
url: isUrl
|
package/lib/analytics/disk.js
CHANGED
|
@@ -63,8 +63,7 @@ LinearProgressWithLabel.propTypes = {
|
|
|
63
63
|
};
|
|
64
64
|
function DiskMonitor(_ref) {
|
|
65
65
|
let {
|
|
66
|
-
disk
|
|
67
|
-
platform
|
|
66
|
+
disk
|
|
68
67
|
} = _ref;
|
|
69
68
|
const {
|
|
70
69
|
t
|
|
@@ -73,21 +72,21 @@ function DiskMonitor(_ref) {
|
|
|
73
72
|
id: 1,
|
|
74
73
|
className: 'used',
|
|
75
74
|
title: t('system.used'),
|
|
76
|
-
metric: (0, _index.
|
|
75
|
+
metric: (0, _index.filesize)(disk.used)
|
|
77
76
|
}, {
|
|
78
77
|
id: 2,
|
|
79
78
|
className: 'free',
|
|
80
79
|
title: t('system.free'),
|
|
81
|
-
metric: (0, _index.
|
|
80
|
+
metric: (0, _index.filesize)(disk.free)
|
|
82
81
|
}, {
|
|
83
82
|
id: 3,
|
|
84
83
|
className: 'total',
|
|
85
84
|
title: t('system.total'),
|
|
86
|
-
metric: (0, _index.
|
|
85
|
+
metric: (0, _index.filesize)(disk.total)
|
|
87
86
|
}];
|
|
88
87
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.default, {
|
|
89
88
|
title: "".concat(t('common.disk'), " (").concat(disk.device, ")"),
|
|
90
|
-
value: (0, _index.
|
|
89
|
+
value: (0, _index.filesize)(disk.used),
|
|
91
90
|
graph: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
92
91
|
mt: 3,
|
|
93
92
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LinearProgressWithLabel, {
|
|
@@ -108,8 +107,7 @@ DiskMonitor.propTypes = {
|
|
|
108
107
|
free: _propTypes.default.number,
|
|
109
108
|
total: _propTypes.default.number,
|
|
110
109
|
device: _propTypes.default.string
|
|
111
|
-
})
|
|
112
|
-
platform: _propTypes.default.string
|
|
110
|
+
})
|
|
113
111
|
};
|
|
114
112
|
DiskMonitor.defaultProps = {
|
|
115
113
|
disk: {
|
|
@@ -117,6 +115,5 @@ DiskMonitor.defaultProps = {
|
|
|
117
115
|
free: 0,
|
|
118
116
|
total: 1,
|
|
119
117
|
device: ''
|
|
120
|
-
}
|
|
121
|
-
platform: ''
|
|
118
|
+
}
|
|
122
119
|
};
|
package/lib/analytics/memory.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = MemoryMonitor;
|
|
7
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
|
-
var _filesize = _interopRequireDefault(require("filesize"));
|
|
9
8
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
9
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
11
10
|
var _chart = _interopRequireDefault(require("./chart"));
|
|
@@ -38,21 +37,21 @@ function MemoryMonitor(_ref) {
|
|
|
38
37
|
}
|
|
39
38
|
memoryList.push({
|
|
40
39
|
title: t('system.used'),
|
|
41
|
-
metric: (0,
|
|
40
|
+
metric: (0, _util.filesize)(used)
|
|
42
41
|
});
|
|
43
42
|
if (showPercent) {
|
|
44
43
|
memoryList.push({
|
|
45
44
|
title: t('system.free'),
|
|
46
|
-
metric: (0,
|
|
45
|
+
metric: (0, _util.filesize)(available)
|
|
47
46
|
}, {
|
|
48
47
|
title: t('system.total'),
|
|
49
|
-
metric: (0,
|
|
48
|
+
metric: (0, _util.filesize)(total)
|
|
50
49
|
});
|
|
51
50
|
}
|
|
52
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_chart.default, {
|
|
53
52
|
id: "mem-sparkline",
|
|
54
53
|
title: title || t('common.memory'),
|
|
55
|
-
current: "".concat((0,
|
|
54
|
+
current: "".concat((0, _util.filesize)(Math.floor(used || 0)), " ").concat(memoryPercent),
|
|
56
55
|
data: history,
|
|
57
56
|
description: memoryList.map((x, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
58
57
|
sx: {
|
|
@@ -61,7 +60,7 @@ function MemoryMonitor(_ref) {
|
|
|
61
60
|
children: [x.title, ": ", x.metric]
|
|
62
61
|
}, x.title)),
|
|
63
62
|
dateFn: v => (0, _util.formatTime)(v, 'HH:mm:ss', locale),
|
|
64
|
-
valueFn:
|
|
63
|
+
valueFn: _util.filesize
|
|
65
64
|
});
|
|
66
65
|
}
|
|
67
66
|
MemoryMonitor.propTypes = {
|
package/lib/analytics/runtime.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = RuntimeInsight;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
|
-
var _filesize = _interopRequireDefault(require("filesize"));
|
|
10
9
|
var _prettyMsI18n = _interopRequireDefault(require("pretty-ms-i18n"));
|
|
11
10
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
12
11
|
var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
|
|
@@ -121,7 +120,7 @@ function RuntimeInsight() {
|
|
|
121
120
|
const {
|
|
122
121
|
runtimeInfo
|
|
123
122
|
} = monitList[rawIndex];
|
|
124
|
-
return (0,
|
|
123
|
+
return (0, _util2.filesize)((runtimeInfo === null || runtimeInfo === void 0 ? void 0 : runtimeInfo.memoryUsage) || 0);
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
}, {
|
package/lib/analytics/traffic.js
CHANGED
|
@@ -9,7 +9,6 @@ var _react = require("react");
|
|
|
9
9
|
var _dayjs = _interopRequireDefault(require("@abtnode/util/lib/dayjs"));
|
|
10
10
|
var _nthArg = _interopRequireDefault(require("lodash/nthArg"));
|
|
11
11
|
var _urlJoin = _interopRequireDefault(require("url-join"));
|
|
12
|
-
var _filesize = _interopRequireDefault(require("filesize"));
|
|
13
12
|
var _useAsyncRetry = _interopRequireDefault(require("react-use/lib/useAsyncRetry"));
|
|
14
13
|
var _reactIframe = _interopRequireDefault(require("react-iframe"));
|
|
15
14
|
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
|
|
@@ -145,8 +144,8 @@ function TrafficInsights(_ref) {
|
|
|
145
144
|
uniqueReferrers: noop,
|
|
146
145
|
uniqueNotFound: noop,
|
|
147
146
|
uniqueStaticFiles: noop,
|
|
148
|
-
logSize:
|
|
149
|
-
bandwidth:
|
|
147
|
+
logSize: _util.filesize,
|
|
148
|
+
bandwidth: _util.filesize
|
|
150
149
|
};
|
|
151
150
|
const charts = Object.keys(metrics).map(key => ({
|
|
152
151
|
id: "".concat(key, "_chart"),
|
|
@@ -695,6 +695,9 @@ function AddComponentCore(_ref3) {
|
|
|
695
695
|
key: 'selectComponent',
|
|
696
696
|
name: t('blocklet.component.selectComponent'),
|
|
697
697
|
body: /*#__PURE__*/(0, _jsxRuntime.jsxs)(TypographyWrapper, {
|
|
698
|
+
sx: {
|
|
699
|
+
width: 400
|
|
700
|
+
},
|
|
698
701
|
component: "div",
|
|
699
702
|
children: [params.showFromUrlDialog && /*#__PURE__*/(0, _jsxRuntime.jsx)(_installFromUrl.default
|
|
700
703
|
// if not set defaultUrl, the dialog will always show step 1 when the dialog is opened
|
|
@@ -71,10 +71,10 @@ function SelectStore(_ref) {
|
|
|
71
71
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(SelectStoreTitle, {
|
|
72
72
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
73
73
|
ref: storeSelectRef,
|
|
74
|
-
color: "
|
|
74
|
+
color: "primary",
|
|
75
75
|
"data-cy": "add-component-select-store",
|
|
76
76
|
endIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowDropDown.default, {
|
|
77
|
-
color: "
|
|
77
|
+
color: "primary"
|
|
78
78
|
}),
|
|
79
79
|
onClick: () => {
|
|
80
80
|
setOpen(true);
|
|
@@ -83,11 +83,11 @@ function SelectStore(_ref) {
|
|
|
83
83
|
padding: '0 2px'
|
|
84
84
|
},
|
|
85
85
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
86
|
-
color: "
|
|
86
|
+
color: "primary",
|
|
87
87
|
children: currentRegistry.name
|
|
88
88
|
})
|
|
89
89
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
|
|
90
|
-
color: "
|
|
90
|
+
color: "primary",
|
|
91
91
|
children: extra
|
|
92
92
|
})]
|
|
93
93
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TextField.default, {
|
|
@@ -124,6 +124,10 @@ function SelectStore(_ref) {
|
|
|
124
124
|
margin: "normal",
|
|
125
125
|
children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => {
|
|
126
126
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
|
|
127
|
+
sx: {
|
|
128
|
+
width: '400px',
|
|
129
|
+
maxWidth: '90vw'
|
|
130
|
+
},
|
|
127
131
|
value: x,
|
|
128
132
|
"data-cy": x.url,
|
|
129
133
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
|
|
@@ -7,11 +7,11 @@ exports.default = BlockletDiskInfo;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _filesize = _interopRequireDefault(require("filesize"));
|
|
11
10
|
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
12
11
|
var _Link = _interopRequireDefault(require("@mui/material/Link"));
|
|
13
12
|
var _InfoRow = _interopRequireDefault(require("@arcblock/ux/lib/InfoRow"));
|
|
14
13
|
var _context = require("@arcblock/ux/lib/Locale/context");
|
|
14
|
+
var _util = require("../util");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
var _templateObject;
|
|
17
17
|
const _excluded = ["blocklet"];
|
|
@@ -50,7 +50,7 @@ function BlockletDiskInfo(_ref) {
|
|
|
50
50
|
underline: "hover",
|
|
51
51
|
children: dir
|
|
52
52
|
}) : dir, ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
|
|
53
|
-
children: size ? (0,
|
|
53
|
+
children: size ? (0, _util.filesize)(size) : 'empty'
|
|
54
54
|
})]
|
|
55
55
|
});
|
|
56
56
|
const env = blocklet.environments.reduce((acc, x) => {
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _material = require("@mui/material");
|
|
10
|
+
var _add = _interopRequireDefault(require("../../store/add"));
|
|
11
|
+
var _item = _interopRequireDefault(require("../../store/item"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function ConnectStoreList(_ref) {
|
|
15
|
+
var _blocklet$settings, _blocklet$settings4, _blocklet$meta;
|
|
16
|
+
let {
|
|
17
|
+
blocklet,
|
|
18
|
+
releaseId,
|
|
19
|
+
projectId,
|
|
20
|
+
releaseType,
|
|
21
|
+
publishedStoreIds,
|
|
22
|
+
onPublish
|
|
23
|
+
} = _ref;
|
|
24
|
+
const storeList = (blocklet === null || blocklet === void 0 || (_blocklet$settings = blocklet.settings) === null || _blocklet$settings === void 0 ? void 0 : _blocklet$settings.storeList) || [];
|
|
25
|
+
const connectedMap = (0, _react.useMemo)(() => {
|
|
26
|
+
var _blocklet$settings2, _blocklet$settings3;
|
|
27
|
+
if (!(blocklet !== null && blocklet !== void 0 && (_blocklet$settings2 = blocklet.settings) !== null && _blocklet$settings2 !== void 0 && _blocklet$settings2.connectedStores)) {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
return blocklet === null || blocklet === void 0 || (_blocklet$settings3 = blocklet.settings) === null || _blocklet$settings3 === void 0 || (_blocklet$settings3 = _blocklet$settings3.connectedStores) === null || _blocklet$settings3 === void 0 ? void 0 : _blocklet$settings3.reduce((acc, x) => {
|
|
31
|
+
acc[x.storeUrl] = x;
|
|
32
|
+
return acc;
|
|
33
|
+
}, {});
|
|
34
|
+
}, [blocklet === null || blocklet === void 0 || (_blocklet$settings4 = blocklet.settings) === null || _blocklet$settings4 === void 0 ? void 0 : _blocklet$settings4.connectedStores]);
|
|
35
|
+
const did = blocklet === null || blocklet === void 0 || (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did;
|
|
36
|
+
const handleAddStore = () => {};
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.List, {
|
|
38
|
+
children: [storeList === null || storeList === void 0 ? void 0 : storeList.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItem, {
|
|
39
|
+
"data-cy": "store-switch",
|
|
40
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
|
|
41
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.default, {
|
|
42
|
+
releaseId: releaseId,
|
|
43
|
+
projectId: projectId,
|
|
44
|
+
releaseType: releaseType,
|
|
45
|
+
kind: "publish",
|
|
46
|
+
teamDid: did,
|
|
47
|
+
store: x,
|
|
48
|
+
published: (publishedStoreIds === null || publishedStoreIds === void 0 ? void 0 : publishedStoreIds.indexOf(x.id)) > -1,
|
|
49
|
+
connected: !!connectedMap[x.url],
|
|
50
|
+
onPublish: onPublish
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
}, x.url)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_add.default, {
|
|
54
|
+
onAdd: handleAddStore,
|
|
55
|
+
teamDid: did,
|
|
56
|
+
blockletRegistryList: storeList
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
ConnectStoreList.propTypes = {
|
|
61
|
+
blocklet: _propTypes.default.object.isRequired,
|
|
62
|
+
projectId: _propTypes.default.string.isRequired,
|
|
63
|
+
releaseId: _propTypes.default.string.isRequired,
|
|
64
|
+
releaseType: _propTypes.default.string.isRequired,
|
|
65
|
+
onPublish: _propTypes.default.func,
|
|
66
|
+
publishedStoreIds: _propTypes.default.arrayOf(_propTypes.default.string)
|
|
67
|
+
};
|
|
68
|
+
ConnectStoreList.defaultProps = {
|
|
69
|
+
publishedStoreIds: [],
|
|
70
|
+
onPublish: () => {}
|
|
71
|
+
};
|
|
72
|
+
var _default = exports.default = ConnectStoreList;
|