@abtnode/ux 1.16.19-beta-710018ca → 1.16.19-beta-ba354e01

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 (57) hide show
  1. package/es/blocklet/component/add-component-core.js +49 -36
  2. package/es/blocklet/component/button.js +12 -0
  3. package/es/blocklet/component/did-space/connect-to.js +355 -0
  4. package/es/blocklet/component/did-space/connected.js +42 -0
  5. package/es/blocklet/component/did-space/delete.js +104 -0
  6. package/es/blocklet/component/did-space/disconnect.js +230 -0
  7. package/es/blocklet/component/did-space/index.js +73 -0
  8. package/es/blocklet/component/did-space/item.js +233 -0
  9. package/es/blocklet/component/index.js +3 -3
  10. package/es/blocklet/component/step-actions.js +99 -0
  11. package/es/blocklet/publish/create-project.js +1 -1
  12. package/es/blocklet/publish/create-release.js +39 -20
  13. package/es/blocklet/publish/index.js +15 -2
  14. package/es/blocklet/publish/project-list.js +32 -1
  15. package/es/blocklet/publish/release-list.js +1 -0
  16. package/es/blocklet/publish/resource.js +2 -13
  17. package/es/blocklet/publish/tree.js +4 -0
  18. package/es/blocklet/resource-type.js +34 -0
  19. package/es/blocklet/storage/connect-to.js +11 -15
  20. package/es/contexts/config-space.js +160 -0
  21. package/es/hooks/use-mobile.js +17 -0
  22. package/es/hooks/use-storage-endpoint.js +23 -0
  23. package/es/images.js +48 -0
  24. package/es/locales/en.js +5 -0
  25. package/es/locales/zh.js +5 -0
  26. package/es/util/constants.js +2 -1
  27. package/es/util/index.js +5 -1
  28. package/es/util/spaces.js +66 -5
  29. package/lib/blocklet/component/add-component-core.js +59 -45
  30. package/lib/blocklet/component/button.js +23 -0
  31. package/lib/blocklet/component/did-space/connect-to.js +362 -0
  32. package/lib/blocklet/component/did-space/connected.js +49 -0
  33. package/lib/blocklet/component/did-space/delete.js +111 -0
  34. package/lib/blocklet/component/did-space/disconnect.js +241 -0
  35. package/lib/blocklet/component/did-space/index.js +82 -0
  36. package/lib/blocklet/component/did-space/item.js +197 -0
  37. package/lib/blocklet/component/index.js +3 -3
  38. package/lib/blocklet/component/step-actions.js +63 -0
  39. package/lib/blocklet/publish/create-project.js +1 -1
  40. package/lib/blocklet/publish/create-release.js +39 -19
  41. package/lib/blocklet/publish/index.js +18 -4
  42. package/lib/blocklet/publish/project-list.js +32 -1
  43. package/lib/blocklet/publish/release-list.js +1 -0
  44. package/lib/blocklet/publish/resource.js +1 -12
  45. package/lib/blocklet/publish/tree.js +45 -38
  46. package/lib/blocklet/resource-type.js +51 -0
  47. package/lib/blocklet/storage/connect-to.js +11 -15
  48. package/lib/contexts/config-space.js +169 -0
  49. package/lib/hooks/use-mobile.js +24 -0
  50. package/lib/hooks/use-storage-endpoint.js +28 -0
  51. package/lib/images.js +51 -0
  52. package/lib/locales/en.js +5 -0
  53. package/lib/locales/zh.js +5 -0
  54. package/lib/util/constants.js +4 -2
  55. package/lib/util/index.js +8 -2
  56. package/lib/util/spaces.js +69 -3
  57. package/package.json +11 -7
