@abtnode/ux 1.16.11-next-8a4df821 → 1.16.11-next-ca5f18b5

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.
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _material = require("@mui/material");
9
+ var _MoreVert = _interopRequireDefault(require("@mui/icons-material/MoreVert"));
10
+ var _context = require("@arcblock/ux/lib/Locale/context");
11
+ var _ArrowOutward = _interopRequireDefault(require("@mui/icons-material/ArrowOutward"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _ElectricBoltOutlined = _interopRequireDefault(require("@mui/icons-material/ElectricBoltOutlined"));
14
+ var _BackupOutlined = _interopRequireDefault(require("@mui/icons-material/BackupOutlined"));
15
+ var _spaces = require("../../util/spaces");
16
+ var _delete = _interopRequireDefault(require("./delete"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ const _excluded = ["spaceGateway", "connected", "onDelete", "onConnect"];
19
+ /**
20
+ * @description
21
+ * @param {{
22
+ * spaceGateway: import('./connected').SpaceGateway,
23
+ * onDelete: (import('./connected').SpaceGateway) => Promise<void>,
24
+ * onDelete: (import('./connected').SpaceGateway) => Promise<void>,
25
+ * connected: boolean
26
+ * }} { spaceGateway, onDelete, ...rest }
27
+ * @return {*}
28
+ */
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
+ 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; }
33
+ 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; }
34
+ 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; }
35
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
36
+ 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); }
37
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
38
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
+ function SpaceItemAction(_ref) {
40
+ let {
41
+ spaceGateway,
42
+ connected,
43
+ onDelete,
44
+ onConnect
45
+ } = _ref,
46
+ rest = _objectWithoutProperties(_ref, _excluded);
47
+ const [anchorEl, setAnchorEl] = (0, _react.useState)(null);
48
+ const {
49
+ t
50
+ } = (0, _context.useLocaleContext)();
51
+
52
+ /**
53
+ * @description
54
+ * @param {React.MouseEvent<HTMLButtonElement> | undefined} event
55
+ */
56
+ const handleOpen = (event, open) => {
57
+ event.stopPropagation();
58
+ event.preventDefault();
59
+ setAnchorEl(open && event.currentTarget);
60
+ };
61
+ const handleOnConnect = async e => {
62
+ handleOpen(e, false);
63
+ await onConnect(spaceGateway);
64
+ };
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.IconButton, _objectSpread(_objectSpread({
67
+ "aria-label": "more",
68
+ "aria-controls": "actions-menu",
69
+ "aria-haspopup": "true",
70
+ "data-cy": "trigger-blocklet-actions",
71
+ onClick: e => handleOpen(e, true),
72
+ size: "small"
73
+ }, rest), {}, {
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreVert.default, {})
75
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Menu, {
76
+ id: "simple-menu",
77
+ anchorEl: anchorEl,
78
+ keepMounted: true,
79
+ open: Boolean(anchorEl),
80
+ onClose: e => handleOpen(e, false),
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
82
+ onClick: e => {
83
+ handleOpen(e, false);
84
+ window.open(spaceGateway.endpoint ? (0, _spaces.getDIDSpaceUrlFromEndpoint)(spaceGateway.endpoint) : spaceGateway.url);
85
+ },
86
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
87
+ style: {
88
+ minWidth: 24
89
+ },
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowOutward.default, {
91
+ fontSize: "small"
92
+ })
93
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
94
+ children: t('common.open')
95
+ })]
96
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
97
+ onClick: e => {
98
+ handleOpen(e, false);
99
+ window.open((0, _spaces.getBackupFilesUrlFromEndpoint)(spaceGateway.endpoint));
100
+ },
101
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
102
+ style: {
103
+ minWidth: 24
104
+ },
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BackupOutlined.default, {
106
+ fontSize: "small"
107
+ })
108
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
109
+ children: t('storage.spaces.strategy.viewBackupFiles')
110
+ })]
111
+ }), !connected && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
112
+ onClick: handleOnConnect,
113
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
114
+ style: {
115
+ minWidth: 24
116
+ },
117
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ElectricBoltOutlined.default, {
118
+ fontSize: "small"
119
+ })
120
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
121
+ children: t('storage.spaces.connect.switchToSpace')
122
+ })]
123
+ }), !connected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_delete.default, {
124
+ spaceGateway: spaceGateway,
125
+ onDelete: onDelete
126
+ })]
127
+ })]
128
+ });
129
+ }
130
+ SpaceItemAction.propTypes = {
131
+ spaceGateway: _propTypes.default.shape({
132
+ name: _propTypes.default.string.isRequired,
133
+ url: _propTypes.default.string.isRequired,
134
+ protected: _propTypes.default.bool,
135
+ endpoint: _propTypes.default.string.isRequired
136
+ }).isRequired,
137
+ connected: _propTypes.default.bool.isRequired,
138
+ onDelete: _propTypes.default.func,
139
+ onConnect: _propTypes.default.func
140
+ };
141
+ SpaceItemAction.defaultProps = {
142
+ onDelete: () => {},
143
+ onConnect: () => {}
144
+ };
145
+ var _default = SpaceItemAction;
146
+ exports.default = _default;
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
8
+ var _Datatable = _interopRequireDefault(require("@arcblock/ux/lib/Datatable"));
9
+ var _context = require("@arcblock/ux/lib/Locale/context");
10
+ var _material = require("@mui/material");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _lodash = require("lodash");
13
+ var _ahooks = require("ahooks");
14
+ var _dayjs = _interopRequireDefault(require("dayjs"));
15
+ var _HelpOutline = _interopRequireDefault(require("@mui/icons-material/HelpOutline"));
16
+ var _propTypes = require("prop-types");
17
+ var _node = require("../../contexts/node");
18
+ var _blocklet = require("../../../lib/contexts/blocklet");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ const _excluded = ["progress"];
21
+ /**
22
+ * @description
23
+ * @param {{ blocklet: import('@abtnode/client').BlockletState }} { blocklet }
24
+ * @return {{backups: import('@abtnode/client').Backup[]}}
25
+ */
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ 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; }
30
+ 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; }
31
+ 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; }
32
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
33
+ 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); }
34
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
36
+ function useBackups(_ref) {
37
+ let {
38
+ blocklet,
39
+ loading,
40
+ progress
41
+ } = _ref;
42
+ const [backups, setBackups] = (0, _react.useState)([]);
43
+ const {
44
+ api
45
+ } = (0, _node.useNodeContext)();
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ const fetchBackups = (0, _react.useCallback)((0, _lodash.throttle)(async () => {
48
+ var _blocklet$meta;
49
+ const {
50
+ backups: data
51
+ } = await api.getBlockletBackups({
52
+ input: {
53
+ did: blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.did
54
+ }
55
+ });
56
+ setBackups(data !== null && data !== void 0 ? data : []);
57
+ }, 2000), []);
58
+ (0, _ahooks.useAsyncEffect)(async () => {
59
+ fetchBackups();
60
+ }, [blocklet, progress, loading]);
61
+ return {
62
+ backups
63
+ };
64
+ }
65
+ function useSpaceGateways(_ref2) {
66
+ let {
67
+ blocklet
68
+ } = _ref2;
69
+ const [spaceGateways, setSpaceGateways] = (0, _react.useState)( /** @type {SpaceGateway[]} */
70
+ []);
71
+ const {
72
+ api
73
+ } = (0, _node.useNodeContext)();
74
+ (0, _ahooks.useAsyncEffect)(async () => {
75
+ const {
76
+ spaceGateways: _spaceGateways
77
+ } = await api.getBlockletSpaceGateways({
78
+ input: {
79
+ did: blocklet.meta.did
80
+ }
81
+ });
82
+ setSpaceGateways([{
83
+ name: 'Prod DID Spaces',
84
+ url: 'https://www.didspaces.com/app',
85
+ protected: true
86
+ }, ...(_spaceGateways !== null && _spaceGateways !== void 0 ? _spaceGateways : [])]);
87
+ }, [blocklet]);
88
+ return {
89
+ spaceGateways
90
+ };
91
+ }
92
+ function SpacesBackupRecords(_ref3) {
93
+ let {
94
+ progress
95
+ } = _ref3,
96
+ rest = _objectWithoutProperties(_ref3, _excluded);
97
+ const {
98
+ t,
99
+ locale
100
+ } = (0, _context.useLocaleContext)();
101
+ const {
102
+ blocklet
103
+ } = (0, _blocklet.useBlockletContext)();
104
+ const {
105
+ backups
106
+ } = useBackups({
107
+ blocklet,
108
+ progress
109
+ });
110
+ const {
111
+ spaceGateways
112
+ } = useSpaceGateways({
113
+ blocklet
114
+ });
115
+ const columns = [{
116
+ label: 'DID Spaces',
117
+ name: 'target',
118
+ options: {
119
+ // eslint-disable-next-line react/no-unstable-nested-components
120
+ customBodyRenderLite: index => {
121
+ var _spaceGateways$find$n, _spaceGateways$find;
122
+ // eslint-disable-next-line no-unused-vars
123
+ const {
124
+ targetUrl
125
+ } = backups[index];
126
+ const spaceName = (_spaceGateways$find$n = (_spaceGateways$find = spaceGateways.find(spaceGateway => targetUrl === null || targetUrl === void 0 ? void 0 : targetUrl.includes(spaceGateway === null || spaceGateway === void 0 ? void 0 : spaceGateway.url))) === null || _spaceGateways$find === void 0 ? void 0 : _spaceGateways$find.name) !== null && _spaceGateways$find$n !== void 0 ? _spaceGateways$find$n : 'DID Spaces';
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Link, {
128
+ fontSize: "16px",
129
+ href: targetUrl,
130
+ target: "_blank",
131
+ children: spaceName
132
+ });
133
+ }
134
+ }
135
+ }, {
136
+ label: t('common.strategy'),
137
+ name: 'strategy',
138
+ options: {
139
+ /**
140
+ * @param {0 | 1} strategy
141
+ * @returns {React.ReactNode}
142
+ */
143
+ // eslint-disable-next-line react/no-unstable-nested-components
144
+ customBodyRender: strategy => {
145
+ const text = strategy === 0 ? t('common.auto') : t('common.manual');
146
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
147
+ children: text
148
+ });
149
+ }
150
+ }
151
+ }, {
152
+ label: t('common.startTime'),
153
+ name: 'createdAt',
154
+ options: {
155
+ /**
156
+ * @param {0 | 1} strategy
157
+ * @returns {React.ReactNode}
158
+ */
159
+ // eslint-disable-next-line react/no-unstable-nested-components
160
+ customBodyRender: createdAt => {
161
+ return (0, _dayjs.default)(createdAt).format('YYYY-MM-DD HH:mm:ss');
162
+ }
163
+ }
164
+ }, {
165
+ label: t('common.endTime'),
166
+ name: 'updatedAt',
167
+ options: {
168
+ /**
169
+ * @param {string} updatedAt
170
+ * @returns {React.ReactNode}
171
+ */
172
+ // eslint-disable-next-line react/no-unstable-nested-components
173
+ customBodyRender: updatedAt => {
174
+ if ((0, _lodash.isEmpty)(updatedAt)) {
175
+ return '';
176
+ }
177
+ return (0, _dayjs.default)(updatedAt).format('YYYY-MM-DD HH:mm:ss');
178
+ }
179
+ }
180
+ }, {
181
+ label: t('common.status'),
182
+ name: 'status',
183
+ options: {
184
+ /**
185
+ * @param {string} status
186
+ * @returns {React.ReactNode}
187
+ */
188
+ // eslint-disable-next-line react/no-unstable-nested-components
189
+ customBodyRenderLite: index => {
190
+ var _backups$index;
191
+ const {
192
+ status,
193
+ message
194
+ } = (_backups$index = backups === null || backups === void 0 ? void 0 : backups[index]) !== null && _backups$index !== void 0 ? _backups$index : {};
195
+ if ((0, _lodash.isNull)(status)) {
196
+ return t('common.progress');
197
+ }
198
+ const node = !status ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
199
+ type: "success",
200
+ children: t('common.succeeded')
201
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
202
+ display: "inline-flex",
203
+ alignItems: "center",
204
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
205
+ type: "error",
206
+ children: t('common.failed')
207
+ }), " \xA0", /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Tooltip, {
208
+ style: {
209
+ display: 'flex',
210
+ alignItems: 'center'
211
+ },
212
+ title: message,
213
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Icon, {
214
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_HelpOutline.default, {
215
+ color: "error"
216
+ })
217
+ })
218
+ })]
219
+ });
220
+ return node;
221
+ }
222
+ }
223
+ }];
224
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
225
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, _objectSpread(_objectSpread({
226
+ display: "flex",
227
+ flexDirection: "row",
228
+ alignItems: "center",
229
+ justifyContent: "space-between"
230
+ }, rest), {}, {
231
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Typography, {
232
+ color: "#25292F",
233
+ fontSize: "20px",
234
+ children: t('storage.spaces.backup.records')
235
+ })
236
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
237
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Datatable.default, {
238
+ data: backups,
239
+ columns: columns,
240
+ emptyNode: t('storage.spaces.record.emptyData', locale),
241
+ options: {
242
+ download: false,
243
+ filter: false,
244
+ print: false
245
+ }
246
+ })
247
+ })]
248
+ });
249
+ }
250
+ SpacesBackupRecords.propTypes = {
251
+ progress: _propTypes.object.isRequired
252
+ };
253
+ var _default = SpacesBackupRecords;
254
+ exports.default = _default;