@@ -66,7 +66,7 @@ function CreateProject(_ref) {
66
66
  const [blockletDid, setBlockletDid] = (0, _react.useState)();
67
67
  const [openConnect, setOpenConnect] = (0, _react.useState)(false);
68
68
  const {
69
- componentDid
69
+ componentDid = ''
70
70
  } = (0, _reactRouterDom.useParams)();
71
71
  const handleCreateBlockletDidError = err => {
72
72
  _Toast.default.error(err.message);
@@ -19,6 +19,7 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
19
19
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
20
20
  var _DeleteOutline = _interopRequireDefault(require("@mui/icons-material/DeleteOutline"));
21
21
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
22
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
22
23
  var _context = require("@arcblock/ux/lib/Locale/context");
23
24
  var _Button = _interopRequireDefault(require("@arcblock/ux/lib/Button"));
24
25
  var _Toast = _interopRequireDefault(require("@arcblock/ux/lib/Toast"));
@@ -136,6 +137,7 @@ function CreateRelease(_ref2) {
136
137
  const [params, setParams] = (0, _useSetState.default)(null);
137
138
  const [paramsErrTip, setParamsErrTip] = (0, _react.useState)({});
138
139
  const [loading, setLoading] = (0, _react.useState)(false);
140
+ const [createLoading, setCreateLoading] = (0, _react.useState)(false);
139
141
  const [release, setRelease] = (0, _react.useState)(null);
140
142
  const {
141
143
  api
@@ -193,7 +195,7 @@ function CreateRelease(_ref2) {
193
195
  _Toast.default.error((0, _util.formatError)(err));
194
196
  });
195
197
  };
196
- const getData = () => {
198
+ const getData = (0, _react.useCallback)(() => {
197
199
  if (mode === 'edit') {
198
200
  if (!releaseId) {
199
201
  _Toast.default.error('Empty release id');
@@ -204,11 +206,11 @@ function CreateRelease(_ref2) {
204
206
  if (mode === 'create') {
205
207
  getProject();
206
208
  }
207
- };
209
+ // eslint-disable-next-line react-hooks/exhaustive-deps
210
+ }, [mode, releaseId]);
208
211
  (0, _react.useEffect)(() => {
209
212
  getData();
210
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
211
-
213
+ }, [getData]);
212
214
  const onRelease = status => {
213
215
  const errors = validateParams(params, status, t);
214
216
  if (errors) {
@@ -231,6 +233,8 @@ function CreateRelease(_ref2) {
231
233
  _params.blockletDescription = (_params.blockletDescription || '').trim();
232
234
  _params.blockletIntroduction = (_params.blockletIntroduction || '').trim();
233
235
  _params.note = (_params.note || '').trim();
236
+ setCreateLoading(status);
237
+ setLoading(true);
234
238
  api.createRelease({
235
239
  input: _objectSpread(_objectSpread({}, _params), {}, {
236
240
  did: blocklet.meta.did,
@@ -238,21 +242,26 @@ function CreateRelease(_ref2) {
238
242
  releaseId,
239
243
  status
240
244
  })
241
- }).then(() => {
245
+ }).then(res => {
246
+ setCreateLoading(false);
247
+ setLoading(false);
242
248
  if (status === 'draft') {
243
- _Toast.default.success('Save draft success');
244
- if (mode === 'create') {
245
- navigate("../".concat(projectId), {
246
- replace: true
247
- });
248
- }
249
+ _Toast.default.success(t('blocklet.publish.saveDraftSuccess'));
249
250
  } else {
250
- _Toast.default.success('Create Release success');
251
- navigate("../".concat(projectId), {
251
+ _Toast.default.success(t('blocklet.publish.createReleaseSuccess'));
252
+ }
253
+ if (mode === 'create') {
254
+ var _res$release;
255
+ const id = res === null || res === void 0 ? void 0 : (_res$release = res.release) === null || _res$release === void 0 ? void 0 : _res$release.id;
256
+ navigate("../".concat(projectId, "/").concat(id), {
252
257
  replace: true
253
258
  });
259
+ } else {
260
+ getRelease();
254
261
  }
255
262
  }).catch(err => {
263
+ setCreateLoading(false);
264
+ setLoading(false);
256
265
  _Toast.default.error((0, _util.formatError)(err));
257
266
  });
258
267
  };
@@ -305,19 +314,30 @@ function CreateRelease(_ref2) {
305
314
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
306
315
  display: "flex",
307
316
  children: [!isPublished && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
308
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
317
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
309
318
  variant: "outlined",
310
- disabled: loading,
319
+ disabled: loading || createLoading,
311
320
  onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.draft),
312
321
  style: {
313
322
  marginRight: 12
314
323
  },
315
- children: t('blocklet.publish.saveDraft')
316
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
324
+ children: [createLoading === _constant.PROJECT.RELEASE_STATUS.draft && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
325
+ size: 14,
326
+ sx: {
327
+ mr: 0.5
328
+ }
329
+ }), t('blocklet.publish.saveDraft')]
330
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
317
331
  variant: "contained",
318
- disabled: loading,
332
+ disabled: loading || createLoading,
319
333
  onClick: () => onRelease(_constant.PROJECT.RELEASE_STATUS.published),
320
- children: t('common.release')
334
+ children: [createLoading === _constant.PROJECT.RELEASE_STATUS.published && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {
335
+ size: 14,
336
+ sx: {
337
+ mr: 0.5
338
+ },
339
+ color: "inherit"
340
+ }), t('common.release')]
321
341
  })]
322
342
  }), isPublished && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
323
343
  variant: "contained",
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = BlockletPublish;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
8
9
  var _reactRouterDom = require("react-router-dom");
9
10
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
11
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
@@ -19,7 +20,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
19
20
  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); }
20
21
  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; }
21
22
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
22
- function BlockletPublish() {
23
+ function BlockletPublish(_ref) {
24
+ let {
25
+ padding
26
+ } = _ref;
23
27
  const {
24
28
  blocklet
25
29
  } = (0, _blocklet.useBlockletContext)();
@@ -43,7 +47,12 @@ function BlockletPublish() {
43
47
  if (!blocklet) {
44
48
  return null;
45
49
  }
50
+ const style = {};
51
+ if (padding) {
52
+ style.padding = padding;
53
+ }
46
54
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Main, {
55
+ style: style,
47
56
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Routes, {
48
57
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
49
58
  path: "/",
@@ -61,10 +70,15 @@ function BlockletPublish() {
61
70
  })
62
71
  });
63
72
  }
64
- BlockletPublish.propTypes = {};
65
- const Main = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n a {\n color: ", ";\n }\n"])), _ref => {
73
+ BlockletPublish.propTypes = {
74
+ padding: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
75
+ };
76
+ BlockletPublish.defaultProps = {
77
+ padding: ''
78
+ };
79
+ const Main = (0, _styled.default)(_Box.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n a {\n color: ", ";\n }\n"])), _ref2 => {
66
80
  let {
67
81
  theme
68
- } = _ref;
82
+ } = _ref2;
69
83
  return theme.palette.primary.main;
70
84
  });
@@ -21,6 +21,7 @@ var _node = require("../../contexts/node");
21
21
  var _emptySpinner = _interopRequireDefault(require("../../empty-spinner"));
22
22
  var _didAddress = _interopRequireDefault(require("../../did-address"));
23
23
  var _confirm = _interopRequireDefault(require("../../confirm"));
24
+ var _bundleAvatar = _interopRequireDefault(require("../bundle-avatar"));
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  var _templateObject;
26
27
  /* eslint-disable react/no-unstable-nested-components */
@@ -75,6 +76,7 @@ function ProjectList() {
75
76
  setLoading(false);
76
77
  getProjects();
77
78
  _Toast.default.success(t('common.removeSuccess'));
79
+ setDeleteConfirm(null);
78
80
  }).catch(err => {
79
81
  setLoading(false);
80
82
  _Toast.default.error(err.message);
@@ -154,6 +156,35 @@ function ProjectList() {
154
156
  }) : '';
155
157
  }
156
158
  }
159
+ }, componentDid ? null : {
160
+ label: t('common.scope'),
161
+ name: 'componentDid',
162
+ options: {
163
+ customBodyRender: value => {
164
+ const component = (blocklet.children || []).find(x => x.meta.did === value);
165
+ if (!component) {
166
+ return '';
167
+ }
168
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
169
+ display: "flex",
170
+ alignItems: "center",
171
+ justifyContent: "flex-start",
172
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bundleAvatar.default, {
173
+ size: 14,
174
+ blocklet: component,
175
+ ancestors: [blocklet]
176
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
177
+ ml: 0.5,
178
+ sx: {
179
+ ml: 0.5,
180
+ color: 'text.primary',
181
+ fontSize: 14
182
+ },
183
+ children: component.meta.title
184
+ })]
185
+ }, value);
186
+ }
187
+ }
157
188
  }, {
158
189
  label: t('common.updatedAt'),
159
190
  name: 'updatedAt',
@@ -186,7 +217,7 @@ function ProjectList() {
186
217
  });
187
218
  }
188
219
  }
189
- }];
220
+ }].filter(Boolean);
190
221
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Main, {
191
222
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
192
223
  sx: {
@@ -107,6 +107,7 @@ function ReleaseList() {
107
107
  setLoading(false);
108
108
  getReleases();
109
109
  _Toast.default.success(t('common.removeSuccess'));
110
+ setDeleteConfirm(null);
110
111
  }).catch(err => {
111
112
  setLoading(false);
112
113
  _Toast.default.error(err.message);
@@ -7,7 +7,6 @@ exports.default = Resource;
7
7
  var _react = require("react");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
10
- var _difference = _interopRequireDefault(require("lodash/difference"));
11
10
  var _urlJoin = _interopRequireDefault(require("url-join"));
12
11
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
12
  var _context = require("@arcblock/ux/lib/Locale/context");
@@ -32,12 +31,6 @@ const fillParent = (nodes, parentId) => {
32
31
  });
33
32
  return nodes;
34
33
  };
35
- const checkDiff = (a, b) => {
36
- if (a.length !== b.length) {
37
- return true;
38
- }
39
- return !!(0, _difference.default)(a, b || []).length;
40
- };
41
34
  function Resource(_ref) {
42
35
  let {
43
36
  app,
@@ -54,14 +47,12 @@ function Resource(_ref) {
54
47
  } = (0, _node.useNodeContext)();
55
48
  const [resources, setResources] = (0, _react.useState)([]);
56
49
  const [selectedResourceIds, setSelectedResourceIds] = (0, _react.useState)([]);
57
- const [savedResourceIds, setSavedResourceIds] = (0, _react.useState)([]);
58
50
  const [loading, setLoading] = (0, _react.useState)(false);
59
51
  const releaseId = release.id;
60
52
  const readonly = release.status === 'published';
61
53
  const {
62
54
  resourceExportApi = '/'
63
55
  } = (component === null || component === void 0 ? void 0 : component.meta.capabilities) || {};
64
- const hasDiff = (0, _react.useMemo)(() => checkDiff(savedResourceIds, selectedResourceIds), [savedResourceIds, selectedResourceIds]);
65
56
  const urlObj = new URL((0, _urlJoin.default)('http://127.0.0.1', component.mountPoint, resourceExportApi || '/').replace(/\/+/g, '/'));
66
57
  urlObj.searchParams.set('projectId', projectId);
67
58
  urlObj.searchParams.set('releaseId', releaseId);
@@ -78,7 +69,6 @@ function Resource(_ref) {
78
69
  resources: data
79
70
  }
80
71
  });
81
- setSavedResourceIds(data);
82
72
  } catch (err) {
83
73
  _Toast.default.error(err.message);
84
74
  }
@@ -119,7 +109,6 @@ function Resource(_ref) {
119
109
  }).then(res => {
120
110
  const list = (res === null || res === void 0 ? void 0 : res.resources) || [];
121
111
  setSelectedResourceIds(list);
122
- setSavedResourceIds(list);
123
112
  }).catch(err => {
124
113
  _Toast.default.error(err.message);
125
114
  });
@@ -148,7 +137,7 @@ function Resource(_ref) {
148
137
  className: "footer",
149
138
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
150
139
  variant: "contained",
151
- disabled: loading || !hasDiff,
140
+ disabled: loading,
152
141
  onClick: () => onSave(),
153
142
  children: t('common.save')
154
143
  })
@@ -17,6 +17,7 @@ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore
17
17
  var _ChevronRight = _interopRequireDefault(require("@mui/icons-material/ChevronRight"));
18
18
  var _OpenInNew = _interopRequireDefault(require("@mui/icons-material/OpenInNew"));
19
19
  var _react = require("@iconify/react");
20
+ var _images = _interopRequireDefault(require("../../images"));
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  var _templateObject; // BFS algorithm to find node by his ID
22
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -126,45 +127,51 @@ function Tree(_ref2) {
126
127
  var _node$children;
127
128
  return ((_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0;
128
129
  });
129
- const renderTree = node => /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem.default, {
130
- nodeId: node.id,
131
- label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
132
- onClick: stopExpand,
133
- control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
134
- size: "small",
135
- checked: selectedNodes.indexOf(node.id) !== -1,
136
- tabIndex: -1,
137
- disableRipple: true,
138
- onClick: event => handleNodeSelect(event, node.id),
139
- disabled: disabled
140
- }),
141
- label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
142
- className: "content",
143
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
144
- display: "flex",
145
- alignItems: "center",
146
- children: [node.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(ResourceIcon, {
147
- icon: node.icon
148
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
149
- className: "name",
150
- children: node.name
151
- }), node.url && /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
152
- href: node.url,
153
- target: "_blank",
154
- rel: "noreferrer",
155
- className: "link",
156
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OpenInNew.default, {
157
- className: "link-icon"
158
- })
130
+ const renderTree = node => {
131
+ var _node$images;
132
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem.default, {
133
+ nodeId: node.id,
134
+ label: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
135
+ onClick: stopExpand,
136
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
137
+ size: "small",
138
+ checked: selectedNodes.indexOf(node.id) !== -1,
139
+ tabIndex: -1,
140
+ disableRipple: true,
141
+ onClick: event => handleNodeSelect(event, node.id),
142
+ disabled: disabled
143
+ }),
144
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
145
+ className: "content",
146
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
147
+ display: "flex",
148
+ alignItems: "center",
149
+ children: [node.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(ResourceIcon, {
150
+ icon: node.icon
151
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
152
+ className: "name",
153
+ children: node.name
154
+ }), node.url && /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
155
+ href: node.url,
156
+ target: "_blank",
157
+ rel: "noreferrer",
158
+ className: "link",
159
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OpenInNew.default, {
160
+ className: "link-icon"
161
+ })
162
+ })]
163
+ }), !!node.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
164
+ className: "description",
165
+ children: node.description
166
+ }), !!((_node$images = node.images) !== null && _node$images !== void 0 && _node$images.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_images.default, {
167
+ className: "images",
168
+ data: node.images
159
169
  })]
160
- }), !!node.description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
161
- className: "description",
162
- children: node.description
163
- })]
164
- })
165
- }),
166
- children: Array.isArray(node.children) ? node.children.map(renderTree) : null
167
- }, node.id);
170
+ })
171
+ }),
172
+ children: Array.isArray(node.children) ? node.children.map(renderTree) : null
173
+ }, node.id);
174
+ };
168
175
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTreeView, {
169
176
  className: (0, _classnames.default)(!hadChildren && 'no-children'),
170
177
  multiSelect: true,
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ResourceType;
7
+ var _react = require("react");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _uniq = _interopRequireDefault(require("lodash/uniq"));
10
+ var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
11
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
12
+ var _Tag = _interopRequireDefault(require("@arcblock/ux/lib/Tag"));
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ const _excluded = ["blocklet"];
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ 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; }
17
+ 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; }
18
+ 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; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ 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); }
21
+ 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; }
22
+ 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; }
23
+ function ResourceType(_ref) {
24
+ let {
25
+ blocklet
26
+ } = _ref,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
28
+ const types = (0, _react.useMemo)(() => {
29
+ var _blocklet$meta;
30
+ return (0, _uniq.default)(((blocklet === null || blocklet === void 0 ? void 0 : (_blocklet$meta = blocklet.meta) === null || _blocklet$meta === void 0 ? void 0 : _blocklet$meta.resources) || []).map(x => (0, _upperFirst.default)(x.split('.').slice(-1)[0])).filter(Boolean));
31
+ }, [blocklet]);
32
+ const style = {
33
+ color: '#FFF',
34
+ backgroundColor: '#5B9BD5',
35
+ marginRight: '4px'
36
+ };
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, _objectSpread(_objectSpread({
38
+ display: "flex",
39
+ mr: "-4px"
40
+ }, rest), {}, {
41
+ children: types.map(x => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tag.default, {
42
+ type: "custom",
43
+ style: style,
44
+ children: x
45
+ }, x))
46
+ }));
47
+ }
48
+ ResourceType.propTypes = {
49
+ blocklet: _propTypes.default.object.isRequired
50
+ };
51
+ ResourceType.defaultProps = {};
@@ -148,18 +148,14 @@ function ConnectTo(_ref) {
148
148
  * @returns {Promise<void>}
149
149
  */
150
150
  const addSpaceGatewayNow = async _ref2 => {
151
- var _endpoint$replace, _endpoint$replace$tri, _spaceGateway$name;
151
+ var _spaceGateway$name;
152
152
  let {
153
153
  endpoint,
154
154
  name,
155
155
  did
156
156
  } = _ref2;
157
- let normalizeUrl = endpoint === null || endpoint === void 0 ? void 0 : (_endpoint$replace = endpoint.replace(/\/api\/.+/, '')) === null || _endpoint$replace === void 0 ? void 0 : (_endpoint$replace$tri = _endpoint$replace.trim()) === null || _endpoint$replace$tri === void 0 ? void 0 : _endpoint$replace$tri.replace(/\/$/, '');
158
- if (!normalizeUrl.startsWith('http')) {
159
- // eslint-disable-next-line no-param-reassign
160
- normalizeUrl = "https://".concat(normalizeUrl);
161
- }
162
- if (!(await (0, _spaces.isValidSpaceGatewayUrl)(normalizeUrl))) {
157
+ const spaceGatewayUrl = await (0, _spaces.getSpaceGatewayUrl)(endpoint);
158
+ if (!(await (0, _spaces.isValidSpaceGatewayUrl)(spaceGatewayUrl))) {
163
159
  _Toast.default.error(t('storage.spaces.gateway.add.invalidUrl'));
164
160
  return;
165
161
  }
@@ -173,7 +169,7 @@ function ConnectTo(_ref) {
173
169
  const spaceGateway = {
174
170
  name,
175
171
  did,
176
- url: normalizeUrl,
172
+ url: spaceGatewayUrl,
177
173
  endpoint
178
174
  };
179
175
  await addSpaceGateway(spaceGateway, endpoint);
@@ -198,18 +194,18 @@ function ConnectTo(_ref) {
198
194
  const handleUseSpaceGatewayConnect = async () => {
199
195
  try {
200
196
  setLoading(true);
201
- const tempUrl = url.startsWith('http') ? url : "https://".concat(url);
202
- const fullUrl = (0, _spaces.extraDIDSpacesCoreUrl)(tempUrl);
203
- const spaceDid = new URL(tempUrl).searchParams.get('spaceDid');
204
- if (!(await (0, _spaces.isValidSpaceGatewayUrl)(fullUrl))) {
197
+ const spaceGatewayUrl = await (0, _spaces.getSpaceGatewayUrl)(url);
198
+ const didSpacesCoreUrl = (0, _spaces.extraDIDSpacesCoreUrl)(spaceGatewayUrl);
199
+ const spaceDid = new URL(spaceGatewayUrl).searchParams.get('spaceDid');
200
+ if (!(await (0, _spaces.isValidSpaceGatewayUrl)(didSpacesCoreUrl))) {
205
201
  throw new Error(t('storage.spaces.gateway.add.invalidUrl'));
206
202
  }
207
203
  setAuthorizeConnect(preValue => _objectSpread(_objectSpread({}, preValue), {}, {
208
204
  open: true,
209
- prefix: (0, _urlJoin.default)(fullUrl, 'space/api/did'),
210
- baseUrl: new URL(fullUrl).origin,
205
+ prefix: (0, _urlJoin.default)(didSpacesCoreUrl, 'space/api/did'),
206
+ baseUrl: new URL(didSpacesCoreUrl).origin,
211
207
  checkFn: _api.axios.create({
212
- baseURL: (0, _urlJoin.default)(fullUrl, 'space')
208
+ baseURL: (0, _urlJoin.default)(didSpacesCoreUrl, 'space')
213
209
  }).get,
214
210
  extraParams: {
215
211
  appDid: blockletInfo.appDid